• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Digging the Digital

Vol Blogdrift!

  • /Now
  • Nieuw? Start hier
    • Blogroll
    • Tag Index
  • Startgids Mastodon
  • WordPress en Indieweb
    • WordPress en het indieweb
    • Hoe gebruik je IndieAuth met WordPress
    • WordPress en webmentions
    • WordPress en Micropub
    • WordPress en de Post Kind plugin
  • Notities
  • Bookmarks
  • Likes

bash

Verbreed je horizon met bash

10 July 2021 door Frank Meeuwsen 6 Comments

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.

Opgeslagen onder: indieweb Tags: Alfred, api, bash, cli, DIY, imagemagick, programmeren

Werk met de garagedeur open

5 April 2021 door Frank Meeuwsen 10 Comments

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

Bhupesh Pal via Unsplash

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.

Opgeslagen onder: indieweb Tags: bash, cli, code, DIY, imagemagick, Script

Footer

Wat is dit?

Frank MeeuwsenDigging the Digital is de digital garden of commonplace book van Frank Meeuwsen. Onderwerpen variëren van indieweb tot nieuwsbrieven, bloggen, muziek en opvallende gebeurtenissen op het internet.

Meer Frank

Bloghelden - De definitieve geschiedenis van webloggend Nederland

Op deze dag

  • 2 years ago...
    • Je notities zichtbaar verbonden in Obsidian
  • 3 years ago...
    • The Breakfast Club is jarig
  • 4 years ago...
    • The Breakfast Club 1984
    • Communities op de Dutch Comic Con
  • 10 years ago...
    • Hoe bepaal je de prijs van je eigen e-book?
  • 13 years ago...
    • Social Warfare tussen Nestl en Greenpeace
  • 20 years ago...
    • The hippie period of the Web is over
  • RSS
  • LinkedIn
  • GitHub
  • Mastodon
← An IndieWeb Webring →

Archives

  • Likes (268)
  • Bookmarks (267)
  • Notes (134)
  • Replies (53)
  • Articles (722)
  • All Posts

Digging the Digital staat op de state of the art server van Servebolt.
De snelste high-performance hosting met een sterke focus op schaalbaarheid en veiligheid.