2022-04-07

Re: The Theological Problem Behind Firefox in Ubuntu 22.04

#life

Ploum has a wonderful rant about about snap/firefox on ubuntu, among other things:

Software developers are not alone. Every single pseudo-science is basically layering above nothing to give people the impression they understand something about the world. We call that "theology" which is the academic word for "bullshit that sounds wise".

Reading this made me agree boldly, laugh out loud, scratch my head, made me upset, surprised, and sad, all at the same time. Well written, thanks!

gemini://rawtext.club/~ploum/2022-04-05-firefox-ubuntu.gmi

local copy

I fully agree that snap and flatpack are "yet another level of indirection". Docker and kubernetes are in the group as well. I spent a week at dayjob to grok some of the details about dockers handling the network stack and fiddling with iptables, or lack thereof. Documentation always consideres a host system with only one network connection. Now we happen to have 6 ethernet interfaces, for a reason. And by not knowing, what we did, we exposed the internal network structure to the inhouse world without realizing. Of course, unwanted effects made their appearance and it took the greybeard a while to figure out, what is at play in this game.

From afar, what happened is this: Person A suggested to use docker containers to solve problem at hand. Opinions were collected, but it seemed like a good idea at the time. So Person A put together just enough configuration to make it work. Among them "network_mode: "host"". Reading the documentation made it clear, that with this setting we give up the separation of the network stack between the containers and the host. Noone realized. An "it worked". "On my machine", that is. Needless to say: we had to do our homework now and come up with a bridged configuration and a few more entries to iptables. That seems to work better, for the time being.

This is a perfect example of what ploum describes, docker being the level of indirection. We could add kubernetes, now that I think of it :)

This is also a perfect example of Fundamental Truth No. 6 of the twelve networking truths:

(6a) (corollary). It is always possible to add another level of indirection.

gemini://gemini.bortzmeyer.org/rfc-mirror/rfc1925.txt

And yes, everyone lives in their mental floor of what really is quite a tall building. Travelling to other floors is tagged with a price, namely the pain of learning a new set of concepts in what seems to be a dusty, dimly lit or even completely dark world. The same description holds for inhabitants of other floors as well, of course. So in my not so humble opinion, if you want to be a good or excellent developer, you may want to start visiting the folks on the other floors[a]. They are mostly friendly folks, once you overcome the language barrier.

Ultimately that is why travelling is so important: at the very least you should find out, that things are done differently in other parts of the (mental) world.

Go travelling! Always be sure to find your way home! Stay safe!

~ew

---

[a] I have had the priviledge to hear Donald Knuth talk in real life. And one of the anecdotes he shared was this (my words, from memory): You know, at Stanford, where I teach, we force all computer science students to take a class of assembly programming. And they hate it (laughter)! After this class there are those who say "Well, its a bit awkward to work with, but you can do stuff with assembly"; and those, who still hate it. But there's the catch: Both groups write better code from this day on.

Home