New
The latest blog posts to take off on Hacker News. 14,544 posts.
Specifying JSON
I find myself tasked with polishing and publishing a little custom JSON-encoded language. It’s harder than it ought to be.
The 9 lines of code that Google allegedly stole from Oracle
After reading about the Oracle v. Google trial I looked up the famous 9 lines of code that Google allegedly stole from Oracle, which implement the rangeCheck method for arrays. Note that arrays and…
Size cost of C++ exception handling on embedded platforms
Introduction There is a common stereotype, that C++ exception handling code will significantly increase binary image size ("up to 100kb")...
Powering the Python Package Index
The Python Package Index, or as most call it “PyPI” is a central part of the ecosystem of Python. It serves as a central registry of names, helping to prevent collision between different projects as well as the default repository that most Python users go to when looking for software. Though it has its issues (of…
A fundamental introduction to x86 assembly programming
The x86 instruction set architecture is at the heart of CPU s that power our home computers and remote servers for over two decades. Being able to read and write code in low-level assembly language is a powerful skill to have. It enables you to write faster code, use machine features unavailable in C, and…
A Guide to Naming Variables
Names Considered Useful Software is written for people to understand; variable names should be chosen accordingly. People ...
Don’t invert that matrix (2010)
There is hardly ever a good reason to invert a matrix. What do you do if you need to solve Ax = b where A is an n x n matrix? Isn't the solution A−1 b? Yes, theoretically. But that doesn't mean you need to actually find A−1. Solving the equation Ax = b is
After reading “Rails is yesterday’s software”, I need to reply
After reading a blog post provocatively called “Today I accept that Rails is yesterday’s software” I felt the need to reply. I’m not sure why, I’m not going to convince anyone of anything, definitely not the author of that post. I want to reply because Rails is my current platform of choice, and let’s be honest…
Zero size arrays in C
The current structure definition of the ion system heap involves a zero sized array:
Cal – Display a Calendar in Your Terminal
Adrian Sieber's personal website and blog
Number plate recognition with Tensorflow
Over the past few weeks I’ve been dabbling with deep learning, in particular convolutional neural networks . One standout paper from recent times is Google’s Multi-digit Number Recognition from Street View . This paper describes a system for extracting house numbers from street view imagery using a single end-to-end…
Code Page 437 Refuses to Die
I am updating volume 2 of Core Java and got stuck on the section on text files in the internationalization chapter. How hard can this be in 2016? Surely everyone uses UTF-8 these days. Or do they? Make a file Test.java
XKCD Plots in Matplotlib: Going the Whole Way
One of the most consistently popular posts on this blog has been my XKCDify post, where I followed in the footsteps of others to write a little hack for xkcd-style plotting in matplotlib. In it, I mentioned the Sketch Path Filter pull request that would eventually supersede my ugly little hack.
When code is suspiciously fast: adventures in dead code elimination
Part of a recent assignment for one of my classes involved calculating the Fibonacci sequence both recursively and iteratively and measuring the speed of each method. (BONUS: For a fun diversion, here is a paper I wrote about using the Golden Ratio, which is closely related to the Fibonacci sequence, as a base for a…
A beginner's guide to Big O notation (2009)
Thoughts on software engineering from Rob Bell