HN user

9rx

1,396 karma
Posts0
Comments2,687
View on HN
No posts found.

I was pleasantly surprised driving through the boonies recently. Scanning through the channels I stumbled upon a station that I'd say was playing only 20-30% typical radio hits, with the rest filled with artists you may have heard of if you follow the scene but that never made as traditional radio stars along with a healthy set of underground/up-and-comers that you likely haven't heard of. It felt like how many describe the glory days of radio.

I also learned that that said station is owned by the same company as a station in my hometown, which is as bland, boring, and repetitive as radio gets. Still has me wondering what that market has that my local market doesn't. Perhaps the true death of radio is hinged on urbanization coupled with limited channel space? Maybe a channel like that can survive there because the small overall audience doesn't invite someone else trying to encroach on the available frequency? Whereas, as you noticed, where frequency space is at a premium someone else with formulaic programming in hand will soon come to buy out anyone who tries anything interesting.

The last time I remember seeing the same kind of behaviour was when document databases appeared on the scene. Content creators far and wide were writing about MongoDB vs Postgres, stories about rewriting an app to be "web scale", and whatnot. It grabbed reader attention because a lot of people were feeling unsatisfied with products like Postgres (this was before it added a lot of the features we expect today), MongoDB solved a problem for a niche set of users, and so the race was on to read everything they could to try and convince themselves that MongoDB would also solve the problems they have, even where their problems were not within the small area where document databases are appropriate.

The most likely reason for why people are drawn to want to read about Rust for much the same reason. Note again that they are spending their time wanting to read about it, which is different than using it. Rust solved a real problem for a niche set of users. Now everyone who has problems with their existing technology stacks are trying to read all they can to try and convince themselves that Rust will also solve their problems. The heart lusts after Rust on the promise that it will solve all problems, but the mind knows it won't solve all problems. Attention lies at the intersection of those competing interests.

Rust is a big deal, but that isn't a big deal. MongoDB was also a big deal. Look at where it is at now. The good news for would-be language designers is that there is a strong signal in the market begging for a solution to their problems. The only question is whether you can deliver before the incumbents catch up (see: modern Postgres).

Do you see any other examples of where technical excellence is attention grabbing? From my vantage point, when something does a great job at solving a problem better than everything else nobody spends their days trying to read about it, everyone quietly starts using it. It is undeniable that Rust gets mentioned a lot because any mention of Rust brings the clicks. It is a big deal in that sense. But something being used to compel readers into reading content suggests an emotional longing that isn't being satisfied by the technical reality.

They do not need an ORM.

What you do need is some kind of boundary mapping layer so that your application isn't tightly coupled to the database. That might be a an RRM instead, but if you are going to all the trouble of adding an RRM, why not an ORM? What's the difference, really?

But I wouldn't call that abject poverty.

But you could. There is no law of the universe that is going to stop you. Words are something randomly made up by humans.

it's just plain wrong.

Again, words are completely made up, so it can't really be wrong in the traditional mathematical sense. It could be misinterpreted, perhaps. Of course that is dependent on how you've chosen to randomly make up "wrong".

Remember, CPI exists to attempt to figure out how the value of a currency has changed over time. It's not a cost of living index, a housing cost index, a wellness index, or anything of the sort. It is not trying to measure how you are doing in life. It is not there to determine the value of labour, the value of housing, the value of food, or the value of anything other than currency. It is simply compiled to determine the difference in value between $1 yesterday and $1 today, so to speak. As you can see, you cannot use the currency itself to provide that measurement. $1 and $1 are visibly the same; except we know that $1 and $1 aren't the same over time. That is where CPI steps in.

If you want to understand something else, use the measures and data that are focused on that something else. Right tool for the job and all that.

It is unclear what you mean. It is true that most software jobs were not writing iPhone apps, if that is what you are trying to say, but those were good jobs. Those who didn't have good jobs for a moment were quickly scooped up by investors trying to create the next big app. It was a feeding frenzy out there for tech workers, despite much of the rest of the economy faltering (agriculture also did very well during the GFC, to be fair).

Maybe you are trying to say that there was some grey beard Atari programmer out there who refused to start writing iPhone apps and couldn't find their dream job banging bits on the old 2600? That is likely, but it is equally likely that they never found that job since either.

Huh? Housing becoming significantly more valuable than in the past[1] does not imply that wages have dropped.

[1] Mostly thanks to computers/software making housing a more compelling proposition. Historically, people couldn't wait to get outside or over to the pub and would allocate their spending to support that, but now that they prefer to stay in to look at screens, they deem that place where they spend time worthy of greater spending instead.

The GFC wasn't good? It wasn't good for the general economy, sure, but given the specific industry we are talking about that was one of the best times ever. Money was being printed hand over fist building software that did nothing more than emit a fart sound. The opportunities for us with the 'picks and shovels' were endless with everyone trying to strike gold at the App Store gold mine.

So yes, there is a significant job crisis.

And the link echoes that there is a job crisis. But not an AI job crisis; rather a COVID frenzy fallout job crisis.

The results of them actually talking to businesses and asking questions that are more than "did you have a job ad posted?" You are hardly the first person to imagine that job ads aren't representative of actual job opportunities. Obviously they are going to put in effort to avoid those weak signals.

Workers taking on new/different roles isn't the same as being replaced. Workers have been taking on new/different roles since at least the advent of agriculture, so that's nothing new. Being replaced would be something new, but the data doesn't support it.

BLS doesn't look at job ads when compiling "job opening" data. Their method isn't perfect (nothing in life is), but far more comprehensive than you give it credit for.

Whenever you change the structure within that blob, your type checker won't flag that the receiver hasn't been updated to handle it.

The relevant type is "blob". There is no further structure. If the function that accepts void* is trying to extract structure out of the blob, there is a bug in that function and the type checker should already catch you trying to extract structure from something that isn't there.

I mean WHY are you making an API that takes such a pointer to an unknown type to begin with?

It's not unknown in any meaningful sense. It is known to be a sequence of 'arbitray' datums of a given length, which is the exact type of input required for the scenario given.

As the article explores, some argue that you should define that sequence with a concrete type, but the article states that it doesn't offer any additional value as is posits that void* already communicates the same. In other words, it suggests that void* is the concrete type for that type already.

You are convincing me of it too. It is clear that your friend still needs your system thinking to point out edge cases and whatnot, but if you applied that by spending a couple of days adding a test suite to provide the missing validation, it seems like together you could have a pretty robust product built in less than a week. What justifies a couple of months?

there isn’t really much more software that needs to be built

Yup. Most everything we need was already built in the 1970s. Programmers have been kept busy because we've kept introducing incompatibilities into the mix, like DOS programs needing to be rewritten for Windows, and then the web, and then mobile.

And now they're being rewritten for AI platforms. It may be giving the squeeze due to being the first platform that will also help with the rewrite effort, but it is also the thing that kept the industry going. As you point out, there wasn't any work left to do until AI showed up.

"Climate change" may very well be meaningless. It was, after all, adopted for use in public messaging due to its predecessor, "global warming", never transcending meaninglessness, so there is precedent for the general population failing to find convergence in a shared understanding. If they couldn't grasp the intent beyond "global warming", it is equally likely they haven't been able to grasp the intent behind "climate change".

But it is a term that definitely exists. We can find it used often in the literature. Hell, we can find one of those instances in your very own comment... How on earth did you reach the conclusion that it doesn't exist? You didn't give that one any thought at all, did you?

Show it. Pick a missed edge case or breaking point in his app and demonstrate the pain the customer is going to encounter. You don't have to live in the realm of hypotheticals. He has given you a concrete, but flawed, implementation that offers proof of your message.

Postgres was relational for the first decade of its life, until the infamous '95 release when it sold its soul to the devil. You could dig up on old version, perhaps. But, yes, the tradeoff for real-world use was already mentioned.

The relational model is superior as complexity grows (although arguably the deductive model is even better), but the tablational model is superior for simple line-of-business stuff, so pick your poison. Like with all things engineering, there is never one perfect solution that satisfies everything. If, like the earlier comment suggested, you keep your SQL simple then you'll be fine.

Most technical and scientific terms absolutely are meaningless outside of related technical and scientific communities. All terms have at least one person who sees it as meaningful else it could not fundamentally exist as a term, but clearly the context is about trying use it in contexts where the audience is the general population. There is no shared understanding of what it means in that setting, thus it is meaningless (to that audience).

"Meaningless" doesn't mean everyone fails to find meaning, it means that there is no general consensus on what it means. As you pointed out before, everyone holds their own pet definition. It means something to most everyone, but there isn't a shared understanding of what it means across the general population.

While it is true that words often have multiple meanings while remaining meaningful, they do not have multiple meanings within the same context as is the case here. I am surprised that wasn't obvious to you. Hey, on the bright side, at least you got to learn something new today.