Monday, April 27, 2026

Algorithms Matter, mostly

I often hear about language wars where my language, such as c++ or another c derivative language, is better than your language, like Visual Basic.  There will be all kinds of basis for this, from letter counts to compile times to the man in the moon.  no, no, and no.  In my 30+ years of development, for the work that I do, languages do not matter.

First, let’s look at the kind of work that I do.  It is the same as 99% of developers.  There is some type of code that sits in front of some type of datastore.  This can be as simple as a web application sitting in front of a database. In general, there is some type of application that talks to some type of datastore.   There tends to be all kinds of plumbing between the application and the data store.  The application could be any type of application from a user interface standpoint.  It could be a web interface, a windows app, an iPhone app, or something else.  The datastore is most like a database with some type of intelligent processing happening, so it could be the database, a messaging system, some central processing, web services, or a host of other things.

You want to use your datastore as much as possible.  You don’t want to have a lot of communication between the database and the rest of the application.  Those are chatty apps, and can be really slow.  You also want to optimize your database, a good schema, a good indexing set based on the queries that the application runs are a good thing.

Now, a lot of algorithms don’t lend themselves to operating within a relational database.  A good Loic layer close to your database while only sending results to your front end application, now that is what is important.

Create optimal,algorithms, and your performance problems tend to solve the,selves.

Be Careful With The Marketing Bros

One of the things that I see that is counter productive is that startups are treated like “little companies.”  No startups aren’t little companies.  I see this a lot with economic development organizations.  

  • Startups need to find customers.  No, customers aren’t just there in your web browser.  Startups need to go find customers early on and look at them face to face.  Startups need to knock on doors, introduce themselves, have conversations regarding pain points, talk to enough customers to get a broad understanding of of industry problems, figure out how to tailor solutions to meet those customer and industry problems.
  • Too often, I see startups that   Are afraid to go talk to people face to face.  They make every excuse to not do the leg work.  I hear this argument against this “customers don’t know anything….blah blah blah, talking to customers is a waste of time, etc.”  customers have pocketbooks and money.  Ignore their needs at your own peril.
  • Build a solution that is for one customer thinking it will work for everyone.  Writing code that is for a particular customer, just to get a sale is incredibly common, but leads you down the wrong path.  .  I did an inventory at one customer that had at least 100 reports, each report doing what one customer needed specifically in a search report.  That’s 100 pieces of code that must be supported, but you are only getting paid for it once.  Why not build a report that allows for customer customization so that each customer can build the query that they want?  I’ve done this and it isn’t very hard.  Instead of 100 reports that must be supported for the lifetime of a product/company, I built four screens that allowed a customer to tailor the search criteria involving 100+ criteria.  100 screens of custom code that has to be supported and can’t be shared or four screens of code that can be customized by the client to their heart’s content and when one improvement happens, everyone gets the update.
  • Marketing is a great thing to do, once you have a product that is worth selling.  I see these economic development organizations that push startups to do more marketing.  I get it, economic development organizations are marketing people.  That’s not the most important thing early on in a startup.  Economic development want to grow and think everyone else should to.  Until a startup has a defined product and a defined target market, marketing is like the ICBM that you launched but you didn’t tell it where to go.  You don’t have a recall button and you never get that second chance to make a first impression.  The marketing bros might be great once you have a defined product, a defined market segment to target, but early in, marketing bros of economic development whether independent marketing bros or the self proclaimed experts that do talks and have classes tend to do more harm than good.  You have limited resources.  Sure, take some shots early in, but don’t just blindly spend money, which is a problem I see.

This isn’t a condemnation of economic development organizations.  They can be good if you use them properly.  There are a lot of decisions that have to be made before you should spend the first dime on marketing.  As a startup, you don’t have infinite resources or money.  Stop, pause, and think thru what you should do first.  Engage with a few local customers that you know personally.  That will get you going better than anything else.  Once you’ve done that and proven that there is something there, then engage with economic development groups, angels, VCs, etc.

Does you startup need some help?  Do you have ideas, but don’t know how to get started?  I can put you on the right path, just contact me.  https://www.linkedin.com/in/wallymcclure/

Monday, April 6, 2026

Will AI actually kill software companies and developers?

 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.

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

        }

Problem solved.

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");