Writings Photos Code Contact Resume Me
Coding and hacking

Katoob, the baby has a new father.

Submitted by msameer on Mon, 12/05/2008 - 9:31pm.

This post has a bit of my history and emotions. It can be skipped!

The summary is: Katoob has a new maintainer.

...


multi-gnome-terminal is back to life.

Submitted by msameer on Mon, 18/02/2008 - 1:46pm.

OK. This is the beauty of FOSS. The project has been dead upstream for a while now. It survived until it was removed from lenny.

Now me and 2 other users decided to adapt it. port it or rewrite it in gtk2.

We are having a discussion about the whole situation.

To anyone still using multi-gnome-terminal: Please share with us the features you were actually using. These are the ones more likely to be implemented and no new features will probably be added, maybe help us coding and/or testing or participate in the discussions.


Automatically insert a statement in each function in C++

Submitted by msameer on Fri, 08/02/2008 - 4:16pm.

And I thought I'll never do such things again ?
I wanted to insert a debugging statement at the beginning of each function.

for i in *.cc *.c; do sed -i -e 's/\([a-zA-Z0-9 _*:~]*([^).]*) *{\)/\1 \nprintf("%s\\n", __PRETTY_FUNCTION__); /g' $i; done

It can probably be used to insert anything too.

It's dirty but it worked for me. Just keep a backup or make sure the latest code is in any RCS just in case.

It only failed with a function that was commented using C++ style comments "//".
I didn't try it with class methods defined inside header files


Katoob 0.5.9.1 is out

Submitted by msameer on Wed, 30/01/2008 - 1:25am.

This is a recommended update.

tarball, md5sum and gpg signed md5sum file
ChangeLog:
A problem that caused katoob to ignore key presses was fixed.


It feels like losing a child...

Submitted by msameer on Sun, 20/01/2008 - 4:28am.

So, today Multi GNOME terminal has been removed from debian as part of the efforts to get rid of gtk 1.x.

I'm neither ranting nor blaming. I'm just expressing my feelings.

I knew before it happened and I acknoledged the removel. It's dead upstream and I don't think it can be easily ported. I've been using this terminal since 4 or 5 years. Let's see if I can live without it. I know there are a lot but this one was lightweight and it was using zvt which was noticeably faster than vte.
This was one of the packages I worked on with "He" as part of the NM T&S and I quite learned a lot from it.


Katoob 0.5.9 is out

Submitted by msameer on Fri, 11/01/2008 - 1:59am.

This is a recommended update.

tarball, md5sum and gpg signed md5sum file
ChangeLog:


More packages for Chinook.

Submitted by msameer on Sun, 16/12/2007 - 4:47am.

I was trying to package hunspell-ar for Chinook so I ended up packaging:
* hunspell (libhunspell and its development headers)
* enchant (hunspell and ispell providers but I'll disable ispell soon)
* hunspell-ar
* dictionaries-common and dictionaries-common-dev (hunspell-ar depends on them)

As for dictionaries-common and dictionaries-common-dev, they are different than the Debian ones. Yes I'm using the same source but I'm only providing the bits related to myspell. I didn't include the policy too.

uri = ftp://foolab.org/pub/apt
dist = chinook
components = spell

him-arabic is also available as well as a few Arabic fonts:

uri = ftp://foolab.org/pub/apt
dist = chinook
components = arabic


hildon input method and new languages...

Submitted by msameer on Fri, 14/12/2007 - 7:25pm.

I noticed this because of my work on him-arabic.

If your plugin provides a language other than the 16 "known" languages, It will be displayed as " ()".

Ideally, The fix should be somewhere else but not all of the components are open so even if I can fix it, I won't be able to publish patches or packages.

It seems that the source provided with the SDK is a bit outdated so I had to grab the latest trunk: https://stage.maemo.org/svn/maemo/projects/haf/trunk/hildon-input-method/

And here's a patch. It'll return the language code if it fails to get the language description. (I know it's a bit hackish :|):

diff -Naur him.orig/src/hildon-im-languages.c him/src/hildon-im-languages.c
--- him.orig/src/hildon-im-languages.c  2007-12-14 19:09:29.000000000 +0200
+++ him/src/hildon-im-languages.c       2007-12-14 19:12:31.000000000 +0200
@@ -82,7 +82,18 @@
   }
   if (translate_function)
   {
-    return (*translate_function) (lang);
+    gchar *res = (*translate_function) (lang);
+    if (!res) {
+      return res;
+    }
+    else if (!strcmp(res, " ()")) {
+      g_free(res);
+      res = g_strdup(lang);
+      return res;
+    }
+    else {
+      return res;
+    }
   } else
   {
     gchar path [sizeof(GCONF_TRANSLATION_STATIC_PATH) + MAX_LANG_LENGTH];

Apply, build the packages and install hildon-input-method_1.99.33-2_armel.deb and libhildon-im-ui3_1.99.33-2_armel.deb

I hope it will be fixed otherwise I'll be providing packages soon. I know I promised to provide a lot of things (-:

Have a nice weekend.


My Arabic related TODO list for maemo

Submitted by msameer on Tue, 04/12/2007 - 7:45pm.

This is my Arabic related TODO list for maemo. It's my personal one not the Nokia employee one :-)

* katoob should be fully functional (I'm learning here). Actually I did more work today and I guess it's fine.
* Package and publish some Arabic fonts (I know there's one provided by the browser team).
* See what can be done regarding input (Low priority. Sorry to say that I don't like the HIM plugin interface).
* Check arabeyes.org apps. Is there anything useful and needs "porting" ?
* glibc/x11 Arabic locale ?
* Any suggestions ?

I'll not translate the UI for 3 reasons:
* I'm not of a translator.
* The license you agree to while downloading the OS image prevents me from doing that.
* Because we are using logical IDs in the code, we will f*** up the UI unless all of the strings are translated.


mbox splitter

Submitted by msameer on Mon, 23/07/2007 - 12:56am.

Just because I can't run sa-learn on my 15,000+ messages spam folder. It'll crash due to some hardware problems.
I thought that splitting the mailbox into smaller files will allow me to feed it to sa-learn.
I'm not sure something similar doesn't exist but I wrote mine anyway ;-)

The only problem is it consumes a lot of CPU and RAM, it was killed/crashed multiple times but it worked and allowed me to feed my spam mailbox to spamassassin!

Here it is in case someone needs it: split_mailbox.py. Needs python 2.5