Developer Journal, Halloween š
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ā¦
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.
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.
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
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.
CPREP
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.
Next
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.
No webmentions were found.
By commenting, you agree to follow the blog's Code of Conduct and that your comment is released under the same license as the rest of the blog. Or do you not like comments sections? Continue the conversation in the #entropy-arbitrage chatroom on Matrix…
Tags: programming project devjournal recipe