New
The latest blog posts to take off on Hacker News. 1,274 posts.
Reading bits in far too many ways
Resurrecting an old tradition of this blog, let’s take a simple problem, go over a way too long list of alternative solutions, and evaluate their merits. Our simple problem is this: we want t…
Norris Numbers – Walls you hit in program size (2014)
My friend Clift Norris has identified a fundamental constant that I call Norris’ number, the average amount of code an untrained programmer can write before he or she hits a wall. Clift estimates this as 1,500 lines. Beyond that the code becomes so tangled that the author cannot debug or modify it without herculean…
Asciinema 2.0
News about asciinema development and new releases
Introduction to Apple WatchKit with Core Motion – Tracking Jumping Jacks
Like many developers exploring the world of wearables, I’m an avid fan of apps that track your exercise. Companies like Strava & Runkeeper have paved the way for what we can do with motion and health data, creating new and… Continue reading Introduction to Apple WatchKit with Core Motion — Tracking Jumping Jacks
What Made Lisp Different (2002)
(This article came about in response to some questions on the LL1 mailing list. It is now incorporated in Revenge of the Nerds .) When McCarthy designed Lisp in the late 1950s, it was a radical departure from existing languages, the most important of which was Fortran . Lisp embodied nine new ideas:
The Evil Within the Comparison Functions
Perhaps, readers remember my article titled Last line effect. It describes a pattern I′ve once noticed: in most cases programmers make an error in the last line of similar text blocks. Now I want...
Books I used to develop a game engine
If you have decided to develop your game engine, you may be wondering where to start, what books to start reading, etc. If you are in this situation, I recommend getting a copy of the following books:
What is Debian all about, really? Or: friction, packaging complex applications
This weekend, those interested in Debian development have been having a discussion on the debian-devel mailing list about "What can Debian do to provide complex applications to its users?". I'm commenting on that in my blog rather than the mailing list, since this got a bit too long to be usefully done in an email.
Programmer's guide to polynomials and splines
This is a brief introduction into polynomials. From how to make a polynomial run through your set of points to how to make it into a spline.
Yes, code is data, but that's not what makes Lisp cool
There has been some debate on Hacker News lately about what makes Lisp cool , in particular about whether the secret sauce is homo-iconici...
Go 1.10 is released
Go 1.10 adds automatic caching of build & test results, and more.
Learning to program is getting harder
I have written several books that use Python to explain topics like Bayesian Statistics and Digital Signal Processing. Along with the books...
A look at the J language: the fine line between genius and insanity (2012)
I’ve been looking for a decent TSDB for years now. Took a shot at writing one in Lush using HDF5 (as others have done), but the experiments I did raised more questions than I got answers. I&#…
Just what does “code as data” mean anyway? (2014)
Recently, I’ve seen popular articles on macros and metaprogramming in Nimrod and Elixir . Both of these are wonderful metaprogramming systems, to be sure, but I couldn’t help but imagine some in the audience smirking inwardly – and occasionally less inwardly. What odd syntax! How out-of-place they are! If only there…
The Benjamin Franklin method for learning more from programming books
The Benjamin Franklin method for programming books: read a code sample, close the book, and rewrite it from memory to truly learn it.
Sum Types Are Coming (2015)
Just as all mainstream languages now have lambda functions, I predict sum types are the next construct to spread outward from the typed functional programming community to the mainstream. Sum types are very useful, and after living with them in Haskell for a while, I miss them deeply when using languages without them…
Picking Apart the Crashing iOS String
So there’s yet another iOS text crash, where just looking at a particular string crashes iOS. Basically, if you put this string in any system text …
Promises are not neutral enough
Open Source Freelancer
A collection of things that are Turing-complete by accident (2013)
A list of things that were not supposed to be Turing-complete, but are.
Age of Empires 2 Scenario Editor Is Turing Complete
A blog about computing and other fun.
Lessons learned while developing Age of Empires 1 Definitive Edition
In late 2016 I began helping Forgotten Empires on Age 1 DE , a UWP app shipping in the Windows Store on Feb 20th. I only helped occasionall...
Rainbow Deployments with Kubernetes
or: how you can deploy services to Kubernetes that require long periods of draining. #🌈 🌈 🌈 #If you want to jump directly to the technical solution, check out the project repo. Below is a short story about how we got to this solution.
Introduction and Quick Guide to GraphQL for BackEnd and FrontEnd
GraphQL is an API query language. It provides a runtime to describe & query the data for any storage. Here is an Introduction & Quick guide on GraphQL