Chris Johnson

For Sale Real Estate Sign in Front of New House.

You’re Greedy For Owning A House!

I ran into this tripe a little more than a year ago. This week it is showing up everywhere.

People are whining on X and Reddit about how hard it is today. How the “boomers” took all the wealth. How they don’t want you to be able to afford a home.

My parents grew up during the Great Depression and WWII. My maternal grandfather tried to volunteer for the army but was not allowed, as he was a critical worker in railroads. My paternal grandfather was busy being a scientist for Goodyear. Family history says that he helped develop the tires that were using synthetic rubber.

My grandparents worked hard to earn what they held. They died owning a houses.

My maternal grandparents bought their house in the 30s or 40s. Grandpa built the garage himself. He did all the work around the house. Before he started working for the railroad, the SooLine, he was a machinist and a carpenter/woodworker. His hands were calloused from working his entire life.

He bought his house for under $2k, it is currently valued at $145k.

My grandfather also worked most of his life. He was a scientist who worked with cotton. His house was worth much more when my grandmother passed because of California. Likely near enough to a million dollars for a little house.

When my parents started, Dad was an ensign in the Navy. It wasn’t until a LT that they could afford their first house.

They purchased an OLD house in Norfolk. Dad took the test to be a certified electrician because he needed to rewire that house. They couldn’t afford to have somebody else do any work. Dad fixed that house up.

When he was transferred, they couldn’t sell the house for what they had in it, so they rented it out until they could. That allowed them to buy another house. A little nicer, a little better.

It wasn’t until I was in 6th grade that I had a room to myself. There was no “spare” bedroom. It wasn’t until high school that the house was big enough for there to be a shared office for Mom and Dad.

That house now lists for $550k. I do not know how much they purchased it for.

When they passed, their house was worth around $360k.

Their houses and their wealth went up as they invested money they had earned and saved.

My first house was a “three”-bedroom, one-bath house. With 870 sq. feet. I could barely afford it with my $35k/year salary. I think we paid around $50k for it. It now sells for $242k. I quote three because it was actually two bedrooms with an extra room tacked on the back, through the second bedroom. So it was three bedrooms and a laundry room, craft room, kids room.

I stuffed 5 kids and a wife into that house, and we made it work.

But here’s the thing: the house I thought I could afford was a $30k fixer-upper. I was going into that house knowing I would have to rip up every floor and put new floors back in. That every wall had to be stripped and painted. And likely, I would have to redo the roof. And I expected to do all the work myself.

I made no money on that house. The bank repossessed it because I was unable to make child support payments AND house payments.

I have a house today because my wife makes good money and I get bursts of money. We were able to afford it only because my parents helped and the house had been foreclosed.

It is worth almost 4 times what we paid for it. Not a bad investment.

It took me 30 years of work to be able to buy this house. I’ve never gone hungry, but I’ve eaten freezer scrapings more than once.

But today I’m told I had it easy. That my parents had it easy. That I’m greedy because I bought this house that could have been used by a large growing family,

One person complained that he couldn’t find a starter home. His definition of a starter home put him at $500K.

My house is not a “starter home.” It is my grow-old home. And it isn’t $500k.

There are 7 houses for sale within 2 miles of my town for less than $150k.

The most significant difference, in my opinion, is what luxuries we “must” have today.

My child dropped her phone in the lake. She has a new phone. My phone bill, for the family, is $250 per month. We shouldn’t be paying that much for phones. But I like having my phone. I like being able to read books in the dark. I like my Google Maps and Android Auto.

So I pay for my kids and family to have cell phones. And good ones.

I think we spend nearly $100/month on streaming services. I have not added it up, but that sounds about right.

There is money for servers, internet, VoIP service, and a dozen other things.

Our electric bill is high. People run heaters when it is cold and fans or AC when it is hot.

All these things add up.

When I was young, going out to eat was a special thing. Today, my kids eat out 4 out of 7 days of the week. The amount of money spent on drinks from Dunkin or McDonald’s blows my mind.

I feel bad for spending $35/month on good coffee. My wife will spend $2 for an iced tea from McDonald’s multiple times per month. It all just adds up.

To put it in perspective, I’ve seen my wife order takeout for us and the kids and spend nearly 10% of a mortgage payment. Taking the entire family out for dinner can easily hit 20%.

Do I feel bad for the people who are struggling to make ends meet? Yes, I do. I’ve been there. I fought through that. I drive a 15 year-old truck so I don’t have to pay $500/month on a car payment. Are they making the same types of sacrifices? Do they make the sacrifices my parents made?

Now they are not.

Stop whining, stop blaming me, get up and go do.

Network Maps

There was a time when I would stand up at a whiteboard and sketch an entire campus network from memory, including every network subnet, router, and switch.

Today, not only can I no longer hold all of that in my head, my whiteboards no longer exist.

In the first office I rented, I installed floor-to-ceiling whiteboards on all walls. I could write or draw on any surface.

I can remember walking into Max’s office with an idea, asking for permission to erase his whiteboard, and then drawing out or describing the idea or project. Maybe 30 minutes of drawing and discussing.

What surprised me was asking to erase my chicken scratches months later and being told, “No,” because they were still using it.

Regardless, today I need to draw serious network maps.

I have multiple routers between multiple subnets. Managed and unmanaged switches. Gateways and VPNs. I have an entire virtual network layered over the top of all of that to make different services appear to be on the same subnet.

Not to mention the virtual private cloud(s) that I run, the internal, non-routing networks.

It is just to much for me to do in my head.

Oh, here’s one that’s currently messing with me. I have a VPC. It has multiple gateways allowing access residing on different chassis in different subnets. I can’t figure out how to make it work today. Even though it was working yesterday.

I’ll be messing with networks for the next week to get things stabalized.

Friday feedback banner, a man with a phone writing reviews

Friday Feedback

Can I call Network Support, Please?

I’m in network hell again. The internal network keeps getting better, but I’m a cheap SOB, so I don’t buy Cisco $50 SFP modules. I buy 4 for $50.

This has downsides, one of which is when it breaks, I’m responsible.

So here’s the story in short. Node 3 <=> SW1, Node 4 <-> SW1, S1 <=> R1, R1 <=> N129, R1 <=> N5, R1 <-> GW, GW <-> THE WORLD.

I have measured bandwidth between N3 and N5 at nearly 10G, as expected, both directions. I have measured bandwidth of nearly 2G between N129 and N3 and N5, as expected in both directions. I have measured bandwidth between N4 and N3, N5 and N129 at 1G, bi-directional.

The measured speed from the WORLD to the ONT is 1 Gbit, bi-directional. The measured speed between GW and WORLD is 480 Mbit bi-directional. This is because the GW is CPU starved at that point. It is a router, not a compute engine.

The measured throughput from the GW to N129 and N5 is 1 Gbit, as expected.

The measured throughput from N129 and N5 to the GW is < 30 Mbit. This is messed up. I'm working backwards. ONT to GW replaced ethernet cable. GW to R1 I've replaced the fiber modules on both ends, next step is to replace the fiber itself. That's where I'm stuck. I've even power cycled R1.

Techs vs Tech Support

The Fidium/Consolidated Communications tech was on site yesterday. He quickly found the ONT. Measured its performance, declared it needed to be replaced. Took a look at the equipment he could see and the fiber runs, went and moved the house to a different splitter. We are now on the primary splitter instead of one a few steps down. There are only 4 drops on this splitter instead of 10+.

When he was finished, I ran my speed tests again. 1G down, 0.040G Up. A major improvement, still not good.

Here are some observations. English was his primary and likely his only language. He understood that he was speaking with somebody who knew networks.

After we decided that something else was wrong, we decided to test with his laptop. Before he did any testing, he tested his dongle. He made sure his laptop was capable of 1G testing. That dongle was not. He went back to his truck to get one that did support 1G.

We tested, and he was getting the same numbers I was.

I’ve ordered a USB-C to Ethernet dongle for the laptop so I can connect directly to the GW to do testing. That’s a different question.

He called tech support. Those people, tech support for the techs, could not handle him just plugging in his laptop to test.

I introduced the tech to 8.8.8.8 and showed him how to verify he was online.

Because Tech Support couldn’t figure it out, he had to install a company router for them to be able to test. Tech Support then tried to force me to use their router. Their router has no SFP ports. No, thank you.

New Client

The new client project is winding down. After their people said it couldn’t be done for over a month, I do have the new server running. Management and their customers are happy. Most of the people using the new server are happy.

Their IT people are not happy with me. He managed to make enough visible mistakes that management noticed. Not that they hadn’t noticed before, they just didn’t know what they didn’t know.

Now comes the difficult task for me: turning a one-time project into long-term client support.

TDS

I look at the world of today versus the world of 12 months ago, and my life is better. I might not be pulling as much money as I want, but the economy is moving in the correct direction.

If I see a headline with “Trump!” in it, I know another TDS sufferer is about to tell me why their life is horrible because of Trump.

People being told to buy soda and snacks with their money and not mine? That’s evil.

The federal government not paying for people’s solar systems with my money? That’s evil too.

Removing criminal aliens from our country? Think of the children!

There was a thread on Reddit complaining that solar is going to die in Vermont because the solar subsidy is being stopped.

I’m sorry, solar in the Northeast is not as viable as solar in Florida or other sunny places. If you think it is such a great deal, buy it with your money, not mine.

Go read Dive Medic’s blog over at https://areaocho.com for his personal experience with solar power. It is a win for him. It is a nice concept for me. But it requires doing the math. And using your money.

The National Guard Can Be Used for Law Enforcement IF

It is for a good cause, like protecting President Biden from those horrible, evil, red-hatted people. They should have been called in to stop the most horrific, violent, attack on the government of the United States ever. January 6th, when 10s of thousands of the most heavily armed people in the world, left all their guns at home.

Activating the National Guard to help law enforcement officials in the District of Columbia? That’s forbidden. That’s misuse of the military.

Remember, the Second Amendment only protects the rights of the Militia, which is the National Guard, until Trump uses them, in which case they are the Military and it is a violation of the Posse Comitatus Act. (End sarcasm).

There is nothing that the Trump administration can do that the left won’t cry about.

It’s Not Sharp

I think I’ve mastered the art of woodworking with hand tools. All cutting implements are dull, by definition. Sharpen them before you start.

Seriously, almost every time I’ve had issues, it is because I have not done enough sharpening or flattening.

That includes such things as flattening your planes. I have a Stanley #4 that needs more work to make its sole flat. It is almost there, but I got tired of trying to make it flat. I’m in a position to work on it again.

I picked up a wooden fore plane. This is really a jack plane, but it works.

The first step was to examine it. The sole looked ok, until I realized that there were little drips from whatever was used to finish it.

It took a good 30 minutes on 320 grit sandpaper to make the sole flat. It took longer than that to grind a good edge on the iron. It was so bad that the iron got to hot to hold, even with my slow speed grinder.

I need to spend a bit more time, but I believe this will be a real workhorse.

Now all I need is a day that isn’t so hot and muggy.

The same with the 26″ handsaw I found. Once it is properly sharpened, its 8 TPI will just rip through wood. The long length of the panel will make it another workhorse.

All I need to do is finish my Jointer’s Box. OH, I realized I had been staring at a Jointer’s box at the Fort without seeing it. I have to spend the time to examine it more closely.

Question of the week

My standard in interacting with the police is “I don’t answer questions.” Which I fail at, so I work harder at succeeding.

If police were to roll up in my yard, I would be telling them to leave.

With the advent of federal law enforcement hitting the streets of DC, there are reports coming out that LEOs are walking up on people sitting on their stoops to demand ID and justification.

Where do you stand on the idea of the cops demanding ID of people sitting on the steps of their own homes?

Fiber optic technician performs repairs on cabinet to restore network connection to customers impacted by failure

Consolidated Communications, outsourced Customer Service

Two years ago I switched from the worst Internet provider to the second worst Internet provider in my area. Fidium by Consolidated Communications.

Until yesterday, when I called, I got an American-based tech support person. They were all at what I consider tier II or better. Their knowledge base was good, and they treated me with respect.

Yesterday Ally pointed out that my voice communications had gotten bad. My new client is complaining about upload speeds to their server. I’m seeing 28 KB/s upload speeds.

Before I go yelling at the client about their network, I verify my own.

Download speed: 1095.4 Mbps down. This is precisely what I pay for. 0.260 Mbps up. This is not the 1 Gbit I am paying for.

To put this into units that highlight how bad this is. I pay for 1.000000 Gigabits up and down. I got 1.09500 down and 0.000260 up.

This is an issue that needs to be resolved. I power cycle the firewall and the ONT. No change.

I call Fidium via VoIP; the representative, speaking with a strong accent, can’t hear or understand me.

I hang up, take my cell off WiFi calling, and call, making my way through the prompts to reach customer support again.

The representative I reach is also not in the US. I authenticate to her. Tell her that I have asymmetrical speeds. Give her the download and upload speeds.

“That’s the plan you’re paying for.”

“No, it is not. I’m paying for 1G up/down symetrical.”

“You called technical support. You need to talk to sales.”

“I am only getting 0.26 megabits up. This is not my plan.”

“You need to talk to sales.”

“Let me talk to somebody competent!”

More arguments from her that I’m getting exactly what I am supposed to be getting

“Let me change that, let me talk to your supervisor now.”

10 plus minutes of waiting before she comes back on and asks, “What are the speeds you are getting again?”

I tell her, and she finally starts to work towards a resolution.

I ask her where is the supervisor that I asked to speak to, “He’s in a meeting and can’t respond.”

She gets me an appointment for a technician. For today at 0800-0900. 23 hours from the time I put in the call.

I tell her this is unacceptable. She refuses to do anything. I tell her to yank her supervisor out of the meeting.

When I finally get to talk to him, I use some emotional blackmail. “My VoIP is down. This means I’ve lost e911 capabilities at my site. Tomorrow is to long. I need somebody here today.”

I’ll update this posting if they actually did get the issue fixed in a timely fashion.

Damn, I miss US-based support.

A depressed, stressed woman putting her face on a pillow, mental problem and health care concept

Words Are Not Deeds

Or to put it in the jingo of my youth, sticks and stones may break your bones, but words will never hurt you.

In Cincinnati, a white man and a white woman were beaten badly. This wasn’t a one-on-one beatdown; it was a gang of feral hood rats attempting to murder them.

Because they are black, they are not to blame. The white folks are. They said something that justified the beatdown.

It is the white victims that need to be charged and arrested. They are responsible for 6 felonies.

Business woman drawing global structure networking and data exchanges customer connection on dark background

Virtual Devices

When I started to babysit Cray Supercomputers it was just another step. Massive mainframe handling many users, doing many things.

But I quickly learned that there are ways of making “supercomputers” that don’t require massive mainframes. My mentor used to say, “Raytracing is embarrassingly parallel.”

What was meant by that is that every ray fired is completely independent of every other ray fired. His adjunct program rrt was able to distribute work across 1000s of different compute nodes.

We were constantly attempting to improve our ability to throw more compute power at any problem we were encountering. It was always about combining more and more nodes to create more and more powerful compute centers.

Which moved the bottleneck. We went from being CPU starved to being memory starved to being network starved. So we added more network bandwidth until it all balanced out again. Until we bottlenecked on networks again.

After his passing, I did work with a company that supported multiple large corporations.

I was introduced to VMware. A virtualization framework.

Instead of taking “small” computers and joining them together to create larger computers, we were taking “medium” computers and breaking them into small virtual devices.

What is a virtual device

A virtual device is nominally a network interface, a virtual disk drive, or a compute instance.

To create a virtual computer (instance), you tell your vm manager to create a virtual drive, attach it to a virtual computer, attach a virtual DVD drive, allocate a virtual network interface, and boot.

The virtual drive can be a physical drive on the host computer. It can be a partition on a physical drive, it can be a file on the host computer, or it can be a network-attached drive.

If you attach from the host computer, you can only move the drive to other instances on the same computer.

If you attach a network-attached drive, you can only move the drive to other instances with access to the network-attached drive.

I use libvirt for my virtual manager. If I expect the instance to stay on the same host, I use a file on the host computer. That is easy.

If I need to be able to migrate the virtual computer to different machines, I’ll use a Ceph Raw Block Device or a file on a shared filesystem.

What are the cons of using a virtual machine

It can be slower than a physical device. It doesn’t have to be, but sometimes it is.

While you can oversubscribe CPUs, you can’t oversubscribe memory. Memory is always an issue with virtual machines.

When the network isn’t fast enough, network-attached drives will feel slower.

And the big one: if the Network Attached Storage (NAS) fails, all instances depending on the NAS will also fail. Which is why I use Ceph. Ceph can survive multiple drive or node failures.

Another big con: if a host computer fails, it will cause all virtual computers running on that host to also fail.

What are the pros of using a virtual machine

It is trivial to provision virtual machines. There is an entire framework OpenStack that does exactly this. Using OpenStack you can provision an instance with just a few simple commands.

You can migrate an instance from one host computer to another. Even if the disk drive is located on the host computer, it is possible to move the contents of that drive to another host computer.

If you are using a NAS, you can attach a virtual drive to an instance, work on it with that instance, then detach that virtual drive and attach it to a different instance. This means you don’t have to use over the wire data moves.

You can also increase the size of a virtual drive, and the instance can take advantage of more disk space without having to be rebooted or any downtime.

Besides increasing the size, we can attach new drives.

This means that storage management is much easier.

Virtual Networks

The host computer lives on one or more physical networks. The instances can be bridged onto that physical network.

The instance can also be protected behind a Network Address Translation (NAT) service. This gives complete outbound connectivity but requires extra configuration for inbound.

But an instance can be placed within a Virtual Private Cloud (VPC). A VPC provides the complete internet IP space to the instance (or instances).

This means that user A can have their instances on 192.168.100.x and user B can have their instances on 192.168.100.x with out collisions.

None of user A’s traffic appears in user B’s VPC.

VPCs can be connected to share with gateways. When this is done, all the VPCs must use non-overlapping subnets.

In other words, 192.168.100.1 on user A’s VPC cannot communicate with an instance on user B’s VPC at address 192.168.100.55.

But if user A agrees to use 192.169.100.x and user B agrees to use 192.168.99.x then the VPCs can be connected with a (virtual) router.

Using a VPC means that the user must use a gateway to talk to any other VPC or physical network. This places a NAT service in the gateway.

A physical address is assigned to the gateway, which forwards all traffic to one or more VPC IPs.

Conclusion

While every infrastructure manager (network manager) needs to know their VM Manager. They all work in similar ways. If you know the basics, the rest is just a matter of finding the correct button or command.

This stuff is easy once the infrastructure is set up.

Children’s Day at The Fort at No. 4

What is Children’s Day?

The Fort runs many events. During the summer season they will have an event almost every weekend. Sometimes it is a group “garrisoning” the fort, that is, they are staying in the fort, manning it as if it were the 1750s. Other times the event is only during standard hours. In still other times, the event attendees stay in an encampment outside the palisade.

Since a major part of the fort’s goals is education, they have many events for schools, homeschooled children, and just children in general.

In the spring we have multiple school groups attend outside normal days we are open, but yesterday was an event for children of all ages to visit.

Manning The Fort

When everything is going well, we will have people in every building doing things, teaching as they do. My hiding place is the Joiner’s shop.

Ally mans Sartwell House, cooking up a storm, attracting every body to come visit.

It made my heart swell an extra size when I heard a group enter the fort and immediately head to Sartwell House, saying very loudly, “Ally’s cooking in Sartwell!”

I don’t get the same level of excitement, but I still have fun.

The Fort Is Coming Back to Life

In Johnny Cash’s video cover of Hurt there are a few brief glimpses of The House of Cash. By the time he made the video, the House of Cash was closed to the public.

That video is haunting, not only for the music but also for the visuals. That empty place which once was alive, thriving, a museum worth visiting.

When I started going to the Fort, it had that feeling of barely hanging on. The same 4 or 5 people were all there were.

Amber, Albert, and Bill were the people that I saw interpreting every time.

Then something amazing happened: more people showed up to interpret. More people were visiting. People that had stopped volunteering came back.

The Richards are there and many others whose names I can’t recall.

All of this because the leadership of the fort put their shoulder to the wheel and made it happen. While the Director doesn’t interpret, she does so much to drive the Fort into the future. Without her, I do not believe the Fort would still be viable.

Today we had over 50 children attend. They brought parents, grandparents, and friends with them. Every house was open with interpreters in the buildings. I was warned that we had three people that could handle the joinery which would allow me to do something else if I wanted.

The fort was alive with people. It was a wonderful feeling.

State of The Joinery

The first thing I noticed was that my wood chips were in the collection barrel, but that there were more chips and shavings. Others had been working in the shop. It wasn’t just me doing the old-timey thing; others were doing it as well.

The best part was that Bill and a volunteer had braced the lathe. They had also replaced the spacer blocks so the belt was tensioned better.

One of my self-imposed tasks for today was to apply a bit of TLC to the drive belt. What do you call it when a leather belt drinks nearly a cup of neatsfoot oil?

I call it thirsty. The belt looks and feels much better now. It should last for many more years.

Eric had also been doing stuff in the shop. He has done an incredible job of cleaning and organizing the shop. It looked like it was a shop ready for use. Thank you, Eric.

Dull Tools Everywhere

I came to the fort prepared to sharpen tools. I picked up a DMT extra course 8×3 diamond plate. Think 220 grit. This is in addition to my existing 320-grit and 1200-grit diamond plates.

I decided to go with diamond plates instead of my oilstones is because I would rather not have to deal with oil. Diamond plates require no oil and no water. You can use water with them, but it is just as easy to wash them every so often.

My first tool was a 1/2 skew chisel for the lathe. I sharpened this by hand.

Two sides with no guide. I did an “okay” job. I saw the facet extend to the edge. I was able to feel the burr from one side and might have been feeling it on the other side.

When you have the facet touching the edge, it will roll a burr. If you can feel a burr across the cutting edge, this indicates that the facet reaches the edge across the entire edge.

I worked my way through the stones, then stropped the chisel. It looked pretty.

Better, when I used it to do a pairing cut, it just worked. I got real shavings.

From there I went to a small wooden coffin smoothing plane. It is called a coffin plane because of its shape.

The blade was in poor condition. I used my jig to establish the correct angle then started sharpening.

By the time I had the burr at 220-grit, I was pretty much finished. It took more effort than it should have. After stropping the edge, I was able to see that the blade had chips in it. It cut nicely but left small grooves in the work.

I should have done more work on the blade until the pits were gone. I choose to move to the next iron.

The third blade/iron was for the jack plane. It looked ok, but it wasn’t. After over an two hours at the stones, I still had 1/8″ of edge that was not turning a burr. That’s as far as I got. I didn’t have time or energy to do more.

I tested it straight off the 220-grit stone; it did an impressive job. I am pleased with myself. I’ll get it done next time.

I have many more irons, chisels, and other tools to sharpen. Once they have a good grind on them, it will be much easier to maintain.

What are the kids interested in?

Augers. We have a wall of augers. They are post 1750s design, but they are old timey so people think they are period. I had a dozen kids use an auger bit to make a hole in a piece of scrap wood.

The augers are not something I’m interested in. Why? Because I can’t find the old-school style my father had. I would rather not pay for a tool I don’t know how to sharpen and which might be of poor quality but high price.

Sometimes they are interested in the planes, but generally not. Maybe one out of a couple of dozen.

Working with the shaving horse is something they enjoy. Unfortunately, the drawknife we use needs to be sharpened. And somebody put a bevel on the back, which should be perfectly flat.

Then there is the lathe. The lathe is still my favorite. Because of the work Bill and his helper did, it was purring yesterday. I did have to adjust the tension, but the drive wheel axle had been adjusted and greased; it moved much better.

Some kids are interested in the lathe.

What did they seem most interested in?

Making fry bread with Ally. That was the winning demonstration, in my opinion.

A (nearly) working lathe!

After over a year of playing with the lathe, it is nearly fully functional. We need to remove or modify a bit of wrought iron that interferes with the treadle. Once that is done, I think it will be perfectly usable.

I managed to actually make some cuts while powering the lathe myself. That’s an impressive improvement.

I had a few “apprentices” working as the lathe motor. Two of them got the wheel spinning, and I was able to make real progress on rounding the shaft. A sharp chisel lets that happen.

I always start by showing them how it is done. Because I have practice, I can almost always get it going on the first try. As long as I only have to treadle I can do it without issue. Trying to make cuts while powering the lathe, not so much.

A young college-age man got the wheel going and was going long enough that I felt guilty. I was making excellent cuts and didn’t want to stop.

Normally, they tire long before I feel guilty; he beat me at that game. Except, as he walked back, he told me that if we had gone just another 2 minutes, he would have had to quit.

Conclusion

It is my home away from home. I love going to the Fort. I love interacting with people in that controlled environment. I love interacting with the kids with such a giant joy of learning.

We need to see you at the Fort. I think you would enjoy it.

P.S.

I have been working on a minimum viable product website for the Fort. With the new client, I’ve had to push that project to deal with the new client.

As soon as I knew, I had Ally inform the Fort people. They responded.

I spent the rest of the week feeling like shit for letting them down. I found out yesterday that they felt bad because they went back to the full project with a delivery in 2026.

I was lucky enough to be able to hug it out with the director. We are both more worried about the other’s feelings than we need to be.

She’s doing a wonderful job. I’m glad she is the director.