HNHacker News
TopNewBestAskShowJobs

andersmurphy

983 karma · joined February 22, 2019

https://andersmurphy.com
submissionscomments
andersmurphy··on The October inflection point for vibe game development
IKEA effect?
andersmurphy··on Code is clay now
It's lisp all over again.

Always has been.

andersmurphy··on DeepInfer: High-performance inference framework for DeepSeek models
Kinda funny to see hackernews clamouring to ban the Chinese models. Truly in the thrall of the frontier labs
andersmurphy··on '500-hour' Order of the Sinking Star is as complex and exhausting as it sounds
I mean it's part of the marketing play. Drama always is. This article will get more views because it throws some shade. More copies of Order of the Sinking Star will sell as a result.
andersmurphy··on Game of Life – But Multiplayer, Hypermedia and Python
What kind of potato?
andersmurphy··on Game of Life – But Multiplayer, Hypermedia and Python
Great stuff! What's it running on?
andersmurphy··on To grieve, or not to grieve?
Happens every time. Fascinating emergent behaviour.
andersmurphy··on The Navier–Stokes Millennium Prize Problem
I mean the fact that comments like this get downvoted is wild.
andersmurphy··on The Navier–Stokes Millennium Prize Problem
You'd think theft would still be illegal regardless of what a privacy policy says.
andersmurphy··on Ok, but does it scale?
I think people get hung up on high availability (HA), and ironically don't test their backups. Single node with streaming backups to S3 (simple in a single writer system) can give you a system that will at most lose a few seconds of data (interestingly RDS has a 5 minute window of dataloss).

Multi node systems tend to have more failure modes, so fail more often, high availability is not free.

If you replicate data between two nodes (that are note async backups). You have to maintain strong data consistency. So writes to the database are considered successful only if the data is written to both nodes. If either node became unavailable you'd be unable to write anything without sacrificing consistency, reducing our overall availability rather than improving it. Also increasing latency.

This is why the whole multi node HA push by the industry is so laughable. A lot of time it makes systems more fragile.

andersmurphy··on We could save petabytes of cache storage with Zstandard and Pingora
Sadly they do not. They stop after the first frame (at least last time I tested it).

They also don't always support window sizes above 8MB which means levels above 19 can fail to decompress (if they use the more than 8MB of window).

andersmurphy··on We could save petabytes of cache storage with Zstandard and Pingora
I'm surprised the faster decompression speed of zstd wasn't mentioned. Feels like a big win for cache (assuming decompress on read).

A shame browsers don't support concatenating zstd frames (which zstd does support). Then you wouldn't need to decompress, just serve zstd straight to the browsers after concatenating the frames you care about.

andersmurphy··on We could save petabytes of cache storage with Zstandard and Pingora
There's negative levels for faster decoding and compression. level -1 uses half the CPU of level 1 and with a custom window size can be really good for streaming compression. I think the negative levels go down to -7 if I remember correctly?
andersmurphy··on There's no reason for software to be slow anymore
Project into sqlite on your app server is the main trick I use. Denormalize if you have to.

Hell, for a lot of projects you don't even need to get that fancy. Run a single server with an embedde database, running Go or Java and you're good to go.

andersmurphy··on There's no reason for software to be slow anymore
I think a lot of the time when people say the network is slow. They really mean their backend is slow.

With a fast backend ~1-5ms response times (not even that fast). Streaming compression over something like SSE to keep your response sub 1kb packet (roughly an ethernet MTU).

With a push based model, pushing data to a user is half their RTT latency. They will only experience their full RTT on actions they trigger.

Now the network to you is distance to the server (not your rail/nextjs backend taking 400ms). Things like 4G and 3G are fine. The real problem is when you have such bad signal you effectively have no down or up.

andersmurphy··on AI didn't erase the junior engineer's value, it increased it it
The paradox of AI. The better it is the less benefit there is to being an early adopter.
andersmurphy··on PostgreSQL for Everything
Is it? Sqlite seems pretty fast. [1]

[1] - https://andersmurphy.com/2025/12/02/100000-tps-over-a-billio...

andersmurphy··on AI is removing the middle class of software engineering?
This is why my theory is LLMs are self defeating in large orgs. Or worse terminal for the organisation.

For everyone adding value with LLMs there will be way more destroying value. If you roll a critical failure a mediocre LLM enhanced VP convinces the org to sail aggressively in the wrong direction.

andersmurphy··on The Philippines' big offshoring industry is growing despite AI
I mean that's a fair take.

But, for me it's not so much that it doesn't match my view. I'm honestly mixed on the whole thing (I am probably most concerned about the finances). It's more that the articles they write seem to align with the eb and flow of anthropics media tempo. This week it's FOMO, next week it's panacea, hack all the things week, followed by mild financial concerns with a but it will be fine tacked at the end. The articles tend to lack concreteness too. Maybe, it's just what reading The Economist is like when it's a domain you actually understand and follow closely?

Honestly, though I could probably say the same for a lot of publications these days.

andersmurphy··on The Philippines' big offshoring industry is growing despite AI
Judging by the amount of insider interviews it's more than just ads.

Longtime subscriber. Pretty disappointed in how biased their coverage is.

The most critical piece they have put out on AI is oh no it's so powerful it's hacking everything. It's like being in a job interview and saying your biggest weakness is you work too hard.

andersmurphy··on The tragedy of the commons, AI edition
Anthropic is a sponsor of The Economist. So maybe that influences their retoric somewhat.
andersmurphy··on The Philippines' big offshoring industry is growing despite AI
Also worth pointing out Anthropic is a sponsor of The Economist. Probably muddies the water some more.
andersmurphy··on A year of fighting scrapers on my 1.5 million-page website
Agreed! Cloudflare absolutely destroys user experience and honestly doesn't seem that effective in practice.

What's worked for me is I block any client that don't support brotli compression and http2. Seems to work well enough for stopping scrapers.

andersmurphy··on Let's make the worst Htmx
So compression ratios with streaming compression (brotli/zstd) come down to the regularity of the data, the size of the change, and the size of your window.

Basically, if your html fat morph frames are 65kb uncompressed and you make a small change like checkbox it will send 13bytes so that's 5000:1. Caveat is as long as your compression context window is big enough.

andersmurphy··on Let's make the worst Htmx
It's nice to see HTMX4 is adopting the core strengths of Datastar. That sort of cross pollination of ideas is a huge boon to the wider hypermedia community in general.
andersmurphy··on Let's make the worst Htmx
A focus on morph by default means you don't have an explosion of endpoints and can write programs like the 300 redirect days. [1]

Once you want realtime/collaborative app SSE + morph lets you do that easily. Add streaming compression and this approach is suddenly crazy bandwidth efficient.

For people coming from react this gives you v = f(state) over the wire.

Lastly signals handle the edge cases where an out of bound morph would nuke your ephemeral client side state (mostly text input).

You can do this in htmx but you are fighting the design the whole way. Turbo is a bit better but doesn't have signals.

[1] https://dev.37signals.com/a-happier-happy-path-in-turbo-with...

andersmurphy··on Let's make the worst Htmx
My experience was similar. I'd wound down a startup and as a solo developer could no longer afford to do react + a backend. So I tried HTMX, then turbo (which introduced me to morph and push based re-fetch). Finally moved to datastar because I could drop alpine and it has best in class morph, signals and SSE support. Immediate mode over the network is amazing DX.

Makes multiplayer out of the box over large datasets trivial. See these demos if you don't believe me [1][2] (open them in multiple tabs and have fun)

[1] https://checkboxes.andersmurphy.com

[2] https://example.andersmurphy.com

andersmurphy··on SQLite in Production: Optimizing WAL Mode, Concurrency, and VFS Layers
RDS*
andersmurphy··on SQLite in Production: Optimizing WAL Mode, Concurrency, and VFS Layers
Sqlite with litestream has a smaller default window of data loss than RDF. 1s vs 5 minutes.
andersmurphy··on SQLite in Production: Optimizing WAL Mode, Concurrency, and VFS Layers
I would only recommend sqlite if you know what you are doing (and/or prepared to learn it inside out). It's more of a build your own database primitive (often you'll have multiple sqlite databases for different things). Which can be incredibly rewarding and deliver amazing performance outcomes, simple ops, etc.

I see the migration argument come up a lot. But, in practice with sqlite you'll be using projections where you have a source of truth database (event log) and project off it into disposable/expendable sqlite databases. So schema changes are often just delete and rebuild the projection.

Page 1 of 16Next →