<!--
So this guy we just interviewed at my
current job wrote this little script
to see if a product update for some
company had come out. Every 10 seconds
the script urllib'ed the page, checked
the length of the html - literally
len(html) - against the length it was
last time it checked. He wrote a blog
post about this script. A freaking
blog post. He also described himself
as "something of a child prodigy"
despite, in another post, saying he
couldn't calculate the area of a slice
of pizza because "area of a triangle
with a curved edge is beyond my
Google-less math skills." Seriously
dude? I haven't taken geomtry in 20
years, and pi*r^2/8 seems pretty
freaking obvious.
The script also called a ruby script
to send him a tweet which another
script was probably monitoring to text
his phone so he could screenshot the
text and post to facebook via
instagram.
I think the "millenials" - who should
be referred to as generation byte - get
undeserved flak, as all generations do,
for being younger and prettier and
living in a different world.
But this kid calling himself a prodigy
is a clear indication of way too many
gold stars handed out for adequacy, so
to ensure that no such abominable
script ever does anything besides
bomb somebody's twitter account, this
comment shows up exactly 50% of the
time, and I encourage others to do
the same.
-->
Yeah, there's some shitty code here.
There are some things that shouldn't
be done. I did them. Sometimes, I had
my reasons. Sometimes, I was just being
lazy. But guess what? You're sitting
there reading the source on some guy's
blog. So fuck you.
In case anyone goes searching the source for this comment right away before reading it the whole way through on Hacker News, it says at the bottom that it will only show up 50% of the time, so if you don't see it the first time, keep refreshing the page until it shows up in the source.
To discover, in his very own incredibly pretentious words, the subject of this mini-rant, or in case you suffer from some lingering uncertainty that the contemptuous tone of same is merited, please hie thyself to http://marc-w.com/, where you'll find his blog, which I swear to God is actually called "Programming Awesome".
And, yes, of course I realize it's a bit rich for me to call anyone pretentious, but really. If he were even remotely sympathetic, I'd be embarrassed on his behalf. As it is, I'm just sort of uncomfortably amused, the way you might be when someone you don't really like has just publicly wet himself and failed to notice.
The comment appears randomly 50% of the time.
Try refreshing the page 10 times and check the code every time, you will have a 1023/1024 chance to see it.
Why did I get a downvote? Seriously, when I searched "So this guy we just interviewed" in the page source, I didn't get any results. Did I miss something?
This is one of the most brilliant pieces I've ever read about programming. It's funny and really manages to capture the frustrations a programmer faces through the days, months, and years with his relationship with code.
I guess what we miss in programming is a standardized way to do things and if you did it that way your accountability ends there. There's a lot of uncertainty being dealt with all the time because there's no de-facto "THIS IS THE WAY IT'S DONE BRUH!" for pretty much anything. Maybe that's what makes it interesting ? It's definitely what makes it stressful.
> I guess what we miss in programming is a standardized way to do things and if you did it that way your accountability ends there.
Isn't that what Java is for? But seriously, I would rather have the opportunity to do it right, even with the concomitant risk of being responsible for having done it wrong, than to find myself in a field where what matters is not whether my work is right or wrong, but only that it's done according to the rules.
If you're a web developer, and if "THIS IS THE WAY IT'S DONE BRUH!" is what you're looking for, you should really try Ruby on Rails, because that's their entire philosophy, and they're really very good at it -- so good, indeed, that in every major version they do it all over again.
Stuff like this bleeds over into my "normal" life all the time, and it's starting to get really embarrassing. Correcting my mother's inaccurate typing on Facebook by replying with a sed substitute pattern only serves to make me look like a douche.
Forgive me for telling you what you no doubt already know, but there's a reason for that. Actually, correcting people's inaccurate typing at all on Facebook makes you look like a douche, and there's a reason for that, too. I understand how you feel when you see it; I used to feel the same way. But there truly is a lot to be said for the idea that what matters is how well it gets the point across. Besides, having to explain what a sed replacement is and how it works, in Facebook comments, is like having to explain the joke, and only realizing partway through the explanation that the joke was not funny in the first place.
I'm struggling to find any sort of counter argument that isn't, "But we get to make something cool!" Which is wrong, because most of our time, we're coding up something that shits CSVs so someone can go into a meeting and highlight some menial point to other managers.
> I'm struggling to find any sort of counter argument that isn't, "But we get to make something cool!" Which is wrong, because most of our time, we're coding up something that shits CSVs so someone can go into a meeting and highlight some menial point to other managers.
"We get to make something cool!" is not the same as "Everything we make is cool!" I'm not a professional programmer, but it seems to me that, if you're not also (in addition to your job) programming in your spare time for the sheer joy of creating, then you're probably not the best programmer you could be.
I also meant to say that even if we do eventually make something cool, the crushing realities of working as a software developer still sucks.
Granted, if you're a Googler or Amazonite, or otherwise working for a decent company, this isn't true. But most software developers aren't Googlers or what have you.
This is why I only work for engineering-driven organizations. If I'm going to be slogging through things, then I want the work to be interesting, challenging, and I need to know my opinion will be heard and respected. I know my peers are reasonably high caliber, and will not compromise quality.
These qualities are extremely counter to a lot of corporate jobs, where development is a cost that should be cut, there's never enough time for anything (because, business!), and the work is CRUD-driven.
Any job or work can eventually become frustrating. That's why its called a "job" or something your "work" for. Even if you work for the greatest company in the work with the best engineering driven "culture", there will be something that will hinder you due to business.
The only place I knew which didn't have any business pressure was the old Bell Labs. That's because of the AT&T was a monopoly and was allow a profit of 7%. That meant any expense can instantly be justified because no matter what AT&T would earn 7%.
End of the day, engineering is about compromises and tradeoffs. It's applied science. It's about being practical and sometimes that means we need to compromise on "quality". That's what makes good engineering culture. A product that ships and makes money is infinitely better than a product that doesn't ship. So, I don't think it's right to assume that the corporate approach is incorrect. In fact, it is better simply because once you get business involved, a lot of the decisions become impersonal.
You probably know this already but for the youngins ... such places (such as the old Bell Labs) don't exist anymore. Research labs have gotten a lot more stressful over the years. Simple problem of having to justify their existence, and aligning with the products of their sponsor company.
When I try to explain to loved ones that research is a dying career path (which I sadly invested in by getting a PhD), I get pep talks saying that I should be more optimistic :-p
"Every programmer starts out writing some perfect little snowflake like this. Then they're told on Friday they need to have six hundred snowflakes written by Tuesday..."
I too once dreamed of perfect programs. Then I got a real job.
->The only reason coders' computers work better than non-coders' computers is coders know computers are schizophrenic little children with auto-immune diseases and we don't beat them when they're bad.
HAHAHA so true
Absolutely brilliant article. From someone who has, in times of stress, had nightmares in code, and spent minutes in normal conversation formulating replies to illogical questions, before realising they were illogical.
Programming doesn't suck, but you really need to take a break sometimes!
A friend sent me this article on IM, and I read it when I needed a break. I needed a break because the method I want to call is private, and deprecated, and the suggested substitute in the deprecation comment doesn't exist. If I go ahead and call it via reflection, the implementation is commented out with a TODO comment.
Programming is beautiful and interesting and filled with creative folks who want to express themselves. That's what I see in programming.
Should every creative and expressive person be on a team writing code, hell no - we've seen what they produce and it's not something you ship to people.
The individual themselves though, their ideas and their input and their drive and passion. I enjoy that company and when we gel as a team.
For a field that has a number of classic formulations of this essay (look up "The Story of Mel, a Real Programmer"), this is a new and excellent addition to the genre.
It's not just about programming. In writing up my own bit on this piece (http://redd.it/24cxgc), I happened to look for the origins of the phrase "complexity is the enemy", figuring it would turn up in some late 1980s / early 1990s Usenet post.
Nope.
The Economist Newspaper, Jan 18, 1958, volume 186: "It is easy to see that complexity is the enemy of reliability".
(Thanks again to the Google ngram viewer).
Bruce Schneier takes this one step further and notes that "Complexity is the enemy of security"
I cannot possibly recommend this post enough. Is this the top of the front page yet? Or is it some random drool about Bitcoin or gossip about funding another zero-revenue startup or the other nonsense that dominates here?
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook!
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook.
Stephen Ramsay how did you find this article and be the first to post it on hacker news? This is _the_ most appropriate hacker news story there ever was.