From IndieWeb
Jump to navigation Jump to search

About Me

I am Ryan Rix. I exist in various places. I have a pile of domains that I am trying to slim down, and am building tools to make my statically-generated website indieweb compatible.

I have a very goofy interesting computing setup that leads me down a path of supporting mostly statically generated tooling and libre software that I run and control, but I am also a huge proponent of using as a decentralized data layer to communicate with smarter, personally controlled pieces of software. I am exploring the intersection of ideas like Matrix and the IndieWeb.

Currently my meatbody exists in Oakland, California. My homepage has a real biography that you can read, along with a pile of 'rel=me' to other places I am me at.


Domain Cleanup and 2016 website redesign

The goal at the end of this is to have two domains:

A portfolio/project hosting site (

This site replaces my current project portfolio/todolist site with basically the same things but nicer looking.

This page will progressively enhance supporting text-only www browsers like EWW and fancy graphical www browsers like Chrome and Firefox with some sparkly CSS and JavaScripts in a way that doesn't make me frustrated when using it.

My miniblog (

  • Move all of my blog posts under here and use mfblog or whatever I end up calling it to generate it.
    • Support regenerating the index without regenerating every single blog page
    • See how stupid an idea it is to implement a micropub listener in elnode to wire up OwnYourGram and OwnYourResponses to it.
  • Set up an emacs on shell01 running sico s
    • Sico capture templates for easy to use h-entry types
      • text posts
      • u-photos and u-videos that can just get fed an Matrix photo (or a string like "last photo") and push it in to my blog


Arcoloy is a static-site generator for Emacs Org-mode. It's pretty much entirely tailored to my usecases, but could be useful to other human beings. Basically generate an index of posts, each is a heading in a single Org-mode file, pull metadata and generate pages annotated with microformats. I have written about Arcology using Arcology here.

How to Use

Arcology is an Emacs library that was designed by and has only been used by me. As a result, it is probably really darn obtuse to use if you aren't me. In short, you should know roughly how to use Org-mode and the Emacs customize interface, and then know the obscure rules to markup your posts to be matched as various post-types in Arcology:

  • Arcology will only export headings or files that have an EXPORT tag.
  • Tagging is done with "Ctrl-c Ctrl-c"
  • Properties are set with "Ctrl-c Ctrl-x p"
  • Attaching files is done with "Ctrl-c Ctrl-x a"

You'll want to create your own Templates, which unfortunately don't have inheritance, but it's a start.

  • Tag a post as READ to create a read post.
  • Tag a post as CHECKIN and call M-x arcology-checkin-get-venue-id while your cursor is inside of it to create a checkin
  • Create a post and add a P-RSVP property to it to create an rsvp
  • Video posts are created by either:
  • Tag a post as LIKE and have a U-LIKE-OF property pointing to the post to like.
  • Steps posts (how many steps you've walked) are STEPS tagged posts.
  • jam posts are created by adding JAM to a tag; it'll take the heading and shove it in to a YouTube search URL since my Memacs LastFM scraper only gives me MusicBrainz IDs
  • review posts are created by tagging a page as REVIEW with a P-RATING property with a number between 1 and 5, and a P-ITEM property with the full h-item markup to the item you are reviewing.
  • notes are entries without any body text
  • articles are entries with body text.


  • [DONE] Copy static files (favicon, js, css)
  • [DONE] Generate an index
  • [DONE] Generate post pages
    • HTML title
    • Clean <title> (don't use the HTML)
    • Post HTML
    • Support all IndieWeb post types possible
      • h-entry
        • [DONE] support for u-photo, u-video, u-audio based on org-mode attachments
        • [NEXT] support for u-in-reply-to, u-repost-of, u-like-of based on org-mode property table
        • [NEXT] support for p-comment, p-rsvp based on org-mode property table
      • [DONE] h-review
      • [NEXT] h-event can be inferred if a post has an Active Timestamp
  • Generate post RSS Feeds
  • DONE Syndicate an entry with bridgy
    • Automatically republish the entry with the rel=syndication links included.

Edit the IWC wiki with Emacs

You can use mediawiki.el to edit the IWC wiki with a bit of work. Since the site uses IndieAuth, there is no Username/Password combination, you can't just say "Hey mediawiki.el log in for me".

Log in with your favorite graphical www browser and use a web inspector to grab the indiewebcamp_session cookie, then put this dope as frick elisp in a scratch buffer and evaluate it.

(add-to-list 'mediawiki-site-alist '("IndieWebCamp"
				   "Main Page")
(setq mediawiki-site "IndieWebCamp")
(url-cookie-store "indiewebcamp_session" "<YOUR COOKIE VALUE>" nil "" "/" t)

This will work until the session cookie is invalidated with a browser logout. It's, uh, janky, but it works.