Chris Johnson

Wooden blocks with arrow and target board. Copy space for text. Business goals, objective and mission concept.

Upgrade, why you break things!

Features, Issues, Bugs, and Requirements

When software is upgraded or updated, it happens for a limited set of reasons. If it is a minor update, it should be for issues, bugs or requirements.

What is an Issue? An issue is something that isn’t working correctly, or isn’t working as expected. While a Bug is something that is broken, that needs to be fixed.

A bug might be closed as “working as designed,” but that same thing might still be an issue. The design is wrong.

Requirements are things that come from outside entities that must be done. The stupid warning about a site using cookies to keep track of you is an example. The site works just fine without that warning. That warning doesn’t do anything except set a flag against the cookie that it is warning you about.

But sites that expect to interact with European Union countries need to have it to avoid legal problems.

Features are additional capabilities or methods of doing things in the program/application.

Android Cast

Here is an example of something that should be easy but wasn’t. Today there is a little icon in the top right of the screen, which is the ‘cast’ button. When that button is clicked, a list of devices is provided to cast to. You select the device, and that application will cast to your remote video device.

We use this to watch movies and videos on the big screen. For people crippled with Apple devices, this is similar to AppleTV.

When this feature was first being rolled out, that cast button was not always in the upper right corner. Occasionally it was elsewhere in the user interface. Once you found it, it worked the same way.

A nice improvement might be to remember that you prefer to cast and what device you use in a particular location. Then when you pull up your movie app and press play, it automatically connects to your remote device, and the cast begins. This would be just like your phone remembering how to connect to hundreds of different WiFi networks.

If you were used to the “remember what I did last time” model and suddenly had to do it the way every other program does, you might be irritated. Understandably. Things got more difficult, two buttons to press when before it just “did the right thing.”

Upgrades and updates are often filled with these sorts of changes, driven by requirements.

Issues and Bugs

If I’m tracking a bug, I might find that the root cause can’t be fixed without changes to the user interface. I’m forced into modifying the user interface to fix a bug that had to be fixed. Sometimes making something more difficult or requiring more steps. It is a pain in the arse, but occasionally a developer doesn’t really have a choice.

An even more common change to the user interface happens when the program was allowing you to do something in a way you should not have been. When the “loophole” is fixed, things become more difficult, but not because the developer wanted to nerf the interface, but because what you were doing should not have been happening.

Finally, the user interface might require changes because a library your application is using changes and you have no choice.

The library introduced a new requirement because their update changed the API. Now your code flow has to change.

Features

This is where things get broken easily. Introducing new features.

This is the bread and butter of development agencies. By adding new features to an existing application, you can get people to pay for the upgrade or to decide on your application over some other party’s application.

Your grocery list application might be streamlined and do exactly what you want it to do. But somebody asked for the ability to print the lists, so the “print” feature was added, which brings the designers in, who update the look to better reflect what will be printed.

Suddenly your super clean application has a bit more flash and is a bit more difficult to use.

Features often require regrouping functionality. When there was just one view, it was a single button somewhere on the screen. Now that there is a printer view and a screen view, with different options, you end up with a dialog where before you had a single button press.

Other times the feature you have been using daily without complaint is one that the developer, or more likely the application owners, don’t use and don’t know that anybody else uses. Because it works, nobody was complaining. Since nobody was complaining, it had no visibility to the people planning features.

The number of times I’ve spent hours arguing with management about deleting features or changing current functionality would boggle your mind. Most people don’t even know everything their application does, or the many ways that it can be done.

David Drake’s book The Sharp End features an out-of-shape maintenance sergeant pushed into a combat role. He and his assistant have to man a tank during a mad dash to defend the capital.

At one point the sergeant is explaining how tankers learn to fight their tank in a way that works for them. The tank has many more sensors and capabilities than the tanker uses. Those features would get in the way of those tankers. It doesn’t matter. They fight their tank and win.

As the maintenance chief, he has to know every capability, every sensor, and every way they interact with each other. Not because he will be fighting the tank, but because he doesn’t know which method the tanker is going to use, so he has to make sure everything is working perfectly.

My editor of choice is Emacs. For me, this is the winning editor for code development and writing books and such. The primary reason is that my fingers never have to leave the keyboard.

I type at over 85 WPM. To move my hands from the keyboard is to slow down. I would rather not slow down.

I use the cut, copy, and paste features all the time. Mark the start, move to the end, Ctrl W to cut, Meta W to copy, move to the location to insert, and Ctrl Y to yank (paste) the content at the pointer. For non-Emacs use, Ctrl C, Ctrl X, and Ctrl V to the rescue.

My wife does not remember a single keyboard shortcut. In the 20+ years we’ve been together, I don’t think she has ever used the cut/paste shortcuts. She always uses the mouse.

All of this is to say that the search for new features will oftentimes break things you are used to.

Pretty Before Function

Finally, sometimes the designers get involved, and how things look becomes more important than how they function.

While I will not build an application without a good designer to help, they will often insist on things that look good but are not good user experiences. Then we battle it out and I win.

Wolford v. Lopez

History

In April of 2025, Wolford et al. petitioned the Supreme Court for a writ of certiorari.

This followed the Ninth Circuit’s decision that a vampire law was constitutional. A vampire law is one in which you are not allowed to bring your firearm onto private property without express consent from the owner or the owner’s agent.

The good news is that the Second Circuit Court, in a rare moment of integrity to the Constitution, found the same law in New York State to be unconstitutional.

This created a circuit split. That plus this being a new attack vector on the people’s right to keep and bear arms made it an interesting case.

It was not as interesting, in my opinion, as the sensitive places and other cases pending before the court that were denied cert.

Cert Is Granted

On October 3rd, just days before the start of the new term, the Supreme Court of the United States took a Second Amendment case.

My mind is blown. I wasn’t even looking for anything in this case.

Pam Bondi’s DOJ had filed an amicus brief in favor of The People back in May.

Conclusion

We will have a briefing schedule shortly. Once that is available, I’ll do a deep dive into this case. This case has the makings of another Bruen.

While the question isn’t that big, the dicta surrounding the finding is likely to be a slap in the face to the inferior courts.

This will be one of the first cases the Supreme Court hears after the absolutely vicious statements given by the justices regarding the behavior of the inferior court’s attacks on the Trump administration.

Friday feedback banner, a man with a phone writing reviews

Friday Feedback

WordPress Issues

For years the go-to source for consistent container images has been Bitnami. Bitnami is owned by Broadcom via its acquisition of VMware in 2023.

With over 200 different containers covering every part of the container infrastructure, developers and system administrators have gone to Bitnami images for consistent interfaces and methods.

Until last month, these container images were offered free of charge to the world.

Starting on the 1st of this month, only development containers are offered free of charge. This means that if you want tagged versions of WordPress, you need to buy a subscription for the Secure Containers from Bitnami.

I looked into this. Does anybody think paying $62,000/year is a good deal? I don’t.

This is not a long-term issue; it is a pain because I have to reconfigure all my WordPress clients to use a new source for images with different mounting points.

Wire Runs

There are times when it is so simple that you can’t find instructions.

When running redundant cable or fiber, you want to make sure that there are no single points of failure. I remember the great Internet outage of the early 90s. Some good old boys in a swamp down in the south took some potshots at something hanging on telephone poles.

They managed to sever a fiber optic bundle. This cut the US Internet in half because all the redundant fibers were in that same optic bundle.

The contracts for those fiber circuits had been let to different long-haul fiber networks. Those long-haul networks were picked because they had north, south, and mid-Atlantic routes heading west. When a new dark fiber vendor came on the market, offering better service with better prices, these long-haul networks purchased their dark fiber from the same vendor.

And all the circuits ended up in a single bundle, down south.

I currently have a star configuration for my network. I’m going to be adding a ring around the outside of the star. This allows better throughput between adjacent data closets. Instead of going to the hub then out to the data closet, we will be routing closet to closet.

While the “cost” of that extra hop isn’t really measurable, it does put some limits on the total cluster bandwidth.

Say you have to move 10 Gigabytes from Node 101 to Node 102 in the same closet. We move that at 10 gigabits, so around 15 seconds to move the data.

But say you want to move the same 10 Gigabytes from Node 101 to Node 103 in a different closet. It still takes around 15 seconds to move the data.

But what if you need to move 10 gigabytes from Node 101 in closet 3 to Node 103 in closet 2, plus 10 Gigabytes from Node 101 to Node 105 in closet 1, and 10 Gigabytes from Node 101 to Node 129 in closet 0? Each movement would only take 15 seconds, but the total time to move would be 3*15, or 45 seconds.

With the extra links in place, we can go directly from Closet 3 to Closets 1 and 2. This will reduce our total time to 30 seconds.

I have the hardware to do this ring. What I don’t have is the conduit. If I use the existing conduit, it is easy. But that means if that conduit is compromised, I lose access to that closet.

I figured out that I can run some conduit along the outside of the building with much shorter runs, much easier access, and with the level of redundancy I’m looking for.

When I finish pulling fiber, I will have three paths to every node.

OSPF/Multicast

In networking, we use broadcast packets when we want to reach every node on a network segment. In the old days there was a single IPv4 address for that, which was the host portion of the IPv4 address was all ones.

It turns out that there are other reasons to want to use a broadcast packet. Often for discovery purposes. OSPF uses this method to find other routers on the network segment.

Which leads to the issue of L3 managed switches. These things are not advertised as full routers, though they can act like them. In particular, each of these switches can run an OSPF process.

This means that the network topology is quickly updated when things change.

And these low cost managed switches don’t understand how to forward OSPF packets when they are running an OSPF process.

Another thing to figure out and fix.

Government Shutdown!!!

The world is wonderful. With the government shutdown, they are less likely to FA with me.

The reality is that the government barely notices when it is “shut down.”

It looks like the Democrats played into Trump’s agenda. J.D. Vance has stated that they will start firing people very shortly if the government isn’t started back up.

The government is shut down because the Democrats and the Republicans could not reach an agreement on a continuing funding resolution.

The Republicans have put forth a CR that funds the government at current levels but for VA housing, security for federal law enforcement, and security for the Supreme Court.

There is nothing in the CR that the Democrats object to.

The Democrats have put forth a proposal that adds more than 1 trillion dollars to the budget. They want to restore funding for healthcare for people that are unwilling to meet Medicaid work requirements. They also want to provide funding to states that are showing healthcare budget shortages because the state spent state money on providing healthcare to criminal illegal aliens.

The big word is “fungible.” Let’s say you want to buy a fancy dinner for your wife. You have $1,000 in the bank. You owe $700 for the mortgage, you owe $100 for Internet, and you owe $100 for water. This leaves you only $100 for food and other things. This means you can’t afford to take your wife out for a $100 dinner. There is no money in the budget.

You reach out to your parents and ask for help with the Mortgage. They agree to pay $500 for the mortgage but tell you that it can’t be used for “fun” things.

To make sure they send the $500 directly to the mortgage holder. You send your $200, the mortgage is paid for the month. None of your parents money went to fun things like dinner out with your wife.

You now have $600 for food and other things. You allocate $250 for food, spend $100 on other things. You have $150 of your money to take your wife to dinner.

Where did the money come from for that dinner? From you or your parents.

Fungible means that you can’t send any money to states that are spending money on criminal illegal aliens. You can’t send any money to organizations that spend money on abortions.

Question of the Week

What is your opinion of this government shutdown?

Why I Reload

Costs

Like almost everything I learn, the startup costs are quickly outweighed by the cost of the “tooling.”

My lathe and milling machine cost less than $1500. The cost of my micrometers exceeds $1000 without counting toolposts, toolholders, inserts, and a wealth of other things.

Reloading is something like that. You can get a starting kit for around $175 that has just about everything you need to start reloading. You need to add dies, reloading manual, and consumables.

Assuming you are reloading for 9mm, your dies will be between $40 and a couple of hundred. I’m currently using Redding, which prices out at $75. Manuals run $25 or so. This puts the total cost of tooling just under $300.

Your consumables will be primers at $80 per 1,000, powder at $156 for four pounds, 115gr RMR JHP at $115 per 1,000.

This puts your consumables at $351 for a total start cost of $650 or so.

Assuming you are reloading “free” brass, this gives you a startup cost of $0.60/round, which is more than range candy but less than personal defense ammo.

After your initial investment, your costs will decrease, but it will take a while before you are truly saving money.

Your next 1,000 rounds will cost you $80 for primers and $115 for bullets, giving you a cost per round of $0.195. This would bring your costs from $0.60 to $0.422 per round, including your original investment.

The place where costs really change is when you need to start reloading a different caliber. Using the same equipment, you can add a set of dies, $75, and begin reloading a different caliber.

Availability

During the great panic-demic it became nearly impossible to buy certain calibers of ammunition. Even now, it is sometimes difficult to buy certain calibers.

If you have reloading equipment, those limitations are reduced.

I, personally, reload .38 Special and .357 Magnum with cast bullets. I cast HP myself and find those rounds to be consistent in weight and go where I point them.

My LGS was only selling cowboy loads and very expensive self-defense loads. They had no brass, they had no bullets, they had no primers, and their selection of powders was limited. For the cost of a set of very nice bullet molds, I was able to create freedom seeds for my R95 and revolver.

8mm Mauser is difficult to find and expensive; I’ve got nearly 500 rounds of it for the cost of bullets and powder. The same with 30-30 and 45-70.

I believe the only firearms I cannot reload for are my shotguns. Since I only run 4 rounds a year out of them, it’s not a real issue.

This is the great power of reloading, in my opinion. You can reload for unusual calibers for the cost of a set of dies and bullets.

Quality

The big-time long-distance shooters swear by hand reloading their ammo. I believe them. When I’m reloading, I attempt to maintain that same level of quality as they do. I may or may not succeed, but it is nice to know that I’m close.

Safety

There are two big rules in reloading:

  1. Don’t Shoot Other People’s Reload.
  2. Your mistake can kill you.

I currently use a Franklin Armory hand primer. It works for me. I can feel each primer seat properly. Before I had the hand primer, I used two different on-press tools.

One day, I was at a private range shooting .45 Colt out of a Marlin lever action. I would pull the trigger, the hammer would fall, and there would be no bang. Not even a pop. This was a problem, but I found nothing horribly wrong. It just meant I had to fix something.

Then I switched to my 1911. Bang. Bang. Pop. STOP!

I had a squib.

This led to me pulling every bullet on that set of reloaded rounds. Luckily there were only 20 of each caliber.

Conclusion

The startup cost of reloading is not horrible. The cost grows like in every hobby. Your break-even point will be in the 4,000 round range at today’s prices.

My start was $50 for a press, four or five sets of dies, a bunch of brass, and some other stuff. I bought a pound of Hodgdon’s No. 5 powder, a Lee Reloading manual, Lee powder scoops, a box of .45 ACP bullets, and 100 primers. My total investment to start was less than $200 for my first 100 rounds, giving me breakeven on my first 100 rounds.

Your mileage may vary.

Charlie’s Voice

I’ve been working with Ally on how to communicate in Charlie’s Voice.

What I believe I’ve found is that he starts with people that are willing to have a conversation. Usually, the people he is speaking with have the start of their conversation with Charlie written out. They expect to have a one punch knockout.

It seldom goes that way.

The reason is that Charlie starts investigating how to connect with them or to get them to articulate what they mean by the words they are using.

This allows him to use his wealth of general knowledge to have a conversation where they are working from talking points, emotions, and opinions and Charlie is working from a fact based world view.

I’m still working on this, and we are still looking from articles by you.

9mm jacketed hollow point cartridge compared to a 9mm full metal jacket 9x19 parabellum.

FMJ or JHP

Train Like You Fight, Fight Like You Train

One of the consistent doctrines of the US military is the above. And we do train that way. We train to be able to overcome, to succeed.

There are countless examples of training interfering with fighting and even more of training bringing victory to the battlefield.

The first cops into the Nashville school state that their training just took over. They moved with purpose towards the sound of gunfire. They cleared rooms along the way, rapidly with no wasted motion. When they had cleared, they took the lead and did not stop until the asshole was dead.

Compared to the school cops that ran and hid in Texas and Florida. In both cases they went into barricaded with hostages, and children died because of their cowardice and lack of training.

Another example from an earlier time: when they recovered the body of a dead cop, they found six expended cases in his pocket or pouch. Why? Because he had been trained to retain his brass when he reloaded.

Why do we train with FMJ bullets?

Cartridge Pricing

These are representative prices. I’m not suggesting that these are the best prices, but they come from the same source.
Description,Quantity,Price,Per Unit

Quantity Type Description Price Per Unit
1000 rounds 115gr FMJ $215 $0.21
50 rounds 124gr JHP 9mm $40 $0.80
2,000 bullets 115gr 9mm FMJ $125 $0.06
500 bullets 115gr 9mm JHP $60 $0.12
2,000 bullets 115gr 9mm FMJ $200 $0.10
2,000 bullets 115gr 9mm JHP $225 $0.1125

The cost of reloading a FMJ and a JHP is the same but for the cost of the bullet.

Training Costs

If you are buying your training rounds, you are going to save nearly 60 cents per round. When you are talking about 100 or more rounds in a single training session, that is a $60 difference per 100 rounds.

That means that most people will use “range candy” instead of self defense rounds.

On the other hand, the difference between firing a reloaded FMJ vs. a JHP is 6 cents per round. Even with a range session of 200 rounds going downrange, that is only a $12 difference in cost.

For me this is a non-starter. I am working through my FMJ .45 ACP but I will no longer reload FMJ pistol ammo. It isn’t worth it to me.

Changing EDC And Stocking Up on Freedom Seeds

I have some 9mm pistols. The Blue-Haired Fairie’s is an H&K in 9mm. The PC-9 is 9mm and takes Glock magazines, so I have a Glock.

What I didn’t have was an EDC that I actually liked. I’ve never been particularly fond of the Glocks. It might be because I was driving nails with my Kimber in .45 ACP and with the H&K, but the Glock had rounds going “that-a-way” for me. I traded it for something.

My Kahr got upgraded to a Sig P938, which I like. I just don’t like shooting it. It is so small and so light that it bites when it is fired.

That Kahr and later P938 were my EDC when I needed something small for when I was in the office. I had one box of Hornady Critical Defense for it. I fired just enough of those $1-per-round personal defense rounds to know that my FMJ reloads went to the same place.

So I looked through all the cans looking for 9mm. I found over 1,000 rounds of FMJ or copper-plated rounds. No problem there. What I didn’t find was any JHP.

This led to a big thank you to my son. Yesterday he moved every single ammo can until we found the crate with 9 mm and .45 ACP bullets.

The Ammo Hunt

My ammo cans are in crates: 4 30-cal cans per crate or 3 50-cal cans per crate. I also have some simple crates that hold bullets, brass, and other fun stuff. Each can is properly labeled.

The issue was that the crate labeled “bullets” was at the bottom of the hardest-to-reach stack of crates.

My son diligently worked his way to that stack and handed them all out to me until he got to that final crate at the bottom of the final stack. Therein he located 2,000 JHP bullets, just waiting to grow into Freedom Seeds!

I see reloading time in my future. There is no need to have bullets when I have spark buttons, powder, cases, and seeds.

As we say, shooting is a perishable skill, and I need more range time.

Conclusion

What do you think is the proper ratio of seeds to seed dispensers? My current is around 1,000 seeds per caliber or 500 per dispenser, whichever is greater.

Newcommers

EDC
Every Day Carry. It can refer to a firearm, knife, light, or IFAK. The stuff that you have with you all the time.
IFAK
Individual First Aid Kit
Spark Button
Primers
Seeds
Bullets
Freedom Seeds
A complete cartridge, ready to fire.
Seed Dispenser
A firearm

You can buy cartridges, or you can make cartridges. The process of making a cartridge is called “reloading” because, in general, we are recycling the cases of fired cartridges.

A cartridge consists of a case, normally brass, sometimes aluminum or steel, which holds all the other components. A primer, which causes a spark when struck correctly by the firing pin of a firearm. A propellant called powder, gunpowder, or smokeless powder. Gunpowder is not the same as smokeless powder; using smokeless powder when the firearm expects gunpowder or black powder causes bad things to happen. And a bullet.

We use a reloading press to prepare the case and insert the primer. We add powder to the case, then place the bullet in the mouth of the case and use the press to seat the bullet. Once done, you have a cartridge that is as good as, if not better than, factory cartridges.

Burning van with large flames and black smoke

It Is Always About Violence

Communism, an idea so good it has to use force to keep its citizens in.

The fact is that Communism requires that all dissenting voices be silenced. They are silenced with violence. People are sent to re-education camps, they are disappeared in the dead of the night, and they are grabbed off the streets, never to be seen again. All with the authority and violence of the government.

The image of people being disappeared is what the anti-American agitators are using when they say that “masked men are kidnapping people off of the street.” It invokes images of communist countries doing just that.

The difference is that these people are not being disappeared. They are being arrested. They get lawyers, or they had lawyers.

When ICE agents detain a criminal illegal alien outside a courtroom, that criminal has had due process.

Are these arrests violent? Only if the person being arrested makes them that way.

Soft Violence

When the Tea Party came into existence, I wanted to fly the Gadsden flag. I did not for fear of how it might affect my wife and children. I flew an American Flag instead and still worried.

People were silenced by fear of reprisals. This was the time of cancel culture from the left.

Voice a double-bad-think opinion, and you were canceled. Voice a bad-think opinion, and you might only be warned.

You were made to feel alone, but for a few lonely voices in the dark. You were told by every talking head that you were guilty of bad-think and would be punished if found out.

This is also the screaming and in your face, just shy of physical assault.

Physical Violence

This is where you start to see the laying on of hands. Physical beatings, shoving, and punching. Actual battery.

In Aleksandr Solzhenitsyn’s famous book The Gulag Archipelago, he talks about being stuffed into a cattle car. The violence was being dealt out not only by the guards but also by fellow prisoners.

But they weren’t “fellows” in the classic sense. Most of the prisoners were regular people stuffed in the pipeline leading to the Gulag. These were criminals, and they colluded with the guards for privileges and in exchange kept the rest of the prisoners cowed.

We see that in the criminal attacks in Seattle. Roaming gangs of violent thugs impose their beliefs with truncheons and bats. And if those don’t work, even more.

In Cabaret, the maître d` of the Kit Kat Klub kicked some Brownshirts out of the club. The cowards were not willing to do anything about it at the time. Instead, they waited until the maître d` had left the club, then beat the shit out of him.

They sent the message, “Oppose us, and bad things will happen to you.”

We see this type of thuggish behavior in the cities. We see it when conservatives set up tables to have a conversation and are driven off campus by gangs of feral louts.

And the state defends these thugs. Regular folk who stand up for themselves and others are punished by the state. Look at how the authorities treated prayer groups defending themselves vs. the antifa lice that attacked them. Look at the violence against federal buildings by antifa and then what happened when grandma walked through the Capitol.

This violence is vastly asymmetric, and it is intended to be. At every step of the process, you are told to back down. You are told that you have to restrain yourself. And if you don’t? Ask Kyle what happens.

Murder

Ask Lincoln how Democrats behave when they lose. Ask JFK, killed by a communist. Ask almost any victim of political violence in the last century how Democrats behave.

Unfortunately, you can’t. Most of those people were murdered.

The goal of the left is to create an event to prove the right is the more violent.

The problem is, we are. When we react, we do it with force and with a will to get things done.

Again, ask Kyle. When it was time, he pulled the trigger, and cos-playing degenerates died. That boy showed remarkable trigger discipline.

And this is not new.

In 1977, JoAnne Deborah Byron, AKA Assata Olugbala Shakur, was convicted of murdering a police officer.

This happy little communist worm was a member of the Black Panther Party, the Black Liberation Army and other groups. She was a murderer, a terrorist, and a bank robber. After she was convicted, she was sentenced to life + 26-33 years.

Of course the standard whining leftists blamed it all on racism.

She escaped, stayed on the lam for a while before moving to Cuba to live the life of a privileged Communist.

On September 26th, 2025, she became a good communist. Cuba has reported she died of health complications.