"Comics" Is Hard: Domain Modeling Challenges

1,629 views
1,554 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
1,629
On SlideShare
0
From Embeds
0
Number of Embeds
47
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

"Comics" Is Hard: Domain Modeling Challenges

  1. 1. Welcome
  2. 2. “Comics” Is Hard: Domain Modeling Challenges Ben Scofield – Viget Labs
  3. 3. #?forben
  4. 4. Modeling #?forben flickr: bunchofpants
  5. 5. Crowdsourcing #?forben
  6. 6. flickr: ropesandpulleys
  7. 7. flickr: paopix
  8. 8. person rating rater
  9. 9. just because you can doesn’t mean you should http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/
  10. 10. just because you can doesn’t mean you should http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/
  11. 11. just because you can doesn’t mean you should http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/
  12. 12. person rating
  13. 13. person avg / # ratings
  14. 14. The Challenge Deciding what to model
  15. 15. Biology #?forben
  16. 16. Linnean taxonomy
  17. 17. Kingdom Phylum Class Order Family Genus Species flickr: pandiyan
  18. 18. Animalia Chordata Mammalia Carnivora Felidae Panthera tigris flickr: pandiyan
  19. 19. kingdom phylum class genus family order species organism
  20. 20. Problem The levels are imaginary
  21. 21. subphylum kingdom phylum class superclass subclass subfamily suborder superorder genus family order subgenus superfamily subspecies species organism variety
  22. 22. subphylum kingdom phylum class ? superclass subclass subfamily suborder superorder genus family order subgenus superfamily subspecies species organism variety
  23. 23. subspecies taxon taxon taxon species organism variety
  24. 24. Species flickr: cpurrin1
  25. 25. Reproductive Isolation flickr: superciliousness
  26. 26. Reproductive Isolation flickr: superciliousness
  27. 27. flickr: jassen
  28. 28. flickr: niznoz
  29. 29. Numerical taxonomy
  30. 30. Cladistics
  31. 31. taxon clade taxon organism
  32. 32. Problem Cladistics is historical and counter-intuitive
  33. 33. flickr: goellnitz
  34. 34. flickr: goellnitz pcoin
  35. 35. The Challenge Unclear, imprecise domain
  36. 36. comics #?forben
  37. 37. publisher title issue
  38. 38. publisher imprint title issue
  39. 39. publisher imprint title issue volume
  40. 40. publisher imprint title issue volume trade
  41. 41. publisher imprint title issue volume variant trade
  42. 42. name publisher imprint title issue volume variant trade
  43. 43. name publisher imprint title ? issue nested set? volume variant trade
  44. 44. “Experience CIVIL WAR and its major tie-ins from CIVIL WAR: FRONT LINE and FANTASTIC FOUR in chronological order! ...”
  45. 45. name ?? publisher imprint title issue storyline volume nested set? variant trade
  46. 46. imprint publisher title name storyline @#&*! issue nested set? volume variant trade
  47. 47. science fiction noir horror genres? independent Martial Arts historical Pirate superhero
  48. 48. imprint publisher @#&*! title name genre issue volume nested set? storyline variant trade
  49. 49. The Challenge Complete insanity
  50. 50. Alternatives databases unite! #?forben flickr: ikhnaton2
  51. 51. http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/
  52. 52. Key-Value #?forben
  53. 53. Redis Tokyo Cabinet Project Voldemort Cassandra*
  54. 54. require quot;rubygemsquot; require quot;tokyocabinetquot; include TokyoCabinet bdb = BDB::new # B-Tree database; keys may have multiple values bdb.open(quot;casket.bdbquot;, BDB::OWRITER | BDB::OCREAT) # store records in the database, allowing duplicates bdb.putdup(quot;key1quot;, quot;value1quot;) bdb.putdup(quot;key1quot;, quot;value2quot;) bdb.put(quot;key2quot;, quot;value3quot;) bdb.put(quot;key3quot;, quot;value4quot;) # retrieve all values p bdb.getlist(quot;key1quot;) # => [quot;value1quot;, quot;value2quot;] # range query, find all matching keys p bdb.range(quot;key1quot;, true, quot;key3quot;, true) # => [quot;key1quot;, quot;key2quot;, quot;key3quot;] http://www.igvita.com/2009/02/13/tokyo-cabinet-beyond-key-value-store/
  55. 55. Crowdsourcing x Biology x Comics x
  56. 56. Document #?forben
  57. 57. { 'name':'Ben Scofield', 'adjective':'awesomesauce' } { 'name':'Magic Pony', 'description':'It is a *lie*!' }
  58. 58. HTTP
  59. 59. Crowdsourcing ✓ Biology ✓ Comics x
  60. 60. { 'name':'Ben Scofield', 'image’:‘http://whatevs.com/ben.jpg', ‘average_rating’:‘4.667’, ‘number_of_ratings’:’3’ }
  61. 61. { 'kingdom':'Animalia', ‘phylum’:‘Chordata’, ‘subphylum’:‘Vertebrata’, ‘class’:‘Mammalia’, ‘subclass’:‘Eutheria’, ‘order’:‘Carnivora’, ‘family’:‘Felidae’, ‘subfamily’:‘Panthernae’, ‘genus’:‘Pantera’, ‘species’:‘tigris’, ‘name’:‘Wanda’ }
  62. 62. Graph #?forben
  63. 63. AllegroGraph Java Java / Lisp
  64. 64. http://neotechnology.com/why-neo
  65. 65. http://markorodriguez.com/Lectures_files/risk-symposium2009.pdf
  66. 66. flickr: 9948354@N08
  67. 67. Crowdsourcing x Biology ✓ Comics ✓
  68. 68. Animalia ... Felidae subfamilyof genusof Panthernae genusof Panthera speciesof tigris member 001 age name weight 3 Wanda 300
  69. 69. Animalia ... Felidae subfamilyof genusof Panthernae genusof Panthera species speciesof type tigris 010 name tigris member 001 age name weight 3 Wanda 300
  70. 70. Group IV orderof Picornavirales familyof Picornaviridae genusof Rhinovirus speciesof human rhinovirus A member 002
  71. 71. class Mammalia Group IV group orderof orderof Carnivora Picornavirales familyof familyof Felidae Picornaviridae subfamilyof Panthernae genusof genusof genusof Panthera Rhinovirus speciesof speciesof human tigris rhinovirus A member member 001 002
  72. 72. DC imprintof titleof DC Universe Green titleof 001 Lantern nameof genreof volumeof genreof Volume 1 Sci Fi Superhero genreof issueof genreof 002 precedes Issue #2 number coverof #1 003
  73. 73. Hybrid Solutions #?forben flickr: joriel
  74. 74. Configuration ✓ Caching ✓ Translations ✓
  75. 75. post tag document id { 'title':'Post Title' 'content':'Hello!' 'comments':[quot;First!quot;] }
  76. 76. http://www.speakerrate.com/talks/1169 Thank You ben scofield - @bscofield - http://www.viget.com/extend - http://www.speakerrate.com/bscofield

×