16 juni 2007

Begrijpend lezen...

Afgelopen week kreeg ik een mail van Sourceforge. Ik had geen mail verwacht, want bij mijn weten had ik met niet geabonneerd op een nieuwsbrief. Ik vond de nieuwsbrief niet erg boeiend en dacht onder lezen er over na waarom ik de mailing had gekregen. Sourceforge lijkt mij nu niet een instituut om spam te sturen. Onderaan de mail kwam ik, nog steeds in de veronderstelling dat ik me niet had ingeschreven voor de mailing, onderstaande stukje tegen:
When the SF.net team sends out a site-wide email, we sometimes see replies that look like this: "Hey! I didn't ask to be on this list! You spammer. I hate you! I hate your dog! (insert other colorful phrases here)." The truth is, when you registered on SourceForge.net there was a check box that said "Receive Site-wide updates, low volume." You left it checked when you submitted the registration form, hence you are receiving this email. We send these updates every 4 to 6 weeks, so it truly is low volume. However if you want off, this is not a problem. Simply click on the link.

Let op het vetgedrukte stukje! In mijzelf moest ik erg lachen, maar toen ik er dieper over nadacht dacht ik *Ai* toch in het vervolg toch maar weer beter lezen. Begrijpend lezen is blijkbaar moeilijk. Normaal gespropen lees ik alle teksten die bij vinkje staan altijd minutieus door om te voorkomen dat ik "gespamd" wordt, maar deze keer is er toch wat doorgeglipt. Toch blijf ik het een ludieke manier vinden om iemand op ze eigen fouten te wijzen...

15 juni 2007

WWW3

Ik weet niet wat er allemaal gaande is, maar dat er wat gebeurt is wel duidelijk. Microsoft heeft in de afgelopen tijd met drie Linux bedrijven een overeenkomst gesloten. Wat vorig jaar begon met Novell. Op 4 juni kwam de mededeling dat Microsoft een deal heeft gesloten met Xandros, op 7 juni dat ze een deal hebben gesloten met LG en op 14 juni een deal met Linspire. Telkens duikt het woord softwarepatenten op. Wat nu precies de deal inhoudt blijft onduidelijk. In het verleden heeft Microsoft niet veel goeds in de zin gehad met samenwerking, dus ik weet niet wat ik hier van moet denken. Wat Microsoft in ieder geval al wel gelukt is dat er min of meer twee kampen zijn. Mensen die er niets van moeten weten en mensen die het allemaal niet zo erg vinden. Vanuit de Linux kant wordt er nagedacht over een tegen aanval. BTW, wat ik zo grappig vind is dat Linux gebruikers dit nieuws volgen, maar als je een gemiddelde gebruiker vraagt hij/zij waarschijnlijk het nieuws niet eens heeft gezien. Maar goed, wat de uitkomst van dit gebeuren wordt is weer duister. Microsoft en de bedrijven die een deal met hun hebben zijn zover ik kan zien ook weer in vaagheid gehuld dus daar wordt je ook niet wijzer van. Is dit nu weer FUD of is er echt wat aan de hand?

Wat betreft de titel... Misschien een beetje ver gezocht, maar ondertussen rommelt het behoorlijk en het wordt op het moment nog niet minder. Toch maar weer rustig afwachten wat de toekomst brengt.

07 juni 2007

Communiceren

Al een tijdje wil ik beginnen met het programmeren in Python. Waarom? Omdat je in Python een klein scriptje kunt programmeren, maar ook een heel complex programma. Maar ook omdat Python een programmeertaal die op allerlei platformen draait (Windows, WinCe, Linux, OSX, ...), dus als je eenmaal een programma maakt kan deze ook op het andere platform draaien. Leuk, denk je natuurlijk, maar we hebben al JAVA. Het voordeel van Python is echter de batteries included filosofie. Bij Pyhton worden allerlei bibliotheken geleverd voor allerlei taken. Voorbeelden zijn bibliotheken voor HTML, XML, TCP/ip, numerieke wiskunde, matrices, SDL... Je hoeft dus niet zelf allerlei moeilijk programmeerwerk te doen en je kunt je dus concentreren op het 'echte' werk. Ook kun je verschillende grafische bibliotheken gebruiken, zoals Qt, GTK, WxWindows, Tkinter.

De reden dat ik tot nu toe nog niet begonnen was met Python, komt omdat ik direct ook een nuttig programma wil schrijven en dan wel zie wat ik tegen kom. Op de eéń of andere manier kan ik me niet motiveren om 'stomme' oefeneningen te doen. Pas bedacht ik me dat Python misschien wel nuttig gebruikt kon worden voor m'n werk. Op m'n werk hebben de producten namelijk eigenlijk bijna allemaal elektronica aan boord. Ook hebben enkele producten een RS232 uitgang waarmee er met de computer gecommuniceerd kan worden. De combinatie van Python en RS232 leek me wel een leuke om mee te beginnen. Na wat gegrasduin (staat dit in de van Dale?) vond ik een bibliotheek voor het communiceren over de seriële poort. Deze bibliotheek zit ook al in Ubuntu, dus die was zo geïnstalleerd (even in Synaptic zoeken met zoekterm Python serial). Voor het programmeren zou het echter wel handig zijn om de data die beide richtingen door de seriële poort gaat te kunnen monitoren. Je kunt dan makkelijker zien of er iets mis gaat. Na veel zoeken vond ik op het Internet het programma Interceptty. Deze was helaas niet in een Deb verkrijgbaar, dus moest ik deze zelf compileren. *ahum* Ik ben niet zo goed in het compileren van software in Linux. Dit loopt bij mij meestal uit in een berg errors. Deze keer ging het echter van een leien dakje. Toen begon echter het probleem. Met welk commando start je nu interceptty zodat deze het dataverkeer van en naar de seriële poort monitoort? De voorbeelden die in het readme-bestand worden gegeven zijn niet van toepassing op mijn situatie en ik snapte ook niet goed hoe ik de parameters moest toepassen. Gelukkig kwam ik er uit na een dagje experimenteren, een nachtje slapen en weer opnieuw proberen:). Je moet namelijk het onderstaande commando gebruiken:

sudo ./interceptty -s 'ispeed 9600 ospeed 9600' /dev/ttyS0 /dev/serieel

Een beetje uitleg bij deze cryptische regel...
  • De snelheid waarmee gecommuniceerd wordt, wordt weergeven achter ispeeds en ospeed, waarbij ispeeds de ingaande snelheid is en ospeeds de uitgaande snelheid. In mij geval is de snelheid dus 9600 baud.

  • Mijn stukje hardware hangt aan de eerste (enige) seriële poort van de computer. De code hiervoor is /dev/ttyS0.

  • Je moet ook een 'poort' opgeven voor de software kant. Dit is een andere poort dan de seriële poort van de computer in. Het programmaatje zit als het ware tussen de fysieke seriële poort en je programma op de computer in. Daarom definiëren we voor de computerkant een softwarematige poort. Deze heb ik /dev/serieel genoemd, maar je mag zelf iets kiezen, dus /dev/eenhelelangepoortnaam is ook goed, maar niet zo bruikbaar.

Als je de regel hebt ingevoerd wacht het programma totdat er informatie voorbij komt. Je moet nu in Python de seriële poort openen en er naar schrijven. Ik heb daarvoor IDLE geopend. Met het volgende commando roep je de seriële bibliotheek aan en open je de seriële poort.

import serial
s = serial.Serial('/dev/serieel',9600,timeout=1)

Als je nu een commando naar de seriële poort schrijft zie je die in het terminal venster weer. Als je bijvoorbeeld onderstaande commando in python schrijft:

s.write('hoi')

dan zie je in het terminal venster het volgende verschijnen...

< 0x68 (h)
< 0x6f (o)
< 0x69 (i)

Als de hardware die aan de seriële poort dit nu begreep kreeg je een antwoordt. Aangezien ik geen hardware ken die dit commando kent gebeurt er niets. Als ik nu mijn stuk hardware neem en daar het volgende commando heen stuur

s.write("\x07\xf0\x00\x0f\x00\xbc\x07\x0f")

dan zie ik het volgende...

< 0x07
< 0xf0
< 0x00
< 0x0f
< 0x00
< 0xbc
< 0x07
< 0x0f
> 0x07
> 0xf3
> 0x07
> 0xf0
> 0x00
> 0x10
> 0x04
> 0x5b ([)
> 0x28 (()
> 0x28 (()
> 0x5b ([)
> 0xc7
> 0x07
> 0x0f


Alle regels die beginnen met < worden de seriële poort uitgestuurd (mijn commando dus). Alle regels die beginnen met > komen terug van de hardware die aan de seriële poort hangt. Mijn commandoregel ziet er een beetje raar uit. Maar als ik je vertel dat '\x07 staat voor een hexadecimale 7 dan begrijp je het misschien een beetje. Het is leuk dat er een commando terug komt, maar nu moet ik nog een programmaatje schrijven dat iets nuttigs doet. Hard aan het werk dus:)

30 mei 2007

Hersenkraker

Vandaag kwam een collega met een leuk puzzeltje op de proppen. Het duurde wel even voordat ik hem door had. Ook de andere collega's hebben zich het hoofd er over gebroken. Weet jij de oplossing?

edit: Jullie hebben bijna een week over het antwoord kunnen nadenken dus daarom hierbij het antwoord...

De hoeken van de driehoeken zijn niet gelijk. De bovenste driehoek heeft een hoek van 2/6 en de onderste van 3/8. Als we de breuken gelijk maken zie je dat de bovenste driehoek een hoek heeft van 8/24 en de onderste van 9/24. Bijna gelijk maar niet helemaal. Als je goed kijkt zie je in de bovenste figuur dat er een knik naar beneden zit in de overgang van de ene driehoek naar de andere. Bij de onderste figuur is deze knik naar boven. Geloof het of niet, maar dit verschilletje heeft een oppervlak van één hokje.

29 mei 2007

Origami

..of ook wel, Japanse vouwkunst. Je hebt vast wel eens van de createa kaarten gezien of gekregen met van de vouwwerkjes er op. Met een paar vouwen krijg je de meest wonderlijke figuren. Ook in de natuur komt vouwen voor. De eiwitten in ons lichaam voeren ook allerlei ingewikkelde origami trucjes uit om de boel aan de praat te houden. Soms gaat dit niet helemaal zoals het moet en worden we ziek. Er wordt flink onderzoek gedaan naar het vouwen van eiwitten, want als we dat begrijpen kunnen we betere medicijnen of behandelingen bedenken om mensen met die ziekten te helpen. Het uitzoeken van de vouwbewegingen kost heel wat computerkracht en daarom is de Stanford Universiteit al jaren geleden een distributed computer activiteit begonnen. De truc is het hierbij dat vrijwilligers wereldwijd een programmaatje op de computer draaien dat op de achtergrond de ongebruikte processenkracht van je computer benut. Een tijd terug werd er op het Nederlandse Ubuntu forum gevraagd of er nog mensen mee wilden doen met het Ubuntu Folding team. Ja ja, het gaat in teamverband en je kunt er punten voor krijgen. Niet dat het geld o.i.d. oplevert maar het is wel leuk om zo veel mogelijk punten te halen. Dus ik heb in december het programmaatjes gedownload en geïnstalleerd op m'n computer. Sindsdien heb ik 12 WU's afgewerkt en heb ik 2727 puntjes gehaald. Geen topscore, want ik sta nr 249 qua ranking van het team Ubuntu en nummer 150.777! van het totaal :D. Dit maakt me niet uit ik vind het leuk om te doen (je merkt er niks van maar toch...) en het team stijgt nog wel steeds. In december, toen ik begon, stonden we op plaats 193 en nu staan we al op plekje 143 (we zijn vandaag net weer 2 plekje gestegen). Doe je ook mee in ons origamiteam?

25 mei 2007

Lekker ouderwetsch...

Bij ons in de buurt zijn de ze gasleidingen aan het vervangen. Omdat ze bij de buren zo lekker snel klaar waren kwam ze afgelopen maandagmiddag al bij ons aan de deur. Het graven van een gat leverde geen problemen op echter het uit de mantelbuis halen van de oude gasleiding ging voor geen meter. De gasleiding bleek met teer vastgeplakt te zijn in de mantelbuis. De mannetjes-van-de-gasleiding hadden daarom besloten om een nieuw gat in de fundering te boren om de gasleiding daar doorheen te leiden. Bij het boren van het gat stuitte ze echter op betonijzer, dus daar kwamen zo ook niet echt verder mee. Het tweede gat ging ook niet zoals het zou moeten. Bij het derde gat kwam er bruin stof mee. *Ai*. Onder de vloer, te plekke, lopen twee rioleringbuizen van het type gresbuis. Ze dachten dat ze alleen de buis geraakt hadden, maar toen m'n vader de kraan in het toilet aanzette ging het water met dezelfde snelheid via het gat in de fundering naar buiten. Daar schrokken de mannetjes-van-de-gasleiding nogal van. Zeker toen we vertelden dat er onder het toilet en de hal geen kruipruimte zit, want de vloer is daar namelijk direct op zand gestort. Provisorisch hebben ze toen de gasleiding aangelegd en zijn ze naar huis gegaan. Het probleem dat wij nu hadden is dat alle kranen (op de kraan in de keuken en bijkeuken na) onbruikbaar waren, omdat anders het gat buiten vol water zou lopen. We hebben dus ons ochtend- en avondtoilet gezellig een paar dagen ouderwetsch in de keuken gedaan. Toen ik donderdag uit m'n werk kwam konden alle kranen weer worden gebruikt, maar konden we alleen nog niet op de 'pot' zitten want daar moest blijkbaar iets uitharden. Vanochtend is de installateur nog één keer langs geweest om het laatste af te smeren met cement. Alles is nu weer bij het oude. Nou ja het oude, de riolering is nu van nieuwerwetsch PVC i.p.v. van ouderwetsch gresbuis, maar voor de rest werkt het weer als vanouds. Toch zal ik ouderwetsche gevoel wel even missen denk ik, want dat ouderwetsche heeft toch ook wel wat.

N.B. Ouderwetsch en nieuwertsch is natuurlijk expres fout gespeld voor een extra authentiek tintje :-)

18 mei 2007

Hockeystick effect

Je hebt vast wel eens een keer een bedrijfpresentatie gezien waarbij ze van de leuke, edog niet realistische, grafieken laten zien. Deze zien er dan uit als een springschans zoals die wordt gebruikt bij het schansspringen op de olympische spelen. Ze willen daarmee aangeven dat de verkoop het begin een beetje vlak loopt, maar dat zodra de verkoop van de grond komt deze de pan uit rijzen. Ik heb dit echter nog nooit zijn gebeuren, dus grafiekjes lijken me meer gebaseerd op dromen die sommige managers hebben dan op de realiteit. Maar ja, wat moet je met deze info. Ik kwam hierop, omdat ik zelf actief ben op het Nederlandse Ubuntu forum. Uit nieuwsgierigheid had ik een keertje een grafiekje gemaakt van de het leden aantal in de tijd. En... wat schetste mijn verbazing. De toename van het aantal leden vertoonde de vorm van een flinke hockeystick. Mijn gezond boeren verstand vertelde mij dat dit natuurlijk niet tot het oneindige door kan gaan natuurlijk, want dan is het aantal leden straks groter dan de wereldbevolking:). Echter het hockeystickeffect treedt al op sinds de oprichting van het forum, eind 2004, en houdt nog steeds aan. Het aantal leden was, toen ik me vorig jaar in juni inschreef, 1047. De stand in op 17 april 2007 was 4000 leden! Het grafiekje van 17 april is hieronder weergegeven.

Nu, 18 mei 2007 20:40 uur, zitten we al op 4491 leden. Morgen zullen we wel door de 4500 ledengrens heen gaan. Ik heb vanmiddag de grafiek nog even bijgewerkt en dan ziet deze er als volgt uit.

Nog steeds volgen we netjes de hockeystick curve. Ook Microsoft ontgaat het ook niet dat het aantal Linux gebruikers flink stijgt en ze reageren daar nogal paniekerig op. Wel zeggen dat Linux patenten schend, maar niet zeggen welke. Er zijn ook mensen geweest die gevraagd hebben om te laten zien waar de opensource gemeenschap patenten overtreedt, maar daar is ook al niet op gereageerd. Een beetje kinderachtig gedrag tot nu toe dus. Blijkbaar hebben ze geen poot om op te staan anders kun je wel direct zeggen waar het op staat. Volgens Canonical, hoofdsponsor van Ubuntu, zijn er 10 miljoen Ubuntu gebruikers. Ik heb ergens gelezen dat er 1 miljard computers zijn op deze aardbol, dus dat betekent al een marktaandeel van 1%. Daarbij zijn de andere distributies nog niet zijn meegeteld. Schattingen die ik ergens gelezen heb gaan er van uit dat Linux een marktaandeel heeft van zo'n 3%. Ik ben benieuwd waar we staan als we 2007 afsluiten, zowel qua aantal Ubuntu forum leden als wat betreft die patent flauwekul.

N.B. Onder het typen is het leden aantal opgelopen naar 4993 leden... :)