Netsensei

Much Ado About Nothing

Code

Mijn Github profiel

Een klein decennium maak ik gebruik van Github om mijn eigen digitale projecten een parkeren. En om deel te nemen aan andere open source initiatieven.

Alles wat je doet op Github, doe je en plein public. Zo is het platform immers in eerste instantie ontworpen: als een plaats waar code open wordt gebouwd en gedeeld. Dat betekent dat iedereen inkijk heeft in andermans digitale werkplaats. Wat niet altijd ideaal is. Ten eerste kent het gros van de digitale projecten een eindig leven. En dus verzamelde ik in al die jaren heel wat oude of in onbruik geraakte bagage. Ten tweede is er code die ik wel veilig wil stellen, maar daarom niet noodzakelijk met de buitenwereld wil delen. De code van dit blogje is een voorbeeld.

Het eerste probleem, daar heb ik net werk van gemaakt. Ik heb een pak oude projecten de status “archived” gegeven. Zo geef ik aan dat ik die projecten niet meer onderhoud. Ik bewaar ze voornamelijk uit nostalgie: werk dat ik ooit heb gepresteerd in andere tijden. Een aantal projecten heb ik volledig verwijderd. Het gaat om code die in mijn ogen buiten het strikt utilitaire echt geen waarde heeft. Verouderde configuratie voor een ontwikkelomgeving bijvoorbeeld.

Sinds begin dit jaar biedt Github ook gratis private projecten aan. Voorheen zat dat in hun betalend aanbod. Tot nu toe maakte ik uit noodzaak gebruik van Bitbucket voor een aantal private projecten. Dat hoeft dus niet langer. Het plan is om gaandeweg alles te consolideren op Github.

De hele oefening zorgt voor ruimte in mijn hoofd. Het verleden loslaten is plaats maken voor nieuwe, toekomstige projecten.

20 jaar WWW

Ha! Het web werd vandaag een frisse twenty-something!

On 30 April 1993, CERN made the source code of WorldWideWeb available on a royalty-free basis; the software was free for anyone to use, and remains so today. Web usage exploded as people started setting up their own servers and websites. By late 1993 there were over 500 known web servers, and the WWW accounted for 1% of internet traffic, which seemed a lot in those days (the rest was remote access, e-mail and file transfer). Twenty years on, there are an estimated 630 million websites online.

Meer: info.cern.ch

Een nieuw theme

Zo. Ik heb er even over gedaan, maar het nieuwe theme staat on line. Eigenhandig gebouwd want dat hoort zo als rechtgeaarde web developer. Eat your own dogfood en al.

Het ontwerp is alvast niet zo heel erg veranderd. Ik had eerst een pak schetsen gemaakt en in mijn gedachten wilde ik de structuur helemaal omgooien. Maar toen besefte ik dat de vorige layout al een eeuwigheid meeging en perfect werkte. Dus heb ik ze eerder een update gegeven. De grijze balk was een gimmick, maar eentje die niet zo fantastisch werkte. De site lijnde ook helemaal rechts uit. Op een groot scherm breekt dat het evenwicht. Dus is er nu een nieuwe sidebar en is de site gecentreerd.

De oude HTML en CSS code dateerde van ergens begin 2008. Dat zijn bijna de “duistere Middeleeuwen” * in de wondere wereld van het web. Ondertussen hebben we HTML5, CSS3, is Internet Explorer 6 ten grave gedragen, heeft Google Chrome een flinke hap uit de browsermarkt genomen,… Het is trouwens wonderbaarlijk dat het tussen dan en nu, nog altijd, ondanks een paar mankementjes, redelijk werkte met de laatste updates van WordPress. Afin, ik heb ervoor gekozen om het theme van de grond af te herschrijven met de toekomst in het achterhoofd.  Ik heb de HTML 5 Reset startertheme genomen en ik er boven mijn eigen theme geschreven. Wie naar de broncode kijkt, zal zien dat er een pak HTML5 tussen zit. Backward compatibility wordt gegarandeerd door Modernizr dat in het startertheme zit.

De zoekfunctionaliteit is gesneuveld. Ik heb ze zelf in al die jaren nooit gebruikt. Google indexeert reeds jaren deze blog. Ik durf dus al eens te Googlen naar een oud artikel.

De Recente Commentaren widget is nu meer uitgesproken. In plaats van domweg de 5 laatste reacties te tonen drijven nu de artikels waar frequent op wordt gereageerd naar boven. De Get Recent Comments plugin doet de heavy lifting. En ja, ik heb het idee overgenomen van Michel.

Het Archief steekt anders in mekaar. Ik heb het idee van Tumblr.  Een overzicht van artikels in blokjesvorm leek me wel een tof idee. Ik heb een tijd geëxperimenteerd met de Infinite Scroll plugin. Ik merkte echter dat die in Internet Explorer 7 niet helemaal proper werkte. En ik vroeg me ook af of het breken van een verwachtingspatroon, de navigatie onderaan elke pagina, wel zo’n fantastisch idee zou zijn. Ik heb het idee uiteindelijk laten sneuvelen. Misschien dat het er bij een volgende versie toch in zit.

Tenslotte heb ik mijn Colofon eens stevig onder handen genomen met een gereviseerde tekst. Dat mocht ook wel eens.

Op de todo lijst staat de inhoud van de site. Alles steekt in een paar basiscategorieën zoals Blog, Life, Internet, Drupal, Techtalk,… Ik ben niet altijd even consequent geweest in het toekennen van categorieën. Die categorieën zelf zijn ook redelijk geëvolueerd naarmate mijn interesses zich verlegden. Dat moet dus drrringend eens worden opgeschoond.

Laat maar weten wat je ervan denkt!

* Als medievist hou ik niet zo van de term “Duistere Middeleeuwen”. Die zijn nooit zo duister geweest als men laat uitschijnen. Het was zeker niet zo dat bijgeloof en onwetendheid hoogtij vierden. Integendeel. Wikipedia leert je meer!

Mollom goes onwards!

It’s been a few months since I’ve let anything out about the development of WP Mollom. Due to my freelancing activities, the project didn’t got the attention it really deserved. But now I’m shifting focus again, and I’ll be able to spend more time on this plugin in the near future.

First up: the development version contains a few fixes against several  bugs and typo’s.

The biggest issue I’ve fixed is a problem with non alphanumeric characters and foreign character sets which are not being rendered correctly. It’s quite an important fix actually so it needs some testing before I can release it with the next stable version. You can support me to achieve this in one of three ways:

If you’re just passing by:

I’m a firm believer in the old adage ‘eat your own dog food’ so I’ve installed the development version on my own blog. Just leave a comment and use the most weirdest characters you can find on your keyboard. Combinations of quotes, double quotes, slashes,… anything gives! If you’re native tongue uses a foreign character set: give it a try!

If you’re a blogger:

Download the latest development snapshot of the plugin, intall it on a your (test) blog, make a blogpost and use all kinds of exotic character sets (chinese, cyrillic, greek, arabic, vietnamese, etc.). Try to use the most weirdest characters and check for comments with missing or garbled content.

If you’re a developer:

Download the snapshot and review my code! The code which sanitizes the comment strings can be found around line 1377.

If everything works great, I hope to do a long overdue bug fix release later on this week.

Adem

Even naar adem happen want deze week was druk. En da’s een understatement. Er moest een project worden afgewerkt. Deadlines gehaald. Code gereviseerd. The whole shebang. En dat betekende even alles geven. Van ’s morgens vroeg tot ’s avonds laat. En dan komt een mens al eens tot conclusies. Dat de nieuwe job, waar ik volgende week toch alweer 4 maanden geleden ben ingerold, echt wel hetgeen is wat hij het liefste doet. Dat het een ongelofelijke kick is om uiteindelijk je werk live te zien gaan. En dat het websites maken veel meer is dan prullen met code en het opzetten van steriele systemen. Dat het daadwerkelijk een gebruiksinstrument is waarlangs mensen met elkaar in interactie kunnen gaan in de meest verscheiden vormen. Dat je werk uiteindelijk een levend geheel blijkt te zijn.

Heerlijk!

Wat nog heerlijk is, da’s Coldplay in het Sportpaleis aan het werk zien. Ondertussen al de vierde keer dat ik ze bezig zag. Chris Martin is één van die weinige artiesten die, hoe hoog het podium mag zijn, toch de zaal in vuur en vlam weet te zetten, voluit grappen en grollen maakt, en een ongelofelijke energie weet uit te stralen. Zijn Nederlands vaart er alleen maar wel bij, kan ik jullie vertellen. Ondertussen was mijn stem na het derde nummer reeds schor gezongen en was de ellende van het urenlange rechtstaan, vermoeidheid en wachten zeer snel vergeten. Een fantastische afsluiter van een vrij memorabele week.

En nu zit ik hier op een zondagmiddag, helemaal leeg. Naast mijn muis ligt mijn internationaal paspoort een dikke enveloppe gevuld met Amerikaanse en Canadese dollars. Nog 8 dagen. Nog even deze zondagmiddag naar adem happen en dan ben ik er helemaal klaar voor.

All that you can’t leave behind

U2 en Lego zijn übercool. Ik gebruik dit prentje al een paar dagen tijdens het programmeren en testen van allerlei code. En elke keer doen Bono, The Edge, Larry Mullen Jr. en Adam Clayton mij glimlachen.

Lego Mania bezorgt je nog een pak meer fun met Lego.

De eerste werkdag

… of hoe het terug-naar-school gevoel gisteren en vanmorgen even de kop op stak. Alternatieve titel voor mijn eerste werkdag bij Statik. En het werd een zeer gevulde dag.

6u02: op dit ontiegelijke uur in Brugge wakker worden. Het ochtendzon heeft goud in de mond of zoiets.

6u58: de trein op richting Leuven. Het plan is om daar over te stappen op de trein richting Heverlee en om 8u37 te beginnen.

7u28: onze lieve vrienden van de NMBS konden het niet laten. De trein valt defect in Gent en rijdt niet verder. In de absolute chaos besluit ik de trein van 7u39 richting Schaarbeek te nemen.

8u15: ik arriveer in Brussel-Centraal en stap snel over op de trein naar Leuven over Brussels Airport

8u39: blitzbezoekje aan de luchthaven van Zaventem

9u05: eindelijk gearriveerd in Leuven

9u20: ik arriveer in Heverlee.

De dag begint met een uitgebreide rondleiding terwijl de nieuwe collega’s één voor één binnen druppelen. We zijn met 5 man vandaag. Ik krijg mijn werkplek toegewezen. Een verse, nagelnieuwe iMac staat op mij te wachten. Dit wordt mijn werkpaard. De rest van de dag bestaat erin om er mijn werkomgeving op te zetten. e-mail, browsers, textmate, subversion repository, public keys,… In de namiddag begon ik mijn ontdekkingstocht doorheen de code van de vele projecten. Spannend en heel erg leuk!

Met het mooie weer besloten we dan maar buiten te zitten met onze broodjes. Op het pleintje had er een oudere dame geprobeerd om met haar auto italian job gewijs van een paar trappen te rijden. Slecht plan want de auto bleef steken met het chassis op de trap. De politie en een takelwagen kwamen eraan te pas. Ergens was er het plan om met zijn allen de handen onder de auto te steken en hem terug op het pleintje te duwen, maar de stem van de rede en het besef dat we misschien meer kwaad dan goed zouden doen, hield ons wat tegen.

Tegen een uur of 6 besloot ik de trein naar Antwerpen te nemen. Ik arriveerde mooe maar tevreden mooi om 19u in het Centraal. Ideaal. Nu heb ik nog wat tijd om TV te kijken en dan op tijd in bed om morgen vroeg de dag aan te vatten.

O ja, voor alle nieuwsgierigen: dit is mijn nieuwe werkplek…

Nieuwe werkplek @ Statik

Release of WP Mollom

So. I scheduled a first public beta release of my Mollom plugin somewhere tonight (CET/UTC+1). The plugin runs quite stable on my own weblog and spam is happily being blocked. I didn’t receive major complaints from testers or users on my own blog in the past week. Yesterday, I cleared the code with Dries who took a glance at the major functionality.

Of course, it wouldn’t be a first beta release if there aren’t still some irks lurking around in the code. This morning, Leo Arias mailed me that the plugin won’t work together with the WP OpenId plugin. Having toyed with my own OpenID implementation for WordPress, I’m not a great proponent of this technology. The way you have to design a plugin implies using several shortcuts. I’m not going to push my release back now, though. I will try to fix this issue in the next release.

My code will also be thoroughly reviewed by the Mollom people.

Thanks to all the testers and those who just listed to become a tester!

BarcampGent: the movie

Wel, Bart Claeys heeft zich gesmeten een fantastische demo gemaakt en die op Flickr Video gesmeten. Meteen de gelegenheid om te kijken of ik het hier kan embedden op mijn blogje.

https://www.flickr.com/photos/bartclaeys/2468416217

Laten we wel wezen, de embedcode ziet er eigenlijk als een draak. param tags met flashvars dat het geen naam mag hebben en al.

Don’t try to fake it

Hm. JAVA weirdness vandaag ontdekt. Men neme een bestand foobar.txt. Vervolgens beschouwen we even deze code:

File foo = new File('foobar.txt');<br> System.out.println(foo.getPath());<br> foo.renameTo(new File('barfoo.txt'));<br> System.out.println('foo.getPath());<br>

Dat zou pretty straightforward moeten zijn: de code hernoemt het foobar.txt bestand naar barfoo.txt. Voor en na de operatie wordt via de getPath() operatie het pad en de naam van het bestand opgehaald en getoond.

De logica dicteert dat nadat de bestandsnaam van het foo object is gewijzigd, de getPath() methode de nieuwe bestandsnaam zou weergeven.

Helemaal niet dus.

De getPath() methode blijft de oude naam nog altijd tonen. Mogelijk alternatief om dat op te vangen is werken met een extra File object:

File foo = new File('foobar.txt');<br> System.out.println(foo.getPath());<br> File newFoo = new File('barfoo.txt');<br> foo.renameTo(newFoo);<br> System.out.println('newFoo.getPath());<br>

Mijns insziens niet meteen het meest propere alternatief want het kost je geheugen, zeker als je met grote operaties bezig bent, maar het werkt wel. JAVA adepten onder ons, wat denken jullie ervan?

« Vorige blogposts Pagina 1 van 2 pagina's Volgende blogposts »