Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 14,540 posts.

Any year
7233

Migration from Postgres to Datomic

Recently, I migrated my Clojure-driven pet project from PostgreSQL to Datomic. This is Queryfeed , a web application to fetch data from social networks. I’ve been running it for several years considering it as a playground for some experiments. Long ago, it was written in Python, then I ported it to Clojure.

7238

Event Sourcing (2017)

I recently became intrigued by the concept of event sourcing as applied to back-end architecture, specifically a microservice-oriented approach. I have spent the last few years working predominantly on the front-end, and became enamored by the simplicity and elegance of this pattern as the backbone of front-end…

7239

Computers Can Be Understood

Computers and computer systems are build up from deterministic, comprehensible, building blocks. Their operations and behaviors can be understood and reasoned about. I relate my personal beliefs and mindset on this point, and explore some manifestations and ramifications of this philosophy.

7240

Writing a tiny undo/redo stack in JavaScript

I’ve needed this before - a couple of times. Third time I figured I needed something small, nimble - yet complete. And - at the same time - wondering about how to do it in a very simple manner. I think it worked out great, so let’s dig in. Most UIs will have some form of undo functionality. Now, there are generally…

7250

Buffers on the Edge: Python and Rust

One of my least favorite kinds of bug is when two different systems are interacting and the result has bad behavior but it’s difficult to say which (if either!) system is at fault. This is one of those stories, about Python’s buffer protocol and Rust’s memory model.

7251

It’s Time for a Modern Synthesis Kernel

I had a student (Fred Smith) who worked on extensions to Popcorn (the predecessor to Cyclone) that supported run-time code generation in a lightweight fashion. Here’s a paper describing part of the system: https://ecommons.cornell.edu/handle/1813/5812 . Fred’s thesis had a bunch more.

7257

Writing a Memory Allocator (2019)

Video lectureMutator, Allocator, CollectorMemory blockAllocator interfaceMemory alignmentMemory mappingFreeing the objectsBlocks reuseFirst-fit searchAssignmentsNext-fit searchBest-fit searchBlocks splittingBlocks coalescingExplicit Free-listSegregated-list searchOptimizing the storageCustom sbrkConclusion This is the…

7258

Signals, the push-pull based algorithm

We have been using Signals in production for years via several modern front-end frameworks like Solid, Vue, and others, but few of us are able to explain how they work internally. I wanted to dig into it, especially diving deep into the push-pull based algorithm, the core mechanism behind their reactivity.