I Am Going To Destroy The Economy

It’s that time of year again – time for New Years’ Resolutions.  For 2026, my resolution is to destroy the economy.  OK, my goal is really to reduce my consumption but supposedly the entire world economy is based on excessive consumer spending, so I guess I’ve got it in it!

Why reduce consumption? 

There are so many reasons.  First and foremost, due to inflation my spending level is quite high.  Since my goal is to retire in the next few years, I need to keep it down to a sustainable level.  There is no indication that things are ever going to get cheaper, so I need to start things off on the right foot.

But an even more prescient concern is that I already have too much stuff.  I went through a great deal of effort this fall to prune my vintage electronics collection and cull out old clothing (you should see how many T-shirts I owned).  I was literally tripping and falling over stuff and could not even fit all my clothes in the drawer.  And, of course, now that Christmas has passed I have even more stuff.  I have far more things than I will ever need for the rest of my life.

There’s also the problem of crappy stuff.  Things that break cause frustration and waste natural resources.  Regardless of where you stand on climate or environmental issues, you must agree that extracting fewer natural resources is better for the planet, even if it’s just to make sure those are there for future extraction.

Perhaps my biggest problem is the “stuff” I put in my face.  I am happy to say that this fall I lost 27 lbs.  This has made a marked difference in my food bill (hundreds of dollars a month).  I was even able to fit into older clothes that I haven’t worn in a long time.

What Will I Buy?

I will, of course, need to buy more stuff as my life progresses.  Expendables get consumed, clothes wear out, things break.  But my goal is to be more intentional about what I buy.  I want to buy better quality stuff that will last longer.  I want to buy stuff made in America, or at least in countries with decent human rights records.  I do not want to buy things that have internet tendrils or other forms of planned obsolescence.

Obviously, this can be hard to do in the modern world.  Most products are made overseas and, in many cases, I can’t control that.  But I can control who I buy them from.  Even if something is made in China, I prefer to purchase it from an American (or at least Western) brand.  These brands have some degree of control over how these products are made and are subjected to scrutiny when poor conditions are discovered.

For the past couple of years, I have purchased made in America shoes.   Yes, they cost almost twice as much but I don’t buy that many pairs of shoes a year.  I am hoping to get some American made clothes as well, maybe some nice, thick flannel shirts made from 100% cotton (none of that artificial crap).  My budget might only allow me to buy 2 instead of 5, but I already have 3 shirts that are 20+ years old and still in good shape.

How Will I Buy It?

I am also intentional about where I buy things.  Here are my preferences in order:

  • Buy from a locally-owned business
  • Buy locally from a big box (They still use local employees and usually treat you well.  I’ve had great experiences with Barnes & Noble and Best Buy in recent years)
  • Buy online from the manufacturer or a retailer that specializes in something (Digi-Key, Sweetwater, etc.)
  • Buy name brand merchandise from the big guy
  • Buy no-name Chinese crap from the big buy

The latter category is my last resort, and I try to only use that for products that simply don’t exist in other categories or that are prohibitively expensive (such as the $30 USB cables that Best Buy used to try to sell me back in the day)

And speaking of delivery, I try to avoid delivery services (Instacart, Uber Eats, Doordash) whenever possible.  If I want something as simple as a sandwich delivered to my house, I have to enter into a four-party transaction between 1) me, 2) the restaurant, 3) the delivery service and 4) the driver (who is, of course, an “independent contractor” so that he/she doesn’t have to be paid properly and #2 and #3 can be absolved of all responsibility if something goes wrong).  I have to pay for the food itself, taxes, a service charge, a delivery charge, and am still expected to tip the driver (who evidently doesn’t get the delivery charge – WTF?)  Worse yet, I am expected to provide the tip up front.  The word tip comes from (To Ensure Proper Service) – so how can I possibly know how good of service I’m going to get?

Curtailing Credit Cards

Which brings me to my last financial resolution.  This is admittedly aspirational, but I want to purchase more with cash next year.  Credit cards charge merchant fees that add up to roughly 3% of every single transaction.  When you pay with cash or check, the merchant gets 100% of the money you paid.  Why should you care?  Well, that 3% has to come from somewhere and that somewhere is you – these fees inflate the prices of all goods by 3%.

Here’s the evil genius part – the banks have rigged the system so that each individual person gets punished for making the choice that benefits everyone as a whole.  Merchants aren’t allowed to charge less for cash, so you are paying this 3% whether you want to or not.  To sweeten the deal, they offer “cash back” where you can “earn” roughly 1% of your own money back.  They make it sound like a gift, when in fact they are simply refunding about 1/3 of the exorbitant fee that they charged the merchant.

How can I say this fee is exorbitant?  Because the same banks offer debit cards whose transaction fees are about 0.15%.  Sure, processing transactions costs the bank something, but I bet it’s nowhere near 3%, probably even less than 0.15%.

Why am I saying this is aspirational?  Well, things cost so much these days it’s hard to carry that amount of cash around with you.  A family meal at a restaurant costs nearly $100.  The ATM only dispenses $20 bills, so I’d have to carry around a hefty stack just to get through a week or two.  Also, many businesses have become cash-hostile demanding payment with cards or (worse yet) apps.  These tend to be businesses targeted at millennials and Gen-Zs who, I guess, just love paying extra taxes.

Willie Makeit?

As someone who rarely makes New Years’ Resolutions I don’t have a track record to look back upon.  Being a software engineer I prefer to use an Agile approach of continuous improvement.  Nothing I’ve listed here is new for me, I just hope to do even better at it.  But, I guess we’ll know in a year.

If you’ve made it through my 1,222 words of screed, thank you and have a Happy 2026!

Posted in Uncategorized | Comments Off on I Am Going To Destroy The Economy

Thank You For Shopping At K-Mart

Last week, WRAL posted this article about the Western Blvd K-Mart being redeveloped.  It described it as a “graveyard of a big box eye sore”.  While this is true, it made me a bit sad because that building, as crazy as it sounds, has so much special meaning for me. 

My earliest memories are of growing up in Cary in the late 1970s.  It was a town of 20,000 people and only had a couple of restaurants and very few stores.  The (now closed) mall was brand new.  As best I can remember, the Western Blvd K-Mart was the only big box store in western Wake County.

My family did most of their shopping at this K-Mart, usually on Friday nights.  That store was my universe.  Everything I ever spent allowance money on or dreamed of getting for Christmas was found within those walls.  My music hobby started with a set of toy drums I saw there.  My Legos, my records, the plants our family planted in the garden, our hunting and fishing supplies, my school supplies all came from that K-Mart.

I also met some interesting people there.  Being next to the University, many of the customers were international students and their families.  The first time I ever saw anyone wearing a Sari, Chador, or nose ring was there.  I also saw an NC State basketball player in the aisle next to me.  He was so tall that I walked over to his aisle to make sure he wasn’t standing on a ladder!  But the most famous person I ever saw there was Ric Flair (pro wrestling matches were held at the nearby WRAL-TV studios in those days).

Most the most important, and strangest part of the story is that K-Mart is where my programming career began.  When I was 8 years old, they sold Commodore 64 and VIC-20 computers.  There were these kiosks in the store with a working computer, a monitor, and the manual (which was nailed down).  I would elbow the other kids out of the way and work through the manual.  After a few months I had worked all the way through it and knew the BASIC language.  Finally, my parents bought me one and the rest they say is history.

At some point in the early 1980s another K-Mart opened in Cary, so we didn’t go to Western Blvd as much.  Then Crossroads Mall opened, and other big boxes (including Wal-Mart) opened, so we didn’t come here much until college.  I went to N.C. State, so I once again began doing all my shopping here.    The chain was eventually purchased by Sears and the location closed in 2018.  The building has sat empty ever since and has become dilapidated.  

I am not arguing for it to be preserved.  Whatever replaces it will look nicer and generate revenue for the local economy.  Customers of those businesses will make their own special memories just like I did.  But I can’t drive past the site without taking a long look and remembering how my life changed in that otherwise insignificant chunk of suburbia.  As they used to say – thank you for shopping at K-Mart.

Posted in Uncategorized | Comments Off on Thank You For Shopping At K-Mart

“Old-School” Things I’m Not Giving Up

The tech industry probably hates me.  Despite being told how “backwards” I am, there are quite a few things that I refuse to replace (or have gone back to after trying the “newfangled” thing).  While the last 40 years have brought us a lot of marvels that I do use (because they create value), there are quite a few I won’t.  So, here is an arbitrary list of “old school” or “analog” technologies that I refuse to give up:

Paper – I like to write things down in a notebook or sketch them out on a pad.  I can better think about what I’m creating if I can hold it, touch it, rotate it, rearrange it, etc.  If information passes through my brain to my hands, I can better retain it.   I use a paper grocery list – anyone in the household can easily add things.  Ironically, Amazon is the only place I can find these – local stores seem to no longer carry them.

There are some people who print every email they get.  I don’t but I do print important things like hotel reservations, tickets, and set lists.  I don’t want to have to rely on batteries, network connectivity, and other tech shenanigans to ensure that I can get this information.

Watch – No, not a smart watch, just a regular analog timepiece.  It has exactly one function – to tell me the time (although now that I have progressive lenses, I can also read the date window).  I can simply glance at it and it’s never going to distract me with a bunch of other information that I didn’t ask for.  It never needs to be recharged and loses less than a second a month.  Plus, it looks nice.  I regularly get compliments on it.

Like most of the things on the list, I used the modern alternative for a while and switched back.  When I got a cell phone in the late 90s, I stopped wearing a watch.  But as the dumb phone gave way to the smart phone, I got increasingly distracted by other noise whenever I would pull it out to check the time.  I bought a new watch in 2019 and have worn it ever since.  I feel naked without it!

DVDs/Blu-Ray/CDs – While I do use streaming TV and music services to find things that are new to me, I make sure to purchase physical copies of things that I want to keep forever.  Streaming is renting.  You don’t truly own something unless you physically possess it.  The powers that be can and have altered and removed past content.  You cannot watch the original cut of Star Wars, only the Special Edition.  E.T. was altered to replace guns with walkie talkies.  The Simpsons’ Michael Jackson episode has been disremembered altogether.

I have a large collection of movies and music that I have built up over the years.  I have loaded them into a Jellyfin server, so I have the convenience of streaming them to my TV without having to rely on the internet.  I can even watch them during a hurricane when the internet and power are out!  As far as expense, many of these were acquired from thrift stores, received as gifts, or even inherited from relatives.  And speaking of expense – why pay for the same thing month after month?

Books – I own a Kindle and have read quite a few books on it.  As far as tech devices go its creators did a great job of keeping the distractions down and making it easy to use.  However, I still prefer to read books on paper.  Books don’t need batteries or an internet connection – just a light source.  Like DVDs, I can really own them and can loan them out and give or receive them as gifts.  Their content can’t be “revised” to fit modern culture.  If I take it somewhere and lose it, I’ve only lost a $10 book, not a $100 device.  But the biggest reason (pun intended) is that the pages are larger and easier to read.  Also, there’s just something calming and peaceful about reading a book on the porch on a nice summer/spring/fall day.

AM/FM Radio – Imagine if someone came out with a device that let you receive professionally produced music, news, and information streamed at the speed of light.  And that this device only cost a few dollars to purchase, required no subscription fees, didn’t care what brand of phone or PC you used, could be powered by AA batteries that last for weeks, and would last for decades without becoming obsolete?  That’s exactly what the humble AM/FM radio does.  Why is it that an entire generation doesn’t even seem to know of the existence of this technology?

I’ll be honest – broadcasting isn’t what it used to be.  National ownership has destroyed the local flavors of most stations, the music is tightly programmed and a bit worn out, and news is operated on such a tight budget that they hire people who can barely speak.  But, it’s still worthwhile to have this system – and it really shines during an emergency, when a gust of wind can instantly disable the last 50 years of tech innovations.  Do yourself a favor and go buy one of these and a pack of batteries from a drug store.  Next time a natural disaster strikes you won’t be cut off from the rest of the world.

Cash And Checks – I must admit that the cash goal is aspirational for me.  I would like to pay cash for everything because the merchants (usually local small businesses whom I like) will get the full price rather than having to pay a cut to a behemoth bank.  Furthermore, if everyone did this, everything would be 3% cheaper (since we, the consumers, are ultimately the ones paying these fees).  Unfortunately, everything is so expensive now I can’t seem to keep enough cash in my pocket to cover it all.  Also, some local merchants are cash-hostile (which I don’t understand).

Checks aren’t usually taken at retail locations, but they are usually accepted for paying bills.  Rather than having to use each vendor’s “walled garden” bill payment system (where I must create individual usernames and passwords and agree to whatever terms and conditions they dictate), I can just stuff a check in an envelope and toss it in the mail.  The vendors don’t like this because it costs them more to process a paper envelope, yet some of them are so greedy they dare to charge you a fee for paying electronically using their system!

I can tell you from experience that if you ever get in a dispute with a vendor, the first thing they will do is lock out of their payment system leaving you with no evidence to refute their claims.  The evidence that does exist is under their control and it is possible for them to alter it, since it’s just PDFs stored on a file server.

In truth I do pay most of my bills electronically but using my bank’s system where I have complete control of the transaction amount, timing, and my own set of records.  I tend to use checks for “one offs” that don’t recur every month.

Tube Amps – I am a guitar player.  While I’ve seen all sorts of digital modelers that sound “almost like the real thing” why not just use the real thing?  Sometimes I question this when I’m lifting my 45 lb Deluxe Reverb, but I also have a tube amp that only weighs about 5 lbs and sounds killer when mic-ed up.  I am currently only using analog effects pedals as well.  They are easy to use, sound great, and sip power.  But maybe if the right digital pedal came along, I’d use it.

Maps – On a recent trip through the TN mountains, I was out of smartphone coverage and my phone’s GPS no longer could tell me anything useful.  We drove around the back roads for 3 hours, blind and dumb.  The first thing I did when I got home was purchase a Rand McNally road atlas that stays in my car.  It’s also nice to look at it ahead of time and build a mental picture of where you are going.

Stores – Yes, I know you can get everything in the world delivered, but I prefer to use local businesses.  If I can’t use a locally owned business, my next stop is a local chain or big-box store.  If they don’t have what I need, then I’ll order it online.  If a local store has something in stock, you can get it even faster than next-day or same-day delivery and you don’t have to pay extra or carry a monthly subscription.  These stores provide us a valuable service and employ our friends and neighbors on terms more equitable than “gig workers” get.

I buy most of my books at Barnes and Noble and most of my techie stuff at Best Buy.  This is ironic because these were the corporate behemoths of earlier decades.  But they are much more tame versions of what they used to be, and I get treated well when I come in.

Bonus Entry: Personal Computer – OK, PCs are modern devices.  However, tech pundits have been spewing out articles for years predicting the demise of PCs and their ultimate replacement by smartphones and tablets.  I don’t think this is going to happen and the pandemic was proof of that (PC sales exploded as needs changed).

The way I see it, smartphones and tablets are consumption devices.  Computers are creation devices. I like to create rather than consume.  Yes, it’s possible to edit video on a smartphone or compose a document on an iPad, but it’s much easier to use a real computer.  It’s faster, you have a wider range of tools, bigger displays, better input devices, more storage and most importantly – you own it.  “Devices” are locked down so that only vendor-approved software can be installed (and the vendor gets a 30% cut of the purchase price).  A computer is yours – you own it and you can install whatever you want on it, even software you wrote yourself.

Final Thoughts

If you’ve made it this far, perhaps you are considering a “minimally digital” lifestyle like mine.  I hope you’ll give a few of these consideration and come up with your own list of stuff that shouldn’t die yet.

Posted in Uncategorized | Comments Off on “Old-School” Things I’m Not Giving Up

Embracing AI

I have been a curmudgeon since an early age. There’s just something about a fad that makes me want to run for the hills. I didn’t watch the Simpsons until years after it premiered. I held my nose during the .com boom, Web 2.0, the era of blockchain, and the crypto gambling age. For the last two years, I have been equally nonplussed with the AI bubble.

However, each of these giant hype bubbles had a core of something actually good. The Simpson’s was a great show and about much more than Bart. The .com bust had spectacular fallout, but was also the genesis of eBay, Google, and Amazon. So, after several years of plugging my ears, I have begun to give AI technology a fair shake.

This first started at work, where my employer purchased a Claude subscription and encouraged us all to use it. I was transitioning from one tech stack to another and encountered some significant issues with the new vendor’s Python SDK. Claude was able to provide an example of how to make the same calls using a lower level of the SDK that didn’t have these issues.

As we have progressed down the path, I continued to ask it many questions about the new platform. The vendor’s documentation is fragmented and often incomplete, with many of the documentation pages being auto-generated from code comments (sometimes in broken English). An LLM basically helps index all of this information along with information from other sources (such as forum posts).

You might think that I’m lazy and should just “look all of this up” in the docs. To that I would answer “have you seen what passes for documentation these days”? When I started programming professionally in the early 90s, you only needed two books – Charles Petzold’s Programming Windows and Kernighan and Ritchie’s The C Programming Language. We live in a totally different world now. There are dozens of languages in common use. There are at least 3 different OSes to consider (Windows, MacOS, and Linux). But more importantly there are thousands upon thousands of pieces of open-source middleware that are available and in widespread use.

Every language, OS, and piece of middleware has its own documentation, in its own website, written in its own style, and organized its own way. Some of it is done well, but some of it is in the horrible-to-non-existent category (jsonpath_ng – I’m looking at you!).

This is nothing new – the tech world has been this way since at least 2010. We solved this in the past by supplimenting vendor-provided information with forum posts, blog posts, and GitHub gists. How did we find these posts? By using search engines such as Google. But that itself was a challenge and one’s ability to effectively leverage a search engine is known as “Google Fu”.

LLMs are simply a refinement of the search engine. It has crawled the same sites and can help you find the same answers, but gives you a much easier interface – just ask a question in plain English.

The only catch (and this is a big catch) is that the answers are sometimes wrong. AIs will “hallucinate” and make up answers. This is bad, but not altogether new. It’s also possible to get inaccurate information from a forum post or misinformed blogger. The challenge is in detecting it.

For coding type things, it’s simple – if the code doesn’t work, it’s wrong. A good LLM (such as Gemini) will cite sources that you can click through to verify what it’s telling you. But, when it’s right it saves you a ton of time so it can afford to be wrong a few times.

Though I am an experienced programmer (30+ years), I am still having to learn new things as things change so quickly. I wish the world didn’t work that way but it does. Using an LLM helps me stay caught up and be more productive. I can spend more of my time designing and crafting than poring through broken documentation.

Obviously a less experienced programmer can use these tools as well to be more productive. However, they still need to possess a basic understanding of sofware fundamentals to be able to ask the right questions and judge the answers. And these tools should not be used to cheat your way through college – you are only cheating yourself out of the learning that you paid big bucks to get. We learn through struggles and mistakes.

So, am I lazy for relying on AIs for this information? Possibly. But I look at it as technology causing a problem that technology created. In our desire to move “forward” at warp speed, we have half-assed a lot of the things that would be done in a more mature field. There’s no time to write coherent books on the subjects and even if we did, no one “has time” to read them.

Is an AI going to replace my job? Not really. Sure it can “write” code, but it only follows the specifications given and that’s the hard part. If I were to write an English description of a program to the specificity required for production software, it would probably be as long as the code itself. English is not a particularly great programming language.

You might be able to “vibe code” an app to do some specialized thing, and that app might work in a narrow use case in a friendly environment. But, there are simply too many things you need to know prior to putting an app on the big bad internet. As Low Level Coder pointed out, this is likely what happened with the Tea Dating App which leaked photo IDs and location data on over 13,000 women who had been promised a “safe” environment.

I do occasionally ask an AI to write code for me. However, I either use it as an example to help write my own, or a “skeleton” that I heavily modify myself. There is no way I am releasing anything that I don’t understand every line of as if I wrote it myself.

Unfortunately, the AI craze is being driven by MBAs making promises of reducing workforces. Yes, an LLM could make a customer service representative’s job easier, but I don’t think you should force your customers to directly interact with an LLM and refuse to help them otherwise.

This brings me to another point. Nearly every tech vendor is offering “AI assistants” with their products. The idea is to “help” you use it. Every one of these I have tried is terrible and does little more than clutter the UI. Make your products easy to use by having well designed user experiences, clear behavioral principles, and reliable execution. The real power of LLMs isn’t in these “vertical” applications (tell me how to use widget X) but in “horizontal ones” tell me how to integrate widget X from vendor A with widget Y from vendor B). That is best left to a general purpose LLM.

I also have major objections to using AI in the creative space. I have no desire to listen to AI-composed music or view AI-generated art. It has no meaning and is a waste of time. Furthermore, you are taking opportunities away from up-and-coming creators whose ranks are already decimated by corporate consolidation of media outlets.

Make no mistake, the AI craze is definitely a bubble. It will come crashing down and a few survivors will remain. But, I think LLMs are here to stay. So, go ahead and use one but don’t turn your brain off in the process. Take time to think through things and speculate prior to having the answer fed to you.

Obligatory Disclaimer – AI did not write this post. I wrote it myself, using Gemini occasionally to look up references.

Posted in Uncategorized | Comments Off on Embracing AI

The Tech That Built The Web

In today’s world, there are numerous open-source solutions for practically any programming problem. But, that wasn’t always the case. Let’s take a look back at some of the fundamental technologies that were used during the period 1995-2008 to build the web that we know today.

Linux

It all starts here. While it was possible to serve HTTP traffic using Windows, VMS, z/OS, and [insert your favorite OS here], most site builders chose a UNIX-type operating system. These had native TCP/IP support years before the web was even a thing. Open source web servers (such as NCSA httpd and later Apache) have been available since the onset. Practically every programming language is available, and they can be easily managed remotely using SSH (or telnet and FTP back in the day).

Linux brings three additional things to the table:

  • It’s free (no per-server licensing costs)
  • It runs on cheap commodity (x86) hardware
  • It can be easily customized

This helped sites scale horizontally to serve workloads that were unimaginable before. Pioneers such as Google realized that thousands of cheap x86 motherboards running an OS with zero per-seat costs could build the equivalent of a supercomputer.

In 2000, NetCraft estimated that Linux had 35% of the server market with Solaris holding another 20%. In 2025, SQ Magazine estimates 78% of web servers are running on Linux. Measured by traffic, that number is likely much higher.

Honorable Mention – FreeBSD was also used in the early web. Most notable was HotMail. It was also used by ISPs and shared hosting providers to allow numerous users to securely share machines for small volume sites.

Apache

Introduced in December 1995, Apache quickly replaced the NCSA httpd as the standard web server for UNIX-type operating systems. It offered numerous performance and security improvements. Perhaps the most significant of these was the replacement of the old CGI interface (which launched an OS process for every request) with FastCGI or modules.

Pretty much every web property of the time used Apache – Amazon, Facebook, Netflix, and eBay and countless others. It ruled the roost until the introduction of nginx in 2004, which offered even better scalability due to its use of asynchronous IO. However, Apache still holds a respectable 15% of the market share. This number is likely higher, since sites are often “fronted” with something else or configured to not disclose this information to the end user.

Oracle

From the 1990s-the 2010s, SQL relational databases were the way that data was stored. ISAMs and CODASYL were for the mainframe programmers – developers of n-tier applications used SQL and Oracle was the king of SQL back then. So, it’s not a big surprised to me that companies who could afford it used Oracle. These included Netflix, Amazon, and eBay.

However, Oracle was quite expensive. In the early 2000s I worked for a startup whose production website was built around Oracle. A sizeable percentage of our VC funding was consumed by licensing costs. This is perhaps one reason our startup did not succeed.

MySQL

MySQL was one of the few open-source SQL RDMS systems around in the late 90s. It was pretty janky back then (no support for views or stored procedures, limited datatypes), but was good enough to get the job done for many historic web properties.

Facebook has long been known as a heavy user of MySQL (though it is heavily sharded). So does Slack, GitHub, Twitter and too many others to list.

MySQL (or its sibling MariaDB) is still my first-choice database for today. It has every feature that any normal workload would need, is well understood, well documented, and supported by pretty much every language and platform imaginable. Unless there are extreme scaling or geographic requirements, this is the tool I reach for.

PHP

Rounding out the LAMP stack is PHP. I don’t have much experience with this language and I don’t particularly like it. However, many world-changing pieces of software have been written with it. Again, the most notable is Facebook which still uses PHP to this day, albeit using a custom-built compiler to get over its performance deficiencies. But, so did Wikipedia, Slack, Tumblr, Mailchimp, and many, many others. The site you are reading uses WordPress, which is also written in PHP, along with Drupal – its closest competitor.

A good development tool is one that keeps the easy things easy. PHP certainly meets this goal. A PHP page is nothing more than an HTML page with expressions and code blocks inserted. It can be as simple as inserting a date. More complex applications can embed logic, or use objects defined in external files to build up a properly layered application.

PHP’s integration with Apache is likely another reason for its popularity. mod_php allows Apache to directly execute PHP pages in-process. Since the source code is just files in the web root directory, an administrator can set up Apache once and developers can use it with nothing more than a text editor. No need to set up build toolchains, CI/CD pipelines, or anything like that. PHP support is easily enabled by hosting providers, which is the likely reason that WordPress and Drupal are so popular.

Even though the language was limited – it was good enough for a lot of things. It integrates nicely with MySQL (though it makes it way too easy to create SQL injection vulnerabilities). Also, it’s often the case that the web server is the “facade” of an application and the “heavy lifting” is done by back-end processes that may be written in another (often more complex) language.

PHP is still alive today and has adopted many features of modern languages such as closures, objects, and JSON. However, it has a lot more competition from Python, Ruby, Node, Go, and many other languages. Some of the historically significant sites that were built with it have moved on to other languages.

Java

Let’s face it, no-one wins “cool points” for developing in Java these days. However, in 1995 it was a breath of fresh air. It was sufficiently easier than C++ and much more powerful than PHP, Perl, and Python. It was originally released by Sun in 1995 as a “write once, run anywhere” language. At that time, computer hardware was quite heterogenous with x86, Sparc, MIPS, Alpha, HP-RISC, and PowerPC processors all being used to power web workloads. In theory C/C++ code would work across all of these platforms, but in practice, word lengths, byte order, and operating system differences made that not the case.

A funny thing happened along the way – x86 became the dominant hardware platform, virtually extinguishing all of its competition. But Java remained popular due to its simplicity and broad ecosystem. It was especially popular in the corporate world where apps could be written and tested on Windows or MacOS PCs and then deployed to Linux servers for production.

However, “write once run anywhere” did eventually become important. In the mid-2000s when 32-bit x86 gave way to x86-64 the transition was nearly seamless for Java developers. In more recent years ARM processors have gained traction in servers and desktops and they have always been dominant in mobile devices.

Java backends were (or are) used to power Amazon Netflix, eBay, Google (Android), Spotify, Uber, and many others. It’s also a good bet that your bank website is using Java, given how much IBM has pushed it (along with Linux) to modernize and augment mainframe systems.

And lastly, countless corporate applications use Java. It has become the “nobody gets fired for using…” language.

Javascript

Unlike the other technologies on this list, Javascript became popular by decree. It is the only scripting language available in most web browsers. As such, it is clearly the lingua franca for web client development. Over the years, more and more logic has moved from server to client, so modern web applications have huge amounts of code written in Javascript.

Despite its significant warts, it has “crossed over” to become a popular language for server development as well. Later versions of the language (now called ECMAScript) have added powerful features, many of which are centered around asynchronous processing and functional programming. Microsoft even created a type-safe meta-language around it called TypeScript which has seen broad adoption.

Flash

Prior to HTML 5, client-side interactivity was difficult and limited. Macromedia Flash (later acquired by Adobe) was closed-source multimedia authoring language that offered much richer interactivity. Basically, Flash applications would run in a “box” inside of an HTML page. Within the box you could have all the sound and animation to your hearts’ desire.

The authoring software was paid software. However, the runtime was free and easily downloaded and installed into your browser. Many sites used this to get around the limitations of early HTML. It was especially popular with online games, many of which are now unplayable due to its demise.

Flash was eventually withdrawn by Adobe after being forcibly removed from the Apple platform. Javascript and HTML 5 have taken its place and are open standards accessible by all. Most browsers have had Flash support removed.

Closing Thoughts

So, why should we still be talking about these things in 2025? After all, there have been countless newer technologies introduced since then to solve specific problems. Well, that’s sort of the problem with today – there are SO MANY choices that no-one knows where to start. Option paralysis, cognitive overload, and incessant infighting are very real problems in the modern tech industry. Is it any wonder that no new Facebooks, Twitters, or eBays have been created in the last 10 years? It seems that most of the advances have come in AI (not going there) or deployment technologies. These things all have their place, but we have become so inwardly focused on our own needs as developers that I don’t think we are spending enough time thinking about solving our customers’ problems.

The LAMP stack still exists and may well be all you need to write the next great app. Certainly there are substitutions to consider, such as nginx instead of Apache, Postgres instead of MySQL, and Python or Node instead of PHP. Containers have proven their worth, LAMP apps can be containerized as well (please break A, M, and P into different layers). But maybe you shouldn’t build your world-changing app on some database, language, or web server that someone just released last week and posted on Reddit about. Pick a mature, supported, proven technology to stake your venture on.

Posted in Uncategorized | Comments Off on The Tech That Built The Web

STOP IT!

Dear Tech Industry,

Just stop it!

Stop disrupting. There is barely an industry left that hasn’t been disrupted. You talk a big game about how you are opening up a market, democratizing, etc. But, in the end, everything you touch becomes crappier with less accountability.

Stop “maximizing shareholder value” and take care of your users. Build them good services that they actually want to use, not metric driven crap that doesn’t solve their problems. Heck, they might even pay you for such a service!

Stop focusing on growth. Practically everyone in the developed world has a computer, smartphone, and uses the internet. Those that don’t aren’t likely to make the switch. The undeveloped world doesn’t have any cash to give you and they are dealing with more fundamental problems. There is no more growth to be had!

Stop squandering the planet’s resources on futuristic AI machines that solve no apparent problem other than “too many people have jobs”. Your whizbang creations demo well, but they are wrong more than they are right. The people you will be replacing, even the ones that suck, can do this job much better than your token generator. Let that nuke plant power someone’s house, not your overgrown science fair project.

Engineers – stop dorking around with your deployment technologies and focus on your applications. The vast majority of the world’s apps don’t need Google scale – VMs and SQL databases work just fine. Stop spending months learning the hottest new cloud service from AWS/Azure/GCP etc that will further lock you into that platform and be abandoned in a year forcing you to migrate to something else. Spend your time making your apps work correctly and be easy to use.

Open Source Contributors – I don’t understand why you do all this for free, but if you are going to do something, do it right. Write some documentation for Pete’s sake. Fix your security issues. Test your code. Work on building consensus rather than “taking your ball and going home”. Focus on things that actually matter.

WordPress – I am looking in your direction. This “block” editor is preventing me from deleting paragraphs as I write this. Why don’t you quit causing controversy and go fix your broken new idea!

Language People – Stop inventing languages that are “just a little bit better” than the ones we already have. Did the world really need Kotlin, Ruby, Swift, Scala, Lua, and Groovy? Focus on things that are truly revolutionary.

Government – Get off your keister and demand some accountability from these outfits. For decades, software has been wrapped in “break-seal” agreements that absolve the manufacturer from any responsibility – the software doesn’t even have to work at all. Rather than software outfits upping their game, ordinary products have instead adopted software components and are trying to sell themselves under break-seals. Maybe it’s time to end this exemption and hold software and software-derived products to the same standard as everything else (Uniform Commercial Code).

And end this economy of espionage.

Fart fart fart. Flabt.

Users – Stop mindlessly consuming things just because they exist. Using a computer or phone for something doesn’t automatically make it better than whatever came before it. I still enjoy using an”dumb” watch, a real calculator rather than an app, and a paper grocery list. These things don’t download updates and cease to work, behave totally differently, or start showing me ads. They don’t spy on me. And beware of free stuff – if you aren’t paying then you are the product, not the customer.

I have been in the tech industry for 30+ years. This behavior has always been there, but it has gotten so, so much worse over the years. I am somewhat embarassed to even be associated with it. Thankfully my work has largely been in service to end users, but people like me don’t make headlines. I guess that’s just the way of the world.

I wonder how all of this will end? What happens when the last eyeball is acquired? When the last job is replaced?

asd

Posted in Uncategorized | Tagged rant, technology | Comments Off on STOP IT!

New Home

We have moved Fuzzythinking.com to a new hosting provider. I am hoping to post more regularly as I have a lot to say, but not a lot of time to say it.

Since we are no longer part of wordpress.com, we will no longer be accepting comments. Hopefully this isn’t upsetting to anyone. We had a very high spam to comment ratio in the past.

Posted in Uncategorized | Comments Off on New Home

These Kids Today (updated)

The post below is something I wrote many years ago. Joseph has graduated from a prestigious university and is on the west coast working for a tech giant. I see him rarely, but we always have great conversations when I get to!

Original Post (December 2012):

I normally refrain from the “social commentary” discussions that are plentiful around ham radio circles.  However, something happened today that really touched me that I wanted to share with all of you.

We were having lunch with a former coworker and his family.  Our families have been friends for many years, but we only see each other once or twice a year, usually at Christmas.  The subject of music came up and my friend’s wife remarked that her son had “quite an ear”.  He asked if I wanted to see what he had been up to and I said “sure”.

He reaches into his pocket and produces a smartphone.  Being a polite kid, he had not used it at the table previously and was paying full attention to his company.  He showed me that his phone had a music sequencer program.  Having owned a home recording studio, I was familiar with sequencers and had used them before with keyboards and computers.

Joseph proceeded to tell the story about how the family was on a 9 hour trip to Memphis.  Using a piano keyboard drawn onto the phone’s tiny touchscreen, he had composed a piece of music.  It was intricate, consisting of 4 or 5 parts and rich “10 finger” chord.  The piece was over 5 minutes in length.  I was amazed!  The amount of patience it must have taken and the quality of the finished product blew me away.

The conversation progressed and he told me about a summer technology game he had attended focused on video game development.  When he said “I really enjoy writing Z-80 assembler”, I nearly fell out of my chair!  Teenagers programming computers is nothing new, but for a 13-year old today to be working with the same hardware I hacked on as a kid was quite a surprise.  Turns out a modern version of  this chip is still used in TI Graphing calculators and an assembler SDK is available.

After lunch, we went back to my house and I gave him the “grand tour” of my electronics bench and ham shack.  He told me that this tremendous interest had been seeded by using emulators.  He was dying to get his hands on physical hardware which, up until now, he had not had access to.

I started by showing him the Arduino Uno.  For those of you unfamiliar, it is an inexpensive 8-bit microcontroller prototype board based on the popular Atmel AVR microcontroller.  I showed him programming the board using freely available tools for both C and assembler.  As I mentioned, his Dad was a former coworker (also a software developer), so the three of us discussed the finer points of assembler listings and stack pointers.

He spotted my KX3 and paddles on the desk, pointed at it, and said “hey is that for sending Morse code?”  I replied in the affirmative and gave a quick demo of amateur radio.  Thanks to the KX3’s decoder, he was able to follow a conversation and see that the remote station was in the UK.  Both father and son were amazed.

Next, I showed him some of the other projects I had constructed – several QRP rigs and the atomic clock.  We talked a bit about leap seconds.  He then mentioned that he had been designing microprocessors.  I thought he meant designing boards around processors, but then he told me about working around a problem where the move instruction had the data ready before the memory and having to add not gates to form a delay line.

Again, this was something he had done in emulation due to the magic of software that is available to hobbyists.  While we can all agree that simulations aren’t “the real thing”, the amount this kid was able to learn by trying freely available software tools was nothing short of amazing.  How many “real hams” have fabbed their own silicon?  I certainly haven’t.

Next, we made a stop at my bookshelf.  I gave him copies of several old microprocessor manuals along with “Getting Started in Electronics”.  I also showed him the Sparkfun website where he could get a plethora of interesting add-on modules for the Arduino.  (NB – The Arduino boards can be purchased locally at Radio Shack).  Last but not least, we went outside for a tour of the antenna farm.

I’m not sure what Joseph is going to do for a career (he’s in the 8th grade).  However, he seems to have quite a foundation and a burning interest in all things technical.  He is very excited about the prospect of going to a magnet high school.  Perhaps he will pursue a ham radio license.  Regardless of whether he does or not, he certainly embodies the “homebrew spirit”.

So, the next time you see a youngster pecking on a cell phone, don’t dismiss them as lazy or unmotivated.  They could be doing something really amazing!  And, before you start the “these kids today” speech remember Joseph.  He’s an amazing kid and there are thousands more like him.  He is following a path not unlike many other ham radio and electronics enthusiasts.  Perhaps some of you were also Josephs in your day.

Posted in Uncategorized | Comments Off on These Kids Today (updated)

1995 – The Summer of the Web

Well, here we are celebrating a big milestone. It was 30 years ago that “regular people” started getting on the Internet. I remember it vividly and coined the term “Summer of the Web” at the time (a riff of Soul Asylum, which for you youngsters was a popular band in the 90s). To my knowledge, no-one else has called it this.

College students were already quite familiar with the internet. I had been using it since 1991 with a shell account. That was a very different internet as everything was text-based and split across diverse protocols such as SMTP, NNTP, IRC, FTP, Archie, and Gopher. But 1995 was the year my parents, neighbors, grandparents, practically everyone started getting online and “surfing the web” as they called it back then.

1995 was a different world. If you wanted the news, you read a newspaper, watched TV, or listened to the radio. CNN offered 24 hour news, but MSNBC and Fox News wouldn’t come around for a few more years. The O.J. Simpson trial dominated both the headlines and everyone’s daily conversations.

You bought CDs of your favorite songs – or just waited for them to come on the radio. You scheduled your life around your favorite TV shows. When a hot new film opened, you bought tickets and lined up to see it in a theater. There was no downloading or streaming of music, TV, and movie content.

Sure, you could tape shows on your VCR or rent movies at Blockbuster but you always got a clearer picture by watching it live and a VHS tape on your 25″ CRT TV couldn’t hold a candle to the massive silver screens at your local cineplex.

Cell phones existed, but only drug dealers and real estate agents had them. They were bulky, unreliable, and prohibitively expensive for average Joes. Most businesses had PCs as did many individuals. But they were for word processing, spreadsheets, and games. They were far from ubiquitous and chances are your grandma did not have one… yet.

Into this world was thrust a crazy new invention – the world wide web. Invented just two years prior in 1993, the graphical browser was the “killer app” that got PCs and modems into nearly every home. Suddenly, everyone just had to have one. I’m not sure why nor do I think they knew, but the hype machine was running at 1000% (and hasn’t slowed down since).

For us techies, it was very much a mixed bag. It was nice to be able to access our internet when we went home for the summer, albeit at massively reduced bandwidth. It was kinda cool for our parents to know what we were doing all this time. But, having to be the world’s tech support was quite the pain in the rear.

It wasn’t the users’ fault – early dialup systems were a mishmash of technologies. Your computer, operating system, TCP software, browser, internet service provider (ISP), and phone company were all separate entities that had to work together. For example, to get online with Windows 3.1 you had to install Trumpet Winsock, write a script to dial up to your local ISP, install a browser, install an email client, and many other things I have forgotten over the years.

Speaking of ISPs, that was way different back then as well. The phone and cable companies were enjoying the fruits of their monopoly status and couldn’t care one iota about helping you get online. They were happy to sell a T1 to a business but (wisely) did not want to take on the support overhead of individuals with little technical experience. So, it was left to local entrepreneurs to bridge the gap.

The Serial Port has a great series on what it took to start a 90s ISP. I’ll summarize here – buy a T1 and a bunch of phone lines from the phone company, buy a slew of modems and a few servers to tie it all together. Suffice it to say that the level of service and support varied widely.

The internet was not America’s first exposure to online services. America Online (AOL), Compuserve, BIX, The Source, and Prodigy had offered nationwide online services for years. However, these were walled gardens and lacked the open nature of the internet. You paid a monthly subscription fee, paid by the hour for access, and paid additional charges for certain services. You could communicate with other users, but only users of that service.

Of this group, AOL saw the writing on the wall and embraced the internet. They allowed their users to also exchange emails with internet users, browse websites, and access other internet services alongside AOL’s native services. As a result, their subscriber-ship exploded. They catered to a less technical clientele and it really was easier to get connected with those free coastersdisks they mailed you every month.

There was of course backlash from the “real” users of the internet and @aol.com became a tag for “newbie user”. This was even referenced in Weird Al’s All About The Pentiums (“sayin’ me too like an AOLer”). I was one of those snobs, but thank God these people were using AOL otherwise I would have been taxed with even more friends and family support requests!

By the end of the summer, our parents (and later grandparents) were forwarding chain emails (in really huge print), reading The Drudge Report, and doing God knows what else on the web. It didn’t take long for online dating to become a thing. Within just a few years I was attending weddings of people who met online (people of all ages mind you). The digitization of our society was well underway.

Next would come online retailers, peer-to-peer file sharing, MP3s, GeoCities, and the dot com bubble. Then would come social media, smartphones, bitcoin, even more social media, and of course, the AI scourge that now threatens us all. Oh, did I mention porn? Yeah, it was there all along!

What a strange ride it has been – and I’m not sure we are for the better because of it.

Posted in Uncategorized | Tagged internet, life, social-media, technology, writing | Comments Off on 1995 – The Summer of the Web

A Dumb Phone in 2025?

Recently, I decided to perform an experiment. For two weeks, I disabled the “smart” on my smartphone and lived life as I did prior to 2012 – with just a dumb phone.

Why Did I Do This?

Both research and my own personal experience suggest that smartphones aren’t all that great for mental health. They shorten our attention spans, create anxiety, and quite possibly reduce our cognitive abilities. Having reached a milestone age, cognitive decline is a very scary prospect. So, I wanted to see if it was possible to turn back the clock to a 2010s tech lifestyle.

What Did I Do?

I use a 2021 iPhone SE. I went into the settings menu and disabled both WiFi and cellular data. I then deleted every app that was “useless” in this configuration. Banking apps, news, weather, all gone. I went from 3 pages of apps to one:

As you can see there are still quite a few things left. I can take pictures and videos, record audio, play music, make calculations, and even look up words in the dictionary. Apple Music and YouTube support pre-downloading of content which will still play when offline. Google and Microsoft Authenticator are necessary for work and some websites, but can function in an offline mode as token generators.

What Did I Miss?

Frankly, nothing. I had to change some habits. Instead of a grocery list app, I went back to keeping paper notes on the refrigerator. Rather than reading news, I either listened to it on the radio, or read it when I was at my computer which is much more comfortable due to the larger screen. My pre-downloaded music would play in the car and I never had any dropouts. I didn’t miss the GPS because I know how to get around and didn’t do any traveling beyond well-known areas.

Perhaps the biggest surprise was email. Reading it on the computer meant only checking email twice a day. Nothing really happened during that period of time that I missed out on. I was surprised at just how few (non-junk) messages I get every day.

That being said, I still experienced my own compulsive behaviors. I was still pulling my phone out in the bathroom well into the second week, despite the fact that I had no mail to check or news to read. Have I really become so addicted that I can’t tolerate 30 seconds of boredom?

Rude Surprises

A few things didn’t work out as planned. It is surprisingly hard to find grocery list pads in stores. I wound up using scrap paper or post-it-note pads.

It was difficult to disengage from the Apple messaging ecosystem. My friends immediately noticed I was using SMS, since the messages came in green. However, their replies would go to my computer instead of my phone. This was solved by signing out of iMessage on both my computer and phone.

I am still having issues with receiving group texts. This caused me to not receive a message that a relative had passed away. While this is bad, I really should have been notified of such a major event through more direct means.

Benefits

The biggest benefit I saw was increased productivity at home. I got several projects done that had been languishing for a while. My daily screen time dropped from 1 hour, 37 minutes down to 34 minutes. That’s an hour a day I’m not wasting staring into a tiny little screen. The sense of accomplishment I got from finishing these projects outweighs whatever dopamine micro-dose those news articles/videos/comment posts would have given me.

I also gained an increased awareness of the world around me. It’s a beautiful time of year and I’ve enjoyed watching birds fly, trees blow in the breeze, and even had some interesting people-watching.

My anxiety level was lower. In addition to reading news in the bathroom I had also developed a habit of checking my bank and credit card balances multiple times a day. I had no reason to worry about that, so why did I?

Lastly, the phone itself is getting awesome battery life now. Before, it would be down to 5 or 10% by bedtime. Now it’s at 65%. Multiply that by a billion phones and that’s quite a lot of energy saved!

Conclusions

What is the real value proposition of smart phones? They make daily tasks slightly more convenient. Sure, it’s nice to be able to add things to the grocery list when you’re away from home (or on the other side of the room). And, it’s nice for your spouse to see the update on her phone.

But, in exchange, they bring anxiety. Do you have enough battery life? Do you have enough money? I’m so mad about this thing I just read in the news. The grocery list didn’t sync and I didn’t know we needed more cheese.

Is it worth it? Honestly, I don’t think so. These features would be more valuable if I were traveling, or if I didn’t own a computer. But I’m not and I do, so I don’t think so.

But there’s a deeper concern – any time I am on the internet, I am being tracked. Not just my consumption habits, but also my location, and people I interact with. Who is collecting all of this data and what are they doing with it? And whenever I look for something, how much am I being influenced by algorithms that seek to steer my behaviors?

Obviously these are things we have to think about when using a computer on the internet as well, but mobile usage makes it an order of magnitude more creepy. Yes, my cell carrier has my location but they can only give it up with a warrant. Mobile apps have no such protections.

So, could I live the dumb-phone lifestyle in 2025? Sure. Will I? Probably not. The phone is paid for and I am on the lowest plan I can get. There is no real economic advantage to switching to a flip phone or lite phone. It would be nice to occasionally use data features. But I will likely be very judicious about what apps I re-install and try to keep tabs on myself to make sure I don’t slip into my old ADHD ways.

I also realize that 99% of the population would never entertain such a crazy idea. But if you have found this post, you may be pondering it. I say try it for a couple of weeks and see what you think!

Posted in Uncategorized | Tagged life, mental-health, social-media, technology | Comments Off on A Dumb Phone in 2025?