So the question I get the most often about this blog is, “How do you manage to post consistently every day in the wee hours of the morning?” The answer to that requires a bit more context for how I run The Daily Thought. (cue the “man behind the curtain” music…)
Here’s what it looks like for a post to get from my head to your RSS reader. (Warning, this gets a bit geeky.)
When I’m done with the post, I’ll preview it in TextMate, and then publish it via XMLRPC to admin.thedailythought.com, which is a private site that I developed using Ruby on Rails, hosted on Heroku. In order to get it to accept published posts from the TextMate blogging bundle, I implemented it to masquerade as an XMLRPC blog endpoint, using a custom library I wrote for the purpose, xmlrpc-endpoint.
A post enters my admin tool in draft mode. At that point, I go in, preview it with the final thedailythought.com formatting, add tags, and mark it as “ready”. I can see all the posts I have in the queue at any given time, and I can drag-and-drop reorder them to help control what flows out to you when. I typically have 1 - 10 posts ready to go. I don’t write them months or even weeks in advance, but I do get nervous when I’m sitting right around zero posts in the queue, don’t want to miss a day!
Every night, a program behind-the-scenes runs, it looks for the next post that’s ready to go, and it publishes that post via XMLRPC to The Daily Thought. It then sends me an email if there are less than 5 items remaining in the queue to remind me to write more blog posts.
So there you have it. End-to-end, a picture of TDT.