Work music

There was a time in my life when work required music. The rhythms from my headphones cleared distractions and inspired dragon slaying.

That’s changed. It’s likely because of the need to be available for discussion, questions, and other productive distractions at the office. The habit isn’t extinct, but it’s rare to find a chance to slam the door to the world closed with headphones.

I’ve found stringed instruments and classical arrangements to be the best auditory performance enhancing drugs (APEDs). Vitamin String Quartet always seems to come back up in the rotation, especially when combined with a great album like Tool’s Lateralus:

There’s something about the time signatures and transmogrification from varied instruments to strings that just works.

Technological flow

I spend too much time looking for flow in my life. It’s the space where time moves without reckoning and I’m fully immersed in the task at hand. I’m often surprised when I crash out of flow. My next step almost always involves plotting impossible processes to sling my mind back into the flow. Today brought a technological flow by way of PHP. Today I’ll just take the flow.

An update on habits

When this post is published I will have successfully marked an X on the calendar for every day this year. If you’re wondering what I’m talking about you can find out more by reading my previous post where I discuss my plan to make habits in 2014. In short, I wanted to focus on making habits by employing a Jerry Seinfeld productivity tip.

The habits I’m trying to build have to do with writing, coding, running, and strength training. For every day I either write or code and either run or workout, I get an X. It hasn’t been easy for the last couple of weeks, but I’ve done it.

The writing and coding has been the easier part of the equation, which is surprising to me. I’ve written a bit more than 7,000 words of fiction (mostly first drafts and notes for various stories and surely utter shit as a result) and about 1,000 words for a new site I started called Midnight Horrors. I also wrote code for the site, which met my writing/code requirement on a few days.

On the exercise front I’ve only managed to get in about 18 miles and a bunch of random strength workouts. That mileage came as the result of only 5 runs, which is half the number I had planned for the last two weeks. It turns out running is hard when you have a head full of snot and pounding headaches from cedar allergies. Imagine that!

I think this habit thing is going to continue, mostly because I want to keep the streak going. That’s the wonderful thing about this system. In the beginning you have all the motivation in the world to do things because you’ve just started and the shine hasn’t worn off yet. Once you get into it a bit and run into some obstacles, however, you have the length of the streak dragging you along until it gets easier again. It’s the perfect motivation so far.

I don’t want to get too far ahead of myself, but perhaps I’ll be building even more habits in 2014 if my success continues.

New Year, new habits

A year ago today I wrote about my goals for 2013. For the most part I failed to meet my goals. I didn’t even start some of them!

Since then, I’ve learned a few things about the way I (and mostly all of us) work. Goals, I’ve decided, are pretty much terrible at making anything happen. As with everything my life this realization might only be applicable to me. I only know about me, so there we are.

Anyway, I did manage to read a lot in 2013 despite omitting that wonderful activity from my goal list. I read a lot about how people (mostly successful, some just interesting) make stuff and go about being happy and productive in their lives. A lot of the reading came from Hacker News and I subscribed to an awesome blog about productivity called The Setup. Amongst all that reading (some 300,000 plus words on the interwebz alone according to my Pocket stats) I came across some great ideas and tools for accomplishing things.

Oddly enough, two of the best articles came from Lifehacker even though it was only the source of about two dozen of the hundreds of stories and posts I read in 2013. I found out that building habits would probably work better than setting goals in the traditional way. I also read about Jerry Seinfeld and productivity. Put them together and you have my plan for 2014.

I plan to put a bunch of X’s on a calendar. They will be for writing, coding, running, and strength training. That’s it. I want to do those things every day for a year and get all those X’s on the calendar. Really though, I want to build habits that will become a part of my daily routine.

Happy New Year. I hope 2014 is full of X’s (or goals, or whatever makes you happy) too.

The Automation Fallacy

First, an apology. If you Google the headline you won’t find anything real. Real in the sense of a described fallacy, that is. What is real anyway? Is this blog real?

Anyway, your search find turn up something about the Luddite Fallacy or other ideas, but no such luck for the Automation Fallacy (at least not yet).

To me the Automation Fallacy goes something like this:

If you automate a process that makes a goal more difficult to accomplish, you increase the chances of accomplishing said goal.

It’s a fallacy because there could easily be other forces at play that make it difficult to complete the goal. Perhaps it is a particularly onerous goal, or the level of expertise to be successful takes many days, months, or decades to acquire. Whatever the case, automating the process to increase productivity does not increase the likelihood that the goal will be accomplished (although it could).

Not too long ago, I wrote a post where I hypothesized that automating my blog posting method might make more posts show up on the blog.

If the intervening time serves as an experiment then I can safely say the hypothesis failed. I must blame the Automation Fallacy in absence of another readily available method of cognitive dissonance.

There is one relevant area of research overflowing with well-tested hypotheses and, dare I say, theories (at the risk of offending the “it’s just a theory warble garble!” crowd) that may apply to this situation. Science types of all kinds study habits, and the general consensus seems to follow this idea:

Do something regularly for a long time and it will become a habit.

That might be an overly technical explanation, but you get the point. If I blog on a regular basis it will become habit and I will meet my goal.

I really hope it works this time so I don’t have to make up the Habit Fallacy.

Bookmarks, used books, and time machines

‘Snooks,’ Only 3, Learns to Knit’

1941 bookmark

I love finding old newspaper clippings in used books, and this is by far the best I’ve found. The 1941 clipping is all about Snooks, a precocious 3-year-old knitting phenom who lived at 222½ Duck Street in Stillwater Oklahoma.

Since she learned to knit a week and a half ago, she’s found time to complete several inches of a bright blue snow-suit jacket for her doll, Rachel.

The whole story goes on like that. I can’t imagine a human interest story like this taking up so much space in a paper today, or at any time in my life for that matter.

I wonder where Snooks is now. She would be 75. If she’s still around I hope she’s still knitting away.

Markdown to HTML to WordPress automatically with Automator

As promised, today I’m writing about how to post Markdown text from your favorite text editor in OS X to WordPress automatically with just three keyboard shortcuts (you also have to write the title of the post and press one button in the process, but that makes it sound less awesome).

The idea to create this workflow came after I noticed my writing frequency increased after I purchased iA Writer, but the increase didn’t result in more blog posts here. Unfortunately the software alone didn’t make me write more. I made a daily writing goal and so far I’m mostly sticking to it, which explains the increase. iA Writer makes the process more enjoyable, however, which seems to be helping with the frequency to some degree.

Rightly or wrongly (time will tell) I figured if it was easier to get my words to WordPress I might end up posting more. The default WordPress editor presents a lesser of two evils scenario. The WYSIWYG editor is unreliable and writing HTML markup in the text area slows down the process. There are Markdown plugins, but you can only go the all-or-nothing route with them from what I’ve seen. iA Writer can export HTML, but then you have to copy, go to the browser, log in, paste, then post. It seemed feasible to go straight from Markdown to WordPress, so here we are.

It took quite a bit of tinkering and Googling to figure out this workflow. I’m mostly satisfied with the solution (more on that later) and I hope you find it useful as well. Let me know if you have any improvements or questions in the comments below.

Note that the images in this post were not published through the automated process. I’m confident that functionality can be added with a plugin like Postie. I will likely add it later so I can have better control over post categories/tags through the automated process as well, but that’s for another day.

The prerequisites

Here’s what you’ll need to set up the workflow:

That’s it!

The workflow

The workflow is simple:

  1. Write post in iA Writer (or your favorite text editor) with markdown. Don’t include the post title as we will write it later.
  2. Select the text (keyboard shortcut one)
  3. Convert the text from Markdown to HTML and copy it to the Clipboard (keyboard shortcut two)
  4. Initiate the post to WordPress automation (keyboard shortcut three)
  5. Write the title for the post and press the Continue button. I Tab twice then Enter so I don’t have to use the trackpad.
  6. Visit the blog to initiate the automated browser activation and check the post for errors

If you’re reading this I’m assuming you can take care of the first two steps without any direction.

Next we need to set up the service for Step 3. Markdown Service Tools comes with 30+ awesome Markdown-related services. The one we need is called md – Convert – HTML to Clipboard. As the name suggests, this takes highlighted Markdown and converts it to HTML, then sends it to the Clipboard. Open up the service (you might have to Control click to get passed the Unknown Developer warning) and choose Install when prompted. You should see something like this:

Convert Markdown to HTML

You can add a key binding to this by opening System Preferences > Keyboard then navigating to Keyboard Shortcuts at the top and Services in the left menu.

Convert Markdown to HTML shortcut

As you can see I use Command-Shift-H for this because it makes me think of HTML; and I don’t like trying to mash four buttons so the more logical Command-Shift-Option-C was out. When I hit the shortcut the selected text is converted to HTML and copied to the Clipboard. Step 3 complete!

Now that you have everything you need for Step 3 it’s time to get into the fun automation part. We’re going to accomplish this with one application and one service from Automator.

First let’s build the application that will do most of the heavy lifting. Create a new document in Automator and choose Application when prompted.

The left pane shows the library of various things you can use to build out your Automator applications or services. It’s quite extensive and useful, so use it to automate your other tasks! All you have to do is pull the actions you need over to the right pane to start building your application.

Remember, we already have our HTML copied to the Clipboard, so the first thing we need to do is get the contents of the Clipboard. Automator makes this super easy with Get Contents of Clipboard under the Utilities section.

Get Contents of Clipboard

Next, we need to create our new mail message. The action we’re looking for under Mail is called New Mail Message. Drag it under the first step and add your super duper secret email in the To field.

New Mail Message

I didn’t didn’t figure out a way to write the title in the text document and somehow transfer it to the subject line of the email (which is where WordPress gets the title for the post). If you know of a way to do grab the first line of the text and make it into the subject line let me know. Until then you have to make sure to check the “Show this action when the workflow runs” box under Options.

New Mail Message options

This option stops the flow so you can add a Subject to the message before it is sent out. You can also choose to only show the Subject field as I have. So now we have the email set up with a subject line so we can move on to adding the message content from the clipboard.

This step uses the Watch Me Do action, which can be found under Utilities. As you probably guessed, this allows you to record something you do and turn it into an action. In this case we will be pasting into Mail. I opened up a new mail message, then went to Automator and pressed the Record button at the top (note that you might have to set up accessibility options if prompted). Then I clicked over to mail and hit Command-V into the message area. Last I went back to Automator to stop recording and ended up with this:

Watch Me Do

I only need the Press Command-V event, so I deleted the first step. Now we have the the post text in the Message field and we’re ready to send the email to WordPress.

For this it’s another simple step, all we need is the Send Outgoing Messages action from Mail. It will send the message for us.

Send Outgoing Messages

You can stop here if you want, but I added another step to quit Mail because I don’t use it for email. I added a Run Applescript action with that adds a 10-second delay then quits the application.

on run {input, parameters}
delay 10--number is time in seconds
tell application "Mail"
quit
end tell
return input
end run

Run Applescript

You could also add a step to open up a browser window and visit your site to initiate the automated browser activation here if you wanted. I didn’t because I would have to wait for the delay for Mail to quit and I can just navigate to the browser quickly and load my site during the delay. If you want to automate this step I think you could accomplish it with Get Specified Text with your site’s address in the text area followed by the Display Webpages action.

Now you can save the application and add it to your Applications folder. I called mine PostToWordpress but you can call it whatever you want; just remember the name for the next step. We have to create a service so we can run the application with our last keyboard shortcut.

Create a new Automator document, this time a service instead of an application. We need the Launch Application action under Utilities. Choose your application name, save it, and create whatever shortcut you want in System Preferences.

Launch Application

That’s it! You should be set up to follow the steps above to post to WordPress directly from selected Markdown text. Remember, someone has to visit your site to tell WordPress to get the message and publish the post. Depending on the traffic of your site you could wait, or visit the site yourself to initiate the automated posting. I like to go to the site and refresh a couple of times to see the post, then read through it to check for errors.

A note on images

I’ve already mentioned Postie, but I wanted to outline the process I used to insert the images in this post. It still uses Markdown and all the writing is still in iA Writer.

First I gathered all the screenshots and sized them appropriately. Then I uploaded them all into WordPress and copied the URLs to insert into my text document. I use [Jumpcut] (http://jumpcut.sourceforge.net/) for clipboard buffering so I just did it all at once. Then I added the appropriate Markdown image syntax to insert the images where they needed to be. Once the post was uploaded the image links were already pointing to the right files, so they worked!

I hope you find this workflow useful. Let me know if you have any improvements or questions in the comments section. Happy automated posting!

I’m testing my automagic posting workflow

Tonight I am running a test. It is a very simple test.

This should post to the blog automagically. If it does I will write about the way I set it up.

If not I will search the Interwebz far and wide to find this post, because they all deserve a chance to lead a good, published life.

All posts deserve to have a good life.
some guy that one time

Does this work? If you’re reading this the answer is yes.

Time and writing

I’m writing this as part of my dedicated “writing” time for the day.

Last night I planned out my day in its entirety. I blocked out time for everything from “work” to “dinner.” So far I have managed to keep mostly on track, as evidenced by this post.

I decided to start blocking out my schedule after trying — and failing — to start work on some side projects I’ve been rolling around in my mind.

I found myself thinking about writing, but never made the time. I thought of blog posts, short stories, and even a few random thoughts that would flow nicely onto the page; They never materialized because the process began and stopped at the ideation stage.

The time block schedule should help solve some of those problems. I’m hoping it will also allow me to spend more time on the trails running.

I will report back on my success or failure; you can probably judge it for yourself based on the number of new posts on the site as well.

Here are (most of) the tools I’m using for my side projects:

Time management

Writing

  • iA Writer and sometimes Day One when I need to go back to ideas I wrote down before

Running

Surprises and birthdays

Yesterday was like most other days. I went to work, sat at the desk where I ply my trade, and eventually came home to feed Luna the Dog. These are all ordinary tasks in the motions of my life, completely unsurprising in their reliable regularity. I made it to the part where I feed Luna and take her outside to do her business. Everything was normal except for the sky — it looked fit to tear open and release the rain we so desperately crave. Luna and I hurried along to beat the storm and nothing seemed amiss.

We dodged the rain and made it back through the threshold of the apartment, where I stopped short with disorientation. I looked up to see my mother on the couch — an unusual sight because she makes her home about 1,200 miles away from Austin. I stopped and rifled through a quick succession of disastrous potentialities that her presence was about to make real. Did something terrible happen back home? Is someone I love dead? I saw her smile and knew there was nothing to fear.

Yesterday notwithstanding, I can’t remember the last time I felt genuine surprise. Perhaps that explains my initial reaction. I didn’t even know if surprises were to be welcomed or dreaded; life hasn’t afforded me  a chance for reflection on that topic recently. Today I can say any surprises that involve happy visits from loved ones definitely fall in the former group.

I’m pleasantly surprised and looking forward to my time with Mom.