Painting From Memory Experiment

When most people learn to draw it follows one of a few different styles:

  1. Sight-sized where you place the paper (picture plane) next to the subject, then stand far away such that you can view the subject and paper as if they’re next to each other.  You then basically plot out copying points from the subject to the paper, and since they’re at the same orientation and layout, you can see your mistakes easily.  This method does a good job of making an accurate drawing, but is tedious and requires a lot of space.  It does work very well for landscape painting though, since the scene is always so far away in a landscape you don’t really have to walk back to do sight-sized.
  2. Relative measurement or “measuring” where you pick a part of your subject to be the “unit of measure”, then use that unit to measure the location and size of other objects in the scene.  If you were doing a room, you might pick the width of a door as your “one” (aka unit of measure).  Then you’d use that “one” to find out how wide or tall other objects in the room were, and where they were located.  This method works well and also lets you hold your paper or painting next to you or in your hands.  You can also just use a pencil and some paper and that’s it.  With sight-sized you need an easel and some other things since you have to walk away from it over and over again.  The down side is this method isn’t as accurate as the others.
  3. Relative angle or “block-in”  This is where you use the relationship of angles to other angles in big chunky blocks to locate and size objects in the scene.  Rather than picking the width of a door to find the width of a wall, you’d make a big loose line, then use that line to locate another angle, then that angle to find the edge of a wall, and eventually you’ve got the general location of the big shapes because you’ve lined up their angles to each other.  This creates an integrated drawing, but it has problems when you want to paint because you have to do a lot of erasing and refining.  You can’t just draw the 4 things in the scene.  You draw 4 big shapes, then “carve” into those shapes, and then erase, and then carve more, then find inside shapes, and carve those, etc.
  4. Shapes or “painterly” This is where, rather than find the outlines of objects in a scene, you just paint their shapes.  It works more with paint than with pencil, but you start with painting about 3-6 big shapes, then you refine those shapes down with more shapes inside.  It’s called “painterly” because it produces an image that doesn’t look obviously drawn, and more direct.  Down side is it’s pretty difficult to get right in the beginning, and definitely hard to get super realistic with this style.

I actually use all three of these depending on what I’m trying to paint or draw.  I find sight-sized is awesome for landscape painting when you need to be accurate.  I find I mix measuring and block-in styles when I paint.  I’ll use angles and measurement to locate edges and objects, then shapes.  Many times I also just like to use a painterly approach, but I’ll still lay down some guide lines to figure out where things are in a scene.  One trick to make a painting look “painterly” but still do drawing is to draw the scene, but then use giant shapes that wipe out the lines, then paint into those shapes.  When I use a palette knife I’m almost exclusively using the painterly style, and actually I enjoy that style the most.

Memory Drawing

While investigating these different methods I stumbled on a French guy named Père Lecoq from the 1848 who taught people to paint and draw from memory.  He did this as an experiment with children going to the French Academic painting system to see if having them memorize the elements of drawing and painting would make them as accurate as other methods of teaching.  At the end of the experiment, several students were evaluated and determined that they did in fact draw as well as other students.

Lecoq eventually got fired or quit from the Academy and went on to simply teach on his own, but he did write a small book on how he taught.  I read it, and it was a little confusing, so I found this other book by Darren R. Rousar called Memory Drawing: Perceptual Training and Recall. In Darren’s book, he goes through the history of memory drawing, and then has a bunch of exercises that attempt to teach it.  I read  his book, and did about 20% of the exercises and loved how it felt.  It was so weird and different from other ways of drawing.

It seems impossible, but you can actually stare at a scene or a photo, and after about 2-3 minutes of staring at it, do a fairly close approximation of it.  There’s really no way to describe what is happening, but, when I do it I’m not really ticking off a list of points and measurements.  I’m staring at what I want to memorize, and periodically closing my eyes, or drawing in the air over it with my pinky, and then staring with “loose” eyes over the whole scene, and then…I can remember what is where and draw it.  I really can’t explain it.

And, you’d think I’d be way off on my first try, but not really.  I’m fairly close on most of the basic shapes I’ll show you here.  More complex things obviously will be less accurate, but in general I’d say I’m not any more or less accurate in my first to fourth basic blockins than with any of the other methods I listed above.  Eventually I’ll obviously be more accurate with those methods over the long run, but I’m actually not so sure about that.

You see, the process of drawing is actually one of refinement from a gross mistake.  You start off with a guess that’s unrefined and messy or bulky.  Then you correct that and refine it, and repeat this refinement until you have the level of accuracy you want. After years of studying what I found is that accuracy is more a product of time spent refining than any sort of immediate magical accuracy.  99.9% of all artists who paint or draw very accurately either copy photos, start of with fairly messy guesses that become accurate, or don’t actually draw as accurately as you think they do.

Gross Refinement

This got me thinking:  What if I could adjust the Lecoq/Rouser memory drawing style to instead use this gradual refinement process.  In Rouser’s and Lecoq’s book the flaw I saw is that they expected me to be able to memory an entire human head with fine gradations of tone and draw it in a few attempts.  However, that’s completely unrealistic and not how most artists work.

This week I decided to try an experiment where I used my memory to draw some simple geometric foam shapes in different orientations.  I was going to try each of the above processes to see what worked, and also try a few different mediums (charcoal, pastel, oil paint).  My goal was to see, could I use my memory only to get a basic drawing, but use the block-in and refinement process that seems to work best.

When you see these though, keep in mind that I’ve been practicing and training in drawing and painting for a while.  Don’t think that I’m saying someone with zero art experience could plunk down these shapes and bang out these paintings from memory.  There is something strange going on that I can’t quite explain, but rather than explain it I’m just going to try to figure out how to do it by doing it a whole lot.

The process I used is basically this:

  1. Stare at the scene or the photo for 2 minutes.
  2. Cover the scene or photo and then, looking only at the painting, put down the big shapes I remember.
  3. Remove the cover and then check how accurate I am.  Anything that I get wrong, either I’ll erase/wipe it for the next round, or if it’s tiny and a small fix will help, just do that small correction.
  4. Now cover the drawing or painting and repeat #1, but memorizing a smaller part for refinement, or some area I got very wrong.

The idea is I’m attempting to utilize “memory chunking” where, rather than magically memorize an entire photo, I’m memorizing big chunks of the scene.  Then, once I have those drawn I dive into the shapes to memorize smaller aspects of it.

The Results

My first experiment was with an actual object in a dark box I use for cast studies (it’s actually just a black bookshelf).  I did this one in charcoal and white chalk, and used more of a relative measure style of drawing it.  I memorized some of the basic measurements of the big shapes using the width of the right side of the block, and also memorized the general shape of the whole scene.  This took me about 6 rounds to get to here.  One problem though is using a actual object rather than a photo makes it difficult to check my accuracy.  I mean, sure, that looks like a rectangle block, but it’s difficult to really see if I was dead accurate with it.

My next attempt I switched to using a monochrome photo printed out, and using pastels. The photo makes it much easier to tell if I’m being accurate or not, and the pastels makes it much quicker to lay down the shapes I’m attempting to hold in my head.  Pastels also have the advantage that I have to grab actual values of black vs. white.  With charcoal I’m using the paper is a white, and then different amounts of charcoal to get different values.  Pastel I grab a white, or a gray, or an almost black, and when I put it down, that’s the actual thing I see.  This makes it much easier to paint what’s in my memory since it’s more direct.

I did this in about another 7 rounds, and I used the block-in style of drawing then painting it.  First I remembered relatively what the angles of the scene were, drew them from memory, then I memorized what values (white vs. black) when where.  This worked pretty well and the pastels definitely are better than charcoal.

Next I used oil paint, and still from photos, plus stayed with he block-in style of drawing. The oil paint was definitely quicker, and I think I did this in maybe 4 rounds?  Next time I’ll track how many rounds and how many corrections I made.  With the oil paint it was very important to pre-mix the colors so I could work with them like I did the pastels.  I think having to mix would take up too much time and wash out any memory of the scene I had.  The oil paint definitely went faster, but I could see that for the purpose of checking accuracy it might not be as good as pastels.  I will say that I did this very fast before going out to eat, so I’m surprised it was as close as it is.

My final test was again with oil paint, but using the painterly method.  This shape is challenging because of the ellipses involved, but the painterly approach worked in general.  I first memorized the big shape of the dark background and the ellipse.  That basically leaves the front of the cylinder so no need to memorize that.  I then painted that in really sloppy to get a general idea of where it all goes and the shape.  Surprisingly I was pretty close, and on the next round had the cylinder close enough to refine it and render it better on each round.  I’d say it’s not quite as accurate as the oil painting above, so I’m leaning toward using the block-in method to get a general idea of the drawing, then painterly to block it in and refine it.


I’d say the most surprising thing is that it works at all and that I was fairly accurate on the first and second round.  In the case of the pastel painting my drawing was pretty close on the first round.  These are simple geometric shapes, but keep in mind I’m copying them from a strange angle with perspective and comparing it to a photo.  If most things are based on these basic geometric shapes then I’m thinking I could keep practicing this and eventually get to combining them in more complex ways.

The other thing that is surprising is how easy it was compared to constantly looking and measuring.  There was some measuring and comparing when I made little adjustments, but overall I just stared at the photo, covered it, and got pretty close.  With regular drawing it’s a constant battle of bouncing back and forth to get the drawing right and I might get a more accurate results eventually, but I’m also doing hundreds of “rounds” in that case.

The ellipse in the last painting is a good example of this difference.  Normally doing an ellipse is difficult, but in this I kind of just whipped that out with a couple brush strokes, then on the next round altered its value some or refined it a bit.  It’s obviously not perfect, but pretty good for just a couple of attempts at it.  I think with normal drawing I’d work on that for quite a while.

The final surprise so far is how it felt.  Doing it this way felt…meditative.  I had to stop and slow down and stare at this photo or object until it melted away and turned into a group of shapes.  I had to focus my attention, but also not really focus at all and just let it come into my mind’s eye.  It was nearly the same sensation as meditation, and then when I went to paint it was like releasing a breath.  As if what I memorized had to come out now.  When I paint or draw other ways it’s more like I’m pulling and working a large rope to pull the drawing onto the canvas.

I’ll continue this experiment with more complex topics and see how this goes.  I’m going to narrow down on the block-in/painterly method, but I’ll still bounce between pastels and oil until I’m more confident which one is easier to work with doing this.

Vignettes of Terrible Art Teachers

I sit down in the class and start setting up my gear.  Brushes, paint, palette, all pulled out from my bag.  I forgot to bring brushes on the trip from San Francisco to New York so I ran to a Blick the day before and bought the cheapest ones I could use for the class.  Some simple synthetic brushes that would work.  The teacher walks over, picks a brush up, and goes, “Oooooooh look at your fancy brushes.”  I have literally met the man for an hour and he’s already insulting my gear.  I laugh and say they’re just cheap ones from Blick and he scrutinizes them, eyes scrunched up, like I’m lying, before putting them down.

He instructs us to make a grisaille of our still life setup, copying from a photo we found online.  I copy it, matching the values and he observes me do this the entire time.  I used alkyd paints so they would be dry the next day.  The next day he comes in and he gives everyone a long lecture on how we have to make our underpainting a lot lighter or else his method won’t work.  I look around the room.  I’m the only one with a dark grisaille.  Why didn’t he tell me that before the paint dried?

The second day I talk to a student from the school that’s hosting us and show her my funky Bob Ross paintings as a joke.  She immediately points to the middle of the painting and say, “What?! You can’t do that!”  I say something like they’re just a joke but I can kind of do whatever I want.  “I’m going to tell your teacher.  He needs to talk to you about this.”  She storms away angry.  I’m dumbfounded anyone would have this reaction at an art school, but shrug it off thinking, “Nah she’s not going to do anything.”

The next day she takes the teacher to lunch.  The day after that, he takes me to lunch.  He spends the entire lunch trying to convince me to not attend this school or study their methods because of my Bob Ross paintings.  He said I wouldn’t fit in at that school, and that my views on art are different from everyone else’s.  I just flat out told him, “You’re right.  This place is a damn cult.  There’s no way I’d study here if people react this way to a joke Bob Ross painting.”

It took him an hour to gradually crush my aspirations to be an artist, and it almost worked.  Thankfully, I have a high dose of “Fuck You” in my blood to counteract people like that.  I shrugged it off a week later and went back to studying anyway.  But, I can’t imagine how someone else would have taken it.  That kind of interaction would have derailed many students permanently.

Copying & Repetition

You ever hear parents complain about their kids TV habits?  “Oh my god! If I hear Blues Clues one more time! Timmy plays that damn video over and over and over.”  What Timmy is doing is learning.  Timmy probably also mimics his parents and siblings actions, copies their speech patterns, observes their habits, and repeats them over and over.

Copying other people and repetitive training is the foundation of education, but in today’s education this has been thrown out in favor of “conceptual learning”.  The idea of conceptual learning is if you expose someone to the concept of a subject then they’ll have a higher more refined understanding of the topic than simple copying and repetition (what they call “rote learning”).  The reality is conceptual models of education simply find students lucky enough to naturally know the topic, and then leave the rest to fail and flounder.

In the united states, there is even a slight racist tinge to the attitude of conceptual vs. rote education.  I’ve heard many people say that “Asians really can only copy others because they use rote education in school.”  If you’ve spent any time studying Asian art and culture you know this isn’t true at all, and is a very racist attitude.  Whether it’s the Ruby Programming language, or BABYMETAL, or Old Boy, it’s entirely wrong to think that Asians are unoriginal little robots because they learned by rote.

There’s also a strange fear associated with rote learning that says if you learn rote you’ll somehow be less “creative”.  The problem with this is that nearly every creative thing you do requires rote practice.  The idea that I’m going to learn the major scale on a guitar by just learning the concept of a major scale is laughable.  Nobody who teaches music thinks that.  I learned guitar from repetition and copying other guitarists.

Painting might be the next discipline someone who believes in “concepts” puts forward as an example of avoiding rote learning.  Again, there’s a very long history or repetitively copying the works of other artists. There’s even a term for it: “Master Copy”.  Every great artist and almost all art schools have copying other artists as a way to learn to paint or draw.

If doing rote copying turned painters or musicians into unoriginal robots then all of them would be that way.  Painters and musicians are frequently put forward as the pinnacle of creativity, so clearly rote copying doesn’t impact your originality.  In fact, the dividing line between amateur and professional is how much they practice, and practice is repetition. Artists do small studies in a formal way. Musicians play scales their whole life, again repetitively copying.

How about writing?  Again, you learn to write by first copying the alphabet, then small stories, then trying to write on your own, and reading and trying to emulate your favorite authors.  Copying and repetition is all there.  Memorizing a poem is copying and repetition.  Reading and pulling out quotes and phrase structures is also copying and repetition.  Every author who is any good copies other authors and repeatedly writes almost obsessively.

Martial Arts, Dance, Singing, even Mathematics is full of copying and repetition.  Denying the role of these two practices in education denies what is a foundational aspect of human learning.  This is even the foundation of non-human learning, so why is it that people in the computer science field think there is no role for copying and repetition?

Rote in Computer Science Education

Copying and repetition is necessary in education because it builds instinctual basic skills someone needs to understand the more abstract conceptual parts of a discipline.  Nobody thinks you can memorize all of Jazz, but they definitely know that if you can’t instinctively play a scale then you’re probably not going to be able to play Jazz.  Nobody thinks you can memorize all of art, but if you drawing or color isn’t instinctual then you are going to struggle.

I believe Computer Science education could benefit greatly from copying and repetition at the beginner level and possibly later.  Copying is how a vast majority of programmers learned to code, but many CS educators deny this fact.  If you’re imagining yourself at 12 trying to learn to code, then I’m betting you had either a book or website with code that you copied and made work.  This should just be how we start people in programming, and not the current method of conceptual “weed out” classes.

Repetition is a mostly un-researched aspect of CS education that I’d like to explore more.  I believe that repetition happens naturally if you have copying as a base part of the educational experience.  However, I feel that drilling and repeating aspects of a language that need to be instinctual would improve retention.  For example, if students had to memorize all the lexemes and syntax structures of a language while they’re copying small working programs.

I think the main reason why this is ignored or vilified in CS is the same reason that most programmers simply can’t teach:  They are so far removed from their beginner experience that they forget that they actually learned to code via rote learning.  We see it all the time when a programmer attempts to teach non-developer and immediately tries to get them to use Vim and write C code.

The experienced programmer has completely forgotten the nights they spent repeatedly copying other people’s code and writing and rewriting buggy code to make it work.  To them this isn’t “rote” because they were so deep in it that they can’t see all the implied rote work actually being done.  They were also 10, so their brains were very bad at meta-cognition and can’t really say why they thought anything, so how can their recollection of their self-education possibly be accurate?

Hopefully Computer Science will adopt the educational style I’ve found in Music for beginner, and painters for intermediate developers.   I believe an early training that involves a mixture of rote (scales, chords, ear training) followed by copying and modifying (learn a song and try to improvise) will benefit beginners.  For intermediate programmers I think the Painting style of education would work well:  copy master works and create your own studies of simple subjects.

Adopting these two models would make CS accessible to more people, and make it easier for beginners to transition to intermediate and then advanced skills.

Educational Mithridatism

Some things that you need to do are a lot like arsenic. These are activities that you know you should do, but the act of doing them simply drives you mad and feels like they are killing you. Playing scales in music is a great example of this. You sit down to study guitar and you know you should do about 30 minutes of scales, but the mindless repetitive motion and pointless sound drives you to boredom. You want to play like Stevie Ray Vaughan now! Fuck these scales!

You sit down to do these mindless, boring, stupid, pointless, annoying, exercises with no immediate value and all you see before you is a massive plate of arsenic. You want to do it now! How can playing the same scale over and over possibly help?! Now now now! Ugh, this is so boring. And then you stop before the arsenic kills you, but when you try to do what you really want you fail. You stop playing scales and then sit down to play your favorite song and can’t, then you get frustrated and give up. Fuck the guitar! It’s stupid!

Many people who react this way to practice end up only ever attempting the things they can do naturally, which is really not many things for most humans. If you can’t get immediate results without practice you give up and come up with crazy excuses about why it’s stupid. Even worse, maybe you’re the kind of person who sets insanely unrealistic goals (like learning all of Steve Vai’s repertoire in one month) so that when you fail at it you can save face and say it was just too hard. Well of course it is, if you’re incredibly unrealistic and don’t want to practice.

In my books I have exercises that are like this. Things like making a deck of flash cards to memorize all the keywords in a language are exactly the kind of arsenic infected repetition that drives people nuts. Typing the cd command 20 times to learn how to use it also seems useless and repetitive. The reason I have these exercises is they’re a quicker way to get language proficiency than if you just banged your head on coding samples for hours on end. A little bit of rote memorization has this magical quality of removing a main blocker to learning to use a language: symbol and word recognition. Rather than write code and constantly have to stop to know what a word is, you already have that word primed in your memory and simply need to learn to apply it.

However, enjoying arsenic activities is not normal. It’s a myth that there’s a small percentage of people who just can’t sit still and the rest of the world are perfect little angels who can do exactly as told and mindlessly write their names a million times to learn penmanship. It’s bullshit. Everyone has some tolerance level for boring shit, it’s just yours is probably lower than others, but nobody except a few people with some forms of atypical neurology can sit for 12 hours and do the same thing for no reason. Not at first anyway. This takes training.

I believe that the root of this belief in mindless repetition being a good character trait comes from America’s puritanical history. You got into heaven by getting up early and working hard in the fields until you died of tuberculosis or famine. If you worked hard enough you’d have enough money to buy your way into heaven, so lazy people just went to hell. This interesting bit of history is also why bohemians seem to think that memorization creates boring robots who will never have a creative actualized soul. Bohemians are simply reacting to the puritanical bullshit, but in the process inventing their own bullshit.

It’s important for learning and personal growth that you learn to tolerate rote education, but that only learning with rote methods will also hold you back. The killer combination in education is when you use rote training for basic building block skills, and then apply them to creative problems to learn how to use them. The world of programming is loaded with people who have memorized every square inch of manuals and standards, but who couldn’t code their way out of a lego castle, never producing a single piece of software of any substance. There’s also a crazy number of painters who do nothing but conceptualize all day and have no idea why their paintings keep cracking and can’t make a cup look like a cup. What you want is to be neither of those people by being both of them at the same time.

For me this is just second nature by now. I can sit down and play scales on the guitar for hours, or draw the same thing over and over to prefect a technique, or do flash cards to learn a new language. But, I’ve trained myself to turn off the heaving desperate anguish that flares up when I do them. I didn’t naturally have this ability to practice basic skills for hours. I built my tolerance to it just like arsenic.

I’m going to call this practice Educational Mithridatism, after the king Mithridates VI who was famous for having slowly increased the amount of poison he could tolerate so he couldn’t be poisoned. Apparently his mother poisoned his father, which is definitely going to make someone crazy enough to eat poison every day. Whether it’s true or not, there is some evidence that humans can build a tolerance to arsenic and other natural poisons. For this essay, let’s just assume that you can do it, and I’m using it as an analogy.

The reason I like this analogy for doing things you must, but dread, is it frames the activity correctly. It is perfectly normal for you to hate boring repetitive things. People who like doing boring shit are not magically better moral individuals than you are. They are just different, and I bet if you asked them they’d say they wish they were more “creative” (which has it’s own self-defeating attitude I’ll write about next). If you have a hard time sitting down and practicing, then don’t beat yourself up. Admit that you hate it, that it feels like poison, it’s going to kill you, and take the challenge and build your tolerance.

How To Do It

You now want to train your tolerance for arsenic. Arsenic isn’t really the best word since it’s not clear you can actually build a tolerance to it, so I’ll say you want to practice Educational Mithridatism (EM). This will require you exposing yourself to what you hate, and slowly and methodically build a tolerance to it. This will require exposure and effort, but I have a way that may help you do it.

Purpose: The very first thing is you have to figure out what benefit you will get out of this activity if you can tolerate it. The core of the problem is people who sit down to practice something seem to have no ability to see how it will benefit them. Even worse they don’t believe others when told what the purpose is. To begin, you need to clearly write down what the point is, and what you’ll get out of it. Practicing scales will make it easier to play the music you like. Learning to draw spheres makes it possible to render other spherical objects. Learning the keywords to a language makes it easier to read and write code. Before you begin the activity, review the benefits and hold that fixed in your mind.

Baseline Tolerance: Next you’ll want to have some way to track how long you’re able to tolerate this activity. Get a stopwatch or use your phone, sit down to do the activity, and the second you feel your rage rise up in your chest, stop. Even if it’s just 2 seconds. Stop the watch, and write that down in some kind of log book. Just a little moleskin will work for this log book, but I also like the Uncalendar, but whatever you do keep it simple.

Building Tolerance: Once you have your baseline, even if it’s just 2 seconds, you can then start to build your tolerance. Set a timer for that amount of time, plus “a little more”. I say that vaguely because if it really is 2 seconds then you’ll need to probably try for 10 seconds or more. If it’s 5 minutes then shoot for 6 minutes. The purpose is to set the timer, then do the activity and not pay attention to the timer until it goes off. Then tell yourself if you really made it or if you need to attempt that time again. Keep trying to reach this time limit until you can do it successfully, recording each time you attempted. Once you can reach that time, then kick up a bit more, again maybe 10% or a bit more.

Take Breaks: Take a break for about 5-10 minutes between each attempt. If you don’t take a break then you won’t be recharging your resolve for the next attempt. Force yourself to take a break no matter what.

Make A Leap: Once you’re slowly inching your tolerance up in very measured ways you’ll want to attempt a leap. You may be ready to double your time or more without realizing it. Either switch to a stop watch and just go for as long as you can then record how long it was, or set the timer for double or triple what you can handle. Track how long you really did it during these leaps and then try to set that as your new level. If you fail at a leap, don’t worry, just go back to slowly building it up.

Test Your Goal: After you do these sessions for a while you’ll want to apply your training and see if it’s working. It most likely won’t have any impact for a while, but one day you’ll try your goal activity and suddenly it’s way easier. At a certain point you may even be able to just stop doing your tolerance building training and switch to simply doing your goal activity as your training. For example, if you’re forcing yourself to memorize C language keywords, and one day reading C code is suddenly very easy, then you probably don’t need to memorize the keywords anymore. Just start coding in C as much as possible. Goal accomplished.

Don’t Over Do It: The last note is to actually treat this like arsenic and don’t over do it. You can easily push yourself too hard and burn yourself out, or if it’s a physical activity, harm your body. The reason is you start tracking yourself and then you get excited that it’s working, so you decide to go for it and actually you are totally not ready. Instead, build it in small doses, and when doing the arsenic activity feels natural you know you’re ready to try something challenging.

Hopefully this little essay helps out people who wish they could just sit down and practice something they despise but know they need. The key is that you aren’t a less moral or stupid person because you can’t focus. You’re just someone who never learned how to do it and need to train yourself. It could take years, but if it’s important to you, then this is how you do it.

Early vs. Beginning Coders

When I was working on Learn Python The Hard Way I was frustrated by how often I’d have to explain that the book is for a total beginner. The problem is that most of the technology world considers someone with about two programming languages under their belt a “beginner”, but learning two programming language would take you about 4-6 months. After 6 months you can’t really say someone is a beginner since, well, 6 months later is not the beginning. The beginning of something is…I mean why do I have to say this…at the beginning. Not 6 months later.

It seems pedantic but this is a constant problem in the technology education world. When you look at the categories for technology book publishers they only have categories for “beginner” that fit the model of a person who’s not really a beginner. My book actually didn’t fit into many publisher’s categories since it was targeted at an audience that was before this level. This showed a completely ignored group of people, and it’s a very good sign that most technologists simply have no concept that there are non-programmers who want to learn programming.

To me this inability to visualize a person who is a total beginner is a symptom of most programmers being terrible at teaching programming. They frequently have bizarre ideas about teaching programming because they can’t visualize a person who knows absolutely nothing. My favorite is how they think you should teach programming without teaching “coding”, as if that’s how they learned it. They’ll have this imagined idea that they learned programming in their first discrete mathematics course, when really they were probably typing the code out of a book when they were 11 and simply don’t consider that where they learned to code. Or, they didn’t really learn programming in that class and only actually learned it when they sat down and went through a book that taught them code. Their arrogance simply makes them think they did, but I don’t know anyone who took an abstract “no coding” class and then went and wrote Java or Lisp without going through at least one book teaching how to code.

I have no idea why these people have such a hard time visualizing someone with zero knowledge, but I think a simple change to the nomenclature of software developers would help to at least talk about it.

The Beginning Is At the Beginning

What I propose is we have beginning coders and early coders. I got this idea from a painting teacher who kept referring to students who had never painted as “beginners”, but those who had painted for about one class as “early”. The reasoning is that you need a way to differentiate people who don’t know a damn thing vs. people who know the basics but just simply suck at them. Teaching a beginner is very different from teaching someone who’s already been doing it for a bit and just needs more training.

For example, a beginning coder doesn’t know how to type the | (pipe) character. They don’t even know it’s called a “pipe”. I’m not joking about this. Professionals actually don’t believe me when I tell them this, but it’s true. Beginners have zero experience so simple things like making a text file, opening terminal, and even the idea that you can type words at a computer and it will do stuff, are simply unknown to them. To teach a beginner effectively requires this level of information slowly fed to them in reasonable chunks.

The best analogy I have for this comes from either music or martial arts. In those disciplines you have a set of things that beginners need to get through repetition before they can start the process of actually learning. In music this is simple things like names of notes, ear training, scales, where notes are, and harmony training. In martial arts this is things like building strength, flexibility, how to stand, the names of techniques, and blocking. Without this initial basic repetitive training to get these core skills deeply ingrained the beginner will simply flounder trying to learn at the early stage and have a difficult time progressing to deeper understanding.

My current method for training up beginners is to make them learn the basics of 4 programming languages. I’m not sure why 4 seems to be the magic number, but after they’ve gone through 4 programming books and learned to make tiny little programs plus all the syntax, they seem to have a firm grasp of the basics. This phase is all about learning concrete simple things, but also understanding the idea that the concrete things are just standing in for abstract concepts. In one language || (two pipe symbols) might mean “or” and another language will use the actual word “or” but this is the same concept and the symbol doesn’t matter. After their fourth language they get this and can then move on to being an early coder.

Early Is After The Beginning

An early programmer is different from a beginner because they have the basic skills understood, but have a hard time applying them to problems. The early coder’s next challenge is problem solving, which is a much more abstract skill that takes longer to master. A beginner’s hurdle is training their brain to grasp the concrete problem of using syntax to create computation and then understanding that the syntax is just a proxy for how computation works. The early coder is past this, but now has to work up the abstraction stack to convert ideas and fuzzy descriptions into concrete solutions. It’s this traversing of abstraction and concrete implementation that I believe takes someone past the early stage and into the junior programmer world.

The best analogy for this would be with creative writing. First, a student has to spend time learning the alphabet, then words, reading, writing, and other concrete things. Even before that they have to learn to comprehend their native language(s) or else it’s difficult to teach them reading and writing. After they’ve learned this concrete task of reading and writing, through lots of mechanical repetition, they move on to the task of conceptual writing. They’re given problems of writing stories or essays and then figuring out how to express these ideas in concrete words.
I’m not quite sure what takes someone from early to junior other than just attempting lots of projects with guidance. Similar to writing, painting, and wood carving, I think given a lot of projects to complete and then being critiqued on the results is probably the best way to build them up.


My idea isn’t new of course, but now that I have a word for who I’m trying to teach, next I can focus exactly on that person. By saying, “This is for early coders,” I’m able to craft exercises that will work to build their skill level up and take them out of the early stages and able to create things. I’m thinking that it won’t matter what kinds of projects they do, just that they do a bunch of them.

My only question is how many projects ends up being the breaking point for most people? Is it 10, 20? How much variation is there between them? Or, is it more a question of time and not quantity of effort?

Either way, I’ll be hammering this divide between beginner and early so that we can properly place educational efforts and materials where they belong. Now if I can only get the few people writing books for beginners to stop assuming every beginner is a little kid or a total idiot I’d be set!

I’ve Been Doing Painting Videos All Wrong

For the last year or so I’ve been obsessed with watching instructional videos for painting. I probably own a few thousand dollars worth of videos, plus a subscription to and and I may add another subscription site. I spend about 2-3 hours a week watching videos, and some weeks I may average one a day, especially if I’m trying to figure out a particular technique. What I would do is watch a video, and take notes along the way of what the artist says to do. Then I would watch another one, or I would test out the technique in a bunch of studies.

That’s all changed thanks to Bob Ross, Johannes Vloothius, and Richard Robinson. Now I approach painting videos very differently and it’s radically made learning to paint way more fun.

It all stars with me jokingly deciding to do one of the many Bob Ross DVDs I have purchased. Normally I watch Bob Ross’s episodes when I’m bored and want some background noise or when I want to sleep. He’s better than a pile of Ambien for going to sleep. One day I thought, “Hey, I know how to paint so what would happen if I followed along with Bob?” About three hours of fun and mess later I produced this:

Did this following Bob Ross

It was a hell of a lot of fun, and his method of painting is ridiculously easy to generate a landscape, but after that I just sort of forgot about it and put it on my list of fun late night things to do when I’m bored.

At the same time I’m watching videos I come across Johannes Vloothius’ where he sells courses in landscape painting that are based on online webinars he does. They’re full of lots of information and I started watching his lectures and painting to learn more of the clichés that landscape artists use to prove they “get it”. Using his videos I painted the first painting I sold:

Large Landscape based on a photo and smaller painting.

Yet, all I did was watch him paint and take notes. I’d remember many of the lecture points and most of the information, but when it came to applying them I’d just do studies or do nothing at all. The interesting thing about his courses is he follows each lecture on a subject with a demonstration in oil, watercolor, pastel, and acrylic. I would watch passively and see what he was doing but not much more than that.

It wasn’t until I had watched a few Richard Robinson videos and then attended a workshop he gave in San Francisco that something clicked about painting videos. I bought a few of Richard’s videos because I really liked his painting style. Johannes’ lectures are full of information and he’s a really good teacher, but I don’t particularly like the paintings he does as demos. They’re alright, and they are very instructive, but not really interesting to me. Richard’s paintings are great, and even the demos are paintings I enjoy.

I figured if he was coming to San Francisco then I might as well take a workshop with him, and man he is a great teacher. During the workshop I challenged myself to paint large or odd formats, and during one day I painted this painting that someone walked by and offered to buy:

Painting of Embarcadero Fireboats at Richard Robinson's Workshop

Pushing myself this way also helped me figure out an idea I’ve had for a new way to do drawings that is easy to do and really accurate. I’m still trying to figure out how to simplify it further so I can write about it, but here’s the drawing I did on the final day of the workshop:

Drawing from Golden Gate during Richard Robinson's Workshop

Here’s the painting I made, although I’m not done with this one since I want to add more atmosphere to this blocked in painting:

Painting from Richard Robinson's San Francisco Workshop

This was all so much fun and that workshop really worked well to push me into new territory with my landscapes, so I was interested in grabbing some more videos from Richard and watching them. I went and purchased this set of four videos from one of his workshops in Hawaii and then started watching them. I was hanging out in a cafe, and was mentally tired from writing all day, just wanting to relax, but I did have my paint box with me. I’m watching the videos, and then it hits me:

Why the fuck am I just watching this?! I have paint and supplies right here. I could follow along!

You’re probably thinking, well fucking duh dude. Bob, Johannes, and Richard all say to follow along. Richard says it repeatedly. I just didn’t listen.

I busted out the paint box and started following along. I’d play the video a bit, see what he did, pause it, then replicate it. Sometimes I’d have to rewind some, or watch it for a bit to see the next move, then rewind and follow. When I was done it was all over and this was the aftermath of about 1.5 hours of painting with Richard:

Me at a Cafe painting with Richard Robinson's videos

Not the greatest, but that’s not important. What is important was that I learned way more from following along with Richard than I ever did just watching and taking notes. In fact, I think I’ve learned more doing this than I do at workshops and classes combined because I can pause the video and watch him do exactly that. I then followed along with the next video and produced this painting:

Following Richard Robinson, Wave Against A Rock

While again not the greatest painting, it is probably the best seascape painting I’ve ever painted and now I know how to make a glowing eye of a wave. This was also done with only two colors and a complimentary color scheme.

Why This Matters

You might be thinking, “So what? Who cares if you can paint from a video?” The thing that this made me realize is I now have a way to always be able to paint even if there’s not a very compelling subject to paint as well as the best way to learn from painting videos. In the past I’d drag my paintbox with me on the off chance I might see something I wanted to paint really quick. I think out of every 10 times I’d bring it I would actually stop and paint once. I’d sit at a cafe, working and look at the paintbox, then look around and see just walls and not really be interested then keep working.

Now I always have a subject to paint because if I have my laptop and my paintbox I can startup a video and paint along with any number of artists. They’ll have the subject there already, so I can follow it, and they’ll be teaching a subject. I can take 1-2 hour painting breaks whenever I want and learn something at the same time. I can even just take short 20 minute painting breaks throughout the day because I can pause the videos between breaks.

This is now revolutionizing my painting self-education. Rather than watch videos and read about painting and attempt the techniques later, I can paint along and get both a painting session done for the day and learn the most from the video.

How To Do It

If you want to do this then there’s a few points of guidance that will help you out:

  1. It’s better if the videos have a straight on view of the canvas while the artist paints. Johannes’ and Richard’s videos do this, which is why they’re easier to follow. Richards are slightly better quality and he also puts in mixing palette to the side so you can see what he mixes and even when he uses medium. Both of which are important when trying to follow along.
  2. If the videos have reference photos then get them and study them first before you start.
  3. Try to match the paints that they use so you’re not frustrated trying to follow along.
  4. Your painting will look different from there’s, so just go with it. Bob Ross says this all the time but I think people don’t get that the video is more of a guide than an exact instruction set.
  5. Use a laptop so you can pause easily and rewind quickly. Just try not to get paint on your laptop. A laptop is also about the right size screen to copy to a small canvas panel.
  6. Use 6×8″ or 8×10″ canvas panels rather than the size that the artist uses. You want to match the size of your screen, not really the size of their painting. With Bob Ross’s videos though you can go ahead and match his sizes since a lot of his shots are from far away and at an angle.
  7. Don’t be in a rush to do it. A professional artist is going to go way faster than you will. It’s better to watch them do something, re-watch it until you understand it, then try it and see how it came out compared to theirs. Also remember that a lot of videos are edited for time and don’t show mundane things like cleaning brushes, cleaning knives, mixing, and correcting some mistakes.
  8. Look for video packages that have critiques in them. Johannes and Richard’s video packages will have a certain number of critiques in them where the artist goes through student paintings and talks about how to improve them. You’ll start to see common patterns of mistakes and then be able to look at your paintings the same way.
  9. The only mistakes in following along are the brush strokes that are totally wrong which you can’t go with. Most of the time you’ll put down a bit of color and it might be different from the artist’s, but you can keep it and work with it still. Sometimes though you put down such a totally wrong stroke that it just has to go. In this case scrape it off and do it again! The biggest mistake beginners in painting and coding make is thinking that adding more paint/code more will fix broken paint/code. It doesn’t. Just scrape it off and try again.
  10. I’d also say this will be way more fun if you already know how to paint a bit. If you know nothing then it’ll be a messy lesson in frustration because you won’t know basics. For example, when I see an artist mix a color I’m strong enough in my color skills that I can glance at it and mix one close enough that works for the painting in about 10 seconds. If you don’t know the basics of color theory you’ll sit there mixing piles of the wrong color wondering what you’re doing wrong. Start with simple basic painting classes, books, and videos on before tackling a full painting video.

Hope that helps you out.

The Dork Distance

I’m a massive dork. I have no problem being utterly awkward for no reason in the most normal of situations. I’m the guy who dragged a guitar around everywhere I went so I could practice every day. I’m the one who bought a Picnic Time Fusion Folding Chair so I could go painting out side all day. Yes, I actually filled that thing with art supplies and dragged it to parts of San Francisco then spent the whole day sitting there painting horrible paintings. I even posted them on Twitter and Flickr showing all my bad paintings, some truly terrible ones at that. I never know what to do with my hands. I frequently mumble or yell odd things to people when I’m nervous to the point that people completely ignore me in conversations. I’m such a dork I once had a woman point at me from across the street, a total stranger, and yell, “WTF Dork!” I still have no idea what I was doing other than walking. If that’s not Dork^10 then I’ve got loads of other stories. Ones where I hilariously and tragically ruin dates, jobs, social functions, and everything betwixt.

I’m just me and despite my efforts in the past, I can’t really avoid being open about who I am. It’s this openness and willingness to do or say something despite the probable social costs that gets me labeled a dork. Yet, this is also why I’m able to learn things rather quickly, experience them fully, and be comfortable with who I am. Everyone who knows me usually figures this out, and either they think it’s endearing or infuriating. The ones who find it endearing many times also think it’s inspiring. Here’s this guy who should be ashamed to exist for daring to embarrass himself repeatedly, yet he’s not.

That inspires many people, but this also drives other people nuts. Usually men. The Cool Hip Tough Dudes (CHTD). I’m an abomination to Lord Jesus and Satan in the eyes of these douchebags. Dorks should be driven out of existence and beaten until they conform to the rest of the world’s beige displays of feelings. The world should be “cool man”, devoid of emotion, stoic and reserved, flavorless, and any guy who drags a fucking picnic chair to the beach and tries to paint in front of people when he can’t deserves the CHTD WRATH! The fact that I’ve never paid for my dork sins just drives these guys nuts. I love it. Nothing’s better than an asshole who thinks he’s cool and hard core because he wears Adidas track suits and listens to rap just fuming because I’m not paying for being who I am and there’s nothing he can do about it.

I love being a dork and people who hate dorks can choke on barbed wire. Fuck all y’all.

The reason I just go for it, and fuck anyone who thinks I’m wrong for trying and failing at things, is I can’t let feeling like a dork get in the way of progress in the things I love. I figured out a while ago that if I want to get good at something, I need mileage. I need distance. Time. Weight. There’s some metric of effort that I just have to put in, every day, or else I won’t get good. A great many skills are of the kind that have very simple concepts which can be learned in about a week, but then require years of constant training and effort to get better. This isn’t revolutionary thinking by any means, and has probably been the foundation of education for as long as there’s been education. The more I do something the better I get at it. Duh.

I recently took a small painting class and the teacher kept saying, “Getting good involves values and mileage.” What he meant was that as a painter your biggest problem is the values (light and dark) in the painting. Without values people won’t be able to visually understand what they’re looking at. In addition to that, and more importantly, you need miles of canvas under your brush. It’s literally measured in miles, and until you have some metric of surface painted you can’t get good. One teacher said “500 paintings”. Others recommend just painting in black and white for a year or more. I took this advice and did loads of monochrome paintings. Many teachers even go so far to say that once you learn some basics all you need is mileage to learn the rest.

If you play music it’s measured in hours and days, but you could say that the number of times your hand runs over the instrument is your miles. In programming it’s the pages of software you read and (more importantly) write. If it’s something that you need to practice, then there’s some kind of distance you have to travel to get good at it.

Only way to travel that distance is to start and keep going. The catch is you have to go this distance as a dork because as a beginner you are clueless of social norms in that activity. You just can’t help it. Unless you get lucky and figure them out quickly, you’ll end up needing to learn the social norms by doing the activity a lot and listening to other people correct you. If you start painting, you won’t know the fairly arbitrary rules of composition in western art. If you study guitar you won’t know the various social norms of song forms, rhythm, and style. If you write code you won’t know the social norms of “idiomatic” code. It’s just what being a beginner entails, so you are forced to do this distance as a dork until you figure them out.

Fear of being a dork will limit you in your future educational goals, but it’s a fear that’s easily overcome. I’m serious. If the thought of being embarrassed sends chills down your spine and drives you away from learning something new then I have a solution for you. It’s an easy solution, and it’ll help you out tremendously in many other parts of your life. Here it goes:

Post your attempts online, where nobody can actually hurt you, and be brutally honest about how long you’ve been doing it and what is good and bad with your attempt.

What will happen is you’ll get a panic attack, heart racing, palms sweating, but it’s all imagined. The internet’s not real. You’ll post your total turd of a painting, song, code, and then nothing will happen. Worst thing that will happen is someone says it sucks, but that’s when you go, “No shit asshole, I’m just a beginner. Do you punch babies in the face too fuckwad?” As long as you’re not delusional most people will say nice things, and some people will say helpful things, and then you just block the rest. A good phrase to start using is, “I feel I’ve improved in this attempt, but could do better with…” Eventually as you keep posting what you’re doing it’ll get less and less scary and then something magic happens:

You start getting good and stop being a dork.

Obviously some people are mega assholes, so if you are really truly afraid to post anything online then just do it under an assumed name. Make up a twitter handle and post there. Even better if you can get a few friends who are also learning to post too, that way nobody knows it’s multiple people and they’ll think it’s some crazy prolific beginner.

That’s all there is to it, although clearly that’s a difficult task. Once you bust through about 10 posted attempts the fear of being a dork will fade away and then you’ll be able to just do that dork distance and enjoy it. Dork fear is the mind killer. Embrace it. You are a dork. Welcome to the dork side. I love puns.

Closeup of the painting for today.