Categorieën
Algemeen

Nieuw op Twitter, bis

Kijk. Ik ben nog maar eens ’n nieuw Twitter-account begonnen.

Het zit namelijk zo: ik ben op dit blog recent overgeschakeld naar een ‘kale’ WordPress-installatie, en zou nu graag enkele IndieWeb-gerelateerde plugins (door)ontwikkelen en delen. (De manier waarop ik voordien WordPress gebruikte, is weinig representatief voor de meeste installaties out there, zie je. Aan de nieuwe aanpak hebben anderen mogelijk wél iets.)

En voor heel wat mensen speelt online interactie zich grotendeels op Twitter af. ‘Dít is onze thuis’, las ik er ooit, toen ik, wederom het IndieWeb indachtig, iemand vroeg waarom-ie niet vaker op z’n blog schreef (en wat minder in Twitter-draadjes).

Kijk, ik heb al een plugin waarmee ik zogenaamde notes op Mastodon deel. En een tijdje heb ik ook de Mastodon Twitter Crossposter gebruikt, om die berichten ook op Twitter te doen verschijnen. Daarvóór gebruikte ik de Publicize-module van Jetpack. Beide werken behoorlijk, ook in combinatie met Bridgy.

Maar goed, ik heb graag wat1 meer2 controle3, en omdat ik al die Mastodon-plugin schreef en een afgeleide daarvan voor Pixelfed, leek het me niet zo gek nog even een Twitter-versie ineen te steken.

Overigens ben ik enkele weken geleden al wat volk weer gaan volgen. Niet op Twitter zelf, maar via Nitter. Da’s een alternatieve frontend, zeg maar, zonder JavaScript en trackingtoestanden, maar mét RSS-feeds. Superhandig, dus, voor wie sowieso meerdere blogfeeds volgt. (Jammer, ook, voor lui die vooral met volgersaantallen bezig zijn.)

  1. Het lijkt erop dat je ook Publicize-berichten programmatorisch kunt customizen, dus misschien is dat genoeg?
  2. Wat Jetpack echter niet doet, is WordPress over de resulterende Twitter-URL inlichten, de zogenaamde syndication URL.
  3. Blijft wel jammer dat je met WordPress.com moet connecten, al ligt dat ook aan Twitter.
Categorieën
Algemeen

Veiligheid (en privacy) op het IndieWeb

Als antwoord op https://diggingthedigital.com/leveraging-indieweb-to-avoid-storing-others-data/.

Ja, sluit netjes aan bij Sebastiaan die eerder z’n eigen site ‘wist te hacken’, en Jan-Lukas die liever zomaar geen content van ’n ander insluit.

***

Ikzelf heb avatars weleens lokaal gecachet, maar dan na een minimum aan veiligheidschecks. (En hield daarbij geen rekening met het feit dat je – en Aaron Parecki doet dat ook – aan zowat elk bericht een andere avatar zou kunnen hangen.)

Of dat legaal is? Ik vrees ervoor, zo zonder expliciete toestemming. Nu, dat is voor webmentions ook zo. Tenzij het sturen daarvan niet alleen ‘Kijk, ik heb wat naar (of over) je geschreven’ wil zeggen, maar ook ‘Toon gerust op je site’. (Terzijde: hoe zit dat met CDN’s en zo? Ik bedoel, er wordt online nogal wat afgecachet.)

Bovendien: wie zijn avatar in een h-card afficheert, zegt daarmee bijna ‘gebruik gerust deze afbeelding’ (en bijvoorbeeld geen andere) wanneer je naar me linkt. (Wat niet wil zeggen dat ik het fijn zou vinden mocht m’n foto plots op elke pagina van, ik zeg maar wat, een of ander haatforum verschijnen.)

‘Silo-replies’ – van Bridgy, bijvoorbeeld – overnemen is sowieso not done, cf. puntjes twee en drie in Sebastian Gregers zeer degelijke betoog daarover. Al kun je je ook hier weer de vraag stellen of een linkje en eventueel kort fragmentje, genre pingback, écht niet kan. Wikipedia staat vol zulke referenties. De IndieWeb-wiki ook. En, euh, de rest van het web.

Een op JavaScript gebaseerde oplossing maakt inderdaad dat je niks hoeft op te slaan, en ingesloten inhoud dus vanzelf weer verdwijnt zodra het origineel wordt verwijderd. De officiële embedcode van een Twitter of Instagram werkt ook zo. (Het grote nadeel daarvan is dan weer dat je ook hun scripts op je site moet draaien.)

En e-mail dan, en ActivityPub? Daar wordt per definitie je hele visitekaartje de halve wereld rond gestuurd, of niet? (Het antwoord laten we als oefening aan de lezer.)

Categorieën
Algemeen

Hallo WordPress!

Ik laat dit blog weer even op WordPress draaien. Ik bedoel, dat deed het al, achter de schermen. Maar het publieke deel van deze site, hetgeen jij gepresenteerd krijgt, was lange tijd een Laravel-app.

(Dat opzetten was overigens niet heel moeilijk. Veel meer dan Laravel – ook PHP, trouwens – als het ware in WordPress’ database laten grabbelen en het resultaat daarvan in een Blade-template gieten, deed ik niet.)

Maar, bon. WordPress, en dus een hoop minder controle over de gegenereerde HTML en tig automatische archieven die ik misschien liever niet zou zien.

Desondanks ben ik van plan dit minstens een tijdje vol te houden, en aan anderen te tonen hoe ik dat doe: een IndieWeb-site met een minimum aan plugins en zonder dat m’n admininterface een zootje wordt.

Ik heb alvast wat op GitHub gegooid, en ik gebruik natuurlijk méér plugins, zoals die ene die m’n schrijfsels meteen ook op Mastodon gooit, maar in wezen is dit blog, het hele IndieWeb-gedoe incluis, bijzonder eenvoudig van opzet.

Up next: iets met screenshots en zo.

Categorieën
Algemeen

Over online eigenaarschap

Een Vlaamse tweep, leerde ik net, zag zowat drie weken geleden d’r account gehackt, en hoewel dat al talloze keren werd gerapporteerd, doet Twitter niks.

Als mijn site overgenomen wordt, denk ik dan, haal ik ‘m offline en schoon ik ‘m op, zoals ik van de week nog voor twee klanten deed, en in het slechtste geval gaat het hele hostingaccount in de prullenmand en ben ik nog diezelfde dag elders opnieuw online.

Je online thuis aan een ander toevertrouwen is niet zonder risico1.

  1. Ik bedoel, aan zo’n grote, ‘gratis’ doos als Twitter. Het beheer van je site uitbesteden aan iemand die je vertrouwt én vergoedt is nog net iets anders.
Categorieën
Algemeen

Kaaiman

Update: De man is onderhand met pensioen en het ding offline, en dat is prima.

Al ben ik allerminst onvoorwaardelijk fan van Koen Meulenaeres ‘vlijmscherpe column’, een RSS-feed leek me wel geestig.

Ook op de site van De Tijd bestaat Kaaiman in RSS-vorm, maar dan moet je er wel de schrijfsels van de andere columnisten bij nemen. Gelukkig bestaat er gewoon een webpagina met links naar de meest recente stukjes.

Dan: RSS-Bridge. Da’s een webtoepassing die het doodeenvoudig maakt om pagina’s met een (chronologisch) lijstje links om te zetten in een Atom‑ of JSON-feed.

En om aan RSS-Bridge een nieuwe bron aan toe te voegen, maak je gewoon een nieuw bestand1 aan in bridges. Een beetje zo, dus:

<?php

class KaaimanBridge extends BridgeAbstract
{
  const MAINTAINER = 'ochtendgrijs';
  const NAME = 'Kaaiman';
  const URI = 'https://www.tijd.be/dossiers/kaaiman.html';
  const CACHE_TIMEOUT = 3600;
  const DESCRIPTION = 'De vlijmscherpe column van Koen Meulenaere in De Tijd';

  public function collectData()
  {
    $pageUrl = self::URI;
    $html = getSimpleHTMLDOM($pageUrl) or returnServerError('Could not request Kaaiman: ' . $pageUrl);

    foreach ($html->find('div.c-articleteaser') as $element) {
      if (count($this->items) >= 10) {
        break;
      }

      $item = [
        'uri' => 'https://www.tijd.be' . $element->find('a.c-articleteaser__link', 0)->href,
        'title' => trim($element->find('div.c-articleteaser__title', 0)->plaintext),
        'content' => '<p>' . trim($element->find('div.c-articleteaser__text', 0)->plaintext) . '</p>',
      ];

      $this->items[] = $item;
    }
  }
}

Daarna voeg je alleen nog Kaaiman toe aan whitelist.txt, en klaar.

  1. Zelf gebruik ik Docker voor het draaien van RSS-Bridge, en volumes om dit nieuwe bestand naar de appcontainer te syncen.