Work in progress: Cavern, a decentralized social media protocol

December 26th, 2018

If you follow my blog or have spent more than 5 minutes around me in the past 6 months, you know that I've been spending a lot of time thinking about social media software. Some of that thinking has been crystallizing into a prototype with the working name "cavern". In brief, I'm hoping to create an application and protocol that supports social journaling—like a blog, but with optional privacy filters; think Livejournal or Dreamwidth. Here are some of the properties I want the finished product to include:

  • Give people control over their own writing and media: Everything is created locally, and published out to friends and other contacts. Server disappears? No problem, you still have all your stuff.
  • Decentralized or distributed: Spread the software out over everyone's computers, so there's no central authority to interfere in people's digital lives. People can make their own decisions about nudity, political expression, and appropriate conduct in general.
  • Allow custom privacy levels: World-public, socially-local (n-degrees of separation), access list only, and custom access lists (Google Plus's circles, or Dreamwidth's custom filters).
  • Make use of social accountability: Encourage posting at a socially-local privacy level (not world-public) so that any adverse behavior occurs within a social context, where people already have tools for handling conflict. Bonus: Not publishing (mostly) to the entire world means a lower risk of surveillance and targeted disinformation campaigns.
  • Everyone takes on moderation duty within their own journal, rather than being subjected to the impersonal and overburdened moderation system of a central authority (e.g. Tumblr, Facebook, or Twitter.)
  • Trust-less hosting: To the extent that the system relies on servers not under the user's control, the system must not trust these servers not to censor or spy on their posts. (Cryptography is employed to this end.)

If you're interested in this vision, or even in just these general topics, I encourage you to come participate in the new Social Media Design community I'm organizing on Dreamwidth.

Fast, manual, incremental updating of WordPress

February 6th, 2008

WordPress recently released 2.3.3 as an urgent security fix for 2.3.2. Rather than wiping all non-configured files from my development site, extracting the replacement files from the tarball, and re-uploading said files by FTP, I used the fast and precise approach: Only upload changed files.

Read full entry »

Creating images with javascript

August 24th, 2007

If you feel like being a little bit silly today, you might check out some code I wrote to generate BMP images right in the browser, using javascript. For maximum compatibility, I'm using the v3 header and uncompressed 24-bit color.

All mine does so far is generate a quasi-random bitmap. The same technique could be used to generate very small rounded-corner images and other progressive enhancements. Perhaps some other file formats might be interesting to play with as well. Excel spreadsheets, perhaps? I don't have much interest in continuing work on javascript-based file production, but I'd love to see other people take this idea for a spin.

Duplicity + Amazon S3 = incremental encrypted remote backup

August 11th, 2007

Update: I haven't really been using this, since the bandwidth required is a bit... excessive. I think I'll stick to duplicity + external hard drive.

Duplicity is a backup program that only backs up the files (and parts of files) that have been modified since the last backup. Built on FLOSS (rsync, GnuPG, tar, and rdiff), it allows efficient, locally encrypted, remote backups.

Amazon S3 is a web service that provides cheap, distributed, redundant, web-accessible storage. S3 currently charges only $0.15 per GB-month storage and $0.10 per GB upload. The API is based on HTTP requests such as GET, POST, PUT, and DELETE.

The following is a description of how I made use of these to back up my laptop, which runs Ubuntu Feisty Fawn.

Read full entry »

Why I’m using Windows nagware on my Linux box

April 26th, 2007

When I switched to Linux a couple of years ago, I was able to find excellent replacements for most of the software I used on Windows. In a couple cases I had to use Wine to run my favorite Windows-only programs until I was more comfortable with the replacements, but there was one that I never gave up: Textpad.

Read full entry »