We’ll be talking more later this week about the New Out Of the Box System (NOOBS) which Eben discusses towards the end of this video. We have a suspicion you’ll like it.
These feel lovely when you sharpen them, have a beauteous Raspberry Pi logo at the end, and are made in solid colours from recycled CD cases. Buy some, look funky when you doodle, help fund computing education, and save the planet too – what could be better?
Amazingly, we have not yet sold out of our first batch of Babbage the Bear. (He has stayed on the shelves longer than the camera boards, which we find shocking and remarkable.) Get him while he’s snuggly!
If you’re wondering about introducing your kids to Scratch, but aren’t quite sure where to start, here’s a handy resource for you. Sean McManus, one of the authors of Raspberry Pi for Dummies, has sent me a link to a couple of sample chapters of the book, including the first chapter on Scratch. You’re welcome to download it to find out whether the book’s for you.
Frederik and Ernest Lotter from Blue Horizon Embedded Systems in South Africa are driving from the UK to South Africa via Russia and the Middle East, taking in seventeen countries on their way.
They are making the journey in a Land Rover Defender which is fitted with a Raspberry Pi-based distributed light control system. The Raspberry Pi, and their lighting rig design, will be put to the test over 22000km of harsh conditions and rough terrain.
The Lotter brothers are experienced electronic engineers and are offering to meet up with groups of potential Raspberry Pi or ARM enthusiasts along the way. There may even be a Pi-themed reward available if you can find them using the live GPS tracking system they have installed.
You may have noticed that a little while ago, we quietly withdrew Raspberry Pi branded t-shirts from sale. Since then, we’ve been working on a reboot of the store. Shirts have been totally redesigned, and are now screen-printed rather than transfer-printed, which gives a much higher-quality and tougher finish; we’ve also listened to your requests for more colours and thicker material. [Edit to add: a few of you have asked about the larger sizes. At the moment they're available in black (up to 3XL), and chocolate (Eben's favourite), red and sport grey (2XL). We'll add more if the demand's there, so please let us know what you want.]
Every purchase you make goes to fund the Raspberry Pi Foundation’s educational activities, so you’re not just making yourself look swanky; you’re directly helping kids.
So today we’re relaunching the shop, under a new name, with new management (things are being run by our friends at Pimoroni), and new goodies for you to buy.
Shirts (for ladies, men and kids) aren’t the only thing we’ve got in stock: you can now buy your very own Babbage the bear, and we also have Raspberry Pi mugs, bags, and travelcard holders for you to sip from, carry things in, and wave at turnstiles proudly.
We’ll be introducing more goodies to the store as time goes on, and announcing them here when we do. We hope you like it! Please get buying – every penny of profit we make goes straight back into the Raspberry Pi Foundation, where it’s used directly to help educate kids in computer science.
Our friends at DesignSpark have produced a really beautiful time-lapse video with one of our new camera boards. It doesn’t start very beautifully, because it was filmed on a day whose start can best be described as “sodden”, but by afternoon the clouds parted and England started to look exceptionally green and pleasant. If you want to skip the rain, fast-forward to 1m46. (There’s a guest appearance from a double rainbow later on, too.)
You can find detailed instructions on how to make your own time-lapse video with your own camera board over at DesignSpark. Big thanks to Andrew Back for the vid and the tutorial!
Do you remember the distributed denial of service (DDoS) attacks this website was undergoing a few months ago? They made the news (partly because it was just so bizarre to see someone attacking an educational computing charity) – if you want to refresh your memory, see this, this, or this.
Pete Stevens, who runs marathons and our hosting company, Mythic Beasts, thought you’d be interested in what he’s been doing to try to ensure this can’t happen again. (Famous last words, Pete.) Here’s what he did. Over to Pete!
In the past we’ve had occasional trouble with denial of service attacks against the Raspberry Pi website. In particular, simply overflowing us with traffic has proved not that difficult – the server only has a 1Gbps uplink. When your admin (me) cocks up, it turns out you can saturate a core calculating syncookies leaving the other cores idle because he should have configured IRQ balancing properly.
We briefly investigated cloud based DDoS protection which we still hold in reserve, but it has a habit of declaring that Liz can’t post things because apparently she’s a spambot. We also had to switch off IPv6 access to the website to use them, which, for an educational project, was unfortunate as there is going to eventually be a large network transition to IPv6 and allowing people to learn about it and use it is desirable.
So we’ve scaled out the hosting infrastructure out to a distributed cluster of machines. We’ve installed four additional little dual core machines, two in our Telecity Sovereign House site, two in our Telecity Harbour Exchange site. Each of these runs a load balancer and forwards connections back to the main webserver. This means the inbound load is now shared over 4 separate 1Gbps links and there’s rather more CPU available to calculate syncookies when required and rather more bandwidth to saturate.
We load balance over the load balancers using DNS round robin, as you can see from our public DNS.
$ dig www.raspberrypi.org AAAA +short
$ dig www.raspberrypi.org A +short
Now, everybody knows that this is a stupid way of load balancing, and you don’t get anything like even usage across your sites. This isn’t even slightly born out by the bandwidth figures for the last few days:
18.104.22.168 347.04 GB
22.214.171.124 341.61 GB
126.96.36.199 349.58 GB
188.8.131.52 347.88 GB
That’s agreement to within 2%, which is a pretty even split. So much for commonly held wisdom, we prefer science.
We’ve set the entire internal network up with IPv6. So when you connect to one of the front end machines, it’ll connect back to the main webserver over IPv6. One of the reasons for this is so we’re now running mission critical services over IPv6 – a move to IPv6 worldwide is happening at a glacial pace, and we want to make sure that our support works well. Having an angry Liz phone you up if it doesn’t is a very effective motivator.
You may have seen odd forum and comment issue while we were setting this up. One of the forum spam filters allowed filtering people based on source IP address. The move to the new setup means that clicking the filter by IP address feature resulted in dropping all new comments from that load balancer – a quarter of our traffic. *Oops*. We had to fix that to read the forwarded-by headers.
Now of course the real question is, why aren’t we fronting the site with a massive cluster of Pis? Testing with hping3 suggests that a Pi starts to struggle at around 2500 syns/sec. The front-ends we have are absolutely fine at at 50,000 syncs/sec (reading roughly 10% cpu), so with four of them we can probably handle around 1,000,000+ syns/second. That’d require 400 Pis to keep up, so it’d be a very very large cluster of Pis, not to mention 5 switches in each site.
Of course a very stern warning has been given out to people who have access to the front end machines – not only can they receive a million syns/sec, they can also send them, and that could seriously upset other internet users if it was directed at them.
Now, a side effect of this scale-out is we’re left with a bunch of machines that have a reasonable amount of excess CPU. Eben has *strong views* about wasting CPU cycles, it makes him very sad. So we’ve put them to use.
Rob Bishop and Gordon Hollingworth at Raspberry Pi spend quite a lot of time building software. Compiling it is time-consuming, and their laptops get hot and make fan noises. So we’ve installed a set of dual core VMs on the five core servers running under KVM. When everything is fully operational the software team can kick off a build from the master VM which will then use distcc to farm out the compile across all five machines. This means there’s effectively 10 cores available most of the time for building software. When the website gets busy, the lower priority VMs slow down and hand the cycles back to the load balancer/Apache/PHP/MySQL.
Now, the Raspberry Pi is an educational project. It’s not just about educating children: adults still need to learn things, and that includes me. We’ve run many dual stack IPv4/IPv6 machines before, but we thought we’d try IPv6 only machines and discover the difficulties in order to improve our support for IPv6. So the distcc VMs are IPv6 only – they can’t access anything on the internet that isn’t accessible over IPv6. In reality this means they can see Google, Facebook, lots of mirror servers and a small fraction of other sites.
In the process of setting this up I discovered that I was unable to get the Debian Squeeze network installer to install from an IPv6 only network, so I had to do the initial install to the VMs from a full install image rather than the cut down one. I then realised that Mythic Beasts still doesn’t have an IPv6 aware resolver yet, which we need to sort out, so I had to use Googles public resolver. This is still on my todo list along with full DNSSEC resolver support.
Happily Debian appears to work fine with IPv6 only. The mirrors are v6 enabled, so the VMs recieve updates and can install packages fine, and so far it appears to be going well.
There’s still some things to do and questions to answer: should we move apache/php processing to the front end nodes? Will WordPress Supercache and the other plugins cope in a distributed environment? Will file uploads still work? Can we solve that with NFS? Does NFS even work over IPv6? Should we install a varnish cache on the front end nodes and disable WordPress Supercache? Should we do both? Will it confuse people if we have two layers of caching that expire at different times? Is that better than what we have now? Instead of having tcp-syn cookies on the whole time we could only enable them when under attack. Have we made a dreadful mistake with the build VMS, and is it all going to go offline when Rob tries to compile OpenOffice? Should we stop worrying about all of these questions and instead work out whose job it is to buy the first round at the Cambridge beer festival?
If this is the sort of thing you’d find interesting, and you would like to be paid to solve exactly these sorts of questions, Mythic Beasts is recruiting.
We’re looking for both junior and senior people, we very strongly like bright motivated people who get things done, and we’re not overly impressed by certifications. We’d really like a full time person or two but are not averse to taking on summer or gap year students providing they’re smart and they get things done.
A slightly abbreviated post today – we’ve just driven 380 miles to Phoenix from LA for Intel ISEF, where Eben’s talking tomorrow, and we’re ready to drop. But I was mailed this amazing piece of work this morning, and it really deserves your attention.
Andrew Holme is a member of the Systems Group at Broadcom Cambridge. He’s friends with several of Raspberry Pi’s engineers, and he’s been working on a homemade GPS receiver in the evenings for the last few years. Recently, he’s added a Pi to create a truly portable, battery-powered receiver.
It’s a remarkable piece of work. It shouldn’t be possible to build a GPS receiver like this out off-the-shelf parts. There is no custom silicon in this build; it’s all very, very clever use of an FPGA (field-programmable gate array) to implement the digital logic sections of the pipeline. My electronics isn’t good enough to really understand much of what’s going on here: all I can really tell you is that there’s an analogue front end and 1-bit ADC (analogue to digital converter) followed by all kinds of mad-clever digital stuff. So I’m not going to summarise what Andrew has done, but fortunately for us all he’s written the project up in incredible detail, so you can have a poke around yourself. Please do visit the link; this is one of the most impressive projects we’ve ever seen attempted with the Pi.
A bit of housekeeping: please be aware that posts this week will be a bit (or, as today, a lot) later in the day that you’re used to, because I’m several thousand miles further to the left than normal. There also won’t be quite as much Twitter activity from us as usual while we’re travelling, but the official Facebook and G+ pages will be forging ahead as normal. (Thanks Lorna!)
Here’s a guest post from our friend Pete Wood at RS Component’s community arm, DesignSpark. Pete is one of the organisers of the Oxford Raspberry Jams. This post was first published at www.designspark.com.
Raspberry Jams are now being held all over the world; I’ve been trying to go to about one a month, and am lucky enough to be in Tokyo for some press and meetings while the Tokyo Jam is on later this month. There’s a list of events in each month’s MagPi, and if you’re looking for something near you, it’s worth checking the events page on our forums. If you can’t find a Jam near your home, why not look into setting one up? There’s information on how to get started at the Raspberry Jam website, which Alan O’Donohoe tells me will be getting a redesign in the coming months.
Over to Pete!
This month’s Jam held at DesignSpark HQ in Oxford UK was our biggest turnout yet, with over 30 Pi Geeks crammed into the room!
Raspberry Pi Camera
I kicked off the event by showing the new Raspberry Pi camera module, which will be available from RS Components later in May. In the picture is a pre-production module, the production version is a couple of millimetres taller. The camera gives stunning HD video from a 5MP sensor at 30 FPS.
Next up was one of my RS colleagues, Pete Milne, who showed us his Digital Signage application. Pete has connected up a network of Raspberry Pis to flat screen TVs here at the RS Oxford Offices and at our main facility in Corby, Northamptonshire. The Pis run a libreoffice slideshow in a continuous loop and display Health and Safety messages for RS employees. He’s been running these continuously for over 8 weeks without having to re-boot, so it’s very robust. The Pis runs without a keyboard or mouse and the content can be updated remotely over the network.
If you want to create your own Digital Signage Application, Pete has shared how to do it on GitHub. Just follow the INSTALL file for setup details.
Wii Controller Car
Oxford Raspberry Jam regular Alex Eames presented another cool little project using a Wii controller and Nunchuck. This one was for controlling a remote control car that has an on-board Raspberry Pi with Bluetooth dongle. It also allows the control of brake lights, headlights and indicators and also drives an aircraft propeller. Alex plans to build all this into the car itself, which would need to accommodate the Pi, the electronics hanging of the GPIO, some model aircraft batteries and the motor and fan. Alex, I think you need a bigger car… how about a Monster Truck?
Giant Video Wall
Our next demo was one that has been featured on the Raspberry Pi site a few weeks ago for a Raspberry Pi powered video wall. Alex and Colin from the Culham Centre for Fusion Energy (CCFE) have built this system in C and some Python Code. It has clever features like bezel compensation to accommodate different styles of screens. They showed a 4 screen setup, but have also run a 9+4 configuration. The software is scalable to any size or shape. Each screen needs a Pi, and one separate Pi is used as the master. This is a classic example showing that you can build your own video wall for a fraction of the price of a commercial solution that would certainly cost a lot more! Chaps, I can see a business opportunity here for screening big screen sporting events on a budget down my local pub. ;0) They expect to licence the software/design at some point. More details are available on their website.
Motion Detected Camera
Another Oxford Jam regular, Dave R, showed his Pi with a webcam motion detection system and linked to a DSLR. Dave created this for his bird table, to capture pictures of birds when they land on the table, I think I need to build a similar solution to stop my kids from stealing my Haribos…
Touch Screen Display
Paul had two projects to show. The first was a simple touch screen for the Pi to allow control and display. Paul was reading and displaying temperatures. The screens are semi-intelligent, storing screen images and having a sound output available. The screen images are loaded via a Windows app and USB connection. The Pi can then control the display of those images.
Sky Remote Controlled LED Lighting
The second demonstration was a programmable LED strip and infrared receiver, controlled by a Sky TV remote control. A simple Python script reads the codes from a remote control. He could the use this to flash the LEDs in various patterns and colours. The LEDs are driven by SPI and can be daisychained up to 1024 LEDs.
Paul M and Annierei L, showed us their ChiPhone box. ChiPi is an Electronic messaging system for children allowing them to send and receive voice messages. They have designed a child friendly box with large buttons and microphone. With simple record and ‘To/play’ buttons it makes for an easy messaging system connected to the internet via WiFi. You can find out more about their project on their website.
Pi Keyword Cruncher
Pi Jam regular and Data Geek John finished off our live demos by showing us his Pi based RSS feed collector and keyword analysis tool. The Pi collects data from various RSS feeds every 30 minutes and stores the results in a MySQL database. The data is then used to monitor trends in keywords, which over time show either peaks of activity or trends of ‘chatter’ about specific topics. The advantage of John using his Raspberry Pi Instead of his 50W laptop, is that it the Pi only takes 2W and can be left on all the time. It also frees up his laptop to do other tasks.
RaspBMC Toddler In-Car Entertainment System
The final presentation of the evening from one of my Jam co-hosts Alex Gibson, who in true Hollywood awards winners style couldn’t attend in person so sent a video message! Alex’s video featured his project for a Pi based RaspBMC In-Car Toddler entertainment system. One of the most impressive bits was a headrest bracket he had printed out on his Raspberry Pi-based 3D printer.
Thanks to all those who showed their projects. Looking forward to the next event!
We have loads more excellent Raspberry Pi content on DesignSpark, check out our Raspberry Pi Design Centre.