HNHacker News
TopNewBestAskShowJobs

ashton314

5,611 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 Differences Between `Foldl` and `Foldr`
Cost can be much greater than either foldl or foldr
ashton314··on How I changed teaching after AI managed to do all my homework assignments
I am really sorry—it seems that you’ve only had teachers you feel would be better replaced with AI. That’s unfortunate. I consider myself lucky, and I can only think of one or two duds who little better than screen readers for their slides. I think the average experience of students across junior, high school, and college is a mixed bag, but almost all have at least one or two teachers who care. You seem to be unlucky, and I’m sorry.

> If you ask a professor what qualifies them do they say their research or their pedagogical skills?

The majority will say “both”, unless they’re teaching faculty in which case they’ll say pedagogy. Source: I spend a lot of time around professors.

I don’t know any students personally who think they’d be better off with an AI professor. I know a lot of current college students.

> I’ve probably thought about this much longer than you have.

All I can say is that that is a strange argument to attempt.

ashton314··on How I changed teaching after AI managed to do all my homework assignments
What an incredibly cynical take. Might as well have people date AI boyfriends and be governed by AI politicians.

> Students can and will learn better with ai “professors” than they do now.

No, that’s not true. You have no evidence to suggest that.

> The problem is that higher education is not about learning ultimately.

It is, actually, and many institutions do a good job of this. Some don’t, but they’re not all just degree mills.

ashton314··on Evolving programming languages in the AI era
This is absolutely not the case in my experience. I am building a very large embedded domain specific language for describing distributed systems. It looks like a small subset of Elixir, but with object-oriented syntax in a lot of places. (It’s called a choreography; there exist many other choreographic programming languages.)

Even though this programming language is absolutely nowhere in any large language model’s training set, they have so far done extremely well at extrapolating from the small set of examples I’ve given it when I need an agent to generate some tests or whatever for me.

ashton314··on More floating point alternatives
Also of interest: Herbie analyzes your math expressions and helps you figure out where FP error accumulates. https://herbie.uwplse.org/demo/

We use floats as a trade-off between speed and accuracy. IEEE 754 is a very reasonable trade-off for a wide range of applications, but if you can figure out where you need to trade speed to get more accuracy with e.g. one of the methods mentioned here, Herbie's gotcha covered.

I remember seeing some research about switching between formats, but I don't have anything to cite right now.

ashton314··on How to Write with an LLM
Step one: open up the LLM

Step two: close the LLM

Step three: pick up a pen and write

Writing with LLMs is a great way to make yourself stupid: https://lambdaland.org/posts/2026-08-07-ai-writing-stupid/

I'm glad the OP acknowledges that you have to have to do the writing yourself—though they say this more as a means to avoid getting pegged as having used an LLM, whereas I see the problem as being cognitive surrender.

ashton314··on I hate you Microsoft
I am a deep enjoyer of Typst. I love it and I use it absolutely everywhere that I can.

CeTZ is a really good package, but I still reach for a tool like Omnigraffle if I need to make a really complicated diagram.

ashton314··on Why I'm still bearish on LLMs after Navier-Stokes
Ah, fellow Butterick fonts enjoyer—Butterick's fonts have spoiled me: compared to pretty much every other professional font I've seen, they're the cheapest and most conveniently licensed fonts out there.
ashton314··on Why I'm still bearish on LLMs after Navier-Stokes
Someone has already mentioned Matthew Butterick's fonts and his online "book" Practical Typography [1]—absolutely fantastic material there.

Some concrete suggestions from me:

- Fira Sans [2] is a lovely, legible sans-serif font that's free and incredibly easy-to-read. This would make a fine body font.

- Source Sans [3] is another good sans-serif that might be closer to your current font. It's about as readable as Fira, but it's a little less warm imo.

- Make your line length a little narrower and your line spacing (i.e. leading) just a hair wider—that will do wonders for readability.

Definitely check out Practical Typography for more tips from a real professional.

Thanks for the blog post!

[1]: https://practicaltypography.com/

[2]: https://carrois.com/fira/

[3]: https://github.com/adobe-fonts/source-sans

ashton314··on Emacs Bedrock 2.0
Exhaustion very understandable. Elpaca is nice and stable now, and the integration with use-package is fabulous.

But if the built-in is working for you, no need to change it. Now that use-package supports the :vc keyword, there’s imo much less of a compelling reason to use Elpaca and the like.

ashton314··on Emacs Bedrock 2.0
Hey! I'm doing great, thanks. Kimball's class was a lot of fun. Nice you "see" you again. (Can't tell who you are by your username—feel free to email me at the address on my blog if you want.)
ashton314··on Emacs Bedrock 2.0
:) Yay!

No shade on wgrep, mind you—I used that for a long time and it's been one of my favorite tools. But now I just… don't need it. It's so nice being able to do consult-ripgrep -> export results to a buffer -> change to edit mode -> search-and-replace project-wide.

ashton314··on Emacs Bedrock 2.0
I love Elpaca! The built-in package management story has gotten so much better in the past 10 years, but Elpaca is so, so good. My personal config is kinda the antithesis of Bedrock—it's bloated, slow, and uses over 100 packages. Elpaca handles installing/updating/managing those like a charm, however.

I kept Elpaca out of Bedrock because I wanted a strictly built-ins-first experience, but if anyone asks what I use when they outgrow package.el, Elpaca is my first and only recommendation.

ashton314··on Emacs Bedrock 2.0
Here’s a link to the repo directly: https://codeberg.org/ashton314/emacs-bedrock

I hope Bedrock is useful to some people. :)

ashton314··on How an MIT research project became the Julia programming language
Julia is my go-to when I need a fast language that I can reason about in a functional way. The type system is fine, the pattern matching is pretty darn good, the metaprogramming story could be significantly better but it’s not bad and boy howdy it’s fast. So stinking fast.
ashton314··on Two Ends of Programming
The article is about “end” as in “purpose” not as in “conclusion”.
ashton314··on Run macOS Software on Linux
Glyphs is like the only game in town for font editing. I’m an Omnigraffle enjoyer too.
ashton314··on Debian votes to allow "responsible use of generative AI"
What are you trying to do to halt that atrophy, then?
ashton314··on Nebula Sans
Only works on desktop regrettably
ashton314··on Nebula Sans
Erik Spiekermann is a genius. He made Fira Sans to be a total antithesis to Helvetica. Now, I like Helvetica, but I also love the pure character of Fira Sans and it’s my go-to sans serif.

Here’s a better link for Fira Sans: https://carrois.com/fira/

Also, if you have Fira Sans installed on your computer, you can use it in Slack with `/slackfont Fira Sans’

ashton314··on Slack Code
Someone please wake me up from this fever dream
ashton314··on Ask HN: Alternatives to GitHub
Forgejo is splendid. Codeberg is a hosted instance; depending on what you’re developing it may or may not be a good fit for you. But the Forgejo stack itself is decently light-weight to self-host, very fast to use, and is easy to navigate.
ashton314··on Reticulum – Decentralized Mesh Network
Yes it is.

With the Artificial Inanity systems and the Rampant Orphan Botnet Ecologies (ROBE) beginning to spew tremendous amounts of crap (a technical term) onto the Ret, things are getting tricky for us ITA.

ashton314··on The case for overhauling American science
The transition from leadership to management has marked the decay of many a civilization or organization.

We need subject experts, not McKinsey consultants.

ashton314··on Gödel, Escher, Elisp: The Beauty of Macros
Another approach, using macro expansion to perform the type checking: https://docs.racket-lang.org/turnstile/

Turnstile relies on the fact that in Racket, you can have identifier macros [1] which can be expanded in pretty much any location (except binding, naturally). Racket is unique in this regard. Clojure has a mechanism to get roughly the same thing, but it's complicated. [2]

1: https://docs.racket-lang.org/guide/pattern-macros.html#%28pa...

2: https://lambdaland.org/files/2024_ecoop_type_tailoring.pdf

ashton314··on Tracking down the 16-year-old WAL-reset SQLite bug
> exhaustively cover a search space

This is the gotcha: in stateful environments you'll have state-space explosion so big you'll have to come up with some compromising measure of "equivalent". You're right that that would constitute a proof by exhaustion of correctness. Unfortunately in practice it's entirely impractical.

ashton314··on Towards Bottom-Up Enumeration in miniKanren via Pruning and Memoization
You're right—I did mean microKanren. Thanks for the correction.
ashton314··on Choral: Choreographic Programming for Java
Hey Dan, nice to run into you on the internet. How are you? :)

For those curious, there are a lot of neat ways to implement choreographic programming! Choral uses a custom compiler which gives it very powerful analysis techniques. Some are libraries and have to rely more strongly on host language features to work. My library uses macros to embed the language directly into Elixir which gets you a bit of the advantages of both: https://github.com/utahplt/chorex

ashton314··on I made tinnitus my friend, then it disappeared [video]
If you do not already use MyNoise to help you focus at work, then, like, what are you even doing? Sometimes I'll listen to music of various kinds if my work isn't too deep, but whenever I need to concentrate deeply on a problem, MyNoise will have the perfect noise blocker. Go explore the site. It's a lovely little corner of the "classic" internet: no ads, no shenanigans, just this one dude making a technical masterpiece that you can enjoy.
ashton314··on Writing with AI Is Stupid
You'll like Brandon Sanderson's keynote talk: https://www.brandonsanderson.com/blogs/blog/ai-art-brandon-s...

Quote:

You might say, “Well, if AI gets good enough and the product is the same, what’s the difference?” The difference is that the books aren’t the product. They aren’t the art--not completely. And this is the point. The most important thing to understand is that the process of creating art makes art of you.

My friends, let me repeat that. The book, the painting, the film script is not the only art. It’s important, but in a way it’s a receipt. It’s a diploma. The book you write, the painting you create, the music you compose is important and artistic, but it’s also a mark of proof that you have done the work to learn.

Because in the end of it all, you are the art.

Page 1 of 34Next →