Parsing bitstreams with Nom
How to use Nom to parse binary protocols at the level of individual bits
How to use Nom to parse binary protocols at the level of individual bits
Finalist #15 in the Book Review Contest
Elliptic Curve Cryptography (ECC) has grown to be very popular in public-key cryptographic systems, most popularly used in Bitcoin. ECC is…
Not participating in the hype around Wordle seemed wrong, and what better way to do it than to create it cleanly at compile time in C++20? Introducing Wordlexpr!
Many people believe some transactions are final. The reality is a bit more complicated, and involves technical, social, and legal factors.
I’ve been playing with GitHub Copilot, an IDE extensions that uses GitHub’s vast knowledge of how people code to suggest what you probably meant to type next. I’m running it through Visual Studio Code, but it also runs in JetBrains and Neovim.
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Our most important goal in writing software is that it be correct. The software must do what the programmer wants it to do. It must meet the needs of the user. In the business world, double-entry bookkeeping is the idea that transactions are recorded in at least two accounts (debit and credit). One of the … Continue…
Recently [the Python Package Index](https://pypi.org/) announced that they will be implementing new account-security policies, and hoo boy are some people …
I write about reverse engineering & development.
Before we get into this kind of stream-of-consciousness outline, I'd like to note that very topically to this, over at the Spritely Institute (where I'm CTO, did I mention on here yet that I'm the CTO of a nonprofit to improve networked communication on the internet on this blog? because I don't think I did) we…
Imagine a smartwatch you could load any PalmOS app you wanted onto. We had that... about 20 years ago.
The strange interactions of Selfhood and Multiplicity
Dissolve MSG in water to form a saturated solution. Wait for small MSG crystals to form. Then, tie it to a string to let it grow bigger.
HAProxy can be controlled from the command line using its admin socket. This can be used to easily disable and enable a backend server on the cli.
An Upside-Down Backup Strategy I have a strange way of doing backups these days. When I save something, the master copy is in the cloud. If a file exists only on my local drive, it's not safe....
Noether's theorem is an amazing result which lets physicists get conserved quantities from symmetries of the laws of nature. Time translation symmetry gives conservation of energy; space translation symmetry gives conservation of momentum; rotation symmetry gives conservation of angular momentum, and so on.
People ask me about processes all the time. Planning processes, performance review processes, OKRs, et cetera. I think it’s because I was once a COO and people have this vision of COOs as process fiends. People who make the trains run on time. People with lots of Gantt charts all around them.
Several years ago, when I was a junior engineer just out of university, a PM wandered by my desk on his way to a meeting one morning. “Uh, hey, we’re having a meeting about Project Jabberwocky, uh, right now, can you come?” He was already past my desk and did a last-second pivot to extend the invitation. I was…
Spoiler alert: I found some intriguing patterns…
What do wedding venues and malware have in common? I got to spend my weekend investigating them. A short post about interesting malware, and lessons learned.
Another long (hacker) story of mine! Once upon a time contracted to do a penetration test on a bank… I spent the better part of a week assessing every nook and cranny of the main web application. I mapped every function, and every web path, but the main website was very hardened. After spending a lot of time…
Since recording a handful of C Programming on System 6 videos, I've occasionally wanted to live-stream the more casual daily programming being done on my Macintosh Plus. After getting all of the pieces together, I now have a working self-hosted broadcasting setup.