The Applesoft Compiler (TASC): We have the source code, in a sense
The desperation of programming under tight memory constraints.
Topics /
The most popular blog posts about software engineering on Hacker News. 1,551 posts.
The desperation of programming under tight memory constraints.
For the past several weeks, I've been trying to fix a cranky spec in Karafka integrations suite, which in the end, lead me to become a Ruby on Rails micro-contributor and submitting similar fix to several other high-popularity projects from the Ruby ecosystem. Here's my story of trying to make sense of my specs and […]
Famously, engineers tend to make wrong assumptions about a lot of things: Names and time are two well-known examples. Maps are a rich source of edge cases. Especially when you start dealing with gl…
Chad Nauseam Home
A look at three relics of a not-quite-bygone era. In picture-listicle form.
Difference between strings and symbols in Ruby
A new top-level syntax for programming languages is proposed to show advantages of this method. New syntax is arguably as simple, but more consistent, better preserves visual structure and solves some issues in code formatting.
TLA+ Workshop Last Call The TLA+ workshop is next week! Oct 20-22, register here, use the code COMPUTRONSTUFF for $500 off. Learn how a few hours of...
As the popular saying goes, there are only two hard problems in computer science: caching, off-by-one errors, and getting a Rust job that isn’t cryptocurrency-related. Today, we’ll discuss caching!...
A journey in building an ARM CPU from scratch in a digital circuit simulator, and running Rust on it to interpret Scheme and serve Web pages.
A technical dive into traditional TCP proxying over HTTP
Will the programmers of tomorrow be shipping products written without touching too much code?
Will ML code generation like GitHub Copilot replace coding by hand? We say no: developers still maintain generated code, so abstraction matters.
A while ago there was an interesting thread on the Julia Discourse about the “state of machine learning in Julia”. I posted a response discussing the differences between Julia and Python (both JAX and PyTorch), and it seemed to be really well received! Since then this topic seems to keep coming up, so I thought I’d…
Introduce new interfaces to represent collections with a defined encounter order. Each such collection has a well-defined first element, second element, and so forth, up to the last element. It also provides uniform APIs for accessing its first and last elements, and for processing its elements in reverse order.
Haphazard investigations
There’s an inspection called “Code contains easter egg” that comes with Android Studio. This one:
Let's build a simple state machine in Ruby and use the state machines gem.
An interesting question came up on the postgresql IRC channel about how to use native PostgreSQL features to handle some sort of queuing behavior. While the specific usage was related to handling serialization of specific events to some external broker, the specifics are less important than the overall structure.
In this post, we analyze a malicious PyPI package attempting to backdoor FastAPI applications.
Here we go again! Another one of these, and promise, you will be questioning my sanity after this...
Welp, this is a weird blog post! Very unexpectedly, we quickly invalidated some of the core hypothesis that make Zaplib work as a startup.
We illustrate how we implemented UTF-8 support in alfred-margaret and give some insights into how we optimized our Haskell code for performance.
A public service announcement about the dangers of utcnow and utcfromtimestamp and the benefits of using their replacements.
I’ve seen a lot of misconceptions around what the unsafe keyword means for the utility and validity of Rust and its marketing as a “safe systems language”. The truth is a lot more complicated than a single pithy tweet can possibly sum up, unfortunately; here it is as I see it.
“A Modest Proposal For Preventing The Children of Rust Developers From Being Exposed To Procedural Macros”
A post-modern modal text editor.
When I wrote the introductory article for libjit , I aimed it at programmers who know what JITs are, at least to some extent. I did mention what a JIT is, but only very briefly. The purpose of this article is to provide a better introductory overview of JITing, with code samples that don't rely on any libraries.