Your SlideShare is downloading. ×
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Users as Data
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Users as Data

1,230

Published on

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,230
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Users as Data Paul Ingles @pingles
  • 2. Users as Data
  • 3. Everything as Data
  • 4. Code as Data(conj others me)
  • 5. Data as Data{:name "Paul Ingles" :mood (constantly :happy)}
  • 6. Data as Data{:name "Paul Ingles" :mood (constantly :hot)}
  • 7. Builds as Data(defproject energy-comparison "1.0.0" :description "pricing service" :dependencies [[org.clojure/clojure "1.4.0"] ...)
  • 8. Everything as Data
  • 9. Everything as Data• Data, in its most essential form
  • 10. Everything as Data• Data, in its most essential form• Few simple abstractions • map, seq, fn
  • 11. Everything as Data• Data, in its most essential form• Few simple abstractions • map, seq, fn• General library • map, filter, sort, take
  • 12. Logs as Data?
  • 13. Logs as Data?0.0.0.0 - - [22/May/2012:09:00:03 +0000] "GET / HTTP/1.1" 304 0 "SomeUserAgent"
  • 14. Logs as Files/var/log/nginx/access.log
  • 15. current power < potential power
  • 16. log crunching event processing
  • 17. Users as Data
  • 18. current power < potential power
  • 19. Energy Replication, ETL InsuranceCredit Cards Session DB WarehouseBroadband
  • 20. Data Muddling Energy Replication, ETL InsuranceCredit Cards Session DB WarehouseBroadband
  • 21. Source: http://www.irregulartimes.com/panopt.html
  • 22. Energy Insurance Integration DBCredit Cards Broadband
  • 23. data in its essential form?
  • 24. simple abstractions?
  • 25. The Joy of Clojure
  • 26. The Joy of Clojure• Functional • Separation of computation and data
  • 27. The Joy of Clojure• Functional • Separation of computation and data• Immutable state
  • 28. The Joy of Clojure• Functional • Separation of computation and data• Immutable state• Data as data
  • 29. The Joy of Clojure• Functional • Separation of computation and data• Immutable state• Data as data• Time, state and identity
  • 30. Users as Data?
  • 31. user = fn(interactions)
  • 32. fn fnS0 S1 S2 User (Identity) Time
  • 33. User fn fnS0 S1 S2 User (Identity) Time
  • 34. data > current state
  • 35. data outlivesapplications
  • 36. current state event processing snapshots
  • 37. Source: http://www.irregulartimes.com/panopt.html
  • 38. “It is better to skip the massive up-front time and expense, focusinginstead on making it very fast and easyto add new data sources or newelements to existing sources.” Source: http://thinkrelevance.com/blog/2012/04/04/big-data-reference-model
  • 39. data data ecosystemwarehousing
  • 40. Data Ecosystem
  • 41. Producer Producer Producer AggregatorConsumer Consumer Consumer
  • 42. events carrying smaller, simpler pieces of data
  • 43. {:user-id 1234 :email "paul@forward.co.uk"} {:method :GET :uri “/” {:user-id 1234 :user-id 1234} :postcode "NW3 2LB"}{:user-id 1234 :energy-consumption {:gas {:units :kwh :value 20500}}}
  • 44. Users as Data
  • 45. How we’ve used this...
  • 46. http://github.com/pingles/clj-esper
  • 47. $ ./print.sh -u <user-id>(->> (events aggregator) (filter (criteria :user-id "pingles")))
  • 48. Users as Data
  • 49. Thanks!
  • 50. Thanks! @pingles h irin g! We ’re

×