The Night Watch (2013) [pdf]
scholar.harvard.edu
scholar.harvard.edu
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.
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.
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: https://aphyr.com/posts/340-acing-the-technical-interview
(define (cons x y)
(define (dispatch m)
(cond ((= m 0) x)
((= m 1) y)
(else
(error "Argument not 0 or 1:
CONS" m))))
dispatch)
(define (car z) (z 0))
(define (cdr z) (z 1))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.
Then I changed jobs to work on operating system design and proof of correctness.
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.[http://www.kb.cert.org/vuls/id/214283]
How often I feel like this describes almost every human endeavor. "Oh, your toaster can phone home? Marvelous..."
Syntax error: unmatched thing in thing from std::nonstd::__map<_Cyrillic, _$$$dollars>const basic_string<epic_mystery,mongoose_traits<char>,__default_alloc_<casual_Fridays = maybe>>htop: I think I'm entitled.
MySQL: You want answers?
htop: I want the truth!
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?
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.
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.
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!
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!:
htop: Did you order the Code SELECT * ?
MySQL: (quietly) I did the job I was sent to do--
htop: Did you order the Code SELECT * ?
MySQL: (shouting) You're goddamn right I did.
[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.
(spoiler alert) - https://www.youtube.com/watch?v=9FnO3igOkOk
But when the ML algorithm mistakenly identifies a black person as a gorilla, it's a disaster.
https://fusion.net/story/159736/google-photos-identified-bla...
I wish there was a way to make things like that go faster, but it seems like most people have a hard time changing at that level. On the upside, my parents are less racist than my grandparents. I like to think i'm less racist than my parents. The only effective method for that kind of change seems to be the people holding old values just dying off.
"Unintentionally"? That's an optimistic take on history (recent and non-recent), considering the institutionalized/codified nature of the said "baggage".
History is history. It's how we got here and what built the culture we deal with today. For example, 250 years ago those institutions came to the conclusion the 3/5ths compromise was a good idea. 150 years ago they reversed their opinion. We're still dealing with a zillion consequences of those decisions.
No one alive today had any influence over any of that. We're told this is how the world was, this is how the world is. Some people recognize, no, the world doesn't have to be this way and make changes. But i think that's rare. Most people just sort of accept what they're told and go on with their lives.
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.
So if I can use netcat and ethereal, I'm ready for the zombie apocalypse? I can sleep better then. :-P
Some previous discussion : https://news.ycombinator.com/item?id=9671020