Archives for: February 2005

02/26/05

Busy week...

It was a very busy week, this one. Even that busy for not having enough time to post something on this blog. My girlfriend also found this blog (she was standing next to me when I was reading/posting). Firstly, I didn't tell her because I thought she wouldn't be interested. Now, she finds it very "nerdy" :-p Let's see if she reads this too B-)

I also created a new category "Politics" (and moved the software patents cat) where I'll post something about Flemish (and Belgian or regional) politics. I'm very interested in that and sometimes I'm also active. I don't know if all posts will be in English there, maybe sometimes I'll use Dutch. As first message, I can say I created two proposals for the city council of Ghent. One about safety in the student-partystreet and another about student mobility. I'll keep you on touch.

Monday, we had student council where my two proposals (see this post) were accepted (with a few extra lines). You can find them here and here. Both are pdf-files in Dutch. After the meeting, we had a drink, nice people, interesting talks, lots of alcohol so I stayed there too long ;-)

As ikke already mentoined, we sold our first two Dell notebooks at VTK. The third one is in progress and ikke has a friend who wants to buy another one. The website isn't ready, but ikke and Bram are developing it. The database structure is ready, now there creating the aplication to start coding soon. When that's ready, I hope the Dell-selling will be a great succes. If you're interested, don't hesitate ;-)

Just had a telephone call from VTK. Seems that there are problems: they can't log in on the clients anymore (domain VTK not available is the message) and e-mail isn't working anymore. I'm trying to solve it for two hours now, but it doens't work. For the mailtroubles, I see that every email for our domain is accepted, but sent back to our "smart relay", creating a loop. I checked configuration files, but they seem OK. sendmail.cw and local-host-names are OK, just like the other files. For the smb-problem, I also don't know how to solve it. This is the message I recieve when trying to mount a samba-share on a windows computer:
# mount /mnt/clients/osama/d/
3424: session setup failed: ERRDOS - ERRnoaccess (Access denied.)
SMB connection failed

I've sent an email to ikke, Lennert and Femi. Let's hope they know what to try.

Wednesday, we had a company visit at Sidmar. First a presentation of the company, the job possibilities and conditions,... After that a visit at the factories, very nice. At the evening, a walking diner at the yacht "Jacob Van Artevelde" in the port of Ghent. Very nice B-)

Sunday, I'm going to FOSDEM, Brussels. Ikke will be there too, and normally also Real Nitro and Lennert. See you there?

Oh, BTW, please sign this petition against taxes on pc's. Some politicians want to create those taxes as compensation for music industries. It's like a punishment before you did anything wrong. Now we already pay for all blanc media (CD's and DVD's), so every linux-CD includes a fee for the music industry. Stupid IMHO.

Please sign the petition against pc-taxes

Permalink . Peter . 02:08:07 . 539 Words . Life & Fun, VTK, Free Software, Politics . Email . No views

02/25/05

FSU as thesis project?

I had some talk with Michiel Ronsse, co-founder of this FSU-project. We thought it could be nice to create a thesis project of Stateless Linux development. He's going to introduce it at some promotors. Let's hope it'll be OK. I don't know if I should take it if they create it. I'm very interested in that, but I also found some other stuff I'm interested in. I'm also afraid it could be a little bit too complex. But you never know, we'll see.

He also told me about some filesystem, cachefs, that's included in Solaris. It's not ported to linux.

Permalink . Peter . 23:17:11 . 100 Words . General . Email . No views
Gnome Settings Manager

Just thought of this:
Imagine a program that allows you to tar up settings etc. You run it, it takes a snapshot of your Gconf settings, your Gnome application settings in .gnome2, your current GTK+ theme, your Metacity theme, your icon theme,... i.e. all possible settings related to your Gnome desktop, and maybe even more things (as a plugin) like Mozilla Firefox preferences, Openoffice settings,... It takes all this, and makes a nice tarball out of it which you can take to some other machine, run some tool, feed it with the tarball, and all at once you got the exactly same environment as on the first machine...

I've been thinking of this 'caus I installed Ubuntu Linux at VTK the other day on one workstation, and I hated it to be forced to reconfigure every application the way I want them. Just grabbing the settings of my workstation here and applying them there would be so cool.

I know I could just tar -cjvf ~/.somedirectoriesandfiles, but that's no "nice" solution, and could (next to other things) corrupt the existing Gconf keys, Firefox profiles etc.

I just launched the idea on #gnome@GIMPNet, one possible problem that's been mentioned is hard-coded paths (e.g. in Gconf keys). The settings application should be smart enough to find these things, and check if the specified file exists. If not, the key should not be created, and the application using the kay should create it or get it from the Gconf defaults (that's just the way applications should work with Gconf. If they don't, they're not 100% Gconf-enabled/valid).

This is not easy to write, although when coding step by step, one should be able to get it working.

RealNitro: wouldn't this be some nice Python project? File handling, string parsing, Gconf bindings, even using PyGTK one day... If you'd like to take a look at this, I'd be glad to join and learn some more Python at the same time :-)

FOSDEM tomorrow and Sunday. I hope I'll get there (on Sunday preferably).

Permalink . Ikke . 08:53:20 pm . 406 Words . Technology, Linux, Desktop . . 1161 views . 3 comments
Vim and SCP/SFTP

Maybe usefull for some people reading this: if you want to edit remote files using Vim or gVim over SCP, no need to use Gnome-VFS, shfs, lufs or whatever more.

:e scp://username@host/a/file/in/your/homedir

will do the job.

When using a decent .ssh/config or when you got the same username on both machines, you can omit the username part.
You should use DSA/RSA keys so you don't have to enter your password on every open/save action :-)

AFAIK tab completion is not available, which is a pitty.

Permalink . Ikke . 10:35:38 am . 100 Words . Life . . 6117 views . 1 comment

02/23/05

As mentioned before I wrote some PHP class to allow people writing PHP applications to (ab)use the authentication method UGent and DICT offer easily.
This is the documentation of it, rendered using PhpDocumenter. The code of the class can be found inside the docs (can't give a link here, b2evo bug :-/), a working demo is here.

The code uses 2 mechanisms to decrypt the RSA encrypted key we get from the authentication server: it tries to use PHP's internal openssl_* set of functions, if support for them is compiled in the PHP interpreter. Otherwise it falls back to shell_exec to call OpenSSL in a shell, which gives a lot of overhead, unfortunately.
Unlike the provided samples, I'm not using temporary files anywhere.

Just installed Evince. It got some more features than Gpdf already, let's hope it continues to grow :-)

Permalink . Ikke . 10:28:51 pm . 240 Words . Technology, Linux, Networks, Desktop, Coding Corner . . 339 views . 1 comment

There's been a lot of talking lately regarding the future of X, things that should become possible,... Just take a look at Planet Gnome, especially Havoc and Seth have been active in this field.
A week ago or so there was the XDevConf, a conference for, guess what, X developers. There's been blogged about this summit quite a lot too, both on Planet Gnome and Planet Freedesktop.

I just read an article by Rasterman, an Enlightenment developer and X wizard. I did look at E17 and EFL some months ago already, but was pointed to them again because of the article. It explains what is possible already nowadays, including some videos. Make sure you watch them.

I'm a Gnome user, I love the Gnome Desktop and development. Some things you can see in the sample movies are great though, and cannot be used inside Gnome at this moment.
I don't like E17. I dislike the looks of the Windows Manager. Some of the things these guys are able to achieve at this only moment look incredible though, and even usefull ;-) If the X.org developers at freedektop.org could keep enhancing their X server (and especially the drivers), imagine how cool it would be if GTK could make use of some of the things these Enlightenment libraries provide. Not only to provide eye-candy, also "functionality" (think of *real* terminal transparency, no only copying the lowest X buffer, or transparent Gaim buddy lists as I wrote before). The possibilities are endless. And some people would die to get Linux on their desktop :-)

Lennert got a good idea too yesterday: get the Gaim buddy list out of a window, and put it on the desktop (if wanted, of course). Like a "Gaim GDesklet" (if you don't know what desklets are, check this screenshot, upper right corner). Would be very cool IMHO B-)

Permalink . Ikke . 02:59:35 pm . 381 Words . Technology, Linux, Desktop . . 291 views . Leave a comment

02/22/05

News from me

Long time ago once more ;-)

I got lots of things to do lately, so I rarely find time to update this blog. Next to this, I got sick about a week ago, so I had to stay in bed for a while too.

Some thing's I've been doing lately:

  1. Installed Xgl, dropped it because I got no hardware acceleration

  2. New desktop (screenshot, slightly changed now: the line under my top panel is smaller)

  3. Installed Hula some minutes ago.



    It is nice, but still needs some work IMHO.

  4. Wrote some mass-mailing-with-attachment Python script. It's not 100% done, if you want it give me a call

  5. At Ghent University there's a new system to allow web application developers to authenticate users against the universities student database. Whilst all sample code in the docs is written in Perl, usign a bunch of temporary files to decode/decrypt keys etc (I'm not getting into the implementation details here), I wrote some PHP class to achieve the same goals. Not using any temporary files (which is better, think of multithreaded webservers...), but still using a shell_exec call to openssl to decrypt a PKI string using some public key. TODO: use PHP's openssl functions, or shell_exec as a fallback when OpenSSL support hasn't been compiled into PHP. I think I'll send the class to the UGent admins once it's done, so others can make use of it too.

  6. Just showed Nat it's easy to generate PDF files from MediaWiki pages using this software. He was looking for a tool like this to create PDF's out of the Hula Wiki pages (hey, I even pointed him at MediaWiki in a lengty mail I sent him upon his request describing all wiki implementations I got some experience with :-))

  7. Installed PhpAdsNew2 today at VTK. It's not implemented yet (still need to give a demo to the admins), I hope it'll allow us to deploy a better, easier and more manageable ad management, including decent statistics. Hey, we need to know our market value, isn't it?

TODO:

  1. Get a new harddrive (8.4Gb is too small on a modern desktop/development system)

  2. Get NVidia Binary drivers working, play around with Xgl once more, and try hardware accelerated composition

  3. Get semi-transparant Gaim chat windows and buddy list working

  4. Play around with Galago

  5. Get a Subversion repository somehow, somewhere

  6. Find out how to get to FOSDEM, or I won't go once more

  7. Finish reading the GStreamer development handbook (60 pages to go)

  8. Get some new girlfriend?

  9. Lots more, not willing to think about it at the moment.

Oh I almost forgot. We sold our first Dell computers today. Let's hope the ecommerce site will be up soon.

Permalink . Ikke . 08:14:00 pm . 522 Words . Life, Technology, Linux, Networks, Desktop . . 428 views . 5 comments

02/19/05

I found this blog (Dutch) yesterday, with this message: Philippe De Coene, a member of the belgian parliament, made a (IMHO stupid) proposal for more internet security. He wants to oblige the software vendors and ISP's to provide the most possible security in their software. No one knows what that means, but one thing 's sure: Windows doesn't fit in that category! :>>

If I move and I need a new internet connection and my ISP recommends me Internet Explorer, I'm going to court! :>

Permalink . Peter . 10:05:52 . 83 Words . Life & Fun . Email . No views
CV and student representation

I just created my first CV. I'm going to need it for some company visits this and next year. You can find the dutch version here and the english version here. B-)

Yesterday and a few days ago, I also created some proposals for the student representation. One of them is a about using Minerva/Dokeos for sending information to the students and asking for feedback of the people we represent on a more formal way. The other one is about readable slides. Some teachers are using PowerPoint slides with lots of animation: balloons popping up above eachother. When those slides are the only studymaterial that you have and when you need to print it for an open book exam, you can't read a damn thing of it anymore. So I prepared a document with some directions for good slides: no (dark) backgrounds, carefull with animations, printable,... Monday we're having a meeting with a discussion about this documents. Normally both of them will be accepted, let's hope so. If they're accepted, maybe I'll post the final versions here if you're interested. B-)

Davy and frocksii agreed on creating a website for the selling of Dell-computers at VTK. Let's hope they can fix this quickly so we can start the project. Tommorow, I'm going to help with a guided tour for prospective students to let them know more about our university, faculty and courses. Ikke will be there too :-D

Next thing for me: learning object oriented programming with PHP. Object oriented programming is no problem, I allready know a bit about php, so it can't be that difficult. After that, advanced CSS is next. Lot's of interesting stuff to do so ;-)

Permalink . Peter . 02:07:18 . 281 Words . Life & Fun, VTK, Studies . Email . No views

02/18/05

This could be some great news, whether we're going to work with or without Fedora Stateless Linux. Let's hope this one stays maintained ;-)

I do wonder why they wait for the Netscape Directory Server being open sourced, whilst we already got OpenLdap.

Permalink . Ikke . 02:13:30 pm . 65 Words . General . . No views
EP demands restart

As I allready told you, the JURI-commission of the European Parliament voted to restart the whole software patents directive. I also wrote that the EU Commision should ignore that call and vote the directive on a meeting of the financial ministers on the same day the full EU Parliament should vote the restart. Thanks to the Dutch Parliament, that 's made impossible. So no vote in the Commision, but a vote for the restart in the EP! So let's hope they the commisions now can create a good direction on that stuff. The commision can also ignore the call of the EP, but that could cause big trouble between the parliament and the commision.

Permalink . Peter . 10:41:32 . 114 Words . EU Software Patents . Email . No views

02/17/05

First of all: do not try to use a XHTML strict doctype with a .tk adress. It makes IE go maaaaaaaaaaad. The rendering of my site didn't even come close to what it was supposed to be. (Firefox did the job nicely, btw. ;-) :-p )

The site had been around for a year and a half now. It used to contain three frames and a lot of crappy code, and looked even worse than it does now ( ;-) ). But now I updated the code, basicly rewrote the entire site, using php and lots of CSS (most of this was done during the Christmas Holydays). Yesterday I added a logo in the top left corner. It's with the gimp, using some other pics I made for the previous edition of the site. Let me know what you think of it, graphical stuff is really not my thing so I need feedback.

My next little project will probably be some php-code for the Gotcha contest of the home I live in during the weekdays. I still have to finish my little jabber script too. :-/ And: I wrote my first C program today. B-) (all it did was print some text though :-D )

Permalink . RealNitro . 22:43:55 . 212 Words . Webdesign, Life . Email . 445 views

02/14/05

Back in business

After a very short vacation, the 2nd semester has started. I've had two new courses today, an interesting one (multimedianetworks) and a very boring one (informationtheoretics). I think I'm not going to follow that second one very intensive ;-)

Before my vacation, I arranged a deal with Dell and VTK. The principes of selling Dell computers at VTK were already OK, but now we recieved some very good prices from them, without having to pay for windows if we don't want it. A lot cheaper than on their website. Normally they should create an e-commerce site for our students, but I didn't hear anything from them. I'll give them a call tomorrow. Let's hope they arrange it soon, so we can start selling those machines.

At the same time, my girlfriend has also finished her exams, very good normally, so we could have a (very short) vacation. We went to Molenheide. Bad weather, but we spent a great time together.

First day of the 2nd semester, great problems at VTK. Printing at the new Nashuatec all-in-one and the old laserjet didn't work anymore. All people frustrated, me target of all kind of projectiles. Thanks to ikke, printing at laserjet works again. We also had problems with a full (or corrupted) hard disk, so we couldn't send or recieve e-mail anymore. Fixed by moving the maildir on another harddisk and creating a symlink. It's a temporary solution, but the whole system needs to be redesigned. I also executed the deathrowscript (for backing up and cleaning the temp dir) for the first time, seems OK. From now on, it's executed every saturday at 1 AM.

Didn't do anything special for valentine's day. I think it's to commercially pushed. This friday, we're two years together, so that will be a special day full of love for us :-D

Permalink . Peter . 21:41:22 . 303 Words . Life & Fun, VTK, Studies . Email . No views
Lessons restarted, webdesigning

The lessons for the second semester started today. The classes in the morning were dropped, but the ones in the afternoon -- Electric Networks -- were terribly boring (as usual :roll: ).

I'm changing the code of one of my sites to XHTML atm. I'm nearly finished, but it will probably look quite f*cked up in IE. I'll reboot into windows tonight and check it out. If anyone has some feedback about the code, plz comment it, so I can learn from my mistakes. ;-) (Idd, the menu in the corner thing is similar to the one on www.eikke.com, sorry about that Ikke. :oops: )

*looks at download window*
Wheeeeee, a new episode of RedvsBlue!

Permalink . RealNitro . 19:00:26 . 140 Words . Webdesign, Fun, Life . Email . 432 views

02/13/05

Wrote a new article today, on command line options parsing using Glib 2.6's GOptions.

Once more, it's listed on my articles page, direct link here.

Next one will be on moving your project dir into a local or remote Subversion repository, or GStreamer basics, still have to make up my mind.

Permalink . Ikke . 10:13:44 pm . 84 Words . Coding Corner . . 623 views . Leave a comment

02/12/05

Use id's

Hint #cantremember: Use ID's where-ever you're allowed to

This makes crossreferencing later on (using XRef or whatsoever) easier, and references are very nice and usefull (look at WikiPedia and others).

Permalink . Ikke . 06:46:13 pm . 36 Words . Docbook . . 665 views . 1 comment

I finally finished the Docbook-translation of my article on Makefiles and Autotools. The result is listed on my articles page, direct link here.

Permalink . Ikke . 02:45:00 pm . 55 Words . Coding Corner, Docbook . . 652 views . 2 comments

02/10/05

CV

Just wrote some initial version of my CV, still needs some work, and PDF conversion :-)

I might ask some people for some advise on it too.

Permalink . Ikke . 10:49:06 pm . 26 Words . Life . . 257 views . Leave a comment

Hint: Use a Docbook element reference sheet

Simple :-)
I use this, this is somewhat bigger.

Permalink . Ikke . 09:16:45 pm . 35 Words . Docbook . . 669 views . Leave a comment
Finished!

Good bye exams! Mechanica was all right, but it should have been better (did some calculations that took me 3/4 of an hour, and I didn't need them :'( ).

Atm, I'm updating my system, and hopefully I will get the hardware acceleration working, so I can check the new test release of TC:E out. My expectations are high, I hope this release is not as much of a disappointment as the other one was.

I haven't been posting a lot in this blog for the last few weeks, but that should improve in the coming days/weeks. ;-)

Permalink . RealNitro . 14:05:29 . 104 Words . Gaming, RTCW:ET, Fun, Life . Email . 496 views

02/09/05

#3

Hint 3: Write directly in DocBook format

As you might know I first wrote my first 2 articles in this blog. I docbook'ized the first one, which went quite well, now in progress doing the second one, which is a real PITA.

So, little hint: don't write plaintext files first, write DocBook code/tags directly.

Permalink . Ikke . 04:02:22 pm . 90 Words . Docbook . . 581 views . 1 comment

02/08/05

Use Yelp to preview your documents

Simple one for now, got not much time, but don't want to break the chain either:

Tip 2: Use Yelp to preview your documents

You can use Yelp to preview the Docbook documents you wrote, so you don't need to xsltproc/xmlto the file everytime (which takes a while).

Just open the like this:

yelp mydocument.dbk

Permalink . Ikke . 10:35:36 pm . 56 Words . Docbook . . 1576 views . 1 comment
Installed Ubuntu on AMD64

Dancing banana

Exams are finished! Yeah, finally! Last one, Advanced Computer Architecture, will be good enough, I think. I just made one big mistake in some assembler code: misread a register and so made the complete exercise (6/20 points) bad. I noticed it just 10 minutes before deadline, so no time enough to restart. The other questions will be OK, I think.

Now the exams are finished, I've some time to install Linux on the notebook at home. It's an Acer Aspire 1522WLMi. Some points I (don't) like:

  • Easy partition management
  • Excellent localization management: after choosing language, I just had to press OK a few times for country and keyboard selection
  • Allmost all hardware good detected, including the 1280x800 screen resolution
  • No support for the WLAN device, I'll ask frocksii about his experiences, I thought he did it with the 64-bit beta of ndiswrapper
  • After installation, the X-server didn't work. I had to mess up a bit with XF86Conf. Indeed, still XFree, no xorg.
  • It was my first experience with gnome since a long time and it seems nicely evolved, I like it
  • A few missing icons (as the "show desktop" button, the items in the "computer" menu,...
  • I'm automatically logged in with my username.

Let's hope I can get the WLAN working, because now I have to go upstairs for a cabled LAN connection and it's cold there... I'll write more about the progress here.

Lot's of good luck to all people still having exams! Just a few more days and it'll be also time to party for you!

Permalink . Peter . 21:22:11 . 257 Words . Studies, Ubuntu@AMD64 . Email . No views
Permalink . Ikke . 10:22:01 am . 1 Words . Technology, Desktop . . 269 views . 1 comment

02/07/05

I wrote the articles/index.html generation script, using Bash and some sed magic.

This is a sample input file:

Using Glib Signals with GOB_gob-signals
Introducing the Glib Mainloop_glib-mainloop

which outputs the current index.html.

You can find the script here, it's called genindex.sh. The index.html.in file I use as a boilerplate in the end is here, very easy to figure out what's done.

Bash is a really powerful thing, the more scripts I try to write using it, the more I learn.
Of course you could do something like this using PHP, Python or something else, but Bash is much cleaner IMHO (i.e.: you don't need a fully fledged PHP installation to do stuff like this).

Permalink . Ikke . 07:41:40 pm . 157 Words . Technology . . 421 views . Leave a comment

Just finished (well, almost) the articles section on my website.
As you can see, the articles are available as PDF now too, although the PDFs aren't formatted very well sometimes (links aren't rendered as real links :-(), need to look into this.
I also need an info page with an explanation of the license, and some copyright information.
The article titles should get the same look as the section links on my homepage, but I cant get them to behave correctly :'(

I'm going to write a PHP script that generates the HTML code you see there from an XML file listing all available articles, too. Will make things much easier for me :-)

I've read some of the GStreamer API docs today, it's a wonderful framework. Prepare for some tutorial ;-)
Next one should be about local (UNIX Domain) sockets, but I think I'll Docbookize the Makefiles tutorial first.

Permalink . Ikke . 04:23:16 pm . 165 Words . Coding Corner, Docbook . . 340 views . 7 comments
A Docbook tip a day keeps MS Word away

Last night I decided to create a new blog category, where I'll try to give one Docbook-related tip every day, so others can get used to this great format too and start writing documentation or articles using it :-)

I will concentrate on writing "article" files, not "books" or some of the other Docbook classes.

First tip: The standard Docbook Article boilerplate

A Docbook document is an SGML or XML file. Writing SGML can be a tedious task, so most users write their documents in XML.
This is the standard boilerplate for a Docbook XML article:

<?xml version="1.0"?>
<!DOCTYPE article PUBLIC "-//OASIS/DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<article id="sometitle" lang="en">

Document goes here

</article>
Permalink . Ikke . 12:34:02 pm . 153 Words . Docbook . . 292 views . 1 comment

02/06/05

I decided to write new articles in docbook directly, not posting them into this blog.

As promised I wrote an article on the Glib Mainloop. It is available here. I still need to add hyperlinks to the quoted references (API's,...), but I'll do that later.

I start to like DocBook, actually. The generated documents may look ugly, but some CSS work could fix it.
The good thing is you got a consistent interface, and the XML you write really describes what you're writing about, if you use the correct tags.
The documents I write may not be 100% correct (missing tags on some places etc), but I'm learning ;-)

I hope you like the article, please comment on it if thing's aren't correct, not obvious enough,...

I should try to write up some CV too next days. Hell of a job.

Permalink . Ikke . 10:08:18 pm . 159 Words . Life, Coding Corner . . 504 views . Leave a comment

The sofware patents soap continues. Where I could post this victory message a few days ago, I now have some bad news. The EU Parliament wants to restart the whole procedure and have plenty of reasons for that, but the Ministers want the opposite. After their strange movements trying to accept the directive as A-item without discussion at agricultural and fishery-meetings, they're going straid ahead with it. Nicolas Schmit, Minister Delegate of Foreign Affairs of EU president Luxemburg, asked the council to vote the important directive on the 17th of february. Let's hope the parliament doesn't let them pass! The chance for that seems rather small, als British parliament member Arlene McCarthy annoucing the parliament will react very heavy. Nice. Let's hope democracy wins from the lobbying multinationals.

Will be continued! ;-)

Permalink . Peter . 02:04:35 . 131 Words . EU Software Patents . Email . No views

02/05/05

libwww troubles

As I told you yesterday, I've troubles with my gentoo box. Because of some incompatibilities between php5 and xoops, I wanted to roll back to php4. Emerge failed (don't know why anymore, I think it was mysqlclient or something like that), but on Gentoo Forums, they suggest a revdep-rebuild. One of those packages to rebuild was libwww. That one didn't rebuild, and again on Gentoo Forums they suggested to unmerge and re-emerge it, so I did, but only the first part of it succeeded: unmerging. Emerging gives output like this:

emerge libwww
Calculating dependencies ...done!
>>> emerge (1 of 1) net-libs/libwww-5.4.0-r2 to /
>>> md5 src_uri ;-) w3c-libwww-5.4.0.tgz
>>> md5 src_uri ;-) libwww-5.4.0-debian-autoconf-2.5.patch.bz2
>>> Unpacking source...
>>> Unpacking w3c-libwww-5.4.0.tgz to /var/tmp/portage/libwww-5.4.0-r2/work
>>> Unpacking libwww-5.4.0-debian-autoconf-2.5.patch.bz2 to /var/tmp/portage/libwww-5.4.0-r2/work
* Applying libwww-config-liborder.patch ... [ ok ]
* Applying libwww-5.4.0-debian-autoconf-2.5.patch ... [ ok ]
* Applying libwww-5.4.0-autoconf-gentoo.diff ... [ ok ]
* Applying libwww-5.4.0-automake-gentoo.diff ... [ ok ]
* Applying libwww-5.4.0-disable-ndebug-gentoo.diff ... [ ok ]
QA Notice: USE Flag 'macos' not in IUSE for net-libs/libwww-5.4.0-r2
You should update your `aclocal.m4' by running aclocal.
Putting files in AC_CONFIG_AUX_DIR, `config'.
/usr/portage/net-libs/libwww/libwww-5.4.0-r2.ebuild: line 45: aclocal: command not found

!!! ERROR: net-libs/libwww-5.4.0-r2 failed.
!!! Function src_unpack, Line 45, Exitcode 127
!!! aclocal failed
!!! If you need support, post the topmost build error, NOT this status message.

So it seems aclocal can't be found. A lookup pointed that I have aclocal 1.5, 1.7, 1.8 and 1.9. I tried to create a symlink named "aclocal" to aclocal-1.9. This results in lots of warnings when emerging libwww, but it compiles. The big problem is, since then, I have crashes (segfaults) of firefox and thunderbird when I'm viewing some sites (like The Register). I created a new symlink to aclocal-1.5, wich made libwww emerging with lots less warnings, but the crashes remain. I searched around in bugzilla and forums but no solution. I'll create a new bugreport, let's hope somethings comes out of it. I'll keep you on touch!

Permalink . Peter . 23:11:29 . 334 Words . My Gentoo . Email . No views

02/04/05

Converted my first article, the one about GObject Signals, into the Docbook format.
The resulting HTML is here, the Docbook XML source here.
The CSS stylesheet needs some more polishing, I know.
Also try viewing the article in Yelp: download the source, and run "yelp gob-signals.dbk".
I updated my homepage so there's a new link to the articles section now.

I'll convert the article on Makefiles later, it's a tedious job.

Started working on the "Glib Mainloop" one, won't be finished too soon (not easy to know what to write about ;-))

Permalink . Ikke . 10:52:53 pm . 168 Words . Life, Technology, Linux, Coding Corner . . 228 views . Leave a comment
Just one more left!

Yeah! Done my exam Design of Multimedia Applications this morning. I think it'll be good enough. I didn't like it, just two questions: he gave the title of the chapter and we give the content, but it'll be OK. That means there's just one more left! Tuesday, I have Advanced Computer Architecture. Nice course. My lovely girlfriend also has just one more left on thursday, and after that we'll spend some nice time together :-D

With that horrible exam wednesday, I wasn't in the mood for studying this one. I started yesterday evening, wich is very late, so I just slept three hours this night. XX( Even then, badminton was very hard and very nice today. Now, I'm just going to check a few things at my gentoo box and some forums, and then I'll take a long sleep ;-)

My gentoo does some strange things today. Much emerge errors, I'll take a look closer to it. I used PHP5 till now, but I want to go back to PHP4, but that one doesn't compile. Tetex (a dependency of it) also doesn't compile.

I finally gave Ubuntu Linux a try. The LiveCD won't run on my computer, so I tried it at the portable AMD64 at home. Starts quite quickly, seems nice designed (gnome 2.8.1), it just looks good. The WLAN doesn't work, but I'll install Ubuntu x86_64 on this machine later and try it with ndiswrapper. Anything else seems really nice.

The Ubuntu Logo

Permalink . Peter . 22:51:36 . 240 Words . Life & Fun, Linux, My Gentoo, Studies . Email . No views

02/03/05

Cube live-cd, TC:E update

Remember me introcucing Cube? Check this out! More info here and here. Too bad I can't check it out on my pc, I hope an x86 version will be released aswell. The article in the gentoo newsletter says "a whole cluster of ODWs running Cube will be part of the presentations in the Gentoo developer room at FOSDEM in Brussels, 26-27 February 2005", so maybe I'll see them running there. ;-)

And now for something completely different: more gaming news! :-p The homepage of my favorite RTCW:ET mod has been updated. Next week the developers will release another test-version containing lots of new goodies, and maps. Those screenshots of the 'snow' map look 88| (<-this smiley should be forbidden. I bet it makes some people have an epilepsy attack or something).

Permalink . RealNitro . 19:09:09 . 190 Words . Gaming, CUBE, RTCW:ET . Email . 586 views
Gnome 2.10.0 beta 1 released

Just got the notification on IRC. Jay, finally :-)

Musical hint: check out the "Cello Concerto in a" by Camille Saint-Sa

Permalink . Ikke . 03:56:24 pm . 31 Words . Life, Desktop . . 217 views . Leave a comment

The no software patents logo

Yeah! Democracy realy rules! The European Parliament has voted in the JURI Committee for restart with massive majority! This is a real victory for democracy, because the Parliament made lots of amendments that were ignored by the European Commission, where the big multinationals, like Microsoft and Philips, lobbied for a fast adoption of those horrible patents. That's why the commission wanted to put this as an A-item, an item that's voted without discussion, on meeting of the European agriculture and fishery ministers. Former french prime minister Michel Rocard MEP, PES (FR/PS), gave a very strong speech at the meeting with Commissioner Charlie McCreevy, who had in the morning assured the JURI Committee that the Council would finally adopt its beleaguered Common Position text. Rocard's speech was a very good one, pointing about several "inelegancies" by the Commission, also with some hard words for McCreevy, and that's a big reason why the Parliament members voted for the restart. See here for more information.

One of the trivial patents: dialog boxes with tabs
One of those trivial patents: the 3D use of a computer desktop aka dialog boxes with tabpages.

Exam yesterday (statistics) was horrible. I'll be realy bad. Let's hope it's enough to pass if Analysis of Systems and Signals was good (I think it was good). Tomorrow, I have an exam Design of Multimedia Applications. We had one lesson about MHP, wich is very interesting, one lesson about content management, but most of the time it handles about MPEG standards. Quite interesting, but the projects we had to do this year, weren't that. Let's hope the exam goes well. After that one, there's just one left for next week. After that one: party time! :lalala:

Permalink . Peter . 15:02:04 . 277 Words . Studies, EU Software Patents . Email . No views

02/02/05

Whoohoo, no more Statistics to study for at least half a year.:-D Maybe even forever, because I feel like I have a nice chance to get a B. We'll see. The next exam is Mechanics, next wednesday. It's not easy, but at least it's nog as boring as Statistics.:-p

After I read Ikke's post about using pyGTK, Glade and Python to create small GUI programs, I decided to learn some Python. I already read a small crash course, and I started reading the official tuturial. Too bad I can't afford to spend a day or so to read and practice, so my progress in the tut is rather slow, but I'll get there.:-) Maybe I'll read this tutorial aswell. Hopefully all that will enable me to understand this final tutorialB-)

So far I really like Python, I even solved some Statistic exercices with it yesterday (couldn't resist :oops: B-) :-p )

That's it for this time. bb!

Permalink . RealNitro . 15:16:14 . 236 Words . Life, Linux . Email . 306 views

02/01/05

Writing Makefiles the manual way, and using autotools

As promised, the article on writing Makefiles. As an extra, I also include how to build a basic/simple autotools project.

Writing Makefiles, the manual way

Let's get started.
First of all, you need all files used in my previous article, i.e. test-signal.gob and test-signal-test.c

There are some rules of thumb you can use when writing a Makefile manally:

  1. Find out what programs you need to process your source files

  2. Find out what packages you need: which headers, and which libraries

  3. Make a list of all source files, and find out which ones are dependent on others

Let's get through these step by step:

  1. What programs do we need? We need gob2 of course, to process our gob file. Next to this, we need the stuff you need most of the time when creating a Makefile: a compiler and a linker. And guess what, GCC can do both things.

  2. What packages do we need? Remember the command line thing you had to use when compiling the test-signal executable?

    gcc -Wall `pkg-config --libs --cflags gobject-2.0 glib-2.0` -o testsignal test-signal-test.c test-signal.c

    We don't even need this line to figure out what we need: we're building a gobject, so we need all libs and headers provided by the gobject package, version 2.x in our case, same thing for glib.
    How can we find out where these things are located? Well, the smart people at freedesktop.org made a nifty tool called pkg-config. When a library is installed, it can install a pkg-config resource file, which lists the directories where it's stuff is installed. For some samples of these files, check /usr/lib/pkg-config. The pkg-config command line utility can parse these files and give you the information you need.

  3. What source files have we got, and which one needs which? We got 2 files, test-signal.gob and test-signal-test.c. In the end we want to generate an executable called test-signal, which needs test-signal.c (the GObject implementation file) and test-signal-test.c.
    We will work in 2 stages here: first we'll compile all necessary .c files to an object file (.o), then in the end link all object files together in a nice executable.
    Here's what should happen: test-signal.gob should be parsed by gob to create our test-signal.c and test-signal.h file, test-signal.c must be compiled, test-signal-test.c must be compiled, and finaly test-signal.o and test-signal-test.o should be linked into test-signal.

First a little intermezzo. You might be asking "If I need to make all these lists, what's the use? Can't I just write some Bash script which executes the gcc command all at once?". Well, no. Make does more than just executing some commands. It also checks whether it *should* do something. Imagine you got 100 source files. You got all of them compiled, linked into some executable, run that one, and find some bug. You fix it by editing some lines in one file, and re-execute your huge gcc command. Gcc would recompile all 100 files, which will take some time.
If you use a Makefile make will find out only one file has been altered since the last build, it'll let gcc recompile only that file, then relink all object files together, which will take less time. Next to this: once using autotools, everything becomes much simpeler ;-)

Ok, now we got all prerequisites. Let's get started writing our Makefile.
I always tend to use the same format when writing one (although I dont write many of them, I use autotools ;-)). I start with defining the executables:

GOB2=gob2
CC=gcc
LD=gcc

This is not necessary, but can be usefull sometimes. Now we can use these variables later on. If we want to change the linker, we only have to edit the Makefile in one place.

Next comes the definition of the CFLAGS, the flags given to the compiler (CC) when compiling a sourcefile into an object file:

CFLAGS=`pkg-config --cflags glib-2.0`
CFLAGS+=`pkg-config --cflags gobject-2.0`
CFLAGS+=-Wall -g

As you can see, we request the CFLAGS necessary for glib-2.0 and gobject-2.0 (2.x, actually) by querying pkg-config. In the end we add 2 compiler flags: -Wall, which tells gcc to show all possible warnings, and -g, which tells gcc to include debugging information. This can result in a somewhat bigger executable, but it is very usefull if we want to debug the program using GDB.

Now we define the LDFLAGS, the flags given to the linker:

LDFLAGS=`pkg-config --libs glib-2.0`
LDFLAGS+=`pkg-config --libs gobject-2.0`

This should be fairly self-explaining.

This project only consists of one executable, so I define an "OBJS" variable including all the object files needed to build our executable:

OBJS=test-signal.o test-signal-test.o

Now comes the name of the executable we want to create:

PROG=test-signal

Now the magic starts. Until now we only defined some variables for later use. We were not forced to do so, it's just more convenient later on. Actually, when building small things, we can just use re-use this Makefile, and only have to change the variable definitions (OBJS, PROG, maybe some CFLAGS and LDFLAGS).

Now some rules follow, which tell make how to handle files:

%.c %.h %-private.h: %.gob
        $(GOB2) $<

This rule tells make: "When a foo.c, foo.h or foo-private.h is needed, and not existant, it should be made from foo.gob, by executing "$(GOB2) $<" which gets expanded as "gob2 foo.gob"". Indeed, % represent "a string", $(GOB2) is the variable we defined at the beginning and gets expanded as "gob2", and $< gets expanded as the first item on the right of the semicolon (":").
One big thing to watch out for: Makefiles are indenting-sensitive but you may not use spaces. So in the last Makefile fragment there's a [tab] before $(GOB2).
The format of a rule is very simple:

filenametobuild: dependenciestobuilditfrom
[tab]what to do first[enter]
[tab]what to do next if necessary[enter]

etc.

Next we define how to link our $(PROG):

$(PROG): $(OBJS)
        $(CC) $(LDFLAGS) $(OBJS) -o $(PROG)

$(PROG) is built out of $(OBJS) by issuing "$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)", expanded to "gcc `pkg-config --libs gobject-2.0` `pkg-config --libs glib-2.0` test-signal.o test-signal-test.o -o test-signal"

We still have to tell make how to create object files out of source files:

%.o: %.c
        $(CC) $(CFLAGS) -c $<

You should be able to figure out what this does by yourself.

Now we add some convenience targets:

all: $(PROG)

default: $(PROG)

clean:
        rm -f $(OBJS) $(PROG)
        rm -f test-signal.[ch]
        rm -f test-signal-private.h

This enables us to just type "make", which will start building the "default" target, or "make all", which will build the "all" target, or "make clean" to "build" the "clean" target.
Notice a target

  1. is not forced to "do" something ("all" and "default"). You can just say "it depends on "foo" and/or "bar", which will be built then, and

  2. the dependencies of a target may be empty ("clean")

Let's end with the complete Makefile:

GOB2=gob2
CC=gcc
LD=gcc

CFLAGS=`pkg-config --cflags glib-2.0`
CFLAGS+=`pkg-config --cflags gobject-2.0`
CFLAGS+=-Wall -g

LDFLAGS=`pkg-config --libs glib-2.0`
LDFLAGS+=`pkg-config --libs gobject-2.0`

OBJS=test-signal.o test-signal-test.o

PROG=test-signal

%.c %.h %-private.h: %.gob
        $(GOB2) $<

$(PROG): $(OBJS)
        $(CC) $(LDFLAGS) $(OBJS) -o $(PROG)

%.o: %.c
        $(CC) $(CFLAGS) -c $<

all: $(PROG)

default: $(PROG)

clean:
        rm -f $(OBJS) $(PROG)
        rm -f test-signal.[ch]
        rm -f test-signal-private.h

Save this file as a file called "Makefile" in your source directory, and type "make". This should be the result:

gob2 test-signal.gob
gcc `pkg-config --cflags glib-2.0` `pkg-config --cflags gobject-2.0` -Wall -g -c test-signal.c
test-signal.c: In function `test_signal_testsignal':
test-signal.c:141: warning: implicit declaration of function `memset'
gcc `pkg-config --cflags glib-2.0` `pkg-config --cflags gobject-2.0` -Wall -g -c test-signal-test.c
gcc `pkg-config --libs glib-2.0` `pkg-config --libs gobject-2.0` test-signal.o test-signal-test.o -o test-signal
rm test-signal.c

Notice the "rm test-signal.c": make removes the files it generated itself, so when you update test-signal.gob, it will tell gob to reconstruct the c file, otherwise the c file wouldnt get updated.

Now you should be able to execute ./test-signal.

Ok, we got a nice Makefile now, but it took some time to write it, isn't it? And we don't have a "normal" FOSS install method like ./configure, make, make install...

Well, that's what we are going to do now. The following stuff is much easier than writing Makefiles by hand (you know, FOSS devs are lazy people ;-)), but it is useful to know how Makefiles are formatted, and how they work, though.

Ok, time for some really 1337 (couldn't stop it) stuff: introducing GNU Autotools.

Using the GNU Autotools to build your project

Didn't you ever want to be able to write such a neat ./configure script yourself? Here's how to do it with our sample project :-)

Autotools consist of a bunch of utilities, most of them starting with "auto" (duh). There's autoconf to generate a "configure" script from a file you provide, there's the automake script that creates Makefile's for you (actually, it does not create Makefiles. Read on), and many more.

This is how it works: the configure script will look up a bunch of stuff for you (or you provide it using --with-foo=... etc), it will do some tests to figure out whether the project should compile and run cleanly on your system, and in the end it will generate some files.
A boilerplate for these generated files should be provided by you, called "thefile.in". The generated file will be "thefile" then. Inside "thefile.in", you can use variables like these: "@FOO@", which will be substituted by the configure script.
That's the system automake uses: you write a simple Makefile.am file (read on on how to do this), automake generates a long and difficult Makefile.in file, which gets processed by configure to create the final Makefile.

GNU Autotools have some strict rules (although it is possible, but not advisable, to get around them). Source files should be in the src/ subdirectory, and some files are required in the root directory of the project. We'll find out which ones these are later on.

Let's get started by creating our initial project directory layout:

#Go into an empty directory
mkdir src
cd src
cp /foo/bar/test-signal.gob ./
cp /foo/bar/test-signal-test.c ./
cd ..

Initial task: once more, figure out what the required dependencies are. As mentioned in the first part, we need gobject-2.0 and glib-2.0. Next to this, we need a working C compiler.

We can start writing a configure.in file now, in the root dir of our project, which will be processed by autoconf to generate out ./configure script. Here's what it could look like, comments (starting with "dnl") inline:

dnl Register ourselves to autoconf, giving the main source file
AC_INIT(src/test-signal-test.c)

dnl Init Automake, giving the program name and version. More parameters (author and author's email) are optional
AM_INIT_AUTOMAKE(TestSignal, 0.1)
dnl Enable maintainer mode (debugging flags etc)
AM_MAINTAINER_MODE

dnl Check whether we got a good C compiler. Variable "CC" will be defined and expanded in the .in files
AC_PROG_CC

dnl GOB2 macro, to check whether gob version >=x.y.z (here >=2.0.0) is found. Variable "GOB2" will be substituted/expanded
GOB2_CHECK([2.0.0])

dnl Use built-in macro's to query pkg-config. First parameter is a variable name we'll use later on, second is the package to check for (with optional minimal version), third is the thing to do if the package is found, fourth if not
PKG_CHECK_MODULES(GLIB, glib-2.0, have_glib=true, have_glib=false)
if test "x${have_glib}" = "xfalse" ; then
        AC_MSG_ERROR([No Glib package information found])
fi
dnl So glib-2.0 is found. Remember the first parameter in the previous command, GLIB? Well, GLIB_CFLAGS now contains the output of `pkg-config --cflags glib-2.0`, same thing for GLIB_LIBS with --libs instead of --cflags
dnl AC_SUBST tells configure to substitute the given value in the provided .in files
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)

dnl Same thing for gobject-2.0
PKG_CHECK_MODULES(GOBJECT, gobject-2.0, have_gobject=true, have_gobject=false)
if test "x${have_gobject}" = "xfalse" ; then
        AC_MSG_ERROR([No GObject package information found])
fi
AC_SUBST(GOBJECT_CFLAGS)
AC_SUBST(GOBJECT_LIBS)

dnl Here we tell the configure script which files to *create*, so we leave out the .in part
AC_OUTPUT([
        Makefile        \
        src/Makefile
])

Currently Makefile.in and src/Makefile.in don't exist yet, they will be created by automake later on.

This file is a very simple one, it can be a tedious job to create complex configure.in files :-/

Next thing: Makefile.am files, which will be processed by automake to create the Makefile.in's.
In the project root dir, this file can be very simple:

SUBDIRS = src

We just define the subdir(s) of the current dir.
src/Makefile.am is a little more complex:

INCLUDES = $(GLIB_CFLAGS) $(GOBJECT_CFLAGS)

bin_PROGRAMS = test-signal

test_signal_SOURCES = test-signal.c test-signal-test.c

test_signal_LDADD = $(GLIB_LIBS) $(GOBJECT_LIBS)

%.c %.h %-private.h: %.gob
        @GOB2@ $<

Some explanation:

  • "INCLUDES" is a variable that will be given to every compile call to "$(CC)", here we only need the glib and gobject includes. Remember these values will be setted by the configure script.
  • "bin_PROGRAMS" is a variable defining the names of all targets we want to be installed as an executable in the bin directory (/usr/local/bin if no prefix is given to ./configure)
  • "test_signal_SOURCES" is a variable defining which files are needed to make the target "test-signal". Notice "-" being replaced with "_" here, which is a common thing in automake files.
  • "test_signal_LDADD" defines which parameters to offer to the linker when linking the input object files to the "test-signal" executable. We could have used a global "LDADD" variable here, like "INCLUDES", or have made "INCLUDES" non-global by using "test_signal_INCLUDES". In large projects this can make a big difference.
  • The last part is the one we also used in our hand-written Makefile. It will be put like this in the resulting Makefile.in by automake, so make will know how to build .c and .h files from a .gob file.
    Automake puts all non-automake-specific stuff that's in Makefile.am in the resulting Makefile.in.

Now everything is done. At least, almost ;-) We still need to call out autotool scripts.
It's easy to do this from a shell script. Most projects call this script "autogen.sh", so will we. This script can be fairly complex, ours will be braindead easy:

#!/bin/bash
aclocal
autoconf
automake -a

As you can see, we first call aclocal (part of the automake package), then autoconf, then automake with the -a flag.
Why "aclocal"? Autoconf, which creates a configure script out of a configure.in file, uses M4, a complex macro system, to do this. aclocal copies the necessary macro definitions for your system to the right place.

Run this script, or enter the commands by hand. aclocal can give a lot of warnings, don't bother about these.
If this is the first time you run the script, you will see some automake errors in the end, and the script execution will fail:

Makefile.am: required file `./NEWS' not found
Makefile.am: required file `./README' not found
Makefile.am: required file `./AUTHORS' not found
Makefile.am: required file `./ChangeLog' not found

These are the required files I mentioned earlier. We'll just touch them for now so they "exist", although contain no usefull information:

touch NEWS README AUTHORS ChangeLog

Now restart the autogen.sh script, everything should pass now.

If you take a look now, you'll see a couple of Makefile.in files are created now (who will be converted into Makefiles by configure, remember?), and the configure script.

Let's take our work to the test, and run ./configure. You'll see the usual output, and everything should pass fine (we don't have a lot of prerequisites :-))

Now let's try if our project builds fine:

make

Jay, lot of compiler commands, no errors. Fun :-)

To finish, test whether the executable works:

cd src
./test-signal

The same output as before appears, we're member of the Autotools User Group now ;-)

That's it for now, more stuff should follow: "The Glib mainloop", "Debugging using GDB", and a from-scratch "program" we'll create. I only lack the time to write everything ;-)

I'd like to convert these articles to some format so they can be used outside this blog (converted to PDF, HTML,...). Docbook seems to be a good format to do this, I need to get used to it first, though. If someone knows a good Docbook editor (next to Conglomerate), please let me know.

Permalink . Ikke . 10:49:08 pm . 2936 Words . Technology, Linux, Coding Corner . . 2951 views . 1 comment

I just found this article on distrowatch.com, and I'm amazed. This is *so* unreal :crazy:
If you're too lazy to read it, or just want to know why you should: it looks like CCux Linux included Ivman in their latest development release, by default XX(
Quoting the Release Notes:

(But) This Version has some nice new Features too. Supermount doesn't handle the automatically Device mounting. In Fact, this is now handled from dbus 0.23, hal 0.4.7 and ivman 0.5. This Combination does this Job much better when mounting CD/DVD Drives or USB Sticks, Kameras or other Things. Therefore it doesn't need anymore User Interaction to get all Drives running.

88| :-P :-) :-D :-p B-) |-| :>>

This is some great new, isn't it? Mostly thanks to Rohan lately I guess :-) YOU ROCK

Next to this: as promised in my GObject Signal handling article, I wrote a makefile for it, and even did the autotools stuff. I'll write an article on that stuff this evening, or tomorrow, if possible.

PS. Good news: exam was fairly good, I think. Let's hope for the best tomorrow.

Permalink . Ikke . 07:00:07 pm . 225 Words . Technology, Ivman . . 1254 views . 4 comments
Belnet jabber problems caused by bug in jabberd14

Now that Belnet has a jabber server, I created a JID there and I want to migrate my whole roster to Belnet as I think it would be more stable than amessage.be. Before moving all my contacts, I first tested out the service there. I added my amessage-JID to my Belnet roster, but never recieved an authorisation request in Gaim. Logging on to the GreenThumb applet, I see "pending" at my amessage-contact. Sander, a jabber contact and very active within jabber and ejabberd, told me that the problem is caused by an s2s-bug in jabberd14. I've sent an e-mail, let's hope they fix it soon or switch to ejabberd.

Permalink . Peter . 13:29:59 . 111 Words . Jabber . Email . No views
Loops and oversized ethernet frames

Looks we know the origin of our problems with the VTK-server yesterday. We're not the only one having those troubles: when the sysadmin of the building connects a computer to an unused UTP-connection, the pc seems like under DoS attack. One of the network operators told about a known problem, some loop. The last message on our firewall (dmesg) indeed was "oversized ethernet frame". That could cause some delay and Metsie, the impatient one, thought our server was the problem and rebooted it with the known result. Normally it should be fixed now...

Permalink . Peter . 11:39:33 . 93 Words . VTK . Email . No views
New category

Just made a new blogging category, "Coding Corner". I've got some ideas related to a serie of articles on Gnome/Glib coding, building on GObjects like in the article of yesterday, but also introducing some basic GTK+ coding, daemonizing, autotools (autoconf/automake/autoheader) and some more. It will be a little "Hello world" program, which can *normally* be done in like 10 lines of code, but a little more sophisticated here. I hope I'll be able to start writing the first article (about the Glib mainloop) tomorrow afternoon.
I'm looking for some format to write the articles in, so maybe I'll be able to generate PDF documents of them later on, etc. Maybe I should take a look at Docbook? LaTeX isn't really suited here.
Of course the CUPS PDF Writer could do it's job too ;-)

Got an exam at 14:00 and tomorrow morning, wish me luck, I need it.

Permalink . Ikke . 09:37:36 am . 148 Words . Life, Technology, Coding Corner . . 206 views . 1 comment
Spirit wants discussion about Free Software with Gates, Belnet jabberserver, Exam and VTK troubles

Haidie,
Just had my exam HFC Accessnetworks, more difficult than I expected, but I think it'll be OK. Next one is those damn bloody statistics. Yeah, like RealNitro. I'll do it for the 5th time, RealNitro for the 3th. If I don't pass this one (now and in August ;-)), I'll have to redo all exams of my second year while I'm doing the 4th year now (in the 3th year I passed all exams succesfully).

Had some troubles at VTK today. When I finnished my exam, I put on my cellphone and Sygmoral had sent a message pointing me on the fact that the VTK servers were down. Now, at VTK, we have a mail/file-server, a webserver and a firewall. The firewall is an old machine (but does its job well) with a hard disk with a corrupted segment. We didn't know about that corrupted segment and found a blank partition when we first looked at it. (we = the sysadmins of this year) Yeah, we thought to prepare a new gentoo-installation and new firewall on that partition, but it wouldn't work. No problem, we should take care of it after the exams, the machine still runs fine under the current slackware. But when testing the new gentoo, we installed grub and for some reason we couldn't make grub boot into the old slack-installation. Re-installing the old lilo didn't work also. The problem with grub is nog fixed and was quite strange: we had to create a symlink to grub.conf, called menu.lst. |-| Didn't know that, never done that and always working. But thanks to Femi, the firewall can now be rebooted back in the working slack-environment without having manually to edit the bootline in the grubconfig while rebooting.

So back to this afternoon: seems Metsie has also notified the website could not be viewed and he didn't get mails anymore. So, he thought to be smart and rebooted the firewall. Bad idea: as I mentoined above, the firewall tries to boot in that corrupted harddisk segment. So I arrive, see kernel panic. With the help of Ikke, I could reboot the machine in a working kernel, but firewalling wasn't working as it used to be: from within VTK we could view webpages of the outer world, but from any other place, we couldn't see VTK's. Pinging was no problem. Seems that there were lots of old kernels on that machine and one of them is the right one to boot :crazy: A hint for everyone: just make sure you always have just one working kernel and delete the non-working ones! So you can't make mistakes ;-)

I also introduced the DeathRow at VTK today :>> At our fileserver, we have a temp-directory but that's evolved to a personal extra storage of the preasidium members. If they have work for school, they put it there. That's not what it's initially created for. If we want to periodically delete the contents of that directory, there are always questions like "please, don't delete this one, we still need it and it's too big for our personal directory" and now there are several files called "filename-please_dont_delete". Now, no more mercy for them! I've created a directory "deathrow" somewhere else on the server, executable and readable for everyone, but the contents itself are root-owned and not readable by others. From now on, every week the contents of the temp will be moved to the deathrow. If there are some files (only VTK-files, no personal files) that must be kept for still a few weeks, we can manually copy them back to temp, but we won't do it much. The old contents of DeathRow are deleted before moving the temp to it.

Some real other stuff now!
Tomorrow Bill Gates comes to Brussels. Normally he'll talk about Software Patents. For the moment, Software Patents are not possible in Europe, but the European Patent Office illegaly accepted more than 30.000 of them. Now, those companies payed a lot for this patents and they now want to make those patents legal. Many protests from free software organisations, consumer organisations, academics, scientists, economists, SME's and the European Parliament made enough amendements to the directive preventing non-trivial patents. Now the European Commission wants also to allow these ones by placing them on the meetings shedule of the European Agriculture Ministers (who don't know anything of this by default) as an A-item: an item that's being voted (normally yes) without discussion. In the meantime the European Parliament tries to restart the whole proces to reopen the whole discussion since many people have changed their mind (against SP's) and the EU now consist of 10 more countries than when the whole story started. And now Gates comes lobbying for those damn software patents... Let's hope they never introduce them here. More info about why software patents are bad can be found in Dutch here, in French here and here in English and many other languages.

No software patents!

Now that Gates is coming to Brussels, the Flemish political party Spirit wants to discuss with Gates about Free and Open Source Software, FOSS. Spirit is known from this I pointed about yesterday, but last year they did also reach the news with an IMHO stupid action "Gates, open your bill" asking for more FOSS in schools and public. OK, I also want more FOSS in schools and so on, but they didn't promote FOSS that way. They only shitted on MS (OK, I also do that sometimes ;-)), their webpage was called "windowssucks.html" and they promoted open standards using a Flash-website :crazy: They even made MS send a letter to the Belgian Government asking for apologies. Crazy people...

Geert Lambert
Geert Lambert, the chairman of Spirit

Some good news about Jabber: BELNET, the Belgian national research network for education, research and public services, has installed a Jabber server. It's a nice bi-processor SunFire V65x with 2GB RAM, connected to the Belnet backbone through a 1Gb ethernet connection running the jabber deamon and a few transports to MSN, ICQ/AOL and Yahoo. They also provide a nice online client called Greenthumb and a very simple one. The goal is to create an open IM-infrastructure, primarly for schools, but usable by everyone. More information can be found here. Let's hope it haves some succes. I already think about moving my amessage.be JID to Belnet hoping for a better service (less downtime for example ;-)).

Jabber Software Foundation

Permalink . Peter . 00:47:17 . 1065 Words . Life & Fun, VTK, Studies, Free Software, Jabber, EU Software Patents . Email . No views