June 9, 2020
This blog post will be a bit weird but I'm trying to find my voice besides the IRC world and the inner world that I've been navigating for more than 20 years. I don't think it's going to be easy, so think of this more as a reference than a blog post. In other words, don't read this blog post unless you're on a path like mine where your stuff has become a deep rabbit hole. Today's rabbit hole, as well as monday and sunday's rabbit hole has been EXT2.
Backstory: I'm writing a kernel and I need a filesystem. A simple one would make my life easier but would then make everyone else's life harder. Do I want to do that when I'm writing a game that is intended to teach people how to write hundreds, even thousands of kernels? Do we want everyone in this tree of learning to be harmed because I wanted to play my game sooner? Maybe. Maybe.Read more »
I present the SM5 assembler. Derived from the SM5 emulator, it works well in creating new programs for the SM5 architecture. It was necessary as part of a challenge called Game Copy Protection ROM in OpenCTF 2019. It also contains a small patch to sm5emu that improves the stability and benefits the user.
Why would someone want an assembler for an architecture that is not commercially available? If an FPGA version of this architecture were created, an assembler would be handy. But until such a time, I used the assembler to create a challenge which tested the ability for users to adapt to new architectures, SM5 being an architecture that only a handful of people in the world have experience with.Read more »
A quick piece of code for you and a bit of computer synthesized drums for you.
Read more »
import itertools a = list(itertools.product('^ox', repeat=8)) print(''.join([''.join(x) for x in a[:1000]]))
May 5, 2017
On Thursday of this week (May 4, 2017) I released a mail client. It's pretty humble, but I've been using it for a decade and so it was worth it to me to iron out a handful of bugs and make it good enough for other people to use. Currently it won't be much use to you if you run Windows, Mac OSX, don't run your own mail server, or don't understand what fetchmail is*. But those things are fixable and I intend to fix them in the months to come. That means this blog post doesn't have to cater to end users, so I won't attempt to. This blog post will be about how I came to write a mail client and why it makes sense in 2017.
* The wording of that sentence was pretty bad so I'll reverse it. BikeIM-0.5 is usable to you if you run Postfix, if you run Dovecot, if you run OpenSMTPD, if you run fetchmail, if you use GnuPG, if you use Mutt, if you run Linux or *BSD, if you use Git, and understand how to report bugs.Read more »