Recently I’ve found nice app for Windows that could help with quick adding tasks to my list at work. I haven’t wrote about my GTD system that I use in work but for now it isn’t relevant. Sometimes when I’m doing my job I suddenly get an idea or I just remember something that I should do. The main problem for me is to do not interrupt my current work because it has a great negative influence on my performance. Up to today I’ve kept a paper notebook close to me to just write any thought/task/idea and get quickly back to my previous task. It work’s well but what about more sophisticated tasks (i.e. wrote whole piece of code to check if it’s a part of my task that I should do @home). I’ve came up with simple idea – find an application that will help me add my tasks to a textfile and send it to my email account.
The application is called Launchy. I’ve added a command to Launchy that appends file when I use command ‘do’ (http://benkraal.wordpress.com/2007/05/16/launchy-append-text-to-a-file-from-anywhere/). Normally I use QuickSilver on a Mac and this feature is available from the beginning.
I have my INBOX.txt file that I use as … it’s not hard to guess – INBOX. Every task that I have to do, every little ideas that comes to me it’s simply and very quickly added to this file – using only Lanuchy and ‘do’ command. This file is used as inbox also for my work GTD system. To differ home items from the work items I use simply @home context name.
I wrote a short ruby script that parse the INBOX file and grab @home items and send it all to my private email. I use Outlook at work so it wasn’t hard to send email by Win32OLE.
require 'win32ole'
def send_email(body)
outlook = WIN32OLE.new('Outlook.Application')
#grab the Outlook app
message = outlook.CreateItem(0)
#Create item 0 - email
message.Subject = 'Todo'
message.Body = body
message.To = 'your.email@mail.com'
message.Send
end
todo = File.new('Inbox.txt',"r").readlines
#open INBOX and read tasks
File.new('Inbox.txt',"w").puts todo.reject{|el| el=~/^@home/}.to_s
#Remove processed @home tasks from INBOX
todo = todo.select{|line| line=~/^@home/}.map{|el| el.sub("@home ","")}.to_s
#remove '@home' tag from task name
send_email(todo) if todo != ""
#if there are some tasks -> send
I use todo_mail.rb script to automatically process received email.
0 Responses to “Quick sending todos from work to home.”