Recording the weather in Tinderbox

Each day I create a note called “Doing” in my Tinderbox daybook. This note is a dumping ground for little things I want to record during the day. I wanted to include the day’s weather, just for fun. Here’s how I did it.

First I had to find a way to grab the weather via command line. Turns out that Weather Underground has a nice API and Stephen Ramsay has created a little command-line application (written in Go) called wu

Once wu was installed I needed a way to call it and get the results into my Tinderbox “Doing” note. I used a Stamp for this. The Stamp uses Tinderbox’s “runCommand()” command to shell out to the terminal and run wu. It looks something like this…

Document Inspector Daybook

The simplest Stamp would have been this…


…but I fancied it up a little. The actual action text I ended up with was this…

$Text=$Text+"rr---- Weather: ------------------------------------------------rr" +

So to get the weather, I select “Doing” and choose “Get Weather” from the Stamps menu. The weather is then magically appended to whatever text is in the selected Note. Like this…


That was easy.

Recording the weather in Tinderbox

Day One to Tinderbox

Day One to Tinderbox

I’ve kept a Daybook using Tinderbox for years, and wish to continue doing so. The problem is I know that Day One exists and is really good at what it does. The conflict between smooth and easy entry using Day One and the comfort and flexibility of Tinderbox keeps me up at night. Well, not really, but it does cause me to waffle between the two.

I switched to Day One again a month ago and I really do love it. Day One automatically logs my location and the current weather, is always just a click away on either the iPhone or Mac, and is pretty to look at. The trouble is that I can’t to some of the nifty analytics that I do with Tinderbox. If only there were a way to use both!

I decided today that I’d find a way, and came up with something that, while not pretty, works.

Basically, I export the Day One entries to an OPML file and then drop that file onto my Tinderbox Daybook and run a couple of quick “stamps” to clean things up. Here’s an overview of how it works.

I originally wanted to process the native Day One export but found the file needed way too much manipulation if it was going to be useful to Tinderbox. I wanted an easy way to get dates, locations, and weather into Tinderbox attributes and not just as part of each note’s text. OPML seemed an obvious choise. I found Nathan Grigg’s dayone_export. It’s a python script that parses the Day One data file and generates an export file using a simple templating system (Jinja2). Day One Export didn’t come with an OPML template but using the Markdown example it was easy enough to create one. It looks like this…

The template file is saved locally (on my Mac) as ~/.dayone_export/default.opml.

To generate the OPML I run the following…

# dayone_export --output dayone-export.opml --format=opml --after 2014-04-01 ~/Path/To/Day\ One/Journal.dayone

Then I drop the output file (dayone-export.opml in this case) onto my open Tinderbox daybook document. Note that I included some additional attributes in the OPML template for things like Weather, etc. When importing, Tinderbox will use or create User Attributes matching each of them automatically. This gives me something easy to work with. Also note that I use the –after attribute, which will let me export regularly without dealing with duplicates.

To clean things up in Tinderbox, I apply the following “stamp” to each of the imported notes:


This stamp…

1. Copies the note’s Name to its Text

2. Changes the Name to only contain the first sentence

Then I just drag the notes into the proper dated container in Tinderbox and I’m done. Sure, it’s a little kludgy and probably prone to errors but at least now I can keep using both tools and enjoy the benefits of each.

It works, but I hope someone smarter than me comes up with something better one day.

Day One to Tinderbox

Making it easier

This site is was built using Tinderbox. I continue to find ways to improve the process so that publishing is as easy as I can make it. One thing I still didn’t like was getting images in the right place and linking them. So I fixed it.

First I added an “ArticleImage” attribute so I don’t have to type in the entire path for images links. I just type in the image’s filename and the Tinderbox export template figures out the rest.

That manages the lead image anyway, which is usually the only one.

That works well, but there was a little nagging thing remaining; opening the blog image folder in the Finder. It’s not like it’s actually difficult, and there are a number of quick solutions. For example, I could put the folder in the Finder sidebar or in the Dock. The trouble with those solutions is that those folders would always be in my way even when I’m not writing a blog post.

So I made it easier to get to the folder right from the Tinderbox document. I just added a “Stamp” which opens the folder in the Finder.

The Action for the Stamp is this:

runCommand("open /Users/myuser/Dropbox/")

Now I can select “Stamps->Open Image Folder” and up pops the Finder window. A small but useful tweak I think.

Making it easier

State of the System, 2014

I love reading about the tools other people use, so I thought I’d write down a few of the things I’m using these days.

It’s no secret that I like to tweak my “productivity system”. I don’t do it because I think I’ll actually become more productive, but because it’s fun to play with new things. Here are the things I am into now.





The Brain


The Brain


















I’ve been using Tinderbox every day for many years. I can’t imagine doing anything even remotely complex without it. Tinderbox is where I keep notes about everything. It’s my daybook, project log, CRM tool, call tracker, spark file, concept mapper, darkroom notebook, book log, and general outliner.

Although Tinderbox can be used as a simple outliner, and a damn good one, it excels at growing into whatever I need it to be. Some of it is just crazy complex and capable. I find it astonishing that more people like me (meaning geeky tweakers who love stretching the capabilities of software) don’t use Tinderbox. It’s not only immediately useful, but it’s also damn fun to play with.

I wish the Tinderbox (XML) file format was a standard. I long for a world in which I just pass my Tinderbox documents around.

The Brain

The fact that I have an app written in Java open on my Mac desktop all day every day is a testament to how much I like The Brain. I’ve tried to quit it, but nothing does a better job of managing everything. I put everything into my “brain”. Every discreet item I can think of is entered and linked to other relevant “thoughts” in The Brain. People, companies, projects, ideas, plans. Everything is linked together in a sensible and useful way. Navigating these links makes me better at finding and remembering just about anything.


If it’s an image, PDF, snippet, or other file that I want to file and find later, it goes into DEVONthink. Every receipt, invoice, or other piece of paper I come across gets scanned and imported. DEVONthink’s AI and classification engine makes quick work of digging though thousands of documents. It’s my records room and my library.


To do lists are easy to manage, yet I spend more time trying task management tools than anything else. My favorite way to keep a todo list is with a notebook and pen. In fact, this is how I manage all of my personal tasks. For work projects, pen and paper aren’t as useful. Currently, I’m back to using Taskwarrior. It’s a very capable command line program for dealing with as many tasks as you can throw at it. I love that it’s simple as it needs to be, but can be used in very complex ways. As much as I try, I never seem to give up on the terminal completely.


As good as Tinderbox is for managing and visualizing notes, nothing beats nvALT for quick and easy find and capture. I use nvALT as my inbox of sorts. It’s also where I keep things I need available in my iPhone or iPad. nvALT syncs nicely via Simplenote. Easy.


Ah BBEdit. The venerable yet still modern text editor. It’s not as hip or sexy as Sublime Text, nor as geeky and efficient as Vim, but I’ve become so accustomed to the way it does things that I always come back.

Other Stuff

I use a few other things of course.

  • MailMate is a wonderful email client that I re-discovered after Apple Mail was hosed on Mavericks. Love it.
  • Pandoc is how I create LaTeX, PDF, and Word documents from Markdown source (using BBEdit)
  • Twitterrific is how I both stay distracted and up to date with the universe
  • Slack is a fantastic new group chat app that I use to communicate with coworkers.

At some point I should probably write up how all this stuff fits together, but that’s all for now.

State of the System, 2014

Easier publishing of my Tinderbox blog

I sometimes forget that Tinderbox can do everything. I was shuffling some things around here today and that means repeatedly needing to push the changes out to the server. This normally consists of exporting the HTML out of Tinderbox and switching to Terminal to run rsync. I have a tiny shell script called “pushblog” which runs rsync with all of the correct switches, etc.

It dawned on my that I could run the pushblog script directly using Tinderbox’s “runCommand()”. I created a Stamp that looked like this…

Creating the Publish stamp

Then, whenever I want to sync my local site files to the server I just use Stamps->Publish.

Using the Publish stamp

No more switching to a terminal to run it via command line. It’s a small thing, but small things add up.

Easier publishing of my Tinderbox blog

Using Tinderbox to publish LaTeX documents

Every now and then I find myself fascinated with LaTeX even though I have no real need for it. I don’t write academic papers. I don’t need to represent complex mathematical equations. I don’t write long documents requiring references, figures, or any of the other things LaTeX is so good at. What I like most about LaTeX is the way it formats text. I also like the idea of leaving layout or design out of the document and focusing on content. No need to waste time “finger painting” my documents, and yet the output is beautiful.

The down side of LaTeX is complexity. Getting the broad strokes to work is easy, but when it comes time to make detailed changes things I quickly become lost. So I cheat by using Markdown in BBEdit, then converting the document to PDF using Pandoc. This works a treat if I’m always creating the same type of document, but I have a number of variations that I like to use, and what I ended up with is a mess of shell scripts and BBEdit macros all over the place. While it got me through, I thought I’d try some thing else.

My recent return to Blogging with Tinderbox had me digging into Tinderbox’s export templates more deeply than I’ve done before. It occurred to me that Tinderbox might also be suitable for creating LaTeX documents.

What I’ve done so far is create several Notes in Tinderbox to use as Templates while exporting content. These are comprised of LaTeX markup interspersed with content from the current Tinderbox Note. At its most basic, one of my templates looks like this:

\usepackage[top=2in, bottom=1.5in, left=1in, right=1in]{geometry}

Setting the above as the export Template for a Tinderbox Note will generate a complete LaTeX document by replacing the output markers (e.g. ^title^) with content from my current note. I can then typeset the output using whatever LaTeX tool is handy.

That in itself may not be enough to justify the effort, but when I add other attributes to a Note I can get fancy by using the export tools in Tinderbox to tweak things without having to have the LaTeX manual open all the time.

For example, you see that “^if($Draft)^” section? I use that so I don’t accidentally send a document I haven’t finished. “Draft” is a boolean attribute I added to Tinderbox. If Draft is checked (true) then the document is rendered with a “DRAFT” watermark over it, like so.


I’ve added other default attributes such as “Author” and “To” and “PublishDate” so that I can easily set them as part of a Tinderbox Note and have them included where appropriate in the LaTeX file and thus the final document.

Note Attributes

I have templates for Letter, Article, Memo, and Estimate so far. To determine which is used for a particular Note, I set the Export Template while exporting from Tinderbox.

Export Dialog

I’m already thinking of other document types and attributes that could be useful. Using Tinderbox as a publishing tool has provided an easy way to generate nicely-typeset versions of my most frequently used document types by simply writing as I normally would.

Using Tinderbox to publish LaTeX documents

Digital Recordkeeping

Keeping track of All the Things(™) isn’t that difficult. Or at least it shouldn’t be, but I find it nearly impossible.

The problem for me isn’t a lack of software, it’s the abundance of great software. Here is a list of software I’ve used to keep track of all the digital detritus in my life:

  • Circus Ponies Notebook
  • DEVONthink
  • Tinderbox
  • Yojimbo
  • Curio
  • Finder
  • Evernote
  • VoodooPad
  • Notational Velocity
  • Notes
  • TiddlyWiki

…and so on. It’s not that these all aren’t great, it’s that they all are great. I never want to give up any of them, so I try dividing things up so that I can use everything. That is a terrible idea.

While I love them all, I’ve whittled it down to 3 apps: Tinderbox, Evernote, and DEVONthink.

Tinderbox is my notebook. Evernote is my junk drawer. DEVONthink is my filing cabinet.

If I write something down, it goes into Tinderbox. Tinderbox is where things go that are, or may become, important. If I write it, it starts as a note in Tinderbox. My Daybook, reading notes, to-do list, everything; created using Tinderbox.

Evernote is for snipped images, web pages I want to revisit, inspirational quotes, and other things that need to be captured quickly. The “maybe” stuff goes there. Evernote is my junk drawer. I don’t organize, tag or otherwise mess with stuff in Evernote. I dump it in and forget about it.

DEVONthink is where I file things for long-term storage and retrieval. PDF manuals, scanned documents, archived notes, etc. DEVONthink has always handled everything I’ve thrown at it, and getting things in and out intact is easy. Its knack for finding connection between documents makes DEVONthink a great research tool.

I plan to stick with this setup for as long as I can. The one area I waffle is with Evernote. I hate that it is so difficult to get things out of Evernote in the same format as I put them in. If there’s ever a significant update to Yojimbo that includes reliable Mac-to-Mac sync I’m jumping on it.

Digital Recordkeeping

Blogging with Tinderbox

My interest in blogging varies with my mood. I go from digging deep and wanting complete control to just looking to type a few sentences and hit the Publish button. One thing that always returns is the desire to have a basic, static blog running on as simple a server as possible.

Years ago I published a blog using Tinderbox. It was a powerful and flexible tool, but ultimately I fell for the easy, instant gratification of other systems such as WordPress and Tumblr.

I still use Tinderbox for nearly every other form of note-taking that I do, so I thought I’d revisit the idea of using it to publish a blog. I spent a couple hours last night reacquainting myself with the extensive export system used by Tinderbox. What I still wish for is a built-in easy export mechanism. Something that would give me a basic set of templates that look finished but not necessarily designed. The built-in export in VoodooPad is a good example. Alas, there’s nothing quite that easy in Tinderbox, so I dug in and set out to make my own.

Eastgate offers a tool called “Flint” which will, after a number of initial steps, create a Tinderbox document that can be used to publish a basic blog. This works, but the output it generates is becoming a bit dated and it does more than I need, leaving me with something not quite suitable. Instead, I borrowed a few concepts from Flint and started from scratch otherwise.

I wanted a very basic but responsive design. I know a few people who are brilliant with CSS/HTML. I’m not one of them, so I started with HTML5 Boilerplate. The resulting HTML template is included as the “HTML page” note, to which I added some Tinderbox export codes, like so…

^children(/Templates/post) ^else^ ^include(this,/Templates/HTML item)^ ^endif^

Basically this outputs the current note’s text or a list of child notes if they exist. The child notes are from the Posts container and are formatted using the template “post”. It’s not as complicated as it sounds, really. The outline of the Tinderbox source document looks like this:

Tinderbox Blog Outline

That’s as far as I’ve gotten. All it takes is a press of Command-Shift-H (“Export as HTML…”) and the site is rendered, or “baked” as it’s sometimes called. I just FTP the entire exported site to my Linode VPS and here we are. I still need RSS feeds, a way to render archives, and some sort of fancy footer. Eventually there may be simple navigation or other widgets, but for now it’s good enough to publish, and I get to keep my notes in Tinderbox, where they belong.

Blogging with Tinderbox

Software Comfort Food

I find trying new software, reading manuals, and browsing release notes to be a perfectly fine way of enjoying a Saturday afternoon. It’s fun, but can lead to a certain amount of confusion. Where did I put that file? What should I use to edit this document?

Text editors are a good example. It used to be that, on a Mac, BBEdit was about the only decent choice. These days there are so many good editors it can lead to spending more time trying new tools than actually using them to get work (or whatever) done. I know, I’ve done this many times. It’s just that they’re all so good!

BBEdit, however, is the app that I return to when I just want to do stuff with text. Whether it’s writing this blog post, diff-ing files, writing code, or doing massive find/replace operations on huge files, it’s BBEdit that always works perfectly and does the right thing.

This makes BBEdit a bit like comfort food. There may be many other tasty dishes available, but when I’m just hungry and want something delicious, it’s the comfort food I return to.

Other software comfort foods for me are:

  • Tinderbox – I’ve written about Tinderbox many times. I use it for outlining, writing notes, journaling, concept mapping, and some publishing. There may be specific tools that do some of these better or faster, but Tinderbox does them all very well and in an application that I trust and love to use.
  • DEVONthink – Although Evernote has been rocking lately, and is pretty sexy, it’s got nothing on DEVONthink for long-term comfort. Evernote makes capture and sync easy, but DEVONthink does everything after that better. Also, Evernote makes getting my data out of it in one piece difficult, and that makes me especially uncomfortable.
  • NetNewsWire – Many new feed readers have cropped up recently. I’ve tried most of them, but I find none as solid and efficient as NetNewsWire.
  • OmniFocus – This one is trickier. Things app has gotten very good and can, for a while, feel like all I need. But I always seem to outgrow it and end up back in OmniFocus. It’s been like that for years, and the sense of relief I feel when loading up all my tasks back into OmniFocus suggests that it remains a comfort food.
  • Safari – Still my favorite browser. Does everything pretty well, nothing fancy.

So, while it’s fun to experiment with new things, most of the time I end up back with my software comfort foods.

Software Comfort Food