Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,544 posts.
Let's write a toy UI library
We begin by writing a few helper functions that will invariably prove useful to us later. We will be dealing with a lot of rectangular regions on the screen, so it makes sense to start by defining a rectangle structure and write some code to manipulate it.
You can contribute to KDE with non-C++ code
Lots of underrated areas to work on
Real-time Drone object tracking using Python and OpenCV
After flying this past weekend (together with Gabriel and Leandro) with Gabriel's drone (which is an handmade APM 2.6 based quadcopter) in our town (Porto Alegre, Brasil), I decided to implement a tracking for objects using OpenCV and Python and check how the results would be using simple and fast methods like…
WebRTC file sharing broker using Elixir Phoenix
WebRTC was created primarily for video and voice communication but it has the API to send raw binary data between two browsers as well. This opens up a lot of opportunities to create more peer to peer web application which are supported by modern browser. There are already a lot
Fizz Buzz in CSS
How many CSS selectors and declarations do we need to produce the Fizz Buzz sequence? Of course we could do this with no CSS at all simply by placing the entire sequence as text in the HTML body. So to make the problem precise as well as to keep it interesting, we require that all text that appears in the Fizz Buzz…
Distributed Systems Testing: The Lost World
After failing to find good papers about distributed systems testing for many months, yesterday I asked a question in Twitter:
Working on The Witness: The Nebraska Problem
The search for a “random” distribution with the most favorable qualities for ground cover.
How to add thousands of lights to your renderer and not die in the process
Why ReSTIR is good for you.
Django and Python 3
About 18 months ago I blogged about Django and Python 3, I gave the official roadmap. Not a lot has changed since then unfortunately, we’ve dropped 2.3 entirely, 2.4 is on it’s way out, but there’s no 3.X support in core. One fun thing has changed though: I get to help set the roadmap, which is a) cool, b) means the…
Intro to Debugging X86-64 Assembly
I’m hacking on an assembly project, and wanted to document some of the tricks I was using for figuring out what was going on. This post might seem a little basic for folks who spend all day heads down in gdb or who do this stuff professionally, but I just wanted to share a quick intro to some tools that others may…
NoiseCraft: Browser-Based Visual Programming Language for Sound and Music
NoiseCraft: a Browser-Based Visual Programming Language for Sound & Music
Hardwood: A New Parser for Apache Parquet
Today, it’s my great pleasure to announce the first public release of Hardwood, a new parser for the Apache Parquet file format, optimized for minimal dependencies and great performance. Hardwood is …
Recreating ANSI Art from a Screenshot
In the early to mid-90s, I ran a BBS out of my bedroom. It wasn’t very popular, but I did have a lot of time on my hands and I spent a lot of that time modding it. Initially, I wrote mods for myself, but eventually I started releasing them to other people. As a teenager, this was the first software that I wrote that…
Deep Learning from Scratch to GPU: CUDA and OpenCL
We generalize the network code and run it on the GPU. On an Nvidia GPU with CUDA, and on an AMD GPU with OpenCL. Even more - we mix both CUDA and OpenCL, jus...
Compiling OCaml to the TI-84 CE Calculator
In this post, I’ll explain how I compiled an OCaml program to run on a TI-84+ CE calculator. 🐪
Python internals: how callables work
[The Python version described in this article is 3.x, more specifically - the 3.3 alpha release of CPython.]
Your language sucks
As a result of work I've been doing for illumos , I've recently gotten re-engaged with internationalization, and the support for this in li...
I want a better shell (2019)
I want a better shell.
NixOS and my descent into insanity
As I tend to do, I picked a topic to write about that is much larger in scope than I could manage in a reasonable amount of time. Did I learn? Apparently...
CADing and 3D printing like a software engineer
Fang-Pen Lin's blog about programming
I was interviewed by Fog Creek
I just had my minute of fame! I was just interviewed by Fog Creek on their development blog. Fog Creek is Joel Spolsky's company. We talked about how I got into software development, what I currently do, my current setup and my favorite books. I've been a lifetime fan of Fog Creek Software and it just feels so great…
The Liskov Substitution Principle (2019)
In 1987, while delivering a keynote on data abstractions and hierarchies, Barbara Liskov introduced the idea that would eventually become the Liskov Substitu...