$30 off During Our Annual Pro Sale. View Details »

Creative coding - why "doing nothing" doesn't mean you're not working

February 24, 2012

Creative coding - why "doing nothing" doesn't mean you're not working

As programmers we create the most fantastic systems and constructions out of nothing, and there are endless possibilities in achieving this. Yet we are still confided by the structure and rules of the language we use, which makes programming an exciting profession to be in: in the cross fire of creativeness and boundaries. Our most important tool, no, not Vim, but the brain, can handle this perfectly well. Unfortunately, and much like the rest of the world, there is a clear focus on logic, rationality, and knowledge of the parts. An expert coder is also intuitive, creative, and remembers to include the whole picture.

This talk covers the creative process, our dual CPU-brain and the cognitive skills needed for successful programming. As an added bonus we will also investigate why doing nothing does not mean you are not working.


February 24, 2012

More Decks by juneih

Other Decks in Technology


  1. Creative Coding Why doing nothing doesn't mean you're not working

  2. This then is programming, both a tar pit in which

    many efforts have floundered and a creative activity with joys and woes all its own - Fred brooks, The mythical man month
  3. Outline •What is creativity •The right mind •Why should I

    care? •Put this on a post-it
  4. What is creativity? Creating something new of value

  5. What is creativity?

  6. The creative process

  7. How the brain works

  8. Your dual CPU-brain

  9. Linear mode

  10. Rich mode

  11. How can I use this? • Intuitivity is an expert

    trait • Pattern matching is a spatial ability - code faster • Holistic and analogic - useful when designing • Learn by synthesis • Analogy and metaphors • Pair programming
  12. Spatial

  13. Synthetic Prototyping Unit testing

  14. Analogic xdebug.scream Type: boolean, Default value: 0, Introduced in Xdebug

    2.1 If this setting is 1, then Xdebug will disable the @ (shut-up) operator so that notices, warnings and errors are no longer hidden
  15. L-mode & R-mode

  16. Creative with test data

  17. Easter eggs

  18. Easter eggs cont. • PHP Credits http://www.php.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 • ↑ ↑

    ↓ ↓ ← → ← → B A start • Hyper Text Coffee Pot Control Protocol ◦ 418 I'm a teapot
  19. Summary • metaphors • learn by synthesis • Have fun

  20. Thinking in progress

  21. Sources http://pragprog.com/titles/ahptl/pragmatic-thinking-and-learning - Andy Hunt The master and his Emisary

    - Iain McGilchrist http://programmer.97things.oreilly.com/wiki/index.php/97_Things_Every_Programmer_Should_Know http://en.wikipedia.org/wiki/Multiple_Drafts_Model Mythical man month - Frederick P. Brooks Jr. http://lifedev.net/2008/07/programmer-creativity-boost/ http://en.wikipedia.org/wiki/Creativity http://en.wikipedia.org/wiki/Consciousness Dan roam - back of the napkin http://www.youtube.com/watch?v=kuA_yz7aTo0 http://www.webdesignerdepot.com/2009/09/the-difference-between-art-and-design/ http://www.tv2.no/nyheter/okonomi/oslo-kommune-ba-leverandoerer-kontakte-donald-duck-3494844.html http://www.cenqua.com/pairon/index.html (chair) http://www.etftrends.com/wp-content/uploads/2010/02/post-it-note.jpg (post-it) http://3.bp.blogspot.com/_RKpjMnzcQZg/ShrXvR-ZZwI/AAAAAAAAA6o/qCPFxmusPL0/s400/everyday-things.jpg (teapot) http://onward.justia.com/2005/07/20/google-maps-goes-extraterrestrial/ (moon cheese) http://en.wikipedia.org/wiki/File:Phpunit-Logo.gif (PHP Unit logo) https://joind.in/4952