Netsensei

Much Ado About Nothing

Software en Programmeren

Screencasts en een vaag plan

Vandaag had ik op het werk nog eens een moment waarin ik enthousiast dacht: “Hier moet ik een screencast van maken!”. Dat zit zo. Tegenwoordig is de terminal met een Bash shell mijn digitale werkplaats. Met command line tools zoals grep, awk, sed,… verplaats of transformeer ik allerlei files en data heen en weer. Sommige dingen doe ik nu in 1 lijn aan elkaar gelaste commando’s waar ik er vroeger een stuk of wat complexe bewerkingen voor zou doen. Ik zou die ervaring best wel graag willen delen, eigenlijk feitelijk.

Het is geen nieuw idee. Ik heb namelijk een YouTube kanaal waar ik in een grijs verleden een aantal screencasts heb gepubliceerd. Weinig tijd en weinig ruimte in mijn hoofd zorgden ervoor dat ik niet veel aandacht aan het resultaat besteedde. Alleen mag ik vaststellen dat die enkele video’s het wel aardig doen, ondanks dat het nogal bijzonder specifieke en technische onderwerpen gaat. Zo haalde “Convert XML to CSV the easy way” tot op heden zo’n 27.000 views. Niet slecht!

En dus bedacht ik mij dat ik misschien wel eens wat bite-size screencasts van hooguit 5 a 10 minuten zou kunnen maken waarin ik specifieke command line kung fu demonstreer. Neem een klein maar concreet probleem, en los het op door een aantal commando’s aan elkaar te rijgen.

Ik ben natuurlijk niet de eerste die met dat idee af komt. Zo volg ik mijn veel interesse EngineerMan die iets gelijkaardigs doet. En zo zijn er nog wel tig kanalen die hetzelfde doen. Het punt is dat ik het onderwerp op mijn eigen manier wil brengen.

Tenslotte intereseert screencasting mij om een andere reden: mijn techblog. Die is eveneens zo goed als levensloos gevallen. Een goede tutorial uitschrijven kost best wel wat tijd en werk. En een beeld zegt meer dan een paar woorden. Ik denk dat een korte screencast met referentie materiaal op Github dan sneller gemaakt is en meer impact heeft.

Toch een projectje om in 2020 te verkennen …

Mijn Github profiel

Een klein decennium maak ik gebruik van Github om mijn eigen digitale projecten een parkeren. En om deel te nemen aan andere open source initiatieven.

Alles wat je doet op Github, doe je en plein public. Zo is het platform immers in eerste instantie ontworpen: als een plaats waar code open wordt gebouwd en gedeeld. Dat betekent dat iedereen inkijk heeft in andermans digitale werkplaats. Wat niet altijd ideaal is. Ten eerste kent het gros van de digitale projecten een eindig leven. En dus verzamelde ik in al die jaren heel wat oude of in onbruik geraakte bagage. Ten tweede is er code die ik wel veilig wil stellen, maar daarom niet noodzakelijk met de buitenwereld wil delen. De code van dit blogje is een voorbeeld.

Het eerste probleem, daar heb ik net werk van gemaakt. Ik heb een pak oude projecten de status “archived” gegeven. Zo geef ik aan dat ik die projecten niet meer onderhoud. Ik bewaar ze voornamelijk uit nostalgie: werk dat ik ooit heb gepresteerd in andere tijden. Een aantal projecten heb ik volledig verwijderd. Het gaat om code die in mijn ogen buiten het strikt utilitaire echt geen waarde heeft. Verouderde configuratie voor een ontwikkelomgeving bijvoorbeeld.

Sinds begin dit jaar biedt Github ook gratis private projecten aan. Voorheen zat dat in hun betalend aanbod. Tot nu toe maakte ik uit noodzaak gebruik van Bitbucket voor een aantal private projecten. Dat hoeft dus niet langer. Het plan is om gaandeweg alles te consolideren op Github.

De hele oefening zorgt voor ruimte in mijn hoofd. Het verleden loslaten is plaats maken voor nieuwe, toekomstige projecten.

Dispatches

Ik heb de indruk dat in 2019 het jaar wordt waarin meer en meer mensen van de centrale silo’s terug stappen naar een eigen website. Zo melde @DHH dat Signal v. Noise van Medium terug keert naar een zelf gehoste oplossing. 37Signals is niet de enige.

Interessante discussie bij Ruben Verborgh over de implementatie van Linked Data in front-end toepassingen.

Deze week heb ik Terry Pratchett’s Moving Pictures uitgelezen. Dat is zijn tiende boek in de Discworld reeks. Tot zover vind ik dit de beste uit de reeks. Pratchett introduceert elementen uit het echte Hollywood – camera’s, regisseurs, producers, cinema, sterren,… – in de fantasy wereld van Discworld.

Ik had een aantal uren opzij gezet om de user management component van dit open source project functioneel uit te werken. De ‘shrink-wrap’ component die er oorspronkelijk was in gelijmd zat te hard in de weg. Ik ben niet de enige die dat vindt. Zelf een beter aansluitend alternatief bouwen bleek de juiste keuze. En een heel leerrijke ervaring.

Anyways, back to chirpin’

Ik werd gehackt

Eind maart maakte het Drupal Security team kwetsbaarheid SA-CORE-2018-002 bekend. Het ging om een zeer serieus veiligheidsprobleem met Drupal. Zo serieus dat iedereen alles moest laten vallen op Drupal websites te voorzien van een update. Drupalgeddon dus. Ondertussen maakten gewiekste mensen met slechte bedoelingen gebruik van de gelegenheid om zoveel mogelijk servers met onbeveiligde Drupal sites te hacken.

Mijn eigen server is er daar eentje van. Ik was namelijk in die periode in Californië. Het duurde even voor ik kans had om het nodige te ondernemen. Helaas was het kwaad reeds geschied. Deze week kreeg ik een bericht van Linode – de hosting partij van wie ik een virtuele server lease – dat er problemen waren.

Gehackt!
Gehackt!

Tijd om actie te ondernemen. De eerste stap was de server offline halen om geen verdere schade te veroorzaken. Dat deed ik eerder deze week. Dat betekende dat ik enkele dagen uit de lucht was. Gelukkig gaat het om persoonlijke projecten, niet om die van betalende klanten. In dat geval zou ik met een groter probleem hebben gezeten.

Gisteren heb ik een nieuwe server aangemaakt. Handmatig configureren zou snel een dag of meer kosten. Tegenwoordig automatiseer ik zoveel mogelijk met Ansible. Het kostte me een dik half uur om die operationeel te krijgen. Vervolgens was het een kwestie van de websites één per één terug on line te zetten. In het geval van die ene Drupal website betekende dat: de files folder en de database manueel controleren en schonen. En dan vind je dit soort ongein terug:

Gehackt!
Gehackt!

Juist. Script kiddies die mijn server mismeesteren voor allerlei illegale praktijken. In de database vond ik ook nog eens allerlei  Javascript crypto miners terug. Gelukkig kon ik die met wat RegEx Fu helemaal opschonen. Het ging dan ook om een site met niet zo heel erg veel inhoud. Maar het kostte me wel wat tijd en moeite om alles grondig te controleren.

Tenslotte heb ik ook meteen alle laatste patches en updates toegepast, wachtwoorden vervangen, enzovoorts enzoverder.

Waarom de oude server niet gewoon opschonen? Omdat dat eigenlijk gewoonweg niet doenbaar is. Het is veel eenvoudiger om met een schone lei te beginnen en de gehackte server uiteindelijk te verwijderen.

Waarom Drupal nog blijven gebruiken? Omdat de ontwikkelaars achter Drupal hier de juiste procedure volgden. Kwetsbaarheid breed kenbaar maken en meteen een oplossing voorzien. Dat ik toch in de problemen kwam, ligt geheel en al aan een ongelukkige timing.

Waarom zelf al die moeite met een server doen? Daarom.

Webmentions

I just enabled the Webmention plugin on my blog. Webmention is a descendant of Pingback. It’s a linkback  protocol that notifies other sites that they were linked from this site. Linked sites could use that information to update a “favourite” or a “clap” counter. Or they could just list the links as part of decentralised, distributed discussions. Webmention is a W3C Recommendation. And it’s a part of the POSSE movement. Find out on IndieWeb who else uses Webmention.

Een gehackte skype

Aan al mijn Skype contacts die deze morgen dit berichtje van mij ontvingen: mijn excuses.

Een gehackte skype
Een gehackte skype

Blijkbaar zijn spammers er dan toch in geslaagd mijn wachtwoord te raden om in mijn naam foute boodschappen uit te sturen. Niet erg fijn.

Deels is het mijn eigen fout. Deels is het de schuld van Microsoft. Skype werd een tijd terug overgenomen door Microsoft. Men heeft toen een halfslachtige poging ondernomen om de Skype databank met gebruikersnamen te koppelen aan de Microsoft Live databank. Het idee is dat je dan met je Microsoft account Skype kan gebruiken.

In de praktijk komt het er op neer dat je als gebruiker zelf manueel een aantal stappen moet ondernemen om de twee samen te voegen. Zolang je dat niet hebt gedaan, ben je kwetsbaar. Bibi zal daar waarschijnlijk wel instructies in een mailbox van hebben ontvangen, maar die nooit hebben opgevolgd.

Volgens The Verge ben ik niet de enige:

This entire process seems messy, but it appears to be the best way to secure your Microsoft account. If you’ve already linked a Skype username then I would suggest doing this extra merge process immediately, to secure your account. If you haven’t linked Skype and Microsoft Accounts at all, then you should be safe to link and merge with the new process.

Afin. Ik heb het nodige ondernomen. Bovendien meteen ook mijn wachtwoord veranderd én 2-Factor Authentication ingeschakeld. Vanaf heden dus terug (de illusie van) veilig.

Flickr mystery

Een anderhalf jaar geleden probeerde ik nog eens op Flickr in te loggen om wat foto’s op te laden. Om de één of andere duistere reden lukte het toen niet om mijn oude Yahoo! account te openen. Well, wha-d’-ya-know, meneer-mevrouw. Probeerde ik gisteren nog eens, lukte het deze keer mooi wel.

Dus heb ik nu twee accounts. De oude en een nieuwere. Beggars can’t be choosers, zekers?

Een nieuwe blog

Een nieuwe blog! Een blog in’t nieuw! Een paar maanden noeste arbeid. Volharding troef, en het resultaat mag worden gezien. Er is bijzonder veel veranderd en dat was ook wel hoogstnodig. Ik was namelijk al lang niet meer tevreden over het oude ontwerp, een aantal storende bugs, achterhaalde functionaliteit en de verouderde copy. Mijn blog verkeerde in een lamentabele toestand. En dat was verre van bevorderlijk voor het regelmatig schrijven in de laatste jaren.

Ik schreef eerder reeds over mijn ambitie om hier terug te keren. Nochtans, kwatongen beweren al jaren dat bloggen reeds jaren dood zou zijn. Gelukkig zijn er mensen zoals Andy Baio en Jason Kottke die onlangs stukken publiceerden die mij van “Ja! Ja! Godverdomme, Ja!” deden knikken. En ook dichter bij huis wordt er duchtig geschreven en gepubliceerd. ’t Is dat deze madame met “you do you” zo hard gelijk heeft. En Graham Chapman wist dat 40 jaar geleden ook al. Ik keer niet terug uit een vorm van nostalgie, maar wel omdat dit domweg mijn stekkie op het web is, ongeacht wie meeleest en wat anderen doen. En omdat de het web mij juist de vrijheid geeft om dat plaatsje in te richten zoals ik het zelf wil.

Bij het omkatten van je blog hoort natuurlijk wat meer uitleg. Bij deze dus.

Het ontwerp

Ik bouwde het vorige ontwerp in 2008. Het was toen gebaseerd op dat van een bekende blogvader. Ook al heb ik me laten inspireren door anderen elders, deze keer ben ik ook op zoek gegaan naar een eigen stem en beeldtaal.  Ik heb me neergelegd bij het feit dat ik geen ontwerper pur sang ben. Maar uit ervaring weet ik wel wat goed werkt en mooi oogt. Vanuit die positie kon ik een fris ontwerp bouwen.

Het kleurenpalet heb ik gekozen via colourlovers.com en heet Let Me Eat Cake. De foto in de header komt van Unsplash (Patrick Tomasso) en is vrij beschikbaar via een Creative Commons Zero licentie. De lettertypes zijn Merriweather en het systeemfont van uw besturingssysteem. Ik tekende eerst de basis in Pixelmator, de details werkte ik uit in de browser.

Mobiel en toegankelijk

De vorige versie van de site dateerde van voor de introductie van de smartphone en was dus niet geoptimaliseerd voor mobiele toestellen. Deze versie is dat wel.  Als het goed is zou je deze blog dus ook mooi leesbaar moeten zijn op je tablet of iPhone. Ik maak dankbaar gebruik van hedendaagse technieken. Bijgevolg ondersteun ik oudere browsers niet langer en dat is een bewuste keuze. Om vooruit te gaan moet je soms durven breken met het verleden.

De inhoud

De inhoud is dezelfde gebleven. Deze blog was en blijft een lifelog. Ik wil mij bewust niet beperken tot een aantal thema’s in functie van een bepaald publiek. Ik schrijf in de eerste plaats omwille van mezelf. Dat er soms geen lijn te trekken is in de inhoud, is dus het logische gevolg. In het verleden worstelde ik met die chaos. Vandaag laat ik die strijd voor wat ze is, en ik laat mijn schrijfsels en hersenkronkels gewoon hun eigen weg volgen.

Jaren bloggen heeft een rijk archief opgeleverd. Maar dat archief was wel aan herwaardering toe. Ik heb dus tijd geïnvesteerd in opschonen en het toegankelijker maken van de oude content.

Ik ergerde mij al lang aan de wildgroei van categorieën. Ik heb die gerationaliseerd in 11 basiscategorieën. De bestaande inhoud, een 2.300 blogposts, heb ik opnieuw ingedeeld in deze categorieën.

Ik heb het archief een prominentere plaats gegeven. De zijbalk bevat nu een Archief blok en in het hoofdmenu vind je een veel beter uitgewerkte archiefpagina. Ik pakte ook de lijstpagina’s aan. Ik toon een beknopte teaser in plaats van de volledige blogpost om het overzicht te bewaren. De metselwerk grid layout heb ik dus verlaten wegens totaal onoverzichtelijk.

Tenslotte heb ik de zoekfunctie opgewaardeerd. Je komt het zoekformulier tegen op foutpagina’s en in de zijbalk. Zo kan je via een full text search doorheen mijn blog snuisteren.

De interactie

Interactie was, is en blijft belangrijk. Commentaar kan je vanaf nu leveren als geneste threads. Dat maakt antwoord en wederantwoord geven een stuk eenduidiger. Ik maak echter geen gebruik van Jetpack Comments of gehoste alternatieven zoals Facebook Comments of Disqus. Ik ben van mening dat als je commentaar, en dus content, van anderen een plaats wil geven, je daar ook zelf voor de omkadering in de hand hoort te nemen. Of toch als je die ruimte en vrijheid hebt. Een sterke derde partij die comments hosts is een ongelofelijk gemak, maar het is en blijft wel een stuk controle en privacy dat je uit handen geeft. Voor niets gaat immers de zon op.

Trackbacks en pingbacks hou ik uitgeschakeld. Het is ondertussen wel duidelijk dat die functies niet levensvatbaar zijn.

Het contactformulier is nieuw. Voorheen plaatste ik gewoon mijn mailadres op mijn blog. Alleen is het onmogelijk om te weten te komen hoe mensen mij terug vinden. Via een contactformulier kan ik daar iets beter vat op krijgen.

Onder de motorkap

Het actieve WordPress theme heet Libris, is gebaseerd op Underscores en heb ik van de grond af opgebouwd. De CSS code wordt gebaseerd met behulp van SASS en Gulp. De architectuur is losweg gebaseerd op SMACSS.

Ik maak gebruik van de meest recente versie van WordPress. Actieve plugins zijn Jetpack, Loco Translate, Contact Form 7, Regenerate Thumbnails en Compact Archives.

Deze site host ik op een geleasede virtuele server bij Linode. Ik neem het onderhoud van die server voor een flink stuk op mezelf. Tegenover de werklast staat dat het mijn kennis en ervaring over UNIX scherp houdt. En ik behoud armslag om problemen makkelijk zelf op te lossen.


Het is maar een greep uit de vele veranderingen. Sommige andere verdienen op tijd en stond nog een aparte blogpost. En verdere zullen er nog wel her en der manco’s zijn die vragen om een oplossing. Het belangrijkste is dat met het waaien van een nieuwe wind, ook de motivatie om terug meer te schrijven mag groeien.

Alvast veel leesplezier!

WordPress Calypso

Dit berichtje werd geschreven en geplaatst via WordPress Calypso. Als je dit leest, dan betekent dat alles werkt zoals het zou moeten.

Wat is WordPress Calypso?

Normaal log je via je browser in op je WordPress site en dan sla je van daaruit aan het schrijven, bewerken, beheren en configureren. Dat werkt zo reeds jaar en dag en dat werkt fantastisch. Een probleem is dat het niet zo evident is om de gebruikersinterface van WordPress zonder meer te moderniseren. Dat vraagt zowel van gebruikers als van de makers van WordPress geweldig veel tijd en inspanning. Waarom? Omdat blogging software waar een massa mensen dagelijks mee aan de slag gaan, altijd, betrouwbaar moeten kunnen werken. En browsers zijn nu net een notoir lastig beestje om een dergelijke oefening tot een goed einde te brengen.

De heren en dames van Automattic bleven natuurlijk niet stil zitten. Ze lanceerden vorig jaar een aparte desktop toepassing: Calypso. Het is een aparte programma dat ik zonet op mijn (quasi) nieuwe Windows 10 battlestation heb geïnstalleerd. Calypso laat mij toe om mijn blog te beheren zonder dat ik daaarvoor via een browser moet inloggen. De interface oogt een stuk moderner en biedt een aantal extra mogelijkheden. Ik kan meerdere sites tegelijk beheren, de interface om artikels te schrijven is sterk vereenvoudigd en alles reageert enorm performant. Zodra ik op de ‘publish’ knop duw, maakt Calypso verbinding met mijn blog en publiceert volautomatisch dit stukje in mijn plaats.

De eerste use case van Calypso is het beheer van WordPress.com blogs. Maar ook self-hosted blogs – zoals deze – kan je met Calypso beheren. Je moet dan wel Jetpack installeren en over een WordPress.com account beschikken. Verder is het een kinderlijk eenvoudig: je opent Calypso, logt in met je WordPress.com gegevens en je kan starten. Dat Calypso niet rechtstreeks met je self-hosted blog communiceert maar via het WordPress.com platform gaat, is meteen ook mijn grootste kritiek op deze toepassing: het is opnieuw een afhanklijkheid van een gecentraliseerde silo. Een dergelijk anti-patroon zie ik persoonlijk liever niet in een product omwille van privacy en een rist andere redenen. Stel dat het WordPress.com platform straks uit valt, dan zal Calypso ook niet of niet helemaal meer werken. Vanuit business perspectief zie ik de opportuniteit wel om het zo te doen – aanmoedigen van gebruik van het platform – maar voor individuele gebruikers kan dat wel eens nadelig uitvallen.

Hoe dan ook, buiten dat ik niet meer moet inloggen via een browser, moet ik nog ondervinden of Calypso uiteindelijk echt iets voor mij zal zijn. We shall see.

Ik deed mee aan #Hacktoberfest

Ik deed vorig jaar mee aan Hacktoberfest. DigitalOcean en Github motiveren dan een maand lang ontwikkelaars en enthousiastelingen om aan open source projecten mee te werken. Als je in oktober 4 bijdragen leverde aan projecten op Github, dan krijg je een gratis t-shirt en wat swag toegestuurd.

Of je beginner of ervaren rot bent: dat doet er niet toe. Iedereen kan mee doen. Enige voorwaarde is dat je met Git leert werken.

Het mooie aan Hacktoberfest is dat het een kans is om eens uit je comfortzone te stappen. Je leert andere projecten, nieuwe programmeertalen, frameworks en mensen kennen.

In ieder geval, het heeft even geduurd: maar vandaag arriveerde mijn shirt uit Tukwila, Washington (blijkbaar ligt dat vlak bij Seattle).

Volgend jaar opnieuw? Volgend jaar opnieuw!

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