Blog

  • rvm do

    I’ve been using rvm for many years, and love it.  Yes, I know that it rewrites simple commands, such as “ruby” and “gem”, so that I can use lots of different Ruby versions.  Yes, I know that it can be overkill for certain situations.  And yes, I know that rbenv is preferred by many. But…

    Read more

  • Announcing: Teaching to Code, a community of programming instructors

    In the wake of my last blog post, I’ve been thinking a great deal about the practice of teaching, and specifically the practice of teaching programming.  I’ve realized that while instruction in programming is increasingly popular and important, the people engaged in such instruction aren’t comparing notes, learning from one another, or generally working to…

    Read more

  • Teaching and acting (or, why I don’t plan to sell recorded classes in the near future)

    Several weeks ago, my wife and I saw a wonderful play at our local theater in Modi’in  (“Mother Courage and Her Children“).  At the end, the actors came out to receive their richly deserved applause.  Three times, the actors came out, took their bows, and were warmly applauded by the audience.  We loved their performance…

    Read more

  • Benchmarking old-style and new-style Python classes

    It has been many years since Python developers were really supposed to worry about new-style vs. old-style classes.  There is only one style (new) in Python 3.x, and even in Python 2.x, old-style classes have not been recommended for many years.  Nevertheless, I mention old-style classes in my Python courses, mostly so that participants will…

    Read more

  • = and = aren’t equal

    When I teach a Ruby or Python class, I always begin by going through the various data types.  My students are typically experienced programmers in Java, C++, or C#, and so it no longer surprises me when I begin to describe numbers, and someone asks, “How many bits is an integer?” My answer used to…

    Read more

  • Last call for my online Python class

    You can learn more about the class here.  Or contact me as “reuvenlerner” on Skype, or via e-mail at reuven@lerner.co.il, to see if it’s right for you!

    Read more

  • Ruby and Python and Felix and Oscar

    I have been consulting, developing, and offering training classes in both Ruby and Python for a number of years now — more than 15 years in Python, and more than 7 years in Ruby. Inevitably, when someone from one of my courses hears that I use more than one language, they ask me, “So, which…

    Read more

  • Making Python’s __init__ method magical

    In some programming languages, the idea of “reflection” is somewhat exotic, and takes a while to learn. In Python (and Ruby, for that matter), the language is both dynamic and open, allowing you to poke around in the internals of just about any object you might like.  Reflection is a natural part of working with…

    Read more

  • Python scoping e-mail course

    I had so much fun writing the previous blog post about Python scoping that I decided to expand it into a free e-mail course.  Each day (for five days), you’ll receive another lesson about how scopes work in Python, and why this is important for you to know as a Python developer. So if you’ve…

    Read more

  • Fun with Python scoping rules

    Let’s say I want to try something on a list in Python.  While I usually like to call my test list objects “mylist”, I sometimes forget, and create a variable named “list”: list = [‘a’, ‘b’, ‘c’] If you’re like me, then you might not immediately notice that you’ve just defined a variable whose name…

    Read more