apenwarr
(software professional)
apenwarr is a software professional best known for his blog and role as co-founder of Tailscale.
https://apenwarr.ca/log/20190318
Perl made it all the way to perl 5 with ever-growing popularity, then completely dropped the ball when they decided to stop improving the syntax in order to throw it all away and start from scratch with perl 6. (Perl 6 is not shown in my diagram because nobody ever migrated to it.) This left room for the job of “glue” to fracture in several directions. If you thought perl syntax was ugly, you probably switched to python. If you thought perl syntax was amazing and powerful and just needed some tweaks, you probably switched to ruby. If you were using perl to run web CGI scripts, well, maybe you kept doing that, or maybe you gave up and switched to this new PHP thing.
With all that said, now I can finally make a point about python 2 vs 3. They are very similar languages, yet somehow not the same. In my opinion, that’s because they occupy totally different spots in this whole programmer migration chart.
https://apenwarr.ca/log/20100718
About how terrible C++ is. Making me laugh aloud at work. Lots of good stuff on this blog, I’ve found some before but I don’t think I’ve tried going through them all.
https://apenwarr.ca/log/?m=201908
One of the natural defenses against corruption is diversity. There’s this problem right now where supposedly the most common strain of bananas is dying out because they are all genetically identical, so the wrong fungus at the right time can kill them all. One way to limit the damage would be to grow, say, 10 kinds of bananas; then when there’s a banana plague, it’ll only kill, say, 10% of your crop, which you can replace over the next few years. […] AWS is bananas, and AWS permission bug exploits are banana fungus. Attackers perfect their attack once, try it everywhere, scale it like crazy.
The same attacks work against a search engine or an email spam filter. If you get a copy of the algorithm, or even query it quickly enough and transparently enough in a black box test, you can design a message to defeat it. That’s the SEO industry and email newsletter industry, in a nutshell. It’s why companies don’t want to tell you which clause of their unevenly-enforced terms of service you violated; because if you knew, you’d fine tune your behaviour to be evil, but not quite evil enough to trip over the line. It’s why human moderators still work better than computer moderators: because humans make unpredictable mistakes. It’s harder to optimize an attack against rules that won’t stay constant.
https://apenwarr.ca/log/20180918
A man conducting a gee-whiz science show with fifty thousand dollars’ worth of Frankenstein equipment is not doing anything scientific if he knows beforehand what the results of his efforts are going to be. A motorcycle mechanic, on the other hand, who honks the horn to see if the battery works is informally conducting a true scientific experiment. He is testing a hypothesis by putting the question to nature.
I like the format of the blog. One centered block of text, one post per page (well not actually, but that’s something I’d do). On top and bottom of the page links “next” and “previous”, titled by dates. In the bottom, two semi-random links categorized under “Related” and one under “Unrelated”. Not many (or any) links to other posts in the blog text itself. There’s no “About” page, but some external links that with some work you can use to find his other online presence.
Update 2025-05: I did not recall this thought at all, but I guess it’s not unexpected how in 2025 this website of mine came to be similar.
https://apenwarr.ca/log/20190926 “What do executives do, anyway?”
To paraphrase the book, the job of an executive is: to define and enforce culture and values for their whole organization, and to ratify good decisions.
I was reminded of this article when I thought about how even in my current non-managerial position there seems to be a lot of value in following the “culture” set by our CEO. Whenever I communicate to clients I try to write and talk like the CEO would have done, so he won’t need to give me “feedback”. Presumably the clients are also happy with the consistent communication style. And if the CEO is happy with me conduct, then I can do more things without first consulting with him, which makes my job easier and more fun.
So if I had people working more closely with me, I would also teach them to follow the company culture in order to make things as smooth as they can be. So I guess I’m saying I now understand why companies tend to need “processes”, “values”, and “culture” in order to function, but I also see that those need to be set exactly right to not frustrate the employees for no good reason. Things that previously seemed stupid to me now make more sense, but I’m quite sure most companies have actually bad policies. Also these issues must be rather different in bigger organizations, where things like sacking entire company units may make total sense at the executing branches while being simultaneously incomprehensible to the target units.
I should stress I think this kind of culture only helps in organizations that have the engineering department well sorted out. It’s about making a functional organization an efficient one. It probably sounds like bullshit to people working in bad organizations.
