Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to Scratch an Itch (in 200 Repos or Less)

How to Scratch an Itch (in 200 Repos or Less)

Avatar for Justin Searls

Justin Searls

November 01, 2016

More Decks by Justin Searls

Other Decks in Programming

Transcript

  1. OK!

  2. ☁

  3. ✨

  4. ✨

  5. ✨

  6. ✨

  7. ✨

  8. ✨

  9. ✨

  10. ✨

  11. ☝

  12. ☝

  13. ☝

  14. ☹

  15. ☹

  16. ☹

  17. Me

  18. ⌨

  19. ☹

  20. ☹

  21. ⛳

  22. ⛪

  23. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ .
  24. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ .
  25. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . I don't need CompSci
  26. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . I don't need CompSci can't create an app either
  27. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . I don't need CompSci can't create an app either survive this profession
  28. Accomplishments: • All 3 major style guides • Dozens of

    types of sources • Complete account system
  29. Accomplishments: • All 3 major style guides • Dozens of

    types of sources • Complete account system • Bibliography creation & export
  30. Accomplishments: • All 3 major style guides • Dozens of

    types of sources • Complete account system • Bibliography creation & export • Millions of users
  31. Very minor downsides: • Completely insecure • 100% manual testing

    • GB's of daily server warnings • A 16,000 line PHP file
  32. ☹

  33. ☹

  34. ☹

  35. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ .
  36. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . mobile web is a joke
  37. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . mobile web is a joke keep failing to learn Cocoa
  38. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . mobile web is a joke keep failing to learn Cocoa learn how to learn
  39. • 66% faster! Legible! • Full-featured • 1st OSS contribution

    • 1st user group talk • Rejected by Apple
  40. ☺

  41. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ .
  42. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . mad at these mocks
  43. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . mad at these mocks can't metaprogram Ruby
  44. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . mad at these mocks can't metaprogram Ruby fit in with Rubyists
  45. • Had type awareness • Preserves test order • Clever,

    terse APIs • Nobody adopted it gimme
  46. • Had type awareness • Preserves test order • Clever,

    terse APIs • Nobody adopted it • Influenced competitors gimme
  47. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ .
  48. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . my work isn't exciting
  49. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . my work isn't exciting only know how to Enterprise
  50. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . my work isn't exciting only know how to Enterprise be more appreciated
  51. • Posted to a forum at 11pm • • 12,000

    views (~3,000 installs) • 40 pages per user/hour
  52. • Posted to a forum at 11pm • • 12,000

    views (~3,000 installs) • 40 pages per user/hour • 42 images/page
  53. • Posted to a forum at 11pm • • 12,000

    views (~3,000 installs) • 40 pages per user/hour • 42 images/page • 5 million requests per hour
  54. ☺

  55. ✉

  56. ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉

    ✉ ✉✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉
  57. • Built a popular thing • Was unaware of that

    popularity • Made someone else millions
  58. • Built a popular thing • Was unaware of that

    popularity • Made someone else millions (?)
  59. • Built a popular thing • Was unaware of that

    popularity • Made someone else millions • Made thousands of users angry (?)
  60. • Built a popular thing • Was unaware of that

    popularity • Made someone else millions • Made thousands of users angry • Left with no recourse (?)
  61. I was on a legacy rescue project I was on

    a legacy rescue project My kids will inherit it
  62. I was on a legacy rescue project I was on

    a legacy rescue project I wanted to be rescued
  63. ☹

  64. ☹

  65. ☹

  66. Project: / Task A # Task B - Task C

    {6/10/2011} Plaintext to-dos
  67. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ .
  68. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . I hate all to-do apps
  69. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . I hate all to-do apps forgot how to code
  70. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . I hate all to-do apps forgot how to code restore my pride
  71. doing-it: - make a div contenteditable - dump it in

    localStorage - read from localStorage doing-it app
  72. doing-it: - make a div contenteditable - dump it in

    localStorage - read from localStorage - use it to track the rest doing-it app
  73. • Finished within 1 day • Renewed confidence • Still

    works ( Heroku!) • No users ➡ no e-mail ✅ doing-it
  74. • Finished within 1 day • Renewed confidence • Still

    works ( Heroku!) • No users ➡ no e-mail • Threw it on GitHub ✅ doing-it
  75. The Thoughtleader's Dilemma • Do interesting work • Share insights

    with others • Stop doing the work • Thoughtlead others off a cliff
  76. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ .
  77. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . TDD isn't understood
  78. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . TDD isn't understood am a talking head
  79. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . TDD isn't understood am a talking head validate my ideas
  80. ❓

  81. • Followed my own advice • It actually went really

    well! • I went too long without validating my ideas simplisafe
  82. • Followed my own advice • It actually went really

    well! • I went too long without validating my ideas simplisafe
  83. ☺

  84. ❓

  85. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ .
  86. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . security matters
  87. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . security matters am not an expert
  88. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . security matters am not an expert feel a little safer
  89. • I (almost) have a dashboard • Locally encrypted •

    Put Selenium to good use • Not a generalizable app fine_ants
  90. ☁

  91. ☁

  92. ☁

  93. ☁

  94. ☁

  95. ☁

  96. ☁

  97. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ .
  98. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . users are in pain
  99. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . users are in pain can't beat Sinon
  100. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . users are in pain can't beat Sinon be less grouchy
  101. ∞

  102. .js

  103. • Works pretty well • Shares what we've learned clearly

    • Better than cynicism testdouble.js
  104. ❤

  105. ❤

  106. ❤

  107. ❤

  108. ❤

  109. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ .
  110. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . exploited & exhausted
  111. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . exploited & exhausted can't escape it
  112. express indignation admit incompetence lessen inadequacy I feel ___________, but

    I ____________ . Maybe if I build it, I'll _____________ . exploited & exhausted can't escape it find a fresh start
  113. ❤

  114. ❤

  115. ❤

  116. ❤

  117. ❤

  118. ❤

  119. ❤

  120. ❤

  121. • It's real dumb • Brought me joy • Zero

    issues this year emoruby ❤
  122. Root cause analysis • Wrong tool for the job? •

    Technology-to-practice friction?
  123. Root cause analysis • Wrong tool for the job? •

    Technology-to-practice friction? • Work can't offer what you need?
  124. Root cause analysis • Wrong tool for the job? •

    Technology-to-practice friction? • Work can't offer what you need? • Internal baggage to get over?
  125. ❓

  126. ❓

  127. ✅

  128. Credits: Pole Vault by Mister Pixel from the Noun Project

    Thought Bubble by Tim Smith from the Noun Project Brain by Guillaume Bahri from the Noun Project