HN user

ed_blackburn

729 karma

Dev in and about London.

Posts4
Comments303
View on HN

Is this "don't vibe" code, or "don't accept" code written with agents? We have a philosophical (and potentially legal) aversion to code written by models.

I can appreciate not wanting to fill Codeberg up with potential AI slop, though the effort to validate is likely higher than just accepting it. What I think will backfire is being one of the most prominent alternatives to GitHub and prohibiting code written by models, which is currently a large constituency and one which is growing exponentially.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

This is becoming a wedge issue. It should not be. As an industry, we can solve this. As an industry, we have too. If we don't, legislators will do it for us. And they'll make a bad job of it. And if you petition your local legislator wherever yiu are in the world, then that's cool, but if this is solved locally, we will see serious fragmentation. As an industry projecting ones politics isn't going to make much difference.

I think the creeping invasion of privacy argument is backwards here. What we have today isn’t privacy, it’s abdication. Platforms are externalising risk onto parents and pretending the internet is exempt from the safeguards we accept everywhere else.

Either the tech industry solves this, or governments will. That’s not ideology, it’s capitalism. If we don’t build workable, privacy-preserving primitives, regulation will arrive in the most blunt form possible.

There’s a reasonable middle ground. Identity can be a first-class citizen without being leaked to every website. I don’t need to hand over my name, address, or documents to prove I’m over 18. I need a yes/no assertion.

Imagine the browser exposing a capability like:

“This site requires age verification. Are you over 18?”

The browser checks via a trusted third party credential and returns a boolean. No DOB. No tracking. No persistent identifier. Just a capability check, much closer to how physical ID works than today’s data-harvesting mess.

As a parent, I already police my kids as best I can, and it’s imperfect. But the offline world has friction and gates: bars check ID, cinemas enforce ratings, shops refuse sales. Those mitigations don’t make parents redundant; they support them.

Online, we’ve chosen to pretend none of that is possible. That’s not a principled privacy stance.

If we don’t design these primitives ourselves, we will get crude, insecure age databases, mandatory uploads of passports, or blanket bans instead. This is the least bad option, not a slippery slope. Collectively we have solved far harder problems.

I think we need to accept that age verification makes the internet safer. What we cannot accept is age verification's use as a mechanism to pry too far into peoples lives. When we can separate age verification from who am I, most people will be happier. What's tricky is who validates age? Your ISP? Your government? Your OS? A thirty party? Who accredits third-parties, and can you trust them? I'm convinced there's a way to solve this do we can keep the internet safe and not intrude massively on peoples privacy.

That's an epic polemic. If the cost of operating in Italy isn't profitable, exit Italy. If it is, then adhere to the laws of Italy. If Italy makes the cost of business too high they'll dial it back.

Microsoft are really sweating GitHub now aren't they? It wouldn't be so bad if it improving but there is certainly a perception that it is costing more for a poorer product, irrespective of the new features they're layering on.

After 2008, others pressed Keynesian stimulus. The UK chose Hayek. Austerity. Councils took the hit. Services vanished. Early-years centres. Youth work. Local welfare. The safety net thinned, then tore. Families slipped through.

Then Covid. Then Ukraine. Prices surged. Wages didn’t. A decade of inflation stacked up while pay stood still. For many, that was a silent pay cut.

Truss turned strain into crisis. Unfunded tax cuts. Markets panicked. Gilt yields spiked. Mortgage costs jumped overnight. Another blow to households already on the edge.

So we end up where CNN reports: record child poverty, even among full-time workers; parents unable to cover the basics as the social architecture collapses.

Into that anger steps Reform UK. They offer a protest vote. But their plan is the same old mix: deep cuts, a smaller state, and migration as the scapegoat. The very recipe that helped bring us here.

Send help :-(

I'm using sqlglot to parse hundreds of old mysql back up files to find diffs of schemas. The joys of legacy code. I've found hypothesis to be super helpful for tightening up my parser. I've identified properties (invariants) and built some strategies. I can now generate many more permutations of DDL than I'd thought of before. And I have absolutely confidence in what I'm running.

I started off TDD covered the basics. Learned what I needed to learn about the files I'm dealing with, edge cases, sqlglot and then I moved onto Hypothesis for extra confidence.

I'm curious to see if it'll help with commands for APIs. I nothing else it'll help me appreciate how liberal my API is when perhaps I don't want it to be?

Modern Linux tools 9 months ago

I agree with this. cat is great for "cating" bat is great for throwing shit on the terminal in a fashion that makes it semantically easier to reason with, two different use cases.

Modern Linux tools 9 months ago

I’m on a Mac, and some of the default tooling feels dated: GNU coreutils and friends are often stuck around mid-2000s versions. Rather than replace or fight against the system tools, I supplement them with a few extras. Honestly, most are marginal upgrades over what macOS ships with, except for fzf, which is a huge productivity boost. Fuzzy-finding through my shell history or using interactive autocompletion makes a noticeable difference day to day.

This. Absolutely this. The PR should be the final step in the process. Never the first. Ambushing people with PRs and then demanding their attention is a massive time and mood sink. It is ineffective and counter-productive. You may as well just commit to main, and honestly, in so many situations I think that's perfectly rational thing to do, so much about PR culture is theatre.

WhatsApp has been relatively feature stagnant for a long while now, and it's certainly being almost ubiquitous for a long time too, but we're seeing an explosion in features and product tweaks recently? I wonder what the trigger was to suddenly leverage the enormous corpus of users to sweat more cash out of it?

We are really happy with GitHub, that's our source control and CI platform: I think editors are fungible but not source control,ALM,CI etc. I hear your point though and I see how the loop is being closed with cloud providers hosting your code and editor so they can simplify deployment to their cloud. It's partially why I was surprised to see JetBrain's Fleet fall away, I thought it was their play at separating the editor FE and BE...

Yes, I’m aware of the politics, but I’m not about to force developers to switch editors for a single feature. We’re seeing real competition again, with new entrants like Zed, and that’s a good thing—engineers should be free to use the tools they’re most productive in, whether that’s VS Code, JetBrains, Neovim, EMACS, Helix, or Zed.

Tooling that claims to improve developer productivity should be editor-agnostic. If Microsoft can’t fully support that, an alternative standard will emerge—because, ultimately, locking developers in rarely works long-term.

Besides, the VS Code golden age has passed. It’s well on its way down the enshittification ramp.

I am experimenting with dev containers at the moment. I am finding them very useful for setting up environments and they work as advertised. Where I am struggling is the poor support in the Jetbrain's suite and having to accommodate different editors. We need more tooling and editor plurality for dev containers to take off.

The real win for this team isn’t just switching from Java to Go. It’s breaking free from the heavyweight framework ecosystem that the JVM all but forces on you.

It’s not that the JVM is bad or that Go is a silver bullet, but Go does act as a forcing function, pushing teams to write simpler, more efficient code without layers of boilerplate, indirection, and unnecessary IO.

You can still do inversion of control without an IoC container—instantiation works just fine! Look at Go’s HTTP middleware pattern with structural typing and first-class functions. No config files, no annotation magic, just composition, testability, and code small enough to hold in your head.

Terrific to see native object storage in Hetzner. I think object storage is become a staple for most providers now.

I can see that Hetzner is starting with WORM capabilities [0]. I wonder if this nascent product is successful they'll consider some of the features that other providers offer such as mutating objects, storage policies, tiering, and conditional writes. I appreciate you've got to start somewhere and this looks terrific for an opening gambit. Kudos Hetzner.

[0] > Object Storage is mainly used to store and share data as it is not possible to edit any data that you uploaded to a Bucket (objects are immutable). So the main purpose of Object Storage is "WORM", which is short for, "Write once, read many [times]".