Welcome to my website. Here you will find my blog, writings, some photos and some information about me. Have fun and enjoy your stay!

Justin TV without flash!

Body

Justin TV is a streaming service that uses the broken flash concept in order to allow you to view channels.

Unfortunately it's the only source of Arabic movies, series and shows.

I wrote a GStreamer source that retrieves the channel information and uses libRTMP to connect to the Justin streaming server. The rest is handled by GStreamer ;-)

خبرتي في التصويت خارج مصر

Body

توجهت اليوم الي السفاره المصرية في هلسنكي لتسليمهم المظروف المحتوي علي بطاقات الاقتراع الخاصة بي
طبعا كان ممكن تتبعت بالبريد لكن المشكله هي:
اولا وصلتنا تعليمات التصويت من السفاره متاخرا

N9/N950 camera with zoom during video recording!

Body

If you are using PR 1.1 then you can simply enable zoom during video recording.

Just create a file /etc/camera.conf and add the following lines:

[debug]
recording-zoom = true

restart camera, enjoy and send postcards to the Harmattan camera team :)

I hope someone will create an Ovi store app for that ;)

Increase the font size of the N9 conversation view.

Body

If you care about the readability more than you care about the eye candy then that's for you ;-)

You need to enable developer mode and ssh to the N9.

# mkdir -p /usr/share/themes/blanco/meegotouch/libmessagingwidgets0/style/

# vi /usr/share/themes/blanco/meegotouch/libmessagingwidgets0/style/libmessagingwidgets0.css

Insert the following lines:

Introducing vcamera, a virtual V4L2 camera.

Body

This is a kernel module I cooked in a couple of days. The idea is to expose a v4l device that gets its data from user space.

I had 2 use cases in mind:
1) Educational purpose for myself (I'm really a kernel noob).
2) Streaming movies over skype, google talk, ... etc.

The idea could be good or completely rubbish but hey ? Learning can only be done with stupid ideas!

The code is highly unstable. It shouldn't oops the kernel but I'm not responsible. I've been developing and testing it inside qemu.

Egypt, Internet cut off. A massacre will follow. Please help.

Body

Egypt has been fighting for freedom already for 3 days now.

The whole country has experienced a large number of street demonstrations and protests within the last 3 days to be continued also on Friday, the 28th of January and afterwards.

The protests' main goal is to oust dictator Hosni Mubarak's regime, which has been in power for almost 30 years.

We want him out.

Prayer timetable parser for Helsinki (2011)

Body

One of the local mosques here used to publish the prayer timetable for the whole year in HTML format. That was fine for me because I had the ability to add a bookmark to the current month to my N900 desktop.

In 2011, some brilliant person decided to publish them only in PDF. The idea itself is not that bad, I just lost the ability to add the bookmark to the desktop. Combine that with the not so great PDF reader for the N900 and my dislike for PDF files in general and you shall understand why I was really annoyed.

Twitter OAuth Proxy

Body

I'm using Twitter plugin for Contacts and Conversations to twitter on my N900.

Twitter recently moved to OAuth. Problem is the Maemo package is outdated and seems to be unmaintained.

I did some research and came across a blog entry about exploring OAuth-protected APIs and some code. Nice idea but not usable for me.

QTestLib tip

Body

If you are doing a data driven test using QTestLib, make sure the column names you define in the data function matches the variable name you pass to QFETCH()

void Test::foo_data() {
  QTest::addColumn<QString>("foo");
}
void Test::foo() {
  QFETCH(QString, foo);
}

I previously thought the order is enough but I lately spent a day and a half trying to understand why QTestLib refuses to fetch my variables.