<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[KEK wat ik dacht]]></title><description><![CDATA[Het kwam zomaar ineens bij me op | It just occurred to me one day]]></description><link>https://www.kekwatikdacht.nl/</link><image><url>https://www.kekwatikdacht.nl/favicon.png</url><title>KEK wat ik dacht</title><link>https://www.kekwatikdacht.nl/</link></image><generator>Ghost 5.88</generator><lastBuildDate>Wed, 15 Apr 2026 11:20:48 GMT</lastBuildDate><atom:link href="https://www.kekwatikdacht.nl/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Gitposting]]></title><description><![CDATA[<h2 id="inhoud">Inhoud</h2><p><em>Ook dit is een onderdeel dat ik nog wil automatiseren. Voor nu doe ik het nog maar even met de hand, min of meer zoals </em><a href="https://www.freecodecamp.org/news/how-to-add-a-table-of-contents-to-your-article-on-ghost/?ref=kekwatikdacht.nl" rel="noreferrer"><em>hier</em></a><em> beschreven. </em></p><ul><li><a href="#inleiding" rel="noreferrer">Inleiding</a></li><li><a href="#poging-1-bash-jq" rel="noreferrer">Poging 1: bash &amp;&amp; jq</a></li><li><a href="#poging-2-c-console-app" rel="noreferrer">Poging 2: C# console app</a></li></ul><hr><h2 id="inleiding">Inleiding</h2><p>Ik heb het idee opgevat om de ontwikkeling van</p>]]></description><link>https://www.kekwatikdacht.nl/gitposting/</link><guid isPermaLink="false">68191cd0e02b04f4465cf1ff</guid><category><![CDATA[this]]></category><category><![CDATA[NL]]></category><dc:creator><![CDATA[Koen Elsdijk-Kantabuth]]></dc:creator><pubDate>Thu, 12 Feb 2026 18:04:42 GMT</pubDate><content:encoded><![CDATA[<h2 id="inhoud">Inhoud</h2><p><em>Ook dit is een onderdeel dat ik nog wil automatiseren. Voor nu doe ik het nog maar even met de hand, min of meer zoals </em><a href="https://www.freecodecamp.org/news/how-to-add-a-table-of-contents-to-your-article-on-ghost/?ref=kekwatikdacht.nl" rel="noreferrer"><em>hier</em></a><em> beschreven. </em></p><ul><li><a href="#inleiding" rel="noreferrer">Inleiding</a></li><li><a href="#poging-1-bash-jq" rel="noreferrer">Poging 1: bash &amp;&amp; jq</a></li><li><a href="#poging-2-c-console-app" rel="noreferrer">Poging 2: C# console app</a></li></ul><hr><h2 id="inleiding">Inleiding</h2><p>Ik heb het idee opgevat om de ontwikkeling van <a href="https://www.kekwatikdacht.nl/about" rel="noreferrer">deze blog</a> bij te houden in een git repository. Zowel de inhoud van posts en pagina&apos;s als de automatisering en andere code die ik <a href="https://onzetaal.nl/taalloket/er-voorzetsel-werkwoord?ref=kekwatikdacht.nl">eromheen</a> ontwikkel. Die repository <a href="https://github.com/koenelsdijk/kekwatikdacht/commit/e33fe8305546d8e75cd681288a28c8a96b349766?ref=kekwatikdacht.nl">heb ik aangemaakt</a> en toegevoegd aan de links die bovenin staan op <a href="https://www.kekwatikdacht.nl/" rel="noreferrer">kekwatikdacht.nl</a>. </p><p>De eerste handeling die ik wil automatiseren is het bijhouden van wijzigingen in posts, wanneer ik eraan werk in de ghost-editor. Om te beginnen ga ik bezig met het omzetten van de post-data naar leesbare bestanden. Ghost biedt de mogelijkheid om alle data te <a href="https://ghost.org/help/exports/?ref=kekwatikdacht.nl#content">exporteren naar een JSON-bestand</a>. Daarin is de inhoud van elke post opgenomen in drie formats, waaronder <a href="https://nl.wikipedia.org/wiki/HyperText_Markup_Language?ref=kekwatikdacht.nl">HTML</a>. Die wilde ik in aparte bestanden zetten om ze op te nemen in de repository. Daartoe ondernam ik</p><h2 id="poging-1-bash-jq">Poging 1: bash &amp;&amp; jq</h2><p>Ik heb het volgende <a href="https://github.com/koenelsdijk/kekwatikdacht/commit/a839aee8e20877dced67f2655054efeb9d2d93e0?ref=kekwatikdacht.nl">bash-script gemaakt</a> (ik wilde schrijven &apos;geschreven&apos;, maar dat voelt niet helemaal kloppend met de ondersteuning van <a href="https://huggingface.co/Qwen/Qwen2.5-Coder-14B-Instruct-GGUF?ref=kekwatikdacht.nl#qwen25-coder-14b-instruct-gguf" rel="noreferrer">een LLM</a>) dat de HTML van alle posts uit de JSON van de export in html-bestanden zet. Ik heb nu nog handmatig de <a href="https://ghost.org/help/exports/?ref=kekwatikdacht.nl#content">backup JSON gedownload</a>, het script gedraaid en <a href="https://github.com/koenelsdijk/kekwatikdacht/commit/189028356b10d6873343fa37aaa2091c6d0e4bd9?ref=kekwatikdacht.nl">de gegenereerde bestanden toegevoegd aan de repository</a>. Mijn plan is om dat allemaal automatisch op de server te laten plaatsvinden. Periodiek of, bij voorkeur, getriggerd door het bewerken en/of publiceren van een post. Ook zou ik er graag op github beter leesbare <a href="https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax?ref=kekwatikdacht.nl">markdown</a>-bestanden van willen maken. </p><div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><a href="https://github.com/koenelsdijk/kekwatikdacht/blob/main/extract_posts.sh?ref=kekwatikdacht.nl" rel="noreferrer"><code spellcheck="false" style="white-space: pre-wrap;"><span>extract-posts.sh</span></code></a></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><p><i><em class="italic" style="white-space: pre-wrap;">Het was mijn bedoeling onderstaand codeblok hier binnen de toggle te plaatsen, maar ik zie nog geen mogelijkheid in de ghost editor om dat voor elkaar te krijgen. Hoe ik dat wel kan doen ga ik later uitzoeken. </em></i></p></div>
        </div><figure class="kg-card kg-code-card"><pre><code>#!/bin/bash
JSON_DATA=$(cat &quot;test.json&quot;)

# Use jq to parse and extract data
jq_output=$(echo &quot;$JSON_DATA&quot; | jq -r &apos;
  .db[0].data.posts[] | [{
    filename: (if .status == &quot;draft&quot; then (.slug + &quot;_DRAFT&quot;) else .slug end + &quot;.html&quot;),
    content: .html,
    type: .type
  }]
&apos;)

echo &quot;$jq_output&quot; | jq -c &apos;.[]&apos; | while read item; do
  filename=$(echo &quot;$item&quot; | jq -r &apos;.filename&apos;)
  content=$(echo &quot;$item&quot; | jq -r &apos;.content&apos;)
  dir=$(echo &quot;$item&quot; | jq -r &apos;.type&apos;)s # &lt;- &apos;s&apos; to create plural. Type can be &quot;post&quot; or &quot;page&quot;.

  mkdir -p &quot;$dir&quot;
  echo &quot;$content&quot; &gt; &quot;$dir/$filename&quot;
  echo &quot;wrote to $dir/$filename&quot;
done</code></pre><figcaption><p><span style="white-space: pre-wrap;">bash</span></p></figcaption></figure><p>Dit was mijn eerste kennismaking met <a href="https://github.com/jqlang/jq?ref=kekwatikdacht.nl">jq</a>, dat ik alleen nog van naam kende. Mijn eerste indruk: heel nuttig om in de terminal of een script met json data te werken. Het werkte prima voor mijn doeleinden, totdat ik wat verder kwam met deze post, de eerste waarin wat meer gebeurt dan platte tekst en een horizontale lijn. Met name het codeblok met het script hierboven bleek problematisch voor het script. &#x1F914; Na een aantal probeersels om het script volledig werkend te krijgen met deze post, besloot ik het anders aan te pakken. Het was tijd voor</p><h2 id="poging-2-c-console-app">Poging 2: C# console app</h2><p>Nu ik niet langer dacht dat het met een bash-script sneller en makkelijker kon, viel ik terug op wat ik het beste ken en waar ik het meest comfortabel in ben: <a href="https://nl.wikipedia.org/wiki/C_Sharp?ref=kekwatikdacht.nl" rel="noreferrer">C#</a>. </p><hr><h2 id="enige-tijd-later">Enige tijd later</h2><p>Alles hierboven heb ik meer dan een half jaar geleden geschreven. Misschien wordt het tijd dit maar eens af te ronden. Veel meer valt er momenteel ook niet over te zeggen. Ik heb een eenvoudige <a href="https://nl.wikipedia.org/wiki/Command-line-interface?ref=kekwatikdacht.nl">CLI</a> gemaakt met <a href="https://spectreconsole.net/cli?ref=kekwatikdacht.nl">Spectre</a>, dat ik een heel prettig bruikbare library vind. Die haalt de html van de posts en pagina&apos;s uit de door de backup gegenereerde json, en slaat ze op in aparte bestanden, die ik vervolgens handmatig push naar <a href="https://github.com/koenelsdijk/kekwatikdacht/tree/main/content?ref=kekwatikdacht.nl">de repository</a>. </p><p>Het zijn dus nog geen makkelijk leesbare teksten, tenzij je ze in een browser laadt. Een mogelijke volgende stap is om er, zoals gezegd, markdown van te maken, zodat ook de drafts eenvoudig leesbaar zijn op github. </p><h2 id="afsluiting">Afsluiting</h2><p>Dit voelde een beetje als een abrupt einde aan dit verhaal, en dat probeer ik met deze opmerking erover te verminderen. Verder is de stijl niet erg consistent, is het niet overal even leesbaar en is er kortom genoeg op aan te merken. Een prima kandidaat dus voor latere revisie, maar deze versie (todo: <code>deze versie</code> linken naar deze versie op github) blijft ook bestaan, en dat is wat ik hier vooral mee wilde bereiken. Om achteraf terug te kunnen zien hoe teksten tot stand gekomen zijn en zich ontwikkeld hebben. </p><p><em>P.S. Nu ben ik vergeten hoe ik aan de links in de inhoudsopgave kwam, dus die ontbreken nog voor de laatste twee kopjes. Maar ik ga dit lekker toch alvast publiceren. </em></p>]]></content:encoded></item><item><title><![CDATA[Oneliner]]></title><description><![CDATA[<p>Ken je dat gevoel, als je met een borrel in de zon zit omdat je even tijd over hebt voordat je je kind weer gaat ophalen van dansles, zodat je zolang toch niet veel anders kunt doen, en je bedenkt ineens dat je jezelf had beloofd elke maand naar je</p>]]></description><link>https://www.kekwatikdacht.nl/oneliner/</link><guid isPermaLink="false">682f7010e02b04f4465cf24b</guid><dc:creator><![CDATA[Koen Elsdijk-Kantabuth]]></dc:creator><pubDate>Thu, 22 May 2025 18:45:32 GMT</pubDate><content:encoded><![CDATA[<p>Ken je dat gevoel, als je met een borrel in de zon zit omdat je even tijd over hebt voordat je je kind weer gaat ophalen van dansles, zodat je zolang toch niet veel anders kunt doen, en je bedenkt ineens dat je jezelf had beloofd elke maand naar je blog te posten, maar dat je de vorige maand ook al hebt overgeslagen, terwijl je wel al een opzet hebt voor een wat meer omvattende post die al weken stil ligt, en dan toch maar besluit je er voor nu toch maar met een enkele zijn vanaf te maken en je telefoon pakt en &apos;m neerpent? </p><hr><p>Do you know that feeling when you&apos;re having a drink in the sun because you&apos;ve got some spare time until you&apos;re picking up your kid from dance class, so there&apos;s not much else you can do anyway, and then you realise you promised yourself to post to your blog every month but you already missed last month, though you do have a draft that&apos;s been stale for weeks, and then you decide to just go for a oneliner again and grab your phone to jot it down?</p>]]></content:encoded></item><item><title><![CDATA[Communicatie | Communication]]></title><description><![CDATA[<p>Toen ik mijn collega tijdens een online vergadering, nadat dit om technische redenen even niet lukte, hoorde aankondigen dat hij nu weer kon praten en luisteren tegelijk, leek me dat een bijzonder nuttige vaardigheid. </p><hr><p>When, during an online meeting, after he&apos;d been unable to for a while due</p>]]></description><link>https://www.kekwatikdacht.nl/communicatie-communication/</link><guid isPermaLink="false">67be0f71e02b04f4465cf0d5</guid><category><![CDATA[Observaties]]></category><category><![CDATA[Oneliners]]></category><category><![CDATA[NL]]></category><category><![CDATA[EN]]></category><dc:creator><![CDATA[Koen Elsdijk-Kantabuth]]></dc:creator><pubDate>Sat, 01 Mar 2025 08:00:17 GMT</pubDate><content:encoded><![CDATA[<p>Toen ik mijn collega tijdens een online vergadering, nadat dit om technische redenen even niet lukte, hoorde aankondigen dat hij nu weer kon praten en luisteren tegelijk, leek me dat een bijzonder nuttige vaardigheid. </p><hr><p>When, during an online meeting, after he&apos;d been unable to for a while due to technical difficulties, I heard my colleague announce he could now again speak and listen at the same time, this seemed like a very useful ability. </p>]]></content:encoded></item><item><title><![CDATA[Plannen | Plans]]></title><description><![CDATA[<p>Na zo&apos;n acht jaar aan websites en -applicaties te hebben gewerkt viel me op dat ik zelf nog nooit een website heb gehad. Nu heb ik besloten een blog te beginnen. Ik heb er allerlei idee&#xEB;n voor. Deze bijvoorbeeld:</p><ul><li>Inhoudelijk: <ul><li>Observaties: alledaags, technisch, beide of anderszins</li></ul></li></ul>]]></description><link>https://www.kekwatikdacht.nl/plannen-plans/</link><guid isPermaLink="false">67c068eae02b04f4465cf10b</guid><category><![CDATA[this]]></category><category><![CDATA[NL]]></category><dc:creator><![CDATA[Koen Elsdijk-Kantabuth]]></dc:creator><pubDate>Thu, 27 Feb 2025 14:35:26 GMT</pubDate><content:encoded><![CDATA[<p>Na zo&apos;n acht jaar aan websites en -applicaties te hebben gewerkt viel me op dat ik zelf nog nooit een website heb gehad. Nu heb ik besloten een blog te beginnen. Ik heb er allerlei idee&#xEB;n voor. Deze bijvoorbeeld:</p><ul><li>Inhoudelijk: <ul><li>Observaties: alledaags, technisch, beide of anderszins</li><li>Plannen en idee&#xEB;n die ik heb</li><li>Malle versjes of andere geintjes</li><li>Technische posts, bijvoorbeeld over deze blog</li><li>Tweetalig, in nederlands en engels</li><li>Misschien verzin ik nog eens een verhaal</li></ul></li><li>Technisch:<ul><li>De blog koppelen aan een github repository<ul><li>Automatische commits naar die repository bij opslaan en publiceren van posts</li><li>Gesprekken met taalmodellen koppelen aan de posts waar ik daar gebruik van gemaakt heb</li></ul></li><li>Backups</li><li>Misschien doe ik nog eens iets aan de opmaak van de posts en de rest van de website</li></ul></li></ul><p>Ik heb me voorgenomen om maandelijks minimaal &#xE9;&#xE9;n post te plaatsen. Ik schrijf primair voor mezelf, maar een dergelijke doelstelling voorkomt dat het volledig verwatert. </p><p>Ik ben (nog) niet tevreden over deze post. Te weinig humor, en ik wil nog allerlei links toevoegen. Ik publiceer &apos;m toch alvast. Als ik nog aanpassingen maak, zal deze versie terug te vinden zijn in de git historie. </p><hr><p>After having worked on websites and web applications for about eight years, it occurred to me that I&apos;ve never had my own website. Now I&apos;ve decided to start a blog. I have all kinds of ideas for it. These for instance:</p><ul><li>Content:<ul><li>Observations: everyday, technical, both or other</li><li>Plans and ideas I have</li><li>Silly rhymes or other jokes</li><li>Technical posts, e.g. about this blog</li><li>Bilingual, in Dutch and English</li><li>I might even make up a story one day</li></ul></li><li>Technical:<ul><li>Link the blog to a github repository<ul><li>Automatically commit when saving and publishing posts</li><li>Add conversations with language models to posts where I used them</li></ul></li><li>Backups</li><li>I might even do something about the look of the posts and website some day</li></ul></li></ul><p>I intend to post at least once every month. I write for me primarily, but such an objective helps me keep this up. </p><p>I&apos;m not (yet) satisfied with this post. Too humorless, and I want to add a bunch of links. I&apos;m publishing it anyway. If I change it later, this version will be recorded in the git history. </p>]]></content:encoded></item><item><title><![CDATA[Hierover | About this]]></title><description><![CDATA[<p>Ik ben van plan iets te gaan schrijven<br>Een sinterklaasvormig gedicht<br>Ik weet nog niet precies waarover<br>Vast geen zaak van groot gewicht</p><p>Dat schrijven is nu dit geworden<br>Je leest het net vers van de pers<br>En omdat het hier ook over gaat<br>Is het dus een meta-vers</p><hr><p>I</p>]]></description><link>https://www.kekwatikdacht.nl/hierover-about-this/</link><guid isPermaLink="false">678455c82326093520266cee</guid><category><![CDATA[this]]></category><category><![CDATA[NL]]></category><category><![CDATA[EN]]></category><dc:creator><![CDATA[Koen Elsdijk-Kantabuth]]></dc:creator><pubDate>Sun, 12 Jan 2025 23:53:22 GMT</pubDate><content:encoded><![CDATA[<p>Ik ben van plan iets te gaan schrijven<br>Een sinterklaasvormig gedicht<br>Ik weet nog niet precies waarover<br>Vast geen zaak van groot gewicht</p><p>Dat schrijven is nu dit geworden<br>Je leest het net vers van de pers<br>En omdat het hier ook over gaat<br>Is het dus een meta-vers</p><hr><p>I intend to write a bit<br>Some poem in whatever form<br>I haven&apos;t put much thought to it<br>And doubt it will meet any norm</p><p>However, this is it right here<br>It definitely could be worse<br>And &apos;cause it is about itself<br>That makes this a meta-verse</p>]]></content:encoded></item></channel></rss>