I loved the work Rusty performed so much! He started to work actively at Linux firewalling about at the same time as I became a Linux user and sysadmin, like more than 20 years ago, and I used what he made regularly and always found his work to have a sane UI to the admin: simple to use yet quite powerful stuff. In general kernel hackers are really a bunch of unicorns that are very focused on the code they are writing and the problems to solve, and I've the feeling that while in the 90s they were deeply recognized for their work, now instead in some way their work is a bit in the shadow... with much hype going into places where it's not deserved. But apparently most of them want just to code at low level, don't be annoyed, and get a salary. The essence of the old times programmer basically.
Impressed with:
"disagreed with my approach so much and so continuously that I developed a dread of reading my mail every morning: eventually I wrote a filter to send their mail to a separate mbox".
I'm very sorry to read this. In the early days of Redis this happened to me as well, there were a group of people continuously attacking me and I was horrified by the idea of reading their Twitter replies at some point. However instead of filtering them, I found (without conscious efforts, it just happened) a different solution, I became more and more sentimentally disconnected from the chats focusing solely on the actual arguments, filtering most of the tone and human-level parts. This makes me a sadder person, not able to joy or be sad for things I read on social networks for the most part, however in the pro side there is that I can read the harsh criticisms and find some value, sometimes, without being affected. Moreover, as a secondary adjustment, I no longer reply after a given point if I may start to sound attacking towards another person. This does not mean to accept everything, but just say after N replies: "we disagree but you are cool, I'll do what I think, have a nice day".
I still believe that we can stay in the tech world, not accepting what other people say if we disagree from a technical standpoint, without being assholes.
Exactly. Moreover programming is not building a bridge, so sometimes a lot of arguments have no final solution or truth, and are up to the personal tastes/vision. In that case, to debate till the end of the day is quite futile once it is clear that the two arguments cannot meet in any way. In that case, better to say "thanks for the exchange" before it becomes too harsh. There is no need to win arguments.
Indeed. Very rarely does an argument change someone's opinion. Smarter people have their views changed by experience. The less smart cling to their beliefs despite experience. Hence the aphorism "consistency is the virtue of a narrow mind." For myself, I've found that a further optimization in terms of mental bandwidth is to avoid even forming a view on matters that I don't really care about. If one doesn't have a view or position on a matter, then there's no temptation to be drawn into time wasting debate.
> further optimization in terms of mental bandwidth is to avoid even forming a view on matters
I sympathise with the idea - but I think the problem is, a lot of the time opinions are a predicament, not a choice. Without consciously taking a position on a topic, you're often implicitly accepting various components of it - its logical dependencies, its framing of the problem, and so on.
My gut feeling is that people don't all have opinions ('everyone's a critic') because of widespread foolishness, but rather it's a basic characteristic and consequence of thought - just like you have to make assumptions to make a proof.
When over a thousand people work on a single project and tens to hundreds on a single submodule, there can be no real "personal taste" entering the equation or there will be trouble.
If nothing else, someone picks the code style, even if that code style is "anybody do what they want". Personal taste can not be removed from the equation, so you need people who can work with a project even if it doesn't entirely meet their taste. And I just mean that as one irrefutable example to prove the point; it is far from the only one.
I find that unless your taste is very unrefined, you can practice even in your own fully isolated and independent projects, because even my own personal projects pretty much never 100% conform to my own personal taste....
A lot of stuff is objective[1] but not everything is and there we can't really do better than "personal taste". A coherent vision by one person might rub me the wrong way but a design by committee will certainly do so.
[1] in a practical sense, I'm very skeptical of absolute objectivity.
And it's a two fold thing you have to do as a developer of anything: Don't get emotionally attached to your code, and always make sure it's crystal clear that you have problems with someone else's code. Never let it get personal. If you can't go have a beer with this person after you tear up some of their work, then you're failing as a collaborator IMHO.
For those who don't know, Rusty built iptables along with many of its underlying technologies and predecessors. Most devops/sysadmin people interact with his work directly, and all of us do indirectly. So long!
Edit: It appears that Rusty now works at Blockstream and is focusing on the Bitcoin Lightning network.
Rusty Russell is a fairly unique name, but for some reason I never connected the dots when seeing his name crop up on the bitcoin & lightning mailing lists. Thank you for the memory jog.
To my fellow maintainers: stay harsh on code and
don't be afraid to say "No" or "Why?"; there really
are more bad ideas than good ones, and complexity
is such a bright candle for us hacker-moths. But
be gentle, kind and forgiving of your peers:
respect from people you respect is really the only
reward that sticks[9].
"I flew myself around Australia visiting every LUG to convince them to come to the first Australian Linux conference."
The story of CALU 1999 being funded on Rusty's personal credit card is legendary in the Australian Linux community. Having recently attended my fourth linux.conf.au, as it's now known, I'm very grateful for Rusty's instrumental role in building the Linux and free software community here.
(Also, I'm now lucky enough to work with the legendary group of hackers at OzLabs - the best graduate job that I could hope for in Canberra!)
But one person disagreed with my approach so much and so continuously
that I developed a dread of reading my mail every morning: eventually
I wrote a filter to send their mail to a separate mbox, which I've
still never read and don't intend to.
Such a disappointing situation to see, and potentially so demotivating. Glad it didn’t halt his contributions.
Agree that it's disappointing... but I'm very glad to see that he came up with a good way to deal with it. /dev/null (or its rough equivalent) has its uses.
> I listened in awe as this homeless-looking guy described porting Linux to the Ultrasparc, and then described how he then proceeded to beat Solaris on every single lmbench microbenchmark.[2]
This was the same guy who, after writing a comprehensive detailed post about Solaris performance, was trolled by a Sun employee who was in charge of performance - with a post that consisted, in it's entirety, of
> 'have you ever kissed a girl?'
This kind of arrogance is what killed Sun (and Joyent).
When Sun was powerful, he (they?) was on the side of Sun. When political correctness is powerful and a good way to increase sales, he (they?) is on the side of PC and throws a non English speaker under the bus.
> To my fellow maintainers: stay harsh on code and don't be afraid to say "No" or "Why?"; there really are more bad ideas than good ones, and complexity is such a bright candle for us hacker-moths.
A breath of fresh air in the day and age of installing package managers to install another package manager to install an autoloader to load the plugin for the transpiler for the code we haven't started writing yet.[1]
Hey not so fast, some of us who were 5 in '97 still managed to share in the "joy" of configuring X11. Gentoo and the endless learning opportunities it provides be blessed.
Don't screw up your modelines lest you blow up your monitor!
(I'm younger than the GGP poster here, but I was enough of a nerd in primary school that I got into Linux at about the time that distro installers' XFree86 autoconfigurators got you most of the way but still had to have a manual modeline configuration option in the advanced settings...)
For a long time I believed that the warning about blowing up monitors by using wrong video mode was nonsense, until I had blown one (12" mono CRT, 1024x768@60 caused quite loud bang)
There was a certain kind of joy I felt when I had finally managed to get that beast to work. But as I grew older, I preferred things to "just work" more and more.
Impressed with:
"disagreed with my approach so much and so continuously that I developed a dread of reading my mail every morning: eventually I wrote a filter to send their mail to a separate mbox".
I'm very sorry to read this. In the early days of Redis this happened to me as well, there were a group of people continuously attacking me and I was horrified by the idea of reading their Twitter replies at some point. However instead of filtering them, I found (without conscious efforts, it just happened) a different solution, I became more and more sentimentally disconnected from the chats focusing solely on the actual arguments, filtering most of the tone and human-level parts. This makes me a sadder person, not able to joy or be sad for things I read on social networks for the most part, however in the pro side there is that I can read the harsh criticisms and find some value, sometimes, without being affected. Moreover, as a secondary adjustment, I no longer reply after a given point if I may start to sound attacking towards another person. This does not mean to accept everything, but just say after N replies: "we disagree but you are cool, I'll do what I think, have a nice day".
I still believe that we can stay in the tech world, not accepting what other people say if we disagree from a technical standpoint, without being assholes.