woensdag 23 november 2016

Gas - of een alternatief?

Onder Woerden ligt een grote bel gas, voornamelijk onder de wijk Molenvliet, tot voorbij de Oude-Rijn. De gaswinninglocatie is heel strategisch naast de A12 gekozen, die daarmee in de provincie Zuid-Holland en de gemeente Bodegraven ligt.
https://pixabay.com/en/gas-mask-mandatory-wear-protection-98600/

Het gas gaat ge-exploiteerd worden door het Canadese Vermillion. Zij hebben laten onderzoeken dat gaswinning een bodemdaling van 2cm zal veroorzaken, maar niet duidelijk is hoe tot dit resultaat gekomen is. De ervaringen van de gaswinning in Groningen hebben geleerd dat de verwachtingen van de exploitateur vaak te lage schattingen zijn, en dat de beloofde compensaties enkel na lange juridische touwtrekkerij worden uitgekeerd.

Woerden heeft, met het klimaatakkoord in het achterhoofd, een beter plan. Geen gas, want dat is geen duurzame en herwinbare energiesoort. Beter kan worden ingezet op wind- en zonne-energie. De nieuwe wijk Snellerpoort gaat waarschijnlijk gas-loos worden, dan zou het raar zijn als onder de Woerdense grond naar gas gaat worden geboord.


Daarom moeten alle maatschappelijke organisaties in Woerden de krachten bundelen om deze gaswinning te voorkomen, door een krachtig signaal te geven aan Den Haag, de provincie Zuid-Holland en de gemeente Bodegraven.

dinsdag 22 november 2016

De bezorger is onderweg...

Gisteren kreeg ik allemaal e-mailtjes van Bol.Com. Ik was ingeschreven op de nieuwsbrief, ik had een bestelling gedaan met mijn credit card, en ze gingen voor me aan de slag. Ik was nogal verbaasd, want ik had de hele dag op mijn werk gezeten, ik had niets besteld, en zat net in de auto. Het bleek naar het e-mailadres van mijn dochter te gaan (haar mail wordt naar mij geforward), maar die had ook niets besteld. Thuisgekomen eens uitgezocht, het ging naar een adres in België, naar een persoon met dezelfde voor en achternaam als mijn dochter, maar die had (ik denk per ongeluk) het e-mailadres van mijn dochter gebruikt. Ik heb nog op FaceBook gezocht naar deze persoon, en ik denk ook wel gevonden, maar nog geen contact gekregen.

Vandaag kreeg ik een mailtje dat de bestelling onderweg was. Maar de postbode zal ons huisje vandaag voorbij rijden, en de naamgenoot van mijn dochter zal dubbel verrast zijn dat haar pakketje zonder aankondiging toch wordt bezorgd ;-)

vrijdag 29 juli 2016

Alle bergen - SparQL

Op het project WikiData zijn er meerdere manieren om items op te halen.
 
WDQ, dat staat voor Wikidata Query Language, heeft een relatief simpele structuur, om bijvoorbeeld alle bergen op te zoeken voldoet claim[31:8502]. claim[31] zoekt alles waarbij P31 ingevuld is, en 8502 is het wikidata-nummer voor berg.

Met SparQL kan het ook, maar de queries zijn vaak iets ingewikkelder te begrijpen, maar je kunt er ook veel preciezere queries mee uitvoeren. En de naam zegt het al, het lijkt op SQL.

Ik had al een stuk Python code om vanuit een WDQ alle items langs te gaan, maar voor SparQL moest ik nog eens uitvogelen hoe dat in zijn werk gaat. Nou, dat bleek dus waanzinnig simpel te zijn, want onderstaande code voert dat al uit (en ja, het kan nog korter als het moet ;-)

En SparQL heeft toch wel een paar voordelen:
1) WDQ gaat (wellicht al heel snel) stoppen te bestaan
2) SparQL is veel stabieler
3) SparQL geeft vaak veel sneller resultaten
4) SparQL kan nauwkeuriger queries maken


def all_mountains():
 QUERY=u'SELECT ?item WHERE {?item wdt:P31 wd:Q8502  }'
 wikidata_site = pywikibot.Site("wikidata", "wikidata")
 generator = pg.WikidataSPARQLPageGenerator(QUERY, site=wikidata_site)

 for wd in generator:
  wd.get(get_redirect=True)
  yield wd

mygenerator=all_mountains() 
i=0 
for berg in mygenerator:
  i += 1 
  print('%s - %s' % (i,berg.title()))
  action_one_item(berg)

zondag 3 april 2016

Mobiele Wikipedia - zoeken

Wanneer je op de mobiele Wikipedia iets zoekt, en je hebt (een stukje van) je zoekterm ingetikt, dan zie je daar ook een korte omschrijving bij staan. Bij Johan Cruyff staat dan Nederlands voetballer en bij Jan Jansen kom je meerdere personen tegen, waaronder twee wielrenners. Die korte omschrijving moet je helpen om het juiste zoekresultaat te selecteren uit de lijst van suggesties. En omdat er op Wikipedia zelf geen plek voor een korte omschrijving is, komt deze korte omschrijving van wikidata.

Wikidata is relatief nieuw, en behoorlijk "leeg". Veel artikelen hadden helemaal geen korte omschrijving, waardoor de gebruiker zelf maar wat moet proberen, in de hoop snel het juiste artikel te vinden. Maar op Wikidata staan vaak ook enkele eigenschappen van een artikel, waaronder het beroep en de nationaliteit van een persoon, en daarmee kun je zo'n omschrijving dan prima automatisch genereren als deze nog niet bestaat.

Sinds december 2015 loopt er een stukje python script op mijn Raspberry Pi die deze omschrijving maakt. Als hij nu loopt (en die kans is groot), dan zie je de live resultaten hier. Regelmatig voeg ik nog nieuwe omschrijvingen toe voor nieuwe data-types, want niet alles zijn personen. Van een rivier of berg kun je toch prima vermelden "berg in China" of "rivier in Senegal". Alles beter dan niks immers.

Dank zij mijn scriptje is de kans nu een stuk groter dat gebruikers van de mobiele Wikipedia-app sneller vinden wat ze zoeken.

dinsdag 16 februari 2016

RSS - IFttt - GetPocket

 Automatisch je berichten vanuit Feedly / RSS in GetPocket zetten met IfThisThanThat

Hoewel een RSS-feed voor velen iets van vroeger is, (net als IRC), is het nog steeds heel handig. Een RSS feed kun je vergelijken met de koppen van de krant, of de voorpagina van NU.nl zo je wilt. Een vette titel, een kort intro van een bericht, en eventueel een foto. Als je het interessant vindt kun je het hele bericht in je browser openen en lezen.

Nu denk je: ik kan dat ook op mijn telefoon in de browser doen, wat is dan het voordeel van RSS? Nu volg ik meerdere nieuwsbronnen, en sommige posten ieder uur iets nieuws, en sommige maar eens in de maand. Inmiddels heb ik 25 verschillende bronnen, en iedere dag 25 websites langsfietsen om te zien of er wat nieuws is (en waar ik de vorige keer gebleven was) is natuurlijk onbegonnen werk, dat zo'n RSS-lezer veel beter voor mij kan doen.

Maar het lezen van zo'n RSS-post is toch nog altijd wat lastiger. De browser openen en bericht ophalen is op zich niet het probleem, maar doorgaans wil ik het bericht niet op dat moment lezen, maar later. Ik verzamel liefst alle berichten, om ze in GetPocket te lezen. Op de Tech45-podcast hadden ze het er laatst nog over, de dag zit vol met kortere of langere wachtmomenten waarop je iets kunt lezen, en in GetPocket zit altijd nog wel iets dat je lezen wilde.

Daarom heb ik met IF-this-then-that een recipe gemaakt die geselecteerde berichten naar GetPocket kan overzetten. Je kunt het recipe hier zien, maar het is ook heel simpel zelf aan te maken. In de app van Feedly zet je een sterretje, of je doet een long-press op het artikel in Feedly. Een korte poos later (binnen een kwartier, maar vaak al veel sneller) heeft IFttt het artikel overgezet in GetPocket. Helemaal automagisch.

donderdag 4 februari 2016

Website al weer terugverdiend

Zo. Gisteravond mijn website weer terugverdiend. Door twee keer de nieuwsbrief van Zalando aan te vragen met twee verschillende email-adressen, heb ik twee keer een kortingscode gekregen.
Bij mijn website zit natuurlijk ook het bijbehorende emailadres @edoderoo. En ik kan daar voor zetten wat ik maar leuk vind, het komt aan. Toffe actie van Zalando (die nu natuurlijk weer gratis reclame geniet, dat dan weer wel!)

maandag 1 februari 2016

2-pass-verification

Enige tijd geleden schreef ik over LastPass en de noodzaak betere wachtwoorden te gebruiken dan overal dezelfde Woerden123 (hoofdletter+kleine letter+cijfer, en meer dan zeven karakters). Iemand die mijn wachtwoord wil raden, zou dit in de eerste tien pogingen proberen.

Maar er zijn wachtwoorden die, als ze in verkeerde handen vallen, extra grote schade kunnen aanrichten. Het hoofdwachtwoord van LastPass is er zo een, maar ook het wachtwoord van je Google Account, dat ook aan GMail is gekoppeld. Je kunt deze wachtwoorden nog zo uniek en ingewikkeld maken, als iemand dat wachtwoord heeft, staat de deur tot je hele online leven op een kier, want LastPass laat gelijk je hele wachtwoordkluis zien, en GMail geeft de mogelijkheid nieuwe wachtwoorden via de mail te ontvangen van diensten die je gebruikt.

Daarom wil je zulke wachtwoorden extra beveiligen, en daar is 2-pass-verification voor bedoeld.

Hoe werkt het?

Zodra je inlogt op een website met 2-pass-verification wordt je gevraagd om "een extra nummer" dat door je mobiele telefoon is gegenereerd, specifiek voor die dienst. Er komen steeds meer diensten die 2-pass ondersteunen, en op verschillende manieren. Een oud systeem is het "dingetje van de bank", die samen met je bankpas en je pincode een unieke code genereert. De SMS die DigiD je stuurt bij het inloggen is ook een variant.

Is dat niet lastig?

Nu moet je dus bij het inloggen nog meer invoeren? Nou, ja, en nee. Op je eigen computer/tablet/telefoon geef je die code maar 1x in, of wellicht 1x per maand. Je geeft aan dat het een vertrouwd apparaat is, en je wordt een lange tijd niet meer naar de code gevraagd, op dezelfde manier waarop je wachtwoord op een vertrouwde computer wordt bewaard. Maar zit je nu op een computer van iemand anders, of je krijgt een nieuwe, dan moet je wel die gegenereerde code invoeren. En als iemand op een of andere manier jouw wachtwoord weet (door een keylogger bijvoorbeeld, of stiekem meegekeken over je schouder), dan kunnen ze er nog steeds niet mee inloggen, omdat ze de code niet kunnen genereren.

Wat als ik mijn telefoon kwijt raak?

Sommige websites geven een "backup" lijstje, sommige websites geven een extra code/wachtwoord, dat je kunt gebruiken mocht de 2-pass niet meer werken. Sla die gewoon op in Lastpass! Maar de simpelste manier is om (tijdelijk!) 2-pass uit te zetten op je vertrouwde computer, bij alle services waar je 2-pass gebruikt. Gewoon in de instellingen van de desbetreffende web-service. Daarna kun je het weer inschakelen. Ik ben de afgelopen paar jaar al een aantal maal van telefoon gewisseld (nieuw model, factory reset, etc), en soms was het wel even een gedoetje, maar het is iedere maal gelukt om 2-pass op mijn nieuwe apparaat weer in te schakelen.

Google Authenticator is zo'n generator, maar de Facebook-app had zijn eigen generator, en er zijn ook commerciele apps, en soms ondersteund een website enkel SMS. Mijn advies is: gebruik deze extra beveiligingslaag, want je wachtwoorden liggen op straat voor je het weet (en zonder dat JIJ er veel aan kan doen), en hackers delen dit soort informatie graag en veel. Maar als jij 2-pass-verification inschakelt, heeft een hacker aan jouw wachtwoord helemaal niets.

vrijdag 15 januari 2016

Google Calender importeren


Google heeft een heel handige kalenderfunctie, die je natuurlijk ook op je smartphone kunt gebruiken, en in de browser kunt zien. Maar soms is het invullen van de kalender een beetje monnikenwerk, vooral als veel van de invoer herhalend is. Iedere week eenzelfde gebeurtenis met net een andere locatie, tijd of omschrijving is dan plots veel werk, dat gelukkig veel simpeler kan.



Ik begin altijd met deze sheet, waarin ik vervolgens alle regels invul. Velden die niet van belang zijn laat ik leeg. Als ik een kalender van iemand anders krijg, copy/paste ik de informatie natuurlijk gewoon uit die andere kalender!
Nou, dit vult een stuk sneller in dan al die losse schermpjes!

Nadat alle informatie is ingevuld, sla ik het bestand op als een zogenaamd CSV-bestand. Met File->Download as->Comma-separated values of als je Sheets in het Nederlands gebruikt onder Bestand->Opslaan als->Kommagescheiden.




Nu gaan we met de browser naar Google Calender. Daarna kun je rechtsboven met het wormwiel naar de settings van de kalenders. Links staat dan een link naar "Import calendar".
Selecteer het csv-bestand, kies welke kalender je wilt gebruiken (ja, je kunt oneindig veel kalenders aanmaken, elk een andere kleur geven en met andere mensen delen, en in je overzicht aan/uit zetten!), en klik op Import.

Als je bang bent iets fout te doen, of eerst wilt kijken hoe het er uit komt te zien? Maak dan een nieuwe kalender aan, die je na het importeren weer kunt  verwijderen. Is alles naar wens? Importeer dan de kalender in je eigen kalender. En is het nog niet naar wens, dan kun je de Sheet opnieuw bijwerken, een nieuw CSV-bestand maken, net zo lang tot je tevreden bent.

Oh, en als je liever met Open Office of Excel werkt, die kan ook CSV-bestanden maken.

Succes!


donderdag 7 januari 2016

LastPass


Voor iedere site hetzelfde wachtwoord gebruiken is niet zo slim. Je weet immers maar nooit wie er bij zo'n webwinkel in de user-database kunnen kijken. Misschien wordt die webwinkel wel gehackt, of zit er een stagiair die niet helemaal te vertrouwen is. Je weet dus maar nooit wie je e-mailadres en wachtwoorden kan inzien. Voor iedere website een ander wachtwoord gebruiken is dus de oplossing, want je wilt niet dat iemand van een Chinese webwinkel ook op je Gmail kan inloggen.

Gelukkig helpt LastPass je daar bij, hoewel er genoeg alternatieven zijn. LastPass onthoudt niet alleen je wachtwoorden, maar vult ze ook voor je in, ook op je mobiel. Van de 300 wachtwoorden die ik heb, weet ik er bijna geen een uit mijn hoofd, en dat hoeft ook niet. En dat gaat heel lastig met wachtwoorden als yS$3cUcpWTjpRE6fMYGjQKgrYEMsIL9QzTaG2geAqoQBd747$fF

Mocht iemand dus een van mijn wachtwoorden weten, dan kunnen ze maar op 1 website/service er mee inloggen. Bij een aanval of hack blijft de schade daarmee beperkt. Behalve wanneer ze je hoofdwachtwoord van LastPass achterhalen natuurlijk, hoewel daar ook nog wel mogelijkheden voor zijn. Maar daar vertel ik een volgende keer wel meer over.

maandag 4 januari 2016

Pivot table

Google Sheets (en Excel) zit vol met data-analyse functies die heel handig zijn, als je ze maar kent, en weet te gebruiken. Een daarvan is de pivot table of in het Nederlands een draaitabel.

Stel, je download je bankafschriften van de bank, en zet deze in Google Sheets (klik voor mijn voorbeeld sheet). Naast de datum en bedrag is er ook een kolom met een categorie. Met de menu-optie alt-Gegevens->Draaitabel kom je in de wizard voor een nieuwe draaitabel. Links staat een lege draaitabel, rechts venster om de parameters in te stellen. Door nu bij Rijen op veld toevoegen te klikken, kun je kiezen welk veld je in de draaitabel wilt zien. Ik koos daar voor category en gelijk laat de draaitabel mijn vier categorieen zien. Bij Waarden kies ik voor amount en nu zie ik de totaalbedragen per categorie staan. Het zijn de totaalbedragen omdat Samenvatten op de optie SUM heeft, wanneer ik er COUNTA van maak, laat de tabel zien hoevaak een categorie voorkomt. Voor bankafschriften niet echt interessant, maar het geeft aan welke mogelijkheden er zijn.

Met de optie Kolommen kunnen we de tabel nog verder opsplitsen, bijvoorbeeld per datum. Omdat dit voor iedere dag een nieuwe kolom aanmaakt, is dit een beetje teveel van het goede. Daarom heb ik in de data-tab een kolom E toegevoegd, met het weeknummer. De inhoud is =weeknum(A2)  en deze heb ik naar alle cellen in kolom E gekopieerd. De weeknummers lopen nu van 49 tot 52.
Wanneer ik dit weeknummer bij de kolommen wil selecteren, staat deze er nog niet tussen, omdat de wizard mijn draaitabel heeft opgezet op het bereik bank!A1:D16 en kolom E zit daar nog niet bij. Maar met de optie Bereik wijzigigen is kolom E zo toegevoegd, en vervolgens kan ik weeknummer als Kolom toevoegen. Nu laat de draaitabel voor iedere combinatie week/categorie het totaal zien, samen met een generaal totaal voor de weken én voor de categorieen.