HN user

yoz

742 karma

A small bouncy bald Brit. Passive Londoner, active Oaklander.

Places I've worked (in reverse order): Honeycomb.io, LaunchDarkly, Compaas, 18F (GSA, US Gov), Neo Innovation, Linden Lab, Ning, BDQ, Sparza, h2g2/The Digital Village, Delphi.

Posts3
Comments165
View on HN

Apologies for hijacking an advice thread, but I'm another dad who's had to deal with this incompatibility nightmare, and I really really want to know what the hell happened within Microsoft & Mojang to end up with this mess.

No, seriously, I'm fascinated by the story. It's been over ten years. I'm happy to assume that most of the people involved are smart and good with decent intentions. I also bet there were many kinds of commercial and organisational pressures, especially because it's (a) Microsoft and (b) one of the biggest gaming acquisitions ever.

Does anyone here have any insider knowledge they could share?

This is probably naive of me, but avoidance of a real sandbox sounds like a great idea so far:

1: Apply the Principle of Least Power/Privilege, especially where agents are involved. "With great power comes astonishing fuckupitude."

2: More freedom to diverge from the existing POSIX and bash primitives to something that better suits the data involved

Having logical control of the filesystem lets you do fun tricks like using file paths as a simplistic search API (e.g. /docs/tag1/tag2/ lists all the docs tagged with both tag1 and tag2).

But it might also be worth looking at shells which give you more power over structured data, like nushell. It's written in Rust, but it might be relatively simple to port just the bits you need to Elixir (which I would never have said a couple of years ago). Keeping everything in process sounds like a major win to me, because of both performance and control.

Blame as a Service 8 months ago

Dan Davies wrote a whole book on this topic, The Unaccountability Machine [1]. In it, he creates the concept of "accountability sinks": organisational structures or systems which abstract the source of a decision away from individuals so that no specific person can be held accountable.

Davies writes: "For an accountability sink to function, it has to break a link; it has to prevent the feedback of the person affected by the decision from affecting the operation of the system."

For a good short overview, see this piece by Mandy Brown: https://aworkinglibrary.com/writing/accountability-sinks

[1] https://press.uchicago.edu/ucp/books/book/chicago/U/bo252799...

Plugin System 10 months ago

"The StandaloneWindow module provides a way to create a separate window to display custom content. You are able to control a full-sized webview inside the window, therefore you can use HTML, CSS, and advanced techniques like WebGL to render the contents." [1]

So... someone could make a Webamp[2] plugin?

And Butterchurn[3] for viz? (Assuming one can plumb in a compatible audio node)

[1] https://docs.iina.io/interfaces/IINA.API.StandaloneWindow

[2] https://docs.webamp.org/docs/intro

[3] https://github.com/jberg/butterchurn

Serious question: would it be worth the effort to treat XSLT as a compilation target for a friendlier language, either extant or new?

There's clearly value in XSLT's near-universal support as a web-native system. It provides templating out of the box without invoking JavaScript, and there's demand for that[1]. But it still lacks decent in-browser debugging which JS has in spades.

[1] https://justinfagnani.com/2025/06/26/the-time-is-right-for-a...

Thanks so much for sharing your work. Your blog posts are _far_ more interesting and helpful than most of what I'm seeing about agentic coding.

I'm particularly fascinated by those last two links, along with your latest post about READMEs. It makes me wonder about a visual specification editor that provides GitHub-like task chronology around the spec, with the code as a secondary artefact (in contrast to GitHub, where code is primary).

Hey, if we're already complaining about Microsoft products, can someone explain why the Bedrock and Java versions of Minecraft have not been made cross-compatible in the TEN YEARS since the Mojang acquisition?

(... speaking as another dad just trying to play with my kid.)

Thanks so much for writing this up and sharing. It sounds like you've been through a horrific few years, but your perseverance in creativity is inspiring and fascinating. I wish you well in your efforts to make a better life for yourself, and I hope your work finds a wider audience.

Solitaire 1 year ago

Yep. Enter The Gungeon is my personal favourite among roguelites but it's punishingly hard to get the hang of, and the huge number of weapons makes it quite likely that you'll only get semi-decent guns for an entire run – even when you're playing as the Gunslinger, who activates all synergies automatically.

The upside of putting in the time is that when you get good, it feels fantastic.

If you haven't tried it, I'd recommend Dead Cells. Yes, it's twitchy action, but it's easier than Gungeon to get good at, and the parkour-like flow looks and feels wonderful from quite early on. TBH it's a better game than Gungeon in most respects.

Solitaire 1 year ago

Dead Cells's "Custom Mode" lets you eliminate loads of objects from the set offered, making it much more likely for you to get weapons you want.

It's somewhat unique among the roguelites I've seen in not only offering this but also treating it as valid play: any wins/achievements in this mode (e.g. more BC) will unlock properly.

So, no need to put up with Spartan Sandals ever again!

Disagree. Some abstractions are still vital, and it's for the same reasons as always: communicate purpose and complexity concisely rather than hiding it.

The best code is that which explains itself most efficiently and readably to Whoever Reads It Next. That's even more important with LLMs than with humans, because the LLMs probably have far less context than the humans do.

Developers often fall back on standard abstraction patterns that don't have good semantic fit with the real intent. Right now, LLMs are mostly copying those bad habits. But there's so much potential here for future AI to be great at creating and using the right abstractions as part of software that explains itself.

When I worked at Second Life we'd often have work meetings in-world. It was fun, often silly, but also productive. Ultimately, it was a voice conference with decent audio and tinker-toy visuals, and we could dogfood and demo our work.

But this was around 2010, when most internet video conferencing tools were still terrible, so Second Life was decent competition. For doing work meetings in 2025, the only virtual-world-like competition to Zoom & co that I can think of is maybe Apple's Spatial Facetime, and that's thanks to expensive hardware designed to solve or hide the usual VR usability issues.

Horizon Worlds continues to look like a product with leaders who don't actually want to use a virtual world, or understand the appeal. There is no amount of money which can fix that.

Until that changes, it won't be anywhere near as good as Second Life (which I worked on) or VRChat, despite those systems costing a tiny fraction of what Meta has spent on Horizon Worlds and related projects (Facebook Spaces, Oculus Rooms, etc.). Ex-colleagues of mine worked on this stuff at Meta for years, eventually giving up because of leadership's continual failure to grasp fundamentals of why people like and use virtual worlds.

This looks great! I love that it builds on top of existing tools has so many kinds of export already. Thank you so much for sharing it - I'm always looking for good tools for quick animation and presentations.

Like you, I'm a big fan of Keynote. It would be amazing to have Keynote-style smooth animation here too (tweening, easing curves, Magic Move, etc.), though I'm sure it would be a huge project in itself.

Thank you, this really validates the Hedy approach. Everyone's talking about the multilingual aspect while ignoring the many other thoughtful design choices that have gone into the project.

The composer you mention was the most prolific and talented creator of BBC TV show themes: Ronnie Hazlehurst. He usually did arrangement and production of the music as well.

Other famous themes he created: Are You Being Served?; Last of the Summer Wine; The Fall and Rise of Reginald Perrin; To the Manor Born; Yes, Minister (and Yes, Prime Minister); Blankety Blank; and The Generation Game. See his Wikipedia page for the full list: https://en.wikipedia.org/wiki/Ronnie_Hazlehurst

AFAIK, the main reason that he received no royalties is because BBC programmes generated no income. The BBC's commercial arm, BBC Worldwide, generates revenue through selling and licensing content, but that was created in the 1990s. I don't know whether the royalties situation has changed, but I doubt it.

So Hazlehurst wasn't well paid, nor were the recordings well funded. This is another great example of constraints triggering innovation: the theme for Are You Being Served? memorably uses the sounds of coins and cash registers, which was Hazlehurst's solution to not being able to afford proper percussion.

If you have two spare minutes now, watch Matt Berry's lovely tribute to Ronnie Hazlehurst, from Charlie Brooker's Screenwipe: https://www.youtube.com/watch?v=8Ui1rdhQljU

Absolutely agreed. For me, this goes far beyond incorrect use of language: it's directly dehumanising because the term "resource" primarily describes inanimate objects. Resources are meant to be used, but people should be employed or managed.

In searching for the origin of this usage, I found this blog post[1] which attempts to explain arguments both for and against. But, to me, the arguments it lists under the heading "Why referring to people as resources is okay" are actually stronger arguments against. They're all about making certain management tasks easier by simplifying what's being managed. Unfortunately, this goes past simplification to homogenisation.

I've lost count of the times that I've seen management treat a big set of developers as equivalent resources, free to be reallocated to projects as needed. This approach never factors in how well certain people work together or the disruption caused by splitting up a well-functioning team.

It's not just that people aren't the same as objects; it's that people aren't even the same as each other.

[1] https://www.retaininternational.com/blog/why-are-people-call...

On top of that: some examples of the kinds of problems miniKanren can solve, based on real world examples rather than purely abstract concepts (e.g. "given a set of available air flights with origins, destinations, and prices, find me the cheapest way to get from Seattle to London")