Topics /

Software Engineering

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

Any year
8591

Create a simple cross-platform desktop game with Go

A few months ago I fiddled around with writing Space Invaders using Go. I had a lot of fun writing it but the output only worked on iTerm2 because it used a specific feature of that terminal. In order to play the game you’d really have to download iTerm2 and run it on the command line. I thought it’d be fun to muck…

8594

Color.js Released

It has taken Lea and I far too long – there is always something more that really should be added, always some conversion that really needs an authoritive set of data to validate our code against – but we finally decided, time to actually release Color.js .

8597

Writing a lunar lander game for an actual lunar lander

As it’s the 50th anniversary of the Apollo 11 moon landings, I thought this would be a great opportunity to live code a demonstration of using my new compiler to write a simple lunar lander game… but first, I’m going to port the compiler to generate code for an actual lunar lander. Yes, my target platform is the…

8601

Visualizing SQL Plan Execution Time with FlameGraphs

Update: I wrote a follow-up article about adding Loop Counters and Row Counts to SQL Plan FlameGraphs. I also show some old examples of “Bookshelf Graph” visualizations there. Check it out after reading this post first. Introduction Brendan Gregg invented and popularized a way to profile & visualize program response…

8605

Python's Type Checking Renaissance

You may have heard that TypeScript has been taking the web development space by storm in the last few years , bringing to it static types. I believe the same thing is starting to happen in the world of Python, where type checkers like mypy , Pyre , and Pyright are increasingly used, at least where Python is used by…

8606

The cost of Go's panic and recover

TL;DR ¶ Some of the wisdom contained in Josh Bloch’s Effective Java book is relevant to Go. panic and recover are best reserved for exceptional circumstances. Reliance on panic and recover can noticeably slow down execution, incurs heap allocations, and precludes inlining. Internal handling of failure cases via panic…

8607

What if we'd had better HTML-in-JS syntax all along?

I have a theory that a grave mistake was made in 1995 - the decision not to have a neat, succinct and declarative way of representing html elements in javascript. [On reading the hacker news comments this is pretty historically inaccurate, however, I think this article still stands as "look just how close javascript…

8609

strcpy: A niche function you don't need

The C strcpy function is a common sight in typical C programs. It’s also a source of buffer overflow defects, so linters and code reviewers commonly recommend alternatives such as strncpy (difficult to use correctly; mismatched semantics), strlcpy (non-standard, flawed ), or C11’s optional strcpy_s ( no correct or…

8610

Generation JavaScript

I’ll start by saying that this is not a rant, but rather a cry of despair that I’m repeating and that slowly - but steadily - seems to come to consciousness in our industry, like this one. The phenomenon I’m about to describe is not only limited to the Javascript community either, that community seems a lot more…