The complete release log for the 🧠mark2 persona.
43 releases · Page 1 of 3
nikkigirl and I have but one minor chore to do today, and then......nadda. Not a care in the world. It's been awhile.
Well, other than I've got a lot of catching up to do, and I kinda wanna hack at this all day, which means I'll care, and then......shhhhhh, brain.
Once we got home and I stopped being lazy for a few minutes, cipher and I made a few changes around here. Simply stated, when you go to any given release (we are on 179 right now), it will provide a summary of all activity during any given release window. Click that last link or this link to see it in action.
I don't like how the dates are working right now, but that's a problem for another time.
Here's how the robot summarizes the work:
Shaolin Scroll releases now have standalone, database-driven detail pages at:
/mark2/shaolin-scrolls/[id]
Release windows are calculated by the database.
For completed releases:
For an in-progress release:
For the earliest release, the start is derived from the earliest meaningful activity available on or before that release.
Release details currently summarize:
Chronicle amendments are treated independently from original publication dates. An amendment to an older Chronicle can therefore appear in a newer release without reclassifying the Chronicle itself.
The implementation adds three reusable views:
dojo.v_shaolin_site_activitydojo.v_shaolin_release_windowdojo.v_shaolin_release_activityThese views normalize meaningful dated activity while excluding generic audit timestamps, authentication activity, migrations, and incidental row maintenance.
Historical release activity remains dynamic. Corrections and backfills to source data will automatically update the corresponding release detail.
The previous dialog architecture was removed, including:
ScrollDialoguseScrollDialogShared dialog primitives remain because other site features still use them.
Now that I've got the new PersonTag component installed and tags are now automatically taken care of, I updated the daily template generator to remove tags from the template. There's still some legacy code to keep supporting this tag method until I make my way through every blog as part of this clean-up, but we'll get there soon enough.
File this under things only cool to me.
Iterate.
Hey, another thing! Video game reviews!
As part of adding video game reviews, I took a beat to rip back through restaurant (table-schema) and local card shop (lcs) reviews, and created a unified approach to reviews. Theoretically, I can add music reviews next with minimal impacts to the codebase. Pretty big leap forward all things considered.
And, uh, the bot did this for me in an hour. I couldn't have done this by myself for weeks. Crazy how good this shit is getting.
Here's an example of the new props being passed to the ReleaseSection component:
<ReleaseSection
alterEgo="unclejimmy"
guestMage="bonnibel"
review={{
type: "save-point",
id: "mewgenics",
name: "Mewgenics",
rating: "9.5",
}}
>
blah, blah, blah
</ReleaseSection>If you look closely, you'll see the "type" for video games, is not video games, it's save-point. That's a shoutout to my favorite podcast of all time:
bonnibel and declan had an epic 46 podcast run that I'll never forget (might have been 47 or 48 if you factor in the "lost" episodes). I still own the domain name and perhaps hold out hope there's a trillion dollar idea inside here somewhere. If someone is going to ruin the world, it might as well be us.
One more story before we close out. When they were struggling to gain a foothold, I created a fake gmail account ([email protected] [no longer valid]), and emailed in some dumb question for that segment of the show. I don't recall what I said, but they didn't know it was me until well past the last episode of the podcast.
I love this dynamic duo and I listend to every second of all 46 episodes. I also got a co-worker at the time hooked as well. I'll do my part. 💖
You can still find remnants of and rip through all of the episodes if you know where to look.
Iterate.
As noted above, a new set of props was added to the ReleaseSection component. Besides the functionality that came with the section preceding this one, we also added a page to show all table schema visits, as well as a running list of any given establishment that we visit.
It's rough, minimum viable product stuff, but I'm starting to see the shape of some overall cleanup so these various props can be more centralized and efficient.
Iterate.
New today: the purple guest mage badge in the last section. Shouts to eeeeeeeemma once again. I look forward to building out this functionality as we go. I've got an idea for bonnibel next.
Iterate.
I added a new component called PersonTag that looks something like this:
<PersonTag tag="ron" />Now instead of having to italisize the tags I want to persist across my chronicles, I can use this component and it'll take care of both for me. This also greatly enhances my ability to do cool things with this data as we roll forward.
Besides deploying the new code, I've spent a good chunk of the day ripping through old content to update it with the new standard. I made good progress, but there's still a bunch to do. Back at that tomorrow.
Iterate.
Last night, I deployed my code, expected it to work just fine like it usually does when I get to that point, got in bed, and once I layed down, got an alert stating the deploy failed:
I did not get up to fix it.
The solution to the issue was to staticize the new table schema addition I made during the development of yesterday's chronicle. At least according to the robots. Guess we'll find out when I deploy again.
scroll amendment · 2026-02-23Well, the next deploy failed too.I just closed a task on my project plan, WU-79, which indicates this is an old ass idea I just picked up again. I'm up to 704 tasks generated, with 622 of those having been closed. I wonder how many of the open ideas are actually good ones anymore.
WU-79 was still a good idea apparently!
Anywho, I create my own supplies, including dividers. In this case when I first load a player into the tcdb app, I update or create a divider with that origin story.
As part of the birthday celebration, I created a new landing page for the birthday boi. Slowly, but surely, we are building out squad pages. Take a moment to check out bonnibel's page as well!
Next up, lulu. That one might will be a little bit.
Now that I've been adding more snapshot counts to these chronicles (see above), I decided to simplify this process quite a bit. First by extending some database functionality, and then mathing the blog boi tools to use it.
We went from this......
- <PersonTag displayName="shaquille o'neal"
tag="shaq" />, 149th ↗️ (178 cards)......to this......
- <TcdbSnapshot tag="shaq" />I still have to populate the same data behind the scenes, but now, much less manual. Simpler. Repeatabler.
The actual first thing I did today, regardless of its narrative arrival was talk to cipher about how the fundamentals of my repo look. I've referenced a few environmental issues that have started to creep in and I want to be sure the base repo isn't hiding any long term pain points. Fret not, the robot assures me that most of our vibe coded work is on solid ground. That's a bit like asking how my kids grades are at any given moment - you still better double check is what I'm saying.
First step on today's journey, a new component: .
I'm starting to turn the chronicles gay, beginning with asking cipher (my robot programmer) to run through the code and audit the repo to better understand how to implement the ideas that follow.
Here's what happened next:
Boy, I better pick up the pace or it won't be her birthday anymore by the time I send it.
nikkigirl has seen me staring off into outer space for just about as long as I've been doing it. I can completely check out of reality, stare off into space, work a problem for hours if uninterrupted, and occasionally, bark if those thoughts are interrupted. I can be cold, calculating, and completely devoid of warmth. I will look right through you to see my end goal if I need to.
Here's where I acknowledge that I owe her the rest of my life, simply because of the life I've already lived. I get emotional thinking about the hurt of it all.
I bought acrylic paint markers during the peak of some creativity phase and ended up not liking them all that much. They are cool for what they are, but for whatever reason, it's not the vibe for me. Instead, I found a way to use them in a project.
Reduce. Reuse. Recycle. Re-lol
Iterate.
To wrap up the day, I also extended the new tournament functionality I built for my chronicles, and added a volleyball tournament route. This allows me to pass a tournament ID (there's only one for now), and return all of the results found in my blog for any given tournament.
Additionally, that was extended to summarize all tournaments, so they can easily be added to jeff meff's page as well:
We'll keep close tabs on the birthday boi there.
Lastly, my environment was borked again today. This remains flaky, inconsistent, and I'm getting closer and closer to going full Linux. That said, the robot brought me back super quickly this time. I think Codex 5.3 is paying off already.
Point being, I documented this approach because of how awesomesauce it was.
Iterate.
Iterate.
Out of respect for the homie who does most of the work around here, I might let them chime in every once in awhile. Let's test it out by asking for an explanation of the new Epic I just created to bring some needed stability to the repo. I type something like this......
<CipherSays>Sample text</CipherSays>....and cipher comes to life......
This work strengthens tullyelly.com so it is safer, easier to maintain, and less likely to run into hidden problems later. The focus is on security, better guardrails, cleaner database habits, safer growth, and simpler documentation for future work.
Coolio, that worked. On to the next.
Basically, every hash tag you see at the end of each section will now take on random color of the rainbow every time a page is visited. Sometimes hash tags have a border, such as the one we are in now, sometimes the border is only a line separator between sections, and sometimes sections have no borders at all.
There's reasons for that which would take too long to explain, most of which would only make sense to me anyway, and I'm not quite sure whether or not the alter egos agree that the current implementation is good enough. Wait, what?
lulu translation: Things are subject to change. Specifically with how borders & hashtags display.
Let's get back to the gay of it all. If you aren't familiar with what a rainbow looks like, here's a reminder:
Oops, you are gay now. That rainbow was a coded message that makes you do some gay ass shit. Not only are the chronicles gay now, so are you. I told you this was gay before you even got here so I will be accepting no responsibility for the decisions that landed you here, covered in so much gay.
They turned you gay. ⬅️ double entendre
Focus. Continuing to how these chronicles got so gay......
First, let's talk about randomness. If you refresh this page a few times you will see that the border & hashtag color will change (most of the time) to a random color on our beautiful spectrum.
Next, let's talk about random structure. The first thing the new color scheme does is randomly generate as many colors as there are sections. If you check out yesterday's page, there are 4 sections, and the first thing that chronicle does is generate 4 of the 7 colors of the rainbow. Then, no matter which 4 colors are generated, it orders them in the sequence of a classic rainbow.
Because of this, the first hashtag on yesterday's page (no border: remember, reasons) is more likely than not to be red. If you refresh enough times though, it ain't.
Random structure.
Lastly, let's talk about any pages that have 7+ sections. If there are enough sections on a chronicle to use the full spectrum, the page will use the full rainbow in order, no matter how many sections may follow. Interestingly, there's only one chronicle that meets this criteria. It's super gay apparently.
Wanna see it? Jump Around the site.
If you were kind enough to click on that link, you are super gay now too. Dudes, you are really bad at falling for my woke agenda.
Or good at it.
Release shaolin 2.7.0 – 2026-03 planned: chronicles are gay is a minor one. 2.7.0. Let's interrogate the release structure for those new to the party:
[major].[minor].[patch]
Incrementing from a 2 to a 3 would require some sort of MAJOR change that is either large enough, or breaks some sort of backwards compatibility......which, the definition of this doesn't actually matter. This will always stay a 2. 2 is my favorite number, I have strong feelings about that, and because of those feelings - this will always stay a 2.
The end.
With this release we incremented from 6 to 7. 'Round these parts, a change in the MINOR number is quite MAJOR. There were 48 releases in 6 before we incremented to 7.
Why did we increment? This past week I made a few changes to the ReleaseSection component to help address an idea that began to sprawl. The idea was great (humble brag) and the exectution was scattershot. It's also possible the idea was scattershot (imposter syndrome) and the exectution was shit.
Point being, everything is leaps and bounds more efficient, scalable, and ready for what's next. Time to go from from 6 to 7.

There were 1319 commits leading up to this page and for the last 150(ish) days, I have added to this site 148(ish) of them. I'm currently on Take 2; Day 45 of my attempt to blog 365 days in a row. That's a level of dedication that I am proud of.
When the preceding number increments or resets, this number resets as well. This is the level that most things are released to and the day-to-day updates applied within shaolin scrolls live here.
Before we close up shop, let's take a look at some of the "bigger" things that have been added between 2.6.0 and 2.7.0.
There's a little bit of something there for everyone. Or me at least, I suppose.
Click through to see what I've been up to lately. 😎
As we finally do close up shop, let's take a look at some of the engagement number over the past 30 days:
The nice thing about these numbers is that I didn't do any full, all channels, engagement farming. I might ping some groups or individuals here and there, but I didn't send messages out system wide.
With this minor release (2.7.0) though, I will go system wide and we'll check back next week to see what my full-network-clickbait-re-up can produce. Pandemic! I got that pandemic!
Iterate.
She's stronger than I am.
Minor update to the codebase to close us out. I'm not thrilled with some of the photo features, and a quickie was addressed today. Images are now 35% smaller on desktop.
Roughly 20% of my readers will even notice.
Iterate.
As part of the general reassessment that is all things life, I've started to go back through the chronicles, starting at day 1. Every once in awhile, looking back at the work helps to keep me centered. In this case, I don't like nearly any of it, I'd imagine most of it bores you, and I'm also quite proud of all of it.
A few things of note:
Oh, and I saw that again. Now, so did you.
For the past few months my development environment has been incredibly flakey again. I'm building out this thing, it sprawls, I understand it, but not enough to know where I might be burning myself short or long term. It hasn't been much more than a minor nuisance and yet with a bit of extra time on this flight, we took a crack at fixing it.
It sure seems like the homie cipher fixed the issue in a few minutes. I shoulda done so sooner it turns out......also, I haven't tested it yet and I worry about bricking my environment because I've done so in the past.
......testing......
It appears to be a success, along with an unexpected behavior change, robot tells me it knows how to fix that too......testing......
Dudes, plane landed.
Well, not this plane, it's still in the air. You get the point.
I shoulda done this a long time ago. Sometimes I worry that a small problem turns into a big problem so I'm okay eating a bunch of minor inconveniences - until I'm not.
Lesson learned (again), trust the bots.
Next fix up for bid? The individual squad pages are not showing their cartoons appropriately. It works in dev, but not prod. The bot tells me he's got this once again.
This one I cannot test without deploying to production so if you see any of these pages with a busted image, hit me up in the comments:
As noted earlier in the chronicles adventure, the bonnibel + jeff meff pages hold some customized content and all of these pages will need to be standardized.
Let's assume these photos are fixed in production for now though.
If you check out the eeeeeeeemma page and compare the image to the above, you'll see the original inspiration for the sites logo. I haven't been quite able to recapture that same vibe in the other cartoon images of everyone else, but perhaps a one-of-one is deserved here.
Probably my favorite photo ever BTW. There's a non-zero chance she's listening to some wu-tang clan in that image.
Last little bit of the night. As nikkigirl sat next to me and saw my workflow with the robots, I asked her what feature she would like added to the site. She asked for two things:
Well, #1 might actually cost me money at some point, so #2 it is! Click on nikkigirl and let me know if the cartoon shows up! Two birds, one stone perhaps.
While waiting for the bot to bot, we did a touch of cleanup on isle tags. There are currently 140 unique tags throughout the site, and I often forget which dumb idea I latched onto first rather than just being straightforward with it, resulting in duplicate tags. There is definitely still bad data inside that 140 somewhere, but right now it's not obvious enough to get fixed today.
Combining stream of thought with the difficulty of remembering what I've done before, without taking shortcuts, is part of the fun of this for me. If I can pull today's idea out of thin air and then attach it to yesterday's idea, independently & naturally, I might find myself approaching something you could consider contented.
Mind keeps wandering......here's the tags that were cleaned up and consolidated:
All three of those things fall into different "types" of tags and don't be surprised if those types get interrogated further in the near future.
Back to programming. Here's today's stuff that was stuffed:
Not bad for a days work.
Iterate.