Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,844 posts.
Grouping digits in SQL
PostgreSQL 16 was released last week. This is the story of a feature.
An empirical study on the correctness of formally verified distributed systems
An empirical study on the correctness of formally verified distributed systems Fonseca et al., EuroSys’17 “Is your distributed system bug free?” “I formally verified it!R…
Implementing join planning in our open source Golang SQL query engine
Blog for DoltHub, a website hosting databases made with Dolt, an open-source version-controlled SQL database with Git-like semantics.
Teaching rigorous distributed systems with efficient model checking
Teaching rigorous distributed systems with efficient model checking Michael et al., EuroSys’19 On the surface you might think today’s paper selection an odd pick. It describes the labs enviro…
Linux/ELF .eh_frame from the bottom up
Given the current register state for a thread, and read-only access to memory, what would the register state hypothetically become if the current function was to immediately return and execution was to resume in its caller?
When eBPF pt_regs reads return garbage on the latest Linux kernels, blame Fred
TLDR; Starting from Linux kernel version 6.9 on x86_64, there’s a new config option CONFIG_X86_FRED enabled and it adds 16 bytes to the starting point of a task’s kernel stack area, so you’ll need to account for this extra padding in your “raw” kernel stack & pt_regs lookup code. Update: It turns out that there’s a…
An upgrade to attoparsec, Haskell parsing library: more speed, more power
I’m pleased to introduce the third generation of my attoparsec parsing library. With a major change to its internals, it is both faster and more powerful than previous versions, while remaining backwards compatible. Comparing to C Let’s start with a speed comparison between the hand-written C code that powers…
Deep Learning on the GPU in Clojure from Scratch: Sharing Memory
Sharing and reusing memory buffers is inescapable if we want high performance. It is a sharp but powerful tool.
Cryptanalysis of Meow Hash
The creators of Meow hash made security claims; we break them all.
Django 1.5.1 released
Posted by Jacob Kaplan-Moss on March 28, 2013
Curl 25 Years Online Celebration
curl turns 25 years old and what better way to celebrate this than to join fellow curl friends, developers and fans online on the exact birthday? At 17:00 UTC March 20, 2023. We run an Online birthday party open for everyone to join. Consider muting yourself when you join, but feel encouraged to leave the … Continue…
Wordlexpr: Compile-Time Wordle in C++20
Not participating in the hype around Wordle seemed wrong, and what better way to do it than to create it cleanly at compile time in C++20? Introducing Wordlexpr!
Emit
One of the interesting aspects of a concatenative language like Factor is that blocks of logic can be easily extracted and easily reused since they apply logic to objects on the stack .
Enforcing Modularity in Rails Apps with Packwerk
Packwerk is an open source static analysis tool used to enforce boundaries between groups of Ruby files we call packages.
Deep Learning Illustrated: Building Natural Language Processing Models
A hands-on guide to natural language processing with Keras. Covers word2vec, sentiment classification, CNNs, RNNs, and LSTMs using the IMDb dataset in Python.
Smooth Video Game Emulation in Emacs
I have a lengthy TODO.org of things I might eventually implement for Emacs, most of which are not exactly useful, are challenging to do or fulfill both conditions. A NES emulator fits all of these criteria neatly. I’ve kept hearing that they can run on poor hardware and learned that the graphics fit into a tiled model…
Comparing images in pure Ruby (and how Github's image diff works)
In this article, I’ll try to explain how an image diff could be built using pure Ruby and ChunkyPNG.
Why we picked Java
Picking a tech stack for your startup isn’t something to do lightly. It’s a choice that will shape the future in many ways: how will the tech enable your emerging product and business, what talent can you attract, and how future-proof is the tech stack?
Solving the Worst Problem in Programming Education: Windows
I've created a set of install scripts for Windows that helps people install many different programming languages using standard tools.