Blog

  • A short Python class puzzle

    Here’s a short Python puzzle that I use in many of my on-site courses, which I have found to be useful and instructive: Given the following short snippet of Python, which letters will be printed, and in which order? print(“A”) class Person(object):     print(“B”)     def __init__(self, name):         print(“C”)         self.name = name    …

    Read more

  • Data science + machine learning + Python course in Shanghai

    Data science is changing our lives in dramatic ways, and just about every company out there wants to take advantage of the insights that we can gain from analyzing our data — and then making predictions based on that analysis. Python is a leading language (and some would say the leading language) for data scientists.…

    Read more

  • Announcing: Trainer Weekly, practical advice for technical trainers

    Do you offer technical training?  Or are you just interested in becoming a trainer? I’ve been doing technical training for several years now, and it has become the main thing that I do.  I love it, and encourage everyone to look into it as a potential career (or part of a career). I’ve created an…

    Read more

  • Free download: Cheat sheet for Python data structures

    [thrive_leads id=’1573′] Just about every day of every week, I teach Python. I teach not only in Israel, but also in Europe, China, and the US.  While I do teach newcomers to programming, the overwhelming majority of my students are experienced developers in another language — most often C, C++, Java, or C#. For many…

    Read more

  • The (lack of a) case against Python 3

    A few days ago, well-known author and developer Zed Shaw wrote a blog post, “The Case Against Python 3.”   I have a huge amount of respect for Zed’s work, and his book (Learn Python the Hard Way) is one whose approach is similar to mine — so much so, that I often tell people who…

    Read more

  • Why you should read “Weapons of Math Destruction”

    Review of “Weapons of Math Destruction: How big data increases inequality and threatens democracy,” by Cathy O’Neil Over the last few years, the study of statistics has taken on new meaning and importance with the emergence of “data science,” an imprecisely defined discipline that merges aspects of statistics with computer science. Google, Amazon, and Facebook…

    Read more

  • Implementing “zip” with list comprehensions

    I love Python’s “zip” function. I’m not sure just what it is about zip that I enjoy, but I have often found it to be quite useful. Before I describe what “zip” does, let me first show you an example: >>> s = ‘abc’ >>> t = (10, 20, 30) >>> zip(s,t) [(‘a’, 10), (‘b’,…

    Read more

  • Fun with floats

    I’m in Shanghai, and before I left to teach this morning, I decided to check the weather.  I knew that it would be hot, but I wanted to double-check that it wasn’t going to rain — a rarity during Israeli summers, but not too unusual in Shanghai. I entered “shanghai weather” into DuckDuckGo, and got…

    Read more

  • Announcing: An online community for technical trainers

    Over the last few years, my work has moved away from day-to-day software development, and more in the direction of technical training: Helping companies (and individuals) by teaching people how to solve problems in new ways.  Nowadays, I spend most of my time teaching courses in Python (at a variety of levels), regular expressions, data…

    Read more

  • Speedy string concatenation in Python

    As many people know, one of the mantras of the Python programming language is, “There should be one, and only one, way to do it.”  (Use “import this” in your Python interactive shell to see the full list.)  However, there are often times when you could accomplish something in any of several ways. In such…

    Read more