Planet Python: an unintended trip down Memory Lane

So… you may have noticed some rather antique posts popping up on Planet Python this morning. This is the result of two things: our clearing out the cache to try to address an issue [*]; and the way in which the feed parser tries to pick up the dates from the feeds it’s scanning.

For now, treat it as a unique chance to view the Python blogosphere through the spectacles of yesteryear! The older posts should just drop down as others are updated, but if they don’t we’ll do a little surgery to the config. In any case we’ll try to do some code housekeeping against any future outbreaks of nostalgia.

[*] … and which didn’t fix the problem!

Planet Python

One of the many pieces of the “family” is a feed aggregator: Planet Python. It’s been running for years either as or (the latter now redirects to the former). Naturally, over the years, some of the blogs it aggregates have disappeared. But it can also happen that the feed URL changes because of a change of blog engine, a new domain, a switch to https etc.

These days, the Planet configuration is maintained on Github and you can either submit a Pull Request or just email the Planet team. We probably add two or three new blogs every month and tweak a couple more (new URLs etc.)

So… please check the Planet config file or look down the left-hand side of Planet Python and, if your blog is listed but is now dead, please send us a PR or an email. Likewise if the blog is still alive but at a different address, please do the same. After a time, we’ll run a cull of Blogs which consistently return 404 and thin our list down.

Of course, please also ping us if you’d like to add your blog. Easiest way is to open an issue or raise a PR which will use Github’s recently-added issue template mechanism to make sure you’ve got everything lined up.

ESP8266 Dojo at Marks & Spencer Digital

I don’t usually reference chip names in my post titles, but this neat little chip was very much at the heart of yesterday’s London Python Dojo at Marks & Spencer Digital near Paddington.

For those who don’t know, Damien George, creator of MicroPython recently launched a Kickstarter to help development of MicroPython, specifically targetting the ESP8266. He was good enough to bring along a handful of boards with this chipset with a view to our hacking on them with Micropython. He explained to us something of the background of MicroPython (which is now his full-time job, hence the Kickstarter) and of the chip which seems to have a hit a sweetspot of power and price and is hugely popular among hobbyists far removed from its origins in a Chinese technology factory.

To honour Gautier’s turn as cat-herder, we’d been having a bit of Franglais badinage on the organisers’ mailing list. But then Nicholas, who’d arranged for us to use M&S, went one step further and our pre-meetup refreshments took the shape of wine, cheese & baguettes. (And some suitably French musique!).

Inevitably, when it came down to getting up-and-running in our different teams, there was a fair scramble as most people had to come up from scratch to getting a board flashed and then working with some kind of peripheral. Damien had helpfully set things up so a simple “import mswifi” would attach to the necessary WiFi, but after that we were on our own. We had two small teams with only one board but we did have a neopixel strip, so we set to doing something with that.

One stumbling block was that all of Damien’s demonstrations (via Serial-over-USB) had been on a Linux box and we had a mixture of Linux, Mac & Windows. There was an amount of faffing about to recognise and connect to the device on various boxes, but we ended up using a Linux box which led us to the next problem: everything has to happen in the interactive REPL, short of a complete reflash. So Tom was shuttling text to and from an editor and the embedded REPL via picocom. All this is happening quite quickly, and with little or no documentation on the (quite extensive) facilities which MicroPython brings on the device. So you become both pragmatic and inventive in your workarounds.

Finally we got a simple example where a Heroku-based Flask app allowed someone to set up an array of RGB colour values while the ESP8266 device would poll that website periodically, decode the JSON, and change the pixel array accordingly. It was rough and ready, but it worked.

Other teams did similar-ish things: one was trying to use an add-on screen to render the well-known Star Wars ASCII Art telnet feed. Another team had a small fan controlled by the device and managed, like ours, by a text file on a web server which was updated by Carles via an SSH session on his phone!

A number of us had ordered devices (at short notice) for the event, but most hadn’t received them in time not least because the same distributors are currently flooded with orders for the brand new Raspberry Pi 3. Hopefully, when they do arrive we’ll be able to get MicroPython working on them without difficulty.

You can see a few photos via our Twitter feed.

Thanks again to M&S Digital and Nicholas for hosting and for the French food, for O’Reilly for continuing to supply us with books as giveaways, and to Gautier for keeping everything on an even keel. And especial thanks to Carles who stuck with me when I thought I’d lost my Oyster card.

See you next month.

UK Python Help needed: Volunteers for teacher collaboration

[Reproduced very lightly edited from Nicholas Tollervery’s post to python-uk. Either reply to that thread or ping Nicholas on Twitter]

TL;DR: I need volunteers from around the country to support a twilight
meetup of teachers happening in various parts of the UK. It’s not
difficult and likely to be a lot of fun and will only take a few hours
of your time in the early evening of a single day. I may be able to
cover travel expenses. Please get in touch. More detail below…

Computing at School (see:, a grass
roots movement of computing teachers in the UK would like to run a
series of training courses for “Master Teachers” in MicroPython on the
BBC micro:bit during March. These teachers would go on to act as the
seed / catalyst for other teachers who require Python training during a
series of training events over the summer. Put simply, this is an
exercise in Python evangelism for teachers.

Master teachers are those who have demonstrated a combination of deep
subject knowledge and teaching skill. Put simply, they’re the most
senior teachers you can get. They’re also the leaders in the field and
what they say or do influences many hundreds of their colleagues.

The idea is for the master teachers to get together with Python
developers (that’d be *you*) for a few hours to work through MicroPython
related educational resources. These events would happen at university
based hubs around the country. As a Python developer you’ll *get a BBC
micro:bit* and be expected to offer advice, answer questions and
demonstrate Python as needed. Honestly, it’s not an onerous task and
will only last a few hours in a “twilight” session (i.e. after work).

The locations and proposed dates are as follows:

London: 25th February
Birmingham: 9th March
Nottingham: 15th March
Lancaster: 16th March
Newcastle: 17th March
Hertfordshire: 21st March
Manchester: 23rd March
Southampton: 23rd March

It’s easy for UK Python to be very London-centric. This is an
opportunity for Pythonistas throughout the UK to step up and get involved.

Why should you volunteer a few hours of your time to help teachers? Need
you ask? Your help and influence will ultimately contribute to the
education of the next generation of programmers - your future
colleagues. It’s a way to give back to the community by fostering the
next generation of Pythonistas with the help of the CAS Master Teachers.
It’s also, from a moral point of view, simply a selfless and
unambiguously good thing to do.

If you’re thinking “oh, they won’t want me”, then YOU ARE EXACTLY THE
PERSON WE NEED! Your experience, perspective and knowledge is invaluable
and teachers need to hear from you. Rest assured, this will not be a
difficult or high-pressure activity. In fact, it’s likely to be a lot of

Remember that awesome person who mentored you and/or gave you a step up?
Now’s your chance to be that person for a group of master teachers.

If this is of interest to you, please get in touch ASAP and I can start
to coordinate things with CAS.

I’m going to put in a grant request to the PSF to see if we can cover
travel costs for developers. But there’s no guarantee this will come about.

Best wishes,

N[icholas Tollervey].

What Windows version am I running?

We’re getting a lot of questions through the Python mailing lists, and especially the Webmaster address on account of the changes to the Windows installer for Python 3.5. And, in particular, because Python 3.5 drops support for Windows XP. (We’ve previously dropped support for Windows 2000 and the 9x/Me tree but none of those had quite the installed userbase of XP).

There are several separate issues we’re seeing, and it’s important to know what version of Windows (and, sometimes, what SP) the user is running. And the user isn’t always clear. So here is the most straightforward way to get the system information from any recent Windows system. It’s not the only way; it’s just that it’s about the most straightforward thing to describe, given that — by definition — we don’t know what system the user is running.

System Screen

You’re looking for the System screen.

Two options which will work pretty much anywhere.

* If your keyboard has a key labelled Pause|Break, use the Windows key like a shift and tap that Pause|Break key.


* Right-click on your “My Computer” icon (which might also be called “Computer” or just the name of the computer) and select Properies.

Both of these will bring up one of the screens below, or a close match. Most of the information we need is near the top of the screen. (I’ve clipped several of the sample windows to hide non-essential information).

You can also usually get to this screen via the Control Panel under a label like “System”.


Windows XP

Windows XP System Info

Windows 7

Windows 7 System Info

Windows 8.1

Windows 8.1 System Info

Windows Server 2003

Windows Server 2003 System Info

Windows Server 2008 R2

Windows Server 2008 R2 System Info

Windows Server 2012 R2

Windows 2012 R2 System Info


And there are two other alternative screens with more or less of the same information:

* winver.exe [Start > Run > winver.exe]

* msinfo32.exe [Start > Run > msinfo32.exe]