Tuesday, March 10, 2026

C versus C++

Last week at work, I was helping a colleague with some low level code.  That's because I'm the firmware guy responsible for the bootloader, OS, device drivers, and other low level code.  I wrote a couple functions for him to access capabilities he needed to use.  Since I've been writing C for over 40 years, I write in the classic (or perhaps archaic) style of the first edition of the K&R book .  This involves always returning an integer value (where appropriate) to indicate success or failure and using pointers to return any values which need to be returned.  The next day, he asked if I could help him figure out why it was crashing.  It turns out he didn't understand pointers very well.  To be fair, this engineer is much better at C++ than I am and pointers are a kind of a holdover from the days when C was more like a portable assembly language.  He's also a top notch signal processing engineer.  I ended up fixing his code to access my functions for him because my explanation of pointers didn't click with him.

About 6 months ago I had experienced something similar with another younger engineer.  To be fair, what I call the younger engineers in my group are mostly in their 40s and are all extremely competent.  Anyway, I had written a device driver for him to control the 2 LEDs we have on one of our devices.  Since I come from the days when storage was precious, I had compressed the parameter to control both LEDs and their blink rate (if not solid on or off) into a single 32-bit word.  Doing so involved bit shifting and masking which is second nature to me as I had been trained in simplifying Boolean expressions many years ago.  Engineer #2 didn't understand this code and wanted to reverse it to read what state the LEDs were currently in.  Our company has been pushing an internal version of GPT so he gave it my code and asked for code to reverse my operations to compress all that information into a single word.  It crashed his GPT session and which apparently took several days to clear up.

I think both problems stem from the fact that C++ is heavily object oriented but manages to fool old-timers like me into thinking it's just a fancier version of C.   The problem is being slowly solved as more of the greybeards like me end up retiring which I'm most definitely looking forward to.

Sunday, March 08, 2026

link dump #3

I follow a lot of RSS feeds which makes it easier for me to discover interesting web pages without visiting a lot of favorite blogs which haven't been updated.  I hate to send these interesting links via email since it feels too much like a teacher giving homework... here, go read all of these web pages and report back to me.  Instead collecting them in a blog post seems like a friendlier way to pass links along.

Nathan Fillion has been dropping hints lately which make are making fans suspect that some type of Firefly sequel might be in the works.  If I had the power to bring back a single show, it would definitely be Firefly.
https://www.ign.com/articles/nathan-fillion-is-getting-firefly-fans-all-sorts-of-excited-over-20-years-after-the-show-was-canceled 

I find a lot of anti-AI sentiment among techies and artistic types in various places.  I've lost the link, but I recently saw a CTO complaining that he got the axe because his company was replacing some executives with AI.  There's a company I definitely wouldn't want to work for or to reply upon as a customer.  I'm lucky because I'm very close to retirement with more than enough work to keep me busy until I pull the ripcord.  I feel sorry for younger engineers who have to deal with the instability AI is causing.
https://www.scottsmitelli.com/articles/you-dont-have-to/

NASA's DART (Double Asteroid Redirection Test) just managed to nudge a binary asteroid system.  There may be hope if we manage to detect a killer asteroid early enough to launch a mission.
https://arstechnica.com/science/2026/03/nasas-dart-mission-shifted-the-orbits-of-two-asteroids/

The news that younger males are clinging harder to outdated gender roles than older generations do depresses me.  One can only hope that they alienate partners before managing to reproduce.
https://www.theguardian.com/world/2026/mar/05/gen-z-men-baby-boomers-wives-should-obey-husbands

Videos of launching small cars via trebuchet are entertaining but I really wish they has stuck to launching Yugos or other worthless cars.  A classic Austin Mini seems too valuable to waste this way.
https://www.jalopnik.com/2117130/watch-cars-launched-by-trebuchet/

Sunday, March 01, 2026

link dump #2

I follow a lot of RSS feeds which allows me to find a lot of interesting web pages.  I hate to send them via email since it feels too much like a teacher giving homework... here, go read all of these web pages and report back to me.  Instead collecting them in a blog post seems like a friendlier way to pass links along.

When I was a kid, my favorite cartoon by far was The Rocky and Bullwinkle Show, which started airing as repeats when I was 7 years old.  I found it refreshing because unlike other cartoons of the time, it never talked down to kids.  I knew some of the humor escaped me but that made me love it all the more.  Thanks to the more sophisticated humor, I continue to love it even now.
https://www.smithsonianmag.com/innovation/how-bullwinkle-taught-kids-sophisticated-political-satire-180964803/

Who knew that deaths due to car crashes spike around the release of pop albums?  Seeing the way some people drive on my 40 mile commute, it doesn't surprise me as much as it should.
https://www.theregister.com/2026/02/23/pop_album_fatal_car_accidents/

I've enjoyed Jason Lee's acting in Kevin Smith's movies as well as My Name is Earl.  Here's an interesting interview with him which he was not happy with.  I can see his point since it appears the interviewer misrepresented what type of questions would be asked.
https://defector.com/a-complimentary-profile-of-jason-lee-that-was-surprisingly-difficult-to-publish 

Cory Doctorow gave a speech 15 years ago about the coming war on general computation which looks increasingly plausible given what AI companies have been doing lately.  If you enjoy realistic near future SciFi which is both entertaining and a bit frightening in its likely accuracy, check out his website craphound.com.
https://en.wikisource.org/wiki/The_Coming_War_on_General_Computation

I was surprised to read that tire pressure sensors have enough range to be considered a privacy risk.
https://boingboing.net/2026/02/27/tire-pressure-sensors-are-a-huge-privacy-risk.html

An asteroid passed pretty close to Earth and apparently we didn't see it until it had already passed by.
https://boingboing.net/2026/02/24/an-asteroid-passed-428-km-from-earth-and-no-one-saw-it-coming.html

A computer formed of chips containing 800k human neurons has been taught to play Doom.  I find this disturbing on a lot of levels.
https://boingboing.net/2026/02/26/living-human-brain-cells-are-now-playing-doom.html

This article about the steady loss of deep knowledge is something which worries me.
https://fireborn.mataroa.blog/blog/the-slow-death-of-the-power-user/

Monday, February 23, 2026

link dump #1

I follow a lot of RSS feeds which allows me to find a lot of interesting web pages.  I hate to send them via email since it feels too much like a teacher giving homework... here, go read all of these web pages and report back to me.  Instead collecting them in a blog post seems like a friendlier way to pass links along.

I'm fascinated by miniatures so I find these very realistic RC trucks very cool.
https://www.thedrive.com/news/custom-rc-shop-recreates-real-life-work-trucks-that-are-fully-functional-just-mini

Speaking of miniatures, these models of classic computers remind me of my days as a field engineer in mainframe and mini computer data centers.
https://www.miniatua.com/work/ibm1401/ 

Someone took the time to recreate the Top Gear studio using Lego.
https://www.thedrive.com/news/someone-recreated-the-top-gear-studio-in-lego-and-so-can-you 

Did you ever wonder where the expression 'peanut gallery came from?  It's older than I thought.
https://theconversation.com/the-complicated-origin-of-the-expression-peanut-gallery-148897 

This sliderule simulator teaches you how to use one for calculations.  I should use it remember how to use one of my small sliderule collection. 
https://hackaday.com/2026/02/18/sliderule-simulator-teaches-you-how-to-do-calculations-the-old-fashioned-way/

Sunday, February 22, 2026

Legacy hardware persists

I develop firmware for small embedded devices with ARM CPUs.  Most of these devices run some flavor of Linux.  An important device for Linux machines is the console interface.  Older PCs had physical serial ports available.  Modern PCs lack serial ports but they usual direct the console interface to the monitor/keyboard combination.  Small embedded systems usually don't have a dedicated monitor or keyboard and they often don't have a physical serial port.  The devices I work with have a USB serial interface which provides a serial interface over a USB A to USB micro cable.

Once in a while it becomes necessary to interface via a physical serial port, often using a DB-9 connector.  When that's the case, I'm always asked to make it work since none of the younger engineers have much experience with older technologies while I spent a few years at the beginning of my lengthy career as a field engineer for mini and mainframe computers where serial ports were common.

Last week, one of the younger engineers was hooking up a couple devices via DB-9 serial connectors and wanted to hook 2 male DB-9 connectors (the ones where the pins are visible) together.  He came to see me because my office tends to be a graveyard for old cables and connectors as well as test equipment.  He asked about whether a null modem cable would be required.  I took a little time to explain when null modem cables are required but it quickly became obvious that I was providing more information than needed and that he just wanted to solve a problem.  

My theory has always been that I can solve problems faster if I develop a mental model of how a given technology works.  What helped me tremendously in figuring out the many possible variations in async serial comm devices was getting the job of on-site field engineer as USA Today in Rosslyn, VA when they launched in 1982.  As part of my duties, I had to hook up the satellite feeds from various news agencies like UPI, AP, and Reuters.  There were a lot of async devices to hook up to the 12 DEC PDP-11 minicomputers.  Fortunately I had an RS-232 breakout box which helped identify how the serial cables needed to be wired.

I had been trying to explain the young engineer at work that null modem cables allow 2 terminal type devices to be connected together where the original intention was for a terminal to be hooked to a modem type device.  There are 2 main categories of RS-232 serial equipment, data terminal equipment (aka DTE) and date circuit-terminating equipment (aka DCE).  Modems or modem eliminator devices are DCE equipment.  The primary function of a null modem cable is to swap the Transmit Data line with the Receive Data line.  When DTE devices are directly connected to DCE devices, no such signal swapping is required.  Admittedly, this is for devices which follow the RS-232 standard closely which doesn't seem as common as one might think.

On some of the smaller devices, there's only a serial port available for data transfer.  In those cases, I choose ZMODEM to securely transfer binary data files between machines.  Back when I used to connect to bulletin board systems (aka BBSes), terminal emulator programs which supported ZMODEM used to be plentiful but now there's only a few options.  I've been using Tera Term because I find its ZMODEM implementation easier to use.  Here's what a file transfer looks like using it.


 

 

 

Saturday, February 21, 2026

Darts and hanging out with friends after work

A few days ago while doing some neck exercises given to me 8 years ago by a physical therapist to help prevent pain from bone spurs in a neck vertebra, instead of stopping at 50 repetitions as I usually do, I continued to 51 by mistake.  That triggered the thought that 51 is 3 x 17 which made me think of playing darts where landing a dart in the triple 17 ring is desirable.

I started playing darts around 1985 or so.  At the time, I was working at GE Information Systems in Rockville, MD at the time and commuting there from Northern VA.  At GE I became friends with a Brit named Dave there who organized weekly lunch outings to area ethnic restaurants.  Those outings were a welcome distraction from the repressed corporate atmosphere at GE.  Dave left GE about a year after I met him and he started working at Sprint International in Northern VA.  Few recognize the name Sprint International.  It's what was left of Telenet which used to run one of the largest packet switched networks in the world.

Since Dave lived in MD and was commuting to Northern VA, we had commutes which were close to the opposites of one another.  He and I missed chatting and we figured out that McLean would be roughly halfway if we wanted to meet for a beer after work.  He found a great little place called McKeever's Pub which had a great atmosphere as well as featuring a couple dart boards and we began meeting once a week there.

Dave was quite skilled at darts.  With practice I became a mediocre player but only for about an hour or so when the beer I consumed balanced out the residual caffeine from my workday which tended to leave me too jittery to have much accuracy.  At some point, my skills started waning as the caffeine lost the battle and I relaxed too much.  We usually played either Cricket or 301.  Despite not being very good, I enjoyed playing darts unless forced to play against someone who was too competitive.  

The strange train of thought which began with my 51st repetition next had me wondering what happened to the owners of McKeever's Pub.  I had heard a rumor that it it had closed about 10 years ago which made me a little sad but still nostalgic for the many evenings spent there chatting with friends and trying not to embarrass myself at darts.  It turns out the rumor of the pub closing was true and I discovered that one of the patrons had loved the place so much that he bought up the furnishings and recreated it in his basement.  Those of us who enjoyed the McKeever's Pub's welcoming atmosphere and excellent food (I still miss their bacon cheeseburger and home fries) can understand the impulse to keep it alive.  Then I discovered that the owners had opened a vineyard and restaurant on their farm in Leesburg, VA.  It's called EagleTree Restaurant and Winery and judging by the menus I looked at, it sounds amazing.  I think a visit may be in order at some point.

I hope everyone finds a happy place to meet friends to unwind after work.  I've had a few since McKeever's including Old Dominion Brewpub, Dogfish Head Alehouse, and Leesburg Public House.  Discussions outside of the office tend to let you find interests you may have in common and can make work friendships closer.

Saturday, January 24, 2026

Our not-so-new 60 pound lapdog

We had the sad experience of losing 2 dogs to different forms of cancer in 2023.  First we lost Bandit, an 80 pound lab shepherd husky pit mix we had loved for 10 years, to bone cancer which had spread to his lungs. We lasted 3 weeks before the house became unbearably quiet and we adopted Greta, a sweet 50 pound pit bull.  We lost her to lymphoma after having her for only 7 months.  This time to prevent the empty nest syndrome, we immediately adopted Kya, a 60 pound pit bull, who has kept us busy ever since.

 


A mere 3 days after we adopted Kya, she gave us a scare by getting very sick.  She stopped eating and drinking due to a severe gastrointestinal bug of some sort.   We had to drop her off at the vet where they kept her overnight to administer IV antibiotics and fluids.  When we picked her up the next day, we had to sit on the floor with her to coax her to eat and drink before the vet would let us take Kya home.  The picture above is from Thanksgiving at my mother's house which was 4 days after we brought her home.  She still wasn't feeling 100% when this picture was taken.

She was suffering from FAS (Fear, Anxiety, Stress) syndrome when we adopted her.  I think that's probably because she had been in the shelter twice before we adopted her.  She has relaxed quite a bit in the past 2 years but she can still be a bit reactive at times.

After she recovered from her GI issue, we discovered that at 3 years old, Kya had a lot of energy and is quite athletic.  She gets 1 or 2 long walks per day as well as several play sessions on long leash while playing catch.


 

We've had Kya for a little more than 2 years now and she continues to be an absolute joy. She's affectionate, protective, and very enthusiastic. It never gets old having her rush up the stairs to check on me when she gets home from her morning walk and I never get tired of seeing her antics when I take her out for multiple daily play sessions which makes us both happy.

As you can see from the picture below, she's got me totally wrapped around her paw.  She also has us convinced that at 60 pounds, she's not too large to be a lap dog.  She turned 5 in December.  We're hoping to have another 10 years with her because she makes every day better.