Learn Python 3 The Hard Way Officially Released

The Good News

I’m happy to announce that Learn Python 3 The Hard Way is officially released and will be hitting Amazon, Barnes & Noble, and InformIT (Pearson) tomorrow.  I spent quite a lot of time revising this book to fit with Python 3 and also making it dovetail nicely into my next book Learn More Python The Hard Way.  The Python 3 edition of my book now includes 12 hours of video instruction.  All redone in 1080p HD video with me doing more than just typing the code in.  I’m now going through the code and showing you how to run it, break it, pitfalls, debugging, and applying different techniques as I go.  I even have videos that show you how to setup your own Linux Virtual Machine if you want to learn Linux.

I also put in a lot of effort to make this version of the book work well with Windows, Linux, and macOS.  I bought a Microsoft Surface book and did all of the videos right in Windows, so I know the book works well with Windows.  I then have special install videos for macOS and Linux in the key places where macOS differs from Windows.  To make the book work seamlessly with all three platforms I changed up the installation instructions so that you use the same editor on every platform.  That way, even though you’re watching me on Windows, it looks and works almost exactly the same as on macOS and Linux.  Just Python, Terminal, and a text editor that works on all three (Atom or Visual Studio Code).

Where To Buy It

You should also be able to buy it at local book stores, especially Barnes & Noble, but it might be a few days before they hit the shelves.

Nostalgia Time

Since I released the book in 2010 I have given it freely to about 12.5 million people. If you look at the Populations of US States I’ve helped enough people to fill about 13 of the lower populated US states.  The number of people I’ve helped for free is greater than each population of all but 6 US states.  This book as been a labor of love almost entirely from me with help from key people along the way, but otherwise a one man show.  I only recently began to realize how remarkable this is that a single person could have so much impact on the lives of so many people.  I am really honored that I could help everyone, and if you know me I’m not the type of person to toss around words like that easily.  When I say I am humbled by how many people I’ve reached and the number of lives I’ve changed, I really truly mean it.

When I started this project I just wanted to help people learn to code before technology destroyed them.  All I saw in 2010 was the rise of predatory technologists taking advantage of people who couldn’t defend themselves because they didn’t know the basics of computing.  Before my books there was this general belief in computing that only “special” people could learn to code, and that it was pointless to teach anyone who didn’t start when they were 12.  I knew that wasn’t true because I really didn’t learn to code until I was 19 years old and could by my own computer after joining the US Army.  If I could be a competent successful programmer after having started over at 19 years old, then anyone could.  Before I wrote Learn Python The Hard Way programming education books either patronizingly assumed you were a child, or assumed you’d already been programming for years.  My book assumed nothing about the reader other than they had a computer and could copy code, and it worked.  Now people all over the world are attending bootcamps, learning to code, and it’s (hopefully) no longer assumed that you have to start coding at 12 to make a computer do things.

I really believe that my books proved that you don’t have to be special to learn to code, you just have to put in the effort to learn it.  But, I also hope that my books also relay just how much I love programming.  I may hate the software industry, but making a computer do things has been one of the greatest saviors of my life.  It dragged me out of extreme poverty, taught me math and how to write, gave me a job, and help me feel less useless in the world.  I really want my books to be a reflection of what I wish I had when I was younger, trying to learn to code late at night on a Tandy computer for those brief years when I caught a glimpse of what was possible.  Those late night hacking and talking to friends on my local BBS.  The text adventure games and those first bugs I fixed which made me feel like a GOD (followed by the 1000 other bugs that taught I am definitely not a god).

Now For Some Bad News

Looking back on the last 7 years I realized that I’ve helped a tremendous number of people, but I recently started to think that I could help people even more if I sold my books.   Right now, I’m a one man show apart from a little bit of help from my publisher.  I do everything from video, to writing, to even system administration for my own servers.  I struggle to keep costs as low as possible so I can keep working, but if I charged for my books I could do so much more:

  • I could open a low cost or even free online school for junior developers.  One that didn’t skim off the top of your salary and make you quit your job for maybe getting hired at a terrible startup.
  • I could produce even more courses for emerging languages that the big publishers ignore.  I could create full courses for Nim, Rust, Elixir, and anything else that needs training materials.
  • I could hire people to help with the production and produce the books faster.
  • I could also branch out into arts education, producing free courses on painting and drawing and do for art what I did for programming.  I could prove that you don’t have to be special to make art in the same way that I proved you don’t have to be special to code.

I thought about this for a long time, but I struggled with the moral dilemma of wanting to help people who need free education, while needing money to make more free education.  Being as it’s just me–and there’s no way I’m getting a loan or VC money for making free stuff–I realized I’d need to start charging for my big books in order to fund other projects.  I talked with friends and they all said I should just shut up and charge, I’ve done enough helping.  But, it never felt right to me, so I kept my books free to read and tried to devise other ways to pay for my new projects.  I wanted to teach people how to paint for free, but I need help and need to pay people for that help.  I needed help with editing, running the operations, and video production, but I couldn’t pay anyone a fair wage for their work.  I was stuck.

Then I recently found out that members of the Python Software Foundation (PSF) have been actively trying to have my book removed from other books and websites.  I received several chats logs from trusted associates that show PSF members contacting authors and demanding that they stop referencing my books.  Believe it or not, it’s because I said Python 3’s strings suck or that Python 3 sucks.  I’m not kidding.  They are so petty that they are actively trying to destroy the one book that is potentially helping the most people become Python programmers simply because…I don’t like how they implemented Python 3.  I realized that I’m now sending beginners into a community that actively ostracizes and punishes anyone who dissents against the decisions of the PSF members.  I simply can’t support the PSF anymore given these actions, and I can’t send them new people if this is how they treat anyone disagreeing with them.

At that point the decision became much clearer.  If I charge for my Python books I can help even more people and also give people real jobs working for me.  Charging for my books also satisfies the PSF’s demands that my book be taken down, and it will stop directing beginners toward their organization.  It makes me sad that I won’t be able to continue helping so many, but I’m hoping that with people buying my Python books I can create more courses for people to consume at very low cost or even free.

The Future

Starting July 8th, 2017 both my Python 2 and Python 3 books will be no longer free to read.  I will keep Learn Ruby The Hard Way free for anyone who wants to learn to code and can’t afford my other books.  Ruby is a fine language to learn to code, so this should continue my mission to help people who can’t afford programming education.  I will also make books free to read while I’m developing them so people can benefit from them before I officially release them.  This seems like a fair trade since you get early versions of my books for free and I get feedback on them while I produce them.

I understand that this will probably put a large number of people out on a limb, but I hope everyone will understand that doing this will help me help more people in the future.  I also hope that you understand that I cannot continue helping the Python Software Foundation given their track record of abuse.  I’m deeply sorry if this impacts your life in any way, but if you need help feel free to email me at help@learncodethehardway.org and tell me what you need.

Thank you for understanding.