Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Night Watch (2013) [pdf] (scholar.harvard.edu)
244 points by sconxu on March 25, 2017 | hide | past | favorite | 33 comments


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.

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.


Its intended as humour, not a rant. Maybe read some of his other stuff, for context.


Agreed. I did not appreciate the "better than you" tone of this argument at all. I suppose this is suppose to preach only to the egos of the system programmers? Hard to see what this achieves.


I don't read this at all. More like "we simply prefer problems that other people don't put up with", with pride. What's not to love?


Mickens has some great material. He gave a talk at Monitorama a few years ago that's one of my favourites: https://vimeo.com/95066828

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


SICP takes that a step further by also defining car and cdr (http://sarabander.github.io/sicp/html/2_002e1.xhtml#g_t2_002...):

  (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))


Mickens is my favorite. His piece about theoretical vs practical security in tech is awesome.


Link?



Having done that sort of work early in my career, I think that's a bit much.

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]


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...

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>>


His pieces in Login are great. There's links to the rest of them and his others works at http://mickens.seas.harvard.edu/wisdom-james-mickens


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?

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.


Loved it! Absoolutely hilarious!


Thanks! For those who didn't get the joke, I want to point you to this moment of decision in A Few Good Men.

(spoiler alert) - https://www.youtube.com/watch?v=9FnO3igOkOk


> I mean, when a machine learning algorithm mistakenly identifies a cat as an elephant, this is actually hilarious.

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...


Someday, people will live in a world where both errors are funny for the same reason. Right now we've got a lot of cultural baggage we unintentionally picked up over the years. I'm glad most people are aware enough to see it as a disaster, and maybe they're able make some adjustments to their values, slowly influencing our collective cultural values. I doubt i'll ever see it, but hopefully 10 generations down the road, it'll be funny for everyone.

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.


> Right now we've got a lot of cultural baggage we unintentionally picked up over the years.

"Unintentionally"? That's an optimistic take on history (recent and non-recent), considering the institutionalized/codified nature of the said "baggage".


Individual intention. I didn't build those institutions or codes. Yet those institutions and codes influenced my development, and continue to manipulate me.

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.


actually. you can* lay a copy of steele's lambda papers on top of an intel processor and the blinding light of godhood will shine forth


*symbolics


I was impressed until about this:

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


Netcat/telnet doesn't write the payloads for you.


From now on I'm calling my UI/UX guy ZeusHammer


Good to have candid information online.


Title should have a (2013) tag.

Some previous discussion : https://news.ycombinator.com/item?id=9671020


[dead]


I've met Dr. Mickens. He's very relatable and funny in person, he comes from an academic family, and he is surrounded by other PhD's at the office. It's clear that he has adopted a certain style in his writing that exaggerates the self-importance he sees, and perhaps sometimes feels, in a way that deflates it and even mocks it for himself, and for some of his readers.


This crosses into personal attack. Since you've broken the site guidelines in this manner before, we've banned this account.


[flagged]


Well you are ;-). Call us when you bring up your first custom board with completely hand-hacked drivers.

(Come on, though, let's not use that kind of terminology.)


I like to think the use of the word pussy in this context is a contraction of the word pusillanimous which means lacking courage or resolution; cowardly; faint-hearted; timid.

http://www.dictionary.com/browse/pusillanimous?s=t


Literally small-spirited?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: