Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
A Comparison of Angular, Backbone, CanJS and Ember
Selecting a JavaScript MVC framework can be hard work. There are so many factors to consider and so many options out there that selecting a framework …
ZGC – What's new in JDK 16
JDK 16 is out, and as usual, each new release comes with a bunch of new features, enhancements and bug fixes. ZGC received 46 enhancements and 25 bug fixes. Here I’ll cover a few of the more interesting enhancements.
Taking ML to production with Rust
Hands-on technical leader, Rust expert.
Short intro to C++ for Rust developers: Ownership and Borrowing
Articles and tutorials about Rust, Embedded development and Computer Graphics.
All about java.util.Date
This post is an attempt to reduce the number of times I need to explain things in Stack Overflow comments. You may well be reading it via a link from Stack Overflow – I intend to refer to thi…
The origins of XXX as FIXME
In which I go digging into source archives from 40-50 years ago, to figure out why we use XXX to mark dodgy code.
My favorite prime number generator
Many years ago I've re-posted a Stack Overflow answer with Python code for a terse prime sieve function that generates a potentially infinite sequence of prime numbers ("potentially" because it will run out of memory eventually). Since then, I've used this code many times - mostly because it's short and clear. In this…
The viability of JavaScript frameworks on mobile
Whether I like it or not, not everyone using my web apps will be running iOS 9 on an iPhone 6S or a Nexus 6P and connecting via super-speedy wifi.
Asyncio, twisted, tornado, gevent walk into a bar
... they pay, they leave, they drink, they order.
Guide to Concurrency in Python with Asyncio
A guide to Python's asyncio module covering async/await, event loops, tasks, and when to use asyncio vs threading or multiprocessing.
Adding a USB port to the ThinkPad X1 Nano (the hard way)
I wanted to add an internal USB port to my ThinkPad X1 Nano which should have been a fairly easy thing to do, but it wasn't.
Common Lisp: 2022 in review
And 2022 is over. The Common Lisp language and environment are solid and stable, yet evolve. Implementations, go-to libraries, best practices, communities evolve. We don’t need a “State of the Ecosystem” every two weeks but still, what happened and what did you miss in 2022?This is my pick of the…
Rails on SQLite: new ways to cause outages
This post was originally given as a talk for Friendly.rb and Kaigi on Rails. The slides are also available. Between Litestack and the Rails 8 trifecta of Solid Cable, Solid Cache, and Solid Queue, it’s easier than ever to spin up a Rails app that doesn’t need a database service, or a redis service, or a file storage…
How do interruptions impact different software engineering activities
Certain tasks, and their complexity, change how impactful an interruption is. Research also discovers a disconnect between perception and physiological data.
Build Your First Thing with WebAssembly
When I first heard of it sure sounded cool and I was super excited to start trying it out. As soon as I tried to get started however, it got a lot more frustrating. My goal here is to save you some of that frustration.
Faster substring search with SIMD in Zig
I've been learning a lot about low level programming languages lately, and for a long time there has been one thing that has interested me: SIMD (or 'single ins…
Writing C in Cython
For the last two years, I’ve done almost all of my work in Cython. And I don’t mean, I write Python, and then “Cythonize” it, with various type-declarations etc. I just, wri…
Melange 1.0: Compile OCaml / ReasonML to JavaScript
Hey folks, this is a special one. Melange 1.0 The Melange team and I are thrilled to announce the release of Melange 1.0 today, marking a major milestone in...
A Gentle Visual Intro to Data Analysis in Python Using Pandas
Discussions: Hacker News (195 points, 51 comments), Reddit r/Python (140 points, 18 comments) If you’re planning to learn data analysis, machine learning, or data science tools in python, you’re most likely going to be using the wonderful pandas library. Pandas is an open source library for data manipulation and…
Green Threads Explained
A short and self contained explanation that will guide you through an implementation of user threads.
Use GitHub Actions to Make Your GitHub Profile Dynamic
Automatically Update Your Profile with Fresh Content and Showcase Your Latest Work
Using Tesseract OCR with Python
In this tutorial you will learn how to apply Optical Character Recognition (OCR) to images using PyTesseract, Python, and OpenCV.
The Stack Monoid
(Updated 2020-09-06 with pointers to related work and a bit more explanation)
Modeling Message Queues in TLA+
I recently did a corporate TLA+ workshop and some people asked what TLA+ specs look like in practice. If you looked at the most common public examples, you’d probably come away thinking that people only used it for critical consensus algorithms. This is a problem for two reasons: first, it makes it harder to learn…
Processing and P5 got newbies into coding
What the creators of Processing — now 20 years old — did right