Setting Up Demos

I like making things as easy as possible, so every time I try to set up a decent “CMS” for doing demos on this site, I end up trashing everything a couple days later. I think I have something that’s useable this time though. It’s roughly based on Chris Coyier’s CSS-Tricks examples section. I think I’ve seen him talk about his method of posting demos before, but I can’t seem to find where that might have been.

Normally, I would turn to WordPress for my online publishing. With all the new features in the past year, WordPress can be form-fit to really anything you could need to publish on the web. I’m going a little simpler than that this time though.

Continue reading Setting Up Demos

Todo.txt to Omnifocus

For a long time now, I’ve been trying to figure out the best way to get stuff into my todo list on my Mac from my Android phone. I should say that I belong to the crazy group that uses OmniFocus, which is obviously a Mac app. They have wonderful iPhone and iPad apps, but I don’t have an iPhone. Sure I could carry an iPod touch around with me everywhere I go and for the most part I do, but my HTC Hero is with me 24/7.

This may not be obvious to everyone, but the best todo list app for Android is Todo.txt Touch by Gina Trapani. This thing almost made me drop OmniFocus, but I really like what I’ve got going in OmniFocus so instead I’m using Todo.txt Touch as input.

I’ve written an AppleScript that will look at my todo.txt file stored in my Dropbox and send everything over to OminFocus:

tell application "Finder"
    -- readFile
    set TodoTXT to "<Path to todo.txt>"
    set foo to (open for access TodoTXT with write permission)
    set txt to (read foo for (get eof foo))
    set eof foo to 0
    close access foo

    set Names to paragraphs of txt
    repeat with nextLine in Names
        if length of nextLine is greater than 0 then

            tell application "OmniFocus"
                set theDoc to first document

                tell theDoc
                    make new inbox task with properties {name:nextLine}
                end tell
            end tell

        end if
    end repeat
end tell

Beware, this is my first iteration of this script. That doesn’t mean I’m promising future versions. I’m only using the Android app as input at this point. It will import all of your todos to the inbox and then blank the file.

Running it

First, Hazel is setup to watch the folder in my Dropbox with a rule that watches for the Created Date to be the same as the Modified Date. This basically means that the file is brand new. It might not be obvious at first why this works. Basically, when the todo.txt file syncs from Dropbox it is replaced with a new version, thus creating a new file in place of the one that was there. When the script then goes and updates the file, either by blanking it or, maybe in the future, updating it with todos from Omnifocus, it is modified locally and not recreated so the two different dates would be different.

The other way I can run the script is from within OmniFocus itself. The script lives in ~/Library/Scripts/Applications/OmniFocus/, which let’s you add it while customizing the menu.


If you find this useful, let me know. If you go on to modify it and make it even more useful than it already is, I’d love to hear about that too.


After David Sparks linked here on his MacSparky blog, one user suggested a shorter version of the script:

set p to "<Path to todo.txt>"
set l to paragraphs of (do shell script "grep . " & p)
do shell script ">" & p

tell app "OmniFocus" to tell document 1
repeat with v in l
make new inbox task with properties {name:v}
end repeat
end tell

Thanks for that and thanks to David for linking here.

Reeder Review

It’s been about a week now that I’ve been using Reeder for OSX. Now, the software is still in Beta, but I’m extremely impressed so far.

The first thing I noticed, even before I downloaded it, was that it uses your existing Google Reader account to populate the app. This is huge for me. I’ve tried other desktop RSS readers, but that just doesn’t work for me. In a world where we’re jumping from computer to computer, things like this really need to sync to the cloud. The fact that I can add feeds from this application and see them on the web, and add feeds from the web and see them in this app is one of the things that really makes this so great.

The Interface

I’m a fan of mac apps that look great. I think it’s one of the great advantages of owning a mac — there’s tons of great looking software that is also very functional. Reeder definitely lives up to that. Some people may not appreciate the style forced upon us without the ability to customize the main content, but I think they’ve done a great job with the design. As a designer and web publisher, I feel comfortable both using this as a reader and know this is what my content looks like in a desktop app.

The built in web browser is a nice addition, but I wish there was an option to have all links open in a real web browser. I think the main problem I’m having is the small window you get, so no web site actually fits in the frame. I find that even when I do click a link, I end up at the top of the frame to load the page in chrome.

Do Download

I’d definitely recommend downloading this app now. Don’t let the Beta logo scare you away. Just know that it is in Beta and all the features aren’t 100% flushed out yet. I’ve noticed, for example, that the Add/Manage subscription links don’t work yet — big deal though. You’ve been going to to add new RSS feeds up till now, I think you can wait until that feature works. The first thing you need to do when it’s installed is to turn on automatic updates. I’ve gotten at least three updates since I first downloaded it less than a week ago.

Super Duper!

Last summer I replaced the 160GB HDD in my MacBook with a 500GB drive. In the process I put the old drive in a new external enclosure and planned to use it to backup my home folder. Until now, that never really happened, but a few weeks ago when I did a fresh install of Snow Leopard I decided it would be a good time to finally get my backups going.

I already had a pretty good idea that I wanted to go with Carbon Copy Cloner or Super Duper!. I had already had some experience with CCC from my job last summer, but I had read an article on Daring Fireball about backup and he used Super Duper!. I decided to checkout Super Duper! first since I hadn’t really looked into it much before.

It turns out that you can download Super Duper! for free, but there is also a paid version that unlocks some more features. For the most basic backups either program works great.

Continue reading Super Duper!

My Workflow: WordPress QuickPress and Recent Drafts

Until recently I never used the drafts feature in WordPress. When I first installed WordPress 2.7 and saw the QuickPress and Recent Drafts sections on the dashboard I put them at the bottom of the page because I didn’t see why anybody would want to use that tiny editor to write a post, or why anybody would start writing a post, but then save it as a draft to be finished later, or at least any non professional writer.

In the past few weeks, however, these features have combined to help me keep my consistency going a little bit stronger.

When I’m sitting at my desk, I almost always am logged into my blog, checking stats or comments on breaks from working on whatever project I happen to be working on at the time. The dashboard really is quite good for that sort of thing. When I think of a blog post, but don’t really feel like writing it at this moment, I’ll jump down to quickpress and throw some content and a title in there. Just enough so that I remember what the point of the article was. This way I can go back later and see the list of recent drafts and decide if I want to finish off that post and finally publish it to the blog, or let it wait for another day.

Now, instead of posting two or three articles at one time and then waiting a month or 2 (or 3) to write something else, I can publish one, and start another, but wait to finish it another day. I like to think the content gets better too, when I can save it and come back to it and kind of regather my thoughts on the issue.

Side Note: This post was actually started on August 10th.