Reflections upon my career

For the most part, I’ve never been a big believer in bucket lists. At least not the kind you wait until you’re dying to start checking off. In thinking recently, I’ve come to realize that the work I’ve done over the years probably checks those kinds of boxes on my career in software engineering.

Over the past 16½ years of programming: I’ve …
Followed as part of a larger group where the big picture issues were someone else’s problem, been the mythical programmer doing it all, led small groups where the big picture is my domain, and been the contact point for small groups.
Learned that I like design and architecture. Both creating them anew and studying existing projects.
Somehow ended up the guy everyone asks when they don’t know the answers.
Gotten to enjoy coffee machines that may have had more moving parts than my car.
Worked on traditional application and system level software, but also many other pieces that were off the beaten path. Kernel level drivers that needed porting, microcontrollers that drive hardware interfaces, developed libraries, tools, and frameworks.
Discovered those are all less magical than you think when you’re a young padawan. It’s less that it’s drastically different from normal software development and more that it’s important that you not screw up, explode, or paint yourself into a corner.
At times been both the smarted and the stupidest person in the room.
Made features people loved that were based off my ideas. Especially the curious ones when I wanted to know how something worked, and then found an imaginative use case for what was learned.
Made features people loved that we based off other people’s ideas. Especially the ones that made the product better for the customer.
Been one of the engineers that gets called when a customer goes down on a Sunday.
Been deemed the expert on some problem domain. Actually, I don’t want to know how many times that’s happened.
Seen code that I worked on make the magic happen and seen the results on a scope, even though I’ll never be able to spell oscilloscope from memory!
Been grateful for hardware engineers and technicians and their skill sets. As well as gladly working alongside them.
Had my hands in more than pieces of internal infrastructure than I can count. As a coworker recently pointed out, while “IT guy” has never been my job title at any of the places that I’ve worked, he noted that I could probably run an IT dept it I had to. The part of that bugs me, is he was serious, and others agreed.
Been a webmaster, not that I miss that job.
Gotten to work with equipment that I always thought was so expensive that I would never be allowed to touch it.
Seen more than one 8-inch floppy diskette.
Oh wow, satellites!
Been one of the guys who knows too much about what needs doing after the power comes back on.
Both saved the day like Mr. Scott and reminded people that I am not in fact Scotty.
Quoted Jurassic Park more times than I ever thought possible.
Had to wear both my red shirt and my brown pants.
Kept working on a problem everyone else gave up on, and actually found a solution.
Written code to handle parsing existing formats and data streams, including at least one parser of MPEG2 Transport Streams and various propriety things.
Written code, specifications, and documentation for formats and data streams I’ve created. Sadly, more often for propriety things.
Debugged more than a few weird problems.
Been the guy that gets to solve a problem because the team that should fix it in their project decided it’s too much work to do the right thing.
Solved problems at both ends so a system is tolerant if only upgraded one end.
Will probably forget more about the X Windows system as I get older than younger folk will ever learn.
Will never forget there was a character encoding named EBCDIC because test equipment was so much older than I was, defaulting to EBCDIC rather than ASCII made sense when it was manufactured.
Worked on existing and developed new products that actually get used and deployed.
Never got to go to tradeshows and conferences related to my fields but was the chief code monkey on a product that got an award at one.
There will probably be at least letter from a customer in my keepsake box.
Ahh. I’ve got to admit, it hasn’t been a dull career to date.

It’s been an unusually full weekend. A couple friends were in Atlanta making for a nice chance to hang out. As someone that already passes for a potato during my time off, this was probably the most time out I’ve spent since the pre-COVID age. Between work and medicine schedules it’s been difficult to get very far on the weekends, even after being vaccinated.

I’m also reminded that driving in Atlanta isn’t quite as bad as I remember, thanks to it being the weekend. But I’m still going with the accurate statement that Atlanta is a gravity well where cars go and pedestrians can walk faster 😅. Driving on the interstate doesn’t bother me, it’s just a case in methodical driving and trying to avoid the psychopaths. It’s more specifically the metropolitan gravity well that sucks.
Oddly the thing I’m most looking forward to about the coming week is coffee. I’m able to be a fully functional human being without caffeine, and did so the first twenty or so years of my life. Yet, I’m still in favor of an IV drip of espresso given how little coffee I’ve had this weekend.
As a side note, a entry in embarrassing life moments: wondering why the parking machine refuses to acknowledge my credit card exists, and then noting the machine is too old for chip cards which meant my mag strip was therefore on the wrong side. Or as my brain’s internal monologue phrased it, “Damn, I shouldn’t have skipped coffee”. Yes, never skip coffee. Something, something. Mm, coffee.

Thus far, getting the 2300c up and running has proven to be a bit of a longer running side project than expected.

Part of the juggle:

  1. Most of my software base targets M68K and system 7: about the time PowerPC support began.
  2. Most of my media for installing MacOS 9 either can’t boot on older than a G3 or is media that can neither be booted nor readily connected to the older hardware.
  3. Which parts will end up in which machine.
Now that I have a second IDE to SD adapter, I can fit the 2300c with its own internal drive. I’m thinking the larger RAM card from my 230c will get swapped with the 8 MB RAM card from the 2300c. At least if I can get the machine running MacOS 9 or 8.x where memory use will probably be higher. I can’t say that I care as much about the modem card given the process to swap that and my lack of a local test loop.
I’m thinking that the 2300c will get nicknamed “Maxwell”, after Gundam Wing’s Duo Maxwell.
Looking like the next steps will be creating an image for the SD card via emulator or trying to arrange booting my G3 machine and seeing if it can run an install to the 2300c using Target Disk mode and a SCSI connection. In the meantime, I might just see if the 230’s system 7 install will boot on the 2300c. If so, a whole lotta Zip disk swapping and multiple partitions might be an effective solution.
While the 2300c has proven to be in much better shape than I expected, the fancier color screen looks like it would benefit from recapping far more than the 230’s B&W. Figuring out replacement capacitors though, may be a project for another year. When it comes to the trouble of dismantling that section of PowerBook, it would probably make a good opportunity to do the same to the motherboard. Especially if the PowerPC model also has most of the caps in the same zone near the DC input.
Actually, come to think of it, I believe the baseline floppy setup system 7 that I used for the 230c should be viable if I make a PPC disk utilities floppy to bootstrap from. Decades after the fact, I’m not entirely sure I want to know how well an upgrade process from System 7.x to MacOS 9 would work.

Random thought

I think I can now say it is universally known that I love coffee.

That, or the only way to make it better known would be having coffee paraphernalia tattooed on my face….. lol

For the most part, lately I tend to find myself in an often-tired state. Part of this, I reckon is simply how life is right now. Between work and home, I’m usually kept busy at both ends. I’m used to it being a busy season by now. Another part, I think is that spring just doesn’t tend to be a great time of year for me in practice. Most years, actually I’ve been kind of glad this time of year leans towards busy much stronger than idle.

Recently, I marked 6 years since ma passed away. Events like that seem to make up the lion share of events on my calendar for the early parts of the year, that don’t involve meetings and appointments. It kind of bugs me that that trend has only grown since I was a kid. In many cases, it’s the death of someone I care about or the birthday of someone I care about whose no longer alive. That sums up the key highlights of my personal calendar for early months of the year. But I also guess that comes with getting older.

My grandfather used to say, “Adapt!” My mother was fond of pointing out that most of the things her dad said were utter non-sense, but she also had a talent for re-iterating the ones that were wise. For me, adaption has usually equated to get things done whatever needs doing.

In the course of my life, I’ve learned that I probably adapt a bit quicker than most folks I know. For things that I can file under doing, that’s kind of easier. It’s a more mechanical type of processing that leaves you something to focus on, whether or not it pisses you off in the process. It’s the things that aren’t as focused that I find harder.

For life in general, well, I’m pretty sure if I pointed out the times that my family had to adapt growing up, my momma would have both slapped me in the head for implying that she hated change that strongly and have listened to my two cents that she did well at making the most of it. That’s just how life is. You adapt or you stagnate.

Over the past few years, I’ve felt that my life has been headed towards a different chapter.

Oddly, this reminds me I’ve got about 30 more years until my age hits the next power of two…. 🤣

Passing thought: if personal cybernetics or portable nuclear power cells are ever a thing, I so need an integrated espresso machine.

For some reason this makes me remember Killing Floor’s Fleshpound. A type of zombie that effectively turns into a meat grinding berserker when the squad’s gunfire causes its chemical injectors to respond to its rage.

You know, having an espresso machine built into you would probably be a case of be careful what you wish for.

Great plan: saving leftover chili, macraroni, that could be smothered in cheese and tossed in the oven.

Bad plan: eating the entire pan for chilimac. Then polishing off a bunch of cheesecake.

Or was that a perfect plan….

Windows: oh, so poorly defined

Wondering what the heck Rimuru is so lethargic at I/O, to the point that programs take minutes to launch from the start menu and Explorer instances minutes to refresh.

Task Manager reports that my NVMe drive is at locked on 100% but only registers tens of MB/s in I/O. That’s kind of silly in more ways than one.

Running perfmon /res from PowerShell, imagine my greater surprise when the Resource Monitor paints the finger at PID 4, SYSTEM and shows executable files from the new XBox advanced management feature.

Now here’s the real kicker! Of the top three entries two are for a file that no longer exists on disk because I uninstalled the game a few weeks ago. Both marked at roughly 10~11 MB/s reads if you translate the B/s into reality. The third is installed but is registering ~4.5 MB/s reads for a file that is 600 something KB in size.

But I suspect that this non-sense is also a red herring, as system performance has leveled off despite the silly entries in the monitor. Whatever really sledgehammered the drive at startup is likely long since gone by the time I could get the monitors up and running.

That said, I kind of have to wonder what kind of I/O pattern could possibly register tens of megabytes of reads on a file that does not exist for thirty plus minutes and going, and if it did exist, would probably fit on a floppy diskette with plenty of room to spare.

Sometimes random things make you frown.

  1. Paper weight falls off the tea bag.
  2. String falls in the cup.
  3. Can’t reach the teabag or the string.
  4. Flip over cup and it still won’t come out.
  5. Tie the string to the handle and it flies off when adding water.

When they all in a neat streak of events: I call this an incremental frown.

On the upside sitting down with a spot of tea and not going ass over tea kettle in the process 😅

Done it again

So, it seems like I’ve done a naughty thing: I bought another vintage PowerBook. This time it’s a Duo 2300c.

A downside of 30-year-old Mac is the trackball is sometimes finicky and has proven resilient to my efforts. I’ve actually thought about acquiring a Wombat ADB-USB bridge so that I can use a modern mouse^ with my Duo 230. Later models tended to retain some serious hardware compatibility and reuse but eventually replaced the trackball with a standard trackpad. 

I’ve thought about acquiring a junked late model Duo for parts or trying to find piece meal parts of the old upgrade kits to refit my Duo 230 with a trackpad. Given the age of parts, probably better off with the Wombat approach. Encountering a 2300c in good shape that doesn’t cost more than a decent modern laptop of course was too tempting a target.

In my tastes for PowerBooks, things tend to lean more in the direction of subnotebook and ultra-portables. Even today, the Duo series greatly reflects my tastes in computing. 20-year-old-Mac’s PowerPC processor has been kind of nifty since it can emulate Motorola 68k and run native PPC code. But the ‘Street series is too damned hefty for my tastes even if its G3 blazes compared to an old ’30.

Interchangeability of parts between the Duo 200 series seems to be pretty high, but I’m not sure how true that is with the 2300c for internals. But unlike other PowerPC models I’d care for, because it’s the last Duo: it’s compatible with my peripherals. By contrast, other options lead in the direction of proprietary model-specific gear. The 2300c has the same dock port as the earlier Duo 200 series.

Depending on what shape its internals are in, I might end up with two functioning machines or kit bashing them together. I’ve been more interested in the 68k / system 7 era, but I can’t say that I really mind prospects of a 603e at nearly triple the clockrate of my 68030.

^ While I’m sure Apple must have made a decent ADB mouse at some point, I can’t say that I enjoy the rolling ball mice of old as much as I do an actual track ball or an optical based mouse.