Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 21,834 posts.

Any year
11134

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…

11137

Fail2ban – Remote Code Execution

Securitum is a pure pentesting company specialising in the security of IT systems. We have experience in performing security audits (including penetration tests) - mainly for financial/e-commerce/industrial sectors. We have performed penetration tests and cyber security services for leading European banks (see…

11148

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.

11149

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.

11159

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…

11160

Racket v5.3.2

_posted by Eli Barzilay_ Racket version 5.3.2 is now available from http://racket-lang.org/ Core Libraries:: The new `math` library provides functions and data structures for working with numbers and collections of numbers. Functions include non-ele...