Brother of Son of Yojimbo

So when we last left the exciting adventure of developing yet another Markdown notes app, I had just proudly stated that I had functioning web and Mac desktop versions running. This was true. But it was also stupid1This should not be surprising for long-term listeners..

I used AI to build the app. Sadly, I used the wrong AI. I should have realized this last Fall, but fate, locusts, and the prejudices of others2And stupidity, of course. prevented me from fully understanding what I had seen. The AI I brought to the dance was Lovable. Lovable in a technical and corporate sense, and reasonably lovable in a lived experience manner as well. Friendly, obsequious, and eager-to-please. Picked because it was just right there and not because I had researched and decided that it was the best way to go. Lovable was aimed at producing web apps. Aimed rather well, so much so that my attempts to build a Mac and iPhone app were almost certainly doomed from the start.

Building the Mac app was painful, Electron is a poor choice even though somewhat sensible given my initial thought that the app should be thoroughly cross-platform. Building the iPhone version was painful and impossible. So when I resumed work, some less dim part of my mind was on the lookout for a way to avoid the pain.

That impulse led to actual research3Doom scrolling reddit, and I came up with a new plan: use better AI that are suited to my purposes. Granted, I should have been able to deduce that plan from first principles. But my intensive research also revealed a cunning trick. Use two AIs, and pit them against each other.

The results were revelatory. I kicked Lovable to the curb and signed up with Claude code and ChatGPT's codex. Claude has a slight edge on the leader boards for coding excellence, and so became the responsible lead junior developer in charge of plans, architecture and coding. Codex was relegated to the snarky, jealous junior-junior developer in charge of reviewing everything Claude does and eagerly pointing out the flaws.

Codex criticisms are fed back into Claude's interface, and the two of them working together are remarkably on point, focused, non-hallucinatory, and effective. Since Monday it's been4Looks at watch one work week. I've not of course spent 40 hours on this because I have a completely different methodology for pretending to work at my real job. Maybe perhaps twenty hours all up.

In those 20 hours I've completely started over, trashing the original project entirely. The new app is written in a completely different programming language that I don't know. It's Mac and iOS native. It has iCloud sync. It pushes notes to git repos. It tags, it filters, it sorts, and it searches. It has syntax highlighting in the edit window.

It's everything I dreamed of, and it's very nearly complete.

I estimate that using two premier LLMs at once is about a hundred times more effective that using one modest one all by its lonesome. This new method5To me, admittedly is generating some pretty solid, unit-tested code.

Image
Aimo desktop app

The desktop version. See the pretty colors!

There's versions for the iPad and iPhone, but I'm too lazy to screenshot them. Frankly, I couldn't be more pleased with myself right now. Well, I of course I could, but it would take some effort.

Oh, and one more thing - the brother of the son of Yojimbo got a name, too: Aimo. Named after a rather interesting Finnish soldier whose name became a byword for too much of a thing.

Posted by Buckethead Buckethead on   |   § 0

The Return of Subcommandante Mumbles

Only this time, it's been merely two months since the last post, well shy of the record of over a decade. You can go read the latest thrilling installment of Episode 2 of Subcommandante Mumbles vs. The Dinosaur Nazis over at veilwar.com. Here's a little taste:

His bike weaved sharply back and forth as he braked madly to avoid the wreckage of #2 mustache. I flailed through the air, arms windmilling. For a fraction of a second I tried to tuck into a ball, but realized it just wasn't going to happen. I gave up and kept flying, thrashing all the while like a retard superman.

First one's always free.

Posted by Buckethead Buckethead on   |   § 0

Son of Yojimbo

Bare Bones Software, makers of renowned text editor that doesn't suck BBEdit, have a side project called Yojimbo. It gets occasional updates, but doesn't seem to have ever been a primary, or even really secondary focus for them. I imagine that it exists solely to scratch a particular itch that one of the developers had - a need for a useful note-taking and information-organizing tool that worked just the way they wanted it to. And since it does whatever it was that that developer needed it to do, it doesn't get much of a push. The itch, it got scratched.

I love Yojimbo. Unlike every other note taking tool I've ever used or even tried, it works with my mind rather than against it. I could use it for project notes and actually find the notes that I had noted. I could organize world-building and background and characters for novels. And I could store random but crucial info like serial numbers and passwords, and then find them again when I needed them. The key to this utility is the tagging system. Yojimbo lets you tag things! That by itself is not very remarkable1in fact, it's entirely unremarkable given tagging's ubiquity. The clever bit isn't the tagging, it's the UI that allows you to use tags rapidly, easily, and purposefully to get to the information you want, and move aside the information you don't. 

Using the list of tags it only takes a couple clicks to narrow the visible pool of notes to a dozen or less, and from there, you can - nearly all the time - just visually grep which note is the note you need2It also has a really efficient normal search.

Image
original yojimbo

Here's Yojimbo being cute.

Despite Yojimbo's manifest awesomeness, I've only ever successfully evangelized one person: Mrs. Buckethead; who now happily records all her recipes and homesteading notes in it. 

I recommend it highly. Two thumbs up. But I don't use it anymore. 

But Buckethead, you may ask, "If Yojimbo is 20 pounds of awesome in a ten pound sack, why on earth aren't you using it?"  Two main reasons: syncing and storage. While Bare Bones does offer an iPad companion app, perversely, it is read-only. And there is no iPhone app at all. So even though I have all this note-taking and finding power on my laptop, I do not have any means to view, edit, or add new notes from my phone. Now, I may only get a few ideas a year, but odds are, at least some of them are happening when all I have to hand is my phone. So I've come up with clumsy workarounds to take notes on the phone and then manually move them to where I need them.

Which brings up the second issue. I store most of my project notes in git. Software, novels, games, home improvement. It's a secure backup, It automatically keeps track of versions and can merge changes from multiple users. But there's not a single note-taking app that integrates even a little bit with git. Despite the fact that any project beyond the most minimal can benefit from some note-taking and recording of supporting info. I want to be able to have my notes live in a git-versioned directory. Ideally, many of them, one per project.

I'm not seeing any hint that Yojimbo will ever be updated to scratch my itches3Sad, but fair. Their itches are not my itches, nor should they be in a literal or metaphorical sense.. Yet, I miss my Yojimbo notes. 

Enter the LLM. I've been experimenting, rather heavily now, on using "AI" to build tools that I don't have the time to develop on my own. Top on my list4After adding sidenotes to perfidy, of course. is a Yojimbo replacement. And now I have a functional Yojimbo replacement. Not complete, but it is working.

What I wanted in my own, private Yojimbo:

  • Markdown support
  • Desktop, web, and phone versions
  • Sync between desktop, web, and mobile versions
  • Local data storage in a git-amenable and platform-agnostic format
  • Import from Yojimbo
  • Export in readable formats
  • Share notes via standard OS tools

Right now, I have the web version and the Mac desktop version going, and changes automatically sync between them. I can import my old Yojimbo notes. I can share notes. Still need to build the bulk export function, and fiddle with the local storage. But... it's alive and that's a pretty good feeling. Here's a shot of the current version:

Image
Son of Yojimbo

Went with a more modern three-pane layout. And look! Dark mode support.

In our next exciting episode, technical details and crazy ideas.

Posted by Buckethead Buckethead on   |   § 0

Epstein Killed Cold Fusion

I am no longer in the habit of rendering witty, sharp, and on-target responses to rapidly changing world scene. A generous way of looking at this would characterize my thoughts as measured, wise, and deep. A less gracious estimation would be that ol' Buckethead over there is just old. 

So though there is a manifest and staggeringly deep well of evil that lies, stinking and shimmering in the heat of its own decay in the middle of our civic affairs, involving as it does the high, the mighty, and the innocent, I am not going to comment on any of that. Instead, I am going to notice one thing that while certainly less mind-blastingly vile than pretty much any random page of the vast trove of DOJ-released Epstein documents, is perhaps weirder:

regarding cold fusion. i killed pons years ago

So claimed Epstein to Al Seckel in 2009.

Ok, first of all let's just have a big, hearty wtf. WTF, over?

We've been edging toward the Unified Field Conspiracy Theory of Everything for quite a while now. Epstein, JFK, hidden technology, the Jews, the deep state, ubiquitous surveillance, Mossad assassinations (which means more Jews), aliens and UFOs, everything you can shake a stick at, plus the stick1plus the Mormons!. Things that were so far outside the Overton window as to be beyond the event horizon of reasonable discourse are now regular topics of discussion. This is all, for lack of a more punchy term, really fucking weird to the relatively normal person I once was.

So here we have two seemingly completely separate tentacles of the uber-conspiracy reaching around and fondling each other. Epstein, as the seeming nexus of all evil - and remember, in 2009 the world still seemed pretty normal - was not only connecting British royalty, billionaires, politicians, and scientists with underage girls, he was taking time out from his busy schedule to kill cold fusion research.

Ah, cold fusion. We even talked about that here at the Ministry back in the before times. There's long been stories floating around that there's something there, there - that set ups along the lines of Pons' original experiment generate energy, but not in an easily reproducible way. The Navy had played with it, some Israelis, a dude in France who while he might have gotten some results behaved in the cagy, secretive manner of a crank. No one ever made any real breakthroughs, but then no one ever put a lot of money into figuring it out.

Is it another instance of dark forces2really dark forces, in this case burying technology that would have improved our lives? At this point given the revelations not just in the Epstein files but elsewhere, you almost have to bet on the conspiracy being right given that just about every conspiracy short of the flat earth has been.

It's a fucked up world, kinfolk.

Posted by Buckethead Buckethead on   |   § 0

EDog II: Electric Boogaloo

Well, I'm back, and just in time for World War III, it seems.

Hearing from Buckethead out of the blue was a welcome rekindling of an old friendship. I spent a lot of time blogging here, snarking, and shitposting before that was really a thing. Now everybody's doing that on Xwitter, or Bluesky, or Threads (my hangout of choice), or even CounterSocial (my other hangout of choice). Nevertheless, before there were Tumblrs and Substacks and everything else, there was Blogger, where I cut my eyeteeth on this type of stream-of-consciousness posting, and that led to an invitation to join the Ministry. And now, an invitation to rejoin it. There's just me and Buckethead now, but with luck, we may yet run down the old crew. And maybe even find a few new faces.

Image
we still steal the old way
Posted by EDog EDog on   |   § 1

Mr Subliminal vs The World

Behold, Rocket Propelled Games' very first game: Mr. Subliminal vs. The World.

A group of third-rate super villains try to take over a small mid-western town. What could go wrong? Everything.

CAN OUR VILLAINS WIN THE DAY?

Mr. Subliminal and his crew of almost-Super Villains have escaped from the Brunswick Medium-Max SuperPower Detention Facility. Nearby lies the peaceful city of Medina...

Years in prison have sharpened his RAGE. He has made ALLIES. He has crafted a CUNNING PLAN. Nothing will stop his inexorable rise to power. He will seize control of Medina...

WHAT DANGERS WILL THEY FACE?

The Mighty Man-Bee, nemesis of Mr. Subliminal, is on sabbatical at Dewey Beach. Who can possibly stop Mr Subliminal’s EVIL SCHEMES from reaching fruition?

The Mayor?
The Amish?
The High School Soccer Team?

Only you can find out!

Download the pdf version 0.3.2 of Mr. Subliminal vs. The World

Posted by Buckethead Buckethead on   |   § 1

The Revenge of Subcommandante Mumbles vs. The Dinosaur Nazis

Subcommandante Mumbles makes his epic return after a ten year hiatus. The original story is now available at Veil War, Episode 2 is completely written, finished, done and no longer incomplete. So that has now commenced to serializing. And, wonders truly never ceasing, an Episode 3 is in progress.

Here's the very first part of Episode 1kind of like Star Wars, this is a retro-inserted Episode for the title.:

Call me mumbles. Why, you ask? Because I fucking told you to.

I was humping up this hill in shitbagistan, heavy load and thin air. I could hear the cherry private wheezing behind me. Wanted to tell him to shut the fuck up, but it just wasn’t worth the effort.

I heard the soft, echoing tick of a rock bouncing down the hill somewhere ahead. I held up, and the cherry bounced right into the back of me. I strained my ears, but didn’t hear anything more. The air was clear and cold. The sere mountainsides were resplendent in a kaleidoscope of colors ranging from shit brown to shit brown. We were up about five hundred meters from the valley floor, and the observation post was two klicks ahead. On the same level, but we’d have to go up and down at least a 1000 meters to get there. God forbid the trail follow the contour lines or anything.

From here, the whole valley stretched out below. A piss-poor excuse for a river meandered down the middle of it, not worth more than a creek back home. Two villages anchored either end. The residents hated each other, the next valley over, us, and the Taliban in descending order of fucked-up homicidal rage. Hatfields and McCoys with burqas, boy-buggery and opium.

I sensed the cherry about to open his stupid whore mouth. “Shut up!” I hissed. Couldn’t hear anything. Fuck this for a joke, I thought. I waved our little relief column forward. There’d been no reports of enemy activity for most of a month. The last, our lieutenant had been pleased to report, was over a fortnight ago. Fuck him and his word-builder vocabulary cards.

The fucktards from the lead platoon who were now probably sleeping in the OP hadn’t reported anything either. But then, they’d have only noticed if the Mahdi snuck into their sleeping bag and started pissing in their mouths. Fucking 4th ID. I heard the ticking noise again. This time the cherry managed to avoid a collision when I stopped. The longer between contact, the worse it always is.

I waved Ramirez up the hill. If he got up just a little bit, he’d be able to see over the hump the trail turned around as it followed the slope. Me, I just waited and identified likely bits of cover for every conceivable line of attack.

“Fuck!”

The cry echoed out into the vast space between our ridge and fucking Siberia. Ramirez was running and sliding down the hill, kicking up dust and rocks. We all turned our heads and let the mini-spicalanche bounce off our body armor and helmets. Ramirez skidded to a stop. His eyes were wide in his tanned face, almost bugging out. He looked goddamned ridiculous.

“Given up on stealth, have we Ramirez?”

“No, sergeant. I mean, yes, sergeant.”

“Glad we cleared that up. Can I ask why came careening down the hill instead of using the fucking radio?”

That gave him pause. He pondered that for a good long while, in fact. The hamster in its exercise wheel slowed and coasted to a stop. Ramirez looked merely blank and stupid again instead of panicked, blank and stupid.

“Sergeant?”

“Ramirez, why did you yell, ‘fuck’ and come running down the hill?”

He screwed himself up. “Dinosaurs.”

“OK.” Why me? Why, why, why?

“Were they the big plant eatering fuckers or the ones with the big sharp teeth?”

“Uh… the teethy kind.”

“Did you get a count?”

“Eighteen of them, sergeant.”

Holy shit. He listened, bless his heart. “Were they armed?”

“Small arms and what looked like RPGs.”

***

You can buy the whole thing at Amazon.

Posted by Buckethead Buckethead on   |   § 0

Perfidy Random Field

The Ministry of Minor Perfidy Bureau of Retributive Software Development has caused to be created a new wonder: The Perfidy Random Field Module. Great was the suffering of the kobolds and gnomes laboring in the code mines to produce this gem of modern internet technology.

You can see this amazing tool just over there to the left, where it magically displays a different slogan every time you refresh the page. In a perfect world, this gimcrackery will distract you from the years-long gaps in posting that regularly occur here. Some day, we might even conceive of other uses for it.

The Random Field module is an extension of the Drupal CMS, that is, if you have a Drupal site you can install the module in the normal manner. Once installed, you can add a random field anywhere you'd normally be able to add a field - for example, to a node or block or paragraph. There are other means of accomplishing the display of random elements on a page in Drupal, but this one is pretty easy to use. On the random field configuration page, you can create any number of lists containing the elements you'd like to be randomized. You can even give those lists names! You can, miraculously, even have lists of imagessadly, though, there's no integration with the media or media library modules..

Then, when you create a new content item that has a random field attached to it, you merely select the list you'd like to useor no list at all, if that's how you want to roll.. The random field module will then quietly and competently take care of showing your users one randomly selected item from the list you picked. It even makes sure that you don't get the same one twice in row††which technically is a serious departure from actual randomness, but it feels more random..

You can find the random field module here on the Drupal site. Enjoy!

Posted by Buckethead Buckethead on   |   § 0

Perfidy Hidden Format Tips

The Ministry of Minor Perfidy's Bureau of Retributive Software Development has at no cost to you1but at great cost to the code-whittling php pixies delivered another magical tool, available to everyone on the internet2available in that anyone can see it on a webpage, but rather less available in the sense that only Drupal sites can make use of it. This new tool is Perfidy's special and custom Hidden Format Tips module.

The Hidden Format Tips module can be found here, and installed in the customary manner.

But wait, you ask! What does this amazing tool do? This tool has a singular purpose, to hide the format tips that appear below text input boxes on Drupal sites3you can see one at the bottom of this page, providing 1) you're viewing this post on its own page and 2) comments are not closed. These format tips are, indeed, useful at times - they tell your beloved readers what sorts of things they can put into the text box, avoiding frustration and anguish. However, these format tips are often lengthy, unwieldy, and not amenable to change. This module allows you to hide them behind a clickable link - revealing themselves only when they are useful.

But there is a second, secret and subsidiary purpose to the Hide Format Tips module - not only can you hide them, you can change them. On a per-format basis, you can edit the text that would normally appear as a format tip. You can make your own version of format tips, suited to your particular and unique idiom. Or put something else entirely in that space - commenting policies, political manifestos for your agrarian reform party, solutions to Fermat's Last Theorem, just anything at all!

And as an added bonus, you can also change the wording of the link to something closer to your heart's desire. What more could one reasonably ask forplease don't answer this question?

Posted by Buckethead Buckethead on   |   § 0