HNHacker News
TopNewBestAskShowJobs

mholt

11,919 karma · joined May 8, 2013

I'm the author of the Caddy web server. https://caddyserver.com

Twitter: https://twitter.com/mholt6

Personal: https://matt.life

[ my public key: https://keybase.io/mholt; my proof: https://keybase.io/mholt/sigs/X_pNtQp3_Et_7qwkBKVjmZv4dl7vP8bX83hu4N9lyz8 ]

(I do not use Keybase)

submissionscomments
mholt··on English: A vs. An
an, because the spoken sound of "LLM" starts with a vowel, "el". So, pronunciation of first letter of initialism, when you're spelling the initialism. I think.
mholt··on OpenJev
LLMs are generalized token predictors. They generate. Jev is a generalized classifier. It does not generate. It computes probabilities, REALLY fast.

So inputs and outputs of LLMs are tokens. Inputs to Jev are state (arbitrary strings/tokens) and, depending on the type of query, either an assertion, options, or choices. (All of those are also arbitrary strings/tokens). Outputs from Jev are probabilities. If it's an assertion, the probability that it is true. For options and choices, it's probabilities for each one, basically.

Because Jev answers so quickly and inexpensively, it's a likely replacement for complex, best-effort functions like `isSpam()`, where up until now the only nondeterministic way of implementing that was an LLM, which is slow, costly, and may produce invalid/corrupt output.

mholt··on Coyote v. Acme (1990)
Reading these replies and you'd think HN'ers have no fun (or feelings) at all. The movie is funny, clever, clean (good for families/kids), emotional, and has important lessons and metacommentary that adults will enjoy. Not to mention the irony of the plot with what happened to the movie in real life. Go see the movie.
mholt··on Muse: Meta's personal AI agent, features and capabilities
I see a lot of these geared toward pro/tech users, but fewer aimed at ordinary people.
mholt··on Muse: Meta's personal AI agent, features and capabilities
Cool, I've been working on this exact thing for me and my family for a while now and Meta just ... went and did it.

I guess I'll focus mine more on the things Meta doesn't care about, like privacy and control.

mholt··on Show HN: Open-Source eInk Bike Computer
eInk is like a piece of paper, which gets MORE visible in the sun, but standard touchscreen LCDs/OLEDs get harder to see. I am not sure about the physics/reasons for this. Phones also aggressively dim screens to conserve energy and lower temperatures. Phones absorb a lot of sunlight, so a white eInk display is brilliant in that regard.

Refresh rate is a solved problem for eInk as well, but it comes with energy tradeoffs and... might still be proprietary. But 60-120 fps eInk exists AFAIK.

mholt··on Show HN: Open-Source eInk Bike Computer
Thanks; not yet unfortunately, I have been too busy to set up a mailing list, but that's a good idea.

The video preview I linked to only shows the rich maps and instrument modes. There's also a wireframe map view that is higher-contrast and much more practical for your gravel rides: https://i.imgur.com/lZF20Xz.png -- and I am still tuning of course, we can make the map smaller and the characters larger, etc.

Maybe follow @mholt6 on X for updates when I have them... whenever Apple will let me in.

mholt··on Show HN: Open-Source eInk Bike Computer
This is great, I just saw your post on X. I'm also building a bike computer!

eInk is the right display tech. I think this will do really well. It might need a UV filter.

That said, I don't love needing a separate device (hence, I don't own any bike computer). This is just my preference, but I really prefer to just plop my phone on my handlebars. So I'm building a bike computer app for iPhone: https://x.com/mholt6/status/2090529441944687087 (trying to get Apple to approve my developer account / business info, but they're hung up on my website of all things).

Phones are definitely not ideal in terms of display and energy use, but, I have found that with proper optimizations, energy use is a non-issue. To offset display problems, the app has several ride modes: a rich map display with 3D road or satellite view; a high-contrast wireframe map that looks great at both high and low refresh rates because it has no analog-style gauges; an instrument panel dashboard view; and a voice-only mode that has big touch zones for on-demand voice updates, using a state of the art mobile voice synthesis model. For connected radars, the app also renders radar data and has a screen like Tesla/Rivian's autonomy displays.

The app automatically manages thermals by switching modes to preserve battery life.

In my testing so far, by managing energy, making really good voice feedback, and using high-contrast screens (every mode other than the "rich" map), even a dimmed iPhone display is quite a usable bike computer in high-altitude sunlight.

But man, that eInk looks so clean and nice. Definitely the superior display! Nice work and I hope to learn some things from it!

EDIT: Woah, you got ANT+ support using BLE radio? I am not surprised that that is possible, but dang, that must have been a clever LLM.

mholt··on Why do so many tools have JSON config files?
For Caddy we chose JSON because it's fairly universal, maps nearly 1:1 with Go structs (useful for initializing an extensible server), and nearly everything else compiles to JSON one way or another, so you can choose your own config format, really: https://caddyserver.com/docs/config-adapters
mholt··on Damn fine tiny cafe
Ah neat, my daughter likes to do this too, with Rolife. I let her borrow our camera with our 105mm macro lens to take artsy shots of her builds, and it was a fun learning and creative experience together. Highly recommend.

Also, dust and hair at that scale looks hilariously huge, so you might want a cleanroom. :-/

mholt··on Being ambitious and being a dad
"Be ambitious enough to be an ambitious dad." - agreed! Being an ambitious dad IS exhausting. And the successful people telling you that you can't be a present, ambitious dad and be successful -- that you have to trade successful fatherhood for professional success -- are weak. They are not heroes.

The real heroes are the ones ambitiously raising the next generation while changing the world right now. That's what I aspire to be... and those are my role models. Not the ones who abandon their kids or wife to pursue their own dreams and make excessive amounts of money.

If you really can only muster enough time or energy to be ambitious about one thing, be ambitious within your home/family.

mholt··on Grok 4.5
Thank you! I'm glad you like it.

Sure. I'm not sure if I will actually publish this thing, but I can show you: https://x.com/mholt6/status/2074986102428139754

I wanted a phone app rather than yet another electronic device. Phones do not have great screens in bright sunlight, and they run hot, so it's not ideal for a bike computer in the first place. But I can't deny the convenience of the multipurpose tool that is my phone.

This app will have a few UI/UX modes. The default is the futuristic-looking HUD, but it has a low-power mode that's mostly monochrome on black, and an even lower-power "Cruise mode" that removes the map entirely and just shows you speed, approximate heading, and nav directions. Still very WIP and mostly for my own amusement!

mholt··on Grok 4.5
Wonderful, glad it was helpful for you!
mholt··on Grok 4.5
Of the 3 models I tried, Grok did the best at making an iOS app I wanted for personal use (a bike computer with specific qualities). (Claude just gave up and did an HTML/CSS implementation but I insisted on native SwiftUI+Metal.) Grok definitely fumbles sometimes, but I have been surprised what it CAN intuit versus me having to micromanage it.

(I am not an iOS developer, so getting something specific that I needed in a few hours/days was really helpful instead of spending months/years learning the language, APIs, etc.) (I am absolutely not "vibe-coding" Caddy btw, just tinkering with it for personal projects.)

mholt··on RFC 10008: The new HTTP Query Method
Too many servers ignore/drop/reject body in GET requests. RFC 9110 does allow it, but is only recommended if server documentation states that it is supported.
mholt··on Blue Origin's New Glenn blows up during static fire test
Is it normal to load ALL the propellant when doing a static fire? (I presume that's the case, anyway, given the sheer magnitude of the kaboom.)

I know a WDR typically would, but I don't think they perform an ignition for those.

mholt··on Understanding Singleflight in Go
First I've heard of this. Lazyweb, why would I use this over sync.Once?
mholt··on Googlebook
This page crashes in my Google-based browser. I can't scroll down more than ~50 pixels.
mholt··on Yet Another GitHub Incident
We get it.

We should probably take a break on these. It's probably more newsworthy now when GitHub is "up".

mholt··on Using the internet like it's 1999
It was FUN though.
mholt··on NASA had to train Apollo 11's astronauts to not use profanity (2019)
Using profanity indicates a weak vocabulary. A lack of discipline. A degree of unrefinement unbecoming of astronauts representing the "best" of humanity and their country.

Depending on the type of profanity it can divide societies by reinforcing social schisms/prejudices. Such words typically cluster around areas of cultural discomfort such as religion, sex, and hygiene, causing polarizing emotional reactions. It's biological as well as cultural.

Seems like the "best and bravest humanity has to offer" can probably represent a little better than that for one of the most significant feats of history.

mholt··on GitHub's Historic Uptime
Even better IMO is this status page: https://mrshu.github.io/github-statuses/

"The Missing GitHub Status Page" with overall aggregate percentages. Currently at 90.84% over the last 90 days. It was at 90.00% a couple days ago.

mholt··on Starlink Mini as a failover
Yeah but if you need Internet failover, cell phone towers are likely flooded. Starlink will be much more available (probably).
mholt··on Your phone is an entire computer
And yet, try getting a full backup of your Google phone onto your own computer. (Without rooting/wiping the whole thing.) Heck, try getting just your text messages off (without a separate app)!

You can't. (Last time I checked.) The backup is encrypted in the cloud, and the only way to download it is to restore it to a phone.

Whereas I can just plug in my iPhone and get a full backup, complete with sqlite manifest, completely accessible. Text messages, photo library, everything.

mholt··on TUI Studio – visual terminal UI design tool
tbf that's Apple's fault, not the choice of the free, unpaid open source developer.
mholt··on Google Safe Browsing missed 84% of confirmed phishing sites
I never loved the idea of GSB or centralized blocklists in general due to the consequences of being wrong, or the implications for censorship.

So for my masters' thesis about 6-7 years ago now (sheesh) I proposed some alternative, privacy-preserving methods to help keep users safe with their web browsers: https://scholarsarchive.byu.edu/etd/7403/

I think Chrome adopted one or two of the ideas. Nowadays the methods might need to be updated especially in a world of LLMs, but regardless, my hope was/is that the industry will refine some of these approaches and ship them.

mholt··on RFC 9849. TLS Encrypted Client Hello
But does it automatically provision the DNS records and rotate the keys?

I'm actually kind of furious at nginx's marketing materials around ECH. They compare with other servers but completely ignore Caddy, saying that they're the only practical path to deploying ECH right now. Total lies: https://x.com/mholt6/status/2029219467482603717

mholt··on Caddy Server Release Process
Thanks for sharing this, we like it a lot. Mohammed Al-Sahaf implemented this for us so that releases can be made by a quorum of maintainers rather than being blocked by me every time.

Here's the first release done with it: https://github.com/caddyserver/caddy/releases/tag/v2.11.0-be...

And you can see the PR flow where the action happens: https://github.com/caddyserver/caddy/pull/7383

mholt··on Hear the "Amati King Cello", the Oldest Known Cello in Existence
That is one beautiful instrument. What does the front look like?

And I know we can't hear it in its "original glory" anymore, but is the sample only like 10 seconds long because it's proprietary, or is the cello too delicate to play a full number on, or...?

Edit: Found the museum piece with full pictures: https://emuseum.nmmusd.org/objects/6684/violoncello?ctx=7735...

mholt··on Rivian R2: Electric Mid-Size SUV
If you look at the R1 pages, you'll see those pages, though scroll-heavy, at least contain more useful info. I'm hoping that after R2 is actually available to order, that they'll update the page with more information. It's still early.
Page 1 of 34Next →