Netsensei

Much Ado About Nothing

Data

Student af

Ik ben geslaagd voor de Microcredential Knowledge Graphs! Ik behaalde een mooie 15/20 waar ik meer dan tevreden over ben. Dit was het eerste academiejaar waarin deze cursus werd gegeven, dus het was voor iedereen wat zoeken maar inhoudelijk heb ik er alvast heel wat aan over gehouden. In ’t kort, deze onderwerpen kwamen aan bod:

  • Legal frameworks relevant to data sharing
  • Knowledge Representation and the Resource Description Framework (RDF)
  • Publishing data and reusing IRIs
  • Querying Web Data
  • Ontology engineering and reasoning
  • Discovery and trust (the SOLID protocol)
  • Validating RDF

De cursus is een inleiding tot het hele kennisdomein waarin je als student een 360 graden perspectief krijgt. Een pak onderdelen vormen onderzoeksdomeinen op zichzelf en waren onmogelijk uit te diepen in de beschikbare lestijd. Dat neemt niet weg dat je een zeer breed en actueel beeld krijgt.

Aanvullend moesten we ook een onderwerp kiezen (of zelf voorstellen) dat we, na zelfstudie, in een peer teaching lecture moesten voorstellen aan onze medestudenten. Dat liet dan weer toe om iets dieper in te gaan op specifieke onderwerpen. Daarnaast kregen we ook zes keer een wekelijkse programmeer oefening mee naar huis. De ene was al wat uitdagender dan de andere.

Tot slot kregen we ook een examen dat uit een schriftelijk gedeelte (open boek) en een mondeling gedeelte bestond. We werden op voorhand gewaarschuwd om ons voor te bereiden en dat was zeker geen overbodige raad. Ik heb in de weken voordien toch best wat tijd ’s avonds en in het weekend aan mijn bureau door gebracht.

Ook interesse? Tik me gerust virtueel aan als je wat meer over mijn ervaring wil horen.

Een nieuwe job

Dat het al meer dan een maand geleden is dat ik een nieuw professioneel hoofdstuk mocht aansnijden! Begin september startte ik als Medewerker Data Operations voor de Universiteitsbibliotheek Gent.

De Boekentoren, dus.

Dit is een zuiver technische rol. Ik mag dagelijks duiken in technische uitdagingen wat betreft het verzamelen, beheren en delen van data in de meest uiteenlopende vormen en soorten. Digitale archivering, modellering, ontsluiting, uitwisseling,… you name it.

Dat betekent ook dat ik een hoofdstuk afsluit. Sinds februari 2015 was ik Data Conservator voor Vlaamse Kunstcollectie vzw. Die rol had een gelijkaardige invulling, maar dan binnen het museale domein. Het grote verschil? Schaal. De universiteit is een organisatie met uitdagingen en oplossingen van een heel andere ordegrootte en complexiteit.

In tegenstelling tot mijn vorige job is dit een zuivere engineering job. Misschien lijkt dat een vreemde keuze. Een groeipad in een loopbaan gaat veelal uit van de veronderstelling dat je start in een louter operationele of uitvoerende rol waaruit je gaandeweg, en welhaast onvermijdelijk, naar management door groeit. De harde waarheid is dat het om fundamenteel verschillende rollen gaat die specifieke kennis, skills en ervaring eisen. Een transitie van het ene in het andere hoort dan ook een weloverworgen beslissing te zijn. Charity Majors van honeycomb.io schreef in januari over die keuze een blogpost getiteld Engineering Management: The Pendulum or The Ladder. Dat was een tekst die bij mij wel wat bellen deed rinkelen en mij aan het nadenken zette.

Persoonlijke overwegingen daar gelaten, wilde het toeval dat de positie in de bibliotheek halfweg het voorjaar open werd verklaard. Het was soms nagelbijten tijdens het selectieproces. Ik kreeg begin juli uiteindelijk de definitieve bevestiging.

Ondertussen zijn we enkele weken ver in dit nieuwe hoofdstuk. Ik heb – vrij letterlijk zelfs – een vliegende start genomen. De komende weken en maanden brengen alvast heel wat interessante, nieuwe uitdagingen.

ELAG 2018 in Prague

I’ll be travelling to Prague in 10 days to attend the ELAG 2018 conference. ELAG is the European Library Automation Group. It’s a network of European library and IT specialists. I’ll be presenting a talk on Tuesday aptly titled “The Datahub: blending/deblending museum data“.

Since 2015, my job largely revolves around building reusable tools and managing infrastructure that allows aggregation and sharing of data stored in the collection registration systems of museums. The goal is to unlock knowledge stored in those databases and allow new ways of reusing that knowledge in the digital space for the benefit of larger audiences and the museums themselves. My job isn’t exclusively technical oriented, it also extends to delivering consultancy, sharing knowledge and experiences within museums and between museum workers.

The field of museum informatics is fairly new and still emerging. It’s a subfield of cultural informatics and related to library science and archival informatics. It’s a interdisciplinary field at the intersection of culture, information sciences and digital technology. There’s a lot to explore in terms of knowledge and practices. The challenge is to keep pushing development in this field within often well established contexts.

Today, I’m brainstorming the slides of my presentation. My goal is to push beyond a bare technical description of the project itself and explore what we actually learned in these past few years. My mission is finding the right mix between the technical side and the human side of the story. And, of course, wrapping it all in an engaging, relatable narrative.

Mijn job als: data conservator

Welke job doe je? En wat houdt die precies in?

Ik werk sinds twee jaar voor de Vlaamse Kunstcollectie. Ik werk dus voor de Vlaamse musea voor Schone Kunsten. Een data conservator is een digitale expert die binnen de muren van de musea opereert. Het betekent dat ik adviezen lever, digitale projecten trek of begeleid, directe ondersteuning bied aan mijn collega’s voor hun digitale vragen en bij houd wat er op (inter)nationaal vlak beweegt. Inhoudelijk schipper ik tussen harde technische vraagstukken, informatie architectuur, auteursrecht en naburige rechten, aanbestedingen, on line communicatie en project management. Heel wat dus eigenlijk feitelijk. En dat maakt het meer dan boeiend.

In de titel steekt het woord ‘data’. De ‘grondstof’ waarmee ik werk zijn gegevens die musea registreren over hun collecties. Van elk object houdt een museum een gedetailleerde digitale steekkaart bij. Daarin vind je niet alleen inhoudelijke aspecten, maar ook administratieve of materiaal-technische details bij. Denk maar aan restauraties, tentoonstellingen, bruiklenen,…  Natuurlijk betekent dat ook dat musea allerlei software inzetten om die digitale informatie te beheren en operationeel in te zetten. Mijn job bestaat er in om mee uit te werken hoe dat op een efficiënte wijze kan gebeuren.

Het grootste deel van mijn tijd gaat naar de bouw van een digitaal platform om registratiegegevens makkelijker te verzamelen en geautomatiseerd uit te wisselen. Een zeer interessant project want er komt nogal wat creatief denkwerk bij kijken. Het is niet het enige project waar ik in betrokken ben. Een ander is de publicatie van kunsthistorische gegevens als Linked Open Data op Wikidata. De gestructureerde basisregistratie van 30.000 kunstwerken werd on line geplaatst. In het voorbije jaar lanceerden we ook een nieuwe website over Abstract Modernisme. Je vindt er 774 abstract moderne werken van 43 artiesten bewaard in 9 instellingen terug.

Zoom je uit, dan vind je mij terug in het werkveld van de Digital Humanities. Dit veld past nieuwe digitale methodologieën toe om kennis uit verschillende domeinen – kunstgeschiedenis, geschiedenis, literatuur, sociale studies, archeologie, antropologie,… – te kruisen met elkaar. Zo kan men tot nieuwe inzichten komen, of erfgoed op nieuwe manieren ontsluiten voor een breed publiek. Het is een vrij jong veld en de digitale revolutie zorgt er dan ook voor dat er heel wat beweegt.

En hoe zit het bij jullie? Welke job doe jij?

Workshop Wikidata

Iedereen kent Wikipedia. Wel, dat is niet het enige project van de Wikimedia Foundation. Ze hebben met Wikidata ook een grote, open kennisbank boordevol gestructureerde data. Vrijdag had ik een hele dag workshop over die kennisbank. Vandaag nog wat verder experimenteren met al die data.

Kijk! Franse kazen geëxtraheerd (167 items) en op basis van streek gepind op Google Maps.

15/16

Wat een jaar, zeg! Ik heb niet stil gezeten in 2015, een greep uit de highlights:

  • Ik ben data conservator geworden voor de Vlaamse Kunstcollectie. Bevalt het me? Zeer zeker! De digital humanities zijn een zeer interessant werkveld. Ik ben nog maar een jaar aan de slag en Rome werd ook niet op een dag gebouwd.
  • Sukkelde ik op 31 december 2014 met een kapotte schouder, klim ik een jaar later terug quasi pijnloos. Het was een jaar fysiek en mentaal afzien, maar me laten opereren is duidelijk de juiste beslissing gebleken.
  • Hoewel ik niet meer voltijds programmeer, was het een jaar waar ik meer dan ooit nieuwe dingen leerde en door zette in eigen projecten. Ik bouwde een software bibliotheek voor Europeana, ik werkte mee aan de dit project, ik dook dieper in Javascript en bouwde onder andere Spotter, ik bouwde een app voor mezelf in Laravel, ik leerde bij over (de)serialization, REST, API’s en nog zoveel meer.
  • Ik las heel wat boeken: geen massa, wel een fijne selectie. The Martian, Ready Player One en na Conn Igguldens’ Emperor reeks zit ik halfweg zijn War of the Roses. De Kindle Paperwhite die ik in 2014 kocht, is een geweldige aanschaf gebleken.
  • In juli trok ik naar voor het eerst naar Mainsquare in Arras waar we genoten van Muse. In oktober zagen we dan weer Editors in een gevuld Paleis 12.

En 2016?

Mijn schouder (her)leerde me twee belangrijke lessen.

De eerste: breek geen series. Het is maar door zo regelmatig mogelijk te beginnen oefenen dat ik terug kan klimmen. Dat oefenen gaat natuurlijk met goede en slechte dagen, maar dat doet er niet toe zolang ik zo consistent mogelijk kan blijven. Dezelfde les ben ik in de zomer ook beginnen toepassen op programmeren: elke morgen werk ik op de trein aan een stuk code. Die manier van werken, no matter what, heeft een naam: de Seinfeld Strategy, naar Jerry Seinfeld.

De tweede les: focus. In het voorjaar moest ik even alles op halt zetten om aan mijn eigen lijf te werken. Zo’n time out betekende keuzes maken en plannen in de koelkast plaatsen. En eigenlijk bleek dat allemaal zo erg nog niet. Er zijn maar zoveel uren in een dag. Het komt er op aan wat je met die tijd doet. DHH schreef daar een mooie blogpost over. Bovenal benadrukt hij dat er zelfs dan dagen zullen zijn dat je totaal onproductief bent, en eigenlijk is dat zo erg niet want iedereen heeft dat. Het is kwestie om daar gewoon niet te lang bij stil te staan.

Met die twee wijze lessen wil ik 2016 van start gaan.

Als ik dan toch één doelstelling wil voorop stellen, dan deze: mijn blog een reboot geven. Even in de databank duiken en het publicatie volume van de voorbije vijf jaar in een beknopte statistiek gooien:

(2010) 53 posts, (2011) 139 posts, (2012) 67 posts, (2013) 45 posts, (2014) 24 posts, (2015) 20 posts.

Tijd dus om terug wat meer te schrijven. Fuck het idee dat blogs dood zouden zijn. Als ik niet voor een ander schrijf, dan in de eerste plaats voor mezelf. Om te schaven aan mijn eigen schrijfkunst. Omdat alle profielen op sociale media platformen ten spijt, mijn on line identiteit uiteindelijk hier ligt. Omdat dit mijn langst lopende, persoonlijke project is.

In ieder geval, met dat voornemen, wil ik er vooral een rijk 2016 van maken en de rest nemen zoals het komt.

WP Mollom and WP OpenID

These two weren’t the best friends over the past couple of weeks. Since someone notified me they weren’t compatible, it took some time to figure out what was going wrong. My initial suspects was an icky way of dealing with the action hooks. Either by my plugin or WP OpenID. But after extensive testing, I concluded that the order in which the action hooks call the different plugin functions, wasn’t problem.

I identified the problem as the comment data getting lost somewhere along the way. I tested the OpenID plugin and the transition to the Mollom plugin. In the end, I could narrow the problem down to odd behaviour of global variables in WordPress. Let’s take a look at this bit of code:

<br> function dosomething($ds_comment) {<br> global $ds_comment;<br> print_r($ds_comment);<br> return $ds_comment;<br> }<br> add_action('preprocess_comment', 'dosomething');<br>

For brevity’s sake, I ommitted the obligatory WordPress plugin header. But if you add it, put this bit in a seperate file, upload it to your plugins/ folder and activate. Now you can test if yourself. The idea is that the array containing the commentdata is shown in your browser just before putting it in the database (notice that your browser doesn’t redirect to the original page, but that’s not the issue here). In reality, you’ll get a blanco page. Meaning the array $ds_comment is in fact empty. Further on, you’ll just pass empty variables and in the end save an empty record to your database. The comment got lost into cyberoblivion. Not very nice.

Now. Just comment out or remove the global $ds_comment; bit and try again. Now, if you submit a new comment, the data will be output to the browser nicely.

Conclusion: If you make the very same variable that was passed as an argument through the function, global, the data just gets lost. Very odd. Now, if you create a new, empty, global variable within the function and assign the data from $ds_comment to it, there is no problem whatsoever.

I wonder how this could happen…

Ow. Making a lot of variables global, especially those with sensitive data, is not really best practice. There are more gracious ways of passing data around like OO programming design or paying attention to correct function reuse. In a future incarnation, I’ll try to reduce the amount of globals I use. For now, I just want the damn thing to behave like it should. 😉

Amnesie

The devil farts in my general direction, yet again!. Dat gevoel had ik zo’n beetje vrijdagmiddag toen ik mijn externe harde schijf onzacht met de grond zag kennis maken. Ik was iets te zenuwachtig en nu betaalde ik er de prijs voor. Het resultaat was er dan ook naar: het zaakje weigert alle dienst en maakt een vreemd tikkend geluid bij opstart.

Die is dus afgeschreven. Het erge is dat ik op die schijf flink wat van mijn emailarchieven (Bruggelink correspondentie, paswoorden,…!) bewaarde. Om nog maar te zwijgen van zaken zoals ontwerpen voor websites en zo. Nu heb ik wel verspreid links en rechts gedeeltelijke backups, maar ik ben er redelijk zeker van dat ik een kruis mag maken over het gros van de data. Dom, dom, dom!

Nu was ik al een tijdje een backup strategie aan het uitplannen maar had ik die nog niet in de praktijk kunnen omzetten. O ironie! Nu ja, niet getreurd want het is ‘maar data’. Het is niet de eerste keer dat ik een schijf met bijhorende data kwijt geraak. En altijd kwam ik het te boven. Nu kan ik wel niet zonder een externe schijf, dus heb ik mij gelijk in de Mediamarkt dezelfde dag nog een nieuw exemplaar aangeschaft: een LaCie schijf van 160Gb. Dubbel zoveel opslagcapaciteit als zijn voorganger! Mjam! Straks Portable Apps installeren en weer vullen met een aantal dingen.

En natuurlijk direct de backup strategie in de praktijk omzetten!!

Lichtjes!

Bon. Ik heb mij enkele dagen niet bezig gehouden met mijn PHP projectje. Bewust, want na mijn rant wilde ik even enkele dingen op een rijtje zetten.

Vanmorgen, tussen het moment van ontwaken en het moment dat ik op het werk zit, kreeg ik opeens enkele ingevingen. Features die ik wil, nee moét, implementeren, een beter zicht op hoe ik de data wil modelleren en hoe ik mijn applicatie wil opbouwen, hoe ik vanop dit punt zou kunnen verder werken.

Over dat laatste gesproken, ik bouw mijn project nu in opdracht. Dus met een beperkte featureset en in een bepaalde richting. Wat ik nu ga doen is dit afwerken en dan kijken hoe ik het zo kan ombouwen dat het uitbreidbaar en beter herbruikbaar wordt.

Nu nog alles zo snel mogelijk op papier krijgen voor ik het vergeet!

Systematisch

Momenteel tref ik voorbereidingen om Ubuntu een plaatsje te geven op mijn desktop thuis. Geen eenvoudige zaak, zo blijkt. Ik heb op mijn IDE drive een Ext2 partitie van 10Gb tjokvol data die eerst gemigreerd moet worden naar een Ext2 partitie op mijn SATA drive. Daar heb ik immers nog 45Gb unallocated space op reserve.

De voorwaarde is dat ik ook nog in windows aan mijn data kan. Tot op heden gebruikte ik daarvoor zonder problemen de Ext2 IFS driver. Maar toen ik gisteren de nieuwe Ext2 partitie op mijn andere drive aanmaakte, gaf dat problemen: windows en de driver weigeren mij botweg toegang tot de nieuwe ruimte hoewel die mooi in mijn Windows verkenner verschijnt. En de diagnostische tool kon mij ook niet vertellen wat er mis was.

Momenteel ben ik zo’n beetje aan mijn allerlaatste alternatief bezig: de overige 2 NTFS partities op de SATA schijf naar vanachter schuiven en vooraan een Ext2 partitie aanmaken. Kwestie van problemen met fysieke locatie op de schijf te elemineren.

Als dat niet lukt heb ik nog twee opties en géén van beiden zijn aantrekkelijk: a/ ofwel toegeven dat ik de nieuwe partitie énkel nog in Ubuntu kan uitlezen of b/ kiezen voor *gasp* FAT32. Zowat het slechtste, traagste en meest instabiele bestandssysteem dat er is, maar dat wel toegankelijk is onder windows als linux.

Hmpf.

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