2010-12-27

Uchronie(s): New Byzance, New Harlem, New York

A friend gave me an excellent French series of comic books called Uchronie(s). Or is it three series ?

Each series is about a different city: New Byzance, New Harlem and New York. Or is it each time the same city in an alternate reality ?

In New Byzance people dream fragments of the story in New Harlem. In New York they see the future, or is the past ? The idea is to read the first comic of each series, before reading any of the part 2's.

All in all this is an interesting entanglement of stories, philosophy, history and cultures (to be concluded in 2011).

2010-11-07

svg with inkscape

Inkscape is an easy (and free) tool to create scalable vector graphics. It is much fun using it, it is even more fun sharing the results.

Two routers connect two LAN's


DNS lookup behind adsl-router


TCP handshake example
More of them can be found here : http://www.linux-training.be/svg/

2010-10-20

funny directory on Solaris

bell21# cd /usr/share/man/
bash: cd: /usr/share/man/: No such file or directory
bell21# cd /usr/share/
bell21# file man
man: directory
bell21# chmod 755 man
chmod: WARNING: can't change man
bell21# cd man
bash: cd: man: No such file or directory
bell21# ls ma*
man: No such file or directory
bell21# echo ma*
man
bell21# ls -l /usr/share | grep man
dr-xr-xr-x 1 root root 1 Oct 20 08:52 man
bell21#
Answer below...

One of my students put
/usr/share/man bell21:/usr/share/man
in the /etc/auto_direct file ;-)

2010-08-25

simple zfs snapshot demo

create a zfs file system on four disks
root@sol10u8 /# zpool create zzz c2t0d0 c2t1d0 c3t0d0 c3t1d0
root@sol10u8 /# zfs create zzz/data42


populate it with 2MB of data
root@sol10u8 /# dd if=/dev/urandom of=/zzz/data42/file2MB count=2048 bs=1024
2048+0 records in
2048+0 records out


verify the used disk space is 2MB
root@sol10u8 /# zfs list -o space
NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD
zzz 7.81G 2.11M 0 23K 0 2.09M
zzz/data42 7.81G 2.02M 0 2.02M 0 0


add 3MB
root@sol10u8 /# dd if=/dev/urandom of=/zzz/data42/file3MB count=3072 bs=1024
3072+0 records in
3072+0 records out


wait a couple of seconds, then verify usage of diskspace
2MB + 3MB = 5MB
root@sol10u8 /# zfs list -o space
NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD
zzz 7.81G 5.12M 0 23K 0 5.10M
zzz/data42 7.81G 5.03M 0 5.03M 0 0


create a snapshot to preserve this 5MB forever
root@sol10u8 /# zfs snapshot zzz/data42@Wednesday


snapshot = read only copy
snapshot = takes almost zero diskspace when created
snapshot = consumes diskspace as data changes
snapshot = because it keeps the original data

verify diskspace used by snapshot
root@sol10u8 /# zfs list -o space
NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD
zzz 7.81G 5.12M 0 23K 0 5.10M
zzz/data42 7.81G 5.03M 0 5.03M 0 0
zzz/data42@Wednesday - 0 - - - -


force 3MB of data changes on the original file system
root@sol10u8 /# dd if=/dev/urandom of=/zzz/data42/file3MB count=3072 bs=1024
3072+0 records in
3072+0 records out


this new 3MB of data was written over 3MB of existing data

wait a couple of seconds!!
then verify disk usage of file system and snapshot
root@sol10u8 /# zfs list -o space
NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD
zzz 7.81G 8.15M 0 23K 0 8.13M
zzz/data42 7.81G 8.05M 3.02M 5.03M 0 0
zzz/data42@Wednesday - 3.02M - - - -


notice that the snapshot uses 3MB --> it's keeping the original 3MB forever!
notice that the zpool consumes 8MB : 5MB of current data + 3MB snapshot data

copying the snapshot to another file system would total to 5MB
the same 5MB that existed at the time we took the snapshot
3MB inside the snapshot + 2MB of original data still on zzz/data42

add another 4MB of data to the file system
root@sol10u8 /# dd if=/dev/urandom of=/zzz/data42/file4MB count=4096 bs=1024
4096+0 records in
4096+0 records out


wait a couple of seconds
verify that data42 now consumes 9MB
snapshot stays at 3MB
total for the pool is now 12 MB
12MB = 3MB snapshot + 2MB original data + 3MB new data + 4MB new data
root@sol10u8 /# zfs list -o space
NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD
zzz 7.80G 12.2M 0 23K 0 12.1M
zzz/data42 7.80G 12.1M 3.02M 9.03M 0 0
zzz/data42@Wednesday - 3.02M - - - -


this new 4MB data is in a new file, so it does not influence the snapshot

take a look at the file system
root@sol10u8 /# ls -l /zzz/data42/
total 18457
-rw-r--r-- 1 root root 2097152 Aug 25 21:45 file2MB
-rw-r--r-- 1 root root 3145728 Aug 25 21:49 file3MB
-rw-r--r-- 1 root root 4194304 Aug 25 21:51 file4MB


take a look at the snapshot
root@sol10u8 /# ls -l /zzz/data42/.zfs/snapshot/Wednesday/
total 10256
-rw-r--r-- 1 root root 2097152 Aug 25 21:45 file2MB
-rw-r--r-- 1 root root 3145728 Aug 25 21:46 file3MB


notice the difference in the time stamp on the 3MB file!!

use zfs send/receive to copy the snapshot
zfs send zzz/data42@Wednesday | ssh server "zfs receive yyy/data42"


or use cp, tar, cpio, rsync... to backup a snapshot
www.linux-training.be explains these commands

destroy the snapshot
zfs destroy zzz/data42@Wednesday

2010-08-22

Impressions on Oracle

There are enough blogposts mourning OpenSolaris (or hoping for Illumos). What follows are some real world experiences in dealing with Oracle since it took over the Sun Solaris trainings in Belgium.

1. Remote labs are free!
Solaris teachers and students can now connect to remote labs with nice hardware for free. This is a great addition to the simple Intel machines in the classroom.

2. Support is excellent!
In the weeks prior to the first Oracle Solaris training several people from Oracle called and/or emailed me to make sure everything was okay. These are real people that don't mind sharing their real email address and their real phone number. Cool! And they were very friendly and helpful!

3. Support is excellent!
When sending an email on Sunday to report a problem, there is an almost immediate response from one of these real people. On a Sunday?! Super cool!

2010-07-18

tide bestek

Mensen houden zich soms bezig met nutteloze dingen. Zo verzamel ik (niet echt actief, maar toch) een besteksoort (heet dat wel zo) die vroeger bij Tide waspoeder zat. Ik vind het wel leuk als je mensen uitnodigt, dat je iedereen hetzelfde bestek kan geven.

UPDATE 2021: http://cobbaut.blogspot.com/2021/05/tide-bestek-deel-2.html

Als je nog ergens een groot of klein mes hebt, of zoals hieronder getoond een brede lepel/schep of een suikertang, dan kan je me altijd gelukkig maken. In ruil kook ik wel voor je.

2010-07-03

Over vrije software, softwarepatenten en open standaarden

Wat is open source ?

Omdat Nederlands soms makkelijker is dan Engels, bespreken we eerst de Nederlandstalige termen vrije software, softwarepatenten en open standaarden.


Vrije Software

Vrije Software is letterlijk software die vrij is. Vrij te gebruiken, vrij te bestuderen, vrij te verspreiden en vrij aan te passen!

Vrij te gebruiken wil zeggen dat er geen beperkingen mogen zijn op het gebruik van de software. Iedereen is vrij om te kiezen waarvoor hij de software wil gebruiken. Als er beperkingen zijn op het gebruik van de software, dan is deze niet vrij.

Vrij te bestuderen wil zeggen dat iedereen de vrijheid moet hebben om naar de broncode te kijken om te begrijpen hoe de software werkt. Iedereen moet vrij kunnen spreken over de werking van de software. Als je software niet kan of mag bestuderen, dan is deze niet vrij.

Vrij te verspreiden wil zeggen dat je deze software mag doorgeven aan je buren en je vrienden. Als je software niet mag doorgeven aan anderen, dan is deze niet vrij. Als je verplicht bent een licentie te betalen, dan is de software niet vrij.

Vrij aan te passen wil zeggen dat de broncode beschikbaar moet zijn zodat je deze kan aanpassen, en wil ook zeggen dat je de software mag verspreiden met jou aanpassingen. Als je software niet kan of mag aanpassen, dan is deze niet vrij.

Voorbeelden van vrije software : Linux, Apache (de meest gebruikte webserver), Firefox, OpenOffice.org, Azureus, Battle for Wesnoth (een leuk spel!), en meer.

Bedrijven zoals Google en Facebook gebruiken bijna uitsluitend vrije software!

Opgepast: Je hebt niet zomaar het recht om een logo (Firefox bijvoorbeeld) of een trademark over te nemen en te verspreiden!
Opgepast: Heel wat vrije software eist dat je de naam van de auteurs (programmeurs) blijft vermelden! En GPL software eist dat aanpassingen die je wenst te verspreiden onder dezelfde GPL licentie vallen.




Softwarepatenten

Softwarepatenten zijn een heel gevoelig onderwerp. De strijd tegen softwarepatenten mag je vooral niet verwarren met een algemene strijd tegen patenten.

In Europa is er geen wettelijk kader voor softwarepatenten (softwarepatenten.be), maar dit weerhoudt grote bedrijven (IBM, Oracle, HP, Microsoft, ...) er niet van om massaal softwarepatenten te registreren. Sommige van deze patenten zijn verrassend triviaal; zowat elke website gebruikt tientallen softwarepatenten. Bijna alle software die er bestaat gebruikt wel enkele van de tienduizenden geregistreerde softwarepatenten.

Een van de grote nadelen van softwarepatenten is dat ze innovatie serieus tegenhouden. Je kan je als KMO immers niet verdedigen tegen een massa advokaten van de grote bedrijven die staan te zwaaien met softwarepatenten (met als gevolg dat je failliet gaat of wordt opgekocht).

Vroeger waren er geen softwarepatenten, en gelukkig maar! Stel je voor dat AT&T in 1970 in staat was geweest om software te patenteren, dan hadden we nu maar 1 besturingsysteem (Unix), en maar 1 officeapplicatie (vi) en 1 zoekmachine (find). Bedrijven als Google, Facebook of Microsoft zouden nooit kunnen bestaan hebben.

Vrije software valt niet te verzoenen met softwarepatenten (in de vorm dat ze vandaag bestaan in de USA).



Open Standaarden (en open formaten)

Open Standaarden zijn standaarden (noem het gerust talen, protocols of formaten) die voor iedereen beschikbaar zijn om te gebruiken. Een bekend voorbeeld hiervan is HTML. HTML is een standaard die er sinds 1993 voor zorgt dat we documenten op internet kunnen raadplegen. Iedereen mag een programma schrijven om HTML te lezen (Internet Explorer, Firefox, Google Chrome, Opera, ...). Een ander voorbeeld is PDF, een documentformaat dat ervoor zorgt dat het document er op elke computer hetzelfde uitziet (en identiek uit elke printer rolt). Ook al is PDF ontwikkeld door Adobe, de standaard is exact beschreven door Adobe en vrij te gebruiken.
Het grote voordeel van open standaarden is dat je onafhankelijk bent van een leverancier!

Het meest gekende tegenvoorbeeld van een open standaard is het formaat gebruikt door MS Office 95/98/2000/2003 (.doc .xls ...). Dit gesloten formaat is eigendom van Microsoft en enkel te openen met producten van Microsoft. Je kan als organisatie niet zelf een product schrijven dat deze documenten perfect kan gebruiken, want Microsoft wil niet vertellen hoe het .doc formaat in elkaar steekt.

Het grote nadeel van gesloten standaarden is dat je geen keuze hebt van leverancier. Indien je bedrijfsinformatie aangemaakt hebt met MS Office 2000, dan ben je afhankelijk van Microsoft om toegang te krijgen tot jou eigen gegevens.


Open Source

Als we nu terug gaan naar de Engelse taal, dan komen we een probleem tegen. De Nederlandse woorden gratis en vrij zijn duidelijk verschillend, maar worden in het Engels beide vertaald naar 'free'. Dit zorgt voor heel wat verwarring rond 'free software', mensen interpreteren het als gratis software, of erger nog, verwarren het met freeware.
Daarom spreken heel wat mensen van open source software (of gewoon open source), terwijl ze eigenlijk vrije software bedoelen.

2010-06-27

David Eddings


I disagree with the sound of one hand clapping, David Eddings is getting better after the first three books. I hesitated to start reading Castle of Wizardry, but since the new Trudi Canavan and the new Terry Goodkind are not yet available in pocket, I decided to trust stormy voices praising David Eddings.
Well, book four in the Belgariad is a lot better than the first three!

2010-06-06

brave plakkers, stoute plakkers

Hier rechtover staat zo'n verkiezingsplakbord, zeker twaalf meter lang, waar elke partij affichkes op kan plakken.

Wie komt er het meeste langs om te plakken ?
  1. pvda 5 keer
  2. sp-a 4 keer
  3. vb 3 keer
  4. groen 2 keer

Wie plakt er het meest bovenop andere partijen ?
  1. pvda 5 keer
  2. sp-a 3 keer
  3. vb 1 keer

Welke partij wordt het meest overplakt ?
  1. vb 7 keer
  2. pvda 1 keer
  3. lsp 1 keer

2010-05-31

nerds only ;-)

/me: The car is called Julie, the remote control is named Mercedes.
/some guy: not bad, though I preferred to rename "Julie" to "Benz" ;)
/me: She is called Benz!
/other guy: ...there is no way that Darla would let Harmony tell her what to do. :-)


2010-05-09

Facebook = the net

About World Domination...
Microsoft, Linux, Google, they all lost the battle for the desktop. Facebook has won, they officially own the personal computer.
More and more popular websites can read your private facebook data when you visit them, even when the facebook-tab is not open. I'm not sure that logging out helps, since technically cookies can still identify you. I don't like this facebook-knows-all world.

About Privacy...
"So don't put private stuff on facebook!" I hear you say. "Not that easy!" I reply "because facebook is keeping bloody track of your online movements, even when you haven't given it private info or when you don't post anything on your wall."
Not convinced yet, let me quote Ryan Singel: 'Now, say you you write a public update, saying, “My boss had a crazy great idea for a new product!” Now, you might not know it, but there is a Facebook page for “My Crazy Boss” and because your post had all the right words, your post now shows up on that page.'
How long will it take until facebook posts stuff in your name on a dozen websites, just because you (accidentally of course) stumbled upon www.hotredheadsinstockings.com.

About deleting your facebook account...
This link explains how difficult it is to really delete your account.

Anyway, starting today I'll split my browsing habits, isolating facebook in its own private virtual machine.

2010-05-05

Girls and Androids

Na het lesgeven, maar voor het schaken nog effe op het Zuid de dames (met sacochen) goeiedag gezegd.

Met dank aan Clo voor de organisatie van de 27ste girlgeekdinner. Emich de android developer gaf een boeiende presentatie (incluis porno, dildroid, my day en de Brusselse STIB app). Dank ook aan Sony Ericsson voor de sponsoring en de gratis Xpedia X10!

2010-04-23

It was a dark and stormy night

It was a dark and stormy night. A cunningly rigorous gang of nerdy friends had deviously gathered in the Kulminator. Malevolent glasses were filled with beer, brains osmosing in alcohol. Dragons and lasers turned out to be a worthy definition. How else would you classify sci-fi from fantasy ? Enlightened stories surfaced, tackling torture and Marion Zimmer Bradley , praising Piers Anthony and frowning on Zardoz. Sanity returned briefly before babbling on Airplane! silently recovering with Neal Stevenson, James Joyce and Franquin. Experts agreed on two liters of water to let the storm pass. So long and thanks for all the cheese.

2010-04-21

Twalvin and Hobbes in 1986

Bill Watterson was having fun with Twitter 24 years ago ;-)


(Calvin and Hobbes, 25th October 1986)

2010-04-12

Linux processes

Finally got around to reworking the processes chapter (viewable in html now). Still need to add a section about screen and rework the labs for this chapter...

2010-04-11

loadays

This weekend saw the first edition of loadays, and it was good!

Puppet was nicely introduced by Dan Bode. CFEngine was not technical enough, which is imho preferred by the loadays crowd over marketing. The bacula talk was also a bit a mix of marketing and technical content, but ok.

Tom De Cooman did an excellent talk on monitoring tools, good speaker!

On Sunday we had to do without Pieter Colpaert's bash 4.0 introduction (thanks for putting the slides online!). Toshaan introduced us to SELinux with a clear presentation, maybe lacking some examples (since there was time left). Network RPM was interesting, but probably not for me. The last talk I followed was a good overview of the lsc-project by Jonathan Clarke.

Next loadays, if the organizers permit it, I'll do a bash tutorial.

2010-03-30

zucht

Is het niet een beetje vroeg voor een aprilvis?

Zaventem schaft binnenkort rij 13 af voor de bijgelovige reizigers. Gaat bijgeloof nu al bepalen hoe we tellen ? Morgen een verbod op een dertiende verdieping ? Hopelijk is er geen tram of bus op lijn 13, of een station met 13 sporen.

Mogen kinderen hun dertiende verjaardag nog vieren ? En wat als ik in september 13 studenten heb in mijn klas ?

Ondertussen ken ik een koppel met tetrafobie (angst voor het getal 4). Misschien moeten we ineens alle nummers verbieden, veel te gevaarlijk die dingen.

2010-03-25

Why use (hard) links ?

Dear lazyweb,

When explaining inodes, directories and hard links, students regularly ask "Why would you (ever) use hard links ?".

I usually reply with three obvious reasons:
1. To never have a file twice on your system (and thus save disk space).
(they need to know that deleting files with hard links doesn't add free space)
2. For compatibility with legacy applications that use old file locations (without the need to rewrite those applications).
3. Because Linux programs know how they are called, mke2fs, mkfs.ext2 and mkfs.ext3 can be the same file, but with distinct functionality.

Sometimes these arguments fail to convince students of the usefulness of hard links. What would you say ?

2010-03-12

We zijn in 2010!

Wil iemand eens tegen De Standaard zeggen dat we in 2010 zijn ? De laatste dagen doen ze regelmatig een foto reportage... met fotos die kleiner zijn dan hun reklamebanners...



Deze reeks bevat fotos van 280x180 en 280x140 pixels. Een resolutie van 1024x768 of zeker 800x600 lijkt me een minimum om in 2010 van een foto te spreken.

2010-02-21

Grrratch luuug Raaaach aaarg

Ik hou van epische, zeg maar lange verhalen. The Sword of Truth is zo een episch verhaal, uitgespreid over elf boeken. De laatste bladzijde is gelezen. 8069 bladzijden liggen achter mij.

Het ging over magie, over draakjes en eieren, over de Mud People en de Baka Ban Mana (later de Baka Tau Mana), over witches en wizards, Sisters of the Light en Sisters of the Dark, over Nicci, Cara, Denna en Kahlan, ook over Jennsen, Richard, Chandalan en over Rachel, Chase, Zedd, Adie en ook Oba, Fitch, Rikka en uiteraard Nathan, Ann, Jagang en Jillian.

Er waren de Boxes of Orden, the Sword of Truth (uiteraard) en de Stone of Tears, maar ook de Boundary, de Temple of The Winds en de Dominie Dirtch.

De leukste was zonder twijfel de gar Gratch "Grrratch luuug Raaaach aaarg!"

Bedankt Terry Goodkind voor dit verhaal!

2010-02-16

Java jre performance (gcj vs Sun)

Generating a pdf from docbook xml using Apache fop like this:
fop -xml $xmlfile -xsl $XSLFILE -pdf $pdffile
takes about 40 seconds on Debian on an old Pentium 4.

But it takes 12-13 minutes on Debian inside Virtualbox on a Core 2 Duo ??

This difference too big to attribute to virtualization alone!!

fop uses java...
paul@deb503:/usr/lib/jvm$ ls -l

total 4.0K
lrwxrwxrwx 1 root root 8 2010-01-15 22:51 default-java -> java-gcj
drwxr-xr-x 5 root root 4.0K 2009-10-28 14:16 java-1.5.0-gcj-4.3-1.5.0.0
lrwxrwxrwx 1 root root 26 2009-10-28 14:16 java-gcj -> java-1.5.0-gcj-4.3-1.5.0.0


Let's try Java from Sun instead of java-gcj...

paul@deb503:~/lt$ ls -l /usr/lib/jvm/
total 8.0K
lrwxrwxrwx 1 root root 14 2010-02-16 12:17 default-java -> java-1.5.0-sun
drwxr-xr-x 5 root root 4.0K 2009-10-28 14:16 java-1.5.0-gcj-4.3-1.5.0.0
lrwxrwxrwx 1 root root 23 2010-02-16 12:15 java-1.5.0-sun -> java-1.5.0-sun-1.5.0.17
drwxr-xr-x 6 root root 4.0K 2010-02-16 12:15 java-1.5.0-sun-1.5.0.17
lrwxrwxrwx 1 root root 26 2009-10-28 14:16 java-gcj -> java-1.5.0-gcj-4.3-1.5.0.0


32 seconds!! What !? Yep, speed increase from 12-13 minutes to 32 seconds.

I double tested by putting the symlink back to java-gcj, it took 12'35" again!

I'm amazed ;-)

2010-02-04

Debian in a branded zone

Being in bed all day, I've been playing (just for fun, nothing serious) with Linux brandz zones on Solaris 10.

root@sol10u8 export# zoneadm -z debianzone boot
root@sol10u8 export# zoneadm list -cv
ID NAME STATUS PATH BRAND IP
0 global running / native shared
7 debianzone running /export/debianzone lx shared
- zoneldap installed /export/zoneldap native shared
- zonedns installed /export/zonedns native excl
- lx-zone installed /export/lx-zone lx shared
- zonejs configured /export/zonejs native shared
root@sol10u8 export#

Solaris 10 only supports 2.4 kernels.

debianzone:~# uname -a
Linux debianzone 2.4.21 BrandZ fake linux i686 GNU/Linux

The debianzone cannot connect to the internet. Ping to router/dns server works, with some strange (but not unexpected) messages:

debianzone:~# ping 192.168.1.1
WARNING: setsockopt(ICMP_FILTER): Protocol not available
Do you have CONFIG_SOCKET in your kernel?WARNING: your kernel is veeery old. No problems.
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
Warning: no SO_TIMESTAMP support, falling back to SIOCGSTAMP
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=3.56 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=1.77 ms

Setting a route is not possible.

debianzone:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
debianzone:~# route add -net 127.0.0.0
SIOCADDRT: Invalid argument
debianzone:~# route add -net 192.168.1.0 dev eth0
SIOCADDRT: Invalid argument
debianzone:~# route add default gateway 192.168.1.1
SIOCADDRT: Invalid argument
debianzone:~#

On Opensolaris it seems to work, but not (yet?) on Solaris 10.

2010-02-01

not going to FOSDEM

I will not be going to FOSDEM. Actually, I am not going at all.

The past 22 days I've been in bed, giving my ankles and knees time to heal from periarthritis. 22 days ago my ankles were swollen heavily, making it impossible to stand or walk for more than a couple of seconds.

The cause is sarcoidosis. Everything should heal, providing I take my daily dose of ibuprofen and providing I let all the joints rest (wrists and elbows are also affected).

One more week in bed, and then I hope to be walking again.