Feed digilinux.ru [copy] http://digilinux.ru/feed/ has loading error: cURL error 22: The requested URL returned error: 403 Forbidden
Feed freepost [copy] https://freepo.st/rss/new has loading error: A feed could not be found at `https://freepo.st/rss/new`; the status code is `200` and content-type is `text/html; charset=utf-8`
The state of things in 2019
And another year has passed – pretty quickly, if you ask me. Last year was the chance to close a bunch of construction sites and start new ones. Next to releasing two iOS apps that I have been working on for a while, I finally got the time to publish another book. I'm currently working on a round of updates to my existing apps in the iOS AppStore, namely Surveillance Pro, OBD2 Expert, and Wellenreiter. With regard to closed source platforms, I'm pretty excited about what's likely to happen this year. In autumn, Apple will release a way to compile...
Patches welcome
Happy new year! This is always a weird “holiday” for me, since all of the fun happened last night. Today is just kind of… I guess a chance for everyone to sober up before work tomorrow? It does tend to invite a sense of reflection and is the ideal time to plan for the year ahead. One of my goals in 2019 is to change more people’s thinking about the open source community and what it means to count among their number.
I think there’s a certain mode of thinking which lends itself to a more productive free software community and a happier free software contributor. Free software...
Introducing ThinMusic
At the peak of my career as a software engineer, I spent most of my free time either playing video games or reading books about engineering management. These days, my day job is mostly engineering management, and so I find myself carving out play-time to write some code (and of course, still indulge in video games).
A result of that play-time over this winter break merits broader sharing than my usual side project. I built a web player for Apple Music, called ThinMusic, to scratch two of my itches:
As an Apple Music subscriber, I had no way to play...Anatomy of a shell
I’ve been contributing where I can to Simon Ser’s mrsh project, a work-in-progress strictly POSIX shell implementation. I worked on some small mrsh features during my holiday travels and it’s in the forefront of my mind, so I’d like to share some of its design details with you.
There are two main components to a shell: parsing and execution. mrsh uses a simple recursive descent parser to generate an AST (Abstract Syntax Tree, or an in-memory model of the structure of the parsed source). This design was chosen to simplify the code and avoid dependencies like flex/bison, and is a good choice given that performance isn’t critical for...
How DOOM fire was made
How the playstation and Nintendo 64 version of DOOM implemented fire.
Deciphering the postcard sized raytracer
How Andrew Kensler did it again and authored a breathtaking path tracer fitting on a postcard.
Porting Alpine Linux to RISC-V
I recently received my HiFive Unleashed, after several excruciating months of waiting, and it’s incredibly cool. For those unaware, the HiFive Unleashed is the first consumer-facing Linux-capable RISC-V hardware. For anyone who’s still lost, RISC-V is an open, royalty-free instruction set architecture, and the HiFive is an open CPU implementing it. And here it is on my dining room table:
This board is cool. I’m working on making this hardware available to builds.sr.ht users in the next few months, where I intend to use it to automate the remainder of the Alpine Linux port and make it available to any other operating systems (including non-Linux) and userspace software which are interested in...
How the Dreamcast copy protection was defeated
How the Dreamcast copy protection was defeated!
Game Engine Black Book: Wolfenstein 3D, 2nd Edition
The second edition of the Game Engine Black Book: Wolfenstein 3D is out.