Open Minds
How to listen
Before we can learn, we need to have an open mind. A mind ready to learn new things. To unlearn old things. To ask questions and evaluate answers.
If we are not willing to question what we think we know, or if we are starting from a set stance, we do not have an open mind.
Having an open mind does not mean a willingness to accept garbage, but it does require us to ask if it is garbage.
Holocaust Denial
Years ago I ran into Holocaust denial for the first time. It was shocking to me because I knew what happened to the Jews and other undesirables during WWII by the Nazis.
How could somebody deny that it happened?
So I asked a simple question: How do I know it happened?
The answer was that my elders told me so. These were my teachers and my history books.
Could they all be wrong?
This was in the early days of the Internet, so it was a little more difficult, but I found a couple of sites documenting why the Holocaust was fake and a few others that were debunking the deniers.
I compared these sites, and the first thing I noticed was citations to external, primary sources. The deniers made many claims, but there were not very many links to back those claims up. On the other hand, the debunkers’ site was full of references to primary sources.
When I did look at the primary sources, I found that my personal evaluation of that evidence matched what the debunkers were saying.
The deniers told me that all those sources were lying to me. But I could see the images. I could examine the images for altercations and to see if they were faked. I didn’t find anything in the primary sources or the debunker sites that even suggested altercations or fabrications.
This was not true of the denier’s site. Their primary sources did not support their conclusions.
The other thing that I quickly spotted was a comparison between ethical, reasonable, modern actions vs. wartime evil operations.
For example, they claimed that the trains could not transport that many people. But they based that on human treatment of the people stuffed into the cars. There was no indication of such human treatment. Those being transported to the extermination camps were stuffed into those cars with no room to move.
There are multiple accounts of people standing next to dead people who couldn’t fall to the ground. They were held up by the crush of humanity around them.
Finally, the deniers made a claim that a sample they stole proved that the levels of cyanide in the showers were not high enough to cause death in humans. Except that the sample they stole had been exposed to the elements for over 50 years. The values they used for LD50 were appropriate for insects, not humans.
After my research, I had personally determined that the Holocaust did take place and the deniers were sacks of shit for attempting to deny something so evil.
Before I could make that determination, I had to open my mind to the possibility.
Lies
People lie. You can’t escape it. As thinking humans, we are pretty good at detecting people who are lying to us. But that only works when dealing with average people.
We have all chuckled at the videos of children lying about something when they are covered in the cake frosting of their misdeed. A child will flat out deny they ate the cake while covered in frosting.
They have not learned the guile of how to lie.
This is the simplest type of lie: to simply say something not true. “Did you eat the cake?” “No, Mommy!”
Most people move past this method rather quickly.
The next place that people go is to deny knowledge or to exaggerate. “Did you eat the cake?” “What cake?” or “Just a teeny tiny piece.”
There is an entire science of lying with statistics. If you have heard something like “There as a 50% increase in murders in Small Town, year over year,” you know that something horrible is happening.
What if last year there were 2 murders and this year there are 3? That is a 50% increase. While every murder is bad, the difference between 2 and 3 murders a year is just as likely to be noise in the data.
But we can see where going from 2000 violent crimes to 3000 violent crimes in a year is bad.
Now look at a different version of this: “Over the last year there have only been 10 more murders year over year.” What they might be saying is that Small Town has gone from 2 murders per year to 12 murders per year. That might be alarming.
You have to know what to look at. Per capita? Raw numbers, percentages?
You also need to look at what the definitions are. It is impossible to compare the murder rate in the United States to the murder rate in the United Kingdom. We count different things as murder.
In the U.S., if a person is murdered, it counts as a murder. In the U.K., if a person is convicted of murdering somebody, then it is counted as murder. Until there is a conviction, the wrongful death is not classified as a murder.
There are many other ways to lie. There are two more that are worth touching on.
The first is a lie by omission. This is when a pertinent fact is left out of the fact pattern. “Today the police broke into a local man’s house, arresting him after he had an altercation with his neighbor [where he threatened to kill him while brandishing a firearm].”
The bracketed text changes the entire gist of the story. Both versions are true, but in one case it sounds like the police arrested that local man for something minor, breaking down his door to do so. When the more complete version is there, it sounds like the police are acting reasonably to protect the community.
The final method we’ll touch on is lying by telling the truth. If you can tell the absolute truth in such a way that nobody believes you, then you have succeeded in lying, if that was your intent.
Short Quote
By selectively quoting a person, you can change the meaning of what is said, or at the very least, the conotations.
Consider the following quote: “I did not have sexual relations with that woman.” Now consider the following quote:
I did
… sexual relations with that woman.
By omitting two words, “not have”, the entire meaning of the quote has changed. While we did not change any of his words, we have changed the meaning of his statement.
Or this made up newscast:
Again, the quote is correct, but the meaning is twisted.
When you read an article that has short quotes in it, it is best to assume that the meaning of the original statement is being manipulated. Find the original and listen to the statement in context.
Example
— Comm. on Educ. & the Workforce, 118th Cong., Antisemitism on College Campuses (2024)
The following is a partial transcription of the attached video.
This is 20 plus minutes into a press conference where reporters were shouting questions at Trump. You can see the words right there. He said it.
You can also see, from my highlight, that he also said very bad people. Even in this paragraph, he is clear that he is talking about the group of people protesting the renaming of the park and the removal of the Robert E. Lee statue.
Regardless of what you think of Lee’s name and statue, Lee is not and was never a Nazi or neo-Nazi and the people who were protesting had non-racist reasons. But let’s go a bit further in the video to this part:
And here is the part that most people never heard, never read.
A lie of omission.
End Part One
Wolford v. Lopez, the assumed schedule
Wolford is in an interlocutory state. They are appealing a preliminary injunction.
The purpose of the trial court is to gather evidence, hear legal arguments, and then decide based on evidence and the legal standing.
What the Supreme Court has said is that Second Amendment challenges do not need evidence. They are legal decisions, decided by the courts.
The law says “x”. The challenger says the plain text of the Second Amendment covers the conduct regulated by the law. The burden shifts to the state to show that the current law is consistent with this Nation’s historical tradition of firearms regulation.
There is no evidence to present. The court decides if the plain text covers the conduct. The court decides if the government has proven a history of firearms regulation that matches the current law. If the state fails to meet its burden, then the law is ruled unconstitional.
If the state wishes to bring in expert testimony regarding this Nation’s historical tradition of firearm regulation, that expert must be a lawyer. Not only must they be a lawyer, they must be part of the case.
Friends of the court can express their opinion, but the only place those opinions have any weight is if they are legal arguments regarding regulations from the time of the founding or somehow relevant to finding that the conduct is not covered by the Second Amendment.
At this point, everybody in Wolford has agreed the plain text of the Second Amendment is implicated. The state can present their arguments to the Supreme Court just as easily as to the trial court. There is no value the trial court will add to the analysis the Supreme Court will do.
Which leads us to, when will we hear back from the Supreme Court?
Cert was granted on October 3, 2025. Per rule 25 of the Supreme Court, the Petitioner (Plaintiff) must have their briefing in within 45 days. November 17, 2025. It is unlikely that this date will be pushed. Amici briefs supporting the Petitioner are due 7 days after.
The Respondent’s (defendant’s) brief is due 30 days after that, on December 17th. Again, Amici briefs the Respondent or neither are due 7 days after.
The Petitioner gets to reply to the Respondent’s brief. That is due 30 days after the respondent dockets their brief, putting us at January 10, 2026.
If everything goes as scheduled, oral arguments will be heard in February, with the opinion issuing in May.
I expect we will see at least one other Second Amendment case this term. If the Court is looking at Wolford to address sensitive places, then there will be no other sensitive places challenges heard.
That leaves a case dealing on what “arms” means. When that case is heard, they will address the proper usage of the “in common use for lawful purposes” shortcut to a Second Amendment win.
Win the War, Not Just a Battle
Winning the Battle
There are too many historical situations where a combatant won a battle, but it cost them the war. Little Big Horn comes to mind, though I don’t know enough to say if it is a true or good example.
The cost of winning might come with excessive loss of resources. A Pyrrhic victory.
The anti-gun people understand this. They are sometimes willing to lose a battle to maintain battlefield dominance. In N.Y.S.R. & P.A. v. New York City the city and state fought tooth and nail. They didn’t stop fighting. We lost in the district court. We lost in the Circuit Court. We appealed to the Supreme Court, and we were granted cert.
The anti-gunners looked at this and proceeded to remove the challenged regulations for New York City gun owners. The state of New York passed a law saying that New York City could never do it again. The state then told the Supreme Court the case was moot. The case was never heard. It died.
We “won” the battle; the anti-gunners won that war.
Rahimi
The anti-gun Biden administration saw a slate of cases moving towards the Supreme Court challenging §922(g)(8), Domestic Violence Restraining Order in Possession. The best case for us was the Range case. The worst for us was the Rahimi case.
Range was a case about a man who failed to claim income from his lawn care side hustle while he was receiving aid from the state. He was charged with defrauding the government. This was a felony. He pleaded guilty. He served no time. He was told to go forth and sin no more. And he kept his nose clean.
As a convicted felon, he is prohibited from possessing firearms. He went to court to get his rights back. His case would have been a wonderful opportunity to show that non-violent felons, under the 1968 GCA, cannot be prohibited from possessing firearms.
Rahimi, on the other hand, was a violent criminal. Witnesses saw him slam his girlfriend’s head into the car. He fired his gun at witnesses. He was arrested and was in prison for multiple felonies as well as being subject to a DVR while in possession.
After Bruen was decided, the Fifth Circuit court pulled the Rahimi case back after issuing their opinion. In their second opinion, they applied Bruen faithfully and declared §922(g)(8) unconstitutional.
Merrick Garland pushed Rahimi to the front of the line, and it was heard by the Supreme Court, which issued their opinion. Rahimi is a bad man. He needs to be in prison. He is precisely the sort of person that should not have access to arms.
This means that there are bad facts. Bad facts make for bad law. In this case we ended up with an opinion that was more easily twisted by inferior courts.
Garland v. Bondi
When Rahimi was requesting cert, the Garland-controlled DOJ pushed the Supreme Court to take the case. When the DOJ asks the Court to take a case, they are more likely to take the case requested by the DOJ than other similar cases. We did not want this to happen. Yes, we wanted the Court to hear a 2A case. This was not the one we wanted in front of the Supreme Court.
We are now looking at Rush v. USA. This is another case with bad facts. Mr. Rush is not a good man. He was doing bad things, and FO was applied to him.
He had his license revoked. He drove to his court hearing. He drove away after the court hearing. The cops stopped him to ask what he was doing driving on a revoked license. During the stop they smelled and observed pot. He was arrested. While searching his car, they found an SBR.
We don’t need to go into what he had done to be in court in the first place; needless to say, not a good fact pattern.
We do not want Rush in front of the Supreme Court. In the best of worlds, we are only going to get a lackluster result. In addition, there are other vehicles in the works attacking SBR, Silencers, and SBS remaining inside the NFA.
Damning With Faint Praise
My father explained this to me in terms of how a superior officer might praise a lower ranking member with faint praise. He said nothing that can be challenged, but everybody reading the report will know what is not said.
A pitcher might be praised for how far he can spit his tobacco juice. This likely implies he’s not a good pitcher.
The DOJ must make a good faith effort to explain why cert should be denied. It has to be grounded in legal reasoning. And they do that.
Their motion is darn weak. They rely on regulations from the 19th century. The whitewash Miller‘s findings. In short, it half hearted. But they use it as a method to say:
— Rush v. USA, DOJ Response, SCOTUS 24-1259
This is on point. It is a statement that the DOJ wants the Supreme Court to hear a 2A case, just not this one.
Final Note
As we have discussed, a circuit split is useful for getting the Supreme Court to grant cert. Getting a circuit split on anti-gun laws is very difficult because anti-gun states passing infringements exist within anti-gun inferior courts. The Ninth Circuit is many to zero in favor of California infringements.
The Seventh is nearly as bad. So are the Second, Fourth, Third, and First circuits. Well, sort of.
The Third Circuit, as of Friday, was 7-6 Republican appointees. In an upcoming en banc hearing, they will be 8-6. The problem is that if one of those Republican appointed judges flips to the side of infringement, we will lose in the Third Circuit, again.
On Friday, the Senate confirmed Professor Jennifer Lee Mascott to the Third Circuit. If President Trump signs the confirmation, and she is sworn in by a Supreme Court Justice by the morning of the 15th, she will sit and hear Association of New Jersey Rifle & Pistol Clubs v. Platkin (consolidated with Firearms Policy Coalition v. Platkin, Docket Nos. 24-2002 and 24-2003).
With Judge Mascott on the Third Circuit for this hearing, there will be a 10-6 balance. Even if we were to lose one judge to the dark side, we still win the case.
If we win in the Third Circuit, we will have the circuit split on “Assault Weapons” bans.
Conclusion
All is not as it seems on the surface. You have to look beyond what we are seeing and look to the future. Pam Bondi and Trump are good for the Second Amendment. If it looks like they are not, wait a minute. Take a deep breath and figure out what else is going on.
Reese v. Bureau of Alcohol Tobacco Firearms & Explosives, Update
Yeah, it really was the judge being a clown. The state did not ask for membership lists.
On Friday the parties, the state, and the plaintiffs filed a joint motion to amend the final judgement.
- The Court’s Judgment compels Plaintiffs to disclose their membership as of November 6, 2020, to the Government by October 28, 2025.
- The Government, as a general policy, does not compel disclosure of the identity of members of private organizations, and the Government did not seek to do so here.
- Plaintiffs assert that the Judgment’s order compelling them to disclose their membership violates the First Amendment and would subject them to irreparable harm. See, e.g. Americans for Prosperity Foundation v. Bonta, 594 U.S. 595, 606 (2021).
- To be clear, Plaintiffs do not concede that altering the Judgment in this way would make its scope appropriate, and Plaintiffs retain their right to challenge all aspects of the Judgment on appeal. However, in the absence of the proposed amendment, Plaintiffs face an imminent deadline compelling the disclosure of their membership information.
- To avoid the need for Plaintiffs to file an emergency motion to stay the disclosure deadline, the Parties respectfully request that the Court act on this motion by October 14, 2025.
Short translation, the state is still attempting to make a facial challenge judgement into an as-applied judgement, but even the government understands that demanding membership lists is verboten.
Friday Feedback
They Can’t All Be Lieing?
My new car audio console uses Android Auto. It will provide a choice of podcasts to listen to. It can also play music, which I prefer, but today I pushed the button for news.
Two minutes of advertisements, one minute of news from Fox. Two minutes of advertisements, five minutes of news from some unknown source. Two minutes of advertisements, ten minutes of news from Routers.
In those ten minutes I did not detect a single lie. What I did hear was a narrative created by what wasn’t said and what was reported.
The story was about Trump calling for J.B. Pritzker and Brandon Johnson to be put in jail. They choose to leave off why he wanted them to be put in jail. They left it hanging as if it was for personal reasons. They then added another truthful fact. Neither man has been charged with any criminal act.
The narrative was that Trump is threatening his political opponents with jail time, even though they have not done anything wrong.
Not All Power Supplies Are Equal
One of the nodes in my Ceph cluster died, taking three OSDs with it. Two of the drives were moved to a different node, and the cluster rebalanced.
Because I’m cheap, I didn’t toss the dead node. Instead I stripped it out of its case, saved the case fan, power supply, and the motherboard, still with its memory and NVMe card.
Saving this board turned out to be useful. When I found that the CPU that I had purchased for the replacement node didn’t have integrated graphics, leaving the new node totally headless, I was able to use that old board to install an OS to the NVMe card and then move it to the new node.
When I put the NIC into the new node and buttoned it all up, I thought it would be fine. When I attempted to power it up, it failed to start.
Pulling the NIC out allowed it to boot.
I tossed the “bad” NIC. Went back to check things out and to move forward with the new node. Installing another NIC caused the same failure.
Back to that singleton motherboard with a desktop power supply powering it. No problem running with any of the NICs. As an aside, did you know you can hotwire a computer? I was accused of hot-wiring a computer the other day because I used a jumper to emulate the power switch on the case.
Overall, it turned out that the power supply wasn’t supplying good power. I replaced it with a new power supply, and that headless node is busy rebalancing the Ceph cluster. And I found that I really like modular power supplies. The ability to choose which cables you want makes the wiring so much easier and cleaner.
Do You Feel The Need For Screwing?
I have a manual ratcheting screwdriver that I really like. It is a Stanley FatMax with an integrated bit holder and good ergonomics. It was my go to when I needed to drive screws.
If I need to drive many screws, I use my cordless drill. The problem with that is that it is a pain switching between drill bits and driver bits. It is also bulky and a bit heavy. Finally, it doesn’t always have a light touch.
One of the YouTube videos I was watching had a powered screwdriver. I decided to try one. I purchased the SKIL one from Amazon for around $30.
This was well worth the dollars just for the Ceph node build. The process of building out that node required me handling 30 some screws. Most were removed and reinstalled multiple times.
The amount of time and wrist ache this one tool saved me was worth it. I have a couple of other tasks coming up and this tool will be in my pocket for the job.
It’s In An Interlocutory State?
When they say that nobody knows what the Supreme Court will do, they are not joking. There are people with much more experience than I who have spent a lifetime trying to predict what the Supreme Court will do. They get it right about 50% of the time (Joke).
There are some things we do know. Having a circuit split on a question increases the likelihood of a case being heard. Its being a novel question also increases the likelihood. The Court doesn’t like to relitigate the same question. Having many cases with the same question will also increase the likelihood.
Other things we know are that cases that are repeats don’t get heard, or they might just get a GVR. And cases that are in an interlocutory state are not heard. The Court does not want to hear cases until the case has been fully litigated in the inferior courts.
Wolford v. Lopez was granted cert, even though it is in an interlocutory state.
The Court has also agreed to hear Trump v. Cook, 25A312 (SCOTUS), which is also in an interlocutory state.
Things, they are a-changing.
Cloud Init
This is a game changer for me, if I can get it all to work. The ability to put a thumb drive into a new node, power it on, and end up with a full install with no action on my part is wonderful!
I’m looking at setting up a server to do the full configuration from a network fetch instead of from the NoCloud datasource.
He Deployed the National Guard!
I worry about government overreach. Having the president deploy the National Guard to cities to perform police functions worries me.
What will the Democrats do when they are back in power? Will I see troops in my small town demanding to see my papers?
Then I remember the beautiful images of our troops guarding a chain-link fence surrounding buildings in D.C. and go, yeah, already done that.
Keep your head on a swivel, watch your six, stay strapped.
Question of the week?
When you take a long, hard, honest look at what the current administration is doing, the powers they are flexing, which of those powers do you think will be used against us when the Democrats next take power?
Just examine J6 vs BLM mobs in the same time frame to see what I’m talking about.
Reese v. Bureau of Alcohol Tobacco Firearms & Explosives
History
Back in November of 2020, Caleb Reese, Joseph Granich, FPC, The Second Amendment Foundation, and the Louisiana Shooting Association filed suit in the Western District of Louisiana challenging 18 U.S.C. §§ 922(b)(1) and 922(c)(1), 27 C.F.R. §§ 478.99(b)(1), 478.124(a), and 478.96(b).
U.S.C. is United States Code, or laws. C.F.R. is Code of Federal Regulations. So they are challenging the rules and regulations infringing on The People aged 18, 19, and 20 from purchasing firearms from FFLs.
The named plaintiffs, Reese and Granich, were in that age range when the suit was filed. Since it was filed in 2020, there is no way that they are still in that age range today. The case is moot.
This is why the organizations are required to be in the suit. They need real people to start the suit, but the organizations can add other members that meet the requirement of being in the age group as the original plaintiffs age out.
On May 5th, 2021, the plaintiffs did just that; they added Emily Naquin to the suit. This gave them a longer window and added a woman to the complaint.
On June 10, 2021, Joseph Granich left the suit.
In July of 2022, the court was formally made aware of Bruen. This means that the district court must use the Heller methodology as affirmed in Bruen. Is the plain text of the Second Amendment implicated? Is there an analogous regulation in this Nation’s history of firearm regulation?
The state immediately responded that Bruen affirms the Second Amendment allows a ‘variety’ of gun regulations,
including ‘laws imposing conditions and qualifications on the commercial sale of arms’
. In other words, the state ignored the holding and dicta of The Court and instead cherry-picked a phrase from a concurrence. I love how they say, “Justice Kavanaugh’s concurrence emphasizes….” They added the word emphasizes to imply what is not there.
On December 21, 2022, the district court found that the Second Amendment was implicated. Further, it found that Congress had designated 18, 19, and 20-year-olds as particularly dangerous, and therefore they could be disarmed in keeping with this Nation’s history of firearms regulation. Never mind that this implies that Congress can disarm any group by declaring them “dangerous.”
The case was appealed to the Fifth Circuit Court of Appeals, which issued its opinion January 30 and issued its mandate on April 17, 2025.
The Fifth Circuit Court’s Judgment
The Fifth Circuit dealt with the state’s contention that the law didn’t even implicate the Second Amendment like this:
— Reese v. Bureau of Alcohol, Tobacco, Firearms & Explosives, 127 F.4th 583, 593 (5th Cir. 2025)
Note that the state doesn’t even believe that newly enlisted members of our military are part of The People.
The court then went on to discuss what plain text means. The threshold textual question is not whether the laws and regulations impose reasonable or historically grounded limitations, but whether the Second Amendment “covers” the conduct (commercial purchases) to begin with.
— Id.. Clearly this is the correct methodology.
Step one isn’t really a step; it is a simple question. If it takes more than a sentence, then they are likely doing it wrong.
Or, put another way, why not assume it is covered under the plain text? The courts used to do this, until they couldn’t wave a magic wand and say the state’s argument is more important than The People’s rights.
— Id.
This is a good example of “tradition.” We can look at this Nation’s history of firearm regulation and find outliers. These outliers do not outweigh the consistent approach, the traditions of all states.
In the end, the Fifth Circuit concludes:
We REVERSE the district court’s judgment and REMAND for further proceedings consistent with this opinion.
— Id.
Three of the potential outcomes from an appeal are “AFFIRM,” which says the superior court agrees with the inferior court. “VACATE,” which says that the inferior court got it wrong and needs to do it over, considering the named opinions. But the strongest of them all is to “REVERSE.” To reverse an inferior court’s decision is to say not only did they get it wrong, but that the superior court doesn’t believe the inferior court will get it right.
Or in some cases, there is no need for the inferior court to put their oar in the water. What’s done is done.
The District Court Beclowns Themselves
The circuit court’s holding is that 18 U.S.C. §§ 922(b)(1), (c)(1) and the regulations that build on them are unconstitutional. There is no wiggle room in that opinion. It is a pure win for The People.
There is nothing in that opinion that suggests that this is an as-applied or is any other way limited to just the plaintiffs.
In Rahimi we had an “as applied” finding. This is being played out in other §922(g)(8) situations. They are coming down in “as applied” opinions.
Once the district court receives its marching orders, it is supposed to follow orders like the inferior it is. There is a clear winner and a clear loser.
The court then orders the parties, both the winners and the losers, to submit a proposed judgment. The court is supposed to look at the proposed judgment, make sure it aligns with the superior court’s orders, and then sign off.
Generally, the parties work out an agreement, which is then presented to the court.
The plaintiffs, the good guys and winners, suggested the following:
With the court ordering the state to stop enforcing the rules and regulations. This judgment would stop the exercise of the relevant rules and regulations in the jurisdiction of the Fifth Circuit. A giant win. And it could be used in support of other cases.
The state, the defendants, the bad guys, and the losers proposed the following:
Here the state changes this from a facial win to an as-applied. Which is even worse than it originally sounds. This judgment would only last for 3 years. At the end of three years, everybody that would be covered by this judgment would have aged out of the category.
The state argues that Trump v. CASA applies. The state claims that the judgment of the court would be a universal injunction, which would be too wide. But that was never the case. This ruling would only apply within the Fifth Circuit. So the state is full of excrement.
They go on to say that it should only apply to members of the organizations that were members when the case was filed. This would limit the relief to people that joined FPC or SAF when they were children; otherwise, they would have already aged out.
The state is also requiring that the organizational plaintiffs provide membership lists because: limiting the scope of permanent relief to members of the organizational plaintiffs who were members when suit was filed is necessary because only such persons have standing to sue, and because equity requires this limitation to avoid incentivizing free riders.
The judge’s final order includes FFLs that were members of the organizations when the suit was filed in 2020.
The only people who would benefit from this order are the two named plaintiffs.
Conclusion
The judge is a freaking clown. He got his knuckles rapped by his superior and has decided to thumb his bright red nose at them.
Will You Be My Rubber Duck?
My most productive years of programming and system development were when I was working for the Systems Group at University. We all had good professional relationships. We could trust the skills of our management and our peers.
When I started developing with my mentor’s group, it was the same. The level of respect was very high, and trust in our peers was spectacular. If you needed assistance in anything, if there was a blocker of any sort, you could always find somebody to help.
What we soon learned is that we didn’t need their help. What we required was somebody to listen as we explained the problem. Their responses were sometimes helpful, sometimes not. It didn’t really matter. It was listening that was required.
When I started working for an agency, that changed. Our management was pretty poor and had instilled a lousy worker mentality. Stupid things like making bonuses contingent on when management booked payment.
If the developers worked overtime to get a project done on management-promised schedules, their money would not be booked in time for bonuses to be earned.
Every hour that wasn’t billed to a project had to be justified, and management was always unhappy with the amount of billable hours.
Interrupting a coworker to listen to get help just didn’t happen. Even when management (me) told them to stop digging the hole and come talk to me.
We still ended up with fields of very deep holes because nobody would come out of their little world to talk.
This wasn’t limited to just our agency; it was everywhere.
The fix was a stupid rubber duck. It sits on your desk. When you are stuck, you explain the problem to your rubber duck, and often the answer will come to you. It was the process of accurately describing your issue that created the breakthrough.
I don’t have access to those types of people, and oftentimes the rubber duck is just as ignorant as I am. Not very useful.
I have a silk duck. This duck actually talks back, performs searches, and verifies potential solutions, and it does it within a reasonable time frame.
My Silk Duck is named “Grok.”
Grok is X’s AI offering. As a search engine, it far exceeds anything Google Search can do.
A simple example: I’m building out a new node. The motherboard I’m using is an H610M-ITX. There are dozens of motherboards using that designation or something similar. In hours of searching, I haven’t been able to locate the manual for my motherboard.
Locate a manual for the Huanzanzhi H610M-ITX motherboard
.
One minute and 14 seconds later, Grok delivered me the PDF manual. It found it on a Chinese website written in Chinese and English.
That manual was enough to get me moving in the correct direction.
We then rubber ducked a video issue. On power on, the fans would spin up under control. When a computer first starts, the fans run up to max; they then ramp down under CPU control. You can hear that. I also got a single BEEP indicating good Power-On, Self-Test (POST)
But no video.
Over the next hour, Grok and I debugged the issue. We both thought it might be caused by memory; we both had the same methodology for checking memory issues. We both decided to remove the NVMe card just in case.
When I found what looked like POST indicator LEDs, Grok accurately determined what they were.
We narrowed the issue down to video.
I noticed that my silk duck kept talking about iGPU. I figured out that this must mean “integrated Graphics Processing Unit”.
Why would a motherboard have built-in video displays, and yet Grok was talking about iGPU?
I thought for a moment and then asked, Verify that Intel Core i3-12100F has iGPU.
— Grok
Here is the kicker: while I can get this motherboard to work with a graphics card, that doesn’t help me as I need that slot for my Fiber NIC. In looking at other motherboards, some of them seem to work with CPUs without iGPU, while others require iGPU.
This “feature” never occurred to me. It makes sense, but Grok is the one that found it for me.
Conclusion
AI has its place today as an assistant. It can do a great job of rubber ducking. It does a good job of editing articles, if you keep it in its place.
This is a powerful tool that is only going to get better.
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.









