“Hack de overheid” afgelopen zaterdag was een unconference waar webnerds en ambtenaren ideeën konden uitwisselen hoe overheidsdata beter ontsloten en herbruikbaar kon worden gemaakt (wat uiteindelijk moet zorgen voor een transparanter overheid en betere dienstverlening).
De dag was een mix van presentaties en brainstorms in het Barcamp gedeelte en een “hacking track” waar developers in teampjes daadwerkelijk code zaten te kloppen. De presentaties waren heel gevarieerd: gaande van wat ministeries nu al aan open data deden, onafhankelijke iniatieven (zoals ikregeer.nl of jijendeoverheid.nl) tot meer wilde of activistische ideeën, zoals de WOBberator, de automatische WOB-verzoek generator 1. Je vindt uitgebreide verslagen bij James Burke en Ton Zijlstra.
Idee: “Afvalwijzer”
De normale huisvuilophaling is meestal één keer per week, dat is makkelijk te onthouden, maar papier, glas… vaak gebeuren die ophalingen op onregelmatige dagen. Elke gemeente heeft die informatie wel ergens diep verborgen op de eigen site staan, in de meest diverse formaten: soms in html, soms misschien de pdf versie van de papieren folder. Mijn bijna-buurman in Den Haag, Hanno Lans had voor zichzelf de Haagse Digitale Huisvuilkalender gescrapet2 en omgevormd naar een ical-feed. Misschien hebben nog andere mensen in Den Haag dat gedaan, en er zijn zeker nog mensen in de honderden andere Nederlandse gemeenten die op hetzelfde idee zijn gekomen en hun eigen gemeentesite gescrapet hebben.
Een beetje zonde natuurlijk dat iedereen dat voor zichzelf opnieuw moet gaan doen, dus had ik op HackDeOverheid ‘s ochtends het ideetje voorgesteld van een “Afvalwijzer” aggregatie site (werktitel, afvalwijzer.nl is helaas al ingenomen ). Opzet: je tikt postcode (en eventueel huisnr) in, en je krijgt een ical feed voor de verschillende afvalophalingen voor je woonplaats. Dat in de veronderstelling dat iemand voor jou al een gescreenscrapete icalfeed gebouwd heeft (eventueel parametriseerbaar op postcode en huisnr.) – of desnoods domweg in Google Calendar manueel de data heeft ingevoerd en gepubliceerd als ical feed. Als dat laatste niet het geval is, krijg je het vriendelijke verzoek om zelf voor je gemeente de ophaaldata in een herbruikbaar formaat aan te leveren, met een paar tips en voorbeelden hoe je dat kan doen (Dapper, Yahoo Pipes,…). Als je die dan submit op de afvalwijzer site, heb je weer een gemeente of een postcodegebied gedekt voor de afvalwijzer en dus iedereen geholpen die na jou komt .
Prijs!
Menno van der Sman, één van de Ruby on Rails mensen bij Wakoopa, vond het idee leuk en gaf zich op om zaterdagochtend mee te werken. Het grootste deel van de dag besteedden we allebei aan het volgen van andere sessies, en pas laat in de namiddag hebben we op een uurtje een extreem bare-bones conceptje in elkaar gezet op Heroku en een blogje dat we gingen gebruiken om te berichten over de vorderingen. We twijfelden nog of we het gingen presenteren omdat we wel heel erg schril afstaken tegen de andere deelnemers… maar tot onze eigen stomme verbazing wonnen we de geeky hoofdprijs van de dag (5 Star Wars figuurtjes, zie onderstaande video ).
Lessen
Ik vermoed dat, ook al was het nauwelijks uitgewerkt, het idee de jury aansprak omwille van de volgende redenen:
simpel
praktische nood die heel wat mensen herkennen
illustreert het belang van ter beschikking stellen van data in herbruikbare formaten (op die ical kan je trouwens verder bouwen om bv allerlei Widgets te bouwen…)
het is een voorbeeld hoe je data naar de burger toe kunt brengen (in zijn eigen vertrouwde omgeving, nl de Google/Outlook/desktop Calendar applicatie die zij/hij al gebruikt) in plaats van dat die burger bij de overheid langs moet gaan (dus op zoek moet gaan in een site die vaak vanuit de structuur van de overheid is opgebouwd, en niet vanuit de behoeften van de burger)
het lost het probleem van de honderden verschillende formaten die gemeentes nu gebruiken op door het te delegeren naar lokale nerds (en crowdsourcing is een hip idee tegenwoordig )
Gaan we verder het concept uitwerken? Nog geen idee… We kunnen het idee alvast wel indienen bij datzouhandigzijn.nl, de ideeënwedstrijd die BZK bij monde van Erwin Blom zaterdag heeft aangekondigd. Met enig geluk hebben we een stevige financiële incentive voor de uitvoering .
Hanno is zowat een professionele screenscraper met zijn bedrijf Datascape en zelf heb ik ook een paar hobbyprojectjes gedaan – zie ook mijn linkverzameling [↩]
t-Mobile had het leuke idee om hun belstatus gadget voor iGoogle (met je al verbruikte minuten en smsjes binnen je belquotum) om te vormen naar iPhone web app – zie onderstaand filmpje voor de stappen om het op je telefoon te krijgen:
“We realiseren ons dat het activeren van de iPhone web-app niet de meest gebruikersvriendelijke oplossing is. Echter, je hoeft het slechts 1 keer te doen en daarna niet meer. Kleine moeite voor informatie die jullie graag makkelijk willen kunnen inzien.”
Dat één keer doen is iets te optimistisch . Af en toe gaat de applicatie down, waarna blijkbaar serverside de sessies worden gecleard en je dus opnieuw moet inloggen (om opnieuw een identificerend cookie op je iPhone te zetten): zie screenshot rechts of probeer het zelf.
Vanavond lukte het me bovendien met de beste wil van de wereld niet meer om in te loggen: hoe vaak ik ook klikte op de login button op de home page, Safari op mijn iPhone wou geen login schermpje tonen1.
Inloggen met Firefox vanop de desktop lukte wel, wat me tot het volgende probleem bracht: hoe krijg ik nu een cookie vanop mijn desktop browser naar die iPhone?
Hier het stappenplan, ongetwijfeld toepasbaar in andere situaties waar je een surfsessie van je desktop naar je iPhone wil overbrengen (al kan ik er me nu eigenlijk geen voorstellen… ):
Ga het cookie uitlezen in Firefox Dus via Tools… Options… Privacy… Show Cookies. Zoek bij de t-mobile.nl cookies en vind de waarde van “iphonesubscribercallstatusgadget_cookie” (bij “Content” in het screenshot). Selecteer en kopieer (alle 224 karakters).
Stuur jezelf een mail met de gadget link en een stukje javascript In https://www.t-mobile.nl/Gadgets/IPhoneCallStatusGadget.aspx#javascript:document.cookie=%22iphonesubscribercallstatusgadget_cookie=XXXXX%22 vervang je “”XXX” door je net gekopieerde cookie-waarde. Open nu deze link met Safari op je iPhone. We zitten nu op de juiste pagina, maar willen nog het stukje javascript:document.cookie=”key=value” op deze pagina laten uitvoeren. Op een desktop browser kan je in zo’n situatie het javascript-fragment in de address bar van je browser copy-pasten… maar copy-pasten lukt niet op een iPhone. Vandaar dat we het javascript al hebben meegestuurd in de url achter het “#”-teken.
De omweg van de bookmarklet Het merkwaardige aan de iPhone-versie van Safari is dat als je nu in de address bar alles vóór “javascript”, dus het volledige adres inclusief spoorwegteken gaat weghalen en op “Ga” klikt, het resterend script toch niet wordt uitgevoerd (hij zet er opnieuw een http://www… voor) De truuk bestaat erin het script als bookmark(let) op te slaan en dan uit te voeren. Dus:
Klik op de “+”, “Add Bookmark” en “Save”
Ga terug naar je bookmarks via het boek-icoontje, “Edit”, selecteer “Belstatus”, haal alles weg voor “#”, “Return” en “Done”
Klik de geëditeerde bookmark “Belstatus” aan
Refresh de Belstatuspagina et voilà, je hebt de gebruikerssessie vanop je desktop gekaapt zonder hoeven in te loggen!
Inspiratie voor het javascript-transport achter de anchor in een url kwam van Kent Brewster.
ondertussen lukt het overigens opnieuw, geen idee of het aan mijn toestel of aan de site lag [↩]
Kreeg je als (Nederlands) T-Mobile abonnee een factuur voor buitenlands roamen aan 10€/megabyte (ofte 8 eurocent/10KB zonder BTW)?
Eind oktober belde ik met de helpdesk om aan te geven dat de tarifering niet klopte met de 2€/megabyte die in de tarieven (pdf, 3de blz). Het probleem bestond eruit dat bij de activering van het iPhone abonnement blijkbaar niet het bijhorende tarifering voor het buitenland “geactiveerd” werd, maar de standaardtarifering voor data roaming bij gewone T-mobile abonnementen1.
Het probleem is niet uniek en sleept al lang aan: op de iPhone blog staat dezelfde klacht van een gebruiker uit augustus vorig jaar (net na de lancering dus) en een kennis kreeg pas nog een gepeperde februari-afrekening die 5 maal te hoog was.
Mocht je hetzelfde zijn overkomen: bel de helpdesk. Uiteindelijk wordt alles teruggestort, onder de vermelding “Correctie internet buitenland (ref nr 120)”:
Noot: dit is geen T-Mobile bashing… ik heb geen ervaring met andere Nederlandse operatoren maar ken al minstens één verhaal bij Vodafone waar met een “zorgeloos internet” flat fee abonnement plots 450€ werd van de rekening gehaald – ook die fout werd gelukkig door de helpdesk verholpen. Lang leve Nawal Z. van T-Mobile en de alle anderen die dagelijks met engelengeduld deze problemen oppakken!
die overigens – niet zo eenvoudig – hier terug te vinden was – de tarieven zijn ondertussen evenwel veranderd [↩]
Fill out the email address where you want to get your enhanced Twitter mails:
Get your Twimailer.com email
Put a forwarding rule on your incoming Twitter follower messages so they will be forwarded your Twimailer.com email address
If necessary, put an email filter rule on your inbox to skip your default Twitter follower messages
Done
Do NOT, as Twimailer.com suggests, change the email addres in your Twitter account by your Twimailer.com account! That comes down to handing over your Twitter account to the owner of the Twimailer.com domain2.
hey, looks like blogging has become a subordinate medium to Twitter? [↩]
who _could_ stop mail forwarding and have a password reset link mailed to himself. Or, other scenario, your account could become inaccessible if you need to reset your pswd and Twimailer has stopped working [↩]
Het Dendermondse gerecht kwam een bende oplichters op het spoor, die gebruik maakten van e-mailadressen van Yahoo. De bendeleden gebruikten bijnamen, waardoor ze niet ontmaskerd konden worden. Het parket vroeg de identiteitsgegevens bij Yahoo op, maar het bedrijf wilde niet ingaan op het verzoek.
Yahoo staat erop dat de identificatiegegevens opgevraagd worden via de Amerikaanse diensten, omdat Yahoo Amerikaans is. "Maar wij oordelen dat Yahoo evengoed Belgisch is, als ze ook in dit land haar diensten aanbiedt", zegt procureur Jan Kerkhofs. "Dus als het parket gegevens opvraagt, moeten ze die geven. Bij Google en Microsoft bijvoorbeeld is dat geen probleem."
Dit soort discussies over toepasselijk recht bij internetdiensten is altijd interessant, en wordt op dit moment op verschillende fronten uitgevochten.
Voor het onderzoek zelf hebben de “identificatiegegevens” vermoedelijk weinig nut. Als iemand een Yahoo account aanmaakt om mensen op te lichten, dan mag je ervan uitgaan dat die niet zijn echte naam en adres gaat opgeven (Yahoo vraagt een hele resem persoonsgegevens bij het aanmaken van het account). Het enige nuttige element dat je bij Yahoo kan opvragen is het IP-adres vanwaar het account is aangemaakt en verder gebruikt (waarna je naar de provider kunt stappen om uit te vissen welke abonnee erachter zit – als de oplichters het echt handig hebben gespeeld, hebben ze konsekwent vanuit een internetcafé of achter een proxy gewerkt).
In tegenstelling tot wat je misschien verwacht, wordt je ip-adres wél meegestuurd bij webmaildiensten als Yahoo Mail (via een “Received: from [94.157.180.191] by web56108.mail.re3.yahoo.com via HTTP;” – type header) of Hotmail (via een “X-Originating-IP: [94.157.180.191]” header). Gmail is hier de uitzondering en stuurt geen IP-adres mee als je hun webmail gebruikt, maar dan toch weer wel als je hun smtp-server gebruikt met een niet-webmail client, zoals de iPhone of Thunderbird (zie comments bij deze posting). Overigens geeft Google gebruikte ip-adressen wél vrij op vraag van een Europese (hier Nederlandse) rechter.
Over de ip-adressen bij verzending van de oplichtingsmails moet het gerecht dus al beschikken – eventueel zouden ze bij Yahoo kunnen opvragen of gebruikers achter de accounts ook nog vanop andere IP-adressen opereerden. Maar de kans bestaat ook dat het de Dendermondse rechtbank hier om een principezaak ging, eerder dan om het praktisch nut voor het onderzoek.
The EveryBlock source code Both the presentation layer as the scraping part...
"EveryBlock.com is an experimental news Web site that provides information at a "microlocal" level — by neighborhood or city block. It was funded by a grant from Knight Foundation, which requires the site's backend code to be open-sourced. Here is the code."
[Dutch] De techniek achter de Open Stack Goed geschreven samenvatting hoe OpenID, XRDS, Oauth, en apis als PortableContacts en OpenSocial samenwerken om gedistribueerd social networking ecosysteem te bouwen.
tweetbe.at Treat Twitter #hashtags like an IRC channel.
Project by Alex Bosworth
See http://tweetbe.at/#cot and http://tweetbe.at/#hackdeoverheid as examples
Uses Twitter Oauth to post.
Stack Overflow Joel Spolsky and Jeff Atwood's developer community site.
ActiveState Code Code snippet sharing site.
Apparently Activestate is popular in the Python community...
WordPress › Blog » Themes are GPL, too Matt Mullenweg on the question whether Wordpress themes are a derivative work (thus GPL) php+html mix is derivative, thus GPLed, css + images are not.
Drupal has a similar point of view: http://drupal.org/node/272652 and so has Joomla, http://www.joomla.org/index.php?option=com_content&task=view&id=3510&Itemid=74 (although they say that javascript is data too)
How Open Data even makes Garbage collection sexier, easier and cheaper | eaves.ca "Garbage reminder app:
* Simply punch in your address and find out your garbage zone (no more guessing if you live on the border of a zone)
* Get an email or SMS notification 15 minutes, 1 hour, 12 hours (whenever!) before pick up
* Download the garbage schedule into your calendar using XML, HTML or ICAL"
We actually had exactly the same idea at Amsterdam barcamp/govcamp last month, and extended the idea with crowdsourcing the screenscraping job for every Dutch municipality/city. See http://www.lifesized.net/2009/06/16/hackdeoverheid-a-geeks-meet-government-event-held-in-amsterdam-june-2009/ and http://www.zylstra.org/blog/archives/2009/06/hack_the_govern.html and my own writeup in Dutch: http://weblog.vanhecke.info/hackdeoverheid/