PyOhio 2010 Recap

At the end of July, I had the opportunity to speak at PyOhio in Columbus, OH.  This was my second year picked to speak, and this year, I did everything I could to stay healthy, as I really wanted to be there this year.  (I missed my talks last year due to serious health issues.)

Both of my talks had low turnouts, which I expected.  IronPython doesn’t have a large following here, although it does have some people curious.  Also, to be fair, my second talk was scheduled against an entrepreneur panel with Eric Floehr, which would’ve been great to catch!

Overall, though, I really enjoyed the event.  It was great to see the regional Python community get together to talk Python and share their experiences.  I finally got to meet William McVey in person; he and I follow each other on Twitter and he had expressed interest in leading the Cincinnati Tech Events initiative.  And those AGI guys who kept appearing – you guys rock!

From what I’ve heard, the sprints went well.  Unfortunately, I had another conference the following week, so I had to miss out the sprints this year.

If you’re into Python and would travel to Ohio to talk with others on Python and write Python with others, PyOhio is definitely worth checking out!

Hello World! – A Friendly Intro to Programming…


Many months ago, Manning Publications contacted me and asked if I’d review this book.  I had seen one of my fellow local user group members with it, and it intrigued me, so I agreed to do it.  Manning sent me a PDF of Hello World!  Computer Programming for Kids and Other Beginners (ISBN 1933988495), which I promptly read but have forgotten to post about here.  My apologies on delaying my review on such a great book…

Father and Son Take on Programming

This book was written by a father/son team – the son is 10 years old.  When they first embarked on this journey, he was 6 years old.  And he wasn’t just a kid learning a new programming language – Carter had significant input in the book content.  Cartoons with speech bubbles, amongst other parts, were written by Carter.

They wanted to gear it for beginners at any age, including kids.  Rather than convincing “why” to learn programming, they assume that if you picked up the book, you’re obviously interested in learning programming.

What I love most about this book is that it offers a kid’s perspective on programming.  I’ve found the younger perspectives of programming to make it seem less intimidating and more fun, and this book and Carter’s perspective both do that.

Presenting the Concepts

I really like the order they presented concepts.  If I had to teach an intro to programming (in general) class, this would be the approach I’d take as well.  It starts out with the basics of variables and operators.  From there, it moves on to GUIs, decisions, loops, comments, and then graduates from there. 

The object-oriented side of Python doesn’t get introduced until later, and I like this because it reminds me of my data structures classes in college when people who thought they understood the basics would get totally lost.  Object-oriented notation and development in general was a tough concept that really made or broken a person when it came to our data structures classes.  Those who didn’t get it did what they could to get through the class and then avoiding programming like the plague.  I think this was because OO concepts in general were explained more academically rather than in terms that most people could relate to.  Carter and Warren use a simple example of a ball to explain objects, attributes, and methods – had we had something like that in college, there may have been a few more programmers from that program. After objects, they get into things like modules, graphics, collision detection, sound, and randomness. 

Each chapter addresses concepts that we as developers should be familiar with and explains them in terms that a beginner can understand.  Rather than being challenged to look at a language through a textbook with syntactic and plain examples, I find this book offering fun examples for learning basic programming concepts and even the advanced concepts.


Overall, I really enjoyed the book.  I found the examples to be easy to relate to and the overall text to be both understandable and in an order to make it easy for a beginner to work through.  As I mention

ed earlier, I read it right away.  I got caught up in event planning, speaking engagements, and life in general that I forgot to write this review.  I liked this book so much that I purchased a dead-tree version for my bookshelf and to take with me and promote at my Python talks. I highly recommend this book for beginners of all ages.

More on Father and Son

Want to see and hear more about Warren and Carter Sande?  I found some links that you may enjoy.

You can see them on the Young Programmers Podcast, where Carter presents PythonCard:

They appeared on Hanselminutes #194, talking about their book writing experience, Carter’s programming experience, and other things:


Python 101 for the .NET Developer

A couple weeks ago, I spoke at a few user groups in southern Ohio – the Cincinnati Financial internal group, CINNUG, and Dayton .NET Developers Group.  I took my Python 101 for the .NET Developer talk on the road, getting the word out about Python and IronPython.

Just to answer some of the questions…


  • Scoping, classes, and functions: There were some questions about functions versus classes, and I know I had confused some people on that.  There was also a question about scoping in Python.  For more on classes, functions, and scoping, see part 9 of the Python tutorial.
  • The @ symbol: One of the guys in Dayton had asked what the @ symbol was – this is used as a decorator.  For more details on decorators and why they chose the @, see PEP 318 — Decorators for Functions and Methods.
The slide decks were made available to the group leaders, but if you want to see the slides, please contact me.
If you’re looking for the books I recommended, check out:



Hello World!  Computer Programming for Kids and Other Beginners

ISBN: 1933988495


IronPython in Action

ISBN: 1-933988-33-9