Posts

2026 Solar Eclipse In Spain: The Math Is Mathing

Image
  I had the good fortune to witness the 2026 Solar Eclipse in Spain.  Instead of appearing high up in the sky as a singular cosmic event, this eclipse showed itself low in the horizon, as if to join and partake in the lights and life of the town of Salou. I felt awestruck... and gratitude. I also want to thank the astronomers who sent me to the correct space-time coordinates. Predicting the time and place of the total eclipse is a remarkable achievement and a testament to mathematics. Often taken for granted, the Fields Medals and International Mathematical Union (IMU) Awards gives math its due every four years.  I wrote about the 2022 winners here . The 2026 winners are listed and honored on the  Simons Foundation  webpage. As a computer programmer I want to highlight the three IMU Awards winners because, to a small degree, I can relate to parts of their work. Abacus Medal to Shayan Oveis Gharan . His work revolutionized our understanding of Markov Chain Monte ...

Beautiful Code In A Vibe Coded Future

Image
  Beautiful Code was published nearly 20 years ago in 2007. The blurb on the back cover promises an over-the-shoulder look of leading developers creating elegant solutions to hard problems. Some of those shoulders belong to well-known heavyweights of an earlier period, including Brian Kernighan and Jon Bentley . A bit closer to the present, Yukihiro Matsumoto, nicknamed Matz and inventor of Ruby, writes "Treating Code As An Essay."  Notably, Matz argues that code is meant to be read by humans. Ideally, beautiful code would be simple, balanced, and make developers happy and productive. In contrast, I must point out, AI generated code is meant to be, at most, corrected. Separately, Bjarne Stroustrup had this to say when asked by  Lex Friedman  on how can you tell when your code has reached the Einstein level of  simplicity : "It's easier to recognize ugly than to recognize beauty in code. . . sometimes beauty comes from something that is innovative and unusual,...

These Keycaps Make My Keychron Q3 Pro Much Better

Image
Back in December, I reviewed the Keychron Q3 Pro.  I liked it... mostly.  What I didn't like were the keycaps which were sharp, sculpted, high, and deep. Designed to guide and cradle your fingers, the aggressive shape captured your fingers and tortured them. It took energy, focus, and deliberation to type on the OEM keys. 

Old McLeary Built An AI Data Farm, AI-AI-Oh!

Kevin O’Leary — multi-millionaire and host of Shark Tank — is backing the Stratos Project in Utah. A planned AI data center, it’s big, expensive, power hungry and wastes precious water. Read more about this in The Salt Lake Tribute . Meanwhile, feel free to add more verses.

Happy 50th, Apple

Image
In the 1983 movie " WarGames ," a young Matthew Broderick and a likeable AI come to a tense nuclear moment. The AI concludes "A strange game. The only winning move is not to play." Today, in 2026, amidst a tense AI spend and scramble, Apple has come to the same conclusion: "A strange game. The only winning move is not to play."

Two Things I Did Not Know About The Apple Studio Display

Image
Every written and spoken word about the Apple Studio Display is true. The brushed aluminum hardware is beautiful. The panel, sharp and vibrant, is stunning.  And the price, starting at $1599, is crazy high. Back in 2022, I was merely  thinking about getting one. By 2025, those thoughts turned into reality. I purchased the display and maxed it out with the height adjustable stand and the nano texture glass. Now in 2026, my heart is a little heavy because Apple just released a new 2026 Studio Display . More on that later. My old iMac (Retina 5K, 27-inch) had a very glossy panel, and I struggled during the day with mirrored sunlight from my windows and a skylight, and at night with reflections from a lamp. The nano texture glass effectively neutralized them all without sacrificing image quality. It was well worth the added cost. Over time, I discovered two things not discussed much: The ambient light sensor is not in or near the camera lens. The display continuously draws 11-1...

Use-After-Free Exploit Again?!?

Image
  It's an all too common attack. Hackers break C code by finding a way to re-use a freed pointer. A recent exploit was serious enough for Google to issue an emergency Chrome update. For a business perspective, read the Forbes article . For a technical look, watch the youtube video from Low Level . This is an old problem with an old, and apparently forgotten, solution.

The Keychron Q3 Pro TKL

Image
  This is the Keychron Q3 Pro TKL. Normally costing $150, Keychron offered it for $125 configured with banana switches. I thought I was getting a deal but I failed to read the fine print. Because the keyboard was shipped from China, DHL invoiced me $25 to cover the tariff. This is not an uncommon story, as any coffee drinker will tell you. You can probably find this keyboard stocked a US warehouse, and thereby avoid any tariffs, but I was looking for the banana switches which are tactile. Think  Gatreon Brown or Nuphy's Wisteria  switches. The Keychron Q3 Pro is a good keyboard with some quirks.  Mechanical, full height with a heavy aluminum base (~3.5 pounds!), it supports three bluetooth connections and one wired connection. The OEM keycaps are sculpted, feel deep, and have a sharp edge. All that works fine until you press a key on the bottom row. The well defined keycap edge cuts into your thumbs, especially when pressing the spacebar. For a work around, look clos...

My Switch From the Apple Watch 4 To The Pebble 2 Duo

Image
While reaching behind my computer, I banged my Apple Watch 4. The crystal was unfazed, but the watch itself, which I bought in 2019, was feeling large, heavy, and tired. The battery barely holds a charge for a day. I could buy a new Apple Watch, but I was looking for something smaller, lighter, and  simpler .   The first incarnation of the Pebble Watch was introduced in 2013 and discontinued in 2016. Pictured above is the just released, second incarnation called the Pebble 2 Duo . which I pre-ordered for $149 and now sits on my wrist.  From the price alone, it's clear the Pebble is not a replacement for the iWatch. The iWatch has a touch screen, more sensors, and a password lock to protect the data it measures and stores. More durable, you can take the iWatch to the beach for a salt water swim, whereas the Pebble risks corrosion and seal breaches (it has real buttons) if exposed for extended periods. The Pebble, however, can wade into the Apple ecosystem and do alright. ...

Switching The Nuphy Air Switches

Image
From Clicky To Quiet: Blue, Brown, Wisteria, Red My Nuphy Air75 mechanical keyboard seems to drop keys occasionally. I ordered it with blue switches, the clickiest available, and also the ones that require the most operating force. This could explain (some of) the dropped keys. Apple keyboards, with scissor switches, have short travel distances and don’t require much force. With muscle memory ingrained, my fingers just glide over the keys with speed and accuracy. But mechanical keyboards provide better, even addictive, tactile feedback. They also offer auditory feedback which, on a subconscious level, helps with focus. Operating forces from the   Nuphy website : Blue operating force: 65±15gf end force: 70±5gf Brown operating force: 55±15gf end force: 60±5gf Wisteria operating force: 55±15gf end force: 50±5gf Red operating force: 50±15gf end force: 60±5gf All switches have the same total travel distance of 3.2+0.2mm Wisteria sits alongside Brown, between Blue and Red. Wisteria’s end...

Prolog Is Past

Image
With apologies to Shakespeare, the correct quote is "What's past is prologue," which eloquently states that events and actions of today shape and foreshadow the world of tomorrow. Prolog is an AI language of the past, and I had a little fun with it in the 1980s. I have long forgotten the language syntax, but do remember the program I wrote to answer a juvenile question: "If God's power is infinite, can he create a boulder he cannot move?" On the screen appeared the answer I expected: "Undefined." I shrugged, and was just a little disappointed the computer didn't crash or blow up, not realizing then, that "undefined" was a very good, if not the best possible answer. Enter the prompt today in the Duck.ai / ChatGPT-4o, I was amused by its answer: A second attempt produced a few paragraphs describing the nature of omnipotence and the logical paradoxes it can bring. The essay could have been written by a high school senior. In contrast, th...

A Raspberry Pi and Logitech Jam

Image
My old Logitech K750 keyboard has been with me for more than 12 years and is poised for a second life with a Raspberry Pi. What powered the keyboard all this time were the solar panels above the row of function keys. The collected energy, whether from daylight or lamplight, was stored in a Maxell ML2023 rechargeable button battery seen below: ML2023 Rechargeable Battery So far, I’ve only had to replace the battery twice, but Logitech (intentionally) did not make it easy, as I needed a spudger tool to gently pry the battery tray open. Do not use the similarly sized CR2023 battery, as it is not rechargeable and would pose a fire hazard. Being solar powered, it follows that the keyboard would be wireless. Connection to a computer is over a 2.4GHz USB dongle, which Logitech calls a Unifying Receiver. Living up to the name, this receiver also let me connect an old Logitech M335 mouse. While there were many Logitech models listed in the Raspberry Pi’s keyboard settings, there wasn’t one fo...

A World Without "Technology"

Image
Back in 2005, I wrote " Yam Technology? ", a light hearted article pondering my company name.  Today, the "technology" part of the name has proliferated, and I am sometimes mistaken for someone or something else.

😦 The Real CrowdStrike Flaw Was In Deployment

By now, most of you are familiar with the story of CrowdStrike and the resulting worldwide outages. The initial, and angry, responses were along the lines of "Where are the devs? Where was QA?" As it turned out, the actual patch, or software code, was fine. The problem was in the config file  that governs the behavior of the patch.  Being flawed, it triggered the Microsoft Windows' blue screen of death. In a variation of "Who Watches The Watchers," the config file was indeed tested, but CrowdStrike's testing system was unknowingly broken.  The config file passed when it shouldn't have. Nothing is perfect all the time, but what would have mitigated the fallout would have been a gradual or staggered rollout of the config file instead of the apparent "big-bang" release to all machines at once. The staggered rollout is an old and reliable technique. I can think of 2 reasons why it might have been forgotten or abandoned: inexperience or over-confide...

Raspberry Pi Swap Space

Image
Who took my slice of pi ?   Sometimes I ask myself that while looking in the fridge. This time, I am looking at the  top  command and see nearly a quarter of the reserved swap space in use.  The question is purely academic, and spurred by curiosity, I wrote a bash script to learn the answer. The script, swapid,  searches through the process list, identifies the process name and amount of swap used, and then sorts the output by swap size.  With Linux, processes can be viewed and interrogated like a file system. Run $ ls /proc and you'll see it sprinkled with subdirectories named with numbers. These numbers correspond to process ids. Inside each of these subdirectories is a file named status , and running  $  cat status reveals a bunch of process information. At this point, it's simply a matter of using  awk and   grep   to pick out the attributes of interest; in this case, "Name" and "VmSwap." Output is written to the /tmp di...

Raspberry Pi 5 Resource Limits

Image
I was fortunate enough to get a Raspberry Pi 5. I had no particular purpose for it other than to explore it and have fun. On UNIX and Linux based systems, part of that exploration involves checking the default resource limits . The screen shot above is a vimdiff of the rlimits for the Raspberry Pi 400 (left) and the Raspberry Pi 5 (right). Both are running their respective 64-bit versions of Raspberry Pi OS. Four of the 15 resources turned up with diffs, and it's no surprise that the pi5 would have the higher limits. These include the number of processes , the locked-in-memory address space , the number of pending signals , and the realtime priority .  They all serve the common purpose of improving realtime performance.  The last item, realtime priority , is the most telling.  On the pi400, the current and max values are 0.  On the pi5, they are 2.  These settings most likely support hardware destined for the Pi5's new PCIe connector. For a detailed review o...

MR2 Check Engine

Image
Shown here is the 1991 Toyota MR2. Thanks to the mechanical skills of a family enthusiast, it purrs, growls, and turbo whistles like a dream.   My hardware ability doesn't go much further than oil changes. Rather, my expertise is in software, and I wrote an app for Android and iOS to diagnose the flashes of the check engine light. This second generation MR2 predates the OBD2 connector, a standard used to diagnose engine, transmission, and emissions problems quickly and easily. Instead, we have a flashing check engine light which needs some deciphering, followed by a lookup in the service manual. Basically, you count flashes to arrive at fault code number. A short pause (~1.5 seconds) indicates the start of the next digit. A medium pause (~2.5 seconds) indicates start of the next fault code. And a long pause (~4.5 seconds) means the sequence has ended and will repeat. The video below corresponds to the codes 41 and 51. Using the the MR2 Check app and selecting the 3S-GTE engine...