Netsensei

Much Ado About Nothing

Software en Programmeren

Interfaces

Hm. OOP programmeren is heel erg fijn. Alleen heb ik nog nooit ‘advanced trickery’ nodig gehad. Maar vandaag ben ik toch verzeild geraakt in een situatie waar ik interfaces in PHP 5.x op een nuttige manier kon aanwenden: abstractie maken van een database backend!

Het verhaal gaat als volgt: een bepaald object A krijgt bij inistantiëring een ander object B als argument mee. B zorgt voor de connectie en dataoverdracht met een database backend. Zoals we allemaal wel weten heb je daar een pleiade aan mogelijkheden: MSSQl, MySQL, PEAR, PostGreSQL,… en dan vergeet ik er nog wel een paar. Omdat ik natuurlijk niet kan inschatten aan welke database men A zou willen koppelen, heb ik een interface gemaakt waaraan iedere database object B moet voldoen wil een instantie ervan kunnen worden doorgegeven als argument aan A.

Het gevolg is dus dat ik mij niet meer druk hoef te maken over honderd-tig mogelijke databaseobjecten, errorhandling op dat niveau,… Dat is nu voor diegene die ooit de koppeling zou willen leggen. En die heeft enkel maar de regeltjes te volgen die ik afdwing in een goedgedocumenteerde API en presto!

Het is fijn soms eens het licht te zien!

Openid

Hm. Ik heb de voorbije dagen mij wat verder proberen te verdiepen in Openid. Very impressive stuff. Ga ik nu te ver om te zeggen dat dit zo’n beetje het hippe speeltje van 2007 zou kunnen worden? Het heeft alvast heel erg veel potentieel. Open, gedecentraliseerd, altijd beschikbaar,…

Ik heb dan maar eens even de JanRain PHP library gedownload en wat met de voorbeelden gepeeld. Natuurlijk heb ik mij gelijk een OpenID accountje aangemaakt. Ik heb links en rechts wat moeten aanpassen maar ik kreeg het vanaf de XAMPP installatie op mijn externe harde schijf gemakkelijk aan de klap. Enkele tips voor avonturiers:

  • Onder windows moet je de juiste padaanduiding gebruiken om de bibliotheek de FileStore directory te laten vinden.
  • Auth/CryptUtil.php maakt gebruik van een bron met random bytes. Dat staat standaard ingesteld op /dev/urandom. Onder windows moet je dit wijzigen naar een willekeurige file. Dat mag gelijk wat zijn. Ik heb een foto gebruikt. Ook hier weer opletten op de juiste padaanduiding.

Mijn openid vind je alvast terug in de header van mijn blog. Dus ik ben volop openid enabled zullen we maar zeggen. Ik ga mij er alvast wat verder in proberen verdiepen. O ja, voor een visuele uitleg van wat OpenID is en wat het kan: hieronder een demofilmpje

Gevaarlijk

Hmz. Goed dat ik het nagelaten heb om 2.1.1 aan mij voorbij te laten gaan. Normaal ben ik er als de kippen bij, maar deze keer had ik het wat laten aanslepen. Geen goesting om weer die ganse dans uit te voeren en zo.

Een gelukje dus.

Ondertussen: alleman upgraden!

Ubuntu versus iBook

Als ik nog even mag doorneuten over Ubuntu op mijn iBook. Hoewel mijn eerste indrukken positief waren, heb ik ondertussen enkele ergernissen ontdekt.

  • Rechtermuisklikken zit er – uiteraard – niet in. Ik moet mij behelpen met F11 en F12 om mijn muisknop te emuleren. Afijn, ik ben al blij dat het überhaupt mogelijk is.
  • Mijn keyboard is een azerty versie van de standaard apple lay-out. Qua zeldzame varieteit kan dat tellen. Logisch gevolg is dat niet alle toetsen/combinaties doen wat ik zou willen.
  • Om de één of andere reden wordt mijn iBook zeer snel warm. Iets wat ik niet ondervind in OSX. Ik ben dan nog maar gewoon aan het surfen. Wat als ik er eens wat harder werk op wil presteren? Ik had zelfs gehoopt om Beryl aan de klap te krijgen. Dat zou een aanslag betekenen. Niet direct een optie dus.
  • Mijn grootste ergernis is de kapotte suspend functie. Klap ik mijn laptop dicht, dan krijg ik die nadien niet meer terug wakker wanneer ik ze terug open. Naar het schijnt werkte die wel in Dapper. In Edgy dus niet. Bijzonder jammer!

De eerste twee ergernissen vallen nog wel zelf op te lossen, maar de laatste twee… daar heb ik toch niet zo heel veel support over gevonden. Er zijn wel bugreports over, maar het is niet alsof de developers van Edgy daar veel gevolg aan schijnen te geven.

Ubuntu on an ibook g4

*\* Deze post in het engels voor toekomstige referentie **

Lately, I went to FOSDEM and watched some people with linux installed on their iBooks. It looked neat. I knew Linux supported PowerPC (I’m don’t have an x86 powerbook) but I didn’t know how flaky or good. After seeing several demo’s, I was sold. So, I’d give Ubuntu a try on my iBook. For future reference, I’m going to make a small backlog of my actions.

First of all, I backed up my data. I can’t stress enough to anyone trying to accomplish this: back up your data. And once again for those in the back: make a backup of what you think is important!! You’ll be messing with partitions and your hard disk. Don’t take this lightly.

I started with downloading the install disk from Ubuntu.com. I choose the ubuntu-6.10-desktop-powerpc.iso (Edgy Eft!). On my pc (also, Ubuntu equipped) I burned the ISO file on a blank disc.

Next, we are going to shrink the OSX partition. I followed the information from this thread on the Ubuntu Forums.

Boot on your ibook Mac OSX. The OS is normally default installed on one continguous partition spanning the almost the entire disk (safe for a small bootstrap partition). As Ubuntu (and, by far, all hard disk installed OS’es) live on seperate partitions on a hard disk, you’ll need to shrink your OSX partition to make room for Ubuntu.

The OSX partition uses the HFS+ filesystem. HFS+ supports journaling, so first, we are going to do is disable it. Check through finder and ‘get info’ on your hard disk wether journaling is enabled. Now, we are going to disable journalling. Open a terminal and enter these commands:

cd /Volumes

ls

This shows your hard disk name. Normally this would say Macintosh HD. This information you’ll need to disable journaling. Now do this in your terminal:

sudo diskutil enableJournal Macintosh\ HD/

sudo diskutil disableJournal Macintosh\ HD/

It should say that journalling has been disabled. Okay, that was the OSX part. Now insert your freshly burnt Ubuntu install disc and reboot your Mac. Press the C button while rebooting to get it to boot from the cd. Press enter when you are presented with the boot: prompt. The live ubuntu desktop will appear at last. Now, go to Applications, Accessoires and open a terminal in ubuntu.

Now we are going to shrink the HFS+ partition with Mac OSX and your data to make room for Ubuntu.

# parted

(parted) p

This prints information about your hard disk. Typically you’ll see two entries. The second one is the most important one. You’ll have to note: the partition number (in most cases: 3), the start block of the HFS+ partition (most likely 134Mb) and the size of the partition (I have 60Gb, so that’s that). You’ll need the resize command from parted. It uses following syntax:

resize PARTITION_MINOR_NUMBER START_BLOCK_SIZE_FROM_PRINT_OUTPUT END_BLOCK_SIZE

Say, you want to resize the 60Gb partition to 30Gb, you’ll have to use following command:

(parted) resize 3 134MB 30GB

Press enter and watch how the partition is being resized. This operation shuffles around with data on your hard disk and the outcome is not always guaranteed. As I gathered from the thread, the more memory, the better as ‘out of memory’ errors are possible. I also found testimonies from people with broken OSX installations afterwards. So, no guarantees here. Last chance to back up your data before you execute this command.

Once completed (in my case, it took half an hour), you’ll have finished the hard part. Now, it’s time to install ubuntu. Click the ‘install’ button on the desktop and follow the wizard. I choose the ‘belgian keyboard layout’ but you can change that later on anyway, so you can choose whatever suits your layout best. Once you arrive at the ‘partitioning’ part, choose ‘use largest continguous space’. Ubuntu will autocreate the necessary partitions (swap and ext3) on the newly freed space. Next, let the installer work it’s mojo.

In the end, the installer will ask to reboot the system and eject the disc. Once the system comes back up, it’ll present you with a sober yaboot boot menu. If you don’t press any key, it will boot Ubuntu by default and present you the login screen.

In my case, Mac OSX seems to have survived the installation and boots up nicely. So, now I have a dual boot system. Just remember, neither partitions can see eachother altough Ubuntu (Linux) supports the HFS+ filesystem. Which will take some fstab tweaking.

That wraps it up for now. Next: finetuning the installation (wireless support, upgrade packages to the latest version, etc.)

Druk weekend

Van een druk weekend gesproken! Het begon al meteen vrijdagavond. De collega’s hebben een nieuwe traditie in gang getrapt: vrijdagdrinken. Ja, het is wat het klinkt. Eén keer in de maand na het werk samen komen om iets te drinken op de Stadswaag. Niet dat het een braspartij is. Neen, gewoon even socializen met de collega’s vooraleer ik de trein op ga richting Brugge.

Zaterdag was er Fosdem. Om 8 uur ’s morgens vertrokken kameraad Twanne, Henk en ik richting Brussel. Tip: betrouw nooit op Mappy! Tenzij je de Brusselse ring goed kent stuurt dat ding je gegarandeerd de verkeerde kant uit. Ja, we waren volledig de verkeerde kant uitgereden om in Ukkel te geraken. Soit, dik twee-en-een-half-uur later stonden we aan de ULB. De dag zelf was hectisch en interessant. Naast een aantal interessante lezingen, goodie harvesting (t-shirts! pins! stickers! vrije software!) was het vooral mensjes kijken. En dan vooral, het materiaal dat die mensen meesleurden! De meesten hadden wel een laptop met een geëlaboreerde linuxdistro op geïnstalleerd. Diegene zonder laptop vielen nu eens écht uit de boot op dit event.

Het viel mij op dat er een pak mensen rondliepen met een ibook met linux op! Interessant. Ik ben een beetje een verwend nest als het op software aankomt. Linux is tegenwoordig van die aard dat er sowieso een vrije app bestaat voor wat je wil doen en die je gemakkelijk kan vinden en installeren. Op mac daarentegen ligt dat anders. Ja, je er is veel freeware te vinden, maar de hoeveelheid shareware die je zoekresultaten vervuilt is toch ook niet te onderschatten. Vaak heb ik dan zoiets van “Ja, dit appje is interessant, maar nog maar eens zo’n 30 dagen trial versie, daar heb ik geen zin in.” Kortom, ik ben nu zo’n beetje aan het uitvogelen of linux op mijn ibook een haalbaar project is.

Zaterdagavond ging het dan richting Hobbit voor ribbetjes á volonté. Veel valt daar niet over te zeggen. Lekker kluiven en genieten. De infrastructuur kwam een beetje gammel over maar voor de rest was dat best wel in orde. Nadien zijn we nog in de Cookie’s eet- en praatcafé beland. Die vind je achter De Garre van Corné. Wie dus geen plaats heeft in het ene etablissement, geen nood: het andere is minstens zo gezellig.

En gelukkig was er nu de zondag om wat uit te puffen en de batterijen op te laden tegen morgen…

Ruby on rails

Het onovertroffen 37signals lanceerde een flinke tijd geleden Ruby on Rails. Een MVC gebaseerd framework waarmee je snel webapplicaties kan ontwerpen zonder over al je energie in de lowlevel stuff te moeten steken. Ik heb al cursorisch één en ander met RoR uitgeprobeerd en ik ben er wel mild enthousiast over. Ik exact wat ik nodig heb: ik kan nu snel iets in elkaar steken zonder dat het mij emmers veel vrije tijd kost.

Alleen, tot nu toe vraag ik mij af welke hoster nu Ruby on Rails support aanbiedt. PHP en Perl, ja! Of ASP.Net! Dat zijn immers de dominante server script talen. Maar Ruby on Rails? Vergeet het! En dat is jammer. Heel jammer. Want waarom zou ik een toepassing ontwerpen in Ruby on Rails, laat staan het zelfs leren gebruiken, als ik geen host kan vinden die mij Ruby on Rails support aanbiedt?

Anderzijds kan ik het ook wel begrijpen, waarom zou een hostingbedrijf tijd en moeite steken om naast PHP ook Ruby on Rails aan te bieden? Het kost tijd en dus geld om zo’n configuratie onderhouden en het is niet meteen gewilde feature nummer 1. Immers, er zijn nauwelijks killer RoR toepassingen zoals PHP die heeft (denk WordPress, Drupal,…). Kortom, een beetje een vicieuze cirkel.

Vandaar dat ik er mij over verbaas dat er een vacature openstaat waar men op zoek is naar iemand die goed beslagen is in Ruby on Rails. Good luck! Denk ik dan zo. Ofwel is het een vacature die op iemands lijf is geschreven…

Complotten

Ik heb het gevoel dat er vandaag complotten tegen mij werden gesmeed. Vanmorgen duurde het even eer ik vers brood had: de eerste twee bakkers die ik passeer, en waar ik regelmatig mijn boterhammen bij betrek, bleken op vakantie. Het was Goossens in de Korte Gasthuisstraat die mij kon helpen.

Goossens schijnt een begrip in Antwerpen te zijn. Ze bakken namelijk hun brood volgens ambachtelijke formules en al. Elke morgen staat er een rij tot buiten het kleine winkeltje. Daar mocht ik dus ook even bij aansluiten. Het winkeltje zelf bevat weinig franje maar je ziet zo dat het nog dateert uit grootmoeders’ tijd. En de twee verkoopsters waren ook al op leeftijd. Afijn, de boterhammen deze namiddag waren dus een belevenis. Alleen ben ik toch niet zo héél erg wild over de kwaliteit. Ach, met een laagje kaas viel dat best wel mee.

Verder mocht ik vandaag vooral veel prutsen in Access en VBA. Daar komt vooral veel frustratie bij kijken omdat de software zijn eigen willetje heeft. Dingen die gewoon horen te werken, doen juist het tegenovergestelde en zo. Leuk.

Spambot

Help! Het is al erg gesteld als een mens door zijn eigen WordPress installatie wordt herkend als een spambot. Ik maak het mee en het is niét fun. Ik kan bepaalde termen in mijn posts niet gebruiken of ik krijg onderstaande melding. Tegenwoordig kan ik zelfs de ‘options’ van mijn WordPress installatie niet veranderen of ik krijg dit te zien. Very annoying to say the least. Ik heb al allerlei plugins (bad behaviour, spam karma, akismet) uitgezet maar zonder resultaat. Ik vermoed dat het iets is op server niveau. Ik gooi het nog even hier mochten er mensen zijn die zich hierin herkennen…

spambot

Wie weet welk onding dit produceert trakteer ik op een frisse pint!

Fosdem

Nu zaterdag vertoef ik normaal gezien op Fosdem. Het is de eerste keer dat ik ga. De voorbije jaren had ik altijd de intentie maar er kwam altijd wel iets tussen. Of het was voorbij voor ik het goed doorhad. Dit jaar dus niet. Met drie man zakken wij dus met laptops en geekware af naar Brussel.

FOSDEM, the Free and Open Source Software Developers’ European Meeting

Het programma ziet er alvast goed uit. Ik wil vooral de lezingen rond X.Org, AIGLX, gstreamer, tinymail en misschien ook nog Mozilla meepikken. Interessante topics te over eigenlijk.

O ja, ik heb gezien dat Peter Forret een nieuwe Barcamp aan het bezigen is. Ondertussen al de derde editie! Dat zou voor ergens in mei moeten zijn. Ik denk dat ik daar ook eens mijn koppeke ga moeten tonen. Eens kijken of ik tegen dan een interessante topic kan verzinnen…

« Vorige blogposts Pagina 14 van 22 pagina's Volgende blogposts »