Eens in de zoveel tijd krijg ik de onbedwingbare behoefte om iets met het InterPlanetary File System (IPFS) te doen. Ik heb geen plan of doel, maar iets in mij zegt dat ik sites en bestanden dit peer-to-peer bestandsysteem op moet gooien. Laatst was het weer zover…

stockfoto van een netwerk ter opleuking

IPFS

IPFS is een peer-to-peer bestandsysteem op het internet. Vergelijk het met HTTP. Maar anders dan bij HTTP heb je geen centrale server en geen URL’s. In plaats van een server heb je peers in het netwerk. In plaast van URL’s, krijgt elk bestand z’n eigen hash. Dit is ook een van de belangrijkste verschillen: HTTP is locatie gebaseerd (content staat op URL) en IPFS content gebaseerd (Hash van content).

Zodra je je website op IPFS “zet”, wordt je site in stukken geknipt en worden de losse onderdelen over het IPFS netwerk verdeeld. Als iemand je site wil bekijken worden al die stukken weer bij elkaar gezocht en wordt de website getoond. Waar ik zeg website kun je ook video of afbeelding lezen. Files dus. Het leuke van hashing is natuurlijk dat twee dezelfde bestanden, dezelfde hash opleveren. Als twee identieke bestanden los van elkaar op IPFS worden gezet, worden die door IPFS als echt dezelfde bestanden gezien. Dat scheelt weer opslagruimte, overdracht en dubbele data.

Zelf doen

Iedereen kan in z’n browser IPFS sites bekijken. Doordat browsers doorgaans alleen met HTTP werken, gaat dat wel via een gateway. Als je achter https://ipfs.io/ipfs/ de hash van een site plakt, wordt de site opgehaald en kun je hem bekijken. Hier kun je bijvoorbeeld een foto van een bierdopje bekijken: https://ipfs.io/ipfs/QmRL3kadYto4kjDk1eUbjTW4UywikHwEcLKRfRKoUDEZht. Er zijn ook plugins voor allerlei browsers te krijgen en de Brave browser kan het native.

Pinnen

IPFS hangt van de caching aan elkaar. Om ervoor te zorgen dat je bestanden daadwerkelijk ergens blijven staan en niet telkens uit allerlei caches worden geveegd, kun je bestanden “pinnen”. Je geeft dan eigenlijk aan dat de cache van de bestanden moet blijven bestaan. Als iemand dan het bestand wil opvragen, zijn in elk geval de gepinde bestanden beschikbaar. Pinnen is vaak niet gratis omdat het schijfruimte kost. Er services als bijvoorbeeld pinata.cloud waar de eerste Gigabyte pinnen gratis is.

Een andere manier om anderen ervan te overtuigen om jouw bestanden op te slaan, is om ze om te betalen. Betalen doen we tegenwoordig natuurlijk alleen nog via Cryptocurrencies en voor IPFS is ook een coin bedacht: de Filecoin. Hoe die vork precies in z’n steel zit weet ik niet, maar er heeft vast iemand over nagedacht.

Name servers

Elk bestand een eigen hash klinkt leuk, maar er kleeft ook een dik nadeel aan. Telkens als je je website aanpast verandert de hash en ben je dus je hash/adres kwijt. Het “oude” internet heeft een (ongeveer) vergelijkbaar probleem al een tijdje geleden opgelost met Name servers. IPFS heeft hiervoor iets vergelijkbaars: Interplanetary Name System. Je kan dan updates onder dezelfde hash blijven publiceren. Je hebt dat nog steeds niet echt een “naam” voor je site, maar de hash blijft in elk geval hetzelfde. Het probleem van de namen kan weer opgelost worden met DNSLink. Good old DNS dus eigenlijk.

Geensnor en IPFS

Wij van Geensnor steken natuurlijk altijd wel even onze spreekwoordelijke teen in het water als het gaat om dit soort onderwerpen. De website van Omloop De Snor (3 juli a.s., allemaal meedoen!! yeah!) staat tegenwoordig ook op IPFS en wel op dit adres: https://gateway.pinata.cloud/ipfs/QmZoiUzC9YmgZF1gWX3AKPmiorDhjzs5UcijVbTk188cfq Dit is zonder IPNS, dus op het bovenstaande adres zul je nooit een update zien. Maar met behulp van een GitHub Action wordt elke update van Omloop De Snor automatisch gepind bij pinata.cloud. Ik durf bij deze wel te stellen dat onze eigen Omloop De Snor de enige tourtocht is waarvan de website bij elke update automatisch op IPFS wordt gezet. Een goede reden om op 3 juli mee te rijden!

Update: Geensnor pin overzicht

Om wat orde te scheppen in alle pinnen, hebben we even een pin overzicht gemaakt: geensnor.nl/ipfs. Hier staan alle IPFS pinnen van geensnor.nl die bij Pinanta zijn gepind. Elke nieuwe versie van (bijvoorbeeld) de website van Omloop de Snor, zorg voor een nieuwe pin. Het kan zijn dat we er af en toe wat opruimen. Als je erg gehecht bent aan een specifieke versie, kun je hem natuurlijk altijd zelf pinnen.

Facebook is lek, Clubhouse is alweer voorbij en TikTok is kut. Het internet is kapot gemaakt door het grootkapitaal en wij als gebruikers rennen van hype naar hype, opgegeild door kunstmatige intelligentie die ons steeds grotere ophef voorschoteld. Het is allemaal verschrikkelijk mensen en het wordt nog veel erger.

digitale tuin

Een klein lichtpuntje van hoop in deze tsunami van gitzwarte ellende zijn Digitale Tuinen. Digital Gardens in het Engels, maar op geensnor.nl spreken we Nederlands, dus hier zeggen we Digitale Tuinen. En als je Digitale Tuinen een beetje weeeig vindt klinken heb je misschien gelijk, maar toch blijven we Digitale Tuinen zeggen.

Ik weet niet zeker of Tom Critchlow’s tuin de eerste was, maar Tom was er zeker vroeg bij met z’n Digitale Tuin. Hij heeft een soort Wiki gemaakt van een hele berg Markdown bestanden. Met behulp van Jekyll maakt hij daar dan een website van en zet die online.

Wat is een Digitale Tuin?

Wat een Digitale Tuin precies is, weet ik ook niet. Het is in elk geval belangrijk dat je een website hebt waaraan je kennis en ervaringen toevoegd. Een soort Wiki dus. Actualiteit (blogs…) en interactie zijn minder belangrijk. Of zoals digitale tuinman Joel Hooks het zo mooi zegt:

The phrase “digital garden” is a metaphor for thinking about writing and creating that focuses less on the resulting “showpiece” and more on the process, care, and craft it takes to get there.

en

What makes a garden is interesting. It’s personal. Things are organized and orderly, but with a touch of chaos around the edges.

Anders dan de hijgerige Sociale Media (Social Media in het Engels, maar dat zeggen we hier dus niet…) een plaats van rust dus. Even de voetjes omhoog, niets moeten, biertje, Digitale Tuin, kaasje, even jezelf zijn…dat werk een beetje….

Geensnor.nl is een Digitale Tuin!

Bij de woorden “care”, “craft” en “touch of chaos” van Joel hierboven, dacht je natuurlijk meteen: geensnor.nl! Inderdaad, heel goed! Niet voor niets referen we in de titel van onze site al lang aan een mogelijke Digitale Tuin. Tuurlijk, we zijn niet vies van een mopje bloggen zo af en toe, maar we zijn vooral volop aan het planten, oogsten en onkruid aan het wieden. We hebben inmiddels lijstvelden, bossen vol recepten, een beelden tuin en een gids in onze tuin. Bovendien hebben een terras aangelegd waar je rustig een gesprek kan voeren. En er worden zelfs wel eens sportevenementen georganiseerd in onze tuin. Geensnor is al jaren een schitterende, veelzijdige Digitale Tuin!

Andere tuinen

Inmiddels hebben ook anderen de digitale tuinhandschoen opgepakt. Zo kondigde Hay Kranen in z’n nieuwsbrief aan dat hij er ook een is begonnen. Hay heeft z’n inspirate weer in de tuin van ene Kevin Cunningham opgedaan. Ook GitHub staat bol van de Digitale Tuinen tegenwoordig.

Dus heb je ergens nog een stukje braakliggend internet liggen en ben je niet bang om vieze handen te krijgen? Doe wat inspiratie op en begin zelf een heuse Digitale Tuin! Het internet kan het goed gebruiken.

classified plaatje

Het vlaamse Classified heeft een schakelsysteem gemaakt waarbij je geen voorderailleur meer nodig hebt. Wat de voorderailleur normaal doet, gebeurt nu draadloos in de naaf. Hierdoor zou er minder slijtage moeten zijn en kun je schakelen terwijl je kracht zet. Voor het systeem moet je wel je halve fiets verbouwen want je moet ook een nieuw wiel en een nieuwe cassette. Weerstand en gewicht schijnen wel in orde te zijn.

GCN Tech heeft er een video van op YouTube gezet:

gummbah paard

Ik vind Gummbah, pseudoniem van Gertjan van Leeuwen, vaak erg leuk.

Op bigcartel.com kun je allerlei schilderijen, boeken en kaarten van hem kopen. Gratis bezorging binnen Tilburg.

Sinds jaar en dag voorziet geensnor.nl menig culinair talent met inspiratie. Op geensnor.nl/watetenwevandaag staan talloze heerlijke en verantwoorde recepten. Deze recepten zijn wel allemaal heel lekker, maar qua semantiek schortte er nog wel eens wat aan. En dat proef je uiteindelijk toch…. Gelukkig is dit probleem sinds korte tijd opgelost en draaien ook de recepten van Geensnor mee in de wondere wereld van het Semantisch Web.

Semantisch Web?

Ja, kinderen het Semantisch Web. Opa is nu even aan het woord. Vroeger, aan het begin van deze eeuw, lang voor de oprichting van geensnor.nl was het Semantisch Web hot and happening. Ging het niet over de mond-en-klauwzeer, Rintje Ritsma of Nina Brink, dan ging het wel over het Semantische Web. XML was hagelnieuw en Tim Berners-Lee droomde van een internet waarbij de content niet alleen iets voor mensen betekende, maar ook voor computers. De informatie op internet moest metadata mee gaan krijgen die betekenis gaf aan de titels, woorden, artikelen, namen, etc.. Hierdoor zou je het hele internet kunnen gaan gebruiken als een soort database waarbij alle beschikbare informatie gekoppeld kan worden. Fantastisch plan Tim!

Sindsdien zijn we allemaal ouder en wijzer geworden en ook het Semantisch Web heeft niet stil gestaan. Zo’n beetje elke blogpost (ook deze) bevat wel metadata om aan te geven dat het een blogpost is. Ook bijvoorbeeld Wikipedia staat helemaal strak van de metadata. Zoekmachines worden erg blij van al die metadata. Verder helpt het bij de datauitwisseling tussen systemen.

Jaja, en die recepten dan?

Recepten hebben hun eigen schema. Zo’n schema beschrijft voor een bepaald type document op het internet, welke eigenschappen zoiets kan hebben. Een recept heeft bijvoorbeeld prepTime die aangeeft hoe lang het duurt om het gerecht bereiden. Als dat schema goed wordt gebruikt, kun je zo’n recept heel makkelijk uitwisselen tussen verschillende sites en apps.

De recepten op geensnor.nl/watetenwevandaag zijn nu ook helemaal semantisch. Hierdoor kun je nu bijvoorbeeld de URL van een gerecht in een app als crouton.app plakken en dan wordt het recept automatisch op de juiste manier opgeslagen.

De recepten zijn opgeslagen als markdown en dus zonder metadata. De metadata wordt er tijdens runtime “bij verzonnen”. Daar zitten wel wat regels aan verbonden en het is niet waterdicht. Zo moet er bijvoorbeeld perse “Ingredienten” boven de lijst met ingredienten staan, anders snapt hij het niet en loopt de boel alsnog semantisch in het honderd.

Op geensnor.nl sta je als bezoeker centraal. Bruikbaarheid, privacy en veiligheid zijn allemaal van het hoogtste niveau zodat het je aan niets zal ontbreken. We gaan je daarom niet tracken, uitbuiten of afpersen. Toch is het wel leuk om te weten hoeveel bezoekes geensnor.nl heeft (spoiler: niet veel). Sinds een tijdje gebruiken we daar Umami voor. Umami is een tool om bezoekers op een website bij te houden, zonder dat er Google aan te pas komt. En alles waar de boze big tech niet aan te pas komt, is meegenomen.

bezoekers geensnor

Umami op Vercel

Umami moet je zelf hosten. Hiervoor moet Umami zelf ergens staan en moet je een database regelen waar de bezoeken in weggeschreven kunnen worden. In dit artikel wordt beschreven hoe dat ongeveer gaat. Het valt enorm mee. Umami zelf staat op Vercel en als database wordt Supabase gebruikt. Supabase schijnt binnenkort niet meer helemaal gratis meer te zijn, maar dan verzinnen we weer iets nieuws.

Zien!

Umami heeft ook een publieke versie van de statistieken beschikbaar. Voor geensnor.nl staat die hier:

https://umami-beryl.vercel.app/share/12bqGSJc/geensnor.nl

Als je ‘s nachts niet kkunt slapen omdat de bezoekers aantallen van geensnor.nl maar door je hoofd blijven malen, kun je hier dus verlossing vinden.

Bitcoins minen is leuk maar het is irritant dat je er een computer voor nodig hebt. Misschien zelfs meer dan één. Eigenlijk heb je wel een heel gebouw vol computers nodig zoals deze YouTube video over een Chinese bitcoinmijn laat zien.

Maar al die spullen zijn natuurlijk een hoop gedoe. Gelukkig hoeft het niet zo ingewikkeld te zijn. Je kan namelijk ook bitcoins minen met potlood en papier. Bitcoins minen is namelijk niets anders dan heel veel hashes berekenen en kijken of de juiste er tussen zit en dat kan prima met de hand. Ene Ken Shirriff heeft de stoute schoenen aangetrokken en is eens lekker gaan SHA-256 hashen. Eén hash berekenen kostte hem 16 minuten en 45 seconden.

Nou, prima zou je zeggen. Hele energieprobleem van bitcoins ook meteen opgelost. Even iedereen z’n potlood slijpen, papier uit de printer pakken en we gaan we gewoon voortaan alles met de hand doen!

Helaas. Te mooi om waar te zijn. Het probleem is dat 16 minuten en 45 seconden per hash net te langzaam is. Het hele bitcoinnetwerk doet nu ongeveer 152,535,348,478,379,200,000 hashes per seconde. Doordat Ken te traag is, is de kans erg klein dat hij de juiste hash bij het block vindt. De kans is ongeveer net zo groot als dat hij de juiste zandkorrel tussen alle zandkorrels op aarde vindt. Die chinezen met hun gebouwen vol computers zijn dus zo gek nog niet.

Ken heeft z’n ervaringen aan z’n blog toevertrouwd: Mining bitcoin with pencil and paper.

Onze goede vriend Koen uit het prachtige en uberhippe Berlijn heeft na heel hard werken zijn MIDI controller klaar. Alles zelf ontworpen, hout uit Berlijn, gemaakt met liefde. En aangezien wij bij Geensnor nooit bang zijn voor een stukje promotie, attenderen wij onze lezers graag op zijn prachtige project, de KNTRL9.

plaatje Plaatje2

MIDI controller?

Een MIDI-controller is een gebruikersinterface waarmee MIDI-boodschappen kunnen worden gegenereerd en verzonden. Meestal is dit een digitaal muziekinstrument.

Een fysiek apparaat dus om je muzieksoftware via MIDI te kunnen bedienen. Dat blijkt dus nogal precies te komen allemaal en Koen heeft na frustratie over andere controller de handschoen maar opgepakt en is zelf aan de slag gegaan. Er komt meer bij kijken dan je zou denken (blijkbaar). Solderen, electrotechniek, houtbewerking, software..de hele rambam.

Kickstartertje!

De eerste 4 prototypes zijn klaar en dus is het tijd voor investeringen! Wij kunnen jou, als trouwe geensnor lezer, blij maken met een mooie kans om als eerste een prachtige handgemaakte KNTRL9 te bemachtige door in te schrijven op zijn kickstarter.

Bij het maken van het nieuwe keukentje voor onze dochter maakte ik gebruik van deuvels. Een klassieke en bewezen methode om houten onderdelen aan elkaar te maken. Het is geen rocketscience maar er waren toch een aantal dingen om op te letten

Deuvels en MDF

MDF is prachtig hout om speelgoed van te maken, maar het is ook hartstikke zacht en fragiel bij een verkeede belasting. Bij het uitboren van de gaten voor de deuvels is het handig om de boor vaak genoeg even schoon te maken en daarna verder te boren. Het (trouwens giftige) zaagsel van MDF verstopt de boor namelijk.

Bij het plaatsen van de deuvels in de gaten, hamer niet te hard en met een kleine hamer. Omdat het materiaal zo zacht is heb je anders kans dat je de deuvel aan de andere kant er weer uit ramt als je als Vader Klinkhamer de deuvels in de gaten loopt te rammen.

Deuvelsetjes

Ik kocht een deuvelsetje bij de Hornbach met een soort houder erbij zodat je altijd in het midden van de kopse kant van je plank een gat kan boren. Handig, maar wel ingewikkeld.

Ook rete handig en klassiek zijn de pinnetjes die je erbij krijgt. Een soort ijzeren dopje met een pinnetje die je in het gat stopt en vervolgens als “stempel” kan gebruiken om te bepalen waar het gat aan de andere kant moet. Er zitten helaas te weinig van die dopjes in je setje, dus die extra bestellen is een goed plan. Tevens raken ze kwijt.

Deuvels en lijmen

Uiteindelijk is het goed om je verbinding ook te lijmen, met houtlijm, voor een definitieve stevige verbinding. Voordat je dat doet, druk alles eerst eens goed in elkaar met de deuvels om te kijken of alles diep genoeg is en een beetje recht zit.