New
The latest blog posts to take off on Hacker News. 21,826 posts.
Lisp in Space
Have you ever had a unique approach to a problem and been excited to use it, but you're met with skepticism? Today's story: what happens if you take someone who's passionate about LISP and put them in an organization where that's just not how they write software. Today's story is about getting LISP into space. The…
Use fast data algorithms (2021)
As an engineer who primarily works with data and databases I spend a lot of time moving data around, hashing it, compressing it, decompressing it and generally trying to shovel it between VMs and blob stores over TLS. I am constantly surprised by how many systems only support slow, inefficient, and expensive ways of…
Racket v8.5
Racket version 8.5 is now available from https://download.racket-lang.org. As of this release: Racket's new `-y` flag automatically keeps compiled files up to date, reducing subsequent load times. Error-message realms allow Racket-hosted langua...
Twelve-factor app anno 2022
The Twelve-factor app methodology turns 10. This blog posts re-evaluates the original factors against a decade of experience with software-as-a-service development and the maturing of serverless development.
New from Anaconda: Python in the Browser
pyscript.net Supporting open source and creating tools that enable people to do more with less are why I joined Anaconda almost eight years ago. Today,…
Removing characters from strings faster with AVX-512
In software, it is a common problem to want to remove specific characters from a string. To make the problem precise, let us consider the removal of all ASCII control characters and spaces. In practice, it means the removal of all byte values smaller or equal than 32. I covered a related problem before, the … Continue…
New C++ features in GCC 12
Version 12 of GCC implements much of the recent C++ standard, allows a number of previously prohibited constructs, and fixes some problematic behaviors.
Why isn’t there a decent file format for tabular data?
Tabular data is everywhere. I support reading and writing tabular data in various formats in all 3 of my software application. It is an important part of my data transformation software. But all th…
Rust from 0 to 80% for JavaScript Developers
Learn Rust to 80% in 5 minutes by leveraging your existing JavaScript knowledge. In this article, I list a number of differences Rust has compared to JS that is crucial to understanding it.
What I wish I knew when learning OCaml (2018)
This is a poorly structured list of common questions and answers about OCaml I had to ask myself or have been asked often.
What was wrong with SML?
From the highly eclectic blog of Mark Dominus
Distributed Systems Shibboleths
Shibboleths are historically a word or phrasing that indicate membership in a particular group or culture. I was introduced to the term in the West Wing where the President needed to verify the veracity of a person’s claims of religious persecution.
Experience Report: 6 months of Go
A report of my positive and negative experiences with Go after using it for 6 months at work.
A Rust match made in hell
I often write pieces that showcase how well Rust can work for you, and how it can let you build powerful abstractions, and prevents you from making a bunch of mistakes. If you read something like S...
Best practices for optimizing Lambda functions
Learn how to get the most out of your serverless functions
Zaplib post-mortem
Welp, this is a weird blog post! Very unexpectedly, we quickly invalidated some of the core hypothesis that make Zaplib work as a startup.
PipeWire: Bluetooth Support Status Update
Over the last two years, Bluetooth® audio support has steadily grown in PipeWire. Here's a look at where things stand.
Why train when you can optimize?
Multi-variable optimization is an incredibly useful tool for writing software. It allows you to specify a desired result and delegate finding the solution to a reliable algorithm. If you know what you want but not how to get it, optimization can probably help. Problems with many interacting variables that are…
Lies we tell ourselves to keep using Golang
In the two years since I’ve posted I want off Mr Golang’s Wild Ride, it’s made the rounds time and time again, on Reddit, on Lobste.rs, on HackerNews, and elsewhere. And every time, it elicits the ...
You Should Compile Your Python and Here’s Why
write Python that’s faster than C by optimizing your code, adding standard type annotations, and using Mypyc.
Crafting Interpreters
We’ll spend the rest of this book illuminating every dark and sundry corner of the Lox language, but it seems cruel to have you immediately start grinding out code for the interpreter without at least a glimpse of what we’re going to end up with.
Tackling multiple tasks with a single visual language model
We introduce Flamingo, a single visual language model (VLM) that sets a new state of the art in few-shot learning on a wide range of open-ended multimodal tasks.
I want off Mr. Golang’s Wild Ride (2020)
My honeymoon with the Go language is extremely over. This article is going to have a different tone from what I’ve been posting the past year - it’s a proper rant. And I always feel bad writing tho...