Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 894 posts.
Profiling Go
Techniques and tools for profiling Go applications including pprof, benchmarks, and memory management analysis.
Why I’m Frustrated with Go
A brief example demonstrating my current frustrations with the Go programming language.
How Python does Unicode
As we all (hopefully) know by now, Python 3 made a significant change to how strings work in the language. …
A first look at WebAssembly performance
WebAssembly gives us the promise to run high performance code in the browser in a standardized way. Now that there are a few WebAssembly previews available I decided it’s time to take a look at their performance. One source for benchmarks is the well known Computer Language Benchmarks Game and I decided to pick nbody…
Qbrt – Cross-platform HTML/JS desktop apps using the Firefox Gecko runtime
I recently blogged about discontinuing Positron. I’m trying a different tack with a new experiment, codenamed qbrt, that reuses an existing Gecko runtime (and its existing APIs) while simplifying t…
Coding Machines
After a minute Patrick came back with a small dusty cardboard box. Dave and I stared as Patrick opened it and pulled out a network switch, the old kind from the days when they were made with metal cases. He plugged in the power supply and carefully straightened out a CAT -5 cable to hook the switch up to our network…
Reprogramming a $13 consumer wifi-enabled outlet
The HTML5 Herald
Why is memory reclamation so important for lock-free algorithms?
As it so happens, object lifetime tracking (or Memory Reclamation as I prefer to call it) is the current most difficult open problem in sha...
Finding the Lost Vikings – Reversing a Virtual Machine
After having fun reverse engineering the Comprehend Adventure game (Recomprehend) I was looking for a new DOS game reverse engineering project. Over the years various people have reversed a lot of …
The practice of programming, 18 years later
Over the new year holiday time I had a chance to get away from it all, and snuck up to Finland to sit in a lodge on the Gulf of Finland, sip coffee, take saunas and read. I brought along a few books, the only programming one being Brian W …
Using Rust in Windows
BONANZA138 menghadirkan link alternatif portal game terbaru dan terpercaya. Dapatkan rute bonanza138 login anti-blokir, proteksi TLS modern dan pelayanan setiap hari.
Command line interfaces are reified UIs
Many of the advantages of Command Line Interfaces can be attributed to the fact that they reify the user interaction: the interaction itself is made into som...
Reducers, transducers and core.async in Clojure
This is a whirlwind tour of some of the cool new features that appeared in Clojure in the past few years. I find it fascinating how one good idea (reducers) morphed into another (transducers), and ended up mating with yet another, apparently unrelated concept (concurrent pipelines) to produce some really powerful…
How do Ruby and Python profilers work?
How do Ruby & Python profilers work?
Delete an inline function, save 794 kB
In the previous episode of “Simple Changes to Shrink Chrome” I discussed how deleting ‘const’ from a few key locations could lead to dramatic size savings, due to a VC++ com…
What Challenges and Trade-Offs Do Optimising Compilers Face?
After immersing oneself in a research area for several years, it’s easy to feel like the heir to a way of looking at the world that is criminally underrated: why don’t more people want what I want? This can be a useful motivation, but it can also lead to ignoring the changing context in which most research sits. So…
Grokking Diesel, Rust's ORM
Diesel (http://diesel.rs) is an ORM (Object-relational mapper) and Query Builder written in Rust. It supports Postgresql, Mysql and SQLite…
A reasonably speedy Python ray tracer
Cyrille Rossant's small ray-tracer is an nice self-contained Python program (using NumPy) that renders this 400×300 image in about 15 seconds on a fast PC:
Connecting to Google Sheets with Python
I wrote up my experience using Python to process data from a shared Google Sheets spreadsheet
Why isn't memset() async-signal-safe?
Really, POSIX? Really? memset() isn't async-signal-safe? How is it not safe? … oh … that's why
Reading Simple Haskell
-> is right associative, The function definitions from the previous slide will be parsed like this:
Realizing Hackett, a metaprogrammable Haskell
Almost five months ago, I wrote a blog post about my new programming language, Hackett , a fanciful sketch of a programming language from a far-off land with Haskell’s type system and Racket’s macros. At that point in time, I had a little prototype that barely worked, that I barely understood, and was a little bit of…
A ReasonReact Tutorial
An in-depth introduction to Reason/OCaml and the official React.js bindings, aimed at JavaScript developers.
Is Semantic Versioning an Anti-Pattern?
The classic X.Y.Z style of software numbering, sometimes known as Semantic Versioning, may be hurting more than it helps. Semver.org has codified how these numbers should be used for some cases, describing what is meant by the major and minor version numbers, when to change them, what