Live data from Hacker News

No dogs were harmed in the making of this app

shmck.substack.com

81–90 of 202 posts

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

#81
post #37

Several times throughout my career I've been hit with something erroring and it just being silent and completely stumping us. No error output, nothing. In a lot of these situations, we were able to track it down to some low level third party library doing `catch (e) {}`. The first one happened early in my career, and it was a good lesson. I don't take any error for granted, at the bare minimum I log it. You just neve…

Ohhhhh yeah. I'm working on some code right now where the previous drive-by author trapped the underlying library's exceptions, then raised completely useless ones instead. He also didn't know how to use the language mechanism where you raise one exception "from" the previous one, to preserve context in the stack trace.

Fun stuff. At least this isn't for my job, which has its own fun.

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

#82
post #43

Earlier quoted context omitted.

Cost to benefits probably. Vet X-rays are surprisingly expensive and then surgery had to be done anyway.

They're like $100… aren't they?

Something like that, should we get out out pitchforks now?

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

#83
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…

It is fair to misunderstand what I was saying since all things are ambiguous. Without context I could see this being interpreted as permission for people to be lazy, incautious or even negligent.

But I urge you to consider the other side of the spectrum and the pressures that people can put on themselves. For some, in their search for perfection, they can ruin their own lives. They can see every mistake they make as a personal failure. It is useful to remember that in the vast majority of cases people bounce back from these failures.

You will hear over and over how many entrepreneurs fail in their first businesses, often several times. Most often in life you don't just get a second chance, you get many chances. There a only a few places in life where a single failure is truly catastrophic.

So if you find yourself overwhelmed as a junior engineer, as described in this story. If you feel your stomach in knots and you are terrified your lead in going to eviscerate you in front of a cheering audience - just know you have more latitude to fail and try again than you might expect.

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

#84
post #79

Earlier quoted context omitted.

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

> True. We’re scientists. Replication is important! :) Yes replication: Oops we got hacked. I wonder what happens if we write insecure code again. Oops we got hacked. I wonder what happens if we write insecure code again. Oops we missed a deadline. I wonder what happens if we underestimate again. Oops we missed a deadline. I wonder what happens if we underestimate again.

When did software estimates ever factor into deadlines? I have always found that my estimates + a bit of padding are generally correct. Then management just picks an arbitrary due date that has nothing to do with programmer estimates.

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

#85

I giggled at the end. Just yesterday, we solved an issue that plagued the company for 3 years. For us it was the letter 'A'. Someone had been doing manual fixes inserting and removing data for the past 3 years. It became part of his job. He added a recurring event in his calendar just to do that regular clean up. Millions of customers depended on this one individual making sure they had the correct data plan on their…

A tricky one that I’ve seen cause harm is white space or otherwise invisible characters (eg line breaks). Super frustratingly, Macs populating HL7 fields caused intense pain. It turns out that the character ’ when typed on a Mac keyboard is not compatible with all versions of HL7, or perhaps wasn’t compatible with what the HL7 was passed off to. It’s a distant memory now but it was words like o’clock versus o′clock,…

Encoding is hard. Recently had a problem where some proxy/load balancer (I think) in Go would crash, as it couldn't handle æøå in some headers which was returned from some service doing ip lookups before passing on the request. Which of course hit our workers in the city of Tønsberg.

Another example I remember from earlier days is the BOM in xml files. When it was wrong things could crash in all kind of weird ways, and impossible to see.

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

#86
post #58

Earlier quoted context omitted.

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.

NIH syndrome

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

#87
I've developed a real distaste for the people whining about how we aren't real engineers and we "just" need to solve that by working more like real engineers and having all these massive up-front design meetings and making tons more plans, etc. etc.

It betrays a profound misunderstanding of the situation. The other engineering disciplines don't work like that because they're just soooo much more professional than us. They don't work like that because it is a better way. They work like that because for them, it is the only way. You do not build a hotel, and then realize the ceilings need to be six inches higher, and tear the whole thing down and start over.

If they could work by running ceilingHeight += 6 and hitting "Rebuild", see the hotel rebuilt and the automated unit tests automatically double-check the usability of everything inside for handicapped people etc., all for a grand total of about $2.82, they absolutely would.

Shed your inferiority complex. We are not squalling babies drooling on our blocks while Real Men (with all the pejorative connotations modern political sensibilities see in that term fully intended) are building bridges and dams. We engineer with better tools than they could dream of having, and it's completely expected that that results in highly significant changes to our processes.

Do we sometimes fail to bring enough process to a problem? Yup. But if you think that's a problem unique to programming, I prescribe to you spending several hours with https://www.imdb.com/title/tt4788946/ .

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

#88
post #61

Earlier quoted context omitted.

Even in human medicine some of the things on the "Do not do" guidance are diagnostic steps which are pointless because you will always do the same thing next regardless. A bunch of them are for infant minor injury where it's like don't do an X-ray. If you can see a break on the image you'd do A, but if you can't you'd figure the break might be too small to show up and do A anyway. Kids don't need more radiation, just…

Sorry to hear that...hope everything works out okay

Yeah, it went fine. I had Hodgkins, like 20+ years ago, it's very curable and (I didn't know at the time) occurs relatively often in young men. They fixed it. It's fun because I'm a walking example of why universal healthcare makes sense - even economic sense. I was a broke student, if healthcare cost money there's no way I'd have even gone to a doctor to ask about my weird symptoms - they weren't even really annoying, just it seemed like it's something doctors should check. If it cost money I'd have waited until I was in serious pain, at which point it's more likely they can't fix it or that if they can fix it the fix is really drastic.

I didn't stay a broke student. I got a job, bought a home, I became a productive (tax revenue generating) citizen, instead of a corpse as would happen with no healthcare.

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

#89
Besides the debuggers/analyzers/simulators/emulators… we have at our disposal, a more powerful “ancient” mechanism exist: code inspection/review/desk-check by a fellow programmer.

I understand it’s not applicable in all positions/companies and heavily depends on the team and project size, but I’ve seen it work too many times.

Following this, the next best thing is testing (as others have commented).

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

#90
post #43

Earlier quoted context omitted.

Cost to benefits probably. Vet X-rays are surprisingly expensive and then surgery had to be done anyway.

They're like $100… aren't they?

Our cat had follow-up x-rays after radiation treatment for a thymoma. Cost for the 3-view X-rays was $605.00, and the consult with the radiologist was $189.00. Bay Area, but still...
Post reply on HN