Deep code search
Deep code search Gu et al., ICSE’18 The problem with searching for code is that the query, e.g. “read an object from xml,” doesn’t look very much like the source code snippets tha…
Sadly, I must say goodbye to Leaf, my programming language
This is hard to write, or rather, it’s a hard decision to make. After investing many years on Leaf — a programming language, a major life project — I need to take a break from it. It’s no longer fulfilling my goals, and it’s not as fun as it once was. It’s interfering with my […]
The First 15 Years of PyPy – A Personal Retrospective
A few weeks ago I (=Carl Friedrich Bolz-Tereick) gave a keynote at ICOOOLPS in Amsterdam with the above title. I was very happy to have bee...
How to speed up the Rust compiler some more in 2018
I recently wrote about some work I’ve done to speed up the Rust compiler . Since then I’ve done some more.
Writing a C Compiler, Part 5
This is the fifth post in a series. Read part 1 here.
Code review review is the manager’s job
Code review is such a high value, high leverage team activity that every manager should ensure the process is done well.
Towards fearless SIMD
SIMD is a powerful performance technique, and is especially valuable in signal and image processing applications. I will be using it very extensively in my synthesizer, and also it’s increasingly used in xi-editor to optimize string comparisons and similar primitives.
Python Idioms in Rust
I’ve been going through a period of programming language wanderlust over the past couple months. Recently, I’ve been quite interested in Rust. Coming from Python, I’ve found a lot of Rust’s language features to be quite powerful.
Eclipse Vert.x goes Native
Vert.x | Reactive applications on the JVM
µUBSan: clean-room reimplementation of the Undefined Behavior Sanitizer runtime
Over the past month, I've implemented from scratch a clean-room version of the UBSan runtime. The initial motivation was the need of developing one for the purposes of catching undefined behavior reports (unspecified code semantics in a compiled executable) in the NetBSD kernel. However, since we need to write a new…
An Elm compiler for the Erlang Virtual Machine
I’ve been exploring the idea of an Elm compiler that produces assembly for the Erlang Virtual Machine. You can find the code for this project on GitHub . This essay documents some interesting parts of the project.
A practitioner’s guide to reading programming languages papers
Last week I jokingly said that POPL papers must pass an ‘intellectual intimidation’ threshold in order to be accepted. That’s not true of course, but it is the case that programming languages paper…
SPAs are harder and always will be (2013)
There's quite a lot of talk these days about Single Page Applications (SPAs) and the terrific user experience they deliver. This is great, and the SPA architecture is probably a good fit for many apps, but I want to point out two reasons why SPAs are harder to develop and maintain than tr
Learning Programming with Nim
Nim is a relatively new programming language which allows users to write easy-to-read high-performance code. But if you are reading this Nim tutorial, the chances are that you already know about Nim.
Rust Analyzer in 2018 and 2019
The rust-analyzer Project
Full-Text Search in Django with PostgreSQL
Article based on my talk about Full-text search in Django with PostgreSQL.
Announcing Flutter Release Preview 1
Community momentum builds on the path to release
JIT Compilation for Emacs Lisp
There have been a few efforts at writing an Emacs JIT — the original one , Burton Samograd’s , and also Nick LLoyd’s . So, what else to do except write my own?
Tools for Exploring .NET Internals
Whether you want to look at what your code is doing ‘under-the-hood’ or you’re trying to see what the ‘internals’ of the CLR look like, there is a whole range of tools that can help you out.