You are here
I'm planning to move all my mailboxes to an IMAP server running on foolab.org, use offlineIMAP to sync between vader "my laptop" and naboo "foolab.org". It will also allow me to access my email from multiple computers at the same time.
I'm using mutt as my primary email client.
The big problem is offlineIMAP needs a local Maildir while I'm using mbox
I can upload the emails from mutt to the IMAP server but why do I have to redownlosd them again ? Beside, it's a lot of manual work.
I didn't really find a good mbox to maildir converter so I decided to use mutt.
Mutt knows how to handle such things. It's an email reader!
Thanks to the folks in #mutt for a few tips. Now here is my setup:
1) My mail is in ~/Mail
2) I don't have subdirectories
3) No white spaces in folder names.
4) You don't have a mailbox called "foo" ;-)
5) Create a directory called done. There we will place the mbox files after processing.
Now here how it goes:
1) Place this in a file, let's call it "/tmp/muttrc" and use emacs for that ;-)
macro index <F3> "<tag-pattern>~A<enter><tag-prefix><copy-message>=foo<enter>y<quit>y"
folder-hook . push <F3>
2) cd ~/Mail
3) Execute this bash snippet:
for i in `find -maxdepth 1 -type f`; do box=`basename $i`;
echo "Processing $box" && mutt -F /tmp/muttrc -n -m Maildir -R -f $box && mv $box done/ && mv foo $box; done
4) Now to convert my outbox "which is an MH dir":
mutt -F /tmp/muttrc -n -m Maildir -R -f done/outbox/
It worked fine for me. I had to interfere 2 times because I 2 had 0 sized mailboxes. Otherwise, it worked like a charm!
P.S. Don't forget to edit ~/.procmailrc and to set the default mutt mbox_type to Maildir
This is the first of a network programming tutorials.
I hate such theoretical boring things, So I'll just copy and paste whatever I think'd be useful.
What is a socket ? A socket is an end point for communications, A socket is the corner stone of networking. You can consider it as a method of communication between two processes, Those two processes can be either running on the same computer on two different computers.
A socket is also an identifier that the application can use to identify that end point.
Each socket must have a type, The type defines the communication semantics, IT can be:
- SOCK_STREAM: full duplex reliable connection, It insures that data is not lost or duplicated, TCP connections are SOCK_STREAM type.
- SOCK_DGRAM: Used to send datagrams, Unreliable messages and it's connection-less, UDP is of SOCK_DGRAM type.
We have more types but you can RTFM to know more, I don't really care about them now.
Each socket must also have a protocol, It can be:
- PF_LOCAL: Local interprocess communication, Also called PF_UNIX. It's used as a method of communication between processes on the same machine. The connection is represented by a file that exists in your file system.
- PF_INET: Used to communicate between processes running on different computers.\ using the Internet Protocol "IP protocol", It can also be used with processes on the same machines, Especially for crappy operating systems like the Microsoft DOS extension called windows because they don't have PF_LOCAL.
Also probably more but that's what I'm going to list.
You can use the sockets to mainly create 2 things:
- A server, Creates a socket, Binds it to a local address, Listens for incoming connections and accepts or rejects them.
- A client, Creates a socket, Connects to a server.
I've seen all the requests for help with Motorola winmodems, so I've written an arabic HOWTO on the matter. Here it is. Don't EVER ask me to write something arabic again. EVER.
كيفية تظبيط الوينموطم الموتورولا اللى باباه بوبى
تاريخ هذا الموطم
حتى تتمكن يا سيدى الفاضل من استخدام الوينموطم المتناك دا, عليك قبل كل شىء اصلا ان تدعى على الشعب المريخى المتخلف الفقران الوثنى الذى من ضراوة فقره ابدع هذا الاختراع المتناك الذى يعرف بالوينموطم. فهذا هو تاريخ الوينموطم الموتورولا الذى تسبب فى عدة خلافات عرقية بسبب غباوته التى لا حدود لها, ولا حتى حدود متناكة على خفيف كده. يسجل التاريخ اول ظهور للوينموطم الموتورولا فى القرن السابع عشر فى العالم الغربى, و قد كان متناك انذاك رغم ان الكمباوطر لم يكن قد تم اختراعه بعد. لحسن حظ شعب الوطن الاوروبى ان نزل عليهم وباء الطاعون فماتوا جميعا موتة طاهرة غير متناكة الى حد بعيد. بعد التجربة الاوروبية مع هذا الموطم اللعين, بل المتناك ايضا, تفتق ذهن البوليس السرى التابع للمحيط الاستوائى الى افضل طريقة لضمان سرية الرسالة 09990001 و هى نشر الوينموطم الموتورولا (المتناك) فى الاسواق العربية عامة و السوق المصرى خاصة. فى محاولة مش مستحمية لاغتيال الببغاء الفينلاندى لونيكس فى الامة العربية
وها انتم يا مستهلكى مصر تتكرعون وينموطم موتورولا المتناك.
والله برافو جبتولى ارتجاج.
العناصر المطلوبة للتعامل السليم مع ابن البوبى
1.سوف تحتاج قبل كل شىء ان يكون معك وينموطم موتورولا. لا تبعثر وقتك الثمين فى معرفة ما اذا كان هذا الوينموطم الموتورولا متناكا بالدرجة الكافية ام لا, اوءكد لك انه طالما عرفت انه وينوطم موتورولا فهو ان لم يكن متناكا بالدرجة المتوقعة كل ما هو عليك الذهاب الى المحل و ابراز ضمان كواليتى متناك من شركة وينموطم موتورولا و سوف يستبدلونه باخر متناك احسن. 2. جركن بنزيم 3. كيس مانجو عفنة 4. كمباوط احدث و اغلى صنف فى السوق
1. اذا كان الوينموطم الموتورولا مثبتا بالهاز فهو اذا جهاز كمباوطر متناك. هذه قضية خطيرة لكن لحسن الحظ حلها ليس عويص. كل ما هو عليك ان تخلع الوينموطم المتناك من الجهاز المتناك غصب عنه, سوف تلاحظ مع مرور الايام ان الجهاز الكمباوطر كل يوم متناك اقل قليلا من اليوم السابق الا ان يعود الى طبيعته رغم انف البوليس السرى الكاميرونى المتناك 2. خذ الوينموطم الموتورولا و اجعله يبلبط بمرح و ابتهاج فى جركن البنزيم. تاكد من ان المتناك مبسوط ثم ولع فى الجركن و حاول ان تجرى بعيدا باقصى سرعة ممكنة. اترك الحريق يخمد من تلقاء نفسه ثم فتش عن اية بقايا متناكة. فى حالة العثور على بقايا قم باعادة تنفيذ هذه الخطوة. الاتقان لا ياتى الا بالممارسة. 3. افتح كيسة الكمباوطر و كيس المانجو العفنة و ضع المانجو العفنة داخل الكمباوطر و فعصهم كويس جدا على كل الاسلاك و المكونات الالكروتونية الباهظة الثمن المتواجدة بالداخل. اوكد لك ان هذا افضل للكمباوطر من تثبيت الوينموطم بداخله.
تاكد ارجوك تاكد انه ليس هناك طريقة اخرى للتعامل مع البوليس السرى البحر الاستوائى و وينموطماتهم الجربوعة المتناكة
I was short in time when Arabeyes asked me to present them there as no one from the core team was free. I was able to take a vacation from my job and fly there, I was preparing my papers till the last hour.
We stayed in a camp on the outskirts of Bangalore.
The 8 day event came with a flexible agenda. It included an outing to either the IT park or to a school. And this was the only time we had to be divided into 2 groups! and the organizers left a good room for us to modify it.
This event was not an event seminar, but a workshop seminar. Rather than having the attendees sit and listen to lectures, the event concentrated more on hands-on learning and activity. The overall aim of the event was to increase the uptake of FLOSS by NGOs (non-government organizations). They planned 3 main tracks for the camp:
1) Localization Track, which I was part of as a facilitator. In it we were trying to transfer our knowledge regarding l10n to the attenders.
2) Open Content Track, which was further divided into the 2 sub tracks of content and media. The overall aim was building skills on how to use FLOSS tools in the multimedia field and how to build community websites using open source CMSs.
3) Migration and Access Track, which included an introduction to GNU/Linux and FLOSS for to the win32 platform. i.e. How to plan migration of NGOs from the latter to the former and how to apply the plan etc...
In addition to the documentation side-track to document the whole event.
As I said, The whole thing was done via hands-on sessions that included interaction between the facilitators and the other attendees, As this is believed to be the better way to learn and teach by the event's organizers.
Every day began at 8 AM with breakfast of course, followed by a morning's circle at 9 driven by "Gunner" the awesome guy, and on of the events' organizers, which is then followed by the main tracks' outings from 10 AM to 1 PM.
The day resumes at 3 PM with another meal, followed by a 4 to 5 session at the same time covering various relevant topics and sure you can only attend one of them ;-)
The broad spectrum of topics covered issues from 'FLOSSophy' to wireless sessions and wireless antenna building to GNU/Linux security to FreeBSD introduction and many many more.
Another meal was dispensed at 7:30 PM? (not exactly sure), followed by a single evening event, It could be a movie watching, A DJ. Or anything, And one has a choice not to attend it.
During the week we also had some various side activities. One of them was the wiki painting, where the idea is that each one is supposed to go and paint whatever he wants on a board prepared for that.
The board stayed there for days, And each one got a piece of the large painting.
As I was representing Arabeyes more than EGLUG "But I was representing myself too ;-)" I think I came out with the following from the event (This does not include any lessons or things I learned personally). They may be of help:
1) We can get in contact with the pootle and translation toolkit development teams. Those are written in Python, and maybe we as Arabeyes can join the development (I'm thinking about doing it myself). Pootle as a web-based translation tool "plus some tools to convert mozilla and open office translation formats to PO files and vice versa." can be used when we have people with permanent connection and even by someone like me who hates GUIs ;-)
2) I came out with a basic understanding about how the translation teams work. How to plan for a l10n project.
3) How do teams translate hard words? Usually people try to see the English roots of the word and examine other languages they know and see how they came out with the translation.
4) I got in touch with the KhmerOS founder. They have an NGO with employed people to do the translation. Another project (perhaps the Hindi translation, not sure) is based on dictatorship were each volunteer is assigned a file to translate.
5) Most of the people I found are not asking the volunteers to use CVS to manage the translation. I see that this is a good point as we shouldn't require the volunteers to interact with the CVS or have good technical skills, but can rely on people with pure translation skills.
6) I think I somehow understand a basic idea on how to create fonts.
7) I'm somehow interested in helping the Pashto and Urdu people but this is my own interest which not tied to arabeyes.
8) I have a report on "A project for the computerization of East Timor in Tetum language" But I'm not yet sure about the license so I'm not going to publish it, And I have to read it 1st.
9) I think I found someone to help in certifying the Quran data files, I didn't take any actions yet, But I'm planning to contact the guy "It seems that the this won't happen!".
10) Each participant (myself included) went back home with a copy of NGO-in-a-box which is basically a box containing some distros and documentation among other software suitable for NGOs trying to switch to FLOSS (I didn't find time to look at it, but I'm sure it's worthwhile).
11) I'm sure I've forgot many things!
IMHO we didn't gain much regarding Arabic. Very few of the attendees had issues related to Arabic.
The event was mainly organized via the wiki.
You can find all the information you want there. Also the contact info for the localization track facilitators. Last but not least is the list of participants.
We as Arabeyes could have gained much more had we been given more time to prepare. I however gained quite a few contacts and friends :-)
Another source event'll take place in Africa this year, But they are thinking about organizing it in north Africa as almost no Arabs did attend the previous source event in Africa but they are having a problem finding a place to organize it.
I'm not sure whether Arabeyes can hold such an event alone, But IMHO if we can find a sponsor we can do it.