Winter, no, spring
Springtime in my southwest mountain town, a foot of snow on Friday – commerce and schools come to a screeching halt, but not before I put in most of a great work day on a new system – brilliant sunny sky today. We went sledding this morning, and this afternoon the entire world is melting, streets clearing and dry pavement showing through in many places. Beautiful.
- Five-dark-thirty or so, grumpy dog at the bedroom door. Pull on a sweatshirt and go upstairs.
- switch on the machine
- prime boiler
- flip to steam
- fix portafilter in grouphead to warm
- feed dogs
- work day? Quick shower.
- not a work day? Sit with book or the news on the iPad.
- portafilter is warm; purge steam, pour milk, measure beans
- steam
- prime boiler, settle milk, grind, wipe spout, purge grouphead
- dose grounds, tap to settle, level, clean, fix in portafilter
- extract shot, wipe up grounds, log
- swirl shot, taste, pour milk
- clear brewhead, wipe machine
- sit and pause a sec
Excel is Complex, Untestable and Everywhere
But while Excel the program is reasonably robust, the spreadsheets that people create with Excel are incredibly fragile. There is no way to trace where your data come from, there’s no audit trail (so you can overtype numbers and not know it), and there’s no easy way to test spreadsheets, for starters. The biggest problem is that anyone can create Excel spreadsheets—badly. Because it’s so easy to use, the creation of even important spreadsheets is not restricted to people who understand programming and do it in a methodical, well-documented way.
When traders pose for press photos it’s always in front of wildly-sophisticated looking visualizations, but the secret layer of MS Excel-based analysis puts the lie to that pretension of rigor.
Quiet
I came out to my refuge coffee + book shop as I sometimes do on afternoons when the toddler is asleep or occupied enough that he and his mom won’t need me for a little while. Yesterday it was a snow storm that turned into a whiteout on my short drive. I thought to read and write and do productive non-work creative things, but found I mostly watched the snow fall, with my mind quiet. It was quite fine.
Fit
Like so many, I picked up a Fitbit last month. I thought it would be a fun way to gain some insight into my activity and help me stay a little more active. Generally, I really like the little fella, though my activity has been hampered by a round of flu in the household, a few very cold weeks of wintertime weather, and a lot of busy, long days. (I wonder what activity best represents using a standing desk; Fitbit seems to think I’m mostly lethargic during the work day, but I think I should get some points for standing there.)
Fitbit offers a premium tier that provides extra reports and the ability to download one’s data for $50 per year. I’m not particularly interested in most of the features that come with premium membership, but I am a data guy, so the Fitbit API offers, albeit with some work, a way to get my data out of their system.
Working directly with the data yields plenty of benefits. Currently the charts on the fitbit web site all require Flash, so as a Click to Flash user I have a lot of clicking to do, all to view a relatively simple bar plot that doesn’t tell me that much. Sleep is a great example. The built-in chart of sleep at Fitbit doesn’t offer much information, and all its variants are simply more bar plots. There’s a nightly activity chart that shows times awake or stirring, but not a view that compares that activity against other nights or shows relative sleep-wake times.
Well, we can fix that.
I’m using the Fitbit plugin from Slogger, modified to run by itself on a server and grab my daily data. It saves the data I’m looking for, via the Fitbit API, to a text file that I can grab and process with R and ggplot2 to make some more useful and attractive plots for myself. Here’s what I’ve come up with for sleep.
There’s a lot more data here, in what I think is a much more interesting and attractive visualization: Relative times to sleep and wake, plus display of two variants of nighttime activity, fully awake and partially awake or stirring. (The Fitbit nightly graph shows them as a single category of wakefulness). Unlike the built-in graphic, this one shows comparative times across days, which is particularly useful for figuring out just why I’m dragging my feet so much this morning – of course, it’s because I’ve been up by 5:30 at the latest all week while pushing my bedtime further and further from its sweet spot.
Additional refinements might include adding the total sleep time to each bar, for more easy to read comparison. (This is basically all you get from the over-time graph that Fitbit provides by default.)
Data is fun and the programming, for both the data extraction via API and the manipulation and plotting in R, is enjoyable learning and pastime for me. I’ll continue to play with the Fitbit activity data for steps and overall activity and see what else I can come up with.
Alfred 2 workflows - managing a to-do list
Rain here at high altitude since Friday, which is very unusual for wintertime. The landscape has melted and we can see our sodden backyard once again.
Cooped up, I turned to extra cups of coffee and playing with Alfred 2 workflows.
A few years ago I worked up a system using Alfred 1 to add items to a task list that gets displayed on my desktop with Geektool. The list itself is a Taskpaper compatible text file, and I use a TextMate bundle that I put together (derived from the Tasks bundle along with it.
With Alfred 2 it was fun to recreate and add to the functionality of my old script using workflows. I invoke the workflow with “do something” to add something to the top of my task list; later, “done something” will mark that item as completed and add a timestamp: Alfred uses the query you specify to find matching entries in the todo file, and acts on the one you select from that list of matches.
Here’s a quick tour. Adding an item via Alfred 2 and viewing the new entry in TextMate:
Then using Alfred 2 to find the same item and mark it as completed. You get a confirmation via growl and can see the updated item in TextMate:
I have some ideas to clean up and improve this workflow but do plan to release it. If you’re interested in seeing it now in all its ugly works-for-me state, just let me know.
So far it’s been lots of fun to work with the Alfred 2. If you’re an Alfred user considering the upgrade, I recommend checking it out!
Paths and maps
Andrew DeGraff does, among other things, cool and finely-detailed diagrams of movement through locations in movies, such as Shaun of the Dead.
(source, via Andrew DeGraff’s blog with lots of cool images)
Pinboard co-prosperity winners announced
These are great:
Growstuff is a website where food gardeners will be able to track and share their food-growing efforts. A year ago I would have thought Skud’s proposal a little idealistic, with its emphasis on process, collaboration, radical openness, and inclusiveness. But my brush with fandom a year ago (when a distributed group of volunteers responded to my call for feature requests by drafting a beautifully organized 50+ page Google doc in about 48 hours) has made a true believer out of me. Moreover, I think food gardening is a natural fit for the kind of community-first approach Skud wants to pursue. I jumped at the chance to pick a project coming out of this friendly, highly collaborative world, and I can’t wait to see what it grows into.
(source)
Getting out my Headphones
One of the simple but non-obvious (to me) things about a system like GTD is the exhortation that complex intellectual work can be organized into physical actions.
Now there are all kinds of reasons why lots of the work I and others do is hard to organize that way, but being conscious of physical actions as a unit of analysis has helped me do one thing much better and much more frequently: listening to music.
Here’s the thing: in an office I can’t turn on a tune until I get my headphones out. I have spent entire days occasionally thinking to myself “I’d like to listen to something,” but my headphones are over in my briefcase.
Seriously, that’s like two or three feet away sometimes. But it’s enough to prevent me from catching up with a podcast or playing an album that would be just right for an afternoon of cranking out work, that little bit of distance and distraction.
This may be a profound mental defect, that I cannot maintain a chain of thought long enough to pivot left, get a headset out of a bag, plug it in, launch rdio or instacast, find the playlist, press play, and return to work. Yet there is it, and when broken down like that I can see how that chain of action is actually relatively sophisticated. It involves several decisions: Podcast or music? Which show? Or which genre? Which artist, album, or playlist?
So let’s shorten that chain just a bit: Now when I get to the office, the first thing I do is get out the headphones and plug them in. I’m listening to a ton more than I did before – and importantly, I’m enjoying it.
In the same spirit, I’m doing something to help me do more reading, by keeping better lists of books I want to read, and then keeping one or more of those books nearby – on Kindle app or the countertop – which I have found makes it far more likely that I will pick it up and read it when I have a few free minutes.
I am aware that this is all basically a dramatically unjust oversimplification of behavioral economics’ finding that pre-slicing apples increases the likelihood of actually eating them at lunch. But this brings me back to where I started, which was a lot of recent reconsidering of key elements of GTD. This notion of small pre-requisites for accomplishing something complex or ambitious makes sense to me the past few weeks in a way that it did not previously – this resonance has proven to be valuable and I expect to continue to find new ways to take advantage of it.
Winter day routines
I collected these notes through the course of the last couple of weeks. Today we get fully back to our work and school schedules, with school back in session after a long Christmas holiday. Some of these routines, established on the lazy days of vacation, will persist, though perhaps only on the weekends where time stretches out a little more languid.
Coffee
Toddler
Cold this morning. Coffee and breakfast while wife and little boy sleep a little longer. I’m off to work again while she takes care of him today. He goes back to school after the weekend.
I’ve grown to love our morning routine, where I get up and have a coffee and a few extra minutes, before they wake up, when she calls me: Our boy is cuddled up and asking for bunny grahams. So I pour a few into a bowl – she tells me he perks up his head, asks “hear that?” – and bring them downstairs. He says thank you and asks me to go back upstairs for a little while while he snuggles some more with his mom.
Later he comes upstairs with her, sometimes having asked her to carry him, but usually lately under his own power, eagerly climbing. On the stairs he grins at me and wonders aloud, “Is this meeee?” He knows the game.
“Good morning!” I smile back. “Is that a hippopotamus coming up the stairs?”
“No it’s me!” He exclaims.
“Are you a … Zebra?”
Spreading his arms wide and smiling huge, “No, I’m me!”
We might do a few more rounds. Is he an elephant, or a helicopter or a school bus? No! Smiles.
“Oh, well if you’re not a dolphin then can I have a hug?” I ask him, and he marches over in that way a toddler does, all swinging limbs at a half-run, to wrap his arms over my shoulders and lean against me so completely that his feet are somewhere vaguely in the air. There will be oatmeal to make and a diaper to change and any number of busy tasks to complete before we can hustle to the car and make our way to work and school, but for a few minutes we get to just smile and talk and hug.
Naptime
He’s down for a nap, so we get an hour, sometimes more, sometimes less. When he was a baby we would measure his naps by album duration. Now they’re a little more reliable, but still less so at home than at school, where he easily lays out his blanket and curls up on the cot alongside his friends. Sometimes he’s still lounging on the cot when I come to pick him up.
We have some lunch, or maybe just a snack, chips and somebody’s homemade salsa that’s surprisingly good. We sit on the sofa with a book or magazine, iPad or laptop, sock feet touching on the old coffee table. This sofa is getting a little creaky. Over this winter break we watched a lot of old West Wing episodes on the AppleTV. She’s always liked naps of her own and might lean her head on my shoulder, the way she did every evening when she was pregnant, falling asleep at 7pm.
An hour or so of sitting close together, quiet and easy before he wakes up and needs us to get out some yogurt and crackers, put on snow pants, find hat and gloves to go out for an adventure or a car ride, to run errands or go to the market.
Site Notes
warning: the following is probably not very interesting.
I’ve had a nice time lately doing some reworking on the internals of my little not-a-blog system that runs things around here. First, I’ve done a tiny bit of learning about responsive web design, so mobile browsers should now get a nice narrow page. I’m still tinkering with a visual style that I like, so the look and feel may change more. It’s fun to experiment with this stuff again; it’s been a lot of years since I was really up to speed with anything related to web design.
Also, I’ve switched the whole engine from Pandoc over to a fully-ruby markdown parser called kramdown. Kramdown is faster than Pandoc and may allow for a future state in which I can build and deploy the whole site from a mobile device, without needing to run any code on my laptop first. Moving away from pandoc is the first requirement for that, since I can’t run it on my server at textdrive. (This is one of those situations where an always-available home server or something like a box at Mac Mini Colo would be an ideal alternative.) The next piece of that chain would be a good mechanism to migrate files from Dropbox, where the prettygoodhat markdown files live and are editable from any number of iOS apps, to the web server where the build tool and deployed HTML files live.
It’s fun to have a tool that’s in-process as well as this relatively-new outlet for some thinking and writing. I’m enjoying both aspects of publishing here, quite a lot.