Python is a powerful programming language with extensive library support. But what does one do when needing to integrate with a platform-specific C or C++ component that has no native Python support? There are two options: completely rewrite the functionality in Python, or create a Python extension. Either option can be painful and prone to errors. Enter Cython. It’s like the peanut butter and the jelly to the extension sandwich. (more…)
I am privileged to say that over the last four years, I mentored a group of high school students wanting to experience STEM in a hands on way. The mission: create a robot in six weeks. The challenge: complete on time, under budget, and with a team who may not know one another. Sound familiar? (more…)
We’ve all seen the flame war posts about one language being faster than another. We’ve also seen posts that attempt to speak about runtime efficiency in more concrete terms yet still fall short. What these musings bring to light is a much broader concern that we as developers need to consider: the formal study of programming language theory. Such study allows for intelligent discourse on the precise merits of a particular programming language in concrete terms rather than pontificating upon some set of possibly flawed benchmarks to justify the use of language x or y. When we speak in concrete terms, we elevate the dialogue into a more scientific and useful context, a context that might in fact contribute greatly to development in general. (more…)
Like many developers, I have several virtual machine (VM) instances for testing different projects. I also tend to keep a few of these virtual machines around for some time for those long running projects spanning multiple years. The vast majority of my VMs are linux based. One of my oldest VM’s is an Ubuntu 10.10 instance. It has all the tools and packages I need for the project that uses it, until recently.
Have you ever had one of those days? I’m not talking about those really bad days when everything seems to go wrong. I’m talking about one of those days where everything is going right and then there’s the one bug that crops up that spoils the streak. (more…)