Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,834 posts.
To Nerves from Elixir
I adore Nerves. I recently joined the core team. And I'll be doing my best to help people get along with this lovely way to co-mingle hardware and massively concurrent reliable software.
SQLite 3.44: Interactive release notes
Order by in aggregates, better string concatenation, and thorough date formatting.
Programming with RISC-V Vector Instructions
Perhaps the most interesting part of the open RISC-V instruction set architecture (ISA) is the vector extension (RISC-V "V"). In contrast to the average single-instruction multipe-data (SIMD) instruction set, RISC-V vector instructions are vector length agnostic (VLA). Thus, a RISC-V "V" CPU is flexible in choosing a…
Examining PostgreSQL 9.4 – A first look
PostgreSQL is currently entering its final commit fest. While its still going, which means there could still be more great features to come, we can start to take a look at what you can expect from it now. This release seems to bring a lot of minor increments versus some bigger highlights of previous ones. At the same…
Clive OS: Go applications that can run without an operating system (2016)
Removing (most of) the software stack from the cloud Clive is an operating system designed to work in distributed and cloud computing environments. It’s main design guidelines are: Ther…
Lisp Badge: A single-board computer that you can program in uLisp
The Lisp Badge is a self-contained computer with its own display and keyboard, based on an ATmega1284, that you can program in uLisp:
Symbolica 2.0: Programmable Symbols for Python and Rust
Technical articles and release notes about Symbolica, symbolic computation, numerical methods, and high-performance computer algebra.
Implementing Forth in Go and C
I first ran into Forth about 20 years ago when reading a book about designing embedded hardware . The reason I got the book back then was to actually learn more about the HW aspects, so having skimmed the Forth chapter I just registered an "oh, this is neat" mental note and moved on with my life. Over the last two…
From ASCII to ASIC: Porting donut.c to a tiny slice of silicon
Implementing the famous donut.c animation in actual silicon using CORDIC and ray marching
Relational shell programming
Unix is a bestiary of ad hoc databases: comma-, colon-, tab- and space-separated tables. Think of /etc/* or /var/log/* , or of columnar commands.
How C array sizes become part of the binary interface of a library
We explain how C array sizes become part of the binary interface of a library and examine ways to avoid ABI compatibility issues.
Connecting to Google Sheets with Python
I wrote up my experience using Python to process data from a shared Google Sheets spreadsheet
Postgres indexes under the hood
Many software engineers use database indexes every day, but few of us really understand how they work. In this post I’ll explain: How indexing works in Postgres using B-Trees What B-Trees are Why they are a good fit for this problem Indexes in Postgres Postgres actually offers 4 different kinds of indexes for…
Reasoning with Types in Rust
Hi, I'm Ariel (she/her), a newly-minted member of the Swift team at Apple ! Previously, I helped lead the Luau team at Roblox where my efforts primarily focused on the design and implementation of Luau 's type system. I also led the creation of Lute to support using Luau both to build developer tooling, and as a…
Building AI Products–Part I: Back-End Architecture
In 2023, we launched an AI-powered Chief of Staff for engineering leaders—an assistant that unified information across team tools and tracked critical project developments. Within a year, we attrac...
Code coverage for Go integration tests
Code coverage for integration tests, available in Go 1.20.
Compiling a Lisp: Lambda lifting
first – previous
Playing with Vision Embeddings
Poking at the geometry of an image model's feature space.
Using the OS X 10.10 Hypervisor Framework: A Simple DOS Emulator
Since Version 10.10 (Yosemite), OS X contains Hypervisor.framework, which provides a thin user mode abstraction of the Intel VT features. It enables apps to use virtualization without the need of a kernel extension (KEXT) – which makes them compatible with the OS X App Store guidelines.
How to Write a New Git Protocol
I used to have trouble keeping track of my files. I often couldn’t remember whether I saved a file on my desktop, laptop, or phone, or if it was floating around in the cloud somewhere. Plus, with certain information, like passwords and bitcoin keys, I didn’t feel comfortable just sending that in an email to myself in…
How D3 Selections Work
In the past I have presented simplified descriptions of D3 ’s selections, providing only enough detail to get started. This article takes a more comprehensive approach; rather than saying how to use selections , I will explain how selections are implemented . This may take longer to read, but it should dispel any…
Rust's Ugly Syntax (2023)
People complain about Rust syntax. I think that most of the time when people think they have an issue with Rust's syntax, they actually object to Rust's semantics. In this slightly whimsical post, I'll try to disentangle the two.
Almost Always Unsigned
Almost Always Unsigned # Written by Dale Weiler Twitter GitHub Last updated Saturday, January 1, 2022 The need for signed integer arithmetic is often misplaced as most integers never represent negative values within a program. The indexing of arrays and iteration count of a loop reflects this concept as well. There…
JetBrains Fleet drops support for Kotlin Multiplatform
A couple of years ago, we initiated the idea of creating a Kotlin Multiplatform IDE to help facilitate the development of KMP applications. We embarked on this venture, building on the Fleet platform,