ven though my open source projects are only one hobby among several, I was able to invest enough hours over the first half of 2026 to produce several updates and releases. In case anyone is curious about what I’ve been up to, here are the milestones that were reached over the past few months. January The first month of the year saw a new release of my flagship astronomy library, Skyfield version…
[ UPDATE: A full Solar System model is now available that you can view, animated using the techniques described in this post! See Ptolemy’s cosmos, to scale .] You will recall my previous blog post that tried to build the necessary scaffolding for me to finally write up my 2017 PyCon Ireland keynote on the structure of the Medieval universe. It ran into several problems with matplotlib animations…
em>Based on my lightning talk at PyOhio 2018 I hope that this comes across not as a complaint about matplotlib, but as a celebration of tools that a dynamic language like Python offers in situations where a library is seriously misbehaving and needs some crucial live-edits to run successfully. The task had seemed so simple. To support an upcoming series of posts based on my 2014 keynote at PyCon…
I have played with Python’s SymPy symbolic math library before, but for the first time last week I used it to solve a real problem! In the process I had to confront three errors in my understanding of how SymPy works: I had somehow imagined that SymPy was secretly storing all the equations I was writing and would use them automatically later. I thought I could convince SymPy to eliminate…
Do you remember the thrilling re-entry scene at the end of the movie Gravity ? The Chinese space station Tiangong-1 is orbiting at thousands of miles per hour when (spoiler) it dips fatally into the Earth's upper atmosphere. The drag buffets and tears at the station’s components before the increasing friction finally flashes the air around the station into a glowing plasma, reducing the station to…
The practical take-away from this post is that if you’re ever trying to debug serial communications with a device that — against all tradition — only transmits when the Data Terminal Ready line is clear (devices should normally do the opposite: transmit only when Data Terminal Ready is set), then never run stty on the serial port to double-check your settings. Why? Because stty turns Data Terminal…
A quick technical note about VPN hostnames on Ubuntu Linux, since otherwise I will forget: If other users of your VPN can refer to hosts by an unqualified hostname, but an Ubuntu user like you receives a not found error for the same hostname, then try creating the following file (you will need to create the directory by hand). Read the full article...
At PyCon 2016 it was my honor, for a third year in a row, to host a Trivia Dinner on the first evening of the conference! This year’s venue was the storied Crystal Ballroom , a music venue in Downtown Portland’s west end. To make sure that our event took full advantage of the big stage, I booked the Adventure Capitalists , who followed up the trivia dinner with a rousing set of punk startup tunes:…
As was the case during first year that the conference was in Montréal, I was invited for PyCon 2015 to lead an evening dinner trivia contest on the first full conference day. Wanting to help the audience celebrate all of the advances that are being made in Python 3, I skewed my questions heavily in the direction of the strides that the core developers are taking with the new version of the…
PyCon seems to find new ways of fostering community single every year. This year’s conference in Montréal featured the début of official Friday night dinners which I first learned about from a surprising email entitled Want to MC a trivia night at the PyCon dinner? I accepted the invitation! While I have enjoyed other volunteer roles at PyCon, this one was particularly exciting because of the…