Rabbit Hole

Crystal Wasm

Another weekend, another wabt-hole. I got crystal to compile to WebAsembly and then run in Brave, and it only took two days to get setup and get it to print out “Hello, World!” in the console. I have tried to use WebAssembly a couple of years ago, but dropped it once I failed to get a simple hello world program to function. This is the same reason I don’t have Haskell under my programming utility belt, no hello world.

Mirroring Dead Websites

Today I checked in on cjdns to see where the project was. It looked about like it did the last time I checked it several months ago. While reading doc/bugs/policy.md I noticed a link that went to archive.org because the original site was dead due to domain name expiration. Thinking about how IPFS could have kept sites like this alive even when the original owner abandoned the site, I dove down a rabbit hole and ended up with a mirror of the site.

Pubsub Comments

Yesterday, I threw together a proof-of-concept comment system for use with IPFS websites. You can find the demo here. I expect this link to become unreachable once I transition from a proof-of-concept to a production system. How it Works The comment system consists of the following parts: The web page with comment submission form. This is hosted on IPFS using IPNS for mutability comments.js that contains the existing comments. pubsub-comment.js contains functions for submitting comments with AJAX and updating the static page to include existing comments A pubsub relay server.

libipfs.so

I have had an idea floating around for a while now about a C interface to IPFS. Today, I stumbled upon this thread about using ipfs as a library. I remembered the C-library idea and was able to find this article about how to make go libraries that can be called from C. And thus I dove head-first down the rabbit hole and spent the next two hours creating a proof-of-concept C bindings for go-ipfs.