[Update, as of August 8, 2019: Since I wrote this post, Linux Journal re-opened, thanks to a generous investment/purchase, and survived for another two years… And then, earlier today, I
Happy Black Friday! OK, I know: It’s not really a holiday. And I don’t even live in the US. But somehow, Black Friday has become a world-wide shopping and discount
In just 48 hours, I’ll be starting my latest round of live, online courses. Wondering what it’s like to take an online course from me? Or perhaps you’re wondering what
Confused by Python dicts, or wondering how you can take advantage of them in your programs? Do you wonder how Python functions work, and how you can make them more
Back in July, I gave three live, online courses: Object-oriented Python, functional Python, and Python decorators. I have long found that all three subjects are misunderstood by many Python developers,
Students in my Python classes occasionally get the following error message: TypeError: object() takes no parameters This error message is technically true, as I’ll explain in a moment. But it’s
Let’s define a simple Python function: In [1]: def foo(x): …: return x * x …: In [2]: foo(5) Out[2]: 25 In [3]: foo(10) Out[3]: 100 As we can see,
The most common question I get from students in my Python classes is: How can we practice and improve our skills after the course is over? These students realize that
Python’s “subprocess” module makes it really easy to invoke an external program and grab its output. For example, you can say import subprocess print(subprocess.check_output(‘ls’)) and the output is then $
One of Python’s mantras is “batteries included.” which means that even with a bare-bones installation, you can do quite a bit. You can (and should) install packages from PyPI, but