Sunday, July 30. 2006
I put even more work into Liam this weekend, and added and improved several things. For example, it is now possible to save attachments or even complete mails to your local file system. I improved handling of MIME types with attachments, including choosing the best encoding for the mail body and each attachment. And even such small things as defining a signoff string, a signature file or your preferred editor have been implemented. The performance issues that I previously experienced with the file browser are no more, I was able to identify the problem and fix it.
And so far, I only have a few more big TODOs on my list, like moving mails to other folders, a search function, a notification when new mails arrive while the mailbox is open and a scripting interface to make Liam scriptable and more customizable. Support for other protocols and storage formats is also missing, but e.g. support for Maildir(++) and MBOX should be pretty easy to implement. What I also have in my mind is a (hear! hear!) disconnected mode that should make it possible to read mails that have been downloaded previously, but that lies a bit farther in the future.
That's my status report so far, feedback is as usual welcome.
Friday, July 28. 2006
This week, I put quite a lot of effort into pushing Liam further in terms of features. It is now a quite nice mail client, already. What you can currently do is send mails, reply to mails, forward mails (even as attachments, just like Thunderbird does it) and attach files to mails with a nice file browser. You can view mails, viewed mails will be marked as seen. You can mark already seen mails as unread. You can mark mails as deleted, and then expunge them from the mailbox. Mails marked as deleted can also be undeleted as long as haven't been expunged. When you reply to a message, it will be marked as "answered" on the server. This is also shown in the mailbox view. You can flag messages. You can define a "header filter" which describes which headers shall be shown in the mail view. If you don't define such a filter, all headers will be shown. And even documentation for everything is available, in DocBook format. This feature list might not look really long, but remember, this is all the achievement of less than a week!
If you want to try out Liam, just check it out from the SVN repo. Liam depends on several external packages, such as Ruby 1.8, STFL and RubyMail. STFL is noteworthy because currently you need this patch to fix a bug in STFL and to add a new widget and probably this and this patch if you have troubles building it. And don't forget to install swig before building STFL as it is required to build the Ruby bindings.
If you managed to get Liam running after all that, look at liamrc.example and create your own ~/.liamrc after it. As usual, feedback is welcome. If you're eager to help with Liam development, don't hesitate to look at the TODO list, hack away and send patches. So far, I would like to thank Michael Prokop for his huge amount of valuable input and for trying out Liam in this early stage.
Tuesday, July 25. 2006
After the generally positive feedback that I got for the first few steps with my prototypical IMAP client, I put further effort into it, and implemented cool features like replying, group-replying (aka "Reply All") and sending mails. Currently, the only transport protocol implemented is SMTP, but I made everything as generalized as feasible, so replacing SMTP with e.g. the local "sendmail" command wouldn't be much of an effort. In addition, I added (hear! hear!) support for showing threads. This means that threads of email discussions, be it a long conversation between you and a friend or a discussion on a mailing list, is shown in its structure. Again, I compiled a feature show of new features since the last posting as screencast.
Sunday, July 23. 2006
Today I spent a few hours of hacking on an IMAP mail client in Ruby which I codenamed "liam" (backwards for mail, haha, how funny). I based it on basically two libraries, namely Ruby's Net::IMAP, which provides a very complete (but a bit complicated) interface to IMAP, and Clifford's STFL, the Structured Terminal Forms Library, which is pretty new, but definitely the best ncurses widget library around.
The functionality is currently really simple: you start the program, it connects to your IMAP server, reads all available mailboxes from it, and lets the user decide which one to open. After selecting the right mailbox from the list, it is opened and the message envelopes from this mailbox are downloaded. Then, the user can again select the message he wants to view. Then, the message is downloaded and the raw message is presented to the user using the less(1) pager. The user can view this message. When he quits less, he is again presented with the list of messages in the mailbox. To return to the list of mailboxes, a simple press of the 'q' key is enough. From there, it is possible to select another mailbox, or to quit liam by again pressing 'q'.
This probably sounds pretty difficult, but it's extremely simple. To visualize this more efficiently, I prepared a simple screencast, which you can view here.
But what is my goal with this prototype? I don't know yet. It is definitely not here to replace mutt-ng (which is not dead yet, I'm currently preparing a "relaunch" since I now know my requirements much better than at the beginning of the project), but it's more a prototype to experiment on the future of terminal-based email clients. Sooner or later, mutt (and mutt-ng) will require a rewrite, and with this prototype I can find out what will be important for a new design, and where the stumbling blocks might be. Anyway, any feedback is welcome.
Update: more hacking on liam (including a new STFL widget), and a new screencast to demonstrate email viewing.
Monday, July 17. 2006
I think most of you know the video hosting service YouTube. Recently, I discovered that YouTube also contains a number of pretty interesting videos regarding the war in Iraq, especially when it's about pro-insurgency propaganda. " Juba" is the keyword. Juba is a propaganda figure, Iraq war's " Colonel Tomb", a mythical sniper who claims to have shot over 150 American soldiers.
YouTube contains a number of videos showing how American soldiers are shot by snipers, like (warning, graphic scenes ahead!) this one, this one, this one, this one, this one, this one or this one. All of these videos are quite interesting, as they show how effective a single sniper can be against the crew of a humvee, and that they have basically no chance to detect and combat the sniper. And most of these videos are designed in a typical "propaganda video" fashion, with a pretty unique background music (all I understand from the lyrics is "allahu akhbar"...). Although quite brutal in what they show, definitely an important documentation of the other side of the war, the stuff that you usually won't see on CNN.
Update: for my German-speaking readers, Google Video hosts a short report from Spiegel TV about Juba.
Friday, July 14. 2006
Gestern hab ich mir das Demo von Call of Duty 2 runtergeladen und gespielt. Ich bin ja normalerweise nicht so der Hardcore-Gamer, aber gerade dieses Genre interessiert mich eher (nein, CS zähle ich nicht dazu). Auf jeden Fall, nach 665 MB Download hab ich das Spiel ausprobiert, und muss sagen, das ist so ziemlich das beste Demo, das ich jemals gespielt habe. die generelle Stimmung ist einfach ein Wahnsinn, und alles wirkt sehr realistisch (abgesehen von der Grafik): die britischen Soldaten sprechen wirklich englischen bzw. teilweise schottischen Akzent, während die Deutschen echtes Deutsch sprechen. Und man scheisst sich aufgrund der bedrückenden Ungewissheit, was hinter der nächsten Ecke lauert, ziemlich an, vereinfacht gesagt. Jetzt muss ich nur noch schauen, wo ich die englische Version herbekomme, die bundesdeutsche Variante (die höchstwahrscheinlich wieder im gesamten deutschen Sprachraum ausgeliefert werden wird) wird ja höchstwahrscheinlich zensiert sein.
Monday, July 10. 2006
Since I got my new notebook, I finally took the time to get hugin running on OSX. Hugin is a program/frontend for creating panorama pictures. So far, I created a few panoramas from old pictures that I took when I was in London last November. But today, I went out and up a hill not too far from my home, and took quite a few pictures. At home, I stitched them together, and although the stitching isn't perfect, it still looks pretty nice:
You can find more of my panoramas, including the old ones, in my panoramas gallery.
Sunday, July 9. 2006
Kaum zu glauben, aber morgen trete ich meinen ersten Arbeitstag nach dem Bundesheer an. Das wird eine Umstellung: endlich wieder richtige Arbeit, Stress, mehr als nur stupides-ICD10-Codes-in-den-Computer-tippen. Aber noch wesentlich wichtiger: endlich kann ich wieder länger schlafen. In den ersten zwei Monaten Bundesheer bin ich jeden Tag um 6:00 Uhr aufgestanden, die vier darauffolgenden Monate jeweils zwischen 5:15 und 5:20. Und letzten Freitag, als ich einen kurzen Besuch bei meinem Arbeitgeber machte, wurde mir gesagt, ich solle erst so ca. um 9:00 Uhr auftauchen. 9:00 Uhr! In der Stellungskommission waren zu der Zeit schon sämtliche Vorbereitungen des Vormittags erledigte, und meine Ärztin untersuchte normalerweise schon ca. eine halbe Stunde. Dafuer dauert der Arbeitstag wieder 8 Stunden, wobei im Gegensatz zum Bundesheer die letzten 2 bis 3 Stunden nicht mit Warten auf Dienstende verbracht werden.
Saturday, July 8. 2006
After starting my quest in May, I finally found a new notebook for me. I decided to buy a 2.0 GHz MacBook Pro at the new McShark Apple Center in Linz. Though not really cheap, it is so much fun to use, and so much better than my old iBook in many ways. Compiling programs works like a charm (and using make -j n shows a great improvement), everything works just so much smoother, and I really appreciate the much bigger screen (15,4", after all!). Rosetta integrates absolutely flawlessly, and even games with no Intel update yet (at least Ghost Recon and Quake 3, that's what I tested so far) work with absolutely no feelable performance penalty.
Thursday, July 6. 2006
Kaum hat der Grundwehrdienst begonnen, schon ist er auch schon beendet. Offiziell bin ich noch bis Samstag 24:00 Uhr Grundwehrdiener, praktisch habe ich aber heute abgerüstet. Die Abrüsterfeier gestern war sehr lustig, jedoch nicht problemfrei. So, und jetzt werden fleißig noch Briefe an die Beschwerdekommission geschrieben. :->
Wednesday, July 5. 2006
Wie gerade auf CNN läuft, haben die Nordkoreaner eine Taepodong-2-Rakete (als eine von insgesamt 3 Starts) abgeschossen, und die ist in weniger als einer Minute abgestürzt. CNN covered die ganze Geschichte jetzt gerade mit etlichen Schaltungen zu Korrespondenten, und die wohl härteste Korrespondentin war die im Pentagon, die einfach mal so darüber geredet hat, dass die Amerikaner die Rakete versucht hätten, abzuschießen, wäre sie nicht schon so kurz nach dem Start abgestürzt. Das ist insofern hart, als dass, wäre es zu einem versuchten Abschuss gekommen, höchstwahrscheinlich als kriegerische Handlung Nordkoreas interpretiert worden wäre, und wir uns da auf mehr Konfliktpotential gefasst machen hätten können. Und die Amerikaner warten ja sicher schon auf einen Kriegsgrund gegen Nordkorea. <cynism mode="on">noch mal Glück gehabt...</cynism>
|