Simple note taking from the command line
This is a simple function that can be called from the command line, just like if it was a regular com...
Umberto Eco's Anti-Library (2015)
How to become an “antischolar” in a culture that treats knowledge as “an ornament that allows us to rise in the pecking order.”
Neural Translation of Musical Style
Can we teach a neural network to perform like a human?
Massively Interleaved Sprite Crunch – C64 Demo Effect (2016)
This article describes the inner workings of Massively Interleaved Sprite Crunch ( MISC ), a new C64 demo effect introduced in my demo Lunatico .
An Early Engineer's Guide to Early Stock Option Exercise
Advice on the most important decision you’ll make as an early employee.
Living on the Edge – Story of an Iranian Student in US
Story of an Iranian Student in US
Please Stop Writing Secure Messaging Tools (2015)
This is my first Patreon-supported essay, which went out a week early to my $10 and up subscribers. This was written in part in response to issues with the IWMF check-in tool, but it's something I've been concerned about for some time.
Too many people have peed in the pool (2016)
Oh goodness, what fun twitter was in the early days, a secret bathing-pool in a magical glade in an enchanted forest. It was glorious ‘to turn as swimmers into cleanness leaping.’ We frolicked and water-bombed and sometimes, in the moonlight, skinny-dipped.
Handling attraction in a professional setting
I met my wife at a tech holiday party. I saw her from across the party and the rest of the people in the room disappeared…but this story doesn’t go the way you think. We didn’t ge…
Java Is Unsound: The Industry Perspective
Discussing a recent academic finding on Java and Scala, from industry's perspective.
Preventing server overload: limit requests being processed
Recently at Bluecore I ran into a familiar situation: during brief periods of overload, all requests to a server were timing out. It was a catastrophic failure, where the server completely stopped serving. We added more capacity to prevent overload, but we also wanted to fix the server. Instead of exploding, it should…
Approximating sin(x) to 5 ULP with Chebyshev polynomials
Weblog/homepage for a developer/engineer/artist. DIY projects, opinions and code.
Testing FIDO U2F security keys
Last time I reviewed various security keys at a fairly superficial level: basic function, physical characteristics etc. This post considers lower-level behaviour.
Omnispeak – A Commander Keen Reimplementation
Omnispeak is an open-source reimplementation of Commander Keen episodes 4, 5, and 6. It aims to be a pixel-perfect, bug-for-bug clone of the original games, and is compatible with savegames from the DOS version.
Book of the Runtime – Internals of the .Net Runtime not in the documentation
The Microsoft Docs at https://docs.microsoft.com are really fantastic lately. ...
Implementing a Principal Component Analysis In Python (2014)
Implementing Principal Component Analysis from scratch in Python: scatter matrices, eigenvectors, variance explained, and comparison with scikit-learn PCA.
A Guide to Parsing: Algorithms and Terminology
An in-depth coverage of parsing terminology an issues, together with an explanation for each one of the major algorithms and when to use them
The Windows Shutdown crapfest (2006)
I worked at Microsoft for about 7 years total, from 1994 to 1998, and from 2002 to 2006. The most frustrating year of those seven was the ...
Why Elixir (2014)
It’s been about a year since I’ve started using Elixir. Originally, I intended to use the language only for blogging purposes, thinking it could help me better illustrate benefits of Erlang Virtual Machine (EVM). However, I was immediately fascinated with what the language brings to the table, and very quickly…
‘Honeypot’ pages to try to convert people searching for cracked software
Software piracy is a fact of life for vendors of desktop software. Take a look at Google’s helpful suggestions if you search on the name of one of my products: Trying to make your software cr…