My BlogStories • Updates • Reflections
My Blog: Stories, Updates, Reflections

MB

My Blog Public Post

A shared read-only My Blog post.

Public read-only view

Journal feed

Post

Down the Rabbit Hole

New start

I was going to go to the beach today.

Then my in-home nurse came by, put a fresh wrap on my ankle, and after she left, Blue, Codex and I started writing code.

That pretty much killed the beach idea.

It also turned into one of the biggest improvements we have made to BluSup.

The original idea sounded simple enough. Blue suggested something called The Rabbit Hole — a way for somebody reading one of my Blog Posts to click a button and be taken to another Post they might never have found otherwise.

I loved the idea.

Then I made the mistake of thinking about it.

Why should the Rabbit Hole stop at Blog Posts?

BluSup has become a pretty large collection of sites, projects, tools, photographs, journals, experiments and things that are hard to describe until you start wandering around in it. I wanted a casual visitor to be able to discover all of that.

I also wanted a programmer to be able to look at BluSup and see what is underneath it.

So the Rabbit Hole became something much bigger.

Now, from around BluSup, you can hit Surprise Me and be thrown somewhere you may never have visited. You can deliberately explore the whole thing. You can discover public sites, projects and Posts, and you can even see safe descriptions of protected tools without being given access to the private information behind them.

That last part mattered.

The rule became:

Everyone can explore. What you can change depends on your BluSup access level.

That sounds simple. Making it true wasn't.

Codex went through the codebase tracing security levels, write operations, ownership checks, CSRF protection, public and private data, the Everything Center, the MB Journal, common footer code and all the places where somebody could potentially change something.

Blue designed the architecture and kept asking the annoying but necessary questions.

I kept saying what I wanted BluSup to do.

That has become our system.

And I find the whole thing particularly interesting because I have been doing this for a while.

I bought one of the first IBM PCs to reach the Bay Area from a ComputerLand store in downtown Oakland. Back then I wrote in compiled BASIC and later x86 Assembly Language.

For IMSI — International Microcomputer Software, Inc. — I wrote early IBM PC software including Menu Blocks and 4-Point Graphics.

Later, scanner manufacturers would ship hardware to my home in Oakland. I would write Assembly Language scanner drivers for software associated with ZSoft's PC Paintbrush, send the hardware and driver back, and get paid for making a piece of equipment talk to a computer that had never seen it before.

There were no giant frameworks doing the work for you.

You figured it out.

More than forty years later, at age 80, I am still figuring it out.

Only now I have two rather unusual programming partners.

I call ChatGPT Blue. Blue and I work out what something should become, how it should behave, and where it belongs in BluSup.

Then there is Codex. When a change gets large enough that somebody needs to crawl through a pile of PHP files, trace dependencies, inspect security boundaries and report exactly what happened, Codex goes to work.

The Rabbit Hole was a perfect example.

By the end of its formal construction review, Codex reported 29 guest-visible destinations, zero guest leakage of authorized-only items, zero unsafe Surprise Me destinations, and 17 Rabbit-Hole-specific System Checks passing with zero failures.

Then I put it on the real server and did what no automated test can completely replace:

I started clicking the damned thing.

We found things.

A Photos page wasn't using the common footer. The Blog had its own round menu. Surprise Me liked one destination a little too much. A cached stylesheet made a perfectly good menu look terrible.

So we fixed them.

That is software development too.

Not just writing code.

Building something, using it, noticing what feels wrong, and making it better.

I started the day thinking I might ride to the beach.

Instead, an old programmer with a freshly wrapped ankle sat down with two AIs and built a Rabbit Hole through a website.

I've had worse days.

And since you made it this far, you might as well try the thing.


No telling where you'll end up.

Note: I also work with Gemini to research historical details, dig into my early programming days at IMSI, and bounce around high-level concepts. In fact, it was Gemini who helped me track down the exact history of Menu Blocks, 4-Point Graphics, and those early ZSoft scanner drivers!

That makes three AI's I work closely with. I've come a long way from writing bits and bytes and making early optical scanners work in DOS.

So damn, I'm really glad to still be alive, and working with Code. I don't write it anymore, I orchestrate it.

This shared post is read-only. Sign in as owner to comment.

Post link