HNHacker News
TopNewBestAskShowJobs

mxey

369 karma · joined April 1, 2012

submissionscomments
mxey··on Coding is not solved
The majority of existing software runs without a glitch? Are you being serious?
mxey··on Coding Is Not Solved
Who writes those tests and makes sure they test the right thing and everything?
mxey··on Is your Postgres migration safe or not safe?
That’s an interesting idea but not all locks are held for the duration of the statement. A lot of them take a less intrusive lock for the whole statement and take an exclusive lock for a very short time when they finish up.

Edit: Looking this up, I’m not sure this is correct.

mxey··on Making Tailscale Faster
> The WireGuard website claims ChaPoly is at least as fast as hardware-accelerated AES.

I haven’t used WireGuard but I have easily doubled OpenSSH performance by switching back to AES.

mxey··on Yes/No/Cancel causes Aspirin sales to soar (2007)
Since 10.7 it autosaves.

The Delete button is shown, and correct, for new files that have not been saved at all yet.

mxey··on Go 1.27 Interactive Tour
The drain is asynchronous, so it won’t block. The limit is 256 KB and 50 ms.
mxey··on SQLite is all you need for durable workflows
At which point there’s little difference from any other database’s backup commands.
mxey··on SQLite is all you need for durable workflows
I think the SQLite website itself says it best:

> SQLite does not compete with client/server databases. SQLite competes with fopen().

mxey··on SQLite is all you need for durable workflows
The Compose file is written like that so you can quickly try the app without setting up extra dependencies. Usually not for production use.

Especially since in production you might want to scale the parts separately. I like to have a Postgres cluster to connect where backup is already handled, and the app then doesn’t have any persistent data, doesn’t need any network volume mounts.

mxey··on SQLite is all you need for durable workflows
Yes if you run a database server like an embedded application database, then it won’t be very different from an embedded application database.
mxey··on SQLite is all you need for durable workflows
SQLite in WAL mode which you want for server apps is multiple files.

Files which you cannot just copy while your application is running if you want a correct backup.

mxey··on SQLite is all you need for durable workflows
Huge?
mxey··on Migrating from Go to Rust
Yes, initially modules used to modify the file automatically which is why I have -mod=readonly in some old pipelines.

I think the “new” way is much better.

I still run tidy in pipelines to check but that’s only for cleanup.

mxey··on Migrating from Go to Rust
> It only syncs go.mod with what is already being used by the build process

If dependencies are incomplete, Go will fail to compile and tell you to run go mod tidy to fix it.

mxey··on Migrating from Go to Rust
Pinning to me means there is a file with all the versions as they will be used. I don’t see how “go mod tidy” modifying it is different from “bundle install” modifying it.
mxey··on Migrating from Go to Rust
> You literally cannot dereference an Option without acknowledging the None case. Whole categories of pager-duty incidents disappear.

This is at the very least misleading, given that you can use unwrap.

Regarding error handling: will a parser error in the config return an error that includes the name of the file that’s failed to parse? That’s the kind of useful context that I add to errors in Go.

mxey··on Migrating from Go to Rust
Actually with Go modules you are always pinning dependencies. What’s in your go.mod is what is used. If your go.mod needs to be updated because a dependency wants to bring in a newer version of a transient dependency, the go.mod has to be modified (by the go command, not by you)
mxey··on PyInfra 3.8.0
The problem is that it is actually not just Python, branched with “normal if statements”: https://docs.pyinfra.com/en/3.x/deploy-process.html#checking...
mxey··on Bugs Rust won't catch
https://pkg.go.dev/os#Root
mxey··on We tasked Opus 4.6 using agent teams to build a C Compiler
That’s the opposite of clean-room. The whole point of clean-room design is that you have your software written by people who have not looked into the competing, existing implementation, to prevent any claim of plagiarism.

“Typically, a clean-room design is done by having someone examine the system to be reimplemented and having this person write a specification. This specification is then reviewed by a lawyer to ensure that no copyrighted material is included. The specification is then implemented by a team with no connection to the original examiners.”

mxey··on Unconventional PostgreSQL Optimizations
PostgreSQL shares other caches between processes so they probably could have a global plan cache if they wanted. I wonder why they don’t though.

One possible reason is that the planner configuration can be different per connection, so the plans might not transfer

mxey··on Unconventional PostgreSQL Optimizations
This is very good to know because it means this exclusion constraint workaround is a better approach over using a SQL hash function and a btree if you want to enforce uniqueness on values too long for a btree index.
mxey··on Cue Does It All, but Can It Literate?
No, that’s why I said deploy. All it does is run kubectl apply and kubectl rollout status.

Only those are directly tied to the data in CUE. there’s not much advantage to running other commands with it. You can run arbitrary processes with cue cmd though.

mxey··on psc: The ps utility, with an eBPF twist and container context
“ss” also has filters, no need for grep

ss -o state established '( dport = :ssh or sport = :ssh )'

mxey··on 6-Day and IP Address Certificates Are Generally Available
There will be no certificates longer than 45 days by any CA in browsers in a few years.
mxey··on Cue Does It All, but Can It Literate?
Not sure if that’s what you mean but we have apps where all you need to deploy them to Kubernetes is run “cue cmd deploy”.

> The problem is, once you have to wrap CUE, the loss of flexibility within a special-purpose language like CUE is enough for people to ask why not just bother writing the scripts in a general purpose language with better ecosystem support.

cue cmd is nice but it’s not the reason to use CUE. The data parts are. I would still use if I had to use “cue export” to get the data out of it with a bit of shell.

mxey··on CSRF protection without tokens or hidden form fields
Without those headers, you can as a fallback compare the Origin header to the Host header.

See https://words.filippo.io/csrf/

mxey··on Fifty problems with standard web APIs in 2025
I had the same thought about the idea that Safari is “behind”. My hypothesis is that features only “exist” to people if they are implemented in Chrome. If a feature exists in WebKit but not in Chrome, nobody talks about it.
mxey··on Fifty problems with standard web APIs in 2025
iPhones tend to have dramatically better JavaScript performance so you might wanna also test on an average Android phone.
mxey··on Fifty problems with standard web APIs in 2025
I can’t wait for websites to tell me I need to install Chrome on my phone.
Page 1 of 6Next →