New
The latest blog posts to take off on Hacker News. 21,828 posts.
Open Source OpenGL ES 3.1 on Mali GPUs with Panfrost
Panfrost, the open source driver for Arm Mali, now supports OpenGL ES 3.1 on both Midgard (Mali T760 and newer) and Bifrost (Mali G31, G52, G72) GPUs,
Cuda.jl v3.3: union types, debug info, graph APIs
There have been several releases of CUDA.jl in the past couple of months, with many bugfixes and many exciting new features to improve GPU programming in Julia: CuArray now supports isbits Unions, CUDA.jl can emit debug info for use with NVIDIA tools, and changes to the compiler make it even easier to use the latest…
Rust 1.x seems to not always be backward compatible in practice
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Git for Computer Scientists (2010)
Quick introduction to git internals for people who are not scared by words like Directed Acyclic Graph .
Practical Reed-Solomon for Programmers
Recently I was doing some work decoding the new Galileo High Accuracy Service data. In short, this new service will allow Galileo (“European GPS”) users to achieve decimeter-level accuracy, which is nice. This “HAS” data is transmitted highly redundantly by making good use of Reed-Solomon encoding. To work with this…
The Enterprise Eats Software
Just now, Avdi had a miserable experience buying curtains. He went to pick up an order that he placed last night, but Lowe’s didn’t have it. The order was sent to the wrong store and it…
Asynchronous Everything (2015)
Joe Duffy's Blog | Adventures in the high-tech underbelly
My first Z80 assembly language program
I was 9 years old. A revision of the notebook containing my first Z80 assembly language program
SSH quoting
A while back there was a thread on one of our company mailing lists about SSH quoting, and I posted a long answer to it. Since then a few people have asked me questions that caused me to reach for it, so I thought it might be helpful if I …
Do you really need Redis? How to get away with just PostgreSQL
It's a common architecture to have PostgreSQL and Redis serve as the backbone of your app, but PostgreSQL may be capable of everything you use Redis for.
How to average floating point numbers (2015)
When it comes to accuracy, how you add a series of arbitrary values together, and average them still matters.
Using aligned word vectors for instant translations with Python and Rust
How to use aligned word vectors from fastText to translate words from one language to another instantly.
Good and Bad Elixir
Words from Chris Keathley
I wrote a linker everyone can understand
When we wrote our assembler we made many design choices that helped us cut down on the complexity of the assembler itself. One of those decisions was to have the assembler directly output executables. That was a good choice in that it allowed us to quickly test as we were developing: once we implemented an opcode, we…
What the Fastly outage can teach us about writing error messages
As developers, we can *definitely* do better than 'Error 503 Service Unavailable' when it comes to error messages. This article shows you how.
Introducing chrome.scripting
The Scripting API is a new Manifest V3 API focused on, well, scripting. Let's dig into the motivations for this change and how it's different.
Real-world CSS vs. CSS-in-JS performance comparison
I took the real app and convert it from Styled Components to Linaria to compare the app performance of CSS-in-JS and normal CSS. Continue reading if you want to know how it went.
The Plan for React 18
The library for web and native user interfaces
Engineering a Chess Match
This is the story of me trying to win a game of chess against my brother. A single freaking game. What’s so special about it? Am I good at chess? Not at all. Did I improve at my game in the process? Also no. Is it a story about “the journey rather than the destination”? Not really. Did I at least have fun in the…
The pedantic checklist for changing your data model in a web application
Let's say you have a web app with some database. In your database you have an Invoice model, where you store things you are charging your customers.
Design Issues in LLVM IR
On the whole, LLVM has a well-designed intermediate representation (IR), which is specified in the language reference . However, there are a number of areas where design mistakes have been made. And while the LLVM project is generally open to addressing such issues, mistakes in core IR design tend to be firmly…
A Random Walk Through Git
This tutorial is an in-depth look at how Git works, performing a lot of sometimes unusual steps to walk through interesting details. You will have to pay attention closely, or you will get lost on the way. But do not despair; you can run this tutorial on your computer, at the speed you want, skip to any step you want…
Abstract Syntax Tree for Patching Code and Assessing Code Quality
Abstract Syntax Tree is an extremely useful tool. It provides a tree representation of a source code, that can be traversed to parse the code while understanding the code’s language constructs. In this article, we explain how we have used ASTs to write IntelliPatch scripts that can...
Clever vs. Insightful Code
“Don’t write clever code.” Why not? “Because it’s hard to understand.” People who say this think of clever code such as Duff’s Device: Duff's Device send(to, from, count) registershort*to, *from; registercount; { registern =(count +7) /8; switch(count %8) { case0: do{ *to =*from++; case7: *to =*from++; case6: *to…
Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
After finishing up the macOS M1 article the blog staff took a little break. Then they saw the date. Upon looking at the actual changelog, however, something became readily apparent: this wasn't going to be just a progress report; this was going to be a MEGA Progress Report. The long rumored time era of developers…
The case for continuous documentation
John Doe's personal website