I am seeking fully remote work in low-level embedded or related software development, ideally working with a team in Central, Mountain or Pacific time zones. I would prefer to be a full-time direct hire, but will also consider hourly contract work full-time or part-time.
I have decades of professional experience designing, implementing, testing, debugging, documenting, and maintaining software projects in a variety of languages, on a variety of platforms. Since 2000, I have specialized in embedded development. I also have experience writing documentation and training materials, leading small teams and projects, and mentoring junior engineers.
I will not forget Argo AI trying to convince me that if I stayed with the company for four years, by then my equity would be worth an estimated $700,000. I made it just over a year in stressful, high-pressure environment, with a toxic manager; I knew it was time for my weekly one-on-one because my heart rate monitor would start giving me warnings. He loved to humiliate individual employees in our scrum team meetings; at one point I called him out on it and demanded that he apologize for his unprofessional bullying. He actually did, but our working relationship was never good after that.
Anyway, my enormous efforts and long hours got me a "meets expectations" review. The company imploded just after I completed that first year, and so my equity was worth nothing. Good times!
I am seeking fully remote work in low-level embedded or related software development, ideally working with a team in Mountain or Pacific time zones. I would prefer to be a full-time direct hire, but will also consider hourly contract work.
I have over 30 years of professional experience designing, implementing, testing, debugging, documenting, and maintaining software projects in a variety of languages, on a variety of platforms. I have developed software for platforms ranging from the Apple Macintosh, to Microsoft Windows, to Linux, to the Apple Newton, to embedded devices. Since 2000, I have specialized in embedded development. I also have experience writing documentation and training materials, leading small teams and projects, and mentoring junior engineers.
Let's say by "didn't need money" you mean I have an income that is enough to fully support my family and keep my home in good repair and even make home improvements (we need some big repairs to gutters and fascia, deck, HVAC, etc.) That's not a small number especially factoring in health care... but let's assume it's taken care of and all our needs are taken care of, and I even have a little disposable income for IT, music stuff, books, etc. I could continue with the things I've done in my limited free time for decades:
- writing non-fiction and fiction
- making original music and podcasts
- developing educational hardware/software projects
- developing my own programming languages
- continuing to refine and catalog our large home library
- gardening and transitioning towards growing more of our own food.
I'd spend much more time involved with my kids since my wife and I already homeschool, but I can't put very much time into it now.
It's a funny dunk on the language but I was hoping for some actual root cause analysis. It sounds like the change actually uncovered a pre-existing bug which was not (yet) causing a crash (but may have been silently overwriting memory). In that case, the root cause was the existing code's failure to use memory safely. There's not much point blaming a 50-year-old language, which was never designed with modern type safety but instead has features that allow deliberately throwing away safety to make low-level systems programming possible, for not having modern type safety. The generation of programmers who learned to use it as safely as possible (which I belong to) are getting old and cranky. We're now inclined to say that the person who wrote the pre-existing bug needed more experience. We'd all love to use Rust for new code but there's an awful lot of legacy C code that needs fixing.
Bob's Red Mill steel cut oats is fantastic. In recent years I've been making it as a savory, not sweet, breakfast - topped with grass-fed butter, a fried egg, and some thyme from our garden, sea salt, and black pepper. Energy for hours!
iTunes was a complex mess with too much functionality in one app, but for many years it worked really well for me. Replacing it with the new apps has been a process of removing functionality I relied on, obfuscating and making less user-friendly existing functionality, and pushing people into using cloud services. Some examples:
- Older versions of iTunes had a great "home sharing" function that allowed sharing the library with devices running iTunes on the LAN. I used this very extensively. iTunes running on my 2008 Mac Pro still runs the server, and there is kinda-sorta client functionality in Apple Music, a bit hidden, but it is not reliable (constantly disconnects mid-song). Also, there was never an iOS client which would stream from this server. There were some half-baked attempts at open-source apps that would do it, but Apple broke them by encrypting the streaming across my own LAN.
- iTunes stored podcast and audiobook files in a simple and transparent way. Now podcasts (accessed using the separate Apple Podcasts app) are stored buried in Library subdirectories with long gibberish filenames. Although they're really just MP3 files with extra tags, it's now very difficult to just grab an episode by filename and save it elsewhere or forward it to a friend.
- iTunes had best-in-class tag editing. Apple Music's tag editing is buggy.
Jobs had a vision of the Mac as a media hub for managing your collection and I liked that vision. Apple even (eventually) removed DRM from iTunes downloads. Forcing me into DRM and subscription services? No thanks. What I've done instead is, gradually, buy many dozens of used CDs and rip them, to replace any lossy iTunes files I purchased years ago. My entire library is now CD + ALAC (lossless) + purchased FLAC files that some vendors offer (and which were never supported on iTunes or Apple Music, but play flawlessly from the Synology). I use rsync to sync my iTunes library to my Synology NAS, and use Synology's free iOS apps to stream the whole library on our iOS devices, or on laptops and desktops, just use the web player. It works great and I can stream to stereo receivers without any difficulty as well using an AudioEngine B-Fi. No streaming services, no monthly bills.
WOW finally I encounter somebody with the same use case as me in the wild. I thought that would never happen. Except I stream off my 2007 Macbook instead, which is basically just a NAS to me at this point. (I actually do own a Synology NAS but have not integrated it with this existing system)
I hate the UI on Apple Music enough that I don't use iTunes Home Share anymore, but instead run an instance of MPD and then just control playback through ncmpcpp. But to modify tags, add ratings, etc. I have a Screen Sharing session open to the 2007 machine to use iTunes. I have an ongoing project to write a web app that would free me from iTunes altogether, but it will be a while before that's usable.
I don't remember if I ever encountered the disconnection issues you did with a modern machine + home sharing with an older one. The thing that drove me the most nuts was that I could not use home sharing if I was using my headphones over bluetooth. They had to be plugged in for home sharing to work.
My favorite trick was when I figured out how to get the advertisements from home sharing forwarded over VPN, so I could use it when I was on work travel. Unfortunately that broke when I upgraded from Mavericks to High Sierra and I never figured out how to fix it.
I'm not informed enough to come up with a good question, but I love your work! And I love the concept of chips built on sapphire, even if it didn't win in the marketplace. Could we get Ruby running on ruby? :P
Remote: Yes (available for remote work only)
Willing to relocate: No
Technologies: ARM Cortex-M, Agile, Bootloaders, C, C++, Device Drivers, Embedded Systems, FreeRTOS, GNU/Linux, Microcontrollers, Microsoft Windows, Python, QEMU, Tech Writing, Test Automation, Testing
Résumé/CV: https://thepottshouse.org/paul/portfolio/Complete_Resume.htm...
Email: paul@thepottshouse.org
I am seeking fully remote work in low-level embedded or related software development, ideally working with a team in Central, Mountain or Pacific time zones. I would prefer to be a full-time direct hire, but will also consider hourly contract work full-time or part-time.
I have decades of professional experience designing, implementing, testing, debugging, documenting, and maintaining software projects in a variety of languages, on a variety of platforms. Since 2000, I have specialized in embedded development. I also have experience writing documentation and training materials, leading small teams and projects, and mentoring junior engineers.