Tinderbox Meetup Sunday 24 Sept. Video: Catchup and Working with Dictionaries

Tinderbox Meetup Sunday 24 Sept. Video: Catchup and Working with Dictionaries

Level Intermediate
Published Date 9/24/23
Revision Date 9/29/23
Revision 2
Revision Note Update Dictionary Status demo to include a conditional to match the default pair in the event there is no lookup match
Type Meetup
Tags 5Cs, 5Cs Learning and Knowledge Management, Badges, CKM, CODE Method, Collabrative Knowledge Management, Color, Conditionals, Dictionaries, Flags, NameStrike, PARA Method, PKM, Personal Knowledge Management, Second Brain, Setting a Note Status, Strike Through, Tiago Forte, Tinderbox, Tips & Tricks
Video Length 01:41:02
URL YouTube
Example Files TBX Meetup 24SEPT23 Look up Age from Name.tbx (118.8 KB) TBX Meetup 24SEPT23 Dictionary StatusR2.tbx (332.6 KB) Demo - build state color lookup 4.tbx (283.7 KB)
Chat chat.txt (4.7 KB)
TBX Version 9.6
Instructor Michael Becker

In this Tinderbox meet Detlef gave an update on his external code project, Art reviewed Tiago Forte’s second brain, and Becker made a valiant attempt to review the use of conditionals dictionaries.


Becker reviewed the use if(condition){this}else{that} conditions for setting a note’s visualization based on the value in an attribute $Status. For instance, we explore, based on the value of $Status, changing the color of a note (i.e., $Color), setting a flag (i.e., $Flags), or the value of $NameStrike (a.k.a. strike through).

We discussed that conditions are fine for simple state changes; however, if moderately complex or complex state changes are needed, the logic of conditions or nest conditions can quickly become unwieldily. They are fine to use, but there is an alternative approach, i.e., dictionaries.


We explored dictionaries. The Tinderbox dictionary attribute is a way to set up a key-value pair relationship. For example, you could use a dictionary to look up,

  • Ages, “Michael:54;Bruce:35;Pat:22”; if you call the key-value pair Michael, TBX would return 54.
  • Exchange rates, “USD:1.00;GBP:1.75”

In today’s meeting, we reviewed how to

  • Manual and dynamically (with collect()) to create a dictionary
  • Retrieve key-value pairs, including discrete items and dictionary lists

How to watch this meeting

We recommend that you go from the start to the 58th minute, then jump to 1:23 to the end, and then go back to the 58th minute. This may help you better understand dictionaries. At the 58th minute, Becker jumped into the deep end and started by trying to explain a complex dynamic dictionary list function to set the state of multiple attributes (i.e., $Color, $Flags, $NameStrike) from one dictionary lookup. It became self-evident that the audience, politely, was getting lost because the basic fundamentals and examples of dictionaries were not understood (also, Becker was getting mixed up between the sample file he had created with @mwra during the week and the live recreation of the file during the meetup).

Once we realized that people were getting lost, at the 1:23 point, we jumped way back to dictionary basics; once this was covered, we then circled back to the more complex example.

By the end of the meetup, we had a comprehensive review of dictionaries, and much was learned (albeit with a bit of a disjoined process).

Tips & Tricks

  • Copying and editing prototypes
  • Re-inheriting values from prototypes


Please comment

Please help with the development of future sessions by answering the three questions below.

  • What were your top 2~3 key takeaways from this lesson?
  • What do you want to learn next? Learn more about?
  • What exercises would help reinforce your learning?
1 Like