New
The latest blog posts to take off on Hacker News. 14,540 posts.
Java in the Small
Java has many features that make it well suited for large, long-lasting projects. But I find it surprisingly good for small tasks as well. Recent language features make it even better. The killer features are compile-time typing and great tool support.
Formally Modeling Dreidel, the Sequel
2 model 2 dreidel
How concurrency works: A visual guide
Welcome to Waqas' blog
Lou's Pseudo 3D Page (2013)
Previous update: An explanation of 3d projection mathematics (under Road Basics) and analysis of Activision's Enduro (under Case Studies)! Thanks to everyone for all the e-mail! Keep it coming :) Sorry, I can't answer questions about when I'll post source code, but I'm always happy to answer anything else about these…
How we centralized and structured error handling in Golang
Handling errors in Go is simple and flexible – yet no structure! It’s supposed to be simple, right? Just return an error , wrapped with a message, and move on. Well, that simplicity quickly turns into chaotic as our codebase grows with more packages, more developers, and more “quick fixes” that stay there forever…
Optimizing Ruby's JSON, Part 1
I was recently made maintainer of the json gem, and aside from fixing some old bugs, I focused quite a bit on its performance, so that it is now the fastest JSON parser and generator for Ruby on most benchmarks.
Crunch – a Scheme compiler with a minimal runtime
Hi, I'm Peter Bex, a Scheme and free software enthusiast from the Netherlands. See my user page on the CHICKEN wiki or my git server for some of my projects.
Advent of Code on the Nintendo DS
Solving AoC on the DS with Rust.
Droste’s Lair
A swords-and-sorcery programming environment for building and counting mathematical structures
Using Drop for safety in Rust
A deep dive into Rust’s vec::Drain and its Drop implementation as an example of how ownership prevents subtle bugs—memory and otherwise!
XFCE 4.20 Released
After almost two years of work, we are happy to announce the release of Xfce 4.20.
In-Depth Ruby Concurrency: Navigating the Ruby Concurrency Landscape
I was honored to present a talk on Ruby concurrency at RubyConf 2024. It represents a high-level distillation of much of my writing and research over the past year. The conference itself was great, and presenting was such a fun experience. Here is the talk, titled “In-Depth Ruby Concurrency: Navigating the Ruby…
Should you ditch Spark for DuckDB or Polars?
There’s been a lot of excitement lately about single-machine compute engines like DuckDB and Polars. With the recent release of pure Python Notebooks in Microsoft Fabric, the excitement about these lightweight native engines has risen to a new high. Out with Spark and in with the new and cool animal-themed engines— is…
Preferring throwaway code over design docs
If you have discipline to throw away your first idea, draft, throwaway PRs often drives more progress than a design doc.
A quick look at OS/2's builtin virtualization
A while ago, someone on the fediverse mentioned "OS/2's virtualization features" to me. I don't remember who it was, sorry. I had the chance to take a look at this today.
Garbage collected smart pointers in Rust via concurrent cycle collection
Scheme to the Spec is a series on the more complex, often overlooked aspects of programming language implementation.
My PhD advisor rewrote himself in bash (2010)
The point of these scripts is not to ban all use of constructs like the passive voice. (When it comes to writing, there are exceptions to every "rule.")
Elixir/Erlang Hot Swapping Code (2016)
Hot code reloading with Elixir and Erlang
CADing and 3D printing like a software engineer
Fang-Pen Lin's blog about programming
A ChatGPT clone, in 3000 bytes of C, backed by GPT-2 (2023)
This program is a dependency-free implementation of GPT-2, including byte-pair encoding and transformer inference, in ~3000 bytes of C. I then use this to create something like Chat GPT.
Django and Postgres for the Busy Rails Developer
About 10 years ago I wrote a post PostgreSQL for the Busy MySQL Developer, as part of switching from MySQL to Postgres for my personal and professional projects wherever I could.
Common misconceptions about compilers
A curated list of misconceptions about mainstream compilers.
Storing Times for Human Events
I’ve worked on various event websites in the past, and one of the unintuitively difficult problems that inevitably comes up is the best way to store the time that an …
The Need to Grind Concrete Examples Before Jumping Up a Level of Abstraction
If you go directly to the most abstract ideas then you’re basically like a kid who reads a book of famous quotes about life and thinks they understand everything about life by way of those quotes.