Zoektocht naar het juiste knopje op de stemcomputer

Enkele overdenkingen…

De verkiezingen naderen. Tijd om eens een rondje langs de politieke velden te maken. Voor mij staat vast dat het anders moet in Nederland. We moeten af van het boekhoudbestuur en terug naar de mens. Het is makkelijker bedacht en opgeschreven dan gerealiseerd, want bij welke partij kom ik dan uit?

Het CDA?
Nee zeker niet. Het CDA is een machtspartij. Regeren staat voorop. Hoe en met wie lijkt vaak van minder belang. Met hetzelfde gemak kieperen ze hun coalitiepartner in de afvalbak. Je weet nooit waar je echt aan toe bent. Wie deze coalitie voort wil zetten, moet dus niet op het CDA stemmen.

De VVD?
Welke VVD? Die partij is momenteel tot op het bot verdeeld. De visie van Mark Rutte is interessant, maar komt er helemaal niet uit. Dat heeft alles te maken met populistische Rita. De VVD roept bij mij het beeld op van twee personen voorin een auto: Mark aan het stuur met Rita naast hem die de kaart leest en de route bepaalt: niet naar links, niet naar rechts maar volgas rechtdoor tegen de boom.

Het is schandalig en tekenend voor de sfeer in de partij dat een nummer twee een eigen campagne voert. Ik vrees dat Mark zich nooit staande houdt en dan wordt het door mij verfoeide boekhoudliberalisme ingeruild voor het populisme van Verdonk. En dat is nog erger.

Je ziet aan het optreden van Verdonk dat haar boodschap niet door een ideologie wordt gedragen. Op het moment dat ze in het nauw komt of vragen krijgt over onderwerpen waar ze weinig vanaf weet, dan gaat ze korter ademhalen, krijgt ze een verbeten trek om haar mond en praat ze in bijterige korte zinnen. Dat is tekenend voor een gebrek aan zelfvertrouwen. En dat is te herleiden tot een gebrek aan ideologische basis waaraan ze haar antwoorden kan toetsen… dat maakt haar onzeker. En – erger - dat maakt haar ook onbetrouwbaar. Verdonk is een middenstandliberaal: niet denken maar doen. Dat zijn de slechtst denkbare politici: hun flinksheid gaat vaak ten koste van rechtsbeginselen en compassie voor andersdenkenden en zwakkeren in de samenleving. Op deze VVD ga ik dus zeker niet stemmen.

De PvdA?
Ook niet. De PvdA is sinds Den Uyl ook een machtspartij geworden. Het gedraai van Bos over de coalitie is daar een mooi voorbeeld van. Als er een linkse meerderheid is, kiest hij voor links, maar als hij kan regeren met het CDA schuift de PvdA met net zoveel plezier aan. Wie een links kabinet wil hebben, moet dus niet op de PvdA stemmen, maar op GroenLinks of de SP.

De SP?
Hoewel ik hier een Mao-jasje in de kast heb hangen (Jan ik ben er klaar voor) stem ik ook niet op de SP. Marijnissen heeft geweldig oppositie gevoerd, maar de ideologie van de SP is mij te collectief. Bij die partij vallen de keuzes zo uit dat het collectief prevaleert boven het individu, en dat is veel te veel van het goede.

GroenLinks?
Ik heb wel iets met het linksliberale gedachtegoed van Femke, maar ook daar knaagt iets. Halsema is een fantastische parlementariër. Ik heb veel bewondering voor de wijze waarop ze debatteert. In haar partij wordt dat niet altijd op waarde geschat. Dat is ook precies waar ik mij zorgen over maak. Het oude - liberaal getinte – PPR-gedachtegoed, spreekt mij aan. Ik vind GroenLinks onder Halsema in die traditie optreden. Mijn grote twijfel is echter dat het draagvlak voor die koers binnen de partij sterk afneemt. Ik heb niets met de doodlopende geitenwollensokken PSP-politiek, laat staan met de CPN. Mijn gevoel zegt dat de rol van Femke in GroenLinks binnenkort is uitgespeeld en dan is het maar de sterk vraag welke koers er voor terugkomt.

D66?
Ik heb iets tegen Pechtold en ik heb altijd al een beetje medelijden gehad met D66. Dat is gewoon een treurige partij. Ik wil ook gekozen worden als burgemeester een gekozen burgemeester. Ik wil ook meer directe democratie. Maar ik wil ook op een sérieuze partij stemmen en dat gevoel heb ik helemaal niet bij D66.

ChristenUnie?
Rouvoet vind ik de beste parlementariër. Zijn optreden in de aanloop naar het referendum over de Europese Grondwet was subliem. Zijn insteek in de debatten over immigranten en armoede bestrijding is geweldig. Maar ik ga geen ChristenUnie stemmen omdat ik de menselijke vrijheid niet wil laten beknotten door mensen die menen te weten wat een bovenmenselijke macht goed voor ons vindt. Ik ga overmorgen in het stemhokje de tijd niet terugdraaien door op de ChristenUnie – laat staan SGP – te stemmen.

Blanco stemmen?
Kortom… uit de gevestigde politieke partijen kan ik geen keuze maken. Eén van de mogelijkheden die dan overblijft is blanco stemmen. Dat heb ik al eerder gedaan. Politici en andere moraliserende krachten in de maatschappij roepen altijd dat je op een partij moet stemmen omdat je anders ook niet mag meepraten. Dat is grote onzin!

Als je niet de moeite neemt om naar het stemhokje te gaan, heb je geen interesse in het debat en moet je inderdaad niet zeuren. Maar… bij blanco stemmen ligt dat helemaal anders. Je stem telt dan ook gewoon mee met het bepalen van de kiesdeler. Dan geef je het signaal af dat je de democratie belangrijk vindt en dat je ook de moeite neemt om te participeren, maar dat je geen partij hebt kunnen vinden die bij je past.

Blanco stemmen heeft daarentegen ook wel iets opgemakkelijks. Zeker als je niet alle partijen goed hebt bekeken.

Ik betrap mij er ook op dat ik - ondanks mijn grote politieke interesse - toch automatisch alleen maar aandacht schenk aan de gevestigde politieke partijen. Dat is natuurlijk tenenkrommend bekrompen. Zeker in deze tijd is het heel eenvoudig om ook de nieuwe onbekende partijen onder de loep te nemen.

Daarom heb ik mijn speurtocht voortgezet bij enkele kleine nieuwkomers. En dan blijkt dat er wel degelijk interessante keuzes gemaakt kunnen worden.

Klein rechts?
Absoluut niet. Als je iets tegen Verdonk hebt, zou het bizar zijn om op Wilders, Pastors of Nawijn te gaan stemmen.

De Partij voor de Dieren?
De bekendste nieuwkomer is de Partij voor de Dieren. Het is natuurlijk wel geestig om als protest op zo'n partij te stemmen, maar het optreden van lijsttrekker Marianne Thieme is mij veel te eenzijdig: alsof alle mensenproblemen zijn opgelost en daarom alleen de dieren er nog maar toe doen. Ik deel de visie dat er nog veel verbeterd kan worden in het dierenwelzijn. Vooral het gesleep met dieren vind ik een van de misselijk makende uitwassen. Ze hebben dan ook zeker mijn sympathie, maar politiek is veel meer dan alleen dierenwelzijn. Ik heb het niet zo op single-issue partijen.

Lijst 17: De Liberaal Democratische Partij
Mijn oog viel ook op een gloednieuwe partij waar ik nog nog nooit aandacht aan had besteed: lijst 17 de Liberaal Democratische Partij.

Hun manifest en uitgangspunten vind ik zeer interessant. Ze presenteren zich als een sociaal liberale partij. Dat is eigenlijk wat ik zoek. Of de partij echt bij mij past, valt allemaal nog te bezien (dan zal ik eerst de tone of voice in debatten moeten horen), maar hun opmerkingen op de site over marktwerking, de managerscultuur en het afwijzen van stigmatisering van bevolkingsgroepen spreken mij zeer aan. Deze partij is voor mij in ieder geval beter dan de rest en heeft me voldoende overtuigd om op hen te stemmen in plaats van blanco.

© Harold Makaske 20 november 2006 to allow skipping count when used in template (ie to not count on click in main page) V1.4 - Fixed ignoe same IP count problem V1.5 - Added views_log table and changed plugin performance to check for unique visits by IP address. [gRegor] - Added option to set the length of time before re-counting hits from the same IP address (default: 2 hours) [gRegor] V1.6 - Added plugin menu to display all view count, w/ counter reset function - Delete view counter and log for deleted item V1.7 - use sql_query V1.8 - Admin page enhancement to preserve order and sort info v1.9 - Added item title in admin menu v1.9.1 - ignore draft in admin menu */ class NP_Views extends NucleusPlugin { // Note: I never run this plugin on 2.0 and have no idea whether it // wil work on <2.5. A user can simply chnage it to return // '200' and see if it works (likely will). I will gladly // change the min version to 2.0 and add the sql_table fix // upon such report. 8) function getMinNucleusVersion() { return '250'; } function getName() { return 'Views'; } function getAuthor() { return 'Rodrigo Moraes | Edmond Hui (admun) | gRegor Morrill'; } function getURL() { return 'http://www.tipos.com.br'; } function getVersion() { return '1.9.1'; } function getDescription() { return 'This plugin counts how many times an entry has been displayed.'; } function getEventList() { return array('PostAddItem', 'QuickMenu', 'PostDeleteItem'); } function supportsFeature($what) { switch($what) { case 'SqlTablePrefix': return 1; default: return 0; } } function getTableList() { return array( sql_table('plugin_views'), sql_table('plugin_views_log') ); } function install() { sql_query('CREATE TABLE IF NOT EXISTS ' . sql_table('plugin_views') . ' (id int(11) NOT NULL default "0", views int(15) NOT NULL default "0")'); sql_query('CREATE TABLE IF NOT EXISTS ' . sql_table('plugin_views_log') . ' (id int(11) NOT NULL auto_increment, ip varchar(20) NOT NULL default "", itemid int(11) NOT NULL default "0", viewtime varchar(32) NOT NULL default "", PRIMARY KEY (id) )'); $this->createOption('silent','Silent mode - No #Display shown in Item (still need to add the skinVar, for use with MostViewed)','yesno','no'); $this->createOption('deletetables','Delete this plugin\'s table and data when uninstalling?','yesno','yes'); $this->createOption('timespan', 'Hours to wait before re-counting visitors', 'text', '2'); } function unInstall() { if ($this->getOption('deletetables') == 'yes') { sql_query('DROP TABLE ' . sql_table('plugin_views') ); sql_query('DROP TABLE ' . sql_table('plugin_views_log') ); } } function hasAdminArea() { return 1; } /** * Adds an entry to the 'Quick Menu' on the Nucleus administration pages. * The entry will link to the commentcontrol admin page */ function event_QuickMenu(&$data) { global $member; if (!($member->isLoggedIn() && $member->isAdmin())) return; array_push( $data['options'], array( 'title' => 'View Counts', 'url' => $this->getAdminURL(), 'tooltip' => 'See the view count of all items' ) ); } function doTemplateVar(&$item, $input) { $itemid = $item->itemid; $remote_ip = ServerVar('REMOTE_ADDR'); $timespan = $this->getOption('timespan') * 3600; $now = time(); // get the current Views count $query = "SELECT views FROM " . sql_table('plugin_views') . " WHERE id=" . $itemid; $result = sql_query($query); $row = mysql_fetch_object($result); $views = intval($row->views); // Only do count updates if "skipcount" is not set if ($input != 'skipcount') { // This takes care of previous items if (mysql_num_rows($result) == 0) { $query = "INSERT INTO " . sql_table('plugin_views') . " (id, views) VALUES('$itemid', '1')"; sql_query($query); //$views = 0; } // end if // Check the views_log table to see if this IP has a viewtime for this item $query = "SELECT viewtime FROM " . sql_table('plugin_views_log') . " WHERE ip='" . $remote_ip . "' AND itemid=" . $itemid; $result = sql_query($query); // No views from this IP in the past X hours, so update the Views count if (mysql_num_rows($result) == 0) { $views++; $this->_updateViewsCount($itemid, $views); $this->_addViewsLog($itemid, $remote_ip, $now); } // end if else { $viewtime = mysql_result($result, 0, 'viewtime'); // It's been longer than X hours, so recount if (($now - $timespan) > $viewtime) { $views++; $this->_updateViewsCount($itemid, $views); $this->_updateViewsLog($itemid, $remote_ip, $now); } } // end else } // end if // Clear logs that are more than X hours old $time = $now - $timespan; $query = "DELETE FROM " . sql_table('plugin_views_log') . " WHERE (viewtime < $time)"; sql_query($query); if ($this->getOption('silent') == 'no') { echo $views; } // end if } function event_PostAddItem($data) { $itemid = $data['itemid']; $query = "INSERT INTO " . sql_table('plugin_views') . " (id, views) VALUES('$itemid', '0')"; sql_query($query); } function event_PostDeleteItem($data) { $itemid = $data['itemid']; $query = "DELETE FROM " . sql_table('plugin_views') . " WHERE id=". $itemid; sql_query($query); $query = "DELETE FROM " . sql_table('plugin_views_log') . " WHERE itemid=". $itemid; sql_query($query); } function _updateViewsCount($itemid, $views) { // update the Views table with the new count $query = "UPDATE " . sql_table('plugin_views') . " SET views='$views' WHERE id=$itemid"; sql_query($query); } function _addViewsLog($itemid, $ip, $time) { // add IP and itemid to views_log table so it won't be recounted for X hours $query = "INSERT INTO " . sql_table('plugin_views_log') . " (ip, itemid, viewtime) VALUES ('$ip', '$itemid', '$time')"; sql_query($query); } function _updateViewsLog($itemid, $ip, $time) { // update the views_log viewtime so it won't be recounted for X hours $query = "UPDATE " . sql_table('plugin_views_log') . " SET viewtime='$time' WHERE ip='$ip'"; sql_query($query); } function doAction($actionType) { global $CONF, $member; if (!($member->isLoggedIn() && $member->isAdmin())) return 'Sorry. not allowed'; if ($actionType == 'resetview'){ $id = requestVar('id'); $query = "UPDATE " . sql_table('plugin_views') . " SET views=0 WHERE id=$id"; sql_query($query); } else if ($actionType == 'resetallview') { $query = "UPDATE " . sql_table('plugin_views') . " SET views=0"; sql_query($query); } $order = requestVar('order'); $sort = requestVar('sort'); header('Location: ' . $CONF['PluginURL'] . 'views/index.php?sort=' . $sort . '&order='.$order); } } ?> - Hoofdstuk: 5. Losse gedachten