Notes on BPF and eBPF
Notes on BPF & eBPF
Topics /
The most popular blog posts about software engineering on Hacker News. 21,830 posts.
Notes on BPF & eBPF
8 April 2019 by Phillip Johnston • Last updated 22 August 2022For most programmers, a C or C++ program’s life begins at the main function. They are blissfully unaware of the hidden steps that happen between invoking a program and executing main. Depending on the program and the compiler, there are all kinds of…
Let’s explore some basic concepts that will help us create a simple chess AI:
SQLite's optimizer creates indexes automatically to improve query performance with only nested loop joins.
This is a followup to my previous post on the stack monoid, but is intended to be self-contained.
In the previous posts, we've explored the SQLite file format and built a simple SQL parser. It's time to put these pieces together and implement a query…
How does git store different versions of a file? What about a commit? Find out creating your own commit without the help of git.
Personal experience with moving away from Apple's world.
Machine code isn't scary. If you can make sure your JSON conforms to a JSON schema, you can write machine code.
Four years ago today, the Rust async/await feature was released in version 1.39.0. The announcement post says that “this work has been a long time in development – the key ideas for zero-cost futures, for example, were first proposed by Aaron Turon and Alex Crichton in 2016”. It’s now been longer since the release of…
In order to get the most performant site possible when building the codebase for our public Stack Overflow site, we didn’t always follow best practices.
Go is one of my favorite programming languages, but it is still far from perfect.
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…
We think we do, but in fact every web developer will happily sacrifice simplicity to the first shiny thing promising them relief from the mildest of ailments.
An opportunity for more opinionated defaults
Composer is our new agent model designed for software engineering intelligence and speed.
In a blog post last year, I took a look at lossy image formats and how they stack up. This time, I thought it might be interesting to do a comparison of lossless image formats.
Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS ). Thanks to Anton Fonarev for link aggregation.
Today is TypeScript's birthday! But this birthday is a special one - 10 years ago today, on October 1st, 2012, TypeScript was unveiled publicly for the
I’ve had the pleasure of having had to analyse multi-gigabyte JSON dumps in a project context recently. JSON itself is actually a rather pleasant format to consume, as it’s human-readable and there is a lot of tooling available for it. JQ allows expressing sophisticated processing steps in a single command line, and…
Have you ever had this happen to you? You start a program and then interrupt it with Ctrl-C, and Bash prints its prompt after the ^C you have typed:
I've looked back at the end of every software project I've ever been on and thought, "If I'd known then what I know now, I'd have been done in half the time." Despite this, I've never thought carefully about exactly where all the time went and why so much of it felt wasted.
Reasons why bugs might feel "impossible"