Secret project(opens in new tab)
One of my new motors. It's about 10mm in diameter I’ve started work on a top-secret project. I can’t really hide the fact that it’s going to be a robot, but I’m not going to say what it is, at ...
Curated river of news
Latest posts from blogs I follow
One of my new motors. It's about 10mm in diameter I’ve started work on a top-secret project. I can’t really hide the fact that it’s going to be a robot, but I’m not going to say what it is, at ...
Java annotations are syntactic meta-information that can be added to your source code. You can annotate classes, methods, variables, parameters, and even packages. The primary advantage of annotations over Javadoc tags is that they can be reflective. This means the ...
A Piglow glowing A few days ago I got a Piglow. It’s a fairly useless but fun addon board for the Raspberry Pi that has 18 individual user controllable LEDs arranged in Arms/Legs/Tentacles (whatever you want to call them). There ...
A completely incomplete guide to packaging a Python module and sharing it with the world on PyPI.
Google killed its Reader and my beloved Reeder for Mac and iPad officially won’t get updated in time. I think to have found an adequate setup to replace both.
Even though Java 7 introduced a low-level API to watch for file system changes (see the article here), you also have the option of using the Commons IO library from the Apache Foundation, specifically the org.apache.commons.io.monitor package. The first step ...
A list of best practices for writing bash scripts: Use a portable shebang In computing, a shebang is the character sequence consisting of the characters number sign and exclamation mark (#!) at the beginning of a script. (source wikipedia) Use: ...
Contents Introduction The Binary Heap Why use a Heap? The code Defining the data Implementation Testing Introduction In Computer Science, a Priority Queue is an abstract data type similar to a standard Queue, but with a critical distinction: every element ...
Contents Introduction The Algorithm Implementations Scala Python Haskell Introduction One of the earlier challenges from Programming Praxis was the RPN Calculator. The goal is to create a module that evaluates Reverse Polish Notation (RPN) expressions. RPN is a mathematical notation ...
Introduction If you’ve ever tried to write your own calculator, you’ve probably needed a way to convert mathematical expressions written in the usual infix notation into Reverse Polish Notation (RPN). This post walks through that conversion using the classic shunting-yard ...
Update (2026): This was the first 'real article' I ever wrote. It actually dates back to before 2010, though I didn't publish it until later. I’ve made a few tweaks here and there, but the original 'old code' remains. Please ...
My first blog post, in which I am writing Hello World!. #include int main() { long long h = 0x0A646C726F57206FLL; long long e = 0x6C6C6548; printf("%.4s%s", (char*)&e, (char*)&h); return 0; }
A lot of the SVG filter primitive content out there is some really rad, deep-dive type content (I’ll link some of these at the end!), so I reckoned it might be nice to do a quick write-up on some effects ...
I have this weird relationship with Incredible Amounts Of Grief where, like, I’ve literally been there — I know there’s nothing to say, and nothing will heal but time. When The Bad Thing™ happened, I felt angry so often with ...
I have been writing "the algorithm eats X" for the better part of a year now. It ate virtue. It ate language, love, democracy, reality, and time. Eventually it ate itself. The whole series is a catalog of appetite, and ...
This is the second essay in what is apparently becoming a series. In Mental Health (for Humans) I presented my credentials: sick as fuck, disabled in fact, ten-plus years inside the system. That essay argued that the system's core abstractions ...
In October 2018 I released a web framework called Responder, and to understand why it exists you have to remember what the Python web felt like that year, because the web it was born into no longer exists. It was ...
The first DSM shipped in 1952. It was a spiral-bound thing of about 130 pages describing roughly a hundred disorders. The current release runs just under a thousand pages and describes around three hundred. Between those two artifacts sit five ...
Sometimes there is handwriting on the floor. Sometimes there are printed pages on the walls, set like scripture, type where no type is. This has been true for years. It comes in waves, usually when stress is high or the ...
Some of my own essays this year have made me cry. That's not remarkable; writers cry at their own work all the time, usually at how bad it is. What's remarkable is when it happens. Not while typing a sentence. ...
This week I did something I'd been putting off for a long time. I reread MentalHealthError: an exception occurred, the essay where I told the internet I had bipolar disorder. A hundred and fifty thousand people read it the first ...
Rhyme is a fact about sound, not spelling. Blue rhymes with shoe and through and you, and not one of them is spelled like the others. Comb, bomb, and tomb all end in the same three letters and not one ...
There's an entry in my Obsidian daily notes from this April that I didn't think anyone would ever read, including me. It says: > Working on the vault today. Got a fancy new theme going, pretty good. Refactored the style ...
There's a genre now. You've seen it. A face fills the frame, the captions bounce along the bottom, and the voice says something like: five signs you might have ADHD. Or: things I didn't know were autism. Or the compound ...
There is a folder in my notes called System 777. It contains around two hundred files and a hundred and thirty thousand words: maps, dream logs, a glossary, a quest log, channeled writings preserved verbatim, and profiles of some forty-seven ...
Earlier this spring I wrote a few essays about PyTheory, the music theory library I was stuck on for five years and finally unstuck. The short version: it models tones, scales, chords, and fretboards in Python the way a musician ...
A changelog for a personal website is a strange genre. Nobody asked for release notes. There is no userbase waiting on a fix, unless you count me, and I already know what shipped. But this site is the closest thing ...
I almost didn't write this down, because the sentence sounds like a brag and it isn't one. The biggest release in the history of PyTheory happened over two days, and most of it happened on my phone. On vacation. With ...
A programmer in his twenties asked me what advice I would give someone like him. I said: focus on family more than code. I think it is the best advice I have. I also think I am close to the ...
There is a silent asterisk after the words music theory. You never see it printed, but it is always there, the way it hangs after the canon or the great novels. When someone says music theory they mean one specific ...
Some mornings I wake with the clear sense that I was just with someone, and I sit down to write it before it fades, and the words come out thinner than the thing. Not wrong, exactly. Just smaller. A pencil ...