- Ian Marcinkowski
- ian@desrt.ca
- git://git.desrt.ca/mail
- jabber: ian@desrt.ca
- flickr: ianmarcinkowski
adventures in mail - week 10
Submitted by ian on Tue, 08/04/2009 - 00:09Another week. I have not blogged in a few; life is busy!
This week was full of work. Interesting work, I must say.
Ryan (desrt) and I have been getting quite a bit accomplished in my quest to make email more accessable. We now have a working DBus api for folders lists.
Currently supports fetching from the server and updating the list of folders and their message counts.
The api is stable enough right now to write code based on it. Ryan is writing a bunch of fun command line utilities right now that use the api.
Some highlights of this past week:
Faces of GUADEC '09 - Part 2
Submitted by ian on Sat, 07/18/2009 - 02:39Somehow, Planet picked up my the now-deleted first draft of this post. Much love for accidental 'Submit' button presses.
As I was saying before:
Since returning to Canada from GUADEC, I have not sat still long enough to make this blog post.
The Gnome Foundation was awesome enough to sponsor me to come. Without their help, I would not have had the chance to meet a lot of great people!

Adventures
Submitted by ian on Sat, 07/11/2009 - 20:58July 10, 10:30 (+1) - Wake up
July 10, 12:00 (+1) - Lounge around
July 10, 20:00 (+1) - Farewell party
July 11, 05:00 (+1) - Airport taxi
July 11, 06:20 (+1) - Spanair 5005 to Madrid
July 11, 13:00 (+2) - Air Canada 837 to Toronto
July 11, 17:00 (-4) - Family gathering
July 11, 22:00 (-4) - Finally home
July 12, 12:00 (-4) - Wake up
adVentures in maIl - wEek 6
Submitted by ian on Mon, 07/06/2009 - 14:04This week I am at GUADEC. I have been lucky to see a great number of
talks and talk with some great people.
I have not had an unproductive week, however.
Over the past week, I have written the code to connection asyncronously
to an IMAP server and do some -basic- IMAP parsing.
>From latest git commit (
IMAPFolder
tracks overall folder uid list
count of messages in the folder
has data_in and data_out GIO streams
change_state ()
checks if folder is in the IDLE state and
sends DONE command if necessary to perform
another command
new_search ()
GUADEC
Submitted by ian on Mon, 06/29/2009 - 23:52I'm leaving tomorrow for Las Palmas de Gran Canaria.
I was lucky enough to be sponsored by the GUADEC travel committee! I'm thrilled to meet some great new people.
Adventures in Mail - Week 5
Submitted by ian on Mon, 06/29/2009 - 23:43Sorry for the late post everyone. I'm prepping to fly to Gran Canaria tomorrow for GUADEC. (Early, I know).
this last week was filled with other work and planning for my own project.
I have a finalized idea of how the service back end will track lists.
It is unlikely that I will be using Twisted for my server connectivity. Instead, I am currently using GNIO through pybank / girepository.
Python Twisted
Submitted by ian on Fri, 06/19/2009 - 12:36Twitter-esque entry #241011:
Investivating Twisted for asyncronous connection directly to IMAP
Adventures in Mail - Week 3
Submitted by ian on Sun, 06/14/2009 - 19:00I have successfully modularized my code. My DBus API now has little trace of IMAP-ism and my cache is working fully asyncronously. It has been a week of learning. Being asyncronous was hurting my brain initially. I'm getting used to it.
This past week:
*Fought with Git
*Cleaned code
*Separated code into module files
*Fetch data using UID instead of IMAP folder sequence number
This will be useful for when I'm not dealing with IMAP-based mail
*Fetch mail from the local cache if it is present, otherwise, ask the server
Adventures in Mail - Week 2
Submitted by ian on Mon, 06/08/2009 - 20:26Little progress this week, unfortunately. Some unrelated work got in my way.
The last week was spent discussing how I want to have the the DBus API and the storage backend communicate.
My TODO list was:
* DBus API needs to be totally independent of the cache
* Store raw RFC822 messages in a Maildir-esque local cache
Information requested of the DBus objects will send the request through to the storage backend which will now search for it locally but hit the server if the required information is required. This is rudimentary at the moment.
Adventures in Mail - Week 1
Submitted by ian on Tue, 06/02/2009 - 21:04I started coding during the community bonding period.
During this phase I laid out the DBus API for mail, started a basic Command module that will control configuration dataMail will be broken down into objects.
Most of this time was spent figuring out how to handle asyncronous requests of the mail server. Initially, I am using a bunch of threads and a queue for them
to pull work from.
Mail is conceptually separated into Accounts, folders, lists of messages and messages, each with their own API accessable over DBus.
Messages
-get_(body|headers|etc)
Lists
