Vandaag liep ik tegen een interessant stukje lichte frustratie op. Al jaren ben ik vooral bezig met postgresql/postgis. Een database die me zeer goed bevalt. Niet omdat het de beste/snelste/veiligste/stabielste database is, maar gewoon, omdat ik er fijn mee kan werken.

Case 1: geometry naar wkt

Vandaag moest ik weer met Oracle aan de slag. Vanuit een Java webservice haal ik gegevens uit Oracle die vervolgens via Rest worden ontsloten. Dan maar even zelf queries bakken en de geometrie omzetten naar WKT (Well known text) zodat ik niet allerlei bibliotheken moet downloaden voor java, maar de data gewoon kan benaderen als tekst.

Oracle:

select SDO_GEOMETRY( 
    o.geometry.sdo_gtype, 
    NULL,
    o.geometry.sdo_point,
    o.geometry.sdo_elem_info,
    o.geometry.sdo_ordinates).get_wkt() 
from onderdelen o;

PostGIS:

select asWKT(geometry) from onderdelen;

Case 2: md5 hash

Mijn database gebruikt wachtwoorden uit andere systemen. Omdat ik geen veiligheids issue wil introduceren, wilde ik proberen de wachtwoorden versleuteld op te slaan. De meest eenvoudige manier hiervoor is in mySQL en Postgresql md5. Ik wil dus met sql een md5 hash genereren voor een wachtwoord zodat wachtwoorden niet zichtbaar in een database hoeven te worden opgeslagen

Oracle:

create or replace function md5(input varchar2) 
  return sys.dbms_obfuscation_toolkit.varchar2_checksum as 
    begin 
        return lower(
            rawtohex(utl_raw.cast_to_raw(
                sys.dbms_obfuscation_toolkit.md5( 
                  input_string => input 
                )
            ))
        ); 
    end;

select md5('mijnwachtwoord') from dual;

PostGres:

select md5('mijnwachtwoord);

Met de pet op van SQL ontwikkelaar is het duidelijk; de queries van postgresql zijn intuitief en lijken op echte mensentaal. De queries van Oracle zijn onnodig complex, ontbreken soms en moeten dan via functies worden herbouwd en zijn absoluut niet in een oogopslag door een leek te lezen. Wanneer ik het aantal uren bij elkaar optel dat ik per jaar door de eenvoudige SQL van Postgresql bespaar met zoeken en prutsen, dan kan ik zelf al snel concluderen dat postgresql voor mij op dit vlak de absolute winnaar is.

Sinds 2005 ben ik actief op het gebied van Open Source. Ik heb in 7 jaar veel verschillende communities gezien. Soms waren ze te klein, soms bleek er een kleine dictatuur te heersen. In sommige communities voel ik mij al heel lang uitermate thuis.

Ik vraag mij af waarom. Wat maakt dat ik me thuisvoel in een community? En waarom is het dat sommige communities juist benauwen, soms zelfs tot op de dag van vandaag?

De communities waar ik me in thuis voel hebben een aantal eigenschappen die me bevallen:

  • Ze hebben bestaansrecht omdat de communities zijn gebouwd rondom goede open source producten
  • De toegang is vrij. Je bent vrij om te komen, maar ook om te gaan
  • Iedereen heeft recht op zijn eigen mening. Het opdringen van jouw mening aan anderen wordt niet gewaardeerd
  • Je kunt actief bijdragen op verschillende niveau’s, zonder dat je daar toestemming voor nodig hebt. Bijvoorbeeld door te vertalen, te testen, documentatie te schrijven of simpelweg door mensen te bedanken voor de mooie software
  • Discriminatie (ook op basis van technische achtergrond) wordt niet getolereerd.

Communities die me meer en meer tegen staan hebben eigenschappen die ik ook kan benoemen en die ik gek genoeg ook herken. Het zijn de eigenschappen van een commune!

“Een commune (Latijn voor ‘gemeenschap(pelijk’) is een leef- en/of woongemeenschap waar alles gezamenlijk wordt gedaan. Alle of bijna alle (materiële) bezittingen zijn van de gehele gemeenschap. De bedoeling is dat door de individuele leden van de gemeenschap alleen gebruikt wordt wat nodig is.”

Sommige communities zijn extreem gefocused op “misbruik”. Leden speuren het internet af op zoek naar sporen van gebruik van “hun” open source. Als dit gebruik niet voorzien is van b.v. bronvermelding, licentie of niet direct is gekoppeld aan leden van de community, dan wordt soms in niet mis te verstane woorden duidelijk gemaakt dat het zo niet kan.

Er zijn communities waar het lijkt alsof er een geloof wordt verkondigd. Niets is zo goed als onze leefwijze, ons product is het beste, als je niet volgens onze (vaak ongeschreven) regels acteert, dan willen we je hier niet hebben. Ondanks dat het hier open communities betreft, is de sfeer vaak erg gesloten.

Ik pas niet in een commune. Ik ben teveel gesteld op mijn vrijheid en geloof niet in de absolute waarheid. Begrijp me niet verkeerd, ik bedank graag communities die veel voor me betekenen en draag dolgraag mijn steentje bij. Maar er moeten geen verwachtingen ontstaan, tenzij ik die zelf bewust wek.

Een paragraaf van wikipedia over commune http://nl.wikipedia.org/wiki/Commune vind ik erg treffend:

“In de praktijk gingen deze communes meestal al snel ten gronde door onderlinge ruzies over de te volgen koers, interne gezagsverhoudingen en slechte voorbereiding. Vaak probeerde een kleine groep of enkeling alle macht naar zich toe te trekken en soms groeide de oorspronkelijke commune zo uit tot een dictatoriaal geregeerde sekte. Van de oorspronkelijke communes waren er maar enkele die levensvatbaar bleken. Om echt te kunnen gedijen hebben deze ‘overlevers’ meestal toch enkele principes van de ‘burgermaatschappij’, zoals privébezit, weer overgenomen.”

Dit doemscenario uit de jaren ’60 en ’70 hangt in mijn optiek ook een aantal open source communities uit de huidige tijd boven het hoofd. Ook al gaat het mij in sommige gevallen aan het hart, zodra ik de signalen herken sla ik de deur achter me dicht.

Vorige week zijn we begonnen om de Nederlandstalige OSGeo afdeling nieuw leven in te blazen. Zelf vind ik het erg leuk om te zien hoe een zeer diverse groep mensen elkaar begint te vinden!

Als “veteraan” op het gebied van communities, met een aantal jaar ervaring bij openstreetmap en OSGeo heb ik wisselende ervaringen met de verschillende communicatiekanalen. De meeste communities hebben wel een mailing-list en een irc kanaal. Toch vond ik het belangrijk om te onderzoeken of het mogelijk is om meerdere kanalen in te zetten. Zo wilde ik ook graag twitter betrekken en zorgen dat irc toegankelijker wordt.

Voor irc was het relatief eenvoudig. freenode biedt een web interface aan webchat.freenode.net waarmee mensen makkelijk in een meeting kunnen binnenkomen. Van de mailinglijst verwachtte ik een hogere drempel omdat je hierbij een aantal bevestigingen per mail moet sturen alvorens je lid bent. Daarna loop je het risico op een mailbox overstroming. Desondanks lijken de nieuwelingen ook hier aardig uit de voeten te kunnen.

Ik heb gezorgd voor een permanente beheerder op het #osgeonl kanaal op irc. Deze beheerder bevat een aantal zeer relevante componenten:

  • Het irc kanaal is altijd bezet. Hierdoor wordt het lastig om het kanaal te kapen
  • Er worden elke drie minuten logs weggeschreven van de activiteit in het kanaal. Dit maakt het mogelijk voor mensen die niet actief deelnemen om te zien wat er zoal wordt gezegd. Zelf vind ik dit erg belangrijk. Het verlaagt de drempel van deelnemen. Je kunt immers altijd eerst kijken of je je ergens kan thuisvoelen voordat je actief gaat deelnemen. Anoniem en zonder verwachtingen
  • Dankzij de schitterende module meetbot kan de permanente beheerder ook worden ingezet om vergaderingen te stroomlijnen
  • De beheerder kan worden gebruikt om een bericht door te zetten naar twitter, naar @osgeonl. Hiermee kun je eenvoudig en zonder vensters te wisselen tweeten tijdens de vergadering. Hiervoor gebruik ik de supybot-twitter module die na wat aanpassing in staat is om berichten namens mij te sturen.

Ik zoek rustig verder naar manieren om twitter, de mailinglijst, irc en de wiki pagina’s te combineren. Als het lukt om deze allemaal te koppelen, dan zijn straks leden van de community altijd op de hoogte van de laatste ontwikkelingen op de manier die hen het beste past. Hiervoor wil ik de volgende integraties nog aanbrengen:

  • Een bericht laten oppoppen op het irc kanaal en op twitter als er een mail verschijnt in de mailinglijst
  • Vergader-verslagen vanuit irc een duidelijkere structuur geven
  • Vergader-verslagen vanuit irc direct pushen naar een wiki
  • Mail sturen aan de mailinglijst wanneer een vergadering is afgelopen
  • Tweeten wanneer een vergadering is afgelopen met een verwijzing naar het verslag

Leuk om zo bezig te zijn! Ik hoop dat de osgeonl community actief blijft. Dat motiveert mij om te zoeken naar nog meer integratie!

Donderdag was ik op de GeoInfoXchange (GIN Congres) getuige van een in mijn ogen vreemde gebeurtenis.

Omdat ik als open source GIS fanaat speciaal was gekomen voor de keynotes van achtereenvolgens Athina (OGC) en Arnulf (OSGeo) nam ik om 16:00 plaats in een slechts mondjesmaat gevulde zaal, op zich niet verwonderlijk, het was immers borreltijd, toch vond ik het een lichte blamage voor deze sprekers die speciaal voor ons naar Nederland waren gekomen.

Jan-Willem van Eck deed de introductie en kondigde de presentatie van Marcel Reuvers aan. Marcel bracht voor mij niets nieuws. Wel besloot ik twee prikkelende vragen te stellen (waar ik het antwoord wel op wist) ter lering en vermaak van de zaal:

“Marcel, kun je stellen dat imoov mislukt is?”

“Eh, ja eigenlijk wel, imoov is alleen geslaagd voor de brandweer, politie en ghor zijn niet voldoende aangehaakt”

“Marcel, vind je dat PDOK echt geslaagd is?”

“Vanuit welk perspectief?”

“Vanuit het perspectief van de burger?”

“… PDOK wordt al door veel partners gebruikt, ook in hun applicaties naar de burger toe”

Het geeft je te denken. PDOK is betaald met ons belastinggeld, toch kunnen we er geen gebruik van maken indien dit niet direct een doel dient van een of meer van de PDOK partners, zou dit niet bijten met de wet openbaarheid bestuur? Maar goed, alles heeft tijd nodig en wellicht is geduld een schone zaak. Ik vind ook dat de vers opgetuigde beheerorganisatie de kans moet krijgen om zich te bewijzen.

De presentatie van Athina was helder. Niet nieuw, niet innoverend, maar wel helder. Het is duidelijk dat het OGC goed georganiseerd is. Het belang van standaarden heeft zich bewezen en is mede dankzij de OGC bij alle GIS deskundigen aanwezig in het (onder)bewustzijn.

Arnulf was, ondanks het feit dat zijn verschijning in pak voor mij even wennen was, ouderwets scherp en helder. Hij legde nogmaals duidelijk uit wat OSGeo is, wat het niet is, wie er allemaal gebruik maken van OSGeo projecten (onder andere ESRI) en dat open source wel degelijk een verdienmodel kent. Een kreet bleef me bij, in een van de eerste slides gaf Arnulf aan dat open source niet tot “vendor only benefits” leidt. Nou ving ik recentelijk op dat ondanks de crisis de jaarlijkse licentiekosten voor ESRI software gewoon weer met 2.7% (omhoog uiteraard) zijn geindexeerd. Met zoveel mooie open source componenten onder de motorkap zou je dat niet direct verwachten! Waarschijnlijk gaat “vendor only benefits” soms wel op. Desondanks ben ik wel blij dat ESRI een aantal fantastische open source componenten gebruikt. Wellicht dat ze nog moeten leren hoe ze daar op de juiste manier mee om moeten gaan.

Arnulf kondigde aan dat na zijn presentatie de kick-off zou plaatsvinden van het “Dutch OSGeo Chapter”. In tegenstelling tot de OpenGeoGroep waar duidelijk het commercieel belang een prominente rol speelt, is de bedoeling van een chapter om gelijkgestemden samen te brengen. Een ontmoetingsplek te creëeren waar men met elkaar van gedachten kan wisselen. Daar heb ik nu echt zin in! Ik kijk uit naar een aantal leuke ontmoetingen in 2012.

Nadat Arnulf het podium verliet kropen de geinteresseerden in het OSGeo Chapter direct bij elkaar. Op de achtergrond hoorde ik Jan-Willem zeggen dat dit zijn laatste grote optreden was als voorzitter van GIN… Wacht eens? Werd dat nu echt zo tussen neus en lippen gezegd? Waren dit niet de key-notes van de conferentie, de afsluiter? De kers op de taart?

Waarom was er niemand aanwezig van GIN (leden en bestuur) om Jan-Willem even in het zonnetje te zetten? En te bedanken voor al zijn inzet? Even had ik een licht gevoel van onbehagen. Ik ben het vaak oneens met Jan-Willem. Soms heb ik moeite met het feit dat hij prikkels afgeeft die uitlokken tot discussie en dan de deur dicht gooit. Toch vond en vind ik Jan-Willem een prikkelende tegenstander. En ook vind ik dat niemand, maar dan ook echt niemand die zich jaren heeft ingezet het verdient om op deze manier via de coulissen het toneel te verlaten.

De zaal had vol kunnen zitten. Leden, GIN bestuur, standhouders en andere bezoekers. Ze hadden allemaal even de tijd kunnen nemen om Arnulf en Athina aan te horen. En daarna hadden we met zijn allen het glas kunnen heffen op Jan-Willem!

Het congres is als een nachtkaars uitgegaan. Ook al hebben we met een leuke groep de kaars voor het Dutch OSGeo Chapter opnieuw aangestoken!

Jan-Willem, langs deze onsympathieke weg, het ga je goed. Ik hoop nog regelmatig, op de bekende sportieve manier, met jou een robbertje verbaal te knokken.

This is a stripped version of ogr2osm. It currently simply takes a filename and converts it to a .osm file containing nodes and ways

Why this simplicity?
Because it is almost impossible to maintain the complexity and validate stuff anywhere else then in one of the (pretty well maintained) OSM-editors
The goal of this script is to create spaghetti that can be imported into one of the editors where it can be further processed and checked.
Thanks to Iván Sánchez Ortega, 2009 for the initial stuff! Your beer will be waiting on the first time we meet.

requirements: osgeo/ogr python bindings

Check: https://github.com/milovanderlinden/ogr2osm-light for the latest version