Tweet This Post

TextExpander for iOS recently had to change how it works in iOS 7, and currently TaskPaper does not support snippets. According to the Google group, the team is working on it but the text editing apps (like WriteRoom) are higher priority.

I've come up with a workaround using Launch Center Pro. You can adapt this to your own needs. This action expands a TextExpander snippet within a TaskPaper search query, copies it to the clipboard, and opens my todo list in TaskPaper. If you're on your iOS device, you can tap on this link to install it.

Here is the URL of the action:


In TextExpander, I have a snippet called ddue3 that uses the following TextExpander math: %@+3D%Y-%m-%d. This expands into YYYY-MM-DD three days from today. If today is 2013-12-29, the search query is @due < 2014-01-01.

TaskPaper uses a similar URL scheme to that of Writeroom's, so to open the app to my todo list, I use the x-success parameter from x-callback-url to go to taskpaper://open/todo.taskpaper. Then I just click on the search icon and paste the clipboard contents to see any tasks that are due before New Year's Day.

12/29/13; 06:43:45 PM

Tweet This Post

I've been slowly migrating back to TaskPaper for iOS to manage my to-do list. One major gripe I have with this app is that links are not clickable. However, I've created a Launch Center Pro action involving TextTool that makes opening a link entered into TaskPaper manageable.

The Problem

When you enter a task in TP, it is preceded by dash and then a space. If a task is an URL, when you select it and use the copy function, it will look like this:


Pasting this into Safari (or any iOS web browser) will result in an error.

The Solution

After copying the task, tap on the Open TaskPaper URL action in Launch Center Pro (tap on that link while on your iOS device to install) .

LCP will send the string to TextTool, which will use the delist method to remove the dash and space.

TextTool will take that output and send it back to LCP to open the URL in Safari.

12/26/13; 04:59:20 PM

Tweet This Post

I've written a script that will transform any headline into one that follows these rules:

  • Capitalize the first word of every letter except articles, coordinating conjunctions, and prepositions of three letters or fewer. There’s one exception: Any word that is the first word in the headline or the last word should be capitalized, regardless of its part of speech.

The script isn't perfect: it won't keep acronyms upcapped (e.g., NSA will turn into Nsa). But it will lowercase the following words:

a, an, and, at, but, by, for, in, nor, of, off, on, or, out, so, the, to, up, yet

View the outline here. If you copy the headline to your clipboard, you can paste it into your menubar.

Visit the Fargo scripting page in the docs to learn how to install this script, or watch this video.

I've also published a regular javascript version of the script here.

Update (December 18)

I've rewritten the script to compare each word in the headline to an array of words to keep lowercase using a for loop within a for loop. You can view that version here.

12/16/13; 04:52:48 PM

Tweet This Post

The latest release of Launch Center Pro supports lists. You can read the release notes or Federico Viticci's extensive post on MacStories for details. The gist is that if you find yourself entering the same terms over and over again within a prompt, you can instead choose these terms from a list.

I've written an Instagram action that lets you jump to one of your favorite profile pages in the Instagram iOS app. Just tap on this link while you're on your iOS device to install the action. It looks like this:


Every username is separated by a pipe (|). Just substitute username1 with your favorite profile username, username2 with another, and so on.

12/12/13; 12:22:25 PM

Tweet This Post

Spotify now lets users play any song on demand on tablets (like the iPad) for free, and will let smartphone users play shuffle on the songs by any single artist, or from a playlist.

I am currently paying Mog $10/month so that I can play any song on demand and download songs to my iPhone. Because I commute close to two hours per day via the subway in NYC, it's important to me to have access to music when I'm underground.

  • Although I have a large iTunes collection, there are times I don't want to spend the money to buy a song even if I have downloaded it in my Mog app for listening while I don't have an internet connection.

    • (Some songs don't last the test of time.)

With this Spotify news, I am thinking of ending my monthly Mog subscription, listening to Spotify on my iPad when I have wifi, listening to artists or playlists on shuffle on my iPhone when I have 3G, and drawing from my iTunes collection.

I need to determine if this will save me money. There are Mog downloads I listen to so much that I would feel compelled to buy the tracks or albums on iTunes for on-demand listening. Would I buy $120 worth of music if I dropped my subscription?

  • I figure if I buy less than one album per month, I will have saved money over the course of a year. The major inconvenience I anticipate is not being able to listen to any song on-demand on my iPhone while I walk from the subway to my office.

What About the Artists?

Apparently Spotify had to negotiate hard with the major labels to get this deal, to allow so much free ad-supported streaming. I have no idea how this will affect the artists. I have certainly read how paltry the dividends some musicians and songwriters have received from the steaming services. I also don't know if I care. I am willing to spend money on concert tickets to see Alter Bridge, and I am sure I will download Fortress via iTunes if I quit Mog, because it's a great album.

  • Basically, I am willing to spend money on artists if I love them but not if I like them.
12/12/13; 10:04:32 AM

Tweet This Post

On my I Miss My Mac blog, I offered a JavaScript bookmarklet that saves the current page in an iOS web browser as a markdown link and sends it to Drafts.

I have been using iCab mobile frequently, and often put markdown links in a text editor like Byword to use as a bookmark manager; here is an alternative bookmarklet/Drafts URL action that opens the markdown link in iCab.


(The semi-colon at the end seems to be necessary for iCab but not other iOS browsers -- feel free to experiment.)

Install the Bookmarklet

  1. In your iOS browser of choice, save any page as a bookmark and retitle it (e.g., "iCab-MD").

  2. Open Edit Bookmarks, tap on that bookmark, and replace the former URL with the javascript above.

Install the Drafts Action

The javascript tells Drafts to implement the texttool-icab action. Tap on this link while you're on your iOS device to install it. (You must own a copy of both Drafts and TextTool to make this action work. However, you don't have to set up TextTool to do anything.)

Here is the URL Action:


How It Works

  1. The bookmarklet sends the page's title and URL in markdown link format to Drafts.

  2. Drafts sends the draft to TextTool, which replaces http with web (which is the URL scheme to open a web page in iCab).

  3. TextTool copies the results to the clipboard, then sends the user to Byword. (If you want it to send you to a different text editor, just add its URL scheme after the x-success= parameter.)

Part of my day job as a web producer involves resyndicating recipe content. I basically take a whole recipe from the original site, re-render it in HTML in a slightly different format, and post the HTML in a different CMS.

The format of a recipe step on the original site looks like this:

  • STEP 1

  • Whisk the eggs, sugar and flour.

I want it to look like this in the resyndicated format:

  • 1. Whisk the eggs, sugar and flour.

I've written a Fargo script to accomplish this, you can view the code here. If you select the top headline and copy it to your clipboard, you can paste the OPML straight into Fargo.

Visit the Fargo scripting page in the docs to learn how to install this script, or watch this video.

To make it work, I just copy the text from the original site and paste it into Fargo. "STEP X" is its own headline, the instructions are the headline below it. I run the script on the first headline. If the first four characters are "STEP" I remove all the characters before the number, add a period after the number and bold these two characters, then grab the instructions, append them after the step number, and remove the instructions line.

12/10/13; 11:26:13 AM

Tweet This Post

I'm debating a return to Simplenote. I used this service a few years ago until they lost a whole bunch of my notes. Since then I've been using a combination of Dropbox iOS text editors (notably Nebulous Notes, Notesy and Byword) and Drafts.

Drafts uses Simperium as its sync service, and Simperium is produced by Simplenote. I have found Simperium to be reliable. I use Drafts on an iPhone and an iPad and have never lost a note. Now that Simplenote has been acquired by Automattic, I have been looking at the product again. I trust WordPress, and I trust Matt Mullenweg.

Of course, trust means many things. I trust the ethos of Automattic, I trust the stability of their cloud (I pay them for VaultPress to backup my Sasstrology blog), I don't know if I trust them in the "create a backdoor for the NSA" sense, although I would like to believe that they are the kinds of people who would put up a fight.

I am not keen on using a notes service in which I do not control my data. With a self-hosted WordPress solution, my blog contents sits in a database on my own webhost. With Fargo, my OPML files are stored in a Dropbox folder on my hard drive. Same for the Dropbox iOS text editors. And I only store stuff on iCloud that I am not too attached to.

Simplenote does have various export options, but that's not the same as having the data stored on something that I own (or rent, in the case of web hosting). Although Simplenote uses the same sync service as Drafts, the latter is meant as a temporary holding bay for ideas that will be sent to other applications, whereas Simplenote is for archiving text notes.

I suppose my decision may come down to the user experience. I've read that Simplenote is blazing fast. Is it better than any of the Dropbox iOS text editors that I use?

I will report back when I have an answer.

Tags: text, sync, apps

09/25/13; 03:49:43 PM

Tweet This Post

is not being able to dance.

I've had a cold since last Monday, and already took two sick days. I usually dance two times per week, and unfortunately I barely have enough energy just to put in my 8-hour workday and do family-time and house cleanup.

Life feels incomplete without the boogie.

09/25/13; 03:34:39 PM

I found this satirical video about rape culture hard to watch. It's troubling how much women are blamed for men's actions. And this is such a universal issue -- nearly every culture is patriarchal.

Tags: rape, feminism, patriarchy, video

09/25/13; 01:04:56 PM

Tweet This Post

After I was laid off from my first full-time job in digital, I decided to focus completely on my blog. I had a nice sponsorship from a psychic company plus some Adsense income and rev-share from selling a dating ebook. The money I was taking in was not nearly enough to support my family, but I reasoned that just putting the rest of my expenses on credit cards until my blog was more profitable was worth it.

  • In retrospect, I was suffering from the delusion that I could earn an income comparable to that which I earned as a full-time employee. Instead, I just racked up debt.

I enjoyed working from home. I had company (my wife) and if I absolutely needed to get out of the basement office I could bring my laptop to the library or local cafe. I didn't have to commute or get dressed, I got to snack on food not created for consumption by Corporate America, and I had my own schedule.

Unfortunately, the psychic company eventually realized they were not getting enough bang for their buck, and pulled out, and I had to re-enter the workforce. Now I'm a full-time digital worker bee, publishing/editing my blog in my spare time.

I've reorganized my priorities on the blog such that I only do stuff that I enjoy.

  • I only work with really good writers.

  • I focus on the technical and business aspects of the blog, not the astrology.

Knowing What I'm Not

  • Although I read Fast Company and Inc., I don't think I will ever start a real business. I blog for self-expression or to share something geeky I wrote (an iOS URL scheme, an action in Drafts, a snippet of javascript or PHP).

  • I do not feel gung-ho about working full-time in Corporate America until I retire (if I'm lucky enough to work in digital that long), but I'm not sure I see what other options I have. I've done freelance work before (building WordPress sites); I've "consulted" (astrology readings); I was a psychotherapist working at fee-for-service clinics for a few years. I don't want to go back to counseling, and although I would not mind building WordPress sites for a living, I'm neither a designer nor an experienced coder, and I don't think I can truly stand out in the professional WP marketplace if I don't design themes or work on the backend (e.g., plugin development).

    • Don't get me wrong -- I'm grateful to have a job with benefits. I can pay my mortgage, feed my family, and pay for my daughter's braces.
  • Also, I'm not very good at hustling for clients, which limits my ability to thrive as a solopreneur

Knowing What I Am

  • I'm more of a jack-of-all-trades than a specialist. I can write, edit, tinker with CSS and PHP, crop and resize images, work the FTP. Basically, I can run a big blog without anybody's help.

  • If only the blog had five times the traffic, I could still work at home in my sweats.

Tags: career, wordpress

09/20/13; 09:43:56 AM

The outliner part of Fargo has been open-sourced. Although Fargo gives users the ability to post a headline and all of its sub-content to WordPress, it would be cool if you could outline right within WordPress. You know how there are already "Visual" and "HTML" tabs in the editor? A plugin could add an "Outline" tab, where Concord lives. Outline your blog post right there and hit Publish.

The downside is that your outline lives in some mysql database instead of an OPML file in Dropbox. But the upside is that the source of your content is in the same place where you publish it.

I don't have the PHP skills to create this, but I invite developers to run with the idea.

Tags: wordpress, concord, opml

09/18/13; 12:53:49 PM

For much of the first decade of the new millenium, I identified on the internet as an astrologer. I blogged about astrology for about a decade, and I still publish a popular astrology blog. I also "did readings" -- I stopped astrology consulting a few years ago as well.

It is not the case that I no longer believe in astrology, it's just that I don't want to identify as a Career Astrologer. I still get email inquiries asking for free advice, and I occasionally get referrals from colleagues. All I can do now is politely decline inquiries, or just not respond at all.

Astrology does not factor into my consciousness like it used to. I don't keep track of lunar cycles or where a particular planet is. If I'm curious about an incident or inner experience, I may look up my transits (the angles that current planetary positions make to the planetary positions at the moment of my birth). I don't think I will ever forget the knowledge I have acquired as a consultant and writer, even if I stop editing posts for my blog. And I don't think I will have a "crisis of faith" and one day decide that astrology is bogus. I just am not very invested in it.

I wish there were an easy way to make this known all over the internet. I don't think I need reputation management -- I don't believe that my association with astrology harms my current career trajectory. I just wish people wouldn't email me about it. It's over and done with. A past life.

  • I still care about my astrologer colleagues, because I have cultivated some of these relationships for close to a decade. I just don't want any new astrology colleagues (or clients) unless the association benefits my blog. (Totally utilitarian.)

Tags: astrology

09/10/13; 02:40:27 PM

I've been paying Amazon about $20 per month to host a remote instance of Windows Server running the OPML Editor, which "polls" OPML files on a regular basis to produce Rivers of News (for me and my astrology blog).

Not sure if this is worth the money. I paid a one-time licensing fee of $35 to host Fever on my VPS. It isn't costing me extra to run the software (i.e., the added bandwidth falls within my current hosting plan).

  • The astrology river garnered less than 1000 pageviews over the past month and yielded one penny in Adsense income.

  • I mostly look at my tabbed rivers to see what Dave Winer has posted, but I can just as easily add all his feeds to Fever.

Tags: rss, opml

09/06/13; 11:58:55 AM

The traffic to my astrology blog has dropped precipitously in the last three days. Drilling down into my analytics, it appears that I am getting less than half the Google search traffic I was getting just this past weekend.

Yes, I am worried. The blog brings in money. But it is also seven years old. It has over 5k fans on FB, over 2.5k followers on Twitter. I have a sizable email list (that I haven't been using since I ditched Mailchimp) that I can contact if I need to. Also, I have diversified my income streams such that I am not solely dependent on pageviews (i.e., ad impressions).

Nonetheless, I feel I need to keep bringing in "new eyeballs," because only a fraction of new visitors become fans. I feel helpless, and I don't want to try to divine Google's algorithmic intentions. ("What am I doing wrong, Google? Why hast thou forsaken me?") When I feel this way, I feel more determined to reduce my dependence on search traffic, yet Google is by far the biggest referrer to my site.

If Font Awesome had an unhappy face icon, I'd insert it here.


Tags: google

08/22/13; 10:53:55 AM

I just set up my own domain with and am going to start offering [email protected] as my primary email address instead of [email protected] It took opening tickets with both my host and Fastmail to correctly set up my MX records and my email alias, but now it is working.

The "straw that broke the camel's back" was this post on Groklaw about the author's choice to shut down the site (who knows how long this link will be active?) in light of recent disclosures about our current surveillance state, as well as numerous posts by Marco Arment about reducing his dependence on Google (particularly this one).

I have no illusions that Fastmail wouldn't make their servers available to the NSA upon a court order (although honestly I haven't read their ToS and Privacy Policy closely to even find out). But I feel they'd put up more of a fight than Google (and yes, my "feeling" may not be justified by any facts).

But privacy concerns aside, I would rather be a customer than a product. To Google, I am a product and the advertiser is the customer. The advertiser is paying for my attention. By choosing to pay Fastmail (by the time my 60-day trial ends) I am choosing to be the customer. They are serving me, not an advertiser. No software is reading my emails for the purpose of determining the most contextually appropriate ads to serve me.

I still rely on Google. I do searches while logged in. I use Maps; Calendar for my business; Drive to store some docs and spreadsheets that I frequently edit; and probably other services that are not coming to mind right now. I do not think Google is Evil, but I also don't feel that they have my best interests in mind. I don't want to just contribute to some Big Dataset in the Cloud.

I love the keyboard shortcuts and ease-of-use of Gmail, but Fastmail has IMAP, webmail, keyboard shortcuts, and other features. At this moment, I am willing to forego some convenience. I hope I stick with it.

Tags: privacy, email

08/22/13; 08:41:29 AM


I learned about about this Damsels in Distress series via Wired magazine, in which the creator explores misogynist tropes in video games. Here's the first in the series; I've embedded the second video above.

I'm not a gamer, and although the use of the "damsel in distress" archetype in video games didn't surprise me, the second video was disturbing. I did not know that so many games require the gamer to kill a woman to proceed to the next level, and that in many cases she is literally "asking for it," i.e., asking the protagonist to kill her (usually because she has been transformed into a "beast" and needs to return to her "pure state").

Also upsetting: that the series creator received so much misogynistic social media hate for this project.

I'm a semi-conscious male. I've been aware of concepts like Patriarchy and Male Privilege for at least the last twenty years of my life, and although I'm aware that I indulge in the male gaze and objectification, I make conscious attempts not to take advantage of the inherent power I have as a man. And fortunately, my wife calls me on it when I revert to old behaviors. Having asserted that I am on occasion "part of the problem," I'm a father of a teenage girl, and I don't want her to grow up in a culture in which the tropes explored in these videos go about unquestioned by her peers. I encourage any parent to watch this series with their children (once they're old enough to understand the concepts and are mature enough to view some disturbing imagery).

I appreciate Anita Sarkeesian's courage and intelligence in putting herself and this message out there.

Tags: video

08/20/13; 09:45:45 AM

I wrote a WordPress plugin that enables you to post an outline as an unordered list within a post or page. You can grab the code (and see attribution to Betsy Kimak, upon whose code this plugin is based) here. I just wrote it today so expect further development.

How to Install

  • Copy the gist into a text file.

  • Title it fargo2opml.php

  • Create a folder called fargo2opml

  • Drag the file into the folder

  • Compress folder as zip file

  • Install it into a self-hosted WordPress site

  • Activate the plugin

Or remove the opening and closing php tags and drop it in your functions.php file.

How to Use

In the content area of your WordPress post or page, just use this shortcode:

  • [opml url="OPML_URL"]

(Obviously, paste the URL of the OPML file between the quotes.)

I've tested this in a few blog installations, and for some the padding before the ul is absent, so all headlines are "flat," i.e., not nested. But it works in both posts and pages in the default 2013 theme.

Also if a public URL starting with leads to parsing errors, paste the URL into the address bar, hit return, and use the updated URL that includes "dropboxusercontent" in the URL.

Tags: opml, wordpress, plugin

08/14/13; 04:51:36 PM

My fave band's new single. The album drops October 8.

Tags: video

08/13/13; 02:28:01 PM

I'm so proud of myself. Can't tell you how much obsession and trial-and-error it took to get this to work.

08/12/13; 03:15:18 PM

No plot summary here, just reporting that I maintain a "positive sentiment" about this movie 24 hours after viewing.

It wasn't too thrilling or creepy or funny or touching, but had enough of all these elements in just the right combination that I felt good coming out of the theater.

I've seen just about every sci-fi or comic book movie (except for Man of Steel) this summer. Iron Man left me feeling empty, Wolverine was too confusing. The highlight was Star Trek, and Elysium comes in second. I actually want to see it again, even though there were no box-in-a-box plot twists. A straightforward "fight to reach the goal" or "find what you are made of" film can be good -- it's all in the execution.

08/10/13; 05:03:00 PM

If you're writing a post that you're publishing to WordPress (or as type=html from a named outline) and want to wrap blockquotes around the complete text of a headline, add this to your Scripts menu:

  • blockquote

    • op.setLineText ("<blockquote>" + op.getLineText () + "</blockquote>");

This script will transform

  • A person who never made a mistake never tried anything new.


  • <blockquote>A person who never made a mistake never tried anything new.</blockquote>

Just put your cursor on the headline and choose the script. Highlighting a portion of the text won't do anything -- the entire headline is always surrounded by the tags.

Visit the Fargo scripting page in the docs to learn how to install this script, or watch this video.

In response to Frank McPherson.

08/09/13; 12:22:52 PM

This script builds on the one I offered yesterday. Click on the wedge to see changes, or read the full description below.

  • Creates an Archive headline at the bottom of an outline if it does not already exist.

  • You can apply this script to any headline no matter how nested it is, which means that you can apply it to actions within a project or sub-project. When you archive it, all its children are carried over with it.

  • When you mark a headline complete, an attribute called "completed" is added with the current date and time. You will not see this information in the headline, but you can see it by clicking on the in the left rail of Fargo.

If you have an outline with to-do items (no matter how nested they are within higher-order headlines), this script does the following:

  • Choose "todoArchive" from your Scripts menu to add an empty checkbox when you first enter the action item.

  • When you've completed the item, choose "todoArchive" to add a checkmark to the headline.

    • When you mark a headline complete, an attribute called "completed" is added with the current date and time. You will not see this information in the headline, but you can see it by clicking on the in the left rail of Fargo.
  • If you don't want to see the completed item anymore, choose "todoArchive" to archive it.

    • If the final first-order headline in your outline is called "Archive," the completed item will become a child of this headline.

    • If the final first-order headline in your outline is not called "Archive," one will be created, and the completed item will become a child of this headline.

    • When the item is archived, the "Archive" headline will automatically collapse. You will need to expand it if you want to see all your archived items.

  • If your headline has any other icon value associated with it (e.g., ), "todoArchive" will do absolutely nothing to it.

  • Your outline would look something like this:

    • incomplete to-do item

    • completed to-do item

    • Archive

You can view the OPML here.)

Visit the Fargo scripting page in the docs to learn how to install this script, or watch this video.

08/07/13; 09:10:28 AM

An updated version of this script with more bells and whistles can be found here.

If you have an outline with only a simple list of single action to-do items (i.e, no headlines with child nodes) and an Archive headline at the very end of your outline, this script does the following:

  • Choose "todo" from your Scripts menu to add an empty checkbox when you first enter the action item.

  • When you've completed the item, choose "todo" to add a checkmark to the headline.

  • If you don't want to see the completed item anymore, choose "todo" to make the headline a child of the Archive headline.

  • If your headline has any other icon value associated with it (e.g., ), "todo" will do absolutely nothing to it.

(If you do not see a github embed above, please refresh this page or get the raw code here.)

Your outline would look something like this:

  • incomplete to-do item

  • completed to-do item

  • Archive

If you expand the Archive headline, you will see your completed items.

Visit the Fargo scripting page in the docs to learn how to install this script, or watch this video.

08/06/13; 10:07:52 AM

I've been seriously geeking out on the internet since about 2001, when I built my first web page. Since then, I've learned enough HTML, CSS and PHP to "get by" as someone who runs a popular blog on WordPress. I pretty much only pick things up when I have to, i.e., when I want to add some look or functionality to my site but don't want to pay someone else to do it for me.

A year ago, I downloaded a free PHP manual onto my Kindle, and finally developed a simple web app using a CURL module. I learned what I needed to by looking stuff up online to solve my own problem.

Now that I'm playing around with Fargo verbs and writing my own scripts, I'm finding it not too challenging. With some basic PHP knowledge under my belt, I've just had to look up minor syntactical differences in javascript.

  • Because I already know about concepts like string replace and if-else, I know what's possible and just have to look at how it's done in a different language.

However, when I look at scripts written by real programmers, I am at a loss. I feel like someone who has taken a semester of French and gone abroad, only to understand 5-10% of what anyone is talking about.

When this happens, I hit a roadblock. I don't really want to sit down and formally read a manual on javascript. I have written what I've written for Fargo because it's fun. The moment it stops being fun, when it starts to feel like homework, I resist. It's one thing to go overcome a lack of knowledge because I feel inspired enough to search for a solution to a legitimate problem (or am just plain curious). It's another to study a language methodically because I feel I need to "catch up" with some Ideal Level of Competency.

Producer vs. Developer

I've been working in digital since 2006, mostly doing editing and web production. I love dabbling in programming, but I don't know if I'll ever make the transition to programmer or developer. It seems like a quantum leap is required to move from hobbyist to professional, and I don't know if I have the mind or the desire to make that jump.

  • Maybe out of economic necessity: if I am ever "made redundant" via technology or outsourcing, I would have to do what it takes to become more marketable in the workplace. As much as I'd love to earn a higher salary now, I feel too complacent to develop professional programming skills while I currently have a job.

Comment below: If you're a programmer, how did you "make the leap" or were you always doing this? And if you're a dabbler, how do you feel about coding-as-hobby?

08/05/13; 02:38:24 PM

Last built: Tue, Mar 31, 2015 at 12:50 PM

By Jeffrey Kishner, Tuesday, March 31, 2015 at 12:50 PM.