Upload
terry-jones
View
3.100
Download
3
Embed Size (px)
DESCRIPTION
Slides from a presentation on FluidDB by Terry Jones on April 20, 2010 to the NYC Python Meetup.
Citation preview
Information
The physical world is writable
(in some sense)
Our brains are writable
And we (programmers) have looked after our own needs pretty well
A magic trick
Making a problem disappear
1248
163264
128256512
1024?????
+
Making a problem disappear
11111111111
110
1001000
10000100000
100000010000000
1000000001000000000
10000000000 +
1248
163264
128256512
1024?????
+
VIII XVII XLIVLXXX XCVICCLV
Representation
VIII XVII XLIVLXXX XCVICCLV +
Representation
VIII XVII XLIVLXXX XCVICCLV
D+
Representation
VIII XVII XLIVLXXX XCVICCLV
D+
Representation
FluidDB
Make working with information more natural
Make the (computational) world writable
A single global shared database
The database with the heart of a wiki?
A FluidDB app:
Tickery
Python libs
Fluid Object Mapper (FOM), by Ali Afshar
fdb.py, by Nicholas Radcliffe
txFluidDB (Twisted!), by Tristan Seligmann
FluidDB Explorer, by Pier Parent
twitter.com/friends/jack
A FluidDB object
⎧⎨⎩
⎫⎬⎭
twitter.com/users/status_count
terrycojones/people/works-at-bitly
twitter.com/users/screen_name
terrycojones/met
fluiddb/about
sally/comment
jamie/rating
hmason
“badass coder”
4191
7
“twitter.com:uid:765548”
FluidDB is mainly Python
Twisted (http://twistedmatrix.com)
AMQP (txAMQP, RabbitMQ)
Thrift (txThrift)
Pyjamas (for Tickery)
txJSONRPC (Tickery)
More info
Private alpha sign up:
http://fluidinfo.com/accounts/new
Then mail [email protected]
Blog: http://blogs.fluidinfo.com/fluidDB
Docs: http://doc.fluidinfo.com/fluidDB
Information model
Objects with tags (with values)
Objects have no owners
A permissions system on tags
Tags organized into namespaces
A simple query language
Queries
Numeric: tag value (=, <, etc.)
Set contents: tag contains “great”
Exclusion: price > 20 except rating < 3
Tag presence: has tag
Grouping/logic: (...), and, or
Textual: tag text match (coming!)
Permissions
For each action on a namespace or tag:
There’s a policy: ‘open’ or ‘closed’
And a (perhaps empty) list of exceptions
API
HTTP / REST based
JSON arguments & replies
A dozen client-side libraries (Python, Perl, Ruby, .Net, Java, etc)
Other APIs planned (XMPP, Thrift)