Camlistore: Android, ARM, App Engine, anywhere.

25 June 2014

Brad Fitzpatrick

Gopher, Google

Me

Camlistore

Camlistore

Camlistore

Stores on:

Camlistore screenshots

Web UI

Location search

Panos

Paris + Portrait

Non-images

FUSE

Android

Camlistore Demo

Camlistore does much, in many places

Camlistore

does:

on:

Desktops, personal servers

$ go {get,build,install,test} camlistore.org/{cmd,pkg,server}/...

Raspberry Pi

$ GOARCH=arm GOOS=linux go build camlistore.org/server/camlistored

App Engine

// +build !appengine

Cloud

fileembed

Definition:

package fileembed
func (f *Files) Open(filename string) (http.File, error)

Use in Camlistore:

package server
uistatic.Files = &fileembed.Files{
    DirFallback: ui.uiDir,
    Listable:    true,
    // In dev_appserver, allow edit-and-reload without
    // restarting. In production, though, it's faster to just
    // slurp it in.
    SlurpToMemory: uistatic.IsProdAppEngine,
}

Camlistore's genfileembed

$ genfileembed ./path/to/dir

Embedding resources

Web server

FUSE

Android

Command-line tools

$ cmdtool [--global=foo] subcmd [--subcommand opts]

In summary

Go is awesome and runs lots of places, easily.

Thank you

25 June 2014

Use the left and right arrow keys or click the left and right edges of the page to navigate between slides.
(Press 'H' or navigate to hide this message.)