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.

Time Lapse Audio

Legendary New York recordist Tony Schwartz came up in conversation at work today, and one of my colleagues mentioned “Nancy Grows Up,” a time-lapse audio essay documenting the development of his niece. While I consider myself a pretty big Schwartz fan (and a proud owner of a vinyl copy of New York 19), I had never heard this piece. Once I did, I was blown away, and haven’t stopped listening since:

Unlike time-lapse video, the sound segments themselves are not sped up, they simply cover a long range of historical time—in essence making this the female and sonic counterpart to Richard Linklater’s Boyhood. [Is there a mini essay in that idea?] Anyway, it turns out the piece has been featured on an episode of Radiolab (of course!), and has been the subject of a think piece on media and history. For more info on Schwartz, check out David Suisman’s story in Smithsonian Folkways Magazine.

Making Knowledge

My first week on the job at To the Best of Our Knowledge has been a crash course is seeing how radio gets made—and it still hasn’t lost any of the magic. This morning I sat in as next weekend’s show on “dual identities” was mixed. Pictured, left to right: producer Rehman Tungekar, host Anne Strainchamps in the recording booth, and engineer Caryl Owen. You can just make me out as a reflection above Anne’s head.

Restore Foursquare Checkins with Launch Center and Pythonista [Updated]

With the recent update to Foursqure 8.0 for iOS, the ability to “check in” at locations has been officially offloaded to Foursquare’s sister app, Swarm. This wouldn’t be a huge deal if Swarm wasn’t so greedy—it forces you to have GPS location on at all times, and subsequently drains your battery and/or bombards you with notifications. And while it’s nice for people who rely on the social features of the app, it’s really frustrating for people like me who used Foursquare mainly for personal logging and other location-based things made possible with its IFTTT channel.

So, just for fun, I whipped up a Pythonista script over the weekend that logs you in to Foursquare without the annoyances of Swarm. You simply fire the script, enter some or all of the name of your location, and then the Foursquare API handles the rest. In its current implementation, there is one serious caveat: you can’t choose your venue from a list. Basically, you enter a search term and then the script chooses the top result. Unless you are in a place with a lot of similarly named locations, I think you’ll be fine. And if you know how to code a better solution, I would love to see it—I’m super new to Python(ista).

Here’s how it works.

Create an “App”

The first thing you need to do is log in to the Foursquare developer portal, which you can do using your normal login credentials. From there, select “My Apps” from the top and then the green button for creating a new app. You only need to fill in some basic information, but pay special attention to your redirect url, since you’ll need this later. If you don’t have your own webspace, you can actually use almost any url, including this one ( Once that is done, copy and paste your Client ID and Client Secret and save them in a text file. They are important.

Next, you need to authorize yourself as a user of your new web app. The easiest way to do that is to go to the following web address, replacing CLIENT_ID with your Client ID and YOUR_REGISTERED_REDIRECT_URI with the URI that you entered earlier:

Once you do that, you should kick back to your URI, except with a trailing string that includes #access_token= followed by your actual access token. Again, keep that in a safe space along with your Client ID and Secret.

Run the Script

Once you have those three strings, you’ll need to plug them into the Pythonista script.

As you can see, the script uses the Foursquare API to search for locations, then it takes the top result and checks you in. It shows a little pop-up to let you know where you checked in, and then it kicks you back out to Launch Center, because I’m assuming that’s where you started the script from. You can always lop off that line or change it if you want to go somewhere else.

Let me know how it goes on Twitter or in the comments.

Update (August 25th)

After talking about this on Twitter, Ryan came up with a really elegant solution that uses a table view and lovely icons as opposed to my blunt force search method. As a bonus, he also created a dedicated home screen launcher.

View it in action here, download the script here, and look into custom home screen launching here. Thanks, Ryan!

50 Stars

The American history nerd in me is happy to recognize that today marks the 55th anniversary of Hawaii’s statehood—and with it the 55th birthday of the 50-star American flag design. This image, taken from the Eisenhower Presendential Library, shows the official flag schematic that accompanied Executive Order 10834:

Despite what the Internet Archive might have you believe, then-President Eisenhower did not deliver a speech by William Jennings Bryant on the occasion.1 Instead, he just said a few words wishing Hawaii happiness and prosperity. Have a listen:

  1. For unknown reasons, the speech identified at that link as Dwight D. Eisenhower’s Hawaii Statehood Proclamation Speech is actually William Jennings Bryant’s “Against Imperialism” speech, recorded at the Democratic National Convention in Kansas City on August 8, 1900.

The Visual Microphone

In the 1858 edition of Wild Scenes and Songbirds, Charles Wilkins Webber speculated that sound waves might live on forever:

That a sweet sound should ever cease to be seems to me unnatural—at least unpoetical—for, let its vibrations once begin, though they may soon die to our gross sense, must they not go widening, circling on, stinging the sense of myriad other lives with a mysterious pleasantness (such as will overcome us in a wood upon an April day), until the uttermost bound of our poor space be past, and yet the large circumference go spread and spreading tremulous among the girdling stars? It may be so for all we can tell!

Webber’s notion of the perpetual sound wave has been shared by many writers, recordists, and sound engineers over time, who have dreamed that sound is always out there, and it is just a matter of learning how to capture it. Though sound is often generalized as being “temporal,” there is actually a nice line of thinking that has always imagined sound as infinite, stretching out through time and space, impacting everything around it until it girdles the stars.

Last week, a group of researchers at MIT made this previously speculative fantasy something close to a reality, with a process they are calling “the visual microphone.” The device is actually a high speed camera which can detect minute vibrations of objects in a room, and then translate these vibrations back into sound using an algorithm, even when the recording happened through soundproof glass. The results are not the highest in fidelity, but they are quite real, and quite good. Watch for yourself here:

This video (and many subsequent articles) inundated my Twitter feed last week, but perhaps no one said it better than my friend Nate Brown, who wrote to me, “The world has its own language.”

Hum and Sing - Ethan Rose

This morning while doing some packing I had a chance to catch up with Radius, a fantastic podcast and radio show featuring live-recorded compositions, experimental music and sound art. They are currently in the middle of GRIDS, a series of four commissioned broadcasts at Chicago-area electrical stations. Series episode 51 features a work by Ethan Rose called “Hum,” a droning interplay between the human voice and the electrical apparatus. You can listen to the entire 60-minute piece below, and read a write-up over at Vice.

I first came across Rose’s work back in 2010, when he did a collaboration with songwriter Laura Gibson called Bridge Carols, which is absolutely stunning. Here is the video for “Younger”:

One Small Step

Yesterday marked the 45th anniversary of Neil Armstrong setting foot on the surface of the moon as a part of the Apollo 11 mission with Buzz Aldrin and Michael Collins. That event is rightly remembered as a televised one: Walter Cronkite himself later said the landing was “almost as remarkable a feat for television as the space flight itself.”1

However, the audio itself is also pretty interesting, and thanks to NASA and the Internet Archive you listen to the entire mission. The big moment—”One small step for man, one giant leap for mankind”—happens starting at the 11:13 moment of the following clip:

The complete audio for many other missions is available for streaming and download via the NASA Audio Collection.

  1. Walter Cronkite, A Reporter’s Life, p. 277.

Silence and Noise

Last month I saw some nifty looking embedded Ngrams in a blog post by Chris Long, and I was reminded of two things: 1) I haven’t messed with Ngram in awhile, and 2) I wasn’t entirely sure how HTML iFrames would embed on this new blog. I’m happy to report that both turned out great—in fact, much better than I expected.

One of the things that comes up in my research in is how “noise” was incorporated into environmentalist discourse in the 1960s as a kind of “pollutant.” This was, in part, a technique mobilized by anti-supersonic flight activists who thought the sonic boom was a problem. (They were right.) Though one Ngram certainly doesn’t tell this whole story, it was interesting to see it corroborated: the occurrence of “noise” surpasses “silence” right around 1961.

This change seems to have started around 1920; before that, silence and noise have remarkably similar curves, with silence occurring at a much higher rate. Of course, what is also interesting—and, to me, totally unsurprising—is the meteoric rise of “silence” in the last decade (2004-onwards). Silence has again become a kind of urban and environmental cause of the moment, which is again reflected in the data.

There is certainly a lot more to say about this, but it’s a great kind of synergy when testing some new tools and website tricks leads you down a more productive and stimulating road.