Aram Hăvărneanu
@aramh
Mathematical engineer bringing type safety to the cloud. Previously worked on CUE @cue_lang. JSR PC, @(R6)+; I wrote the arm64, sparc64, and Solaris Go ports.
Understanding means understanding the duality between the concrete and the abstract.
Of course I make no promise about solving or even addressing any of your grievances, I am simply curious.
I am working on an article about a language I'm developing. I am curious—what do you feel is inadequate about your programming experience today? It can be anything, from very concrete things like language features to the more abstract like failure to scale and deliver value, or…
I am working on an article about a language I'm developing. I am curious—what do you feel is inadequate about your programming experience today? It can be anything, from very concrete things like language features to the more abstract like failure to scale and deliver value, or…
I'm looking for intelligent critiques of Rust (not dumb statements like "borrow checker bad"). One complaint I have is that Cell/RefCell are types instead of modes. In other words that the horizon of mutability is static instead of dynamic. It's possible to go from a mutable…
Dark mode is bad, but if you must, dark mode during the day and light mode during the night is the way to go. People are doing it wrong again. And so are automatic systems that switch between the two.
Acme. Types, Denotational semantics, PLT. Light mode. Small programs. Open protocols and standards. Free speech. Mouse based user interfaces. Not using AI to think for you.
Things I like and somewhat advocate for: - Linux, Emacs, Nyxt browser - Rust, Scheme, Common Lisp - HTMX, Coalton - FP, Metaprogramming, PLT - Split keyboards - Tinkering and having fun with computers - Not using AI to think/post for you you?
When some piece of software promises "automation" I close the browser window. I want things which are easy to understand and simple to operate. Then automation becomes trivial.
I am so dissatisfied that they stole the term "vibe coding" from me. When I am in the flow, I'm absolutely vibe coding. Except now I can't use the term due to it now meaning LLM slop.
The word spacing of italic text on this site is broken and it's driving me insane. How can they not fix this.
They developed Homebrew without LLMs. Imagine the blast radius of what they can do with vibe coding these days.
I didn't think there could be worse package management than Quicklisp, yet here we are. Which retard thought it would be a good idea to always upgrade everything?
Absence of AI is now a noteworthy feature that one can use to market products and services.
You wrote some pretty complicated piece of code. After a lot of tinkering and after a lot of thinking it finally works. The thinking part—what you think about—is a type.
new post! it's called "computational tyranny" it's an extension of a thread I posed here, trying to point at a common thread between a couple of problems I was thinking about recently give it a read! linked below
In Ada type constructors can take value parameters, and sometimes they become part of the type (kind of like dependent types, but not really). In fact this is how they implement sum types (it's really like a dependent type construction here, but in other cases it isn't AFAICT).
You want to avoid garbage collection because you think it is slow (it isn't). I want to avoid garbage collection because I don't know how to implement a world-class garbage collector. And I don't have time to learn. We are not the same.
Rust is (roughly) intuitionistic linear logic with a few extra modalities. But what is needed is classical linear logic.
Linear logic is simultaneously high level and low level. Which is why it's a good foundation for a programming language.