Live data from Hacker News

Things that used to be hard and are now easy

jvns.ca

171–180 of 316 posts

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

#171
post #19

Would be interested in also seeing a "things that used to be easy but are now hard list". Feels like basic stuff is harder now: * Privacy online * Google search for niche or exact matches * Browsing without captchas and blockers, especially if you don't adhere to big tech's rules for the internet * Sending emails without worrying about spam filters being way too aggressive * SEO before it got hacked to hell * Barrier…

I would argue getting a job is easier now. Prior to whiteboarding and take home assignments, if you didn’t go to a top tier target school and have excellent 3.5+ GPA it was really difficult to even get your foot in the door for an interview.

When was this? Maybe If you’re talking exclusively about FAANG.

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

#172
post #137

> Cross-compilation (Go and Rust ship with cross-compilation support out of the box) That's not right? Go has builtin cross-compilation. Rust does not, you need to bring your own cross toolchain even after adding rust-std for the target with rustup, unless there are recent changes I'm not aware of.

It works for pure Rust code but once you bring in C, you need another tool chain too. Same as Go, as far as I know.

Zig has both beat right now, as you do not need anything else in either case.

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

#173

The general theme of this list is that technology gives us more and more hoops to jump through, then provides some trampoline to jump through them. We're supposed to be eternally grateful. I'm not. I want to focus on problem-solving, not masterfully using trampolines. > SSL certificates, with Let’s Encrypt Semi-mandatory SSL certificates weren't a thing on the web until fairly recently. Not managing them at all was c…

Async/await is not for parallelism.

The article actually said "concurrency." In the case of the article, it's being oversold because it's not that much better than the old one thread per request model. Cross-request interactions are rare, so you're more or less writing the same code, only with async, you have to be careful not to accidentally do something CPU-intensive for 50ms, and if your runtime supports multiple cores (so not Ruby or Python), you still have to be careful with race conditions and locks.

Writing parallel code that isn't clearly a divide and conquer variant is hard. Async doesn't help with that at all; it gives you more efficient context switches.

I personally find threaded code easier to reason about because there can be a context switch anywhere, so you always need to think about locks and coordination. With aysnc code, a block of code without locks and be correct...until you add an await in the middle, and this isn't always obvious.

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

#174
post #137

> Cross-compilation (Go and Rust ship with cross-compilation support out of the box) That's not right? Go has builtin cross-compilation. Rust does not, you need to bring your own cross toolchain even after adding rust-std for the target with rustup, unless there are recent changes I'm not aware of.

It works for pure Rust code but once you bring in C, you need another tool chain too. Same as Go, as far as I know. Zig has both beat right now, as you do not need anything else in either case.

Oh, my bad, now that I think about it, all my Rust projects have -sys dependencies so I somehow assumed a cross toolchain is always required.

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

#175
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…

> As someone who leans frontend

> I would second guess SaaS startups that start by building the infra/data models unless they’re going for a highly technical play

Do you not see the problem with these 2 statements. Of course not dealing with non JavaScript is easier for a JavaScript developer.

> You can get something in front of your users tomorrow.

This is something we’ve been able to do with Rails or Django for nearly 2 decades now. I can do something similar with more interactivity with Phoenix LiveView and Postgres these days.

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

#176

Earlier quoted context omitted.

Is there a law for "when a thing becomes easier and/or cheaper to do, more of that thing is created, and the mean quality of that thing goes down"? Of course, there are positive effects as well — desktop publishing was responsible for countless design crimes, but it also unlocked some real innovation during print's last stand.

Jevon’s Paradox

wikipedia : In economics, the Jevons paradox (/ˈdʒɛvənz/; sometimes Jevons' effect) occurs when technological progress or government policy increases the efficiency with which a resource is used (reducing the amount necessary for any one use), but the rate of consumption of that resource rises due to increasing demand.

https://en.wikipedia.org/wiki/Jevons_paradox

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

#177
post #70

It's very hard to accept the statement that writing fast programs is now simpler with Go/Rust. I think that what happened is more like this: * With Go is now possible to write reasonably fast (not as fast as C) programs in a simpler way. That's great indeed, but is not exactly the above statement. * With Rust it is possible to write programs that have a speed that is comparable to the one of C programs, that are memo…

> Overall Rust made programming harder: something that I'll hardly excuse to it. Rust isn't much harder than any other language once you understand lifetimes. Non lexical lifetimes made it easier than ever. It's a month of dealing with speed bumps as you learn, and then you're good to go. Rust makes it insanely easy to write multithreaded applications. I write servers on a daily basis with shared in-memory caches, wo…

Would you care to share your library stack for that?

I've sometimes dreamt of trying playing around with building a rust-based web site/app, but then I spend that afternoon reading about different web frameworks, db access libraries, etc. and never really got started.

Given you seem to have a beaten path here I'd love to know what it looks like :)

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

#178
I would also add something along the lines of "building big webapps". Large frontend codebases used to be scary Lovecraftian horror where things were only touched out of utmost necessity. Runtime errors for weird corner cases. Dangling dependencies that no one could figure out whether they're safe to update/remove or not. Refactoring was both an art and an arcane incantation at the same time. Modern tooling and best practices have made most if not all of these problems nearly non-existent, and I'm grateful for it.

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

#179

Earlier quoted context omitted.

In Germany every site that collects, stores and/or processes personal data (PD) is required to have a data privacy explanation that is easily reachable from every page and explains to the user what data is being received, stored, processed and also explain the user's rights (for example the right to be informed, to correct data and so on). At first glance, a "private" page does not directly process personal data and…

> In Germany Well, I'm not in Germany... you didn't mention in your original comment that it only applies to German websites!

Germany is the only country I can speak of from experience. Not sure about the other EU countries, but would expect similar regulations.

Everybody else. Officially if you target European audiences you would need to adhere to the same regulations, but practically nobody could reasonably enforce it.

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

#180
The first commercial game I ever designed was built on a custom made 3d render. All sorts of things you do in harware now had to be done in code and you could seriously push like 1k triangles at 20 fps. And that was really good! It took the smartest programmers I have ever known to get that to work on a 486.

Now you have Unity, Unreal and hardware acceleration.

Post reply on HN