Back in May, we mentioned that we’d been sponsoring the development of the ARM port of PyPy, the high-performance Python interpreter. Earlier today the team released a first beta of the upcoming 2.1 release, which for the first time adds ARM as an officially supported architecture.
While we love all programming languages equally here at the Foundation, we do love Python an awful lot. Most users run their code under the “default” CPython interpreter, but over the last few years the PyPy project has made great strides in producing an highly compatible alternative interpreter with an integrated tracing JIT compiler. On x86 platforms this can improve the performance of some workloads by a factor of ten or more, and the PyPy team are now bringing the same sort of boost to the ARM world.
You can download an Pi-compatible alpha release of PyPy for ARM and see some benchmarks here. We’re proud to have been able to contribute a small amount of funding to the latter stages of this project; over the next few weeks we’ll be running an irregular series highlighting some of the other open source projects that we’ve been contributing to.
Last week I ran a short session at Campus London with a roomful of students from local schools. Only one of the students had seen a Raspberry Pi before and only a couple had used a command line interface or seen a computer program. In just over an hour they learned how to set up the Raspberry Pi, did a bit of Linux and then hacked Minecraft using Python. Here’s what they thought of it:
“I used a raspberry pi and it showed me how exciting and useful new technology can be. Also learning simple coding was very useful and made me want to learn more. It made me more interested in technology and coding. It made me really consider my careers options involving technology.” —William
“This has pushed me to finish my game I am currently developing.” —Joseph
“It has made me interested about learning coding. I have realised coding isn’t as hard as I thought.” —Lara
“I want to learn more about programming, because it was really interesting.” —Ellie
“The most important thing I learned was how to use Raspberry Pi.” —Finley
“The most important thing I learned was how to change the commands to Mine Craft.” —Harjoat
“We had a go using a device called a Raspberry Pi which let us hack into a game and let us give it commands. It was really fun and exciting to learn all these new things.” —Jasmine
Reading these comments makes me smile, it was a fantastic session and shows what you can learn in short amount of time. A few lessons jump out from the feedback:
- When given the opportunity, most young people find computing to be a powerful and exciting thing.
- Everyone gets something different out of learning how to tell a computer what to do.
- Play is a powerful way to learn and computers are a good way to play.
These lessons are hardly new—it’s where Logo, Scratch and Lego Mindstorms come from—but what has changed is the accessibility and opportunity. With a £30 computer and a free game you can learn computer science in a beautiful, constructionist sandbox. (“Why dig when you can code?” “Are you an Alpha or an Epsilon?” “Hack with your brain, not with your pickaxe.” And other rubbish aphorisms coming soon to a T-shirt near you.) Quite simply, you can teach yourself to think in powerful ways while messing about. I don’t know about you, but as a teacher I think that this is quite profound.
I’m going to blog more about Pi Minecraft in future; I think that its potential as a teaching and learning tool is huge. I’ll be writing lesson plans for it and hopefully not just computing lessons: Martin O’Hanlon’s analogue clock for example would be a brilliant to teach trig and geometry in the constructionist stylee. If anyone out there—teachers, programmers, Notch, whoever—want to help then get in touch. The School of Minecraft has a nice ring to it don’t you think?
P.S. Campus is an amazing place: if you are a tech start-up or entrepreneur (or would like to be!) and can get down there, check it out. I love it.
David Singleton has been laid up with a broken leg, and has taken the downtime to do some work on PiUi. PiUi enables you to add a mobile phone user interface to a Raspberry Pi project when a screen and keyboard aren’t a practical solution. It’s magic: PiUi makes your Pi behave like a wireless access point, and connecting your phone is as easy as…[restrains self from making obvious bad pun].
This is a really, really useful piece of software; I’ve already had about ten ideas for ways I can usefully deploy PiUi in the house. We’re finally replacing our wobbly green 1970s nightmare of a kitchen this year, and I’m hoping to have a Pi controlling some of the lighting, the coffee machine, the heating and some of the cooking hardware when we do. Using a phone rather than the touchscreen I’d been intending to mount on a wall is a no-brainer. You can find everything you need at GitHub, including lots of documentation. (Note to developers: we love it when you include lots of documentation.) David also has a post about the project on his blog.
This is something I expect we’re going to see a lot of people here using in future Pi projects; it’s simple, elegant and very nicely implemented. Do you have plans for PiUi? Let us know in the comments.
On Friday, Eben gave the keynote speech at PyCon. Enjoy!
This is brilliant. Livebots is a project which allows you to control a robot (powered by the Pi, of course) over the internet. Follow the link, or watch this rather excellent video to see what’s going on.
You’ll be using buttons in the browser to send Python instructions to the robots via their serial ports. The robots are available to control depending on which of them is online at the moment you visit. There’s a robot with googly eyes, one that does ballet poses and urinates (!), and plenty of LEDs to flash on and off.
Detailed instructions on adding your own robot to the collection are available at Instructables. We are torn between our love for the breakdancing robot and for the creepy robotic hand. It’s up to you to add some more so we can do some more arguing about which is our favourite.
A few notices: if you’re at BETT this week, come to Stand B240 to meet one of the Robs, Clive and a bunch of impaled Jelly Babies.
Pete Lomas is at Campus Party in Sao Paolo, Brazil. He’ll be giving a talk on Friday at 5.30pm; if you’re in town, go and hear what he has to say!
Finally, Eben and I are flying out for some meetings in the US today; we’ll be incommunicado until the weekend.
Update, Feb 1: I just had mail from the folks at No Starch Press, who say:
We heard from a couple customers that they were a little stretched by the price of the books and the international shipping costs, so we decided to bump the coupon value to 40% off to make it easier on everyone. We’re applying the 40% discount to anyone who already used the code, so they’ll have the best price, too.
We were sent copies of two books from No Starch Press last week. Super Scratch Programming Adventure and Python for Kids are terrific; they’re colourful, engaging and just the sort of thing we think kids are going to respond to.
We enjoyed both books, but in particular, we really think the authors of Super Scratch Programming Adventure are on to something: what kid doesn’t enjoy pyramids full of treasure; and what kid doesn’t want to write a game about them? As well as introducing them to Scratch itself, and to programmatic thinking, the book’s a great introduction to game design. Kids will start building games from the first page. And we loved the presentation; this thing is part comic, part storybook.
No Starch have an offer for Raspberry Pi users: if you enter RPi at the checkout on their website, you’ll get 30% off both of the books (either purchased separately or together). Print book purchases come with free ebook editions, and the code will work for ebooks alone, too, so you don’t need to fork out for shipping if you don’t want to. Click on the books to order.
Presented without comment, because it’s perfect as it is. Thanks to John (would you believe this is his first ever bit of Python?), and thank you Judd! Python script and CAD design are available at NYCCNC.
Francois Dion is someone I exchange emails with every now and then. He’s the guy behind the excellent (and multilingual: check the site for posts and tutorials in English, French, Portuguese and Spanish) Raspberry Pi Python Adventures blog. He’s a hackspace member from North Carolina, and he’s been giving lecture-demonstrations of the Raspberry Pi (and lasers) to interested groups, and promoting it in schools locally. Our community would be nothing like as large and colourful as it is without people like Francois, who put their own time and energy into spreading the word about Raspberry Pi with no support from us at the Foundation – we are very, very grateful to Francois and all the other people out there who make so much effort on this project’s behalf. (Seriously; next time I’m in NC, I will be making a studied effort to fill Francois full of gratitude-symbolising food and drink. In as many languages as I can muster.)
Francois has been making something really cool.
A little while ago, he attended a session at PyPTUG (the PYthon Piedmont Triad User Group) about motors. “We did a lot of stuff with motors. DC, servos, H bridges, PWM and steppers. It was a very dense 3 hours. We covered a lot, and it was a lot of fun.” He went away to think deep thoughts about what sort of fun you could have with a Pi and some stepper motors; and he came up with the Pi-A-Sketch.
Equipped with an Etch-a-Sketch, some stepper motors, a battery pack, a Pi, an 8-channel Darlington pair and some leds, wires and headers, Francois has made a device that uses Python to draw all those things on an Etch-a-Sketch that, as kids, had us throwing the things at the floor in frustration at the uselessness of our fat thumbs. Horizontal, vertical and diagonal lines? No problem. And with a bit of help from Bresenham’s algorithm, you can draw circles too. (Eben has a
funny story from when he was about 11 which involves Bresenham’s algorithm, a BBC Micro, the days before the internet, inter-library loans and the month’s wait he had to endure before he was able to get his hands on the very simple information he needed to draw a line on the screen. Ask him about it if you see him and you need a reminder of how lucky we are to have the ability to look this stuff up online.)
“What practical use is all this?” I hear you mutter at the screen. Well, so far it’s gone down a treat at talks Francois has been giving about the Pi and programming. This sort of demonstration is exactly the sort of thing that captures the imagination, and opens up the eyes to what you can achieve with a little programming and a little solder flux. Here’s something familiar that you can pass around an audience (thanks to that Kodak battery pack), made magical with the addition of a little science. We love it, and so did the audience at the IEEE in Winston Salem, NC, where Francois first showed this project off.
Instructions on how to get the hardware set up are available at Raspberry Pi Python Adventures, and Francois will also be writing a post about the Python that you’ll need to get things working in the next few days. (I’ll update this post when he’s ready – in the meantime, you can find the source code at Bitbucket.) Thanks Francois; we look forward to hearing more from you!
You might remember that we mentioned last year that a team of UK teachers from Computing at School (CAS) was working on a Creative Commons licensed teaching manual for the Raspberry Pi, with recognition and encouragement from the Raspberry Pi Foundation. That manual is now available at the Pi Store (which you’ll find on your Raspberry Pi’s desktop) as a PDF. If you’re not a Pi owner, there’s a link to a copy at the bottom of this post.
The manual is released under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 unported licence, which is a complicated way of saying that it’s free for you to download, copy, adapt and use – you just can’t sell it.
You’ll find chapters here on Scratch, Python, interfacing, and the command line. There’s a group at Oracle which is currently working with us on a faster Java virtual machine (JVM) for the Pi, and once that work’s done, chapters on Greenfoot and Geogebra will also be made available – we hope that’ll be very soon.
We want to say an enormous thank you to the whole CAS team, especially Andrew Hague, who corralled everything (and everyone) together as well as editing much of the document and writing a couple of the chapters. Thanks also to the team at Publicis Blueprint (beware! This link autoplays some video), who did more copy-editorial, production and typesetting work, all on a volunteer basis. Thank you to Graham Hastings, Michael Kölling, Ben Croston, Adrian Oldknow and Clive Beale, who wrote chapters of the manual; thank you to Bruce Nightingale, Brian Starkey and Alan Holt for the digital content. And thank you to the army of CAS members who worked so hard on reviewing and proofreading everything. Everybody who worked on this manual gave freely of their own time to make it happen, and we’re very, very grateful to you all.
The manual itself? It’s brilliant, and we think you’ll find it really useful. Head over to the Pi Store from your Raspberry Pi’s desktop to download a copy directly to your Pi, or, if you don’t have a Raspberry Pi, download it here.
We’ll be hosting the manual on this site too, once I’m in front of the right computer – I’ll update again this evening!