I made Zig compute 33M satellite positions in 3 seconds
Update: I've since added multithreading and pushed astroz to 326M propagations/sec. Read the follow-up → I've spent the past month optimizing SGP4 propagat...
Topics /
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
Update: I've since added multithreading and pushed astroz to 326M propagations/sec. Read the follow-up → I've spent the past month optimizing SGP4 propagat...
I’m adding immutable vectors to my language, Ivan, and needed to pick a suitable data structure to implement them. Clojure uses Persistent Vectors (PVs) which support lookups, updates, and appends all in ‘effectively’ constant time. However, it doesn’t have efficient insert or merge operations. Relaxed Radix Balanced…
Righty-ho, I’m back from Rust Nation, and busily horrifying my teenage daughter with my (admittedly atrocious) attempts at doing an English accent 1 . It was a great trip with a lot of good conversations and some interesting observations. I am going to try to blog about some of them, starting with some thoughts…
When I was working on my research for my Masters degree I promised myself that I would publish my paper online under a free license, as soon...
davidamos.dev is your first and best source for information about davidamos. Here you will also find topics relating to issues of general interest. We hope you find what you are looking for!
While I won’t go so far as to diagnose myself with ADD without consulting a doctor, those who know me know I can be distracted quite easily. So recently, I decided to do something a little different with a personal project I started a few weeks ago (link to come). I wrote unit tests. That may seem rather uninspired…
Deploy Go apps as single static binaries with systemd. No Docker, no npm, zero-downtime via socket activation. Modern complexity is often unnecessary.
Zeke: "Wait, so with generational references, we now have four ways to do memory safety?"
Monads have exerted a curious fascination on programmers who turn to Haskell. The incomprehension of the newbies is matched in intensity onl...
In December of 1979 Tyrgve Reenskaug, an employee of Xerox PARC, published a paper called MODELS-VIEWS-CONTROLLERS about a design pattern he had invented for developing applications with a graphica…
Recently, 37signals unveiled mrsk , a tool developed internally to ease with deployments of their services and an accompanying blog post which sparked a lengthy discussion on Hacker News .
Java 17 introduced sealed classes, which allow you to explicitly list the allowed sub-types of an interface or base class. For example, here’s a toy example using a sealed interface and records (in…
My friend Clift Norris has identified a fundamental constant that I call Norris’ number, the average amount of code an untrained programmer can write before he or she hits a wall. Clift estimates this as 1,500 lines. Beyond that the code becomes so tangled that the author cannot debug or modify it without herculean…
Ape coding is the software development practice where a human developer deliberately hand-writes source code.
A practical workflow for running 4–8 parallel coding agents using Claude Code, tmux, and a Markdown-based feature design system.
This post is for programmers coming to Go who are unfamiliar with the idea of pointers or a pointer type in Go.
Edit: Contrary to what I said here, José Valim is not stepping down from Rails core, he is merely on sabbatical. My bad. Lately I've been ...
This post is by Phil Price, not Andrew. I’ve had a run of luck ever since I left my staff scientist position at Lawrence Berkeley Laboratory to become a freelance consultant doing statistical modeling and forecasting, mostly related to electricity consumption and prices: just as I finished a contract, another one…
I've worked with a number of clients on Elixir projects and I've onboarded myself, I've been onboarded and I've onboarded others. And compared to my experiences with PHP/Python/Javascript and my limited experience with C#/.Net I have experienced quite a difference.
Perhaps the greatest surprise of the last two years was, for me, the realization that people not only care about compiling C to Rust (for obvious reasons, such as, ahem, memory safety) – they also care about compiling Rust to C! Wait, what?
You bump into DORA in the wild a lot.
A fun, endearing, delightful pile of lies.
What are we even doing here??
The Embedded Design principle, Jimmy Koppel's favorite principle for code quality, shown via caching code that looks fine but invites bugs.
Whether you write compilers, web services or Django admin panels, you probably use hash maps more than all other data structures combined. In fact, you may not remember the last time you used anything else. This is not a coincidence: any conceivable data structure can be implemented with a hash map; therefore, there…