Hacker News new | ask | show | jobs
by Brian_K_White 668 days ago
Ok this particular piece of garbage software is not the crime of the century, and we all have dirty underwear, but there is nothing about this that deserves the tiniest bit of empathy. This is not an empathy situation. This is an atrocious job full stop.

Anyone attempting, or purporting to do this job should know this, and if they don't know this, then that very fact is the unforgivable thing.

I say this as someone who has barely programmed anything for windows. I managed to make a custom version of putty for work that replaced the registry for a text file for settings, and made it lauchable to make saved sessions portable. And I managed the amazing engineering feat of producing a .exe that wraps a twain scanner library. No ui, just a cli that copies argv to the library calls. And I wrote a powershell script that talks to a device over rs232.

Thats about it. More than my mom could do but all in all essentially nothing.

The criticism of this utter shit is not elitism.

When I first had that work project to hack on putty, at first I took a look just to see if I could figure it out. I immediatly decided I could not figure it out in any reasonable time.

So I tried to hire a freelancer to do it. Pay someone who actually does this, right?

You know what they did? For $3k usd in 2005 or so? They fucking called regedit. As in they executed the regedit exe in a system call to import a text reg file. The settings are still stored in the registry, and I already knew how to run regedit to export and import .reg files. I could have done that much by just wrapping my exe in a bat file that runs regedit before launching putty, and that would have been a better engineered result than putting it in a system call, because it would be more flexible since the bat could be modified infinitely later without recompiling.

They were working on c code that already had code examples in it for working with the registry directly, and for reading and writing files, and yet when they needed to read a file to load settings, they ran an external executable that reads a file and puts the contents into the registry.

And putty actually has a fairly modular settings module! The registry stuff isn't baked in all over the place. There is a single c file that does all of the settings storage and retrieval. You can essentially swap the whole file out with anything else.

Am I some supergenius just because I knew enough to not try to do a job I didn't know how to do?

Am I a supergenius just because I was able to at least read code even if I couldn't write it, enough to see what it was doing and that it was a shit way to get the outward appearance of what I asked for?

How come you aren't completely offended and scandalized by solutions like these? What code that I rely on are you writing right now?

We do indeed all have dirty underwear but this is not a case of "not an expert". That is inexcusably misrepresenting the essence of the criticism here.

1 comments

I believe they're referring to the tone of language used, which is IMHO just unnecessarily rude.

> THIS is why your software is slow. it's not "web tech" or "electron" or "JIT compilation" or any fucking sorting algorithm

> it's boneheaded _design decisions_ made to avoid doing things properly in packages with 1,600,000 weekly downloads.

> :DDDDDDDDDD this is why everyone hates nodejs developers

Yes, you can criticise a piece of software for doing something X way, but you don't have to shit on the people who made it in the process. Imagine being the person who implemented this waking up and seeing that.

They deserve all of it.

The entire point everyone is making is that this ISN'T about some fine point. This is a completely stupid approach. It should offend anyone on first sight or thought. There is no valid way to think up this idea for this way to get this result, and not immediately discard it as ridiculous.

If you're brainstorming initially for possible ways to get from your house to the one across the street, sure maybe one of the possible ways is to give yourself some minor injury, call an ambulance, go to the hospital, and then give them the other address when they take you back home (setting aside thatthey don't take you back home, let's pretend they do). But you don't actually do it. You reject that idea as outlandish and crazy.

Even IF it worked fine. Maybe you can't actually successfully get an ambulance to function as a taxi, but Uber will just fine. It would outwardly function just fine to call uber to take from one address to another. Yet you still do not use that approach to that problem. You consider it for one second and conclude that that would be outlandish and crazy. Just utterly gross and stupid and fucking inexcusably so.

hi op here, there's a bit to this that's missing

the bit about web tech and electron is a direct response to a common criticism i see about software written with these frameworks, they have a reputation for being slow and bloated and from experience i know it doesn't have to be that way, what makes web apps bloated and slow is usually poor design choices. the point i was trying to get across here is that this code written this way would've been slow if it was C too, it's not always about the tech stack. same goes for the comments about nodejs, i love node, but some of the packages in the ecosystem really let it down, and it means node devs get a bad wrap.

i know my general tone isn't great, i do feel for the package maintainer and tried to get in touch to get ahead of this but didn't find a way to do so. though in my defence, this is far from the first time i've tweeted about discord bogging down a system and 99.9% of the time they've gone nowhere, let alone reached hackernews, i've never had "a platform" so i've never had the need to worry about things like this before, it's something i've noted for the future, so i hope that makes things a little more understandable.

> i love node, but some of the packages in the ecosystem really let it down, and it means node devs get a bad wrap.

I think you'll find that for any environment that promotes package use and has a large following, I don't think its down to inheritably down to something node is doing wrong.

> so i've never had the need to worry about things like this before, it's something i've noted for the future, so i hope that makes things a little more understandable.

part of the reason I left Twitter (or X now?), Mastodon, Threads etc. The platforms promote people posting things without thinking them through first and you never know what's going to come bite you in the arse later.

Honestly I think your tone was fine. People need to get over themselves because you said nothing wrong. If someone does something stupid I wholeheartedly believe they should be called out for doing something stupid. It’s how we learn