Close

You Don’t Need Talent To Enjoy It

I bought some really nice flowers yesterday and made sure they were not blooming yet.  It didn’t matter because the damn things start blooming about 2 seconds after I put them in water and that means they will be dead by tomorrow.  I had to crank out a quick painting of them today, but I also had to work on my books.  I setup an easel in the living room and I would use the painting as a reward for getting exercises done.


That’s the only photo I saved from the painting. It came out terrible. The only thing that worked about this setup was that it made me want to get exercises done.  I’m definitely going to use that hack in the near future.  Other than that, this painting was a total absolute turd of paint.  I could not get the values right, the color, nothing.  Flowers and portraits are my most difficult subjects for sure, which is why I practice them the most.  It’s the subtlety that gets me and requires my concentration, and I have too much of a heavy hand and a love of sloppy thick paint to pull that off without effort.

I wouldn’t say I have any particular talent at painting.  I’m definitely not a genius and I put in a lot of work to be even moderately alright at it.  I know a ton of tricks and I’m fascinated by the technology used by European painters from the 1500-1800s, but that’s not talent.  That’s just being able to read some books and do what they say.  If you sat me down in front of a person, and said I’d get $200 if I can do a decent likeness of the person in 4 hours I’d just laugh at you.  Maybe I’d pull it off 1 time out of 10.

I’m also not necessarily a “visual person”.   I do these weird experiments where I practice painting an object from memory, which you would think makes me a genius with some kind of photographic memory.  Nope.  I read a book on how to learn to paint from memory and did what it said, then adapted it based on research from other books and articles on memorization.  Everyone could learn how to do it if they put in the time and believed they could.

I love to paint.  I just love everything about it.  The feel of the thick paint going on.  The way I can use color to trick the eye into seeing something that’s not there. The random times when it clicks and I groove right into a damn good painting without any effort. Painting outside and talking to people.  Everything about it is enjoyable and I could give a fuck if I have any talent or not.  I’m enjoying myself and I get to give them to friends.   Sometimes I sell them. Lots of times I just toss them.

It’s all about the moment and the challenge.  The feeling of that meditation that paint gives me.  My oh my do I love self-portraits for this.  Self-portraits and landscape painting quite literally saved my life at a time when everything was sad and dark.  Doing paintings of my face helped me reconnect with who I am. Painting outside got me out of bed.

So many people think you need talent to enjoy something, but I’ll tell you having zero talent is liberating.  You can stop worrying about the end result and just enjoy the process and experience.  Just go for it.  It really doesn’t matter if what you create is any good.  All that matters is if you learn something for the next time.

 

 

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.

Surprises

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 2

She’s standing in front a TV playing a creepy video of a gender neutral hair model with a dinosaur bone in front of it wrapped in birthday present wrapping paper.  “What do you think of this piece?”  Art is always a piece.  Artists are never “popular”, they’re always “important”.  Every piece by anyone moderately popular is important and must be taken seriously.  This piece is by a student, so I’m not sure what the rules are here.  Will I still be required to prostrate myself at the altar of artistic expression, or can I say what everyone is thinking?

I go for the latter, “It seems like the artist is just doing things at random and is making fun of video installation art.”  Immediately the teacher gets visibly upset.  I’m being cynical. I have no idea what I’m talking about.  All the other true believers attack my statement.  I have no right to be so cynical.  I don’t know why this artist made this so I could be criticizing someone who was raped and this is their expression of their past experiences.  I just stand there and take it, since I’m outnumbered 1 cynic to 12 true believers.

The teacher is looking at our paintings in a critique class and praising everyone.  She’ll ask them why they painted this road, or that building, or their face, and the experienced students know the game.  They effuse wildly about their personal connection to the subject.  How deeply the construction cranes in the Dogpatch move them to tears and impact their life in deep meaningful ways.  Before that this student was into a ceramic bird that changed her life forever.  Another had pasted some flowers onto a photo of herself, but the real meaning was her ever changing views on feminism.  Another talked for 20 minutes about how this trip to Muir woods changed her life in profound spiritual ways so her paintings of roads are an expression of her deeply moving experience.

The teacher comes to my paintings and asks me why I painted them.  I say, “I wanted to practice noses.”  She scowls at me and says, “It seems like you aren’t personally attached to your subject.”  I confusedly pause then ask, “I’m not personally attached to my face?” She completely misses the absurdity in this question and fires back, “Yes, it seems you’re just painting it because it is there, not because you truly love it.”  I look around all the other true believers are staring at me with a mixture of sadness and incredulity, except one.  She’s rolling her eyes with a look of, “Sorry dude, she’s an idiot.”

I’m in a class billed as a figure class that will make me more expressive and find my “true” artist inside.  I actually don’t care finding my true artistic expression.  I just want to get more figure classes in, and this sounded like a lot of fun.  The class would teach us to apply different techniques in a situation where a nude model would pose while different color lights are cast on them with music playing to set a mood.  The teacher was also really nice and a very good painter so I figured I’d learn something.

During the class I’m just sucking ass and can’t figure out why.  I’m trying to paint the figures but the music is distracting, the lights make no sense, and the teacher is constantly waffling between “be loose, don’t think” and “why isn’t that drawn correctly?” I try as hard as I can to satisfy both goals of not being accurate and also being accurate but it’s impossible.  On the final day I realize that, given the models are all white skinned, then the crazy color lights mean there is zero flesh tones.  Aha! Why the hell didn’t the teacher just tell me this?  “Because you have to discover that for yourself.”  Well then why am I paying you money?

About half way through the course I ask why we’re doing the lights and the sound.  She says so we can’t think about what we’re doing.  So I ask then why are we expected to be accurate in these conditions?  She says if you’re really an artist it’ll be accurate.  I ask if she does this with her paintings and she says, “Oh no, not at all.”

 

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.

Killing Magic

I’m sitting with a friend who is an accomplished musician.  Record deals, multiple albums, and you’ve probably heard her songs on a TV show or commercial or two. She tells me that she doesn’t want to teach music because she’s afraid it would lose its magic.  There’s a mystical mystery about how she makes music and she’s afraid she’ll ruin that special quality if she has to figure out how she does it.  It won’t flow the same.

My response was something that I’ve believed my whole life:  “Magic just hides something’s true beauty.  It’s a con.  A trick that makes you love the magic rather than the real thing.  Once you actually learn how it really works, sure, the magic goes away, but then you get to fall in love with the beauty of the real thing. Real things are always simpler and more beautiful than the magic hiding them.”

Or something like that.  I probably actually sounded a lot less cool than that, but that was the idea.  I’ve found that magic just obfuscates and blurs what I’m really seeing.  Whether that magic is an accident of my perception of reality–or an actual sleight of hand by someone else–doesn’t matter.  What does matter is once I strip the magic away, and find the real simple principles hidden by the wizard, I see the real thing is better.

Of course sometimes I strip the magic away and find that the real thing is an ugly turd hiding in a golden box.  A lot of programming languages and technology are like this.  There’s all this bluster and flourish pushing a magical view of their benefits.  Then I dig a little and this magic simply hides a terrible design, poor implementation, and random warts.  It seems everyone in technology aspires to nothing more than creating enough of a code mannequin to hold up an invisible emperor’s gown.

One of the reasons people resent my opinions on technology is I have an ability to crush their fantastical magical views of technology.  It’s hard to be an Apple fan when there’s a guy pointing out that they frequently allow developers to invade their customer’s privacy, stole wages from employees, and make shitty  hardware that crashes and reboots if you don’t log in fast enough.  You can’t be enamored with Python if someone points out that its APIs are constantly asymmetrical and that Python 3 has a shitty UTF-8 strings implementation.

My mission in life has been to illuminate magic to expose the ugliness or beauty it hides because I believe magic enslaves people to others.  With magic you can convince them of almost anything, and even change the magic and they’ll keep following the wizard’s edicts.  Stripping the magic away gives people the freedom to choose what their reality will be, rather than rely on someone else to define it for them.

A key element of this mission is education.  I proved with my books that there really is no magic to learning to code.  The people who could do it weren’t special geniuses. Almost anyone could learn to do it given enough time and the right learning material.  Once it was clear that programmers aren’t special, it freed others from the magical aura surrounding programming and opened the practice up to a much wider range of people.

Education then becomes the practice of breaking magic to expose reality.  I study a topic and figure out how people are really doing it.  I find all the tricks they use, strip away the things that are just bluster and showmanship, find the lies they use to puff up their personas, and then teach the simplest real version of the topic.  This then opens the topic to a much wider range of people who can now enjoy it and improve their own lives.

Many times the practitioners aren’t purposefully trying to hide what they do because they don’t even know how they do it.  Most practitioners simply cargo cult a set of random practices they’re sure are the secret sauce.  Usually these secret practices are nothing more than extraneous rituals getting in the way of the real task at hand.  This educational acetone sometimes embarrasses these practitioners since nobody wants to be seen as believing in pointless rituals and magic.  That’s fine, but really they should be happy to find another path to what they love.  One that’s not full of obfuscation and rituals that only serve to enslave them to a limited palette of skills.

 

Learn More Python Rough Draft Up

My move to Miami has pushed out the deadlines for most of my books by a month, so May is when the majority of the content for Learn Python 3 The Hard Way will drop in May.  I’m done with the editing round with my publisher so the PDF will drop later today.  I’m also toying with doing an ePub but I swear if one person using a janky Linux ePub reader complains about the meta-data being wrong before telling the project to fix their meta-data I’ll pull it down.  Life is too short to convince angry Linux ePub developers to fix their code.

I’m also going to try my future book writing process starting today.  I’ve wanted to incorporate chat into my book publishing process but haven’t really found a chat I liked.  The Gitter chat seems like it’d work pretty well so I’m going to try that on the rough draft of the Learn More Python The Hard Way book.  You just have to go to https://gitter.im/lcthw/more-python-help  from the top of the book and you’ll be able to chat with me and everyone else.

If this works out then future books will be released this way:

  1. I hack on the idea until I’ve got a rough draft going.
  2. I post the rough draft, and put a room for the book into the LCTHW Gitter.
  3. I’ll hang out in there while I work on the book, answer questions, and change the rough draft based on feedback.

My goal is to get earlier feedback from people on how my exercises work and also give people free access to early releases.

 

I Moved to Miami

I moved to San Francisco in 2010 to work at a startup.  At the time I was living in NYC and the technology hacking scene there was utter garbage.  It was dominated by these stupid “artists” who had a strangle hold on the local scene and ostracized anyone who wasn’t cool, hip, GGG, libertine hacker guys like them.  I still remember wondering where the hell they all got their thick rimmed black glasses?  Did they rob a Warby Parker or something?

At first living in San Francisco was great, and it really was the technologist’s paradise I envisioned.  Then the tech bros showed up.  As the money in tech prolapsed into the local economy the brogrammers in the industry confused their acquisition of a loan with being real super dudes.  This the fueled the anti-intellectual libertines of San Francisco to skip a couple burning man orgies and fight the brogrammers for the intestines of the city.

This really makes the city an ugly place to live and work, and I hope in the future technology companies simply avoid San Francisco.  Not because San Francisco is necessarily a bad city.  The entire bay area definitely has a huge problem with corruption and graft, more than any other city I’ve lived in.  Rather, this constant fight between the wannabe libertines just trying to get whipped at The Citadel, and the brogrammers living off Zuck’s scraps, ends up ruining what could be a fantastic place to live.

San Francisco will always be a bitter sweet place for me in my life.  On the one hand, my books took off there and I was able to start a new career doing something I really enjoy.  I also learned to paint, which I will always cherish for the rest of my life.  I loved some women so deeply it still makes me sad that they didn’t work out in the end.  San Francisco was also where I had the most terrible heart breaks of my life.  Where I saw the most violence and governmental indifference I’d ever seen.  Where I encountered groups of people who abused and fed off their peers for tiny scraps of small points on worthless startups, and other groups who attacked their fellow denizens for simply having a job.

My fondest memory of San Francisco will be the sunny days I spent at Union Square, playing guitars I made and talking to random wonderful weird regulars.  Union Square healed the hands broken by a terrible NYC teacher and his “improved” scales.  Without that warm sunshine and an open place to just do scales for hours I would have given up on guitar entirely.  Now my hands str all fixed up and I’ll always remember what that felt like.

I’ll also remember that I first learned to draw at Fort Mason on March 13, 2014.  I mean I think that’s right, but that’s close enough for the memory.  I’ll remember sitting there, looking at the docks, drawing the scene, feeling that blissful peace I have when I paint or draw now, listening to my lover hum and draw along with me.  It’ll always be a permanent loving memory for me that helps me realize not everything in San Francisco was bad.

I’ll also miss all the incredible museums and art schools.  I owe the Legion of Honor, the De Young, the SF MOMA, and the SFAI so much for teaching me about art from all time periods.  If you live there and you aren’t going to the museums on a regular basis you are truly missing out on one of the gems of the US museum world.  If you can also pop a flight down to LA and visit the Getty you definitely should.  The Getty is a work of art on its own and I probably went there 20 times for whole days just because.

New York is that lover I sometimes check out to see if she’s doing alright.  She was actually cool and way out of my league. I just wasn’t cool enough for her at the time.  San Francisco will always be that lover who made me feel awesome and successful while cheating on me and calling me a “fag nerd”.  Those places are all over for me now, except for the occasional visit.  Goodbye, it was fun…almost…I mean yeah you know what I mean.

Why Miami?

The first reason is simply it was time for a change.  I actually wanted to leave a few years ago but things always kept me there.  Relationships, art schools, work, or just too many guitars I didn’t want to ship.  My time in San Francisco was very lonely and my only social interactions were with the women I dated, so it ended up that relationships meant a lot to me even if they were flawed and doomed to fail.  Once there was a break in this pattern I was able to finally plan a move.

The second reason is I have a goal of living and studying art overseas in the next few years.  There’s one tiny wrinkle in this:  California is ruthless about collecting taxes from people who live overseas.  Everyone I talked to said definitely move to a state without income tax before you move overseas or California will grab your bank account without any warning.  I did some research, and most states without income tax are freezing cold or fairly lame.  Florida wasn’t that appealing, but Miami seemed really great when I visited.  Clean, modern, everyone is generally happy, great weather, and easy to live here.  I don’t even need a car here.

I’m also looking to improve my landscape painting, marine painting, and art in general, and Miami has a killer art scene.   I’d say way better than San Francisco in terms of actual art sales, although so far the Museums here are nothing compared to San Francisco’s.  Miami just fits my idea of a new place to paint different landscapes and improve my artistic practice while also saving money on rent.

The final reason is I wanted a place that wasn’t so pissed off and depressed all the time.  I tell people when you live in a city you can sort of feel a personality permeating everything.  The personality of New York was a bipolar court jester.  There were days you could tell NYC was pissed off at you, other days where Gotham loved you like a mother, and most of the time it was fucking hilarious.  San Francisco’s personality is definitely that of a depressed but brilliant failed artist.  It was always sad that it wasn’t considered a greater city and jealous everyone overlooked it’s good qualities, so it took that out on everyone living there.   I guess in many ways I kind of adopted the personalities of the cities while I lived there.

I don’t know what Miami is like yet, but I’m getting the sense that Miami actually doesn’t give a fuck what I think about her.  Miami is looking too fabulous to care.

 

 

Today’s Portrait Painting Class

Portraits are definitely my most difficult subject so I attend as many painting classes as I can. Here’s today’s class progress shots:


Just a simple drawing and then basic painting of the head, did this in the first two settings. Next shot:


Color and exposure isn’t very good on that but shows the progress.


The final painting at the end of class. Actually I was done last session but then decided to goof off with the tattoos and background for no real reason.

The End Of Coder Influence

I get an email from someone who tells me that Reddit has decided to remove my book from their list of suggested readings for Python until I update the book to Python 3.  They made this decision about two weeks prior to when I received the email, so I went to look at my traffic and sales to see if there was an impact.  Weirdly, my sales were up and my traffic was about the same.  It had no impact.

Once a year I go through my Python book and I try to convert all the code to Python 3 as a test.  I do this with the eye of a total beginner, looking for things that will trip them up and cause problems.  Bad error messages, confusing syntax, broken libraries, and inconsistencies.  Every year I run into nearly the same problems:  strings are difficult to use, error messages don’t have variable names, libraries don’t really help with strings, and there’s too many inconsistent string formatting systems.  So I decided to see again what it would take to make my book Python 3 and ran into the same issues all over again.

To put it bluntly, the reddit community responsible for teaching beginners to code censored my book as a power play to get me to force Python 3 on unsuspecting beginners.  The language does not work for them, and they were attempting to use their influence to enact change in my books, rather than use that influence to improve Python for beginners.

And it didn’t work.  I still had the same sales and the same traffic.  I actually think if all Programming Reddit rose up and demanded Python 3 have better error messages regarding strings (a minimum usability bar) they would be ignored too.  In fact, I kept seeing over and over people pointing out blog posts, reddit threads, HN threads, and tweet storms as if these were highly influential which then did nothing.

A few days ago I went through another test of Python 3 and ran into the same problems.  I get enough people emailing me about Python 3 that I decided I needed to work out a list of reasons why Python 3 is broken for beginners as of today.  Originally I was going to write it fairly simply and not worry about appeasing the coders, out of fear they would retaliate like they always do and boycott my book even more.  But, I remembered that after countless blog posts about how terrible of a person I am and how terrible my books are, I still end up helping millions of people a year and still have the same sales.

I decided to just write what I felt and fuck whatever programmers think.  I wrote it, put in a couple of jokes and trolls, and then posted it.  Fuck it, I have a cold and don’t give a fuck.

Immediately people started insulting me, telling me I’m wrong (yet not reading the post, LOL). Then the HN posts start, then Reddit.  I don’t read those so people shove them into my email and Twitter stream.  I was tired and not into defending myself so I just deleted Twitter off my phone and go sleep some more.  Enjoy the sun.  Did some painting.  Hung out with friends.  Who gives a fuck about what a bunch of angry lonely coders think about my thoughts?

Yet, here’s where everyone I know becomes deathly afraid of the coders.  These groups of programmers used to have large sway over what was successful and chosen, but at the same time were horribly uninformed about basic computer science.  They ran to Node.js because of “events are better than threads” and had no idea Hoare or coroutines existed.  They manually went to hand convert all Python 2 code to Python 3 code, rather than just asking why the Python 3 VM can’t just…run Python 2 code too.  Then they believe the mega load of bullshit that this is impossible despite all proofs and evidence stating otherwise.  For all their claims of superiority for having once bought a copy of The Art of Computer Programming the previous generation of programmers are sadly uninformed about basic shit.

We all feared them, because their incredibly uninformed opinions and complete lack of humor or human decency could sink or swim entire companies.  Get slagged on HN and you’re done for.  I’ve heard of VCs actually threatening to strip away funding over bad HN reactions like HN is on the same level as the food critic of the NYT.  So what was going to happen to me?

Honestly, I’ve been trying to get out of the technology industry since 2008.  This industry sucks, and largely because of the abusive previous generation of programmers.  My goal has been to just make their influence on my life as small as possible so I can go on doing things I love like painting.  Fuck them.  But, a man’s gotta eat so I keep doing my work so I can make enough of a living to keep helping folks and doing what I love.

What are the results of their insane hatred of my latest stance against Python 3?  Am I doomed to never have any more sales again?

Nope.  Same traffic.  Same sales.

I believe that the influence of the previous generation of programmers is largely gone.  I can’t exactly say why, but I think it’s because they consistently back terrible ideas over and over.   They also tend to have no idea what will be successful or not.  The reason is they base their opinion of a technology on superficial things related more to whether the tech fits their tribe than its actual merits.  When my book first came out the HN crowd and other “professionals” said it wouldn’t work.  Same for many successful startups, technology, and ideas.  Meanwhile, the things they do back end up being terrible and we all regret following their hive mind.  Can anyone say OpenSSL?

I also believe the newer generation of programmers are more well rounded and have a general distaste of this kind of tribal fascist bullshit we have in open source.  I can’t really prove that, but it’s a feeling I’ve been having for a couple years now.  This next generation is different. I just can’t quite say how other than they seem to not believe the same things as the previous generations.

About a year ago I stopped reading HN and Programming Reddit because of this.  I don’t worry about the vindictive assholes out there who feel any questioning of their tribal beliefs is an affront to their person.  I now think the actual influence of the hive mind on anything outside of the tiny little set of Silicon Valley Programmers Who Read HN bubble is nothing.  If you think their influence matters then either you’re working on something as insignificant as they are, or it really doesn’t matter and you should just ignore them and move on.

Keep making cool stuff and speaking your mind counter to the hive.  I think that’s the future generation’s take on programming, and I fully endorse that message.