<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>el73</title>
	<atom:link href="http://el73.be/feed/" rel="self" type="application/rss+xml" />
	<link>http://el73.be</link>
	<description>De plek waar Kevin Wetzels zijn duivels ontbindt over alles aangaande web design &#038; development.</description>
	<pubDate>Sat, 01 Aug 2009 16:59:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Quickbit 2009-06-08 21:20:37</title>
		<link>http://el73.be/2009/06/08/285/</link>
		<comments>http://el73.be/2009/06/08/285/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 20:20:37 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
		
		<category><![CDATA[ontwikkeling]]></category>

		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://el73.be/?p=285</guid>
		<description><![CDATA[
De leukste momenten in development zijn die waarin je met een minimum aan code een maximum aan impact kan genereren.
]]></description>
			<content:encoded><![CDATA[<p>
De leukste momenten in development zijn die waarin je met een minimum aan code een maximum aan impact kan genereren.</p>
]]></content:encoded>
			<wfw:commentRss>http://el73.be/2009/06/08/285/feed/</wfw:commentRss>
		</item>
		<item>
		<title>E-voting&#8230; moeilijk?</title>
		<link>http://el73.be/2009/06/04/e-voting-moeilijk/</link>
		<comments>http://el73.be/2009/06/04/e-voting-moeilijk/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 18:28:33 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
		
		<category><![CDATA[ontwikkeling]]></category>

		<category><![CDATA[belgie]]></category>

		<category><![CDATA[verkiezingen]]></category>

		<guid isPermaLink="false">http://el73.be/?p=284</guid>
		<description><![CDATA[Mijn visie op online stemmen.]]></description>
			<content:encoded><![CDATA[<p>
Minister van Binnenlandse Zaken De Padt <a href="http://deredactie.be/cm/vrtnieuws/verkiezingen09/090604_VK09_Depadt">komt op de proppen met een nieuw (al wat gedateerd) idee</a>: online stemmen, of zoals de media het blijkbaar het liefst zien: e-voting. De minister ziet vooral problemen op het vlak van beveiliging en de geheimhouding van de stemming. Ik vraag me ondertussen al jaren af waar het probleem zit. Want als ik er even over nadenk&#8230; Eens zien.
</p>
<h2>Via internet of <abbr title="In Real Life">IRL</abbr></h2>
<p>
Het systeem moet vermijden dat een kiezer eerst het stemhokje opzoekt om daarna via het internet nog eens te stemmen. Of omgekeerd. Zorg er dus voor dat de bijzitters in het stemlokaal de kiezers kunnen registreren in het systeem (of nakijken of die al gestemd heeft). Andere oplossing: zorg ervoor dat mensen op voorhand aangeven op welke manier ze hun stem willen uitbrengen.
</p>
<h2>Beveiliging</h2>
<p>
Alle verkeer verloopt over SSL. De kiezer logt thuis in met zijn e-ID apparaat (als we het toch hebben kunnen we er net zo goed gebruik van maken) op de website. Tenzij de implementatie van de  authenticatie via e-ID gebrekkig is zie ik geen probleem op de verbinding tussen kiezer en website. Natuurlijk moet die website niet gehost worden vanop een server die in het midden van de Grote Markt staat. Nee, de server wordt bewaakt. Uzi&#8217;s, bazooka&#8217;s, tanks. Dat soort beveiliging.
</p>
<h2>Le database</h2>
<p>
Belgi&euml; telt een dikke tien miljoen inwoners. Dat is al voldoende reden om een beetje na te denken over het database model. Eerste onderdeel: verkiezingen. Gaat het om Vlaamse, Europese, Belgische of gemeenteraadsverkiezingen? Komend weekend gaat het om Vlaamse en Europese, dus moet de kiezer bij beide &eacute;&eacute;n of meerdere bolletjes kleuren.
</p>
<p>
Zo komen we meteen bij de vier volgende onderdelen: lijsten, kiescolleges, kieskringen en kieskantons. Lijsten met kandidaten zijn gebonden aan een kieskring. Kiescolleges lijken niets meer te zijn dan een <em>superset</em> van kieskringen. Kieskantons zijn, volgens Wikipedia, een groep van gemeenten binnen een kieskring met een kantonhoofdbureau. Gemeenten dus. Iedere Belg moet in een bepaalde gemeente stemmen. Belgen in het buitenland vormen een uitzondering, maar kunnen we classificeren onder een gemeente &#8220;buitenland&#8221; binnen een bepaalde kieskring en kiescollege.
</p>
<p>
Mijn excuses voor het aframmelen van de verschillende entiteiten, maar hier zitten geen problemen. Op enkele dagen tijd heb je een applicatie waarin je die data perfect kan beheren. Akkoord?
</p>
<h2>Het stemmen</h2>
<p>
Nadat de kiezer aangemeld is, kan hij kiezen voor welke verkiezing hij zijn stem wil uitbrengen. Hier krijgt hij dan een overzicht van alle lijsten van zijn kieskring te zien, met de optie om op de lijst te stemmen of om de lijst in detail te bekijken om zo te kunnen stemmen voor &eacute;&eacute;n of meerdere kandidaten. Wanneer hij klaar is wordt hij teruggebracht naar het overzichtsscherm om zijn keuze te maken voor de andere verkiezingen.
</p>
<p>
Eens voor alle verkiezingen een keuze is gemaakt (waarbij we de optie blanco niet vergeten) kan hij zijn stem bevestigen. Op dat moment worden zijn keuzes opgeslagen (<em>zonder</em> link naar de kiezer - wegens geheimhouding van de stemming) en wordt in de tabel &#8220;kiezers&#8221; de flag &#8220;gestemd&#8221; gezet. Als hij zich nu opnieuw aanbiedt op de site zal het systeem dit weigeren. In het stemlokaal zal de bijzitter kunnen zien dat hij reeds gestemd heeft - desnoods omdat het systeem het duidelijk maakt wanneer de kiezer geregistreerd wordt.
</p>
<p>
Zo kan iedereen zijn stem dus 1 maal uitbrengen op de gewenste manier.
</p>
<h2>Sca-a-a-aling</h2>
<p>
Het grootste probleem: hoe zorg je ervoor dat het systeem het niet begeeft wanneer iedereen massaal zijn stem begint uit te brengen?
</p>
<ol>
<li>Spreid de periode waarbinnen gestemd kan worden. Waarom zou je niet vanaf maandag kunnen stemmen?</li>
<li>Spreid de servers: zorg ervoor dat er &#8220;eentje&#8221; is per kiescollege, -kring of -kanton.</li>
</ol>
<h2>Stemmen tellen</h2>
<p>
SQL. Export naar CSV? Excel? XML? You name it.
</p>
<h2>Conclusie</h2>
<p>
Behalve de scaling&#8230; toch niet zo moeilijk lijkt me? Voor een uitgebreid gesprek en analyse mag het ministerie altijd <a href="http://continuum.be/">contact opnemen met ons</a>. Dan zullen we ongetwijfeld te weten komen waar de echte problemen zich bevinden, want ik kan me niet voorstellen dat het zo eenvoudig is als het hier lijkt.</p>
]]></content:encoded>
			<wfw:commentRss>http://el73.be/2009/06/04/e-voting-moeilijk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Morse 1.0</title>
		<link>http://el73.be/2009/05/29/morse-10/</link>
		<comments>http://el73.be/2009/05/29/morse-10/#comments</comments>
		<pubDate>Fri, 29 May 2009 22:23:40 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
		
		<category><![CDATA[ontwikkeling]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[air]]></category>

		<category><![CDATA[morse]]></category>

		<guid isPermaLink="false">http://el73.be/?p=283</guid>
		<description><![CDATA[Morse 1.0 is klaar voor gebruik.]]></description>
			<content:encoded><![CDATA[<p>
Het heeft lang geduurd, en <em>eigenlijk</em> is er de afgelopen maanden weinig aan veranderd, maar <a href="http://roam.be/morse/">Morse 1.0</a> is klaar.
</p>
<p>
Mijn oprechte dank aan de testers. Het is laat en ik heb even geen zin om alle namen te verzamelen, maar als je dit leest mag je altijd even roepen en dan ik voeg je naam en URL toe op de site.</p>
]]></content:encoded>
			<wfw:commentRss>http://el73.be/2009/05/29/morse-10/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Zo mini</title>
		<link>http://el73.be/2009/05/07/zo-mini/</link>
		<comments>http://el73.be/2009/05/07/zo-mini/#comments</comments>
		<pubDate>Thu, 07 May 2009 19:40:37 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
		
		<category><![CDATA[ontwikkeling]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[mac]]></category>

		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://el73.be/?p=282</guid>
		<description><![CDATA[
Mijn Mac Mini staat hier nu al een tijdje. In stilte. Werkend, maar o zo stil.


Het is leuk werken en leuk spelen. Het meest bizarre speelgoed is Objective-C; de eerste C-gebaseerde taal die me bij momenten ontzettend vreemd voorkomt, om dan plotseling weer haar intrigerende zijde te tonen. Vreemd en intrigerend. Ik ben er nog [...]]]></description>
			<content:encoded><![CDATA[<p>
Mijn Mac Mini staat hier nu al een tijdje. In stilte. Werkend, maar <em>o</em> zo stil.
</p>
<p>
Het is leuk werken en leuk spelen. Het meest bizarre speelgoed is Objective-C; de eerste C-gebaseerde taal die me bij momenten ontzettend vreemd voorkomt, om dan plotseling weer haar intrigerende zijde te tonen. Vreemd en intrigerend. Ik ben er nog niet uit of dat goede eigenschappen zijn van een programmeertaal.</p>
]]></content:encoded>
			<wfw:commentRss>http://el73.be/2009/05/07/zo-mini/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quickbit 2009-05-01 08:59:22</title>
		<link>http://el73.be/2009/05/01/281/</link>
		<comments>http://el73.be/2009/05/01/281/#comments</comments>
		<pubDate>Fri, 01 May 2009 07:59:22 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
		
		<category><![CDATA[varia]]></category>

		<guid isPermaLink="false">http://el73.be/2009/05/01/281/</guid>
		<description><![CDATA[*tumbleweed*
]]></description>
			<content:encoded><![CDATA[<p>*tumbleweed*</p>
]]></content:encoded>
			<wfw:commentRss>http://el73.be/2009/05/01/281/feed/</wfw:commentRss>
		</item>
		<item>
		<title>De lelijke Linux interface</title>
		<link>http://el73.be/2008/11/28/de-lelijke-linux-interface/</link>
		<comments>http://el73.be/2008/11/28/de-lelijke-linux-interface/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 19:01:39 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
		
		<category><![CDATA[usability]]></category>

		<category><![CDATA[gnome]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[os]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[vista]]></category>

		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://el73.be/?p=280</guid>
		<description><![CDATA[Standaard is Linux lelijk. Mits wat tweaks is het echter prachtig.]]></description>
			<content:encoded><![CDATA[<p>
Ik ben een oppervlakkig mens. De belangrijkste reden waarom ik wegblijf van Linux is <strong>de interface</strong>. Al sinds de eerste keer dat ik met Linux in aanraking kwam zat er iets grondigs fout met de fonts: het was alsof <em>Comic Sans</em> het standaard lettertype was. De window decorators in KDE lieten het trouwens alleen maar meer lijken op een OS dat ontworpen was door een bende kleuters.
</p>
<p>
Dat ik toen KDE verkoos boven Gnome zal je duidelijk maken wat ik daar van dacht. Oh ja, er waren en zijn nog een dozijn andere window managers waarvan de default themes werden ontworpen door fanaten van B-films in het scifi-genre. Het was allemaal onvoldoende om mij te overtuigen van de meerwaarde.
</p>
<h2>Dat was toen</h2>
<p>
Nu ik een nieuwe job heb bij een nieuwe werkgever, heb ik ook een nieuwe laptop met een nieuw besturingssysteem: Windows Vista. De meningen over Vista zijn vooral negatief, maar ernstige problemen zijn mij tot nu toe bespaard gebleven. De problemen <em>die</em> ik heb vragen echter om een ander besturingssysteem. Het was tijd om - enigszins met tegenzin - Ubuntu nog eens boven te halen.
</p>
<p>
De interface blijft standaard nogal uit de kluiten gewassen, opgeblazen, onevenwichtig. En het <a href="http://flickr.com/photos/rianvanu/2325978274/sizes/o/" title="Screenshot van een standaard Ubuntu installatie">standaard lettertype</a> is gewoon verkeerd: de breedte en hoogte van de letters wijken stevig van elkaar af. Hoog tijd om wat anders te voorzien.
</p>
<h2>Gnome opwaarderen</h2>
<p><a href="http://www.flickr.com/photos/el73/3065610889/" title="Gnome on Dust by el73, on Flickr" class="illustration-2"><img src="http://farm4.static.flickr.com/3059/3065610889_1133379070_m.jpg" width="240" height="150" alt="Gnome on Dust"></a></p>
<p>
Bij <a href="http://gnome-look.org/">Gnome Look</a> vind je voldoende themes maar de algemene kwaliteit blijft vrij pover. Gelukkig is er het <a href="https://wiki.ubuntu.com/Artwork/Incoming/DustTheme">Dust theme</a>. Koppel daar dan nog eens een beter font aan - een Lucida Grande bijvoorbeeld - en je krijgt een <abbr title="User Interface">UI</abbr> die qua <em>lickability</em> moeilijk te overtreffen valt met Windows Vista.
</p>
<p>
Ik ben echter totaal verloren als mijn <kbd>Alt + Spatie</kbd> in het luchtledige eindigt. <a href="http://launchy.net/">Launchy</a> is mijn must-have tool op Windows die me toelaat om snel applicaties te starten. Aangezien de Linux-versie nog niet op punt staat, doe ik het voorlopig met <a href="http://projects.gnome.org/deskbar-applet/">Deskbar-Applet</a>. Oh, en <a href="http://el73.be/2008/10/19/morse-de-betere-gmail-notifier/">Morse</a>. Morse moet ik hebben. De AIR runtime voor Linux is nog niet helemaal in orde, maar het werkt grotendeels zoals op Windows en OS X.
</p>
<h2>Et alors?</h2>
<p>
Hoe zit het met de andere applicaties die ik vaak gebruik op Windows?
</p>
<ul>
<li><a href="https://getfirefox.net/" title="Firefox browser">Firefox</a>: check</li>
<li><a href="https://videolan.org/vlc/" title="VLC Media Player">VLC</a>: check</li>
<li><a href="http://filezilla-project.org/" title="FileZilla FTP client">FileZilla</a>: check</li>
<li><a href="http://www.activestate.com/Products/komodo_ide/komodo_edit.mhtml" title="Komodo Edit">Komodo Edit</a>: check</li>
<li>Eclipse, IntelliJ, Tomcat, Maven en Ant: c-c-c-c-check</li>
<li>Notepad++: euh, nee. Maar deze heb ik niet nodig aangezien gedit ruimschoots volstaat en ik Komodo Edit heb voor al het andere.</li>
</ul>
<p>
Windows 7 mag zich reppen.</p>
]]></content:encoded>
			<wfw:commentRss>http://el73.be/2008/11/28/de-lelijke-linux-interface/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quickbit 2008-11-17 18:11:45</title>
		<link>http://el73.be/2008/11/17/279/</link>
		<comments>http://el73.be/2008/11/17/279/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 17:11:45 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
		
		<category><![CDATA[elders]]></category>

		<category><![CDATA[gotcha]]></category>

		<category><![CDATA[plagiaat]]></category>

		<guid isPermaLink="false">http://el73.be/?p=279</guid>
		<description><![CDATA[
Ceci n&#8217;est pas un original.


Ik wacht op een nieuw product van Google dat gelijkaardige sites toont. Niet op basis van inhoud maar op basis van styling. That ought to be fun!
]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://flickr.com/photos/el73/3038706682/" title="Pikkedieven">Ceci</a> n&#8217;est pas un original.
</p>
<p>
Ik wacht op een nieuw product van Google dat gelijkaardige sites toont. Niet op basis van inhoud maar op basis van styling. That ought to be <em>fun</em>!</p>
]]></content:encoded>
			<wfw:commentRss>http://el73.be/2008/11/17/279/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quickbit 2008-10-28 19:17:39</title>
		<link>http://el73.be/2008/10/28/277/</link>
		<comments>http://el73.be/2008/10/28/277/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 18:17:39 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
		
		<category><![CDATA[elders]]></category>

		<category><![CDATA[gotcha]]></category>

		<category><![CDATA[plagiaat]]></category>

		<guid isPermaLink="false">http://el73.be/?p=277</guid>
		<description><![CDATA[Ok, one more time: sites kopi&#235;ren doen we niet! Knoop het in uw oren, daar bij Ghibli in Rillaar.
]]></description>
			<content:encoded><![CDATA[<p>Ok, <em>one more time</em>: sites kopi&euml;ren doen we <strong>niet</strong>! Knoop het in uw oren, daar bij <strong>Ghibli in Rillaar</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://el73.be/2008/10/28/277/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP, PDO en geen resultaten</title>
		<link>http://el73.be/2008/10/27/php-pdo-en-geen-resultaten/</link>
		<comments>http://el73.be/2008/10/27/php-pdo-en-geen-resultaten/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 14:19:47 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
		
		<category><![CDATA[ontwikkeling]]></category>

		<category><![CDATA[pdo]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://el73.be/?p=276</guid>
		<description><![CDATA[
Verschillende versies, verschillende kenmerken. Verschillende redenen tot frustratie. Neem aan dat de volgende query voor de juiste waarde van :x (bijvoorbeeld 10) drie rijen teruggeeft.


SELECT a, b, c FROM Abc WHERE a < :x AND b > :x


Neem nu aan dat je volgende code gebruikt om die rijen op te halen in PHP, met behulp [...]]]></description>
			<content:encoded><![CDATA[<p>
Verschillende versies, verschillende kenmerken. Verschillende redenen tot frustratie. Neem aan dat de volgende query voor de juiste waarde van <code>:x</code> (bijvoorbeeld <code>10</code>) <em>drie</em> rijen teruggeeft.
</p>
<pre><code>
SELECT a, b, c FROM Abc WHERE a < :x AND b > :x
</code></pre>
<p>
Neem nu aan dat je volgende code gebruikt om die rijen op te halen in PHP, met behulp van PDO:
</p>
<pre><code>
$sql = "SELECT 'AbcClass', a, b, c FROM Abc WHERE a &lt; :x AND b &gt; :x";
$statement = $pdo->prepare($sql);
$statement->bindParam(':x', 10);
$results = array();
if ($statement->execute()) {
    while ($result = $statement->fetch(PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE)) {
        $results[] = $result;
    }
}
</code></pre>
<p>
Hoeveel rijen zal je terugkrijgen? Het antwoord: het hangt af van de versie van PHP die je gebruikt. Op mijn computer is dat 5.2.0 en daar krijg ik de 3 rijen terug die ik verwacht. Op de server die me met het probleem confronteerde is dat echter 5.2.6 (rejoice: <a href="http://mediasoft.be/">een betaalbare Belgische host met een degelijke PHP 5 installatie</a>; pigs do fly). En wat blijkt, <a href="http://paul-m-jones.com/?p=243" title="Beschrijving van het probleem">sinds PHP 5.2.1</a>, wordt in dit voorbeeld <code>10</code> <strong>enkel de eerste keer aan <code>:x</code> gebonden</strong>.
</p>
<p>
Dus moet het dit worden:
</p>
<pre><code>
$sql = "SELECT 'AbcClass', a, b, c FROM Abc WHERE a &lt; :x AND b &gt; :y";
$statement = $pdo->prepare($sql);
$statement->bindParam(':x', 10);
$statement->bindParam(':y', 10);
$results = array();
if ($statement->execute()) {
    while ($result = $statement->fetch(PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE)) {
        $results[] = $result;
    }
}
</code></pre>
<p>
Misschien zal ik toch eens de tijd moeten nemen om PHP op mijn computer te updaten om dit soort toestanden in de toekomst te vermijden.</p>
]]></content:encoded>
			<wfw:commentRss>http://el73.be/2008/10/27/php-pdo-en-geen-resultaten/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quickbit 2008-10-24 13:04:42</title>
		<link>http://el73.be/2008/10/24/275/</link>
		<comments>http://el73.be/2008/10/24/275/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 12:04:42 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
		
		<category><![CDATA[ontwikkeling]]></category>

		<category><![CDATA[air]]></category>

		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://el73.be/?p=275</guid>
		<description><![CDATA[
Werken met HTML en JavaScript in Adobe AIR heeft alvast &#233;&#233;n fantastisch voordeel: je moet rekening houden met WebKit en enkel WebKit. Denk dus lekker aan volledige ondersteuning voor transparante PNGs, meerdere achtergrondafbeeldingen en border-radius. Oh, en dat alle mogelijke selectors in CSS werken &#8212; van attribute selectors tot adjacent sibling selectors &#8212; zorgt ervoor [...]]]></description>
			<content:encoded><![CDATA[<p>
Werken met HTML en JavaScript in Adobe AIR heeft alvast &eacute;&eacute;n fantastisch voordeel: je moet rekening houden met WebKit en enkel WebKit. Denk dus lekker aan volledige ondersteuning voor transparante PNGs, meerdere achtergrondafbeeldingen en <code>border-radius</code>. Oh, en dat alle mogelijke selectors in CSS werken &mdash; van attribute selectors tot adjacent sibling selectors &mdash; zorgt ervoor dat ik ze eens kan gebruiken <em>buiten</em> jQuery.
</p>
<p>
Maar vergeet voorlopig <code>text-shadow</code> maar als je op Windows werkt.</p>
]]></content:encoded>
			<wfw:commentRss>http://el73.be/2008/10/24/275/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
