HNHacker News
TopNewBestAskShowJobs

Zanfa

1,781 karma · joined August 29, 2013

Blog at https://roosimaa.ee
submissionscomments
Zanfa··on Creating an all-weather driver
> Lots of people manage to drive in poor visibility without radar, lidar, etc. If that's safe and normal for people, the principle that self driving should work with just cameras isn't such a strange one.

No camera system comes close to the capabilities of human eyes, combined with general intelligence.

Zanfa··on Avoid 2:00 and 3:00 am cron jobs (2013)
While not always possible, in general, any mission critical scheduled job should be idempotent. This avoids so much headache, especially when there's a queue involved somewhere.
Zanfa··on The new calculus of AI-based coding
IMO the biggest issue with AI code is that writing code is the easiest part of software development. Reviewing code is so much more difficult than writing it, even more so if you're not already intimately familiar with it in the first place.

It's like with AI images, where they look plausible at first, but then you start noticing all the little things that are off in the sidelines.

Zanfa··on Creating an all-weather driver
Only if you have studded winter tires that are in good condition. Throw in a sprinkling of powder and there's nothing even a professional WRC driver could do.

Another personal favorite is driving on ice with a tiny layer of sun melted water so you can also hydroplane.

Zanfa··on More big companies bet they can still grow without hiring
> Twitter works just as well as it did before Musk took it over.

Not true. The main reason I stopped clicking Twitter links in the first place was the abysmal chance of the tweet loading and not just displaying a generic "Failed to load. Try again?" after the takeover. I mean it occasionally happened before as well, but it became the default behavior.

It lasted long enough that by the time (over a year) they'd finally fixed it, the platform had deteriorated to a right-wing cesspool anyway.

Zanfa··on Internet's biggest annoyance: Cookie laws should target browsers, not websites
Like mentioned by sibling comments, GDPR explicitly does not allow this. It's just the fact that enforcement is spotty and complicated by the fact that the responsibility is shared across all EU member states with limitations what each country can do by itself, with some countries' data protection authorities intentionally dragging their feet to protect multinationals.

It's the same issue as with most EU-wide issues, where there's always countries competing with each other at the benefit of others.

Also GDPR is not exclusive to browsers or internet, it's applicable universally, for both online and offline businesses and processes, which is why it can't and doesn't prescribe exact technical implementation details.

Zanfa··on California enacts law enabling people to universally opt out of data sharing
The first requirement for this to work is a bulletproof framework to hold companies financially accountable if they use your personal information without your explicit consent.

At the moment, they get all your data anyway and can do whatever they want and get 100% of the profit and there’s nothing you can do about it. Where’s the incentive for them to share any of it?

Zanfa··on Doing Rails Wrong
Even from the POV of micro-frameworks, the JS ecosystem sucks. There's just so many competing half-baked libraries doing the same thing slightly differently and incompatible ways.

Compare this to the Ruby ecosystem, where every framework (including Rails) uses Rack, which means that all the frameworks compose together, if that's how you'd like to modularize your monolith. Or the other ecosystem known for its preference for libraries over frameworks, Go, where everything is standardized around http.Handler, so whatever you pick is basically guaranteed to compose.

And it's not just the lack of good overall frameworks, it's the general lack of good defaults for libraries in Node-land. Among the most popular ORMs/query builders over the years there are some surprising omissions, with Knex not supporting connection pinning or Prism not doing database joins by default for a long time.

Zanfa··on Doing Rails Wrong
And I think rejecting the monolith is a massive mistake for the average CRUD app.

And it’s not like I’m not familiar with JS/Node, it’s the ecosystem I’ve spent the most time over the last 15 years. I’ve just seen so much wasted engineering effort in that time. Not sure what the exact multiplier is, but gut feeling says you’d typically need at least 2x the amount of engineers when using Node over Rails.

Zanfa··on Doing Rails Wrong
> JS has multiple full stack frameworks similar to Rails. There is even a framework called Sails...

But it doesn’t. Rails is not just a full-stack framework. It’s the entire ecosystem of gems that magically just work together. What JS has is like the Temu version of Rails.

Zanfa··on Doing Rails Wrong
I haven’t really found this to be true. You probably wouldn’t want to build Figma in Rails, but the average SaaS CRUD app is a perfect fit for Rails with a sprinkling of Turbo Frames.

It’s usually the lack of non-React knowledge to know what does or doesn’t require React.

Zanfa··on Doing Rails Wrong
I sorely miss the sheer amount of utility that you can get from Rails out of the box for free compared to anything in the JS universe. Most JS devs don’t have the faintest idea how much they’re missing out on. Then again reinventing wheels is the JS way of life.
Zanfa··on What is “good taste” in software engineering?
I’ve definitely seen way too much code like the examples above. Another side effect to this is it tends to leak all over and can result in exponentially more code. What would’ve been a 2-line change at the API boundary, becomes ten lines of manual edgecasing every time it’s used in business logic and results in impossible states that need even further typing and handling. And don’t forget the tests that now need to cover invalid inputs everywhere, not just the API boundary.
Zanfa··on Solar panels + cold = A potential problem
This is 100% on the manufacturer if they intentionally chose to highlight the "best case" 150V, rather than the 120V lower end. Especially without any additional safety mechanisms.
Zanfa··on Electron-based apps cause system-wide lag on macOS 26 Tahoe
To be fair, AppKit is buggy/undocumented enough that you need to muck with the internals even for trivial things.
Zanfa··on Everything that's wrong with Google Search in one image
Wow, so not only have they lost the war against SEO spammers, they've now decided to completely obscure which results are actually ads.

What an embarrassment Google has become, but I guess that sweet-sweet ad money trumps everything else.

Zanfa··on You didn't see it coming
I’d say closest would maybe be early internet style niche forums or other closed (torrenting?) communities where your reputation is somewhat correlated with your contributions.
Zanfa··on You didn't see it coming
It’s safe to assume without extraordinary evidence that anything posted on LinkedIn is at best glorified reality, but most likely complete fabrication. There’s zero incentive for anybody to be truthful.
Zanfa··on Denmark wants to push through Chat Control
Politically, because he was trying to negotiate against austerity measures with zero leverage and no realistic alternatives. Given the consensus on the requirements between the countries footing the bailout and the general public (outside of Greece), it was clear from the start that his position was unworkable.
Zanfa··on Denmark wants to push through Chat Control
> Varoufakis had a very important take: that Europe needs to learn to survive post-EU.

Wasn't he the Greek Minister of Finance that was supposed to be a game theory genius, but was completely incapable of understanding why his proposals were politically impossible?

Zanfa··on YouTube says it'll bring back creators banned for Covid and election content
IMO free speech requires moderation, but the "how" is an unsolved problem. In a completely unmoderated environment, free speech will be drowned out by propaganda from your adversaries. The decades of experience and the industrial scale that Russian (or similar) troll factories can manufacture grassroots content or fund influencers is not something that can be combated at an individual level.

It would be a mistake to think such operations care too much about specific talking points, the goal is to drown out moderate discussion to replace it with flamewars. It's a numbers game, so they'll push in hundreds of different directions until they find something that sticks and also both sides of the same conflict.

Zanfa··on AI-generated “workslop” is destroying productivity?
Reviewing code is basically applying the Chesterton’s fence principle to everything. With AI code there’s typically so much incidental noise that trying to identify intention is a challenge.

But then again I’ve found a lot of people are not bothered by overly convoluted code that is the equivalent of using a hammer for screws either…

Zanfa··on Migrating to React Native's new architecture
Fake <a> tags are so yesterday. Everybody knows you should actually render all text on a canvas using a custom WebGL renderer for the best UX.
Zanfa··on Why you’d issue a branded stablecoin
But there are 2 separate controlling entities in this scenario. The hypothetical company that wants to issue the stablecoin and Bridge. They have complete and full control over the money anyway, blockchain or not.
Zanfa··on Why you’d issue a branded stablecoin
Everything you're describing makes sense in terms of legal requirements, but none of it seems to require any form of cryptocurrency or stablecoins.
Zanfa··on 'Make invalid states unrepresentable' considered harmful
I disagree completely.

You’re already paying the cost of abstraction for using a certain database or protocol, so get the most bang for your buck. If you can encode rules in a schema or a type, it’s basically free, compared to having to enforce it in code, hoping that future developers (yourself or others) will remember to do the same. It just eliminates and entire universe of problems you have to deal with otherwise.

Also, while relaxing constraints is usually easy or at least doable, enforcing new constrains on existing data is impossible in practice. Never seen it done successfully.

The only exception to this rule I typically make is around data state transitions. Meaning that even when business rules dictate a unidirectional transition, it should be bidirectional in code, just because people will click the wrong button and will need a way to undo “irreversible” actions.

Zanfa··on Stripe Launches L1 Blockchain: Tempo
Just to be clear, Tether and Circle also have complete control over their respective stablecoins if they so choose. They have the exact same power to reverse, freeze and block any transaction or balance just as PayPal and Venmo do.
Zanfa··on Stripe Launches L1 Blockchain: Tempo
I don’t see that happening, mostly because it wouldn’t benefit Trump in any way. He’s already free to (crypto) grift as much as he wants, he doesn’t need looser AML laws. Probably going to go the way of the strategic BTC reserve.
Zanfa··on Stripe Launches L1 Blockchain: Tempo
Once you take into account AML and KYC laws, which will obviously be enforced should this gain any sort of adoption. What will be different in practice?
Zanfa··on Next.js is infuriating
If already know Django, go with Django and sprinkle in some HTMX as necessary. You’ll get 95% of the benefits with a fraction of the effort compared to a modern Javascript SPA. And it’ll be a breeze to maintain. You’ll also save so much time never needing to debug a bundler, minifier or ESM/CJS issues.
← PreviousPage 4 of 17Next →