HNHacker News
TopNewBestAskShowJobs

ashton314

5,617 karma · joined August 30, 2017

Programming languages researcher

Codeberg: https://codeberg.org/ashton314

GitHub: https://github.com/ashton314

Blog: https://lambdaland.org

submissionscomments
ashton314··on Vouch
Oh for sure. To be fair, that excerpt I posted is probably the worst in the entire book since Sammann is explaining something using a bunch of ITA ~~jargon~~ bulshytt and it’s meant to be incomprehensible to even the POV character Erasmas.
ashton314··on Vouch
Fediverse link: https://fosstodon.org/@mitchellh@hachyderm.io/11603152931120...
ashton314··on Vouch
> Then again, if this is the case, why would you risk your own reputation to vouch for anyone anyway.

Good reason to be careful. Maybe there's a bit of an upside to: if you vouch for someone who does good work, then you get a little boost too. It's how personal relationships work anyway.

----------

I'm pretty skeptical of all things cryptocurrency, but I've wondered if something like this would be an actually good use case of blockchain tech…

ashton314··on Vouch
Reminds me of the reputation system that the ITA in Anathem by Neal Stephenson seem to have. One character (Sammann) needs access to essentially a private BBS and has to get validated.

“After we left Samble I began trying to obtain access to certain reticules,” Sammann explained. “Normally these would have been closed to me, but I thought I might be able to get in if I explained what I was doing. It took a little while for my request to be considered. The people who control these were probably searching the Reticulum to obtain corroboration for my story.”

“How would that work?” I asked.

Sammann was not happy that I’d inquired. Maybe he was tired of explaining such things to me; or maybe he still wished to preserve a little bit of respect for the Discipline that we had so flagrantly been violating. “Let’s suppose there’s a speelycaptor at the mess hall in that hellhole town where we bought snow tires.”

“Norslof,” I said.

“Whatever. This speelycaptor is there as a security measure. It sees us walking to the till to pay for our terrible food. That information goes on some reticule or other. Someone who studies the images can see that I was there on such-and-such a date with three other people. Then they can use other such techniques to figure out who those people are. One turns out to be Fraa Erasmas from Saunt Edhar. Thus the story I’m telling is corroborated.”

“Okay, but how—”

“Never mind.” Then, as if he’d grown weary of using that phrase, he caught himself short, closed his eyes for a moment, and tried again. “If you must know, they probably ran an asamocra on me.”

“Asamocra?”

“Asynchronous, symmetrically anonymized, moderated open-cry repute auction. Don’t even bother trying to parse that. The acronym is pre-Reconstitution. There hasn’t been a true asamocra for 3600 years. Instead we do other things that serve the same purpose and we call them by the old name. In most cases, it takes a few days for a provably irreversible phase transition to occur in the reputon glass—never mind—and another day after that to make sure you aren’t just being spoofed by ephemeral stochastic nucleation. The point being, I was not granted the access I wanted until recently.” He smiled and a hunk of ice fell off his whiskers and landed on the control panel of his jeejah. “I was going to say ‘until today’ but this damned day never ends.”

“Fine. I don’t really understand anything you said but maybe we can save that for later.”

“That would be good. The point is that I was trying to get information about that rocket launch you glimpsed on the speely.”*

ashton314··on Vouch
Got to go through the Butlerian Jihad first… not looking forward to that bit.

(EDIT: Thanks sparky_z for the correction of my spelling!)

ashton314··on Ask HN: Who wants to be hired? (February 2026)

    Location: Salt Lake/Utah Valley, Utah
    Remote: Yes
    Willing to relocate: Possibly
    Technologies: Elixir, Ruby, Julia, Haskell, Rust
    Résumé: https://lambdaland.org/resume.pdf
    Email: mail@wiersdorf.dev
I am a PhD student looking for a summer gig. I don't require benefits—I'm happy to hire on as a contractor. I have worked as a back-end software engineer for a variety of companies throughout my schooling, so I've got the experience of a mid-level engineer. I specialize in building interpreters & compilers and I have experience with formal verification tools and techniques. That said, I won't turn down a job working on the back-end of whatever your SaaS project may be. :)
ashton314··on TIL: Apple Broke Time Machine Again on Tahoe
The hedgehog knows one great thing. This is it. Thank you.
ashton314··on Emoji Design Convergence Review: 2018-2026
I wonder how hard some folks ant Apple had to work to keep Alan Dye away from the Emoji design.
ashton314··on Show HN: I wrapped the Zorks with an LLM
Ok but if I try to get ye flask, will it tell me why I cannot get ye flask?!

(This is a Strong Bad reference for the younger kids here.)

ashton314··on Zotero 8
I have nothing bug praise for Zotero. Zotero is absolutely essential to my workflow as a researcher, second only to Emacs. Without Zotero, I would be spending inordinate amounts of time keeping all my papers + associated citation information organized. Zotero just takes care of it all. I love the iOS app—I read and markup papers on my iPad and everything gets synced smoothly.

I've been a paying member for a few years now. Part of it is for the storage (PDF packrat here) but mostly because I want to support development. Please consider supporting them if they help you in your work—they're worth it. https://www.zotero.org/storage

ashton314··on Tree-sitter vs. Language Servers
Hey there! Thanks for reading my article, and thanks for sharing something cool about TS!

------

Real quick: I'm a PhD student and I'm looking for an internship this summer. I've done a little work with gradual typing—working with TypeScript would be super cool! I don't see a good way to contact you on your profile, hence this reply; if you've got an opening for an intern on your team, I would be very interested in applying. My email is on my blog.

Thanks again for reading my post!

ashton314··on Tree-sitter vs. Language Servers
Hey Mickey! Thanks for all the stuff you've made in the Emacs space. Thanks for commenting here. :)
ashton314··on Tree-sitter vs. Language Servers
Hey! Thanks for the kind words. :) I'm working on some updates for the upcoming release of Emacs 31. Should be good!
ashton314··on Tree-sitter vs. Language Servers
This exactly. Last year I got handed a big ball of work slop. Someone asked me to review this big ol' design document and I had the hardest time parsing it. It sounded right, but none of the pieces actually fit together. When I confronted the PM who gave it to me and asked if it was AI generated, they replied that "there were parts of it that were human-generated"! -_-

Anyway, I wrote a little more about that here: https://lambdaland.org/posts/2025-08-04_artifical_inanity/

Intent matters a ton when reading or writing something.

ashton314··on Tree-sitter vs. Language Servers
> you can highlight a binding if it’s mutable or style an enum/struct differently

Wow! That is an incredibly good reason. Thank you very much for telling me something I didn’t know. :)

UPDATE: I've added a paragraph talking about the ability of rust-analyzer. Thank you again!

ashton314··on Reticulum, a secure and anonymous mesh networking stack
Sounds like someone is a fan of Anathem!
ashton314··on Ask HN: Share your personal website
https://lambdaland.org
ashton314··on “Stop Designing Languages. Write Libraries Instead” (2016)
If you just wait a few months, then that program will be written in a typed language. The type checker for Elixir is coming along nicely and every release brings more checks.
ashton314··on Jeffgeerling.com has been migrated to Hugo
I've been burned by this a few times and now I have the Hugo binary in source control. I had to dig through the releases a little bit to find the version that didn't break everything.
ashton314··on Tell HN: Merry Christmas
The power to serve
ashton314··on Unix v4 Tape
Woohoo! Context: UNIX v4 was believed lost to history until a tape labeled “UNIX v4” was found in a cardboard box in a closet at the University of Utah. It was not clear whether or not there was anything on the tape still. It looks like the Voeks at the Computer History Museum were successfully able to recover the data.

This is significant because UNIX V4 was the first version to be written using this newfangled language called C. So exciting!

ashton314··on Amazon will allow ePub and PDF downloads for DRM-free eBooks
What do you do now? I’ve been buying physical books off of Abe Books—not a bad thing at all—but I’d like to use my jailbroken kindle again because the form factor is so convenient.
ashton314··on Dafny: Verification-Aware Programming Language
Right. The problem is that those languages are relatively permissive in their type systems. Obviously Rust can capture more in its type system than C can. You would probably want a type like “decreasing unsigned integer” for Rust and some way to enforce monotonic decreasing, which Rust doesn’t give you.

(Any experts on formal verification please correct any inaccuracies in what I say here.)

The upshot of it is that C, C++, and Rust permit too much behavior that isn’t capturable in the type system. Thus, the properties that you’re interested in are semantic (as opposed to syntactic; type systems turn semantic properties into syntactic ones) so Rice’s theorem applies and there’s no computable way to do the analysis right.

ashton314··on Dafny: Verification-Aware Programming Language
> … verify/synthesize invariants in languages people use?

Good question. This is the holy grail. This is what everyone in PL research would love. This is where we want to get to.

Turns out a language as “simple” as C has sufficiently complicated semantics as to limit rigorous analysis to the basics. One example is loop analysis: it’s very useful to know that a loop will terminate eventually; if a loop is modifying some state and—worse—if the iteration variable gets modified—kiss your analysis goodbye because mechanically synthesizing strong pre- and post-conditions becomes insurmountable. It’s not an engineering challenge. It’s a math/pure CS theory challenge.

ashton314··on A brief history of Times New Roman
This is written by Matthew Butterick—a lawyer, typographer, and programmer. He's got another online book called Practical Typography that will help you appreciate (and make!) good typography: https://practicaltypography.com/

The site is really fun: at the bottom you can change the body text from Valkyrie to Equity, Concourse, etc. (these are all fonts that he made).

His books are made with a Racket-based publishing system called Pollen. I've used it a little bit and it's nice: it's incredibly flexible, so you have to do a lot of work to get what you want out of it, but it also doesn't confine you.

He's made some gorgeous typefaces: https://mbtype.com/ His license is far and away the most permissive non-OFL license I've encountered: buy the font once for the lowest price I've seen in a professional font, and then you can use it pretty much everywhere indefinitely. So nice.

I use two of his typefaces (Valkyrie, similar to Palatino, and Hermes Maia, a sans-serif based off of a German typeface) on my blog so you can see it in action: https://lambdaland.org/

ashton314··on Google releases its new Google Sans Flex font as open source
I hear you: I don't like how skinny the letterforms are. There's an "extended" variant that I find much more pleasing. I put together a customization you can see here: https://codeberg.org/ashton314/iosevka-output (there's a nice screenshot on that page).

You can probably get the proportions you want if you find a way to tweak the line spacing (also possible by adjusting the `leading` option in `private-build-plans.toml` and rebuilding).

ashton314··on Days since last GitHub incident
Here’s how you can clear it:

https://github.com/orgs/community/discussions/174310#discuss...

I had the same issue too, and this was the only thing that fixed it for me.

ashton314··on We're losing our voice to LLMs
Life is pain! Anyone who says otherwise is selling something. —The Dread Pirate Roberts

Everyone who’s produced something good, beautiful, or valuable has had to struggle. That’s just the way work works.

ashton314··on We're losing our voice to LLMs
Then substantiate them.
ashton314··on We're losing our voice to LLMs
A analogy: For the same reason why natural wood is more beautiful than plastic. Natural wood gets its beauty from little faults and irregularities. The process of growing a tree takes a long time and thereby is more valuable. A plastic facsimile can be made to look similar and be cheaper to produce, but it lacks the unique grain and quality of the wood.

It’s not just the end product that matters. The process and intent behind its genesis matters too.

← PreviousPage 4 of 34Next →