There will always be someone at a lower level than you. As a systems programmer he pokes fun at UX people. It is indeed hilarious. But technology and science is all about collaboration and building on other people's work. Remember that a generation ago nobody could be expected to use a program successfully without reading documentation first, and this even included most games. The proliferation of computers into the hands of everybody at your local bus stop is as much because of the work of the HCI people as the systems people.<p>A chip designer could write a similar rant about how systems programmers live a life of luxury sipping champagne with their pinkies held up. YOU USED AN ASSEMBLER? I SHOULD BE SO LUCKY! Or a chip designer could be mocked by someone else because he uses verilog.<p>Or the UX researcher could scoff at the systems programmer, because at least CPU's are rational and predictable, while people are at varying levels of intelligence and have different kinds of cultural biases.
Mickens has some great material. He gave a talk at Monitorama a few years ago that's one of my favourites: <a href="https://vimeo.com/95066828" rel="nofollow">https://vimeo.com/95066828</a><p>The article paints the plight of systems programmers in a hilarious way. I think programmer humour is rarely this well written, although a recent piece comes to mind by aphyr: <a href="https://aphyr.com/posts/340-acing-the-technical-interview" rel="nofollow">https://aphyr.com/posts/340-acing-the-technical-interview</a>
Having done that sort of work early in my career, I think that's a bit much.<p>My first job in California started out with two 6-foot stacks of octal dumps of operating system crashes, for a mainframe OS that was running 1-2 hours between crashes. I worked through those slowly, with colored pencils and highlighting markers, figuring out what had gone wrong, then putting a fix into the OS, in assembler. Gradually the stacks got shorter and the time between crashes increased. When I left that job, we were going a month between crashes.<p>Then I changed jobs to work on operating system design and proof of correctness.<p>This is why I'm so negative on unsafe code in Rust. Memory safety is essential. There are programmers who think they are so good that they don't need bounds checking. They are wrong. The most recent CERT advisory of a security hole for a buffer overflow was 8 days ago.[<a href="http://www.kb.cert.org/vuls/id/214283" rel="nofollow">http://www.kb.cert.org/vuls/id/214283</a>]
<i>I’m glad that people are working on new kinds of bouncing
icons because they believe that humanity has solved cancer
and homelessness and now lives in a consequence-free world
of immersive sprites. That’s exciting, and I wish that I could
join those people in the 27th century. But I live here, and I live
now...</i><p>How often I feel like this describes almost every human endeavor. "Oh, your toaster can phone home? Marvelous..."
His pieces in Login are great. There's links to the rest of them and his others works at <a href="http://mickens.seas.harvard.edu/wisdom-james-mickens" rel="nofollow">http://mickens.seas.harvard.edu/wisdom-james-mickens</a>
Mickens usenix articles helped me get through several all nighters in undergrad. He has the perfect balance of technical material and humor in my opinion.
MySQL: You want answers?<p>htop: I think I'm entitled.<p>MySQL: You want answers?<p>htop: I want the truth!<p>MySQL: You can't handle the truth! Son, we live in a world that has data, and those data have to be queried by processes that takes load. Who's gonna do it? You? You, Lieutenant htop?<p>I have a greater responsibility than you can possibly fathom. You weep for 4 cores and you curse the Queries. You have that luxury. You have the luxury of not knowing what I know: that the core's load, while tragic, probably runned queries.<p>And my existence, while grotesque and incomprehensible to you, runs queries. You don't want the truth because deep down in places you don't talk about at parties, you want me on that processor, you need me on that processor.<p>We use words like load average, slow running queries, query execution plan. We use these words as the backbone of a life spent developing db applications. You use them as a punchline. I have neither the time nor the inclination to explain myself to a man who rises and sleeps under the blanket of the very database power that I provide, and then questions the manner in which I provide it!<p>I would rather you just said, "Thank you," and went on your way. Otherwise, I suggest you pick up a server and run a query. Either way, I don't give a damn what you think you are entitled to!:<p>htop: Did you order the Code SELECT * ?<p>MySQL: (quietly) I did the job I was sent to do--<p>htop: Did you order the Code SELECT * ?<p>MySQL: (shouting) You're goddamn right I did.<p>[stunned silence] htop: Please the court, I suggest the members be dismissed, so that we can move to an immediate article 'Use Redis' session. The witness has rights.
> I mean, when a machine learning algorithm mistakenly identifies a cat as an elephant, this is actually hilarious.<p>But when the ML algorithm mistakenly identifies a black person as a gorilla, it's a disaster.<p><a href="https://fusion.net/story/159736/google-photos-identified-black-people-as-gorillas-but-racist-software-isnt-new/" rel="nofollow">https://fusion.net/story/159736/google-photos-identified-bla...</a>
I was impressed until about this:<p><i>As a systems hacker, you must be prepared to do savage things, unspeakable things, to kill runaway threads with your bare hands, to write directly to network ports using telnet and an old copy of an RFC that you found in the Vatican.</i><p>So if I can use netcat and ethereal, I'm ready for the zombie apocalypse? I can sleep better then. :-P
Title should have a (2013) tag.<p>Some previous discussion : <a href="https://news.ycombinator.com/item?id=9671020" rel="nofollow">https://news.ycombinator.com/item?id=9671020</a>