Image URLs for Picasaweb, Google+, and Drive Uploads

Picasaweb / Plus Instant Upload images are stored seperately from Drive. This is unfortunate because it means you can’t use Drive APIs and tools with synced images. In particular, Drive exposes public files via well known URLs while the situation with Picasaweb is much less rosy.

Example queries:

XML Pretty Print is useful, since ?alt=json doesn’t seem to work on all endpoints.

Prose, Jekyll Starter Repo

This post comprises my working notes for extracting a reusable Github Pages starter site from the repo for this blog. The template site is here.


Spin off a minimal reusable starter repo prose + Jekyll/Github Pages sites.


  1. clean wc
  2. Split commits that touch both content and reusable.

    PATHS=_config.yml _layouts/ links.json index.html js css .gitignore css/ fonts/
    # in three windows:
    git log --stat --reverse --topo-order --full-diff $PATHS
    git log  -u    --reverse --topo-order --full-diff $PATHS
    rebase -i --root
    # edit/split
  3. In another pass, put reusable commits together at the beginning (leave content commits in place)

  4. Clean reusable history by reorder/squash/edit

    • Remove unused asset files
    • Make sure initial commits don’t have any personal info in layouts
  5. Make reusable-jekyll-site branch and push to Github.

    git remote add git push -u HEAD reusable:master



Jekyll, Pages, and

I’m coding this site using Jekyll, a static site compiler written in Ruby. It’s not my first trip to the static site rodeo (ikiwiki e, Frank e1, e2), so this project might not look too exciting at first glance. What is exciting is some new workflow tools I am using which make the process of building static sites simpler and potentially more accessible to non-developers.

The first tool is Github’s Pages hosting service, which features automatic site builds using Jekyll. Whenever I push new content, it is instantly built and published to my site. This is really cool.

The second tool is an online text content editor that connects directly to your Github repos. It offers a focused content editing experience with power features such image insert/upload and linking to an existing page.

Both of these tools live “in the cloud”, and together they completely remove the need for a workstation for editing static sites. I can author new posts on my mobile phone, or on a borrowed web browser. Also, because it is built on top of the collaborative features of Github, multiple people can edit a site simultaneously.

All of which is to say, this workflow can compete directly with traditional CMSes such as Wordpress.

… with their complex code, user sessions, and database backends, those bohemoths under whose tyranical reign web developers have toiled for the past two decades.

Viva la revolución!

Further topics

Washougal Picnic Invitation

Update: After the success of the first, there will be a second Washougal trip this Sunday July 28th, leaving from my house a 1pm!

You, as a reader of my blog and generally standup person, are cordially invited hereby and heretofore without further futzing about to:

Static Site Generator Research Notes

This is a follow-up to Jekyll, Pages, and

Why Static

Why are tools like Jekyll in vogue with coders? Largely it is in response to two decades of tearony under the despotic rule of “CMSes” like Wordpress: dynamic, database-backed site interpreters with complex features such as user sessions. Most developers consider CMSes as massively overbuilt behemoths providing clunky, unnatural abstractions over what are essentially two straightforward problems: editing content and transforming that content into a website.

Compilers, rather than running on every page request like an interpreter, run once each time a change is made to the underlying content, which The raw, unprocessed content is stored and edited independently Static site generator take the act of website creation to its bare bones, providing the minimal abstractions needed to create a site: preprocessor languages like markdown (for content) and mustache (for HTML templates). As a developer, it is a joy to use such simple tools after contending with complex dynamic behemoths such as Wordpress or Ruby on Rails. Rather than have to interact with a clunky web based CMS For a non-programmer, however, the coding tools required to edit a text-only site (text editor, VCS.

Cool Workflow for Non-programmers

The normal way to edit a static site like this is the same way you would edit any code project: using a workstation, with a text editor, a directory version controlled with Git, and a Unix terminal with Ruby. Any non-developers left in the room? Right. These tools are overkill for building static sites, and they are too complex to setup and use for mere mortals.

That’s why I’m using two workflow tools: Github Pages’ builtin Jekyll support, and, a content editor that interacts directly with your Github repos.

Prose offers a content focused editing experience accessible from any HTML5 browser (including mobile), with valuable workflow features such image insert and upload and page-to-page linking.

The experience contrast sharply alongside the laborious command line workflow used by most coders to edit content.

Some tangential research notes

I like that I can push content or edit on line and the built site will always be up to date. I also like that the build infrastructure is hosted by someone else, and I don’t have to worry about it bitrotting much.

On the down side, Jekyll is pretty much en feature freeze, as becomes quickly apparent looking through the issue tracker. I’m looking into doing more advanced stuff at build time (SASS mostly) and Jekyll, at least the Github Pages hosted version, won’t help me there. I could do my fancy build steps on a workstation, but I want to look into other options before I make a decision.



Middleman seems to be the default upgrade from Jekyll. It’s built around Rails’ Asset Pipeline evidently (am I wrong?) which means it’s a good bit more complex than Jekyll, but I’d still like to give it a chance.

Findings: Middleman repos can have arbitrary Ruby code in them. Boo. I don’t want erb, not safe. Mustache templates or similar are much better for layout.

Ok, next.. I found this compilation of tweet votes for static generators which gave me a bunch of research threads to pick up.

DocPad was the most popular such tool running on Node.js. I kinda like the idea of something made with Node since alot of the complexity of my static sites will be on the clientside and thus in JS, and this makes code sharing a possibility.

One person’s experience going from Octopress to DocPad

One encouraging point is this doc from the DocPad team on setting automatic build from a GitHub repo with the builder running on Heroku, which is pretty close to what I am looking for in a deployment story. Ideally though, I’d like a generic service which can build multiple sites.

Annotating decks with SVG

Today I experimented with annotating presentations with SVG. It’s almost there. Following is a rough guide, for the adventurous, along with issues I found along the way.

Objective: call out features of my slides using custom floating graphics.

tl;dr; How to add annotations:

How I got here

At first, I was embedding SVG using the <svg> tag. This worked alright, and I could even mark individual shapes as fragments (incrementally shown elements), but it required switching to the code view frequently, and the UI didn’t allow interacting with the SVG image. So, it wasn’t broken per-se, but it kind of missed the point of using a GUI editor.

Then I hit on the idea of using lots of small external SVG images using the HTML <img> tag. This would allow the SVG images to be positioned within the GUI just like other images. Unfortunately, in

First Actual Post

This. Is. a Static Blog.

I made it using the basic Jekyll support in Github pages.

In-progress posts


don park and I are at basement Pub drinking beers Woot

Couchapps Revisited

Sun Jan 5

Couchapp proxy

Seems like it would be super easy to add a fall-through proxy for dev/testing without sending attachments to couchdb on every edit, using

Fri Jan 3 2013

i prob need to switch to js couchapp - -


These are the notes for an article on tooling that I will publish after Pillowfork launches.

Too much boilerplate making this web app. Express, mongoose, mocha, angular, karma. So much files!

Was looking around at more container-ey tooling. Meteor, Firebase, Deployd. Somehow stumbled on PouchDB. Oo, it has come along. Still active!




Social authn

In IrisCouch ocastalabs/CouchDB-XO_Auth



Prior art


brew install couchdb

To have launchd start couchdb at login:
    ln -sfv /usr/local/opt/couchdb/*.plist ~/Library/LaunchAgents
Then to load couchdb now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.couchdb.plist
Or, if you don't want/need launchctl, you can just run:
🍺  /usr/local/Cellar/couchdb/1.5.0: 627 files, 14M, built in 109 seconds

Local couch:

Eric Drechsel

Software Engineer



Interests and hobbies



Media Inbox

Tech stuff



Nima, Hadron Collider 101, New Physics Theory

Rick at Side Door: knytt stories broforce

Rob Story: rich hickey closure concurrency talks

Video We Are Glacier People from PBS Digital Studios


Web Design

Math and science


Neat techies

Online fiction

Conference Videos

Books, Fiction





Similar to Ghibli



The Girl Who Leapt Through Time

Children Who Chase Lost Voices


A Letter to Momo