HNHacker News
TopNewBestAskShowJobs

markusw

527 karma · joined August 18, 2020

Independent software consultant for cloud-native Go apps & AI engineering. Also electronic musician, street photographer, glitter enthusiast, and minimalist.

Find me at markus@maragu.dk

submissionscomments
markusw··on What if we treated Postgres like SQLite?
Yeah, totally agreed. I'll have to look into that. I've really enjoyed the stability of SQLite, down to the file format.
markusw··on What if we treated Postgres like SQLite?
The biggest one is latency. Network latency will almost always be orders of magnitude bigger than I/O latency. There's a whole class of problems that goes away when latency becomes very small.
markusw··on What if we treated Postgres like SQLite?
Interesting! I'm going to look into that. :-) Thank you for sharing.
markusw··on What if we treated Postgres like SQLite?
While I really like DuckDB, I wouldn't use it for OLTP workloads.

I'm curious, when do you want to treat your Postgres like SQLite? :-) That's basically the opposite of what I was thinking of in the article.

markusw··on What if we treated Postgres like SQLite?
On the other hand, and especially if migrating from SQLite, there's typically not _that_ much data. Even hundreds of GBs would probably be okay? Drives are so fast these days. Would be interesting to benchmark.
markusw··on What if we treated Postgres like SQLite?
Yeah, that really is a great thing about SQLite.

I wonder whether packaging everything in Docker (including a specific Postgres container identified by hash or whatever) and deploying on the same architecture would solve this?

markusw··on What if we treated Postgres like SQLite?
Hehe. Yes and no.

In the cloud, as you probably know, the usual way now is to spin up Postgres separately (RDS, Supabase, Planetscale, Crunchy Bridge, you name it). We've gotten so used to it that a different way of doing it is often not even considered.

But I think tooling has come a long way, and there have been a lot of learnings from the cloud, so it's time to swing the pendulum back and reconsider assumptions!

markusw··on What if we treated Postgres like SQLite?
Indeed pondering! The dude here. I think writing a little piece like that often sparks some interesting discussions here and elsewhere. :-)
markusw··on What if we treated Postgres like SQLite?
It's also used plenty in the cloud, for a variety of reasons. Check out the first linked article for something I wrote on that: https://www.maragu.dev/blog/go-and-sqlite-in-the-cloud
markusw··on Use One Big Server (2022)
You can easily do consistent backup on live databases. There’s a backup command and API.
markusw··on Show HN: Base, an SQLite database editor for macOS
Thank you for answering. That's fair re. App Store rules. Feature flags FTW? :D

I was happy to see that FTS5 was always enabled as a compile-time option.

markusw··on Show HN: Base, an SQLite database editor for macOS
I've just tried it out, looks nice!

I've been using TablePlus a lot, but there are some SQLite-specific features I'd really like to have in an app:

- Foreign keys enabled by default, so I don't have to remember to enable that in every session.

- Support for loading extensions automatically. I'm using sqlite-vec for example. Right now, browsing virtual tables for that just doesn't show that much, and executing a query just results in "no such module: vec0"

I'll keep an eye on the project. :-)

markusw··on Show HN: I was curious about spherical helix, ended up making this visualization
Beautifully done, thank you for sharing. :-)
markusw··on Litestream: Revamped
I wrote about this back in 2022, still applicable today: https://www.golang.dk/articles/benchmarking-sqlite-performan...
markusw··on Stimulation Clicker
My pulse is still higher than usual. We just spent an hour on this. This is an art game. :D Thank you!
markusw··on They don't make them like that any more: the Yamaha DX7 keyboard
You’re missing MIDI controllers, of which there are plenty. :) Synth versions without the keys are often called “desktop versions”.
markusw··on Choose Boring Technology and LLMs
I build my frontends with HTML using gomponents. The jury’s still out about how far I can get with just Go while incorporating LLMs into my apps, but I’m optimistic!
markusw··on Choose Boring Technology and LLMs
Yep! "Boring tech" has basically become an established term at this point, I'm not going to change that.
markusw··on Choose Boring Technology and LLMs
It's okay, sometimes the discussions turn interesting and I learn something. And a lot of people get to read my article, and I hope their lives are enriched in a small but meaningful way.

I'm glad the approach works for you as well! :D It's fascinating to watch a statistical document completion model be able to do so much.

markusw··on Choose Boring Technology and LLMs
I do!

In the article, I mostly mean working with LLMs inside the applications I'm building, as opposed to as a tool as part of development. But I do both.

Right now, I'm trying out Zed, which supports multiple LLMs natively. Just today, I tried Zed + Ollama + Qwen 2.5 Coder 32B running locally, and it worked! Blows my mind that I can have GPT-4o-level assistance running on my laptop. :D

markusw··on Choose Boring Technology and LLMs
Because I don't know PHP, so that would be a terrible choice for me.

But if that's what you're productive in, I'd say, absolutely!

markusw··on Choose Boring Technology and LLMs
I think it's a great example of a modern, elegant, boring & productive language.

But Go wasn't really the point of the article, so maybe we shouldn't be here doing language flamewars? :D

markusw··on Choose Boring Technology and LLMs
The Javascript tooling ecosystem seems especially broken. XKCD 927 [0] applies there, to build systems, frameworks, and more.

I would suggest trying a different ecosystem entirely. I chose Go's, but there are many alternatives not nearly as broken, and in some cases working quite nicely.

[0]: https://xkcd.com/927/

markusw··on Choose Boring Technology and LLMs
I think they feel like pure science fiction magic. I have multiple alien brains installed locally on my laptop.
markusw··on Choose Boring Technology and LLMs
My point isn’t about these particular technologies. Pick any you like. But maybe not the flashy new ones, but the ones that make you the most productive and don’t change a lot. And then add the fancy new LLMs.
markusw··on Choose Boring Technology and LLMs
Party pooper. ;)
markusw··on Choose Boring Technology and LLMs
In what way are you in doubt whether or not it's satire?
markusw··on Choose Boring Technology and LLMs
Yes, exactly! There's not much new here. :D
markusw··on Choose Boring Technology and LLMs
As others have said at this point, S3 hardly counts as new tech anymore.

But even if you disagree, S3 is conceptually super simple: put binary blobs, get binary blobs, delete binary blobs. I trust the blobs to be there when I need them. I don't have to think about storage size at all, maybe not even backups (depending on use case).

I still have to worry about network, but that isn't really that much different from disk access that can fail.

So yeah, I think S3 counts as boring. :)

markusw··on Choose Boring Technology and LLMs
Hey everyone! Author here. Just saw a lot of traffic from HN. I'm happy to answer questions. :-)
← PreviousPage 2 of 6Next →