A blog about everything, by Jack Baty

I was just able to log into Flickr with my normal email address. No longer requiring Yahoo is a welcome, long-awaited change.

Jessica had dinner with me last night. She’s fun.

Jessica at Shot'sJessica at Shot's

These photos aren’t for you - Missy Mwac

Missy Mwac

Actually, I think more about the photos we DON’T take…all those precious images that are missed because of a whole host of reasons:

I want to lose weight first.”
“I don’t like the way I look in pictures.”
“Oh, just photograph the kids.”
“I’ll get around to it later.”

And the truth is, none of those excuses matter, because these pictures you are taking, these photographs you are printing, they aren’t for YOU: they are for your kids…and their kids…and their kids…and their kids….

She’s right

I’ve spent the last week or so trying to quit Emacs again and it won’t stick…again. Org-mode is crack.

Luminar Flex just showed up in SetApp.

Should I keep a separate blog for microblog posts? Should I combine the microblog and main blog? I doubt I will ever be able to settle this internal debate. Currently, I’m in combined” mode.

I can’t think of anything less productive than configuring Lotus Agenda, but it’s fun! I actually used it for real in 2014.

It looks like the next iteration of nvAlt (or something like it) may actually be happening. Code name, nvUltra. Go Brett (and Fletcher)!

Creative and productive people: I have something to say, what are the best tools to help me say it?”

Me: I have some awesome tools, what should I say with them?”

This is backwards.

Tinderbox meal log badges

I track meals in my Tinderbox daybook, and record a Quality” score for each meal; Low, Medium, or High. I like each entry to display an icon ($Badge) based on the quality value.

To do this, I have an Agent (named Set Quality Badge”) which collects meal entries with no assigned $Badge value and assigns one. Here’s agent query…

$Prototype=="protoMealLogEntry" & $Badge==""

Until recently, I’ve been using a set of If statements1 in the Agent query to set the value for $Badge, like this:

if ($Quality=="High") {$Badge="🥇"};
if ($Quality=="Medium") {$Badge="🥈"};
if ($Quality=="Low") {$Badge="🥉"};

Today I learned that Tinderbox has Look-up tables, which act as associative arrays.

Look-up tables seem like a better approach, so I added a new user attribute, QualityBadgeList” (of type set”), then added the following $QualityBadgeList value to the Set Quality Badge” agent:

High:🥇;Medium:🥈;Low:🥉”

The agent now uses the look-up table to set the badge…

$Badge=$QualityBadgeList("Set Quality Badge").at($Quality);

This is likely faster and will definitely be easier to maintain.


  1. Tinderbox doesn’t have a Case: statement.↩︎