Structured Editing and Incremental Parsing
As someone who has from time to time written on parsing, and even published some parsing research , I get asked questions about parsing fairly regularly, some of which I’m even capable of answering.
The latest blog posts to take off on Hacker News. 14,540 posts.
As someone who has from time to time written on parsing, and even published some parsing research , I get asked questions about parsing fairly regularly, some of which I’m even capable of answering.
C-Reduce is a tool by Regehr and friends for minimizing C compiler bug reproducers. Imagine if you had a 10,000 line long C file that triggered a Clang bug. You don’t want to send a massive blob to the compiler developers because that’s unhelpful, but you also don’t want to cut it down to size by hand. The good news…
Follow me on Bluesky! A Log-Structured Merge tree, or LSM, is a popular data structure for storage engines. It’s what is used by RocksDB, which is sort of...
A post by Eshel Yaron with details and advice about a long standing arbitrary code execution vulnerability in Emacs
Inspired by Jack Wrenn’s post on Undroppable Types in Rust, I set out to see if it’s possible to create types that must be used exactly once. From my understanding, those things are called linear types, but don’t quote me on that1. Unless you are quoting the title of this article which explicitly says linear types… I…
Yes I know I'm technically on vacation but if I go too long without writing I die from a witch's curse and I don't want to work on longform projects For...
Update 2024-12-02 : There was a lively discussion about the post on Hacker News you might also find interesting: link to thread.
I wrote a book. It’s called Janet for Mortals, and it’s free, and it’s on the internet, and you can read it right now. And you should read it right now, instead of reading this blog post, because this blog post is not very interesting if you haven’t read the book. Heck, this blog post is not very interesting even if…
Unleash your creativity with the full power and Python, without the hassle of learning a new templating language or dealing with its limitations!
Dmitrii Kovanikov writes posts about enterprise software development and functional programming, both entertaining and serious. I never used a functional programming language (such as Haskell or OCaml) at work, but several ideas from functional programming have become popular in mainstream general-purpose programming…
Why are database DELETEs complex and inefficient? Uncover challenges from physical data removal to autovacuum, and find strategies for managing large deletions.
This may be overkill, but it works on my machine
Date: March 7, 2111
As software engineers, we're constantly making detailed, elaborate plans for computers to execute. Isn't it weird that we rarely give a moment's thought to the program for our own careers?
Mac's Tech Blog
Print good, not bad!
This blog post is meant to an iteration on the tutorial and introduction to garbage collection implementation presented in this classic blog post . We are still working with simple garbage collectors, but this time another one with a bit more complexity.
Writing an interpreter for a custom bytecode opens the door for rendering interactive custom Winamp skins in the browser
Whether you have to do with data in the form of CSV, JSON or a full-blooded programming language like C, JavaScript, Scala, or maybe a query language like SQL, you always transform some sequence of characters (or binary values) into a structured representation. Whatever you’ll do with that representation depends on…
I ran across two surprising sources of code execution in bash (and probably other shells) recently.
Low level software usually has lots of .cc or .rs files. Even lower-level software, like your cryptography library, probably has .S containing assembly, my least favorite language for code review.
Update : I forgot that I did a brief analysis on this many years ago, using ROT13 as example.
Occurrence of Hyrum's law in Golang
This is a really neat pattern. Start your Python script like this: #!/usr/bin/env -S uv run # /// script # requires-python = ">=3.12" # dependencies = [ # "flask==3.*", # …
Using a full-featured RPC framework for IPC seems like overkill when the processes run on the same machine. However, if your project anyway exposes RPCs for public APIs or would benefit from a schema-based serialisation layer it makes sense to use only one tool that combines these—also for IPC. Microservices for…
I meant to write about this when I started my blog in 2009. Eventually Lush kind of faded out of my consciousness, as it was a lot easier to get work doing stuff in R or Matlab or whatever. The guy…
BM25 is a widely used algorithm for full text search. I wanted to understand how it works, so here is my attempt at understanding by re-explaining.
Hacker News comments Reddit comments
One of the Erlang ecosystem's spiciest nerd snipes are hot code updates. Because it can do it. In ways that almost no other runtime can. I use Elixir which builds on Erlang and has the same capabilities.