Hammock Driven Development - Rich Hickey

Поділитися
Вставка
  • Опубліковано 27 гру 2024

КОМЕНТАРІ •

  • @DemmyDemon
    @DemmyDemon 2 роки тому +40

    I got good at explaining problems by explaining them to my dog.
    The dog enjoyed the attention, I benefited from formulating the problem in words. Win-win.
    Since my dog passed, I have been having a hard time coming up with a replacement explanation target. I should just get another dog.

    • @johnshaver4870
      @johnshaver4870 Рік тому +6

      It sound to me like you could expense it to the company, too. You may as well. 😆

    • @delucain
      @delucain 3 місяці тому

      This is generally described as "rubber ducking" from a possibly apocryphal account of a dev who explained his problems to a rubber duck he kept on his desk for the same reasons.

  • @alrightsquinky7798
    @alrightsquinky7798 4 роки тому +29

    "Not everything is awesome." Amen! Thank you, Rich.

  • @fungiside
    @fungiside 10 років тому +24

    Excellent talk. Thanks for sharing this with us Rich.

  • @poinav55
    @poinav55 6 років тому +15

    one of the best talk on software development.

  • @aaronbell5994
    @aaronbell5994 2 роки тому +3

    This has helped permanently change how I think.

  • @shipper66
    @shipper66 10 років тому +17

    I like bed driven development, I'm gonna try hammock now. Thanks Rich :)

  • @burakcopur3841
    @burakcopur3841 8 років тому +14

    As he says, Polya's How to Solve It focuses on math and of course should be read. To supplement it with algorithmic thinking, there is a great book called How to Solve It by Computer, similar in the spirit.

  • @justinmccune7
    @justinmccune7 7 років тому +22

    FYI> The Science of Programming by Dr. William Gries has a formal methodology (based in math) for the proving/developing of algorithms. It is my most frequently re-read college text (and I took the course from Dr. Gries in 1996). While this book's ideas may not help with general programming/development like the e-commerce example, it certainly can apply to the development and proving that an algorithm is correct (and is a great way to practice thinking about problem solving, and does involve writing it down...)

    • @christgar64
      @christgar64 5 років тому

      Good to know, thanks for the recommendation.

    • @aaronbell5994
      @aaronbell5994 2 роки тому

      Thank you 😁

  • @piano-binaural-recs
    @piano-binaural-recs 5 років тому +5

    'Mathematical thought' is logical thought, as is algorithmic thought. They are in their surfaces different but at the core the same. Practice devoted to 'mathematical thought' or any thought of precise logical structure will naturally harvest fruit in endeavours of algorithmic nature.
    Of course logical thought is constrained by its sequential nature (as are our machines of logical thought manifested). In order to "truly think", we do find the unconstrained mind to be orders of magnitude faster and more effective than the relatively inept and slow "logical mind." As the nature of reality "has the advantage" of happening all-at-once-and the human body and its brain being part of this reality, the unconstrained thought is more akin in shape and form to a tempestuous ocean, and ideas and thoughts come and go, appear and disappear continuously in never ending streams, un-bottlenecked by the one-by-one method of logical sequential implication. This is the natural thought-the thought of nature-our natural mode of thinking. The one that goes on even now, as our heart beats and our lungs breathe, and our neurons fire in the billions, even as we have no knowledge or control of their methods.
    Curiously, now you have presented a simple & brilliant algorithm-and great justification to do so-to plug in into this "mode of thinking" in place of-or rather as you put it in your title, to "Step Away From The Computer."
    Love all your talks Rich and as always great insight.
    Cheers from Prague,
    JFG

  • @jakejakeboom
    @jakejakeboom 7 років тому +5

    I do my best problem thinking when running personally, but a hammock would be nice

  • @omkarenator
    @omkarenator 11 років тому +6

    can we please have the slides?

    • @jesseacummins
      @jesseacummins 6 років тому +7

      Check out the transcript, which has slides: github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/HammockDrivenDev.md

  • @diegonayalazo
    @diegonayalazo 3 роки тому +1

    Thanks

  • @louisthibault555
    @louisthibault555 5 років тому +4

    Embarrassingly, I never know what to write down when researching stuff. Any suggestions for how to take good notes?

    • @softwareminimalist
      @softwareminimalist 5 років тому +13

      Step one - Stop worrying about the notes being good, and just start writing stuff down :)
      Step two - Continue doing that.

    • @CraigPerry
      @CraigPerry 4 роки тому +2

      Have you come across the “slip box” method? Zettelkasten. There’s also an excellent essay from the 50s i think called something like how to read. That paper has been mega influential in my life in terms of how i research.

    • @johntacos153
      @johntacos153 4 роки тому

      Check out "how to take smart notes" by Sönke Ahrens :)

    • @a0um
      @a0um 2 роки тому

      It seems you’re asking two questions here. 1) what to write? 2) how to take notes?

  • @onionpancakes
    @onionpancakes 4 роки тому +5

    14:24 Not everything is awesome.

  • @Ephrones
    @Ephrones 11 років тому +1

    Very interesting concepts, and mostly new to me. Let’s try them out, shall we? ;)

  • @Leto2ndAtreides
    @Leto2ndAtreides 10 років тому +2

    Good stuff! Good stuff!

  • @kumarjavvaji
    @kumarjavvaji 10 років тому +4

    sounds like life-hacking.

  • @DevinRhode2
    @DevinRhode2 8 років тому +5

    dynamic typing == avoiding problems?

    • @a0um
      @a0um 2 роки тому +2

      I can’t find exactly what Rich said in this talk regarding dynamic typing, but I guess from his emphasis on trade-offs and problem solving that he meant ‘dynamic typing avoids *some* problems’, as in problems that are not part of an application domain.