HN user

GrumpyYoungMan

1,214 karma
Posts2
Comments335
View on HN

"I assumed that people who enjoy software would be into intellectual stimulation but I've learned that this is wrong."

It was truer in the 1980s-1990s, when programming was not a prestigious or high paying job and computers were much cruder and required much more skill to get adequate performance from them. Generally, aspiring hackers were very well read people.

There were, of course, corporate programmers doing business programming back then too but they weren't considered hackers and wouldn't even have wanted themselves to be considered hackers.

"...stuck with hardware out of passion..."

At least you don't hate your job, I hope? The recent maturation of AI revealed how many people in software seemingly loathe their own profession.

"FPGAs reconfigured during program execution to speed up hot paths"

The IEEE conference on Field-Programmable Custom Computing Machines (https://www.fccm.org/) is in its 34th year, to give you an idea of how old that idea is. The answer to your question is both 1 and 2 and also 3. that FPGAs have rather poor efficiency, both in terms of cost and performance, so it's not worthwhile outside of a few niches.

Developer testing is checking whether the code does what the developer themself thinks it should. QA testing is checking whether the code does what the customers / users / rest of the world thinks it should.

The problem with that quote is that all of us reading this are telescope operators, not astronomers. The quantity and quality of our telescope photos is what we are paid for so we have no choice but to know our chosen brand of telescope inside and out.

The things you list illustrate @aplamers point that software "doesn't really kill people". If you asked the average person on the street, they might just barely remember the Boeing incidents and the rest they probably have never heard of. Even something as gruesome as the Therac-25 incident is probably unknown to most.

It's the rising tide of low-level everyday harm from software that is going to motivate the public to start coming after the software industry.

"How many centuries did it take for civil engineering, for example, to become the codified, standardized, and respected calling it is now?"

But the software industry is not starting from centuries ago. We have the benefit of modern education and literacy rates, instantaneous global communication, centuries of experience and data in other life and safety critical fields to draw on to understand how to establish a reasonable level of safety in the face of uncertainty, vast libraries of knowledge and data that can be called upon online, and nearly a century of increasing regulation and professionalization in those fields. Sorry but that doesn't hold up to scrutiny.

Software "engineering" doesn't kill people instantly in a flashy way, sure, but it has become more like leaded gasoline, a widespread low-level harm whose effects are increasingly evident in hindsight. You pretty much can't go more than a couple of days without hearing about another massive consumer data compromise by hackers, CVE, major services outage, etc. At some point, there is going to be a software related incident that is bad enough that the public and government is going to demand accountability.

AI Broke Interviews 9 months ago

"Is the company consistently profitable or not?" and "Are revenue and profits growing over time, stable, or declining?" are very important questions to answer, particularly if stock grants are part of the compensation package.

For developers who work on products, getting a sense of whether the product of the team you'd be joining is a core part of the business versus speculative (i.e. stable vs likely to have layoffs) and how successful the product is in the marketplace (teams for products that are failing also are likely to be victims of layoffs) are also very important to understand.

TDD is a development methodology, not a testing methodology. The main thing it does is check whether the developer implemented what they thought they should be implementing, which is not necessarily what the spec actually says to implement or what the end user expects.

Debuggers are great until you have to work in a context where you can't attach a debugger. Good old printf works in every context.

By all means, learn to use a debugger well but don't become overly dependent on them.

The *.home.arpa domain in RFC 8375 has been approved for local use since 2018, which is long enough ago that most hardware and software currently in use should be able to handle it.

The fabs propped up the corpse of Moore's Law by throwing mountains of cash at expanding transistors into the third dimension: finFET, GAA, CFET, etc. That has kept the party going a little while longer than it would have lasted but it's a one-time deal since are no more dimensions to expand into.

Well, better late than never; I'll be looking forward to picking up one of these. Chording on the UHK 60 v2 was a minor but constant irritation since I had to move between regular keyboards and the UHK frequently.

Not a fan of the integrated palmrests that look like they can't be removed. Also not a fan of the OLED since the lifespan is going to be far shorter than the LEDs on the previous model.

Which can make business sense if you take into account both the probability of the project failing to deliver a competitive product (always high no matter how slick the pitch deck is) and the probability that it gets no traction in the marketplace even if it is as good as the competition. Buying an existing successful product and its customer base can be much lower risk even if it is the more expensive route.

The display, RAM, and other peripherals are consuming power too. Short of running continuous high CPU loads, which most people don't do on laptops, changes in CPU efficiency have less apparent effect on battery life because it's only a fraction of overall power draw.