I'm hearing a lot about AI "killing" software companies. I just wanted to share some experiences and thoughts.
I worked at The Coca-Cola Company 30+ years ago. There was this idea that Coke should build its own software internally because it gave us total control over every feature we could ever want and that this was a competitive advantage. I would argue that for one off applications, this is true, but that for commodity applications where there is a large marketplace for multiple products, building on your own makes little sense. It is hard to understand the few that building your own database ODBC driver or MAPI driver for application automation provides a competitive advantage. For many years, many applications have provided the necessary integration today into the the necessary industry standards that have widespread support. We had a set of internal apps called KO/Office. Its key feature was email and discussion (threaded discussion). There was a DOS version and a Windows version. It worked ok. It didn’t work well in situations where there were disconnected offices, or rarely connected. This happened with offices in Africa as well as Asia at the time. We think of a standard internet connection as the default today, but it wasn’t back 30 years ago. While we could handle the issue with email, the discussion boards were not easily resolved, if they ever were. We spent millions trying to get “distributed bulletin board” to work and I don’t remember it working. To keep email working, we had rows of dos based computers that all they did was to login to various servers, look at email in a file based system, and then to transfer email. We had to have people that worked 24x7 to literally reboot these dos based mailmen. I tell the above story to say that I don’t believe in this idea that customers are going to build their own software for companies and stop using Saas based systems or third party software. While AI companies want to push this idea, they are really pushing themselves as the solution to a problem that really doesn't exist. I don't see where customers should staff up the necessary technical expertise to host their own applications, because when you take on your application it must be hosted somewhere and that is up to the company/customer. I’ve seen no evidence of customers building their own solutions to commodity problems. If they are doing it, i don’t know that and they aren’t prepared for the complexity and cost of what is going to happen. If a company is going to write their own software and not use Saas based systems, they need to think about the above story and all of the hidden costs. There tend to be a lot of hidden costs that they don’t see coming until the commitment is made. I also want to be clear that I believe that AI can help with tasks. I don't see it as taking over. Btw, from what I hear, Coca-Cola has a commodity smtp email system now, probably based on Microsoft Exchange Server, but I don't know that.Monday, April 6, 2026
Wednesday, January 21, 2026
The California Wealth Tax
Over about the past month, the California wealth tax proposal has filled various feeds of mine, whether it is Google, LinkedIn, or just articles in cnbc. I’ve got some views on that that I’ll be sharing.
What is a wealth tax? Quite simply, a wealth tax is a tax on assets. In the US, we tend to tax based on consumption and transactions. Mao, if you buy a house, a car, groceries, gasoline, etc, there are some taxes associated with it that you must pay the government. These taxes go to provide various services that we as a society have determined collectively that we think should be provided. These services are like roads, education, police, land use management, defense, etc. These services must be paid for.
As stated, we pay for government services via taxes. Then, we add in that the more money you make, the higher the percentage of tax that must be paid. The more money you make as income, the higher the percentage of tax on that higher income. There are two general types of income taxes for individuals, yes there are more but we’re keeping this simple.
* There is a general income tax. You make money via income from a job, you pay a certain amount of tax at the local, state, and national level. The more money you, the more you pay.
* investment taxes otherwise known as capital gains taxes. For example, let’s say you buy $10k worth of land. Five years later, you sell that land for $20k. You made a $10k profit on the land (20-10). You owe tax on that $10k income at a capital gains rate. This also happens with stocks. Let’s assume you buy a stock at $63 per share. Something happens and you sell the stock at $200 per share. If you had 1,000 shares, you would be responsible for capital gains tax on $137,000. Due to the risk involved with capital gains investments (investments can and do go to zero), that tax rate is less than the income tax rates.
There are at least two clear problems with taxes.
1. Income taxes haven’t kept up with the income of higher end income producers. On a federal basis, there is a top number for taxes that hasn’t kept pace. For example, Greg Abel of Berkshire Hathaway will make $25 million this year. Now, there is nothing wrong with $25 million of income in a year. Mr. Abel is not somehow evil or anything like that. I don’t disagree with the thought that Mr. Abel should probably pay a higher percentage of his income over $1 million in taxes.
2. Many wealth people are borrowing against assets for income and that is not taxable. I don’t know how big the bypassing of capital gains taxes is, but it is clearly a tax dodge. I’m not a tax specialist, but borrowing several billion dollars against an asset, such as stock is clearly a tax dodge. If a tax owner would need money, I would expect them to sell that asset and pay taxes on the capital gain.
Here are the problems that I have with a wealth tax:
1. The California wealth taxes are being used to offset cuts from the federal government. These cuts from the federal government have been ongoing for the past several years. California was the recipient of additional payments from the federal government during COVID. These payments were designed to be around the area of health. Now, with less money available, the state has to either cut programs or come up with additional income, most likely from taxes. Instead, the state should shore up its services and get the services more inline with its income.
2. What are assets worth? You can think, oh that’s easy, you just take the stock price and multiple it by the number of shares. Easy peasy done. No, it doesn’t work like that. When I buy a stock, 10 shares or so of something, I’m not going to affect the marketplace. When Jeff Bezos sells hundreds of thousands of Amazon shares, he is going to force the price of Amazon stock down. Why? Mr. Bezos is an insider. When insiders sell a share, even if the sale is disclosed, the general thinking is that there is a reason that has not been disclosed, which is going to drive down the price of an Amazon shares. When a few hundred thousand shares of Amazon come on the market, that will also drive down the price of Amazon shares. Keeping Mrs. Bezos happy costs money. Without an official transaction, it is simply not possible to value an asset, therefore it is impossible to put an accurate value on an asset. Wealth taxes are fundamentally flawed.
3. This is a very personal reason, that matters to me. I spent many years in the depths of startups at the early stage. Early stage startups need money, love and smiles will only take you so far. Early stage startup money tends to come from individuals with significant investable income. That’s billionaire money. Now, I live in the US southeast, so I am not directly affected. This wealth tax would soak up some amount of money for startups. This is not going to directly affect Silicon Valley, NYC, etc. They have plenty of money. We don’t have plenty of money in the southeast for startup money. https://sfstandard.com/2026/01/17/leave-b-billionaire-tax-backlash-spreading-far-beyond-billionaires/
4. I simply don’t understand why government has a right to a person’s possessions. Stocks, bonds, real estate, etc are assets. I simply don’t understand why any government is allowed to take a person’s possessions when those possessions are doing nothing. Stocks are sitting their doing nothing for the individual beyond validating their existence.
This doesn’t even get into the fact that wealth taxes have been tried and failed in Europe. The result of wealth taxes in Europe was capital flight. Wealth taxes roughly failed in Europe and were rolled back.
Even though I would think that California would go for wealth taxes, the situation on the ground is less clear. https://www.cnbc.com/2026/01/20/california-billionaire-tax-faces-uphill-battle-new-poll-finds.html
That is where I am at. I don’t like the concept of wealth taxes
Friday, January 2, 2026
.NET 10 Maui Listview -> CollectionView
Looks like the .NET 10 Maui Listview has been marked as Obsolete. The recommendation is to go to the CollectionView. I'll be commenting on the changes as I make that move in some projects. I'm going to go slow on this because the CollectionView is a fairly good sized change, but not horrible.
Monday, December 29, 2025
Upgrading Maui Code to .NET 10 - MainPage
I've got a project that I keep around to do all of the .NET Maui stuff that I need to do. It is currently in .NET 8/9 (I'm not sure which). I'm starting to upgrade it to .NET 10. I have a lot of warnings of code that is found to be obsolete. I'm going to document for my personal usage, what did I need to change to get ride of all of these warnings.
The first warning I saw was "MainPage is now obsolete." or something like that. Ok, what do I need to do. Copilot is not hope. I stuck the message into Google and I got an immediate answer. I needed to remove setting the MainPage to a value. Take that out. Then I had to add in the following method in my App.cs file:
protected override Window CreateWindow(IActivationState activationState)
{
// Set the initial page on the new Window instance
return new Window(new TabbedNavPage()); // Or any other page
}
Monday, December 8, 2025
Adding to the headers in .NET 10
To add to the Response Headers in .NET 10. I am doing the following. Specifically, I am setting the Content Security Policy (CSP). Yeah, I'm doing bad stuff here, get over it.
var headers = context.Request.Headers;
headers.Append("Content-Security-Policy", "frame-src 'self' localhost; style-src 'self' 'unsafe-inline' https://kit.fontawesome.com https://cdn.jsdelivr.net https://code.jquery.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdnjs.cloudflare.com https://cdn.plot.ly https://cdn.jsdelivr.net https://kit.fontawesome.com https://code.jquery.com");
Wednesday, May 14, 2025
Beware the transitive property of expertise
Tuesday, February 25, 2025
Where are the Areas?
I don't often set things up. I have to remember where things are at. So, I'm putting this out in my blog since I tend to remember things when I blog about them. I have a c# web app in .NET 9. Where do I get the identity content from the areas at? It is at:
https://localhost:7011/Identity/Account/Login?ReturnUrl=%2FIdentity%2Faccount%2Fmanage
This is a link that you can work from to find things. Here is the pic from Visual Studio 2022. This is for the overloaded files.