This book is new. If you'd like to go through it, then join the Learn Code Forum to get help while you attempt it. I'm also looking for feedback on the difficulty of the projects. If you don't like public forums, then email help@learncodethehardway.org to talk privately.

Exercise 2: On Creativity

Creativity is nothing special. If you're a person of average or more intelligence then you are creative. Being able to have thoughts and ideas which you then turn into reality is simply an aspect of human intelligence and thought. The problem is creativity has become a calling card for a special magical class of person called The Creative. There's entire books describing this mythical priest of the art world who can imagine an idea, and with a wave of their insanely creative golden hands, craft pure emotionally intelligent empathic works of art that make the babies of heaven weep tears of pure platinum. Frankly the word "creativity" is an overused cliché that is used to segregate people from implementing their ideas, but I have no choice but to use that word in this book.

In my book the word "creativity" only means "forming an idea into the real world." I do not imply any superiority with the word, nor any magical significance to people who are adept at realizing thoughts. The only difference between me--a supposedly very creative person--and you is that I've practiced taking ideas I have and making them real. I keep a notebook of ideas and try to implement them regularly. I study painting, music, writing, and programming as a means of implementing and crafting my thoughts into realities. By simply attempting to create something on a regular basis I've become adept at doing it, and there is no magic to this. I just keep trying until I can do it.

The process of learning to create what I have in my mind has produced an epic number of mountainous piles of junk, but at the top of that pile of junk are some works I admire. If you want to work on your ability to create, then you too will have to make your own junk pile. But you can't just randomly create a pile of junk and hope to be awesome when you reach the top. The trick to being a productive creative person is learning to implement your ideas inside a process or set of constraints that guides you on a path of learning but avoiding the trap of a strict process that kills your creativity. The balancing act of an imaginative person is on the line between a process that guides you and the process that kills your ideas. It's my hope that in this book you'll find that sweet spot.

Exercise Challenge

To work on your creative process you'll first need to work on being random. I think one of my main strengths is the ability to take two seemingly random ideas and turn them into something interesting or useful. You can start working on this by doing this little exercise every day:

  1. Write down at least three randomly combined words. Idiotic forests have iguanas. Symbolism begets crepes. Python could summon aliens.
  2. Then spend 10 minutes writing an essay about these three words, or one of them, that goes through as many of your senses as you can imagine--sight, sound, sense of balance, taste, smell. Look up how many different senses humans actually have to get an idea of what you can write. Don't censor yourself, just let the words flow. You can also draw the idea, paint, or write poetry.
  3. During this you might suddenly have actual ideas related to software or other topics of interest. Write these down in a more serious location for later exploration, or even draw them if you can.

Believe it or not, this one simple little exercise will improve a great many things when you sit down to implement software:

  1. It teaches you to let your ideas flow and not censor them.
  2. It trains you to freely associate seemingly disconnected ideas to find possible connections.
  3. It opens your mind to possibility without self-criticism.
  4. It improves your ability to articulate your thoughts in writing or drawing which is usually a first step in turning ideas into reality.
  5. It forces you to imagine how your senses might work and also how they work for other people, which helps you implement them in the real world.
  6. It also tricks people into thinking you're super deep and an Artisté. You might as well go buy yourself a beret and move to Paris after this.

This process of randomly writing and thinking about absurd concepts can be tough for people who are used to sweating the details of software and worrying about quality. That's completely understandable, and you definitely still need that sense of quality you've developed. Creativity without a sense of critical quality only produces junk. However, quality without creativity lacks the imagination necessary to see what might go wrong with something you've created. What you need is that mixture of both creativity and quality that helps you create software and make sure it's solid.

Study Drills

If the idea of writing down random words like, "Unitarians tend to fly omelets," then you can simply pick a random word from a dictionary and write about that from your senses. This works just as well and also doesn't feel frivolous, but I'll encourage you to be a little frivolous. Nobody ever got fired for writing poetry about gold coated bees on the coast of pearls. Another option is to express how you feel from the point of view of all your senses. This can also help you be creative and is rather therapeutic too.

Pre-order Learn More Python The Hard Way

When you pre-order Learn More Python The Hard Way, you'll receive the Python 3 Edition as it's being created. All files are DRM free and you can download them to your computer for offline viewing. Digital Download Only! You do not get a physical book.


Buy the Online Course

Or, you can read Learn More Python the Hard Way for free right here, video lectures not included.

Other Buying Options

Other buying options coming soon.

No content available for this exercise. You can view all available downloads at your customer account page.