You probably already know how this post goes. Large blocks of the Western world celebrate Halloween, today, a holiday so ill-defined that a significant fraction of the people in your life probably did something related over the weekend or have something tonight, and few of their activities sound like anybody else’s. Long-time readers already know that I vastly prefer the Day of the Dead, starting tomorrow, with its clear purpose and more muted form of celebration. Others, especially with some Brazilian heritage, might prefer Saci Day, which…I don’t know, the Saci seem maybe a little problematic to me, but I could learn to love problematic things…

A saci

In any case, let’s see what tricks I needed to pull, to produce some code…no, I can’t do it. Even I have limits. But I do have some oddball items to talk about, this week, starting with food.

Beet/Quinoa Burgers

After noticing that a local supermarket sold beet burgers and quinoa burgers, I had the minor brainstorm that the two flavors might go well together and supplement each other structurally. I mostly winged this, so I don’t have much in terms of a recipe or any pictures (like anybody doesn’t know what a burger looks like), but the test burger came out with a texture that vaguely resembled ground meat, in that it had grainy bits in a viscous slurry. Flavor-wise, I’d compare it with refried beans, oddly, despite not putting anything bean-like in to it. And this makes a lot. I didn’t form more than one into patties, and so I can’t guess at servings, but I expect to get at least six more large burgers out of the deal. It didn’t seem like nearly that much when I looked at the ingredients.

Overall, I’d call it a success, despite the lack of seasoning.

For the broad strokes of the recipe, grab half a cup of quinoa, about three quarters of a pound of beets, a small onion, and some rolled oats. Roast the beets in the oven. When done, start cooking the quinoa on the stove; I used a skillet, which seems weird, except that I planned to use the skillet later, anyway.

While the quinoa cooks, mash—or dump into a running food processor to purée it, as I handled it—the beets and the peeled onion. When the root vegetables start looking fluid, add oats a teaspoon at a time, until the mixture tightens up to something that looks like it’ll hold a shape. Most likely, any food that absorbs water quickly would work instead of the oats. Flour, corn meal, and bread crumbs all come to mind of ingredients that “normal” home chefs might have more readily at hand.

As the quinoa finishes cooking, dump the beet mixture in, fold everything together, and warm it through. If you undercooked the beets, give them time to cook; a few minutes should work, since you’ll have small bits surrounded by hot material. A more ambitious person could work backwards from me, mixing the quinoa into the beet bowl, portioning the mix into patties, and baking or frying them, but I removed everything from the skillet, then only made a quick test burger to get a crust on the patty.

I topped mine with some spinach and feta cheese, though I did have the temptation to try a modified puttanesca sauce—think reducing the tomato so that you end up with more of a thick condiment than a sauce—on it, instead. Sauerkraut or kimchi would probably also go well, here.

I’d call the patty too delicate for a heavy sandwich roll—the patty broke up and squeezed out the sides—but it’d probably work fine with something more like a supermarket burger bun. Alternatively, I could see using the “batter” on an open-faced sandwich, no patty forming or delicacy required. I’ve admittedly had better burgers, but this definitely tasted like a good starting point and, as mentioned, I didn’t season anything or even think about rounding out the flavor, unless you count the onion as seasoning.

Buy Me a Coffee

I don’t know that anybody necessarily should care, but having gotten on the bandwagon of AI-generated art, at least for exploring ideas, I decided to collect the better results as I receive them. I carefully use the systems that don’t claim any copyright on the results, and try to keep away from topics that would likely have serious copyright entanglements, so I feel reasonably safe to share them, at least with subscribers. And some of them give so many “credits” per day that I can’t keep up, even on days when I have interesting-to-me ideas.

For two bucks per month or more, you can see public domain superheroes coming from different genres—if the network can identify the name—alternate “bros on Twitter freak out over Lizzo playing an unexpected instrument once owned by a United States President” stories, some science fiction, and a few oddball ideas.

A famous U.S. President making music with explosions

I’ll slip in a few other previews in the gallery, so that people know what I want to get them into. For yesterday’s post on fear in politics and the media, for example, I posted two generated images that I considered for the heading, making them public. I’ll make any post-specific ideas public…if I don’t dislike them.

As I write this, I don’t seriously expect to make direct use of many generated images. Similar to my concerns about GitHub Copilot, I worry about the copyright entanglements of these sorts of systems, though less so, since visual art does have strong tradition of borrowing ideas and styles. For example, we don’t ask computer science students to meticulously copy the source code to JCL or something as part of their education, whereas even I had a junior high school art class—if I remember the bureaucratic side correctly—that spent at least a week restoring the painted dots on a mural of George Seurat’s Un dimanche après-midi à l’Île de la Grande Jatte in a hallway.

A study for "Un dimanche après-midi à l'Île de la Grande Jatte"

To summarize, then, I may start using the occasional generated image for a header or to illustrate a story, if the idea comes out significantly better than whatever I can find available under a compatible license, but expect them to more likely appear in the gallery than anywhere else, if you enjoy that sort of thing.

Also, Hire Me, I Guess

Oh, I actually forgot about the other update over there: In response to a reader request, you can now hire me for an hour over video chat, if you need short-term help with something, want me to focus on something specific, or otherwise want to talk.

I call that cost “frustration pricing,” as in the person off the street needs to pay more for the right to annoy me over the longer term. When I do contracting work, I use a similar rate to cover my salary, benefits that I’ll lack as a non-employee, the instability of short-term work, and a surcharge for needing to learn a new lousy corporate environment. People with interesting work, special financial constraints, a pre-existing relationship, significantly longer engagements, or something along those lines should skip that and pitch the project to me directly, and I’ll either reject the pitch as not for me, or quote a price that reflects the strain I actually expect…

The Soft Sales Pitch

I consider people contributing money or hiring me as a “nice to have.” If you can’t swing it, don’t worry about it. If you don’t get a couple of dollars of enjoyment out of the blog per month…well, you probably didn’t make it this far into the post, so let’s ignore you.

However, if you do have the ability and the inclination to contribute to this project, but I haven’t convinced you yet, look at it this way: More money here means less corporate work that I need to take. And that gives me more time to put into public work. If you want more Sunday blog posts, fiction, and—I hope—new things that I haven’t done before but have planned, every dollar contributed increases the speed at which all those things happen.

Members also get previews of—and opportunities to comment on—what I write for the newsletter and, when I eventually have something to sell, members will get them at a significant discount, almost certainly 100% for any digital products, in that I’ll just post them there.

Chasing Phantoms

GitHub - jcolag/ChasingPhantomsPossibly-entertaining HTML/Javascript game. Contribute to jcolag/ChasingPhantoms development by creating an account on GitHub.

Maybe appropriate for Halloween, I continued the process of cleaning up this sloppy pile of code and its phantoms. 👻

You’ll now no longer see those silly banner comments that—as I may have mentioned—I don’t remember ever using on any project, and don’t know what purpose they would have served here. It wouldn’t surprise me to find out that I used a tiny project like this to experiment with a new coding style, but the actual intent remains a mystery to me.

The code also no longer allocates variables with the old-style var keyword, instead using let or const, depending on the needs of that particular value.

Last week, I mentioned the possibility of trying to untangle the game from its ancient version of jQuery, since JavaScript’s animation can surely handle this sort of thing. In some local experiments, I had some initial successes, but once I started trying to appropriately simulate the .fadeTo()-type methods, the animation no longer worked properly. In particular, the target box doesn’t appear to move around its arc, which makes it impossible to deduce where to find the box next, spoiling the minimal game.


GitHub - jcolag/background-generatorCPREP: A simple web application to provide semi-believable background details for fictional characters - GitHub - jcolag/background-generator: CPREP: A simple web application to provide semi-believ...

I have finally started taking the “conversion” of CPREP semi-seriously, which I consider somewhat good news.

As associated bad news, I present the case that this starts out as painfully tedious work, going through a pre-generated file line-by-line to identify changing text and wrapping it with a span element that has its own id attribute. Without that work, nothing else can change.

Since I believe that I’ve finished the first pass on that, I’ve also started the tedious process of loading all the required data files asynchronously, but also gate-keeping, so that we don’t progress without all the files ready.


I’ll continue with CPREP, for the moment, though I feel like I’ll regret that as I start trying to work with NPM modules…

Credits: The header image borrows from saci by a., made available under the terms of the Creative Commons Attribution 2.0 Generic license. You can find more on Seurat’s famous painting at the Metropolitan Museum of Art, where I believe that the study of the painting shown above currently sits on display.