Thursday, March 19, 2026

 I Watched the Same Computing Revolution Happen Four Times

I didn’t set out to study technological cycles. I was just trying to do my job.

Over the course of my career, I worked in environments that were considered “high-end” at the time—places where the biggest, fastest, and most expensive systems lived. What I didn’t realize at first was that I was repeatedly standing at the same inflection point in computing history.

I saw the same pattern unfold again and again. Different technologies. Different companies. Same outcome.


The First Time: Time-Sharing vs Personal Systems

In the 1970s, I worked in the time-sharing business. Computing was centralized. Large systems served many users. Access was controlled and expensive.

Then something started to happen.

Some customers realized that their workloads—at least part of them—could be run on smaller systems. Early personal computers and workstations weren’t as powerful, but they were:

  • cheaper

  • local

  • under the user’s control

At first, they weren’t taken seriously. But over time:

  • non-critical workloads moved off

  • then routine workloads

  • then more and more of the total workload

The large systems didn’t disappear. But their role shrank.


The Second Time: Supercomputers vs Workstations

Later, I worked around high-end systems at Cray.

These were the pinnacle of computing—specialized, incredibly powerful, and incredibly expensive.

Then along came systems from companies like Sun, DEC, and SGI. They weren’t as powerful. Not even close.

But they were:

  • cheaper

  • more flexible

  • improving quickly

At first, they couldn’t compete. Then they became “good enough” for more tasks. Then they became the default for most tasks.

Again, the pattern repeated:

  • edge workloads moved first

  • then mainstream workloads

  • then the center shifted

The supercomputers remained—but only for the highest-end problems.


The Third Time: SGI vs Commodity Hardware

At SGI, I saw the same thing from the other side.

SGI systems were state-of-the-art for graphics and visualization. Powerful workstations. Specialized hardware.

But commodity PCs were improving rapidly. GPUs were evolving. Linux was gaining traction.

The PCs weren’t as good—until they were.

Engineers began to realize they could do much of their work on:

  • cheaper machines

  • widely available hardware

  • systems they controlled directly

And once again:

  • work began to move off

  • then more work

  • then most work

SGI didn’t disappear overnight. But the direction was clear.


A Side Story: Search That Actually Worked

While at SGI, I was responsible for maintaining a commercial search engine used by the support organization. It indexed dozens of data sources—documents, databases, tickets, engineering notes.

It was large. It was expensive. And it didn’t work particularly well for the kinds of queries engineers actually made.

Engineers searched for things like:

  • error messages

  • part numbers

  • hex codes

  • version strings

The commercial system was tuned for text. It struggled with those “odd” tokens.

So I built a small alternative using Xapian, running on my own desktop PC. I didn’t have the storage to index everything, so I chose the highest-value sources—support cases and OS data.

I made one key decision: use the same parsing rules for indexing and searching.

That was it.

The result?

Some engineers preferred my system over the official one.

Not because it was bigger. Not because it was more sophisticated.

Because it preserved the signal they needed.


The Pattern

After seeing this multiple times, the pattern becomes obvious:

  1. A centralized, expensive, high-end system dominates

  2. A smaller, cheaper, less capable alternative appears

  3. The alternative improves rapidly

  4. It becomes “good enough”

  5. Work begins to migrate

  6. The center of gravity shifts

It’s not a sudden revolution. It’s a gradual migration.

centralized → partially distributed → mostly distributed → specialized central core

The high-end systems don’t disappear. They become niche.


Why It Keeps Happening

The drivers are consistent:

  • Cost: cheaper systems are accessible

  • Control: users prefer systems they own

  • Improvement rate: commodity systems evolve faster

  • Scale: larger ecosystems drive faster innovation

The key insight is simple:

The new system doesn’t have to be better. It just has to be good enough—and improving.


Where We Are Now: AI

We’re seeing the same pattern again.

Today:

  • large AI models run in massive data centers

  • access is centralized

  • hardware is constrained

But:

  • smaller models are improving

  • local hardware is getting better

  • tooling is evolving rapidly

Right now, we’re in the early stages:

not quite practical locally → barely practical → good enough → dominant for many tasks

There are bottlenecks—GPU availability, memory cost, infrastructure—but those are temporary. They’ve always been temporary.

There will be breakthroughs:

  • in hardware

  • in model efficiency

  • in system design

And when they happen, the shift will accelerate.


What Doesn’t Change

One thing I’ve learned:

This isn’t about any specific technology.

It’s about a recurring dynamic:

capability increases
cost decreases
control shifts
work migrates

And it happens over and over again.


Final Thought

I didn’t set out to study this pattern. I just happened to be in the right places to see it happen multiple times.

But once you’ve seen it enough, you start to recognize it early.

And when you do, the future doesn’t look random anymore.

It looks familiar.

Saturday, July 20, 2024

Virginia spring break

 We took a spring/early summer trip up the coast to Virginia.  We spend a few days at Sue's homestead and wandered back home.  Nothing very exciting.  Refer is lousy.  I stays at something between 40 and 50 degrees most of the time.

Tuesday, July 18, 2023

Summer in the mountains

 We took off on Memorial Day for parts north.  We stopped in Jonesborough, TN to visit Sue's cousin and the meandered up I-81 to the Poconos.  Cell coverage on the trip was the pits.  I have both T-Mobile and AT&T hotspots.  The AT&T was essentially worthless, while the T-Mobile works sometimes.  We spend a few days in the Poconos before heading into NY.  We wandered through the Catskills and ended up near Watkins Glenn.  Stayed a few days and came back.  Met up with a couple of other cousins near Mount Jackson, VA.  Then we made our way to Rustburg, VA.  Sue still maintains her childhood home which is mostly vacant since her Mom died a few years back.  We spend just short of a week there before going back to GA on the 10th of July.  

We sort of expected to find the mountains like GA and NC mountains, where there are lots of small towns with interesting shops and restaurants.  Not so much in PA and NY.  The areas we visited were seriously depressed with a lot of vacant storefronts.  The weather was at times chilly and damp.  We used our furnace a lot more than we thought we would and I didn't come out of my hoodie until we arrived in VA.


Thursday, April 13, 2023

Why I use jquery instead of plain javascript.

In the world of web development, jQuery has been a popular choice for many developers for over a decade. It is a fast, lightweight, and powerful JavaScript library that simplifies complex tasks and provides a wide range of features to enhance the functionality and interactivity of web pages. In this article, we will explore the reasons why jQuery continues to be widely used and why it can be beneficial for web developers.

1. Simplified DOM Manipulation: One of the main reasons why developers choose jQuery is its simplified DOM manipulation. DOM (Document Object Model) is a programming interface for web documents, and jQuery makes it easier to manipulate the DOM by providing a concise and intuitive syntax. With jQuery, developers can easily select and modify HTML elements, apply styles, handle events, and perform various other tasks with just a few lines of code. This can greatly reduce the amount of code and time needed to achieve common tasks, making development more efficient.

 2. Cross-Browser Compatibility: Another advantage of using jQuery is its built-in cross-browser compatibility. Web developers often face challenges in ensuring that their code works correctly across different web browsers. jQuery takes care of many browser inconsistencies and provides a consistent and reliable API that works seamlessly across major browsers such as Chrome, Firefox, Safari, and Internet Explorer. This can save developers time and effort in writing browser-specific code and testing, making their code more maintainable and robust.

 3. Rich Set of Plugins: jQuery boasts a large ecosystem of plugins that extend its functionality and provide additional features for web development. These plugins are developed and maintained by a community of developers, and they cover a wide range of use cases, such as form validation, AJAX handling, image sliders, and much more. By leveraging jQuery plugins, developers can easily add complex functionality to their web applications without reinventing the wheel, saving time and effort in coding from scratch.

 4. Event Handling: Event handling is an essential aspect of web development, and jQuery provides a powerful and efficient way to handle events. jQuery's event handling system allows developers to easily attach event listeners to HTML elements, such as buttons, input fields, and checkboxes, and respond to various events, such as clicks, keypresses, and form submissions. jQuery also provides event delegation, which allows developers to handle events on dynamically created elements, making it highly flexible and scalable.

 5. Animation and Effects: jQuery includes built-in animation and effects methods that allow developers to create dynamic and interactive user interfaces. With jQuery's animation methods, developers can easily add smooth transitions, fade-ins, slide-outs, and other effects to HTML elements, making web pages more visually appealing and engaging. These animation and effects features can help create a better user experience and enhance the overall look and feel of web applications.

 6. Community and Support: jQuery has a large and active community of developers who contribute to its development, provide support, and share resources. The jQuery community offers extensive documentation, tutorials, forums, and plugins that can help developers learn, troubleshoot, and enhance their jQuery projects. Additionally, jQuery has a long history of being used in countless web projects, which means that finding solutions to common issues or getting help from other developers is relatively easy.

 7. Performance Optimization: jQuery is designed to be lightweight and optimized for performance. It provides efficient DOM traversal and manipulation methods that are optimized for modern web browsers. jQuery also includes features such as minification and compression, which can reduce the size of JavaScript files and improve the load times of web pages. Additionally, jQuery has a built-in caching mechanism that can help optimize the performance of AJAX requests, reducing the amount of data that needs to be sent over the network.

 In conclusion, jQuery continues to be a popular choice for web developers due to its simplicity, cross-browser compatibility, rich set of plugins, event handling, animation and effects, community and support, and performance optimization. Its concise syntax and intuitive API make it easy to manipulate the DOM, handle events, and add interactivity to web pages. jQuery's cross-browser compatibility ensures that code works consistently across major browsers, saving developers time and effort in testing and debugging.

The extensive ecosystem of plugins provides additional functionality, allowing developers to easily add complex features without reinventing the wheel. The active jQuery community offers support, documentation, and resources for developers, making it a reliable choice for web development projects. Furthermore, jQuery's performance optimization features, such as efficient DOM traversal and caching, help improve the performance of web pages, resulting in faster load times and better user experience. jQuery's lightweight nature and minification options also contribute to faster load times and reduced bandwidth usage.

 Despite the rise of modern JavaScript frameworks and libraries, jQuery continues to be widely used in many web development projects. It is especially useful for small to medium-sized projects, where its simplicity and ease of use can speed up development time and reduce code complexity. Additionally, many legacy systems and older websites still rely on jQuery, making it an essential tool for maintenance and updates. In conclusion, jQuery remains a popular and reliable choice for web developers due to its simplicity, cross-browser compatibility, rich set of plugins, event handling, animation and effects features, community and support, and performance optimization. Whether you're a beginner or an experienced web developer, jQuery can provide a valuable toolkit for building interactive and dynamic web applications efficiently.

Monday, March 13, 2023

I'd like to introduce our most recent family member, Becky. Becky is about 7 yo rescue from a minister who had to enter a group home and couldn't care for her any longer. She's the most loving cat I've ever had. We have to warn visitors if you don't want a cat in your lap, don't sit down.
We've put over 5K miles since we purchased the new RV. Initially we took a couple of short trips to GA state parks and then set out for Shipshewana to pickup our new recliners to replace the couch. We took a couple of weeks to get there stopping at some Harvest Host sites, some Boondockers Welcome sites, some state parks and a few commercial campgrounds. We ended up traveling to the panhandle of Florida in June where the temps hit 100 degrees most days. That's just too hot for this old man. We came back home by way of another state park and a couple of commercial campgrounds. In November, 2022 we set out for central Florida where we spent 6 weeks near Palmetto and Riverview in FL. These are pictures from Hidden River Campground in Riverview. Our only complaint is the laundry is the pits. There were two at the campground. Only one was operational and it only had half the washers/dryers functional at any given time. The rest were broken.
Then we drifted over to the east coast and wandered up to Jekyll Island for a few nights. Warning. Do not expect to be able to resupply there. There appears to be only one store. It is very busy and probably doesn't have what you need and if you find it, it's overpriced. The bike trails there are the best we encountered anywhere. Brunswick is a short distance away, but if you leave the island it will cost you another $8 to get back on, after the first day. I hate tolls. My wife made these reservations. If I had made them I'd never have visited Jekyll. We came home late in February with a broken refer door. 

I hate RV refers. The temps in the refer got into the '50s while in 100 degree weather. The freezer kept working just fine, however.

Thursday, February 10, 2022

Linux: How to compose special characters

Compose for Linux

 If you need an eñe or umlaut while composing foreign language texts, visit This site to learn how.  Sorry Windows users this is only for Linux and maybe Mac users.  I don't have a Mac so I can't say for sure.  It's limited to X11 applications but that's mostly what the normal user will be dealing with on Linux.

Sunday, February 6, 2022

 Omicron has us locked in again.  We just purchased another RV.  We're going down to FL to pick it up today!  So I guess we're not locked in entirely.