Tip of the day

January 8th, 2009

Must not free if ‘const’ keyword in front of prototype.

My first bread

December 23rd, 2008

Moved to Debian

June 30th, 2008

I moved to Debian and I must say I like it more than Ubuntu.

Most of the features worked out of the box on my R60 except for the standard problems with ATI.

It works faster and actually works. No gnome-power-manager freezing, no translation errors kept over 3 Ubuntu releases and more and more.

So, Debian all the way! :)

Ubuntu 8.04 on my R60 and it’s problems

April 26th, 2008

Ubuntu (Linux distribution)Image via WikipediaYesterday i dist-upgraded my ubuntu 7.10 to 8.04 and just after that i noticed that the machine doesn’t resume from suspend-to-RAM. The next thing i noticed is xine crash just after start with a segfault. That brought me to try glxinfo which crashed too.

My conclusion was, “Damn ATI and their borken drivers!”, so i tried to install it mannully. After dozens of retries i have chosen the right solution:

- $ sudo apt-get remove xorg-driver-fglrx xorg-driver-fglrx-dev fglrx-amdcccle fglrx-kernel-source

- $ sudo dkms uninstall -m fglrx -v 8.476

- $ sudo dkms remove -m fglrx -v 8.476 –all

- $ sudo apt-get remove dkms

- $ sudo ./ati-driver-installer-8-3-x86.x86_64.run (install it without creating packages)

- $  sudo /etc/init.d/gdm restart

And enjoy…

Ah … and BTW, it seem to fix the resume from suspend problem… :)

C coding tip

April 11th, 2008

There’s nothing wrong with having 6 lines more in your header files even if you don’t need them right now.

You wil maybe spare a lot of time debugging build/linking problems in the future with them.

#ifdef __cplusplus
extern “C” {
#endif

#ifndef YOUR_HEADER_
#define YOUR_HEADER_

int main(int argc, char ** argv) {

}

#endif 

#ifdef __cplusplus
}
#endif

This is needed if you want to use your lib in C++.

FOSDEM: Free internet finally!!!!

February 23rd, 2008

After 2 days offline.

Internet finally

Maybe, …

February 15th, 2008

I’m going to FOSDEM, the Free and Open Source Software Developers’ European Meeting

01110100001100010010001001011000

February 14th, 2008

0111000001001101110101110101010110101010010101011101 …

Lost in the code

January 15th, 2008

A lot of times, when I write code, I get lost in the source. I just can’t write a nice piece of code without during a learning process, rfc, spec, …

I really need to write it twice, the first time for learning and the second time for production. If I even try to leave the first code I get lost trough the lines.

Do you maybe have something that will help me? :)

H263 crappy payloading

January 13th, 2008

For the last month I was trying to get a “by spec” H263 rtp stream out of Gstreamer, the currently available payloader plugin is just a quick hack, so i was trying create a patch to get it right.

I don’t wonder anymore why there’s no open source by spec implementation of the rfc2190, actually there are just a few closed source ones. The reason why is just the complexity of this rfc complicates the implementation so much, that nobody wants to implement it right i guess. Everybody is using the newer dynamic payload type 96 instead, because it’s easier to implement and lightweight, but as known a lot of systems still use the old - 34 - and that’s why i’m working this.

This rfc defines 3 modes for payloading frames, the first mode is simple, you take a frame and if it fits in a package you add the payload header and send it over rtp, if it doesnt you split the frame at “Group Of Block” boundries. The second and third apply to frames with “groups of blocks” bigger than MTU, you normally send the other fitting GOBs, the bigger ones must be packet at macroblock boundries in regard to the frame type (payload mode B for normal frames - I, P - mode C for PB frames).

To get the  macroblock boundries you have practically decode the video because most of the codes in it are variable length and you don’t know when you got it.
The Gstreamer plugin is not yet completed, but i hope it will be soon.

Have fun!!!