Live data from Hacker News

Things that used to be hard and are now easy

jvns.ca

271–280 of 316 posts

Re: Things that used to be hard and are now easy

#271

I would love to see the reverse of this 'things that used to be easy and are now hard' That would be an interesting read

Writing programs that most users could run. It used to be a matter of firing up Delphi, moving some widgets around in a form, writing event handler code, and compiling. The install builder had it all done in less than an hour. It would run on almost any Windows PC in the world.

Now everything has to do Unicode, be piped through the internet, work on MacOs, Linux, Windows, iOS, Android and the web.

Re: Things that used to be hard and are now easy

#272
post #231

> Things that used to be hard and are now easy: > Concurrency, with async/await (in several languages) The number of times I've been bitten by the very specific semantics around async/await in JavaScript makes me wonder if I've hit some kind of a ceiling in trying to grok it. Coming from the world of threads, I've found Kotlin's structured concurrency approach the best of the lot I've used so far, even if it isn't wi…

Oh yes. I hate async/await so much. If I could uninvent one thing in programming it would be async/await. I wrote async/await code in C# for about a year. I did really try to learn it. I invested a lot of time. I did read Stephen Cleary. It often made sense for a split second only to fade away immediately. Usually the software would work, but i didn't understand what was going on in my own code. And others don't unde…

I have a pretty good mental model of it in JS and TS, because it builds on the pre-existing Promises API, because the transpilation process let me see the equivalent vanilla code while I was learning it, and because the event loop plus the single threaded nature of JS meant that libraries were already using asynchronous code everywhere.

When it comes to other implementations, though, I find them much harder to work with. In particular, existing synchronous or threaded code can block them, there's no good way to fix it without rewriting the synchronous code or shoving execution into a traditional thread, and all the existing libraries are synchronous. It feels like you need a completely new standard library to take advantage.

Re: Things that used to be hard and are now easy

#275
post #7

As someone who leans frontend, I find firebase and serverless (somebody else’s server) solutions really powerful for prototyping an idea or building a proof of concept. You can get something in front of your users tomorrow. I would second guess SaaS startups that start by building the infra/data models unless they’re going for a highly technical play (aerospace, hardware, etc) or already have a ton of market knowledg…

I don't necessarily disagree with this, but I think the difference isn't between frontend and backend, it's between strongly typed and weakly typed, or structured and unstructured. The strength and weakness of Firebase and MongoDB is that they let you shove unstructured data into the db without defining a schema.

Once you have any users at all, you need to migrate that data every time your data model changes. When you need to migrate data, not having a schema goes from a blessing to a curse, because you're trying to change the structure of unstructured data.

For this reason, I'm skeptical of both sides of the coin. I'd almost rather start with an ephemeral in-memory store that forces you to rewrite before you have actual users, rather than be tempted by MongoDB or Firebase.

Re: Things that used to be hard and are now easy

#276

Earlier quoted context omitted.

I understand you manually manage the kernel and wrote your own TCP library? I sure hope you didn‘t just pass all of that complexity down!

There are well designed abstractions that are helpful. It's very hard to come up with them. Mycrotoque aims at those who quickly jump to introduce new abstractions into their workflow before they understand what they are doing. It very often results in pain. It helps in the short term, because you are up and running faster but these shiny new frameworks are often immature and, like Potemkin villages, only look good f…

Interesting, thanks!

Re: Things that used to be hard and are now easy

#277

I would love to see the reverse of this 'things that used to be easy and are now hard' That would be an interesting read

Search.

In the past, Google just works. Nowadays, Google must be used with uBlacklist or something like that to yield decent results.

Re: Things that used to be hard and are now easy

#278
post #256

Earlier quoted context omitted.

That's a super interesting take in that the normal assumption that "there's more games" is a supply-side statement. But Jevon's would apply a step before that. The "demand" is really the people wanting to write games. When they do that, they then create "supply" in the video game market. Per the parent comment however, Jevon's doesn't address the mean "quality" of games decreasing. Similar things happened to publishe…

Part of the problem is that it's not necessarily quality going down, but the fact that quality itself is often defined by the amplitude of the shared experience. If thousands of people share the same art, then it's considered of great quality - even if it was just, say, a few white kids coopting some black music. When supply volume makes it fundamentally very hard to build such a shared experience, then it becomes di…

This almost feels like some parallel of the Marxist claim that proper capitalist competition should asymptotically reduce margins per unit sold to zero but for creative industries.

Re: Things that used to be hard and are now easy

#279
post #253

Earlier quoted context omitted.

The step backwards is that before, you couldn’t upgrade jQuery because the CDN script tag was on thirteen different partials, and you weren’t sure which were still in use, and now you can’t upgrade React because it depends on v4.3.2 of chalk-babel-duster-pack-plugin and that’s insecure but it has a breaking change in v5 you don’t know how to fix, so you’re just waiting for a total rewrite of the app to pull out CRA a…

There's some kind of law of conservation of complexity. Often we don't solve it, we just move it around or repackage it.

It's called the Waterbed Theory.

https://en.m.wikipedia.org/wiki/Waterbed_theory

Re: Things that used to be hard and are now easy

#280

Earlier quoted context omitted.

That's false. You can still install Windows without a Microsoft account. Granted, it's harder now to see "Use local account", but it's still there.

How about win 11?

Yeah, what about Win 11?

https://filestore.community.support.microsoft.com/api/images...

Post reply on HN