My Workflows for Writing and Programming

I always find people’s workflows interesting. It’s such a personal process, unaffected by outside demands, that I think it sometimes reveals something about its creator. A lot of readers write or program, so I thought that my processes might be interesting.


Most people who write WordPress blogs write them in the built in WYSIWYG editor. That’s how I started, too, but since then I’ve evolved my process to be more efficient, pleasant, and safe– as in, lacking the danger of losing a post because you accidentally hit the back button.

I write everything in WriteMonkey, a distraction-free editor that I’m willing to defend as being “perfect”. I turn my brightness all the way down so that the dark green background is just a faint glow on my screen. The pale green text floats in the middle of thick margins and takes over my field of vision the way a good movie does. There’s no formatting, just asterisks to denote titles and subsections to bold later.

In contrast to the barren writing environment, the settings menu has every option you could possibly think of (down to regex expressions for things like comments and titles) to make that blank screen as wonderful to use as possible. I use a non-monospace font, have it autosave and autoopen so that clicking the icon brings up my 69,000+ word file that all of my posts go into.

I try to use my own photos for the blog posts as often as possible, which might explain why some of them have almost nothing to do with the text. I edit them in Lightroom and use a export profile which adds a small watermark (just because I think it makes the whole thing look more pro) and automatically sizes to the width of this column.

Once a week I import all of my posts into Microsoft Windows Live Writer. It’s amazing that Microsoft makes the best blog publishing tool, but they do. I don’t love writing in it (although it’s certainly better than the WordPress web-based editor), but it’s great for adding photos and light formatting. All of the meta data like the post slug, excerpt, tags, and post date can be set in WLW and then saved locally or online as a draft.

Oddly enough, the most lacking part of the process is actually hitting the publish button; right now I have a dozen posts loaded up as drafts and another thirty I’m not quite happy with still in WriteMonkey.


As I wrote the last section about my writing workflow, I thought about why it’s so important to have such a specific workspace for writing. I think that it’s because the best writing happens in that “flow” state where nothing causes friction or distraction. Having an environment conducive to “flow” is just as important with programming.

As recent as a few years ago, I was building web pages entirely in notepad. As sites became more complicated and involved more programming, I started looking for tools to help organize everything.

I have a separate partition on my hard drive for my projects. Inside are subfolders from everything from business cards to Make Her Chase You to my new programming project. Inside web programming project folders I have a “www” folder that has a current working version of the site. I use Git, either by command line or, more recently, with Git Extensions to properly version the directory. I’m an amateur with Git, so I mainly use it as a safety net. I know that if I every screw anything up terribly, I know that I can learn more about it and figure out how to get everything back.

Locally I run WAMP, which is an easy-to-install bundle of Apache, Mysql, and PHP. I alias the www directories so that http://localhost/tasksmash/  goes to the tasksmash/www directory on my project partition. I also edit the config files and hosts file to give myself a domain pointing to the project. For example, doesn’t actually go to, it goes to localhost/tasksmash. If you don’t understand that, you probably don’t need to.

I edit files in Notepad++. Although I’ve gone through most of the plugins, I’ve settled on an mostly uncustomized installation. I use the Consolas monospace font, which is just beautifully clear, especially with stuff that matters in programming (i vs. j, 0 vs O).

Thanks to the glorious resolution (1920×1080) of the Z12, I often run Notepad++ on the left side of the screen, and Firefox in the right, especially if I’m debugging something and have to check back and forth often. If I’m in my RV I use my second screen for Firefox and keep the laptop one for coding.


My screens look reddish in the picture because I use f.lux.

I’ve started Tim Ferriss’ Occam’s Protocol from 4HB. Only a week in, so I’ll update you when I have some sort of results to share.


Leave a comment

Your email address will not be published. Required fields are marked *