Miskatonic University Press

RUSTLE

indieweb

I recently came across IndieWebCamp and the approach appealed to me. Giving over content to companies like Facebook or Twitter isn’t the way forward. I like controlling my own site, and I like hacking on stuff.

On the technical side of things, I can write something that would let me write a short note here and then push it out to Twitter or somewhere else, but what about webmentions? I use Jekyll to make this site, and everything is completely static. If I used WordPress or something dynamic then I could have a service that accepted incoming information that said “this other web page just linked to you” and push that into a database. But I don’t. What can I do? I could write a little web service. Or I could use an external system, but I don’t much like that idea.

I thought about REST, representational state transfer, “a way to create, read, update or delete information on a server using simple HTTP calls.” Beginning to understand REST changed how I thought about the web.

But does it have to be instantaneous? What about delayed REST? Seems unlikely this idea is new, but I had a thought about a sort of dead drop approach, which I called RUSTLE: REST Updated Some Time Later … Eventually.

Here’s how it could work:

  • Other web site calls a URL on my site, doing a POST to create something or a PUT to update something.
  • Apache’s .htaccess (or the equivalent in whatever you use) sees it, makes sure all the incoming information is written to a log file even if it’s not in a GET, and sends back a 200 COOL or 200 THANKS. Aside from that, nothing happens.
  • Every so often a script examines my log file and determines any actions that need to be done.
  • The actions are done (e.g. a “URL linked to this page” is appended to a text file) and any necessary files are updated.

This way security dangers are limited and programming is easier. Instead of requiring some fancy robust cacheing web service, you can get away with anything down to a shell script and a cron job.

The web is always in a hurry. Everybody and everything expects an answer immediately. Let’s mellow out and RUSTLE something up when we feel like it.