Over my 30+ years teaching Python, I’ve included practice exercises in all of my courses. And when I started to teach Git and Pandas, I made sure to include practice exercises there, too. That’s because there’s no learning without practice. At least, there’s no effective learning. Frustration isn’t fun, but it’s a necessary part of…
It’s that time of year — Black Friday, when everything goes on sale. At my online store, with more than 25 courses about Python, data science, Git, and regular expressions, I’m giving 30% off of the usual price. Here’s what some students have said about my courses: “This is by far the most amazing Python course I…
I recently helped a client with serious PostgreSQL problems. Their database is part of an application that configures and monitors large networks; each individual network node reports its status to the database every five minutes. The client was having problems with one table in particular, containing about 25,000 rows — quite small, by modern database…
I don’t know about you, but it’s common for me to switch between branches in Git. After all, that’s one of the main advantages of using Git — the incredible ease with which you can create and merge branches. Just a few minutes ago, I was in the “adwords” branch of an application I’m working…