User:Notes.whatthefuck.computer
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 Matrix.org 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.
Projects
Domain Cleanup and 2016 website redesign
The goal at the end of this is to have two domains:
A portfolio/project hosting site (whatthefuck.computer)
This site replaces doc.rix.si my current project portfolio/todolist site with basically the same things but nicer looking.
- Rewrite wtf.comp/blog URLs to notes.wtf.comp pages
- Rewrite doc.rix.si pages to wtf.comp pages.
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 (notes.whatthefuck.computer)
- 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.
- It might be easier to set up a thing that consumes micropub and exposes them as RSS, as we can then automate the org-mode half of 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
- Sico capture templates for easy to use h-entry types
Arcology
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:
- Adding a YOUTUBE-URL property with a full URL to a youtube video (the full URL with a ?watch in it like https://www.youtube.com/watch?v=RXQCrOEx1-g)
- Attaching an ogv, mkv or mp4 file to an entry
- 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.
Functions
- [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
- h-entry
- 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" "https://indiewebcamp.com/wiki/" "nil" "nil" "" "Main Page") (setq mediawiki-site "IndieWebCamp") (url-cookie-store "indiewebcamp_session" "<YOUR COOKIE VALUE>" nil "indiewebcamp.com" "/" t)
This will work until the session cookie is invalidated with a browser logout. It's, uh, janky, but it works.