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)

Justin Searls

November 01, 2016
Tweet

More Decks by Justin Searls

Other Decks in Programming

Transcript

  1. OK!

  2. Me

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

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

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

    I ____________ . Maybe if I build it, I'll _____________ . I don't need CompSci
  6. 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
  7. 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
  8. Accomplishments: • All 3 major style guides • Dozens of

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

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

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

    • GB's of daily server warnings • A 16,000 line PHP file
  12. express indignation admit incompetence lessen inadequacy I feel ___________, but

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

    I ____________ . Maybe if I build it, I'll _____________ . mobile web is a joke
  14. 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
  15. 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
  16. • 66% faster! Legible! • Full-featured • 1st OSS contribution

    • 1st user group talk • Rejected by Apple
  17. express indignation admit incompetence lessen inadequacy I feel ___________, but

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

    I ____________ . Maybe if I build it, I'll _____________ . mad at these mocks
  19. 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
  20. 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
  21. • Had type awareness • Preserves test order • Clever,

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

    terse APIs • Nobody adopted it • Influenced competitors gimme
  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 _____________ . my work isn't exciting
  25. 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
  26. 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
  27. • Posted to a forum at 11pm • • 12,000

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

    views (~3,000 installs) • 40 pages per user/hour • 42 images/page
  29. • 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
  30. ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉

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

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

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

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

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

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

    a legacy rescue project I wanted to be rescued
  37. Project: / Task A # Task B - Task C

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

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

    I ____________ . Maybe if I build it, I'll _____________ . I hate all to-do apps
  40. 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
  41. 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
  42. doing-it: - make a div contenteditable - dump it in

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

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

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

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

    with others • Stop doing the work • Thoughtlead others off a cliff
  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 _____________ . TDD isn't understood
  49. 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
  50. 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
  51. • Followed my own advice • It actually went really

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

    well! • I went too long without validating my ideas simplisafe
  53. express indignation admit incompetence lessen inadequacy I feel ___________, but

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

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

    I ____________ . Maybe if I build it, I'll _____________ . security matters am not an expert
  56. 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
  57. • I (almost) have a dashboard • Locally encrypted •

    Put Selenium to good use • Not a generalizable app fine_ants
  58. express indignation admit incompetence lessen inadequacy I feel ___________, but

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

    I ____________ . Maybe if I build it, I'll _____________ . users are in pain
  60. 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
  61. 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
  62. .js

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

    • Better than cynicism testdouble.js
  64. express indignation admit incompetence lessen inadequacy I feel ___________, but

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

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

    I ____________ . Maybe if I build it, I'll _____________ . exploited & exhausted can't escape it
  67. 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
  68. • It's real dumb • Brought me joy • Zero

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

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

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

    Technology-to-practice friction? • Work can't offer what you need? • Internal baggage to get over?
  72. 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