Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 1,304 posts.
Ideas for Game Clones to Code (2012)
So you know a little bit about programming (perhaps you've read the free book, "Invent Your Own Computer Games with Python" , a free programming book for beginners whose author shamelessly plugs at every chance) but you want to get better at coding. You can't seem to find any open source projects that are at your…
Hotpatching a C Function on x86
In this post I’m going to do a silly, but interesting, exercise that should never be done in any program that actually matters. I’m going write a program that changes one of its function definitions while it’s actively running and using that function. Unlike last time , this won’t involve shared libraries, but it will…
Typed Python: new Mypy release
I just uploaded version 0.4 of mypy-lang to PyPI ! This release focuses on performance improvements, usability improvements and bug fixes....
You Can't Always Hash Pointers in C
Occasionally I’ve needed to key a hash table with C pointers. I don’t care about the contents of the object itself — especially if it might change — just its pointer identity. For example, suppose I’m using null-terminated strings as keys and I know these strings will always be interned in a common table. These…
LL and LR Parsing Demystified (2013)
My first adventures in parsing theory came when I was doing anindependent study of programming languages in college. When I got tothe part about algorithms s...
A Rebuttal for Python 3
Zed Shaw, of Learn Python the Hard Way fame, has now written The Case Against Python 3. I’m not involved with core Python development. The only skin I have in this game is that I like Python 3. It’s a good language. And one of the big factors I’ve seen slowing its adoption is that respected people in the Python commu
Lessons Learned while Converting from ASP.NET to .NET Core
At Stackify we have been doing a lot of work with .NET Core. Find our top suggestions on converting an application from ASP.NET to NET Core.
TDD Doesn't Work
Yeah, an in-depth study that repeated another study that was done a few years back. Both showed that TDD doesn’t work. The new one uses a multi-site, blind analysis, approach. It looks conclusive.
How to implement a programming language in JavaScript
This is a tutorial on how to implement a programming language. If you ever wrote an interpreter or a compiler, then there is probably nothing new for you here. But, if you're using regexps to “parse” anything that looks like a programming language, then please read at least the section on parsing . Let's write less…
Julia 0.5 Highlights
It introduces more transformative features than any release since the first official version....
Postgres Count Performance
Everybody counts, but not always quickly. This post looks into how the PostgreSQL database optimizes counting. In Postgres, there are ways to count orders of magnitude faster. We’ll look at exact counts (distinct counts) as well as estimated counts, using approximation algorithms such as HyperLogLog (HLL) in Postgres.
A Container Is a Function Call
There’s something missing from the Docker ecosystem: a type-checker.
Native reactive spreadsheet in 17 LOC
After the release of our reactive framework a few days ago, we though it would be a good idea to implement the, often mentioned, spreadshee...
I am a puts debuggerer
Update (2023-06-28): Added “I required a file, but I want to know what files were actually loaded” I love puts debugging I am a puts debuggerer. I don’t say this to disparage people that use a Real Debugger. I think Real Debuggers are great, I’ve just never taken the time to learn one well. Every time I try to lean…
Node v6.6.0
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
A bug story: data alignment on x86
This sounds unusual. Who ever wants to do this in real life? Normally, we only see code like this as primary school assignments or compiler benchmarks. However, this time it happened in real life.