Tom Petrocelli's take on technology. Tom was a IT industry executive, analyst, and practitioner as well as the author of the book "Data Protection and Information Lifecycle Management" and many technical and market definition papers. He is also a natural technology curmudgeon.

Monday, March 23, 2026

Adventures in Vibe Coding

First off, who came up with the term Vibe Coding. It's stupid. You will accomplish nothing if you are going on a "vibe". I feel like Inigo Montoya - I don't think that word means what you think it means. But I digress.

I have been experimenting with AI assisted coding for a while. More like playing around with it. Needless to say, I have found it lacking. I checked in with some professional coders that I know and, to my surprise, found that many of them were using AI tools, but mostly to do simple stuff or give them ideas of how to solve a problem. So, while I still think it would be literally insane to create a mission critical application using so-called vibe coding, I figured I'd give a chance for something less dramatic.

Previous experiments didn't quite work out, but given some recommendations from folks I respect, I thought it worth another go.

The Project

To be fair to AI tools, I wanted to pick a project that it has a reasonable chance of accomplishing. I set down the following criteria for such as project as:

  • Must be simple enough that a moderately experienced programmer could accomplish it. 
  • Should be a well-known and, hence, easy to define problem. I was not looking for creativity or magic.
  • Needed to be short. A subset of "simple", a relatively short program would be unlikely to have too much complexity and would be easy to debug.
  • Should do something useful. Why bother with something esoteric when you might get something out of it.

I decided I wanted to port the Linux BASH script screenfetch to Powershell in Windows. Powershell is very useful for accessing Windows system information and screenfetch is a useful Linux tool for extracting system information. A Windows screenfetch would not be overly complex, would be useful, likely short, and has a relatively narrow and well-known problem domain. There was also a direct example to work from, thereby giving the AI tools a leg up.

The First Pass

Having used Microsoft Copilot and ChatGPT for coding projects before, I did not have a lot of confidence in either. I tried a different AI agent that I had heard good things about called Qwen. I initially wanted to try out Claude Code but had to have a subscription for that and I'm cheap about these things. I told the Qwen AI app that I wanted to recreate screenfetch for powershell and Windows and that it needed to be as close as possible to the original. Obviously, I said it better than that.

Qwen wrote the script which I downloaded and ran. It puked. Sigh.

Fixing the AI

I then created a project in Github, added a Readme with some basic placeholder text, and accessed it all in VS Code. Some quick debugging found that the Qwen code had used deprecated functions and, worse yet, functions that did not exist at all in Powershell. In other words, it made up things such as system calls and environment variables. That was a big miss, but predictable.

The best I can tell is that Qwen couldn't discern between code with errors and good code that it had ingested. I suspect it spit out someone's mistake. It was easy enough to find out where the errors were, use Powershell documentation to find the actual commands to call, and fix it so that it ran. Problem one solved. 

Incidentally, when I asked Copilot to fix the code, it came up empty. I don't think it was just a Qwen problem so much as a general AI ingesting problem. AI has no good way to know good code from bad when it ingests it and hence will spew bad solutions as well as good. This was ironic because Copilot and Powershell are both Microsoft products.

That said, the structure of the script was good, and it worked with my fixes. Qwen got me off to a good start and hence accelerated development. This suggests, as my developer friends said, that AI tools helped with simple tasks, but could not be relied upon to write code that was correct and reliable. AI provides a head start but is not trustworthy.

Documentation

The next task I gave AI was to write documentation. Documentation is something I'm very good at and am able to judge well. I asked Copilot to do the following:

write documentation for the Screenfetch.ps1 script that includes a description, proper usage, explanation of functionality, and limitations.

It did a pretty good job. Good, mind you, not great. The text it created was accurate, though not complete. Copilot didn't seem to understand where to put more explanation or emphasis. Unlike a human, it also couldn't think beyond the basic parameters of the prompt. 

For example, Copilot correctly showed how to run the script... in one way. The better way was to add the location of the script to your PATH command so that it could be run like a system command. That's how the original screenfetch works. I added that part. Copilot also didn't predict other ways, other than from within the powershell shell, that this might be run. I added instructions on how to run the script from the old-fashioned command line shell, cmd

The most useful part of the documentation was the limitations section. It correctly listed several limitations of the script which, in turn, suggested useful changes to the code. This is a powerful feature. If AI can analyze limitations of code, it is much easier for a human to identify changes that may not yet be tied to a requirement. Anticipating future requirements is very useful indeed.

Evolving Code using AI

With those limitations in mind, I decided to make some changes to the code. There were three areas to focus on. First, the original code didn't exactly replicate what was in the Linux version. It left out GPU and Packages entries. Second, as pointed out by Copilot, it didn't report on multiple disk drives, only the first fixed disk. Third, the graphic that Qwen had created was nonsensical. It was a weird ASCII blob that bore no relation to anything representing a Windows OS icon. 

I tried the last task first. I used Qwen, OpenGPT, and Copilot to create an ASCII representation of the current Windows logo. They came up with garbage. Just random ASCII characters. I ended up coding this by hand which is exactly the type of drudgery that AI is supposed to save us from. It seemed an easy enough task, but alas, nothing seemed to get it close, let along correct.

Next, I asked Copilot, from within VS Code, to add the GPU detection and account for multiple fixed disks. It actually did this without trouble. Copilot plugged in the code, VS Code showed both the original and changed code and let me decide if I wanted it or not. I was able to run the new code before accepting it. Definitely a win for Copilot and AI.

Next, I asked it to add the number of applications to the script. It did so without error. Interestingly, it still labeled it as Packages, as it is int he Linux version. Linux Packages and Windows Applications are not the same. Packages not only includes applications but also system and other shared libraries. Applications are a subset of packages. For Windows, packages are not important compared to applications. I left it in that way, however, so that it looked like the original screenfetch. I admit I'm on the fence on this one though since you would have to read the (human updated) documentation to know the difference.

Evaluation

Damn! For something simple like this, AI tools had a big effect. I would say that I was able to create this script in less than half the time it would have taken me otherwise. Given the initial and subsequent output, the narrow problem domain and existence of a known model were critical to its success. 

Therein lies the AI Achilles Heel. It needs an existing model to work from. If I was porting code, AI would be a lot of help. If I was doing something creative from scratch, it would have been a little help, perhaps as I was adding features later, but not nearly as much. Adding snippets of code seems to be easier than either wholesale creation or overhaul. 

The other problem is that a developer has to have enough experience debugging the equivalent of someone else's code. It's much easier to understand code you wrote than code someone else wrote, or in this case, something else. If you can't trust the code, this is a serious problem.

AI tools for coding are improving. You still need an expert behind the wheel, need to keep things simple, and the problem domain narrow. AI is a tool not a replacement for human coding. Use it as such.

Monday, March 16, 2026

Breaking Workflows with New Features

I use Microsoft Edge as my primary browser. Don't judge me. I used to use Firefox but found many websites that would not work properly with it. I switched to a Chromium based browser called Ulaa (from Zoho) that was excellent. Unfortunately, with Edge so embedded in Windows 11, I experienced too much inconsistent behavior, and quite honestly, Ulaa was not keeping up with new and useful browser features. So, I begrudgingly switched to Microsoft Edge. 

Edge has a neat feature called Workspaces. This is like a tab group but can be called up with one click. Unlike a tab group, it maintains the current state of the set of tabs. So, if I open a new tab and leave it there when I close the Workspace, it is present when I open the Workspace again. Workspaces are dynamic whereas tab groups are static. Workspaces also open the tabs into a color-coded separate window, visually and spatially separating the tabs into their own space. I use this feature constantly.

What happened recently to Workspaces, provides us with a great example of what is terrible about software today. You see, Microsoft has been retooling Workspaces under the cover, causing the user experience (UX) to change. That can be good, but forcing changes to workflows is disruptive and irritating. In the case of Workspaces, it no longer will maintain a fixed list of Workspaces. Instead, it now insists on what is called Most Recently Used, or MRU, ordering. That means whatever you used most recently goes to the top of your list of Workspaces, even if you only use this Workspace occasionally. I find MRU a silly way to order something. A fixed but adjustable list defines a workflow. Ordering items as Most Frequently Occurring items makes sense in that it highlights something you use a lot. MRU ignores the wishes of the user and frequent usage patterns. It places emphasis on the wrong thing.

This is not a debate about ordering schemes. It's about changing UX without taking into account the end user. It's about not maintaining backward compatibility in workflows. It is about an abrupt forced change in user behavior, without the ability to either ease into it or continue with the old ways. In effect, Microsoft is telling people who use this highly touted feature how they should work. 

If a software vendor introduces a new feature, they don't do it just for fun. They are hoping that his new feature will keep you using their product. If you don't use their product, they can't make money from it. That's why I stopped using both Firefox and Ulaa - they didn't keep up with the features that make my work easier. Once lured into using a feature, however, you can't abruptly and capriciously change key elements of it. Once your workflow has adopted this feature, changes to the feature can become changes to your workflow. In this case, instead of enabling my workflow, Workspace changes have altered and disabled parts of my workflow. 

For me, the most likely solution will be to abandon Workspaces altogether. The MRU ordering is counterintuitive and counterproductive. I can do something similar with tab groups, though not quite the same. When software companies make changes like this, they sabotage their own features. I can imagine the product manager who made these decisions realizing that use of the feature has dropped dramatically and, instead of admitting that he greenlit a change that was terrible, will say no one uses Workspaces and sunset it. I doubt that anyone will want to admit that they themselves sabotaged their own feature.

This is not just a Microsoft or software problem. For those of you who remember New Coke, you know what I mean. It just happens faster and quieter in software. All of sudden something stops working and everyone is confused. End users think they did something wrong and finally, abandon the new thing in frustration.

Oh, and Copilot lied about it and kept telling me how to "fix" my problem. Sudden changes to my workflow and gaslighting all in one package. Nice!

Tuesday, March 03, 2026

Adventures Spotify's AI Playlists

I've not been shy about how I feel about generative AI, especially for coding or writing. Much if it is too error prone to be useful on its own while the errors can be hard to find and fix. I'm also not keen on the copyright issues. My own book was ingested and used by Anthropic without my permission, possibly creating a non-permitted, derivative work. 

Creating a playlist, on the other hand, seems like the perfect AI application. There's no truly wrong song to have in a playlist, even if my own choices would be different. Artists whose songs are part of the playlist will get paid when I listen to their songs in the generated playlist. And yet...

Most generated playlists, at least in Spotify, tend to have the same songs recycled over and over. There's rarely the "Wow" factor that comes with an unexpected choice. Redundancy and a lack of surprise make for a mediocre playlist. It lacks soul. Spotify has used AI to generate static playlists, likely from internally generated and QA tested prompts. They tend to be blandly efficient and based on whatever I'm listening to at the moment. Just listened to Metallica? Now, my AI generated "daylist" will a be heavy metal focused. Old school punk and New Wave? I get more old school punk and new wave. As Dom DeLuise said in History of the World Part 1, "Nice. Not thrilling but nice." 

Still, I was very interested to try out the new Spotify prompted AI playlist feature. The idea is to start off with a prompt that could generate a playlist such as Unexpected Genre Adventure or Vinyl Nights in Tokyo. By using your own listening data as a part of the prompt, you should, in theory, get something personalized yet fitting within the framework of the prompt. More interesting, though, is that you can customize the prompt to make it slightly different and more interesting. 

I started with the prompt that was titled My Life as A Movie.  The prompt was:

Make me a playlist for when I’ve got main character syndrome. The world’s spinning, the lighting’s perfect, and every step feels like a movie scene. I want songs that make ordinary moments feel epic: walking, staring out windows, overthinking, winning, losing, all of it. For every song, tell me what scene we’re in right now—what’s happening, what it looks like, what I’m feeling. Build it like the soundtrack to my life, focusing on songs I would like based on my listening history. Do not repeat artists.

That's pretty cool. Your own personal movie soundtrack. I decide to make one small change by adding "90s romcom" to the first sentence. This was meant to be a constraint. The playlist shouldn't have music from after the 1990s or else it wouldn't make any sense. In addition, they had to be songs typically found in Rom Com of the era. Granted this made things both easier - narrowing the domain of songs - and more difficult - discerning what should be in a 90s Rom Com.

I hit generate and encountered the first problem. It took forrreeeevvvvver. As in hours with no playlist. What was it generating? A literal lifetime of music? Clearly, I needed to add a constraint on the number of songs. Second time around I added " Keep playlist to 100 songs." to the end of the prompt and very quickly had a playlist of songs that pretty much fit the bill. Mostly. Sort of. Kinda.

See, it didn't quite get the 90s part of "90s Rom Com". So, while Mr. Brightside by The Killers fit the playlist well, it's clearly post-1990s and hence doesn't really fit the prompt. Also, songs were scattered across at least three decades. It should have been a tighter range. Soundtracks for most movies either contain period proper songs, in this case the 90s, or pick a time period that the exemplified the main vibe of the movie. For example, the Rom Com "When Harry Met Sally" uses jazz standards, performed by the amazing Harry Connick Jr., to place the movie outside of any particular time. "Say Anything", on the other hand, uses all contemporary songs. The most iconic scene in the movie only works because the main character is using a time appropriate and theme appropriate song Peter Gabriels "In Your Eyes." The Spotify generated playlist, by contrast, is all over the place, from staples of 70s Classic Rock to 90s Alternative to early 2000s Garage Revival. 

That's not to say that the playlist isn't good. It's quite good, in fact. And there are surprises which make it actually interesting to listen to. A segue from 1979 by the Smashing Pumpkins to Simple Man by Lynyrd Skynyrd was completely unexpected and yet, it worked both musically and for mood. 

A fun feature is the notes that accompany each song. They describe the "scene" in the movie. I especially liked the minutia of notes such as "Kitchen scene: parent's voicemail advice plays while burn grilled cheese and life feels clearer." That's so ridiculously specific and no average human would think of it that way. 

So, what's the final verdict? Spotify's prompted AI playlist really works - mostly, sort of, kinda. It can create a viable playlist. Songs dovetail well with no major shifts in tempo or weird transitions. The notes on the songs are delightful, especially when they begin with "Hungover grocery aisle chaos". That's just fun.

Unfortunately, the AI engine doesn't ask for clarity for the prompt such as "Do you only want songs from the 90s?" or "Is there a genre you want to focus on or exclude?" which seem like something it should do. It's inability to balance the length of time it takes to generate a playlist with the number of songs is also puzzling. Anyone using this service needs to think to put a limit on the number of songs in the prompt or watch it take hours to create something a human could do in a few minutes.

I'll give it a B+. With a few refinements, it could get a grade of A.

Friday, February 20, 2026

Making a Ubuntu Laptop Useful to Me

Reading the headline, you might think that I don't think that Linux or the Ubuntu distribution can make for a good laptop experience. That's not the case at all. A lot depends on the applications you use, what frameworks and stacks you build your workflows around, and what your general needs are. For me, that means the Microsoft ecosystem including Office 365 and Windows.

The Windows part is pretty easy. Ubuntu is east enough and similar enough to the Windows experience that it's easy to navigate for a Windows user. At least for a Windows user with technical expertise. As it turned out, the apps were the real problem.

I have a functional laptop that was my main travel computer. It's a solid Dell machine. Unfortunately, it's just old enough that it can't be upgraded to Windows 11 so, I bought a new laptop as my travel computer. With Windows 10 now end-of-life, it seemed to be the time to upgrade. My daily drive is a desktop by Alienware.  For years, I've had a Microsoft 365 subscription, originally purchased for work. Needless to say, the majority of my computing, outside of gaming, lives in the Microsoft world. 

As an experiment, I wanted to see if I could convert my old travel computer to a reasonably functional laptop that would, at least, approximate the experience of my Windows computers. That means run the same apps, access the same cloud storage, and be otherwise useful for my everyday needs. I wasn't looking to duplicate the development environment that I have on my desktop or run resource taxing games. I just wanted to be able to do relatively normal tasks that I use my other laptop for.

Getting Ubuntu installed and configured was easy enough. I did some simple modifications such as moving the launcher dock to the bottom, like it is in Windows 11, and arranging desktop icons so that it was similar to my Windows configuration. Some changes required using terminal commands, which is a bit irritating and might not work for an average user. The power policy, for example, turns off the screen after a maximum of 15 minutes according to the GUI settings. You have to set using gsettings on the command line if you want something more. 

The primary launcher also just dumps most of your programs into a grid with a few in program group folders. I had to organize my applications manually. That's not much different than Windows 11 though the latest upgrade to the Windows 11 Start menu does some of that organizing for you if you want. 

A major hurdle to using Linux int he past was accessing cloud drives, especially OneDrive. Gnome, the display manager used by Ubuntu, makes that easier. You can connect to your OneDrive drive and access it like a network drive directly from the file manager. It doesn't sync to a local drive, however, so without a network connection you won't have access to your files. That's certainly a consideration for a travel computer.

Adding applications is where things get really dicey. The majority of Ubuntu applications are snaps or Debian packages (DEB file) available through the Ubuntu App store. That fine for installing most Linux applications. Getting the same applications that I use on Windows was ranged from easy to impossible depending on the application. For example, some applications are available on Windows and Linux. All I had to do was install the Linux version. That wasn't always as easy as it might seem. 

Software developers often have a bit of religion around package managers and will only use one of them. That's okay if it's a DEB file or a Snap. Not everyone likes those though. I ended up installing Flatpak as well to get at some applications. That resulting in two app stores that didn't support all formats. 

Unfortunately, even that wasn't enough. Ubuntu finds applications store in specific repositories. Some developers insist on releasing through their own repository which has to be added at the command line or in the Software and Updates app. Even when it is added, it still has to be enabled before those applications can be installed. Microsoft Edge required the adding of a Microsoft Linux repository. Again, it's part of the Microsoft landscape and using another browser, such as Firefox, would not allow for bookmark and setting synchronization. I had no choice but to jump through all the hoops to get it installed. Once installed though, I was able to download and configure Microsoft Teams as well.

Several applications that I use a lot only came in a Windows flavor. The solution there was to install Wine. Wine creates a compatibility for Windows applications at the API level. Once installed, Windows applications supported by Wine showed up in the App store and could just be installed. Wine, however, is not magic. Even though the WineHQ project says you can install Microsoft Office 365, it proved impossible for me to get it to install, even with detailed instructions. By the way, those instructions were command line instructions that were not for an inexperienced user. I tried using some of the GUI interfaces for Wine but, no matter what, the installation choked. So, I'm stuck using a different office suite or the online versions of the Office applciations. The latter is not really the same experience and relies upon a decent Internet connection. That's a heavy lift on an airplane.

A bright spot was gaming. I was able to install Steam which, using its Proton compatibility layer, was able to run some of my Windows games. I didn't try anything too taxing since the graphics card on the laptop likely could handle those games, but some older games were quite playable. If the computer itself was more capable, I don't doubt I could play most of my Windows games on an Ubuntu laptop. 

At the end of the day, I got about 90% of where I wanted to be. I can already hear the Linux apologists saying to switch to a different browser, cloud storage from someone other than Microsoft's, or use LibreOffice. That's a major switch of infrastructure, applications, and workstyle. You can't ask regular people to do that. 

So, the Windows hegemony will remain as long as key Microsoft applications such as Microsoft Office 365 are unavailable as native Linux applications. Maybe that's the point of not supporting Linux in this way.

Monday, February 16, 2026

Things I Like About Linux

Ok, a few weeks ago, I gave my list of things I hate about Linux as a desktop operating system. Now, I want to counterbalance that list with the things I like about Linux. I will state upfront that none of the items on the list will be of the "Because Windows does this..." or "Unlike Windows...". I really dislike that about a lot of discourse around Linux as a desktop environment. It's more Microsoft or Apple bashing than Linux cheerleading. 

So, without further ado, here are the things I like about Linux as a Desktop OS. Keep in mind that none of what I like will depend on which distribution, or distro, that you are running. A distribution is a packaged set of software that includes the Linux kernel, graphical user interface (often Gnome, or KDE, through there are literally dozens of choices), and application software. Choose wisely.

  1. It runs on extremely underpowered machines. It's true that you need to find the right distro to match your computer's resources, but Linux does this better than anyone. I'm not talking about running an older version of the operating system; I mean a fresh new version of a Linux distro on practically ancient hardware. Right now, I have a laptop from 2006 running MX Linux. It's not great but it's serviceable and still useful. All of this is due to the design of Linux. It is not monolithic. The kernel stays quite small and creative distro makers find collections of applications and GUIs that fit in under resourced machines. This is why single board computers such as the Raspberry PI run Linux. 
  2. All the distribution choices. I can choose a distribution that suits me or my machine. Low resources? There's a half dozen distros for that. Something modern and zippy? Sure, there are lots of mainstream distros for that. What if you don't like the user interface? Choose a distro with something different, weird even. 
  3. On that note, there are distributions tailored to functions. There are distributions that are designed for software development, creatives, office work, security professionals, specific update methods, certain languages, some for use as a LiveCD, education, beginners, Mac users, Windows users, and many more. 
  4. You can still change almost anything. If you find that no Linux distro gets you 100 percent to where you want to be, you can alter something to get you all the way. Package managers, applications, even graphical interfaces, can all be changed easy enough. You are even able to load multiple GUIs on your computer and switch between them effortlessly. You can also adjust so many small things, allowing you to tweak your installation to your needs and likes.
  5. The cost can't be beat. While nothing is truly free, the initial capital cost of many distros, even major ones such as Ubuntu, is zero. You can pay for support if you don't want to rely on community support and your own talents, and there are some distros only sold as commercial products. The vast majority of Linux distros, however, are available for download for free.
  6. The difference between a server and desktop is basically only the GUI. You can run all the server software on any Linux installation, alongside the desktop environment. In fact, the main difference between a server distro and desktop distro is that the server distro comes prepackaged with the server software and the desktop distro with the GUI preinstalled. If you want to load the desktop distro, so that you have access to GUI tools, and then load up a bunch of server software, it's pretty easy.
  7. There are a multitude of ways to install and manage software. Most desktop OS' come with what is called a package manager. As it sounds, it is a way to package, install, and then manage (remove, update, list) the software on a machine, along with their dependencies. Most distros come with either apt, yum/dnf, or pacman. Most distros have a GUI for searching catalogs of software and then installing, removing, and updating software in those catalogs. You can choose the one that works best for you or stick with whatever came with your distro.
    Ubuntu uses a system called Snap which not only installs and manages software but runs it in a container system similar to Docker. It provides easy control over running software, in addition to installation. Flatpak is similar in that it installs and manages software but runs it in a sandbox to ensure that applications can't harm the system overall. Both have GUI front ends. Snap and Flatpak represent the future of package managers - containerized systems that not only manage software installs, but the runtime environment as well.
  8. Even when they look different, Linux systems can interoperate. Assuming that you have installed all the dependencies, pretty much anything that runs on one Linux machine can run on another of equal resources. Ultimately, Linux is Linux, no matter the distro. Sure, if you have something compiled for a completely different microprocessor architecture it may need to be recompiled, but all Intel architecture machines will run all run the same software.
My home lab is a prime example of the versatility and interconnectedness of Linux. I have an ancient (2006) laptop running MX Linux which I use for small monitoring tasks. I have two machines running Debian derived Ubuntu Desktop OS, but configured as servers for various services within my environment. Finally, I have a laptop from 2010 running Pop_OS, itself a variation on Ubuntu, that performs the majority of monitoring and observability for the system. That's four machines with three different Linux distributions, running a host of file and cloud services, plus monitoring. All are capable of running the same modern browser, despite vast differences in age, system architecture, and resources. There was no cost for installing and managing the operating system, outside my labor. This is what I like most about Linux.

Tuesday, February 10, 2026

Things I Hate About AI

Anyone who knows me will tell you, I'm not a Luddite. Quite the opposite. I like shiny new technology. I have a closet full of broken tech dreams i.e. all kinds of cool gadgets that were either ahead of its time or outlived its rather cool usefulness. So, when I tell you about the things I hate about AI, it's not a knee jerk reaction. In fact, I wrote a number of papers in the mid-2010s about the potential of AI to help us mere humans.

I don't think that AI is reaching that potential. My list of things I hate about AI is partly why I believe that. 

1. It's often wrong but sounds right. Unless you have expertise in an area, you can't tell if the AI answer is true or not. If you do have expertise, you don't need it. This is an example where no answer is a better answer. I've learned to only use AI in situations where I can truly evaluate the answer's veracity.
2. It makes us lazy. We stop doing learning simple things because the AI does it for us, just, you know, wrong. Lazy isn't necessarily bad. A lot of great software was created by people too lazy to do a simple task. Lazy plus wrong, however, is a toxic combination.
3. All that typing or speaking when a couple of button clicks will do is not progress. We moved away from command lines for a reason - they were too much work for a lot of tasks and error prone. GUIs, designed right, have democratized computing. Which brings me to…
4. AI is being used to make up for bad UI design. Instead of spending bazillion dollars on AI, try fixing your horrid interface or placing that one important selection right up front. I guess we're back to the lazy thing again. Seriously, if I have to ask an AI agent to find and change a setting for me, then the UI is not working out.
5. Generative AI slop is ruining art for everyone simultaneously. Art has soul. Art has creativity. A prompt doesn't count as either and all AI can do is mimic something already created. The problem is that people are getting used to the idea that AI can create art and that what it spits out is art. 
6. AI slop in general but especially code. When revered open source projects like cUrl have to stop bug bounties because of it, you know it's destructive. It's another effect of the intersection of lazy and wrong. You get code, plans, writing, and search results that are not useful. So, it's a waster of everyone's time and resources.
7. The environmental impact is not worth the results. Is the consumption of massive amounts of energy, and the pollution that comes with it, worth what we get from AI? The true ROI is lousy when you take the damage into effect.
8. RAM, once a cheap commodity item, is increasingly expensive because of AI needs. The irony is that there may not be PCs capable of running AI apps because of AI. Once the cost of the endpoint exceeds the benefits of the service, which will be discarded first? I'm betting on the AI.
9. General AI is purposeless. Domain specific AI adds value to whatever tasks you are doing. General AI, especially chat, is a time suck. It's like voice activated everything. It makes sense in the car but not in a crowded office, or church. AI is like that. It has to be used where it makes sense and it's not. That means it needs to be tailored to and restricted to specific domains. Copilot for Microsoft 365 is actually useful. General Copilot on Windows? Less so, by a lot.

It is apparent from my list that I doubt the long-term ROI on AI. That's a money problem and hence, not my concern. My chief concern is that using AI doesn't yield consistent, high-value benefits in most instances. The societal costs - cost of RAM, environmental damage, relying on false information, and the laziness it breeds - are everyone's problem. 

Monday, February 09, 2026

RAM It All To Hell!

 Warning: This post has the potential to be acronym laden. Read at your own risk.


As we all know by now, RAM prices are going through the roof. Some companies are even going so far as to exit the consumer market in favor of OEM sales. All of this is caused by the build out of AI systems by major tech companies. These systems have dubious profitability models. Here are some possible effects this sudden rise in RAM prices may have on the broader market.

  1. The Mountain Climber. RAM prices continue to climb. And climb. And Climb. This has the effect of making RAM expensive for consumer products such as SSDs, laptops and desktops, and, especially, smart phones. Other devices that rely on computer technology such as smart TVs are also affected. More expensive storage means more expensive devices, which slows consumer and maybe small business purchases. The electronics segment takes a huge hit. They will have to decide between selling equipment and worsening margins. Ironically, many of these companies are the same companies that are building out AI centers. So, the RAM manufacturers win but everyone else loses.
  2. The Crash and Burn. It turns out that no one really wants the AI stuff enough to pay for it. After hundreds of billions of dollars in capital investments and labor, most AI companies either go belly up or severely cut back on their AI products. Half or fully built datacenters are snapped up by the handful of tech companies that found a way to make AI useful enough for their customers to see value in them. With the buildout stalled or stopped, all that RAM that was held back floods the market. Consumers get a windfall, as cheap RAM allows for upgrades and lower prices, electronics and computer companies win back some margin, and AI investors go home with lighter pockets.
  3. The Old Ways Return. Back when I started my career, in the before times, RAM and storage devices were expensive and limited. You had to learn to optimize your code to run on computers and devices with extremely low resources. That changed when RAM and hard drives became cheap. We could add Gigabytes of RAM and Terabytes of disk space to even low-end consumer devices. Those times may now be at an end, and the software industry may need to go back and find ways to shrink the footprint of software. This means more cost and time for software development. More cost to the consumer too. Given the amount of competition in the software business, companies may not have the ability to raise prices and, instead, take a hit on margins and profits. 
  4. The Soft Landing. The boards of companies investing in AI start to demand profits from AI that match the level of investment. In response, CEOs, slow, rather than stop, the build out of new data centers. RAM doesn't exactly flood the market, but prices start to come down as availability comes back up. Eventually, the market finds its equilibrium. At that point, consumer prices are a bit higher but not crazy high and some value from AI is achieved. Rather than a blood bath, larger companies go on a buying spree and consolidation takes hold. Most of the winners will be large tech companies and a handful of now incredibly wealthy entrepreneurs. 
To me, the most likely scenario is the Crash and Burn scenario. This happens all the time in the tech business. Companies jump on a bandwagon, spend stupid amounts of money, discover that consumers aren't in it for the durations, and then retrench. Some companies win; some lose. The AI Crash and Burn is the best scenario for the consumer. They have some short term pain but eventually get lower prices and some AI value. 

The Soft Landing is also possible, though less so than the Crash and Burn. The history of computing is rarely so pleasant. Just look to the Dot Com crash and the Storage Service Provider bloodbath for inspiration. This scenario is probably the best one for the industry and consumers alike. Prices come down and we get new and useful products. If this happens, it will be a unicorn.

The least likely is the Old Ways Return scenario. Software is a bit like food. Our ancestors lived with constant food scarcity. Over time, food became abundant and we no longer know how to live in a scarcity environment. That's why so many of us are overweight to the point that Ozempic is a major drug. Early in my career, I had to jam software into kilobytes of ram and disk space. Very few software developers today have ever lived with that kind of resource scarcity. RAM and disk space were so cheap that you could expect consumers to just buy more to suit your applications. Memory and storage space are just not something that extreme optimization is given time and money to anymore, and no one knows how to do it well.

If we get the Mountain Climber scenario, we're all screwed. If RAM prices continue to climb, it hurts the tech industry across the board. Consumers too.

These are just observations from my 40+ year old perch. I'm typically an optimist until given a reason not to be. I'm rooting for the Soft Landing, even if I think it unlikely. Let's see if we get the AI equivalent of the PC revolution or Dot Com crash.

Wednesday, January 28, 2026

Things I Hate About Linux as a Desktop

I've been using Linux since the days you had to compile it from source and there were no distros to speak of. Those were the days of altering two dozen configuration files just to get it kind of working. Ah, the olden days. Since then, Linux has come to dominate the server space, powers every commercial and private cloud, and is the backbone for my home lab. I have at least four Linux computers in my house and all have full desktops loaded on them. A lot of activities are much easier to perform using the desktop tools and, in a pinch, my Linux servers can act as a secondary desktop. That's after my Windows desktop and two Windows laptops but I digress.

Despite all that, there is still a lot of things I hate about Linux as a desktop computer. In fact, these problems are what keep me from jettisoning Windows in favor of Linux. They are also part of why Linux has stalled at its current tiny fraction of the desktop computing market.

So, here are, in no particular order, my complaints about Linux. There are more, but these are top of mind for me.

1. After all these years, some things can still only be done with the command line. Yes, it's getting better, but the command line is still unavoidable. For newbies and non-techies, this is enough to keep them away.
2. The desktop distros are different enough that they may as well be different operating systems. If the Linux community wants to fulfill the dream of being a viable desktop OS, they need to settle on one GUI. Gnome, Cinnamon, and KDE are heading there but for every distro that adopts one of them, a new GUI emerges. The fragmentation is killing the Linux desktop market. Many Linux users see this as good, favoring choice over consistency. The rest of the world is confused by it all
3. Which brings me to diffusion of energy. So many maintainers are complaining about how few of them there are to maintain all the distros, applications, and components that go into a desktop OS. That's in part because they are all working on competing products. There are hundreds of distros with a half dozen GUIs. On top of that the bundled apps are different as well. Lots of people doing the same work just spreads the butter too thin.
4. Competing package managers and app stores don't help either. No one app store interface can update packages from all the different formats. That's a problem for developers and users alike. At moment, I use scripts to update APT, Snap, and Flatpak packaged applications. Your average person has neither the ability nor desire to do write code to manage updates.
5. No matter what anyone says, none of the graphics look as good as Windows or MacOS. Look at Gnome or LibreOffice next to Microsoft or Apple equivalents. I get that that's a heavy lift. Microsoft and Apple can employ a small army of designers to tweak the smallest aspect of the user experience, and even they don't get everything right. Aesthetics do matter to the average person who looks at Linux and has a flashback to 1998.
6. Linux suffers from the "chicken or the egg" principle. Major applications, such as Microsoft Office, won't run on Linux. That slows adoption since many people need these apps. That reduces the market for Linux desktops, making it less attractive a market for major software companies. It's a vicious cycle for sure. Linux needs an iron clad Windows compatibility layer that emulates Windows behind the scenes. Wine and similar apps are still not good enough as far as compatibility and performance goes.
7. Hardware compatibility is still a problem. No matter the reasons for this, a lot of hardware, both old and new, can't run Linux well. I find this especially true with graphics hardware. It even manifests itself with strange desktop GUI behavior. And no, Wayland didn't make it better.
8. While it's great that some Linux distros can run on low-end machines, when you upgrade the software on those machines, it can either bork the machine entirely or make it act all wonky. Either disable updates when the hardware doesn't match up with later requirements or make updates that work on everything. You can't just leave it to fate. And don't tell me that it's impossible to test everything. Microsoft does a much better job with backwards compatibility and when it can't, disallows the upgrade such as the Windows 10 to Windows 11 upgrade issues.
9. The ability to operate alongside Windows machines is still poor. SMB shares either can't be connected reliably or break during a reboot. It's been 30 years of Linux working with Windows machines. This needs to be fixed for Linux to be a reliable desktop machine.
10. All those configuration files are the worst. There are so many configuration files still lurking around in Linux distros. For example, to change from the Ubuntu LTS update cycle to a non-LTS one requires a change in a text file. Corrupted text files can bork your whole machine. Settings of all kinds are sitting in files that can be erased, moved, or corrupted. This needs to be a database with settings apps that change behavior. Files like these are a leftover from the 90s. That was over 35 years ago. 
11. Which leads to a lack of obvious settings available to the user. For example, a number of distros that used to use Cheese as the camera app, switched to Gnome's Snapshot. The latter doesn't have setting to invert the image. Lots of cameras don't do this automatically. Unfortunately, lenses flip the image so that it looks backwards. This is not to dish on Snapshot per se. Lots of apps are missing obvious settings such as flip the screen so that it looks true to life.
12. Gaming support still sucks. Compared to Windows, the best "Gaming" Linux distro is still much less capable than its Windows counterpart. That is partly due to graphics card support. Weirdly, we know this is possible because SteamOS is a Linux flavor. Mainstream distros, i.e. the one's that most people are likely to use, are not great for games. Meanwhile, Microsoft is doubling down on game support merging Xbox features into Windows. 


There's more, of course, but these are the ones that irritate the most. I would love to see Linux distros that are a viable alternative to Windows or MacOS for desktop/laptop computing. It's not even close and the major commercial distro players are obviously more interested in the server market. One can hope, nonetheless.

Tuesday, January 27, 2026

Things I Hate About Microsoft Products

I have been around computer technology long enough to know that there are pros and cons about everything. For that reason, I'm not a Microsoft hater, or a Linux hater. Ok, I am an Apple hater, but that's for pretty specific reasons.

Windows 11 is my daily drive. I have two Windows laptops plus a high-end Windows desktop. I pay for an Office 365 subscription. If I didn't like Microsoft's products, I wouldn't spend my money on them, especially with all the free, open-source stuff available, In many ways, Microsoft makes superior software that people think is worth paying for. 

That said, there's a lot not to like. So, here are some of things I hate about Microsoft products. It is neither an exhaustive list nor the final chapter in things to hate about Microsoft products.

1. Some Microsoft products won't close on exit, minimizing to the taskbar instead. Copilot doesn't even come up with a reasonable manner to set it to close. This should be an affirmative setting. Everyone else has a way to toggle this behavior. Frankly, whatever the reason is for not having such a setting, it's really up to the user to decide if they want that behavior.
2. Office Online will sometimes insist I create a Passkey for Office 365. The ability to turn off this tendency to interrupt what I'm doing to make me cancel no fewer than three prompts is irritating. Worse yet, it doesn't go away forever. Every once in a while, it pops up again. You used to be able to turn this off, but Microsoft eliminated the setting to do so. This behavior is either bad programming or evil intent. 
3. Settings on Windows, Edge, and Office keep moving around. It's nearly impossible to remember where some settings are because they are not in the same place after an update. Some products such as Edge, do this all the time. Yes, products evolve but thoughtfully not randomly.
4. On that same note, Microsoft keeps hiding settings for things like minimize on close and Passkeys. Microsoft giveth and Microsoft taketh away.
5. Copilot is too stupid to notice when these settings have changed. It constantly gives bad support information. What's worse than an AI giving bad information? Giving bad information about itself and its creator's other products. 
6. OneDrive can't sync a file if it's open and hence insists on marking it as an error. Microsoft should either figure out open file sync or stop marking it as an error. One of these is personal vault which is designed not to stay open. The feature is actually an error. What?
7. Widgets are so limited they are a waste of taskbar space. Just put the weather int he lower corner and be done with it. It's the only widget anyone really uses anyway.
8. If you use an alternative browser, such as Firefox or Chrome, Windows still wants to open Edge. That's just stupid. or it's evil. Take your pick. Maybe Microsoft is trying to force Edge on those who are not into it. I actually like Edge. It has a lot of useful features I like to use regularly. If I choose differently, however, then respect that. It makes Windows seem inconsistent. 
9. Speaking of Edge, they need to rationalize tab management. At the moment we have Tab Groups, Collections, and Workspaces. Each does something a little different. There is some new Copilot tab management, but I'll be damned if I can figure out how that works. I'm not motivated to figure it out because I have some many options right now.
10. Speaking of Workspaces, why don't they automatically reload/update websites when you open them? There might be some underlying technical reason but really, that's bad UX. We expect that a tab will reload when we open it. 
11. Microsoft seems hell bent on gathering my private information. I'm always playing whack-a-mole with privacy settings. And those settings move around (see number three) or get hidden (see number four).
12. It's entirely stupid that there wasn't a version of Windows 11 that older machines (I'm talking machines only a few years before Windows 11) could upgrade to. A lot of folks are either stuck with buying a new machine or flying without a net now that Windows 10 is no longer supported.
13. And having to reboot after every update is annoying and dangerous. I'm betting lots of people put off critical updates because they don't have the time to go through one or more reboot cycles. Figure out how to update software in place.
14. And why do we still have to alter the registry to do certain things. This is not some kind of Windows hacking. Microsoft's own support documents tell you to do this all the time. You gotta love it when they tell you to alter the registry and then flash a "Danger! Danger Will Robinson!" message at you when you do. Seriously, there should not be a reason to monkey with the registry in 2026.

I'm sure I'll think of more. Microsoft is a big company that makes complex software. They've also adopted a bit of the Apple paternalism over the past few years. Many of the things I hate about their products relate to that behavior. I predict it will only get worse with all this AI stuff. We are going to be expected to treat tech support like a session with a therapist only with less concrete results.