Around "Hello World" in 30 Days

2,976 views
2,898 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,976
On SlideShare
0
From Embeds
0
Number of Embeds
185
Actions
Shares
0
Downloads
26
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide


























  • reduce, accumulate, compress or inject
    higher-order functions that iterate an arbitrary function over a data structure in some order and build up a return value
  • reduce, accumulate, compress or inject
    higher-order functions that iterate an arbitrary function over a data structure in some order and build up a return value
















  • The desire to get better and better at something
    Not the desire to BE GOOD at something

  • Hungary
    optimum experience
    Time passes quickly
    self-consciousness disolves
    activity not too easy, not too hard
  • 7 weeks of basic training at west point before starting
    1 in 20 drops out
    not strength, athleticism, intelligence, or leadership ability
    “perseverance and passion for long-term goals”
  • Carol Dweck
    People who view intelligence as fluid do much better
  • Carol Dweck
    You worked so hard vs. you are so smart























  • Around "Hello World" in 30 Days

    1. 1. Around Hello World in 30 Days David Eisinger // @deisinger DevNation Chicago // May 15, 2010
    2. 2. Around “Hello World” in 30 Days 1. The Motivation 2. The Methods 3. The Mindset 4. The Moral
    3. 3. Around “Hello World” in 30 Days 1. The Motivation About Me
    4. 4. Around “Hello World” in 30 Days 1. The Motivation About Me
    5. 5. Around “Hello World” in 30 Days 1. The Motivation About Me
    6. 6. Around “Hello World” in 30 Days 1. The Motivation About Me
    7. 7. Around “Hello World” in 30 Days 1. The Motivation About Me
    8. 8. Around “Hello World” in 30 Days 1. The Motivation About Me
    9. 9. Around “Hello World” in 30 Days 1. The Motivation About Me
    10. 10. Around “Hello World” in 30 Days 1. The Motivation About Me
    11. 11. Around “Hello World” in 30 Days 1. The Motivation Falling behind
    12. 12. Around “Hello World” in 30 Days 1. The Motivation Falling behind
    13. 13. Around “Hello World” in 30 Days 1. The Motivation O NOES Falling behind
    14. 14. Around “Hello World” in 30 Days 1. The Motivation Not on the job.
    15. 15. Around “Hello World” in 30 Days 1. The Motivation Keeping Up
    16. 16. Around “Hello World” in 30 Days 1. The Motivation The Great Demotivator
    17. 17. Around “Hello World” in 30 Days 1. The Motivation I love this town.
    18. 18. Around “Hello World” in 30 Days 1. The Motivation 2. The Methods 3. The Mindset 4. The Moral
    19. 19. Around “Hello World” in 30 Days 2. The Method The Project
    20. 20. Around “Hello World” in 30 Days 2. The Method Making the list
    21. 21. Around “Hello World” in 30 Days 2. The Method The List Cassandra 10. HTML5 20. ooc 1. Chrome Extensions 11. Io 21. Redis 2. Clojure 12. Jekyll 22. Riak 3. CoffeeScript 13. jQTouch 23. Scala 4. CouchDB 14. Lua 24. Scheme 5. CSS3 15. MacRuby 25. Sinatra 6. Django 16. Mercurial 26. Squeak 7. Erlang 17. MongoDB 27. Treetop 8. Go 18. Node.js 28. VIM 9. Haskell 19. OCaml 29. ZSH
    22. 22. Around “Hello World” in 30 Days 2. The Method Thirteen Languages 1. Cassandra 11. HTML5 21. ooc 2. Chrome Extensions 12. Io 22. Redis 3. Clojure 13. Jekyll 23. Riak 4. CoffeeScript 14. jQTouch 24. Scala 5. CouchDB 15. Lua 25. Scheme 6. CSS3 16. MacRuby 26. Sinatra 7. Django 17. Mercurial 27. Squeak 8. Erlang 18. MongoDB 28. Treetop 9. Go 19. Node.js 29. VIM 10. Haskell 20. OCaml 30. ZSH
    23. 23. Around “Hello World” in 30 Days 2. The Method Thirteen Languages 1. Cassandra 11. HTML5 21. ooc 2. Chrome Extensions 12. Io 22. Redis 3. Clojure x 13. Jekyll 23. Riak 4. CoffeeScript 14. jQTouch 24. Scala 5. CouchDB 15. Lua 25. Scheme x 6. CSS3 16. MacRuby 26. Sinatra 7. Django 17. Mercurial 27. Squeak 8. Erlang x 18. MongoDB 28. Treetop 9. Go 19. Node.js 29. VIM 10. Haskell x 20. OCaml x 30. ZSH
    24. 24. Around “Hello World” in 30 Days 2. The Method Five Datastores 1. Cassandra 11. HTML5 21. ooc 2. Chrome Extensions 12. Io 22. Redis 3. Clojure 13. Jekyll 23. Riak 4. CoffeeScript 14. jQTouch 24. Scala 5. CouchDB 15. Lua 25. Scheme 6. CSS3 16. MacRuby 26. Sinatra 7. Django 17. Mercurial 27. Squeak 8. Erlang 18. MongoDB 28. Treetop 9. Go 19. Node.js 29. VIM 10. Haskell 20. OCaml 30. ZSH
    25. 25. Around “Hello World” in 30 Days 2. The Method Five Web Frameworks 1. Cassandra 11. HTML5 21. ooc 2. Chrome Extensions 12. Io 22. Redis 3. Clojure 13. Jekyll 23. Riak 4. CoffeeScript 14. jQTouch 24. Scala 5. CouchDB 15. Lua 25. Scheme 6. CSS3 16. MacRuby 26. Sinatra 7. Django 17. Mercurial 27. Squeak 8. Erlang 18. MongoDB 28. Treetop 9. Go 19. Node.js 29. VIM 10. Haskell 20. OCaml 30. ZSH
    26. 26. Around “Hello World” in 30 Days 2. The Method Seven Others 1. Cassandra 11. HTML5 21. ooc 2. Chrome Extensions 12. Io 22. Redis 3. Clojure 13. Jekyll 23. Riak 4. CoffeeScript 14. jQTouch 24. Scala 5. CouchDB 15. Lua 25. Scheme 6. CSS3 16. MacRuby 26. Sinatra 7. Django 17. Mercurial 27. Squeak 8. Erlang 18. MongoDB 28. Treetop 9. Go 19. Node.js 29. VIM 10. Haskell 20. OCaml 30. ZSH
    27. 27. Around “Hello World” in 30 Days 2. The Method The Hour
    28. 28. Around “Hello World” in 30 Days 2. The Method The Buddy System
    29. 29. Around “Hello World” in 30 Days 2. The Method The Fold
    30. 30. Around “Hello World” in 30 Days 2. The Method The Fold
    31. 31. Around “Hello World” in 30 Days 2. The Method The Fold
    32. 32. Around “Hello World” in 30 Days 2. The Method WTF’s a fold? # sum an array of numbers [1, 2, 3, 4, 5].inject {|sum, i| sum + i } # => 15
    33. 33. Around “Hello World” in 30 Days 2. The Method WTF’s a fold? # collect an array of squares [1, 2, 3, 4, 5].inject([]) do |coll, i| coll + [i * i] end # => [1, 4, 9, 16, 25]
    34. 34. Around “Hello World” in 30 Days 2. The Method C0ffeeScript fold: (values, lambda, init...) -> if init[0]? result = init[0] else result = values[0] values = values[1..values.length] for value in values result = lambda(result, value) result
    35. 35. Around “Hello World” in 30 Days 2. The Method C0ffeeScript sum: (values...) -> fold values, (a, b) -> a + b x: sum 1, 2, 3, 4, 5 // x == 15
    36. 36. Around “Hello World” in 30 Days 2. The Method C0ffeeScript (function(){ var fold; var __slice = Array.prototype.slice; fold = function fold(values, lambda) { var _a, _b, _c, _d, init, result, value; init = __slice.call(arguments, 2, arguments.length - 0); if ((typeof (_a = init[0]) !== "undefined" && _a !== null)) { result = init[0]; } else { result = values[0]; values = values.slice(1, values.length + 1); } ...
    37. 37. Around “Hello World” in 30 Days 2. The Method Lua function fold(values, lambda, init) index, value = next(values, nil) if init then result = init else result = value index, value = next(values, index) end
    38. 38. Around “Hello World” in 30 Days 2. The Method Lua
    39. 39. Around “Hello World” in 30 Days 2. The Method Lua while index do result = lambda(result, value) index, value = next(values, index) end return result end
    40. 40. Around “Hello World” in 30 Days 2. The Method Lua function sum(values) return fold(values, function (a, b) return a + b end) end -- sum the set of numbers sum({1, 2, 3, 4})
    41. 41. Around “Hello World” in 30 Days 2. The Method Lua function map(values, lambda) return fold(values, function (c, i) c[i] = lambda(i) return c end, {}) end -- get the list of squares map({1, 2, 3, 4}, function (x) return x * x end)
    42. 42. Around “Hello World” in 30 Days 2. The Method Scheme (define fold (lambda (arr f result) (cond ((null? arr) result) (else (fold (cdr arr) f (f result (car arr)))))))
    43. 43. Around “Hello World” in 30 Days 2. The Method Scheme (define fold (lambda (arr f . result) (cond ((and (null? arr) (null? result) `())) ((null? arr) (car result)) ((null? result) (fold (cdr arr) f (car arr))) (else (fold (cdr arr) f (f (car result) (car arr)))))))
    44. 44. Around “Hello World” in 30 Days 2. The Method Scheme > (fold `(1 2 3 4) (lambda (x y) (+ x y))) 10 > (fold `(1 2 3 4) (lambda (squares x) (cons (* x x) squares)) `()) (16 9 4 1)
    45. 45. Around “Hello World” in 30 Days 2. The Method Erlang -module(fold). -export([fold/2, fold/3]). fold([First | Rest], Fun, Result) -> fold(Rest, Fun, Fun(Result, First)); fold([], Fun, Result) -> Result.
    46. 46. Around “Hello World” in 30 Days 2. The Method Erlang
    47. 47. Around “Hello World” in 30 Days 2. The Method Erlang fold([First | Rest], Fun) -> fold(Rest, Fun, First); fold([], Fun) -> []. % > fold:fold([1,2,3], fun(Sum, Item) -> Sum + Item end). % 6
    48. 48. Around “Hello World” in 30 Days 2. The Method The Blog
    49. 49. Around “Hello World” in 30 Days 1. The Motivation 2. The Methods 3. The Mindset 4. The Moral
    50. 50. Around “Hello World” in 30 Days 3. The Mindset Mastery
    51. 51. Around “Hello World” in 30 Days 3. The Mindset Flow
    52. 52. Around “Hello World” in 30 Days 3. The Mindset
    53. 53. Around “Hello World” in 30 Days 3. The Mindset Grit
    54. 54. Around “Hello World” in 30 Days 3. The Mindset Intelligence (Incremental vs. Entity)
    55. 55. Around “Hello World” in 30 Days 3. The Mindset Hard Work
    56. 56. Around “Hello World” in 30 Days 1. The Motivation 2. The Methods 3. The Mindset 4. The Moral
    57. 57. Around “Hello World” in 30 Days 4. The Moral Biggest Surprise:
    58. 58. Around “Hello World” in 30 Days 4. The Moral Biggest Surprise: CoffeeScript
    59. 59. Around “Hello World” in 30 Days 4. The Moral Biggest Disappointment:
    60. 60. Around “Hello World” in 30 Days 4. The Moral Biggest Disappointment: CouchDB
    61. 61. Around “Hello World” in 30 Days 4. The Moral Biggest Success:
    62. 62. Around “Hello World” in 30 Days 4. The Moral Biggest Success: Erlang
    63. 63. Around “Hello World” in 30 Days 4. The Moral Most Value:
    64. 64. Around “Hello World” in 30 Days 4. The Moral Most Value: Redis
    65. 65. Around “Hello World” in 30 Days 4. The Moral Best Docs:
    66. 66. Around “Hello World” in 30 Days 4. The Moral Best Docs: Sinatra
    67. 67. Around “Hello World” in 30 Days 4. The Moral
    68. 68. Around “Hello World” in 30 Days 4. The Moral Most Bewildering:
    69. 69. Around “Hello World” in 30 Days 4. The Moral Most Bewildering: Cassandra
    70. 70. Around “Hello World” in 30 Days 4. The Moral Most Fun:
    71. 71. Around “Hello World” in 30 Days 4. The Moral Most Fun: Scheme
    72. 72. Around “Hello World” in 30 Days 4. The Moral Start Small
    73. 73. Around “Hello World” in 30 Days 4. The Moral Start Now
    74. 74. Around “Hello World” in 30 Days 4. The Moral What was missing?
    75. 75. Around “Hello World” in 30 Days 4. The Moral What was missing?
    76. 76. Around “Hello World” in 30 Days 4. The Moral What was missing?
    77. 77. Around “Hello World” in 30 Days 4. The Moral What was missing?
    78. 78. Around “Hello World” in 30 Days 4. The Moral What was missing?
    79. 79. Around “Hello World” in 30 Days 4. The Moral What was missing?
    80. 80. Around “Hello World” in 30 Days 4. The Moral What was missing? Strongly-typed languages are hard.
    81. 81. Around “Hello World” in 30 Days 4. The Moral Make (& Take) The Time
    82. 82. Around “Hello World” in 30 Days 4. The Moral Stick It Out
    83. 83. Around “Hello World” in 30 Days 4. The Moral Cut & Run
    84. 84. Around “Hello World” in 30 Days 4. The Moral Share Your Experiences
    85. 85. Around “Hello World” in 30 Days 4. The Moral Make Programming Play
    86. 86. Around “Hello World” in 30 Days Thanks! http://speakerrate.com/talks/3249 @deisinger

    ×