Question: How long does it take to turn lolcatz into production automobiles? Answer: 5 years and 2 days. Obviously that's a ridiculous question with an overly-specific answer. As the description of this blog post ("A surreal story of Open Source maintainership"), indicates, the whole story you're about to read feels equally ridiculous to me. But that's part of what makes it so fun.…
I had the pleasure of going to RustConf 2025 in Seattle this year. During the conference, I met lots of new people, but in particular, I had the pleasure of spending a large portion of the conference hanging out with Jeremy Soller of Redox and System76. Eventually, we got chatting about EFI and bootloaders, and my contributions to PostmarketOS , and my experience booting EFI-based operating…
Today I'm excited to announce a project I've been working on for over a year is working and ready for early adopters to play with. Since October 2023, I've been writing FPGA gateware to replicate one of the rarest chips in the retrocomputing space, the MCS6530 released by MOS. This chip is featured in the KIM-1 Computer, released in 1975, as well as several other arcade boards from…
Alternate title: 2024 - The year of the linux desktop on a PS3 This guide will show you how to install the latest Debian (trixie/sid) distro with a very modern Linux kernel (6.4 currently). The instructions should be pretty much the same going forward beyond these versions in the future. Why would you want to do that, you may be asking? I don't have a great answer but maybe you want to…
“Words have a magical power. They can either bring the greatest happiness or the deepest despair.” -Sigmund Freud The problem What went wrong when I initially tested my Rust nidcracker program? As I mentioned in the original post, high entropy and a small hash == garbage output. The high entropy problem comes from using every permutation of 4 words from 1000 words (give or take). The solution How…
What is a NID? A NID, which I believe stands for Name Identifier, is an identifier used in Sony's PRX executable format for function imports and exports. They are located in the .rodata.SceNid section of every PRX, to identify which operating system or other external functions are used in the program. A NID consists of the first 4 little-endian bytes of the SHA-1 hash of the function name,…