Theming Evernote

As I mentioned last week, I’ve been getting back into Evernote as an all-purpose database platform. However, there were still a few features that I missed from some of my favorite text editors: control over the color scheme, and a “distraction-free” full screen writing mode.

However, since Evernote is basically an HTML editor, I suspected there might be a way to style it. And sure enough, after poking around a bit, I found a CSS file which controls how the notes look. (And just the notes—I couldn’t find a way to style the sidebars.)

In less than hour (it would have much less if I knew more about CSS), I was able to both “solarize” my notes (sort of) and create a much more readable full-screen mode by limiting note text width.

Easy, breezy contrast

If you know what you’re doing, then you can find the file in /Applications/ Also, since this is as a hack, be sure to save a backup of this file—it will be overwritten every time the software is updated or needs to be reinstalled.

If you need more help, here’s a step-by-step walkthrough:

Find the File and Change Permissions

  1. Control-click on the Evernote application and choose “Show package contents,” then drill down into Contents -> Resources. In there, you’ll find a folder named “mac.”
  2. Control-click on that folder and choose “Get Info.” At the very bottom of the info panel, you’ll find “Sharing & Permissions.”
  3. Unlock the little lock with your admin password, then add admins to the list using the plus sign. Change the permissions to “Read & Write.”
  4. Finally, click the gear icon and choose “Apply to enclosed folders.”

Modify the File

Once you are in and have write permissions you can open the folder and find a file named “en-mac-min.css.” If you’ve never worked with CSS files then the default program will likely be Safari, but you’ll want to open the file in something like Text Wrangler. Then, you’ll have one very long string of text which controls how your Evernotes look. In order to get something that looks like the image above, you can just delete the entire file and replace it by copying and pasting this whole mess of text.

Good luck—and please feel free to share any additional theming tips and tricks.

Markdownifying your Evernotes - Update

Typically, almost as soon as I published yesterday’s post about writing and backing up Evernote files to Markdown, I started tinkering with it to make it both more robust and easier to run on any individual system.

This new script does three things. First, it now adds support for tags, which requires installing jdberry’s tag script. You can install it with either MacPorts or Homebrew. (And as a reminder, the script also requires Pandoc, which can be downloaded here.) Secondly, it is now designed to run when Hazel detects changes to your Evernote files.

Here’s a screenshot of an extremely simple Hazel rule, which acts on the folder /Users/USERNAME/Library/Containers/com.evernote.Evernote/Data/Library/Application Support/com.evernote.Evernote/accounts/

Finally, this version makes it more obvious to select only certain notebooks to act on. Overall, I think this version just makes a lot more sense, and has been working really reliably for me for the last 24 hours or so. Let me know in the comments how (or if) things are working out for you.

Here is the direct link to the gist, which is also embedded below.

Writing and Saving Evernotes as Markdown

[Update: See this post for a more recent version of this script.]

I think I might have found a way to use—even love—Evernote, in spite of my misgivings. As I’ve noted at least once before, I’ve never been a huge fan of the software because it’s not plain text and is all but impossible to work with your files outside of the Evernote ecosystem. That said, it’s a really powerful ecosystem with lots of third-party integrations. The new “atlas” function is especially cool; when paired with something like Day One you can geolocate much of your life and work.1

So last week I went back to check out it—for the dozenth time—this time with the intention of utilizing a script that watches Evernote for changes so that files can be viewed in Marked 2. I assumed that script had something to do with Markdown, but it actually doesn’t: it just copies Evernote’s HTML into a dummy “markdown” file that Marked can display. As such, any kind of markdown syntax results in errors in Marked.

However, after messing around with the script a little bit, it became clear that it was possible to leverage Evernote’s Applescript and the awesome Pandoc utility to write Evernotes in Markdown format and then save them in near-real-time to a Dropbox folder. Then, you can simply drag that folder into Marked 2, which will update the changes on the fly. It even allows for the use of custom footnotes.2

Evernote file on the left, Marked 2 on the right

There are many caveats to how this works right now, based on my workflow: First of all, the backups happen individually for the note you are currently working on. Secondly, the sync is one way, so it’s really just using it for backup. (I think it’s possible to do it the other way, though I’m not quite there yet.) The second is that if you rename notes you’ll end up with duplicates. Right now, I’m treating that as a kind of necessary evil, and not that big of a deal: the files are small, and I would rather have duplicate data than data loss.

Here is the code, which feels a little Frankenstein, but has been working great for me over the past week. You need to change the path to your Evernote folder in line 7, and you should change the path your Dropbox storage (or local storage, whatever) in line 8. You can also add an “if” statement in the Applescript portions so that it only pulls from a specific notebook. I’ve found that really helpful.3 There is some crazy gsub action that happens because Pandoc escapes everything, but again, it seems to work. This script runs continuously in the background. Let me know if you try this and it works or doesn’t for you. You can find the gist here.

  1. Free idea: What I would really love is an app that takes a page from photo software and geolocates files based on GPX data.

  2. For some posts on my Markdown footnote scripts, look here.

  3. For example, you can add lines like if notebook of item 1 of the_selection is (notebook named "Writing") then / return HTML content of item 1 of the_selection / end if

On the Radio - Recording the Ivory-Billed Woodpecker

I’ve been obsessed with this sound for a long time: a 1935 recording of an ivory-billed woodpecker. I’ve written about it, given presentations on it, and listened to it more times than I can count. So it feels right that it became the subject of my first broadcast radio essay. Since I started at To the Best of Our Knowledge, I’ve been wanting to do some segments that discuss historical sound recordings, so when Steve Paulson told me he was doing a show on extinction, this seemed like a perfect fit. Hopefully it will be the first of many. For more information on the expedition and this story, I did a brief write-up here. And because I’m a recovering academic it even includes a bibliography.

Some nerdy notes on the recording process: Joe Hardke, a great sound designer at WPR, does the voice of Jim Tanner. It was his idea to run the vocals through a tape machine, but I brazenly thought I could EQ them myself and make them sound “old.” Unsurprisingly, I was wrong and Joe was right. Caryl Owen ran Joe’s vocal tracks out to a reel-to-reel at pretty low volume, then boosted them on the way back in to the computer to get that nice, warm tape hiss. She also did a killer job lightly treating the historical audio material, which was generously provided by the Macaulay Library at Cornell. The music is from Widowspeak’s The Swamp EP, except for that last track

You're a Good Man, Charlie Brown

A belated happy holidays, everyone. I hope you got some new toys to play with.

via Austin Kleon’s Tumblr.

An Alfred Workflow for Together

As you might have read this week, I started using Together as a database and file manager. One of the main reasons is that the files and folders are stored in a human-readable way, and you can work with those files independent of the Together database being open. This means getting things in and out is pretty easy, especially with the provided script library.

However, those scripts work mainly by manually launching the application and moving files into the most recently used database. This might be fine for most people, but it’s less than ideal for my current workflow. For starters, I don’t want to be pulled away from my current window so that an app can launch. Secondly, I want to be able to choose the database used for file import. Plus I just love tinkering with Alfred, so I wanted to see if I could script something that could handle my use-cases. I thought it might be useful enough to share.

This Alfred workflow starts by finding all of the Together databases on your computer using the “script filter” method. With the modifier keys, you then have three options—all of which save or move files to the Inbox of whichever database you select.

Here’s how it’s configured:

  1. [no modifier] Save webarchive of current Chrome tab to database. This requires that you install the webarchiver command line tool.

  2. [cmd modifier] This creates and then opens a new plain text file in the selected database, with your default text editor app.

  3. [ctrl modifier] This moves the selected Finder items into the selected database.

You can download the workflow here, and be sure to let me know in the comments if you have any questions or suggestions for improvement.

Getting Together, or, Quick Thoughts on Database Software

I’m writing this post from inside Together, a database application that I’ve been testing for the last two weeks or so as part of a concerted effort to find a new file manager and personal database utility. Back in grad school I got really deep into DevonThink, which remains unparalleled for full-text searching and finding connections between files. But soon after I discovered the wonderful world of Markdown, renounced hierarchical folder organization, and swore I would never look back.

Then I looked around recently and noticed that my files were a total mess. So I opened DevonThink, checked for updates, and realized the app hasn’t seen a full version upgrade in six years. Seriously: I searched my Gmail, and they alerted me about the public beta of version 2.0 on December 19, 2008. The current version is 2.8.1. And frankly, it feels that old. The UI—which was never particularly friendly—now seems downright hostile.

So I went off in search of something new, and I thought I would post some quick thoughts for anyone else in the market

Below are my thoughts on three applications—chosen almost at random—that I thought might work for me, based on three vague criteria: they could store a whole mess of files, appeared to be in active development, and were less than $50.

Evernote (“free”, or $49 per year)

I discovered Evernote right around the time I was starting to really get into plain text, which meant it was a non-starter for me. I was excited by the very recent iOS/Yosemite update, but my opinion of the service hasn’t changed much. It’s basically rich text files locked down so tightly inside a database that there isn’t even a real way to batch export your stuff. The larger problem, of course, is that when you’re in the app you can’t escape the feeling that you are in a storefront, where you can buy cloud storage, “premium” features, and a $240 backpack. It gives me the same icky feeling I have with many “free” cloud-based subscription services, like Todoist.

Which is a shame, because there are some powerful features lurking in there. It remains the only system I know of for reliable text recognition of handwriting, and the “atlas” feature—where you can find notes based on the location where you wrote them—is just plain cool. Additionally, iOS integration is as tight as they come. I get why so many people like it, but until they get Evernote Plain Text Edition going (for an additional $4.95 a month!), it’s just not for me. I’ve been thinking about using it for scanning some of my personal notebooks, but I’m not sure how much I can before bumping into the storage limits

Ember ($39)

Let me say this right up front: Ember is not a full-fledged database app, but I really wish it was. It’s designed for graphics and web professionals, and when I first saw it splash across the app store I thought it was an overpriced desktop version of Pinterest. But having worked with it for the full trial period, I think it’s probably the the most well-designed app for gathering data from your computer and the web. I’m not sure the folks at Realmac have designs to flesh it out into a robust database application, but I’m keeping an eye on it’s development with my fingers crossed.

Here’s what the app gets right, and the list is long: intuitive and elegant design, Dropbox storage, reliable browser extensions, built-in browser and RSS reader, a lovely iOS app, the ability to create and edit plain text files within the database, and the ability to import files of nearly any type. The problems I have with it are that I want it to do things it simply wasn’t designed to do; I recognize that this is my fault, not theirs. If they decide to implement full-text search and highlights of PDFs and other files types, and not limit the RSS reader to images, then this is an app I could see myself working in all day. And even though the database is pretty locked-down, the benefits of the user experience can outweigh that, for me. I’m much more willing to let apps ingest my files when the overall experience is great.

Together ($49)

What Together lacks in some of the elegance of Ember it more than makes up for with it’s power and flexibility. In many ways, it feels like an more modern DevonThink with a nicer feature set, which is probably why I feel most comfortable here. It’s most important feature is that it’s really the first database system I’ve come across with a truly transparent and human-readable file system, which—double bonus!—you can store on Dropbox.1 While there aren’t browser extensions, the developer has provided lots of additional scripts for pulling information in and out of the app. It also a sidebar widget called the “shelf” that functions much like DevonThink’s “drawer.” I much prefer menu bar items to these kinds of things, but still: it’s there if you need it, and it can can be turned off if you don’t.

Because of the storage system, Together gives you the power of a database with the flexibility of the file system. Even though I love the idea of tags as opposed to folders, they’re still a useful part of my workflow. They’re especially helpful for iOS apps that read from a specific folders. For example, I like to set Editorial to read exclusively from a folder that stores blog posts like this one. An additional bonus is that you can write scripts (including Hazel ones). I’ve already worked up some Alfred workflows for interacting even more deeply with multiple Together databases; I’ll post those later in the week.

I’m not sure how many Together users there are out there, but hopefully we can unite and share some tips and tricks.

  1. This is an entirely different post, but the much-maligned iTunes is a notable exception. In fact, I credit iTunes as the first app which made me realize how powerful databases could be if you put in the time to have accurate and consistent metadata.

How Political is Food?

Last week I wrote a post on Alice Waters and the politics of food that went live over on TTBOOK on Thanksgiving. It’s something that’s been stewing since I read this New Yorker article on “foodie culture,” and is essentially a response to it. The post got branded an “essay” somewhere in the chain before it went live, but I think it’s a little short and informal for that; it’s really more akin to something I would post here than a fully fleshed out “essay,” but you get the picture.

I’m hoping to do more pieces like this—both written, and, eventually, audio—and the TTBOOK website gives me a nice platform for doing so. I’m probably not going to post here every time I produce something, but I’ll tag my posts so you can follow along via RSS if you’re so inclined.

The article

The RSS feed

Choose to Start Doing, aka, Tracking Your Work Time

In the many hours I’ve spent trying to log and capture various aspects of my life, I’ve found that straight-up time tracking can be one of the hardest to get right. It’s easy to see how many hours a week I am physically at my office—for example—but it’s much less easy to track how productive those hours have actually been. It’s great to use an auto-tracking service like Rescue Time, but even that is good only up to a point: sometimes I’m legitimately using Twitter and Facebook for work, and other times I’m not.

Ultimately, the best way to track my time spent at work is to do it myself, which is much less sexy and fun than doing it with cool automation and services. But I have found two tools recently which have made it pretty pleasurable: the very literally named doing and choose. Here’s how they work, and how they can nicely work together with Apple’s Reminders.


Doing is a command line tool from Brett Terpstra (who else?) that acts as a work log. Essentially, you just type what you are doing into Terminal when you start a task, and then again when it’s over. If you don’t have the Terminal open all day (I certainly don’t), then you can use this Alfred workflow. By far the best feature is the option for --totals, which will print how long you have spent on projects or categories (entered as “@tags”) over any given amount of time. The feature set is extensive for such a small tool, and it’s worth reading the full documentation.


Though doing doesn’t directly integrate with any services out of the box, the fact that is a plain-text command-line tool means you can pretty much do anything you want with it. Over the last few weeks, I’ve found that I use it more reliably when it links directly with my to-do list items. I use Apple’s Reminders, which for my money (none!) and my workflow (OS X) is still the easiest solution for tasks. To get things flowing smoothly, I created an Applescript that will find your uncompleted Reminders and write them to a text file, with each item’s list appended as a @tag. Here’s the script:1

tell application "Reminders"
	set output to ""
	repeat with i from 1 to (count of (reminders whose completed is false))
		set theReminder to reminder i of (reminders whose completed is false)
		set reminderName to name of theReminder
		set theList to name of container of theReminder
		set output to output & reminderName & " @" & theList & linefeed
	end repeat
	do shell script "echo " & quoted form of output & " > /Users/path/to/Reminders.txt"
end tell

Now, the real fun comes in when you hook this into Alfred and use the choosing CLI. Once you install that into usr/bin, you can pipe into it. Using Alfred workflows and some really simple scripting, you can cat into your file, search for a task using Choose, and then have it auto-start in Doing.2 Check it:

I still haven’t figured out how autocomplete these tasks back in Reminders/Doing, but I’m working on it…

  1. This thing comes with some serious caveats. Since 10.9, osascript for Reminders has essentially been broken. In 10.10, I’ve found that AppleScripts dealing with Reminders work relatively well, but only within Script Editor. So, in order to run this, I actually run an Applescript script that opens the file in Script Editor and runs it from there. It’s a pain, but I run it on my server so it stays out of the way. I’m not sure I would recommend running this on your everyday work machine.

  2. The workflow is three steps: keyword with no argument; run script cat ~/path/to/your/Reminders.txt | choose; run script doing now "{query}"

Revolution Remixed

Apologies for the “radio silence” (couldn’t resist) on this blog as of late, but as you likely know, I have been busy working on actual radio. My first two months here at TTBOOK have been an exciting and exhausting crash course in the ins and outs of public media. I’ve been working on digital initiatives large and small, including a ton of content for an upcoming mini-series on death and dying, as well as some more blog-like posts which I’ll hopefully be able to show off sooner rather than later.

In the meantime, the staff has also been very patiently working to get me up to speed on audio and broadcast production, and the first piece that I (mostly) edited went live yesterday. It’s an interview with none other than movie-star-turned-revolutionary Russell Brand. After making headlines for expressing his politics of non-voting on British television, he decided to devote a full book to explaining the rationale behind his position on voting—as well as income inequality, meditation, etc. I don’t want to editorialize here (something about the ethics of my job?), but in my edits I did my best to accurately depict the tenor and content of the conversation he had with our producer Charles Monroe-Kane. I’ve embedded the piece below, but you can also have a listen on the site or in the podcast stream.