Welcome to my blog¶
I'm publishing notes about what I learned, in case they can help others. I try to write them as comprehensively as possible for people who are just starting.
I publish instructions on how to build my projects—electronics, code, or both—and provide links to the code when it runs on a Raspberry Pi.
I also provide screenshots and user guides for the iOS apps I develop.
Note: I just started posting in December 2021. It might take a little while to get all my notes and projects on here.
How this came about¶
Having accumulated enough years of working, I took a break when Covid hit. It was going to be a one-year “sabbatical” ... but so far, I'm still on “sabbatical.”
What am I doing?¶
I do electronics projects and some software goals I wanted to hit, like writing an iOS app or creating Raspberry Pi-powered devices.
Physics and electronics were just as I left them 30 years ago, so I could dust off my old Tektronix 465B oscilloscope to investigate how dirty the power supply of a Raspberry Pi can be when trying to build audio circuits.
Software, on the other hand¶
Software has changed since I last wrote web applications in the early 2000s—or programs in the 1980s, but let's not go there.
- Python went from version 2 to 3, and almost nobody is writing new stuff in Python 2.
- iOS introduced Swift and SwiftUI, and it is early enough that every new iOS version changes things.
- Relying on other people's software: so many people now use libraries to do things. This is a very different philosophy for me, given that I started on Fortran on punch cards.
And then I had to learn some new things because of the choices I made:
- I finally said goodbye to Windows and bought a MacBook Pro for writing code.
- I read UNIX in a Nutshell and became somewhat proficient in the Raspbian world of Raspberry Pi.
- I learned that how to do things in Linux changes every 10 years or so, like D-Bus and systemd, while others remain arcane and obscure like ALSA audio.
Why publish my notes?¶
If you are very new to something, or have been away for quite a while, instructions and examples on the web can be cryptic. Don't get me wrong—without Stack Overflow, it would have taken much longer. However, the experts who freely share their knowledge on the web have often forgotten that the basics they know had to be learned at some point; they no longer think of defining them.
I am rarely content to only copy code examples to solve a problem. I want to understand why it does what it does. This means tracking down concepts or digging into explanations that can be difficult to comprehend because the most basic principles—unknown to me, the new person—are not explained.
So I resolved to write down my learning process. I want to pay particular attention to the things that appear obvious to those who already know them. I hope I succeed in helping people who read this blog in search of comprehensive guides and instructions.