Hacker News new | ask | show | jobs
by nerdponx 1052 days ago
Why is that bad? It's possible that it's sloppy or lazy, but it's also possible that the author has carefully considered their options and is using the best tools (or their preferred tools) for the job. As described elsewhere in the thread, a soldering iron does more than just get hot, and as described in the readme, the project has accumulated a lot of functionality.
1 comments

because it is unreadable and unmaintainable with all of these dependencies. Even in the description it says that it spiraled out of control at some point

"Originally conceived as an alternative firmware for the TS100, this firmware has evolved into a complex soldering iron control firmware."

That doesn't imply anything is out of control. How do you know it's unreadable and unmaintainable? Just browsing the repo it seems pretty under control and organized to me. Firmware projects tend to get complicated, see also QMK for keyboards.
Well, it is unmaintainable, because maintaining this set of dependencies is absurd for what this firmware is and it is unreadable, because I tried to read it and lost interest in a few minutes later, because of all the bullsh*t.
This seems a bit more like a "you" issue.

I dug through it and even compiled it quickly without an issue. The code looks clean, and well organized, and even supports multiple languages.

Just because code isn't PHP, python, or "hello world", doesn't means that it's absurd and unmaintainable. Especially when you have the attention span of a may-fly and declare it to be "bullsh*t" after a few minutes

I don't think it is a "me" issue. On the contrary, I think this project has a lot of issues similar to what contemporary modern web development has. Generally firmware engineers know not to do this kind of stuff, since we have a highly derivative work that spans across decades.

I'll give you an example - because of chip shortages I had to redo a couple of devices and their firmware for the past few years. I had to dig into code that hasn't been touched for 12 years on more than one occasions and I had no issue compiling it more than a decade later. The reason why is because people weren't trying to be fancy and they kept the dependencies to a minimum.

Imagine if you stop pumping oxygen into this project for a month...

This is a project which builds firmware for multiple devices and processor architectures, supporting developers running various operating systems locally, and includes support for documentation generation and firmware localization. It doesn't sound too strange to me that such a project includes a decent amount of tooling to ensure that compiling things is accessible for a layperson, and ensure a healthy influx of community and corporate contributions which don't diminish software quality. None of the dependencies mentioned in the Dockerfile [1] really seem out of place, to me, and I don't think the documentation generation or checkstyle packages are critical to compiling the firmware.

Besides, you can always treat a built Docker image as a stable toolchain archive if that's a concern; there's little reason to assume that it won't work 12 years into the future as - as far as I can tell - none of the software relies on it being run inside a Docker container.

[1] https://github.com/Ralim/IronOS/blob/80c4b58976268849b6d1c8d...

> is because people weren't trying to be fancy and they kept the dependencies to a minimum

I've been in professional development for 25 years now, and I've heard people say this before NUMEROUS times.

You know who the people who say this are?

People who live and breathe Dunning-Kruger and in reality, just unable to keep up and being unwilling to learn and evolve.

Usually this is someone that likes to talk the talk, but put something that actually requires critical thinking and it's instantly broken, the libraries are broken, the language is broken. Don't worry, the developer isn't the problem, it's all the tools and scaffolding.

And I've hired and fired at least 100 developers over the course of my career in Fortune 100 companies so I've seen them all.

Whatever. Your opinion vs my opinion.

Nobody said you had to run this on your soldering iron. And it's not like it's supporting a huge catalog of devices. It's just an alternative option for tinkerers.

> Imagine if you stop pumping oxygen into this project for a month...

And nothing will change... This is a simple OS for a $26 soldering iron with what amounts to a custom form-factor SBC.

But don't worry, hvasilev knows everything about development and this project is bullsh*t.