In de zoektocht naar RSS Feedreaders kom ik deze interessante manier tegen om zelf uit te zoeken welke feedreader het meest wordt gebruikt bij mijn eigen lezers. Door slim te filteren en te tellen in de logfiles van de site kan ik achterhalen welke feedreaders zoal worden gebruikt. Wordt vervolgd!
cli
Verbreed je horizon met bash
Dat glorieuze gevoel als de computer doet wat je wilt. Als je iets hebt bedacht wat je mogelijk wilt maken, maar je favoriete app naar keuze kan dat niet. Dus je moet het zelf mogelijk maken. Dat blijft de kracht van een computer. Ondanks de stralende en moderne buitenkant blijven het apparaten die je naar je hand kunt zetten. En nee, daar hoef je geen jarenlange cursus voor te volgen. Wel een beetje doorzettingsvermogen en durf. Want ja dingen kunnen stuk gaan en ja soms crasht je computer. Maar als het dan lukt op jouw manier dan is dat toch wel echt lekker.
Zo zat Patrick deze week met een vraagstuk rondom ImageMagick. Hoe zou hij met dat zwitserse zakmes voor grafische toepassingen snel een aantal gifs kunnen maken op basis van bestaande afbeeldingen? Ik riep snel “maak een bash script” omdat ik er zelf eens mee bezig ben geweest. Dé oplossing had ik zo niet voor de hand maar ik wist dat het kan.
Ik lees dat Robin Rendle geen zin heeft om Bash te leren om een paar bestanden te manipuleren. Dat is begrijpelijk. Er zit een leercurve in. Maar aan de andere kant. Als je eenmaal een beetje weet wat mogelijk is, gaat er een wereld voor je op. Misschien niet direct maar wel over tijd.
Vanochtend las ik een bash-script (ja het is wat anders dan de zaterdagkrant om te lezen) om vanaf je commandline iets te posten op microblog. Ondanks mijn nog beperkte kennis van bash scripts kon ik de regels wel begrijpen. Of in elk geval de gedachtengang van de maker. Nu heb ik niet de noodzaak om iets op microblog te posten, maar de gedachtengang van het script vind ik wel interessant. Ik zou op die manier ook vanaf de commandline iets kunnen posten in een andere webapp met een API. Daar had ik nooit zo bij stil gestaan. Want WordPress heeft een API. Dus ik heb een API. Ik zou nog eenvoudiger snel een notitie hier op mijn blog kunnen posten via mijn telefoon en de iOS Opdrachten/Shortcuts app. Ik zou via de Alfred-app snel iets kunnen posten.
Zo zie je maar. Een beetje buiten je horizon kijken brengt je weer nieuwe ideeën.
Werk met de garagedeur open
In de laatste nieuwsbrief maakte ik er al een opmerking over, ik vind het enorm interessant om andermans werkwijze te zien. Om te zien hoe iets wordt gemaakt, om de werkplaats van een maker te bekijken. Ik ben zelf echt niet handig en mijn schuur is een puinzooi. Ik zoek me altijd een ongeluk naar steeksleutel nr 8 of 10 en elke kruiskopschroevedraaier is bot. Ook digitaal klooi ik maar wat aan. Soms laat ik op de site wel wat work in progress zien. Zo vertelde ik in het verleden over de 72 regels code (Deel 1 en deel 2) die ik maakte om een eigen probleem op te lossen. Ik leg uit hoe je al je Twitter volgers kunt verwijderen opnieuw begint. Jaren geleden zochten we publiekelijk uit hoe je met een community een boek kunt publiceren. In korte notities die ik in de trein schrijf probeer ik webmentions werkend te krijgen. Een Raspberry Pi ombouwen tot een timelapse-machine om een sneeuwstorm vast te leggen.
Zo zijn er talloze voorbeelden die ik door de jaren heen hier deel. Stukjes van ideeën die nog niet af zijn, waar ik iets mee zou willen doen. Wat ik uiteindelijk ook ga gebruiken. Of niet. Maar dat maakt niet zoveel uit.
Frustratie over filesizes
Zo heb ik deze zaterdag zitten puzzelen met ImageMagick. De reden was wederom frustratie. In de nieuwsbrief directory Thanks for Subscribing maak ik gebruik van headerbeelden. Het geeft wat kleur en afwisseling in een verder best kale omgeving. In het begin vond ik het niet zo erg om zelf headerbeelden te maken van nieuwsbrieven. Soms plukte ik iets van de site van de maker, soms een voorbeeld van een nieuwsbrief. Op gegeven moment heb ik bij het aanmeldformulier een veld toegevoegd voor de maker om zijn eigen headerbeeld op te geven. Via een URL. Je moet weten, vanaf de eerste dag heb ik de onderliggende Airtable database zo gemaakt, dat ik er alleen URL’s in opsla en geen daadwerkelijke afbeeldingen. Daarom vraag ik om een URL van de afbeelding. Bij voorkeur heeft de afbeelding een specifiek formaat 600 x 400 pixels. Helaas kan ik door de achterliggende database dat niet checken, dus ik hoopte dat de maker zelf slim genoeg is om een directe URL naar een afbeelding te geven en om deze het juiste formaat te geven.
Je voelt al waar dit heen gaat…
Ik krijg heel veel variaties op het thema “juiste URL en juiste afmetingen”. Zo kom ik tegen:
- Een link naar de homepage, ofwel, zoek het zelf maar uit
- Een link naar een Dropbox pagina, waar ik zelf weer de afbeelding uit moet vissen. Veelal in een verkeerde hoogte x breedte
- Een link naar Google Drive
- Links naar imagedumps zoals imgur en vergelijkbare sites
- Headers die te lang zijn
- Headers die te kort zijn
- Header die te klein zijn, lees: een icoon
Kortom, gedoe. Ik wilde dat oplossen. Want het zelf maken van de headers houdt me nu tegen om nieuwe titels toe te voegen aan de site. Het is steeds een paar minuten werk, maar met een gemiddelde backlog van 40 – 60 titels die ik nog moet checken, telt dat flink op.
4 uur werk, 2 regels code
Ik had al vaker van ImageMagick gehoord maar had me er nog niet eerder in verdiept. Ik wilde eens uitzoeken of ik van een opgegeven URL automatisch een headerbeeld kan maken in de juiste dimensies. Mijn uitgangspunt was: Kan ik van een te breed en te kort headerbeeld een juiste uitsnede maken? Ofwel, kan ik van dit

Naar dit formaat gaan?

Vanuit het midden gecropt en op de achtergrond een geblurde versie van hetzelfde beeld. Want dat is een versie die vaak voorkomt. Na een middag puzzelen met de verouderde documentatie en wat voorbeelden uit diverse fora kwam ik langzaam maar zeker ergens. Uiteindelijk kon ik met slechts 2 regels code in een Bash script dit mogelijk maken.
convert $file_name -resize '600x400^' -gravity center -crop 600x400+0+0 -gaussian-blur 20x10 +repage tmp-$file_name
magick composite -gravity center $file_name tmp-$file_name ~/Documents/ThanksForSubscribing/Headers/header.jpg
Als je niet bekend bent met ImageMagick dan zegt bovenstaande je niet veel. Zie het als een conclusie van een denk- en leerproces wat me zeker 4 – 5 uur heeft gekost. Van de eerste stappen in ImageMagick tot het snappen van de documentatie. Vervolgens het uitzoeken van de logica in code en bedenken of dit altijd mijn problemen gaat oplossen.
Want wat er toen gebeurde…
Nee. Het zal niet altijd een oplossing voor mijn probleem zijn. Toen ik bovenstaande regels in een script had gezet om een URL van een header op te halen en het wilde testen, ging het (natuurlijk) direct mis. De header in kwestie in deze

Een te gekke site met bijbehorende nieuwsbrief. Maar een transparante png van een tekstuele header. Daar had ik natuurlijk nog niet over nagedacht. Want als ik die header door dit script laat bewerken dan krijg ik deze header

Niet heel smakelijk om te bekijken… Eigenlijk wil ik met transparante png bestanden weer een andere header maken. Namelijk een witte achtergrond, niet uitgeknipt maar juist geschaald. En dan heb ik het nog niet gehad over headers die hoger dan breed zijn. Of die eigenlijk te klein zijn om te vergroten. Maar goed, de dag zat er wel op en ik was de documentatie van ImageMagick wel even beu. Plus mijn kennis van Bash scripts is zo minimaal dat dit soort als/dan logica me nog even te veel was.
Zo zie je maar, in deze garage staat de deur nog wel even open. Aan de andere kant, de nieuwsbrief directory verhuist hopelijk deze maand naar een nieuwe server met WordPress aan de achterkant. Dan wordt het uploaden en controleren van headerbeelden al een stuk eenvoudiger door de vele plugins die bestaan. Maar ik heb dan toch wel geleerd hoe een mooi gereedschap als ImageMagick werkt.
Curl 7.61.1 comes with only bug-fixes
Mooi dat dit soort oudere commandline utilities nog altijd aandacht en updates krijgen. Ik heb eerlijk gezegd nog nooit dit soort ingebouwde commando’s geupdate. Ik ben benieuwd wat voor effecten dat heeft. #NieuwProject!
Hackers Are The Good People
Van de man die onder andere het curl en libcurl commando heeft geschreven en het onderhoudt (waarmee bv Fortnite wordt gedownload op je computer…)
“Coding Is An Art
I consider coding an art. I really do. Good coders are cool people and coders who aren’t good shouldn’t be paid to code. Good coders are not as popular nor important today that I’d like them to be. Quality code is usually a forgotten issue in the huge corporate developing of today. All people are thought to do equally good. I wish people one day will realize that some people do better code, some do worse code. I’ll become more appreciated that day.
You simply aren’t a skilled programmer after a few years in college. You need time and time in front of a computer bent over a keyboard. You need hundreds of hard hours hacking. “
Bloghelden nu met verbeterde textbestanden
Note to self: Ik heb de repo van Bloghelden eindelijk geüpdate met tekstbestanden zonder vreemde tekens. Eigenlijk was het heel simpel. Met een simpel terminalcommando had ik het in 3 seconden voor elkaar.
textutil -convert txt /path/to/DOCX/files/*.docx