Home
About
Contact
Resume
Portfolio
Goals
I've known I wanted to be a computer programmer since I was 8 and got hold of my mother's old TI-84 pocket calculator - it understood a dialect of BASIC. I learned Python from an introductory book for children soon after, and haven't stopped programming since.
Nowadays I specialize heavily in embedded development in C and Rust. Eventually I hope to start contributing to Embassy, as using it in work and personal projects has been a massive speedup relative to the traditional C/C++ way of doing things. It's worth the learning curve!
I'm a free software fan. I always prefer open-source alternatives to closed source software - e.g. Libreoffice instead of Office 365, GIMP instead of Photoshop, Linux instead of Windows (or MacOS), etc. I also write free software! One of my more significant contributions, Sitix, powers this site!
I've been using Linux since I was eight or so, and have used every major distribution (and some less common ones). My preference is for Fedora and the Red Hat ecosystem; I've recently gotten into atomicity as well. This webpage was written in GNU Nano in a Toolbox container on my Fedora Silverblue desktop!
I love printed books! Terry Pratchett is my favorite author, but I also read a lot of technical nonfiction. Some of the favorite titles on my bookshelf are,
Crafting Interpreters is an all-time favorite! Nystrom is an excellent author, and this is probably the single best introductory resource for language design.
Reading Fluent Python showed me just how little I actually knew about Python - it's an incredibly good read for anyone interested in the many intricacies of this deceptively simple language.
How Linux Works is a very broad look at linux. It avoids delving deep into anything, but visits almost everything - this makes it an excellent introductory resource for new superusers.
Operating Systems is a surprisingly hilarious look at the critical components of a modern OS; the Arpaci-Dusseaus manage to be consistently funny and lighthearted about this incredibly dense topic.
DDIA is actually fairly boring compared to the others, but is also incredibly useful for software engineers building scalable applications; its depth and breadth are nicely balanced to cover most of the really important bits.