z, ? | toggle help (this) |
space, → | next slide |
shift-space, ← | previous slide |
d | toggle debug mode |
## <ret> | go to slide # |
c, t | table of contents (vi) |
f | toggle footer |
r | reload slides |
n | toggle notes |
p | run preshow |
3 Speaker Tracks
Datomic comes out of Rich Hickey's reading of
"Out of the Tar Pit" - Moseley and Marks 2006
Peer Library - embedded in your application
Peer talks to Transactor which accepts transactions and processes them serially
Currently runs on top of Amazon's DynamoDB
A database instance is immutable, enables heavy caching
Query engine is datalog
You can invoke your code from queries
Deals in Facts
"fundamental move away from places, places destroy a value"
Datom
Entity/Attribute/Value/Transaction (E/A/V/Tx)
"It's like Starcraft; as you move around you see more of the map."
"Over time, your database is like this: As you run your business, you discover more of the data"
Goes over the things you need to internalize when working with macros
You can get away with copy/paste for a while, but you'll eventually get bit without deeper understanding
Go back to basics and understand how the reader works
Naive Macro Understanding
Realistic Macro Understanding
Declarative Datalog-inspired syntax on top of Cascading
Cascading is thin layer on top of Hadoop's Map/Reduce for defining tuple data pipes
Pipes are fed by a Source Tap which connects a number of Operations to a Sink Tap
Realtime computation replacement for batch systmes like Hadoop
Topologies made of Spouts (streams of tuples) and Bolts (operations on streams)
Just added Distributed RPC capabilities
One of a number of presentations on ClojureScript
ClojureScript work is being leveraged to emit languages other than JavaScript
Start to see the "shapes" of data
Brainfuck to Clojure compiler
+++++[->+]
+ + + + + [ - > + ]
(read-string "(+ + + + + [ - > + ])")
If you're considering using clojure, in 18 months what will you wish you'll know now
declare
Inspiring presentation with more than a dash of NIH syndrome
Many slides on github
All presentations recorded and will be slowly released on DZone
Follow the @ClojureWest twitter account for release dates
Questions?