Chris Johnson

A hand holds a checklist labeled PLAN against a bright blue background, surrounded by colorful gears, symbolizing the importance of planning in projects.

Too Many Projects

The project list keeps growing.

  • Mud the hallway so the wife can paint it after it’s been stripped to the drywall (and then some).
  • Finish building the joiner’s chest. This has subprojects:
    • Finish planing the first end to thickness and avoid knots in the future.
    • Sharpen the plane irons for the new planes
    • Finish smoothing and jointing the boards on hand to create the top, front, back, and other side.
      • Repair the broken saw handle.
      • Take the handle off the saw panel.
      • Clean the saw panel.
      • Sharpen the saw.
      • Preserve the saw.
      • Reattach the handle.
      • Repeat for the crosscut saw.
    • Get the rest of the lumber needed
    • Finish the required sides and top.
    • Smooth and plane to thickness the bottom boards.
    • Rabbet the bottom boards (learn how to cut nice rabbets.
  • Fill the joiner’s chest in an organized way.
  • Build a new 6 board chest for Ally to use in reenacting.
  • Build a couple of stools.
  • Create a new nut and screw for the leg vise at the Fort.
  • Install and configure a new Ceph node to replace an existing node.
  • Upgrade the Ceph cluster.
  • Build, populate, and configure a new Ceph server.
  • Make the new “managed” switch do switching stuff.
  • Move the current switch from the internal net to the DMZ
  • Loose more weight
  • Exercise more.

 

Boring, but it just keeps growing, and after my wife reads it, I expect her to add to it.

 

Construction and structure concept planning of Engineer or architect meeting for project working with partner and engineering on model building and blueprint in working site.

Enginerding

My father had degrees in engineering, something military, and business. He was also a carpenter, electrician, and cabinet and fine furniture maker.

I learned to look at things from watching him work.

At University, I was a teaching assistant (TA). We graded papers and programs, taught labs, and sometimes presented lectures.

This was a great way to learn, and I loved doing it. I still love teaching.

One of the computer science professors started in the psychology department. Since computers were relatively new, he became interested in them as a psychology problem. To that end, he wrote a textbook about programming. He then requested and was assigned to teaching CPS300 FORTRAN for Engineers.

This was a large lecture hall with around 300 to 400 students in it. Labs were taught by TAs.

His big thing was flow charting. Everybody loved flowcharts at that time. And he had some of the most beautiful flowcharts I’ve ever seen.

Mostly because he was using Nassi-Shneiderman Digrams. These things show program structure clearly, making it trivial to verify the correct functioning of the flowchart.

The problem with them is that they are almost impossible to modify. You didn’t so much modify them as rewrite them.

As engineering students, we were taught piecewise progression. You know where you are, you have an idea of where you want to be, so you take a step in that direction. Verify that the step got you closer; iterate until you are there.

If it becomes impossible to proceed, you backtrack and try again until you reach your goal.

Professor Hans Lee wasn’t an engineer. He was a psychology dude. About a third of the way through the first term working with him, I had a private conversation with him. The gist of the conversation was, “How do you write programs? What do you do when your program doesn’t work?”

His answer was that he visualizes the complete Nassi-Shneiderman, draws it out, and then translates that into code. And if the program doesn’t work, he “throws that design out” and creates a new version.

I had to explain to him that his students were not creating the flowcharts first; they were using the flowcharts to document the code they had already written and proven out. And that as engineers, they were all taught a piecewise problem solving method. His methods might work for the general student body, but for engineers it was a bad fit.

This was the first time I actually vocalized a part of being an engineer actually means.

One of the things I do at The Fort is “fixing” things. Here’s the problem with that: many of the things that exist at the fort don’t have Google pages telling you how to use them. They certainly don’t have IKEA instruction manuals on how to put them together. And many of them are broken, repaired badly, or missing parts.

So I look at things and figure out how they go together and how they work. For me, it just makes sense that tab A goes into slot A. I have been told that most people can’t identify “slot A” or “tab A,” much less that the two go together.

This played out last weekend when I stopped at The Fort; they had a newly donated great wheel plus some parts to go with it. I went over to give it the once-over to determine its condition and what we would need to do to get it back in production.

The answer seems to be replacing two leather axel holders, two leather adjuster holders and putting new drive string on.

The thing that happened, was that as I looked at the wheel and parts, it was obvious to me how the pieces should align. But the kicker in fitting two pieces together was a notch in one of the pieces.

The first rule is that any cut or extra work was done for a reason. The spokes are turned down for a reason: to make the wheel more responsive. The little grooves are for beauty.

Given that rule, why is there a notch cut in that part? What does it do? Some craftsman spent the time to put the notch there. Why are those risers threaded? Making a threaded hole in wood and the matching screw is extra work.

Why is the axle bearing for this part in a separate peg instead of being a part of the riser?

Each of these questions leads to only one answer.

The notch is so that the spindle drive pulley has enough room to run freely. The riser posts are threaded to be able to adjust the tension on the drive string. The separate pegs to hold the axle bearings (holes in the pegs) are so that they rest on top of the risers and the risers can be adjusted.

It all makes perfect sense, once you know what to look for.

Politics And Engineering

When something happens, politicians want to be seen addressing the problem, right now, in very public view. The issue is often that they have no idea what the problem or issue actually is. Instead, they have feelings about what the cause of the issue is.

So they propose a change. What they don’t do is look at what the possible results might be. Instead they focus on what they want the results to be, becoming blind to potential failure or, at best, a waste of taxpayer money.

The problem with most bills is that they are experiments with our freedoms, our livelihood, and our search for happiness. They never seem to have a plan for what to do if their experiment fails. Or if they do, it is mostly “throw more money at it.”

Friday feedback banner, a man with a phone writing reviews

Friday Feedback (On Saturday)

Church Shooting

Miggy nailed it, again. This was a church shooting, not a school shooting.

If I recall correctly, many or most Catholic churches are anti-gun and mark their churches as “gun-free zones.”

This may or may not have the force of law.

But if you have a school attached to the church, then you are suddenly covered under the gun-free schools regulations.

Favorite Anti-Gunner Stupid of the Day

The mayor of the city where the shooting took place got on national TV to explain that guns are bad.

In one paragraph he told us, “Don’t paint all trans as evil because of this incident; the problem is all gun owners who refuse…”

It really was one single breath.

Network Stuff

I know you guys are tired of this. Yesterday I got my virtual network put back together. I finally found the magic document that told me what to do where.

The really cool thing is that once I had that magic, it was trivial to copy it to the different nodes to bring them into the “cloud.”

Ironic

This is a component of OpenStack. It is the tool I was expecting to use to get my network functional again. I haven’t figured it out yet.

The issue is that Ironic is too much. It requires a Baseboard Management Controller (BMC). A BMC is an embedded computer and OS in a server. You connect the BMC to a network, generally referred to as the management network, to gain access to the server hardware.

From the BMC, you can change BIOS settings, initiate power down and reset functions, and access the hardware for configuration purposes. Some even include KVM capabilities.

This is such a useful feature that most “real” servers come with them. Ironic has a couple of dozen drivers designed to work with them.

What it doesn’t have is any way to work with a computer without a BMC. There is an SNMP driver, but it is just for UPSs. I might play with it to get new boxes provisioned.

Maybe somebody has a fake IPMI implementation that runs under the actual OS.

Ceph is up?

I have 3 nodes that are not back up, plus the one node that was taken out of service. I’ll work on those two nodes today, but I also have to do honey-do jobs.

Question of the Week

This latest church shooting feels different. I can find the shooter’s name, but his name isn’t being dropped every other breath by news people.

Normally we are so cowed that we just “offer thoughts and prayers.” but this time we are still praying for those that were killed and injured as well as for those emotionally hurt by the shooter. Parents and such. The difference is that when there is that push for gun bans, there has been pushback at higher levels.

It also feels like we are getting more support from the top of the political party.

Does this terroristic act feel the same as the last shootings?

Learning new things

Another deranged asshole killed children at a school. 2 dead, 17 wounded. Nationwide headlines. The blood vultures leap to blame me for a shooting that took place more than a 1000 miles awy.

Meanwhile, CBS News is running a headline on August 28, 2025: “6 dead, 27 hurt in Chicago weekend shootings, police say.”
6 dead, 27 hurt in Chicago weekend shootings, police say

I would rather not deal with it today.

OpenStack

Over the last month, I’ve been dealing with somebody who has not kept up with the technology he is using. It shows. I like to learn new things.

For the last two years I’ve been working with two major technologies. Ceph and Open Virtual Networks. Ceph I feel I have a working handle on. Right now my Ceph cluster is down because of network issues, which I did to myself. OVN is another issue entirely.

A group of people smarter than I looked at networking and decided that instead of doing table lookups and then making decisions based on tables, they would create a language for manipulating the flow of packets, called “OpenFlow.”

This language could be implemented on hardware, creating very fast network devices. Since OpenFlow is a language, you can write routing functions as well as switching functions into the flows. You can also use it to create virtual devices.

The two types of virtual devices are “bridges” and “ports.” Ports are attached to bridges. OpenFlow processes a packet received on a port, called ingress, to move the packet to the egress port. There is lots going on in the process, but that is the gist.

The process isn’t impossible to do manually, but it isn’t simple, and it isn’t easy to visualize.

OVN adds virtual devices to the mix, allowing for simpler definitions and more familiar operations.

With OVN you create switches, routers, and ports. A port is created on a switch or router, then attached to something else. That something else can be virtual machines, physical machines, or the other side of a switch-router pair.

This is handled in the Northbound (NB) database. You modify the NB DB, which is then translated into a more robust flow language, which is stored in the Southbound (SB) database. This is done with the “ovn-north” process. This process keeps the two databases in sync with each other. Modifications to the NB DB are propagated into the SB DB and vice versa.

All of this does nothing for your actual networking. It is trivial to build all of this and have it “work.”

The thing that has to happen is that the SB database has to connect to the OpenvSwitch (OVS) database. This is accomplished via ovn-controller.

When you introduce changes to the OVS database, they are propagated into the SB database. In the same way, changes to the SB database cause changes to the OVS database.

When the OVS database is modified, new OpenFlow programs are created, changing the processing of packets.

To centralize the process, you can add the address of a remote OVN database server to the OVS database. The OVN processes read this and self-configure. From the configuration, they can talk to the remote database to create the proper OVS changes.

I had this working until one of the OVN control nodes took a dump. It took a dump for reasons, most of which revolved around my stupidity.

Because the cluster is designed to be self-healing and resilient, I had not noticed when two of the three OVN database servers stopped doing their thing. When I took that last node down, my configuration was stopped.

I could bring it back to life, but I’m not sure whether it is worth the time.

Now here’s the thing: everything I just explained comes from two or three very out-of-date web pages that haven’t been updated in many years. They were written to others with some understanding of the OVS/OVN systems. And they make assumptions and simplifications.

The rest of the information comes from digging things out of OpenStack’s networking component, Neutron.

I have a choice: I can continue down the path I am currently using, or I can learn OpenStack.

I choose to learn OpenStack.

First, it is powerful. With great power comes an even greater chance to mess things up. There are configuration files that are hundreds of lines long.

There are four components that I think I understand. The identity manager, Keystone. This is where you create and store user credentials and roles. The next is the storage component, Glance. This is where your disk images and volumes are accessed. Then there is the compute component, named Nova, which handles building and configuring virtual machines. Finally there is the networking component, called neutron.

For the simple things, I actually feel like I have it mostly working.

But the big thing is to get OVN working across my Ceph nodes. That hasn’t happened.

So for today, I’ll dig and dig some more, until I’m good at this.

Then I’ll add another technology to my skill set.

On Going Concerns About Youth Violence

The reports are that this is a 14 year old girl in Scotland. As you can clearly see, she is brandishing a knife and a hatchet. Both of which she is prohibited from having.

This is just another example of how the youth of the UK are becoming more and more violent. We need to make an example of them.

On August 23, 2025, at around 7:40 p.m., Police Scotland received a report of a female youth with a bladed weapon in St Ann Lane, Lochee, Dundee. Officers responded to the scene, located just off Coupar Angus Road in the west of the city.

A 14-year-old girl was identified and charged in connection with possessing the bladed weapon. Police vehicles were observed at the nearby Balgay Street car park during the investigation.

The girl was reported to the relevant authorities, with no further details on the nature of the weapon or specific charges disclosed. No injuries were reported during the incident.

The event was noted in the context of Scotland’s ongoing concerns about youth violence, as highlighted by the Daily Record’s “Our Kids … Our Future” campaign. The case remains under review, with no court date specified as of August 25, 2025.

Maybe there is more to this story?

Such as the girl in the picture was defending her 12 year old friend who had just been assaulted by a foreign invader. That she was afraid of being assaulted herself. That there were more foreign invaders moving toward her.

If you have watched the video, you can hear that evil invader taunting her to show the knife. He knows that if he reports her for having the knife, she will be arrested.

Nothing will happen to him.

This video clip might be the start of something good for the UK.

Lawyer challenging business woman in suit or lawyer working on documents Legal advice and justice Female lawyer working at law firm and squatting with court scales

Association of New Jersey Rifle and Pistol Clubs I v. Attorney General New Jersey, 24-2506, (3rd Cir.)

This case is being set up for a bases loaded home run.

Consider the Second Amendment legal landscape of 4 years ago. Heller had set the standard. Is the plain text of the Second Amendment implicated? If so, what is this Nation’s historical tradition of firearm regulation?

This was a joyful time. I remember that D.C. became a constitutional carry location for about 5 minutes before they changed the rules.

The problem we had was that there was a footnote in the Heller opinion that the anti-gunners used to pry open the path to gun control.

California was one of the first states to drive through that gap. Chicago, Maryland, New Jersey, and others quickly followed.

These Heller response laws were challenged. The cases made their way up to the circuit courts, where we learned the wonderful world of interest balancing.

Under interest balancing, the courts would first ask the purpose of the law or regulation. If the proposed purpose was deemed to be “important” enough, then a lower standard of scrutiny would be applied. If the proposed purpose wasn’t important enough, then higher levels of scrutiny would be applied.

What this meant was that the courts looked like they were treating the plaintiffs with respect while putting four or five thumbs on the scales of justice.

The 9th, 7th, 2nd, 3rd, and 4th circuit courts all took up the cry of “interest balancing.” The other circuits weren’t ruling on Second Amendment cases, so it didn’t really matter.

All the circuits that took up Second Amendment challenges all decided in the same way. Against The People.

Bruen put an end to levels of scrutiny. The inferior courts are still playing games. The current game playing focuses on “Is it an arm?” and “Can you prove it is in common use for self-defense?” Their goal is to keep Bruen from being applied.

But we have a problem. All the circuit courts that are ruling on Second Amendment cases are ruling the same way. Against The People. They are still the same rogue, inferior courts, thumbing their noses at the Supreme Court.

But something has changed out there in New Jersey and the Third Circuit Court of Appeals.

Trump and other originalist jurists have become a majority in the Third Circuit.

If we can get just one more confirmation, and there is a nominee going through the process right now, it will be an even larger majority.

The People got a shitty draw of judges for the merits panel. Not that surprising. We expected another loss. Judges Shwartz, Freeman, and Smith heard oral arguments on July 1st 4-2450-24-2506_Association of NJ Rifle Pistol Clubs v. Attorney General N. Jetal.

Here is where it gets interesting: on the same day that the case was argued, the court ordered the parties to produce a transcript. Which was entered into the record on July 15th.

Why did they need a written record? Likely because they expected other courts or panels were going to want to read it.

Under the Third Circuit’s internal operating procedures, a merits panel must circulate their opinion(s) before they are published. This gives the rest of the judges on the court an opportunity to comment and provide suggestions.

But something else can happen: if a majority of the active judges are in disagreement with the proposed opinion, they can grant an en banc hearing sua sponte. (Without a request from either party). And this is what happened on August 21st.

We are pretty sure that the opinion by this three-judge merits panel was going to go against us. If the majority of the active judges agreed with that opinion, there is no reason to call for an en banc hearing.

En banc hearings in the Third Circuit are a pain. It is all the judges dealing with the one case. It isn’t common.

In Snope we saw the Fourth Circuit do the same thing; gut in that case, we were expecting a positive opinion.

Oral arguments will be held on October 15th at 0930.

The only wrinkle is that Judge Smith is no longer an active judge, but he has elected to participate as a member of the en banc panel. Smith is currently a senior judge, meaning he only hears cases of interest to him.

If the Third Circuit finds for The People and the Constitution, this will create a major circuit split. This makes the case ripe for the Supreme Court. Matching it with Kavanaugh’s dissent in refusing cert on Snope.

agriculture,autumn,background,beautiful,beauty,bloom,blooming,blossom,bright,closeup,color,colorful,cosmos,countryside,decorative,detail,environment,farm,field,flora,garden,grass,green,guard,happy,isolated,landscape,leaf,meadow,natural,nature,outdoor,park,people,pink,plant,pretty,protection,rice,rural,scarecrow,silhouette,spring,strawman,summer,wild,young

The Straw Man

Because I am invested in The Fort at No. 4, I see news articles from the area. Yesterday I read a press release from School Administrative Unit 6 (SAU-6) which covers Claremont, NH.

Claremont is just up the road from the Fort so I read it.

The Business Administrator has been put on paid leave; a school board member with lots of accounting (CPA) was appointed to do the job of BA.

From my weak sources, it seems like this BA wasn’t doing a good job. There are no signed Audits since 2021. They have a budget short fall over around $5 million.

Entirely the fault of this administrator and those supervising her.

This, of course, led to the comments.

We could go into the blame game. Which comes down to Trump and “local taxes.” The local taxes are property taxes. The SAUs are funded from the local property taxes. Residents of the towns that belong to the SAU have to vote on the school budget. Occasionally the proposed budgets are not approved.

The budget for my SAU has failed twice in the past 10 years. The first time I showed up at school board meetings was to find out where the money was being spent. What I did manage to get into the record was that while the teachers salaries were not increased because of the vote, the administrator’s pay still went up.

I pushed for, and I believe they passed, a resolution that says, “If the teachers don’t get a raise, the administration doesn’t get a raise.”

The last time, the school system just overextended itself doing too much non-educational stuff.

Our SAU didn’t have anything looking like abuse of the budget; it just wasn’t restraining itself.

Claremont’s issues are entirely self-inflicted. 19 new teachers to the SAU were canned. They had already signed contracts, so those teachers are well and truly screwed.

Money not gone. Money given to rich people so poor people can hold the bag. Republicans and freestaters hate education because it unfairly shrinks their voter base. Everyone was so scared of wealth distribution they completely failed to notice it’s been happening for the last forty years. Upward.
Not sure it’s simplified enough but the history here is that the state consistently shirks it’s federal duty to provide adequate funding for public schooling. Instead it shuffles whatever money it does have into the pockets of greedy businesses like PragerU or sketchy private charter schools.

This leaves public schools to figure out how to fund themselves all over the state. Most municipalities raise their own taxes in a way to avoid the issue because they know the state will not take responsibility.

Claremont seems to have mismanaged the little funding they have as a result of confusion and lack of state support. So now they are in an emergency budgeting event resulting in the return of equipment, cancellation of new teaching contacts and supplies orders to work towards a functional shoe string budget.

All this while the state pays federal stooges from the Heritage Foundation etc. to draw out the multiple court cases NH municipalities have filed against the state for failing at its federal duties.

Republicans care more about tax cuts for the wealthy than they do for us commonfolks to have education. Less education = more republican voters who don’t know any better and get shoved into PragerU bullshit. Democrats have too weak of a spine so they roll over and play dead because our state is full of idiots who think regulation and taxes personally attack them and their entire family tree.

To sum it up – Stupid and greedy republicans. Spineless Dems. Selfish and ignorant voter base.

And this is the straw man. This person has never listened to a Republican; instead, they have built an image of a “Republican” where they put motives and evil.

If the federal tax rate was a flat 10% and you made $35,000/year, you would pay $3,500 per year in taxes. If you make $350,000/year, your taxes would be $35,000 per year. No leftist screams that going from 10% to 11% will cost the person with the larger income $3,500 more per year but it will only cost the lower earner $350 more.

But if the tax rate drops from 10% to 9%, it is a tax cut for the wealthy.

But I’m ignorant, according to Mr. achy_joints. He believes that everything that PragerU puts out is “bullshit.” Why? He can’t tell you why, but he knows it is BS.

It reminds me of the people claiming Glenn Beck was a horrible person for the things he said. This is a man who was on talk radio for multiple hours per day; he was on a national televised show once a day. With 10 years of history, every single “proof” lead back to the same 5 minute collection of things he said out of context.

Mr. achy_joints thinks that everything will benefit from more regulations more taxes. Taxes he is unlikely to be paying.

I just get sick over reading the straw man arguments. These are people that haven’t had an open mind in years.

flashlight, blackout, power failure, energy, energy crisis, night, dark, supply failure, catastrophe, power supply, power plant, nuclear power plant, oil, gas, natural gas, green energy, error, breakdown, failure, heating, electricity, report, flashlight, flashlight, blackout, blackout, blackout, blackout, blackout, failure

Power Outage

Today I was waiting for clients to get back to me. While I waited, I started installing OpenStack.

So far it has been going well. A few typos slowed things down. Errors are not always clear, but I am now at the point of installing neutron

This is the scary part. The terrifying part.

Neutron interfaces with Open Virtual Networking (OVN). This could be magical, or it could break everything.

OVN sits on top of Open vSwitch, providing configuration.

The gist is that you install OVS, then you add configuration options to the OVS database. This configuration instructs OVN how to talk to its databases.

Once OVN starts talking to its databases, it performs changes in the OVS database. Those changes affect how OVS routes packets.

The physical network is broken into subnets. This is a requirement for high-availability networking. As links go up and down, the network routes around the failures.

On the other hand, many of the tools I use prefer to be on a single network; subnets increase the complexity greatly. Because of this, I created overlay networks. One for block storage, one for compute nodes, and one for virtual machines.

Neutron could modify the OVN or OVS that brings my overlay networks down.

So I’m well into this terrifying process, and the power goes out. It was only out for a few minutes, but that was enough.

The network came back to life.

All but two servers came back to life. One needs a BIOS change to make it come up after a power failure.

One decided that the new drive must be a boot drive, so it tried to boot from that, failed, and just stopped.

All of that put me behind in research, so nothing interesting in the 2A front to report, even though there are big things happening.

The number of moving parts in a data center is almost overwhelming.

Friday feedback banner, a man with a phone writing reviews

Friday Feedback

DC Clean Up

X has been melting down over the federal government using the Constitution to take control of local law enforcement in D.C.

Wolf Blitzer stepped in it by posting a picture of a HUMVEE at Union Station. He implied it was an affront.

He got ratioed badly. There were many personal comments about how people were feeling safe to be outside at night. One woman talked about how this was the first time in years she’d been able to walk through Union Station without being verbally and sometimes physically harassed.

Another reporter visited a homeless encampment, expecting the standard anti-Trump screeching. Instead, they were told how much better it was now that the criminal element, drug users, and those in need of mental help are gone. One homeless person’s statement was to the effect, “It is the first good sleep I’ve had in months.”

Pushing Back

I do remember Ronald Reagan as our President. He was one of the most skillful orators I’ve had the pleasure to listen to. He was quick-witted and used that skill to zing the media. He did it so well that most of the media laughed at themselves for being zinged.

Trump is not as articulate. He speaks at a 6th grade level, if I recall correctly. I don’t like listening to him speak. What he does is connect with The People.

What is a greater strength is his ability to troll the media and Democrats. He trolls, whereas Reagan cast zingers.

What is most noticeable is just how hard he pushes back on the media and narrative.

What is the massive win, in my opinion, is that his administration uses the same method of pushing back. They don’t get upset with the lies and narratives; they just call it out. And many times make fun of those who have idiotic stances.

According to Reddit, I Live in a Racist State

I don’t engage on Reddit. I have more than enough on my plate as it is. Today’s joy was an “ICE” warning. The top comments all misrepresented facts. “Immigrants,” “neighbors,” “friends” were used to describe the criminal aliens that ICE was looking for.

The kicker for me: “My daily reminder of just how racist this state is.” I live in New Hampshire. There are blacks in this state. There are people of color in the state. The blacks seem to gather in the cities, as per normal. But I can’t find racists anywhere except within the black community.

But they have defined “racist” to mean anybody who doesn’t accept every third world alien that comes into our country.

For them, it is racist that people are upset about the Indian who killed a family of three by making an illegal U-turn. The Florida cops administered a simple test: English proficiency and road signs. He got 2 out of 12 right on the English portion and 1 or none of the road signs.

This monster with a CDL from California killed a family of three, and I’m racist for being upset that he entered my country illegally and was given, given, not earned, a CDL.

OpenStack

I like doing things the old-fashioned way. I like knowing what the hell is going on inside my network. Having software magically do things bothers me.

Unfortunately, none of the documentation for Open Virtual Network (OVN) talks about manually configuring OVN. It all uses OpenStack. In addition, I’ve become unhappy with my Docker Swarm solution. Since I’m not hosting anything locally anymore, it is time to “upgrade” to OpenStack.

What the heck will I break? I’ll know next week.

AI Code Generation

I’ve started using Grok for code generation. There are issues, but I’m working through it.

First, Grok is not a programmer. It is a piece of software that does a particular task. You have to spend the time to define the task.

In this particular case, I’m interested in creating network maps in a cleaner way. Grok gave me that starting point.

No matter how smart it appears, it is stupid. My latest example is that there is an input field for interfaces. There is a example prompt, provided by Grok.

That example prompt leaves out an entire part of the syntax using a different set of symbols.

This reminds me of the discussion about secretaries back when word processors became a thing.

The director of the lab and the directors of the lab divisions all had secretaries. The secretaries did most of the writing. They typed out letters to be sent by snail mail, and they often wrote the email sent over their boss’s signature.

When word processors came out, the directors were expected to write their correspondence. The result was substandard grammar and English. Not because these guys were dumb, but because their skillset didn’t include touch typing at 80 WPM and all the rest that a secretary brings to the mix.

Can the average person use AI to write programs? Maybe. In a year, yes.

Will it be good? No.

Just like we went from having electrical engineering to computer science to information technology, I expect to see classes in creating AI prompts showing up in colleges in the next couple of years.

Until AI makes the next leap, it will take real programmers, coders, and systems people to create fully functional software.

On the plus side, Grok has shown me several patterns that I’m copying.

What Happens When You Use 78% of Your 100 TB of storage?

Alarms start going off. I had a Ceph node die on me. I have the parts to replace it. I haven’t had the time nor incentives to do so.

The nice part was that I was able to physically move most of the drives to different nodes. This led to the great rebalancing.

Ceph uses a layout called a “CRUSH tree” or “CRUSH map.” The idea is to define a set of rules for how data blocks should be distributed to different drives (OSDs).

Ceph provides resilience with two methods: one is via redundancy, and the other is by error codes.

Using redundancy, you specify how many copies of each block of data you want. Three is the smallest safe number. This means that every byte written is duplicated twice. When you retrieve the block, it is pulled from the “closest” node.

A redundancy of 3 means three copies. With error codes, the cost is better. Something closer to 1.6 instead of 3 at the expense of more work calculating the error codes.

If you had all 3 copies of the block on the same drive, if that drive (OSD) fails, you’ve lost that block of data. The CRUSH map tells Ceph how to protect duplicate blocks from single points of failure.

In the simplist configuration, you do OSD isolation. No two copies of the same block are ever stored on the same OSD.

You can expand this to the node/host. You can make the same rule that no one host can hold two copies of the same block.

My CRUSH configuration is attempting data closet isolation. No two copies of the same block can exist in the same data closet.

If I had moved the physical drives to a host in the same data closet, then some rebalancing would happen. I moved the drives to hosts in different closets.

Ceph then proceeded to rebalance 70 TB. Which is why networks had to be reworked. I managed to eliminate most of the bottlenecks.

Unfortunately, it also meant that I had OSDs and Placement Groups go “near full,” slowing down the rebalancing. More drives to the rescue.

Question of the week?

For years, if a Democrat or leftist started yapping about this or that, regurgitating CNN talking points, I kept my mouth shut and just moved on.

Except if it was gun-related, then I spoke up.

Today, I’m much more likely to speak up. To attempt to bring facts and logic to the discussion. I no longer sit silently for their lies.

Do you feel it is safer to speak up about your political stance today?