Live data from Hacker News

No dogs were harmed in the making of this app

shmck.substack.com

51–60 of 202 posts

Re: No dogs were harmed in the making of this app

#51

Earlier quoted context omitted.

As the saying goes, there are two hard problems in computer science: cache invalidation, naming things, and off-by-one errors.

You forgot Dates, Times and Timezones

Timezones: if you operate my code across timezones, you're wrong. Date and time: %Y%m%d_%H%M%S. Don't you dare ask for it to be shown any other way.

Re: No dogs were harmed in the making of this app

#52

That's quite a tale, a parable almost about how software engineering differs from other jobs (I want to say 'real' jobs but tongue in cheek). I like this one too, it's even snappier. A software engineer, a hardware engineer and a department manager were on their way to a meeting in Switzerland. They were driving down a steep mountain road when suddenly the brakes on their car failed. The car careened almost out of co…

This story feels quite different without the context of the story this thread is about.

Re: No dogs were harmed in the making of this app

#54

I always like to see upstream corrective action after something like this. If there was adequate logging / error reporting, this wouldn't have taken a week to fix. Whatever library he sent the invalid "image/jpg" MIME type to should have thrown an exception, crashed, or at the very least, logged loudly. I wonder if OP filed a bug against it.

The relevant paragraph in the article bothers me a bit:

"I re-uploaded a version with improved error handling, but image uploads were failing without any feedback. You see, normally code screams its errors at you in red text - silence is the goal. Here silence was the problem."

Silence is not quite the goal. Too many developers think silence is the goal, but the goal is actually accuracy. If there's no error, yes, it should be silent. If there's an error that affects the user, there should be a big red alert box. I believe developers should come to love error messages. Well written error messages reveal causes quickly and save everyone a lot of time.

I hope this developer has learned to show error messages more often. That would be a great outcome.

Re: No dogs were harmed in the making of this app

#55
post #41

This reminds me of a colleague I had that would often say "we aren't making air-traffic control systems here". The implication being that no lives were on the line if we made a mistake. This was when I was making games but it also applies to just about every CRUD app I've written. Tangentially, one thing I often ask other senior technical leaders (especially Director, VP or CTO) is: what is the most costly mistake yo…

>The implication being that no lives were on the line if we made a mistake. This was when I was making games but it also applies to just about every CRUD app I've written.

I don't agree. Maybe a failure won't result in people dying in a ball of fire, but it can still cause harm. Even minor harm can still add up at scale.

Frustration from a buggy game could lead to real-world road rage or shouting matches. People have killed themselves because a computer sent them a bogus bill. Businesses have failed because software lost valuable data. People have been murdered because of silly social media apps. People have organized pogroms on Twitter. People have been stalked and assaulted using information leaked by Pokemon Go.

Software has real power. If it didn't, there would be no point in writing it.

Re: No dogs were harmed in the making of this app

#56
post #47

Earlier quoted context omitted.

Is the moral of the story that the hardware engineer is simply correct? - a mechanical engineer

It's mostly just a joke about how these roles do their jobs. But I think it's also partly illuminating the fact that hardware engineers are true engineers, while software engineers mostly aren't.

True. We’re scientists. Replication is important! :)

Re: No dogs were harmed in the making of this app

#57

That's quite a tale, a parable almost about how software engineering differs from other jobs (I want to say 'real' jobs but tongue in cheek). I like this one too, it's even snappier. A software engineer, a hardware engineer and a department manager were on their way to a meeting in Switzerland. They were driving down a steep mountain road when suddenly the brakes on their car failed. The car careened almost out of co…

> "Well," said the software engineer, "Before we do anything, I think we should push the car back up the road and see if it happens again."

Only the brakes don't work - the engine still does. Why would they need to push the car uphill?

Re: No dogs were harmed in the making of this app

#58

That's quite a tale, a parable almost about how software engineering differs from other jobs (I want to say 'real' jobs but tongue in cheek). I like this one too, it's even snappier. A software engineer, a hardware engineer and a department manager were on their way to a meeting in Switzerland. They were driving down a steep mountain road when suddenly the brakes on their car failed. The car careened almost out of co…

Is the moral of the story that the hardware engineer is simply correct? - a mechanical engineer

Or perhaps that nobody had the common sense to call a tow truck, so that they can get down the mountain without relying on a field repair to a safety-critical system.

Re: No dogs were harmed in the making of this app

#59
post #47

Earlier quoted context omitted.

It's mostly just a joke about how these roles do their jobs. But I think it's also partly illuminating the fact that hardware engineers are true engineers, while software engineers mostly aren't.

True. We’re scientists. Replication is important! :)

"Empirical science" sounds better than "have you tried turning it off and on again?", doesn't it.
Post reply on HN