Announcing Pi Weekly

Two weeks ago I had an idea – to launch a weekly Raspberry Pi email newsletter. I had a think about how it would work and what it would entail. I subscribe to a handful of similar ones for programming topics, notably a Python one called PyCoders Weekly, which is a simple link aggregator with short descriptions, for news and projects.

I pinged Ryan, a person I’ve never met but know through the Pi community on Twitter, to see if he liked the idea, and if he wanted to get in on it. He ponged in agreement and was on board. We discussed ideas for names and decided on Pi Weekly – the next day I registered the domain piweekly.net and registered the Twitter account @pi_weekly (unfortunately @piweekly is taken by Personal Injury Weekly). Then I set up a WordPress site and a mailchimp account, wrote a quick clean theme for the site, added some information and stuck the signup box on the homepage. Ryan and I had a look around for some links to put in the newsletter, shared ideas about how we should lay it out and we decided we were ready to launch that week.

I told a handful of friends about it, and we had 13 people signed up by the time we announced it on Twitter. Word spread quickly and we were tweeted about by Liz Upton on the Raspberry Pi Foundation Twitter account:

An hour and a half after the noon launch, we had 100 subscribers. By the end of the weekend we’d passed 300.

The newsletter will contain Raspberry Pi community news, interesting projects we’ve found, github projects, blog articles, how-to guides, cool products and whatever else we find that’s worth sharing! It’ll be quite concise digest of carefully selected links with short descriptions.

All past issues will be readable on the archive page Check out Issue #1. If you have any suggestions for links for us to include, you can tweet them to @pi_weekly or email submissions@piweekly.net – sign up at piweekly.net

EDIT: In August 2013, Pi Weekly was featured on the Raspberry Pi website and we were praised and highly recommended by Liz Upton. Read the post – Pi Weekly: a free email newsletter

STEM Raspberry Jam Pilot

I organised an event with the STEMNET (Science, Technology, Engineering & Maths Network) team at the Museum of Science and Industry (MOSI), based on the Manchester Raspberry Jam I run monthly at Madlab. The STEM Raspberry Jam was to be a new activity the STEM Ambassador network could offer to schools, so we ran a pilot (pi-lot) to give the idea a whirl.

MOSI supported the event and kindly offered to host it at their fantastic venue in the museum on Liverpool Road off Deansgate in Manchester, and the STEM team had invested in ten Raspberry Pi kits (Pi, SD card, VGA converter, power cable & PiFace) which they intend to loan out to ambassadors running Raspberry Pi activities! We invited a number of schools to the Jam, and awaited their response.

I was given the ten SD cards and asked to add the software we’d need to them. I imagined this would take forever but it was actually rather rapid – I initially wrote the standard Raspbian image with PiFace pre-installed to the first card using dd, booted it up on my Pi, set the raspi-config settings to enable ssh, boot to desktop, correct timezone, etc. I then updated apt and installed a few essential packages and python modules. I then ran the dd command in reverse (switching input file to the SD card, and output file to a new file on my machine: stem.img) – this copied the image from the SD card to my computer, in the state I had left it. I was then able to run the dd command again, this time writing stem.img to the blank card. I tested each one by simply booting it to desktop, with no problems whatsoever!

We set a schedule for the day which included introductions, a morning session playing with Scratch and the PiFace, followed by an afternoon in Python. We had some Scratch and PiFace activities prepared, complete with booklets and instructional step-by-step guides. I’d written some Python activities for the kids to work through in the afternoon. With more time I’d have written these as part of the image I wrote to the cards but I wanted to make sure the cards worked ASAP, so I had to add the files on the day. Luckily this wasn’t difficult either – I just inserted the card in my laptop, one by one, and copied the files to the user’s home directory when it came up as an inserted drive, like a USB stick would!

Six schools responded saying they would attend, bringing six pupils each. On the day, we started with a welcoming word from Donna, the STEM Development Manager, (in her best teacher’s voice!) followed by an intro talk from me (in my normal voice). I explained what the Raspberry Pi is, what happens at a Raspberry Jam and why it’s all important (“Raspberry Why?“). I showed some pictures of the Manchester Raspberry Jam, and other Jams around the world. I explained what Scratch and Python are, and talked about the general perspective of “geeks” and compared this to real world geeks – now popular figures such as Mark Zuckerberg! I talked about singer will.i.am donating £500,000 to improve STEM education in the UK, and how he’s now learning to code!

Raspberry Why?

 

Then we kicked off with some Scratch and PiFace – we handed out the booklets and let the groups choose an activity based on their interests and abilities. With a group of STEM ambassadors on hand, as well as their teachers, there was plenty of guidance available so they weren’t left stuck for what to do. It was great to see the kids building things in Scratch – some following examples by the letter, others just experimenting and exploring! I’ve not really used Scratch myself, but I am amazed to see it in use – some really cool things happening on screens everywhere you look – animations, controlled characters, games, interaction with real world hardware – really awesome how they just got on with it.

We stopped for lunch and I chatted with some of the kids and teachers about what they were doing in school – mostly just dull ICT stuff with Word and PowerPoint, a bit of Scratch and (eugh…) Dreamweaver. However some of them seemed more excited about Code Club being run after school – so that’s something!

Stem-13

For the afternoon session we moved on to the Python activities I’d written late the previous night! To start, I gave them intro.py – a single Python file containing a linear set of tasks, each explained in comments in the code. It was just an idea I’d had the night before, as an easy way for me to make sure they covered all the fundamentals to move on to tackling some interesting problems. This activity went down really well and lasted the whole afternoon session! All twelve groups (three kids per Pi) attempted to work their way through it – with ambassadors on hand to help out with syntax errors and general clarification, it went rather smoothly and as I wandered around the room I saw amazing progress! The script covered printing, variable assignment, basic data types, lists, if statements, loops and so on. You could see them working through the challenges and understanding the concepts.

A few of the teachers (and kids) asked if they could take a copy of the code, or download it from somewhere. I let anyone with a USB stick take a copy, and promised to publish it on github. I knew it needed some work to be at a decent standard but it had been a really good exercise that day and fulfilled its purpose. We wrapped up the day by asking groups to raise their hands if they got past the first level, then proceeded to raise the bar and see how far everyone had got – every group had got to around Level 16, and one had reached the very last challenge, Level 22! (I’d purposely made this one fairly complex)

I uploaded the files to the MadlabU18 Github account, and it immediately had a couple of contributions from my partners from Coder Dojo! I’ve since been considering options for the project’s future. This week I ran a session at the Python North West User Group, where we each paired up and attempted to build a more sophisticated automated learning tool (similar to the Python Koans, but for kids). From that session I’ve had a few more ideas about how it can work. Well, watch this space.

STEM Raspberry Jam

Huge thanks to MOSI, STEMNET, Donna, Dan, and all the ambassadors who volunteered their time and effort to make this happen – Arran Gallagher, Graham Nelmes, Etinosa Ogiesoba, Amin Hoque, Joe Haig, Erinma Ochu, James Burnstone, Lisa Mather and Dan Mather.

Read more on the STEMNET blog » Pupils celebrate at the first Raspberry Jam for schools at MOSI

Raspberry Jamboree 2013

Manchester recently held the first ever Raspberry Pi conference – Raspberry Jamboree, held at Manchester Central. It’s been a year since the launch of the Pi, and this event was to review what we did in the last year, and look forward to what we’re going to do this year and in the future.

The day kicked off at 10.30 with an opening talk from organiser Alan O’Donahoe, followed by a wonderful keynote from BBC Micro pioneer Steve Furber. The first session of talks featured Andrew Robinson (creator of PiFace), Carrie Anne Philbin (from Geek Gurl Diaries) and CERN‘s William Bell (talking about MagPi). Meanwhile, in another conference track, a hands-on workshop was being led by Mike Hewitson (LateRooms) and Pete Lomas (Raspberry Pi Foundation).

Up next was a panel discussion with Raspberry Jam organisers and attendees – including Lisa Mather, Dawn Hewitson, Ben Smith, Jack Wearden and myself. We introduced ourselves and discussed what Jams are, how they work and what we think about them, and answered questions from the audience:

One of the things that came out of this was when asked where teachers and Jam organisers could get material from to teach coding or run activities, the panel suggested using existing online resources like Codecademy and asking for help on Twitter, and I said that between the community we should strive to make resources available for this kind of use. I suggested anyone interested get together with me to discuss creating a central repository for programming tools and exercises for the classroom, code clubs or for personal skills development – using GitHub as an example platform for how this could feasibly happen and have contributions of new projects and improvements of existing ones, and making it easy for teachers to download and use. Since the Jamboree I’ve been in talks with a few people regarding this. All I can say right now is watch this space – or, better – email me your thoughts if you’re interested.

After lunch I got to see Raspberry Pi Foundation evangelist Rob Bishop speak about what’s going on with them, which was fantastic. He’s a wonderful enthusiastic speaker and I really felt the energy of what this is all for. I got a bit carried away with this tweet:

Next up was Paul Hallet, whose project DjangoPi had caught my attention when it was announced last year. That’s one of the great thing about the Jamboree – we’d all heard of all these names but never met most of them, so it was amazing to have everyone all together in one room where you could put names to faces, shake a few hands and pat people on the back! Paul’s talk was on crowdsource funding for projects, and he went over the story of his projects such as DjangoPi and the coding club he ran in a local school. Great going for an undergraduate student! He already has a fantastic CV!

Following Rob and Paul was one of the Manchester Raspberry Jam regulars – a 13 year old who goes by the alias ‘Mini Girl Geek’. Amy Mather was asked to present a project she and I started at a Jam in December – Conway’s Game of Life. What began as a simple Python programming exercise turned in to a really interesting project involving pygame, Raspberry Pi, Arduino and an LED matrix display! Amy’s talk was extremely well received, she was praised by all and congratulated personally by the likes of Paul Beech, Rob Bishop and Pete Lomas! As one of the adults who has guided her along the way, I’m very proud of her for giving this talk and can say she did so professionally – a thoroughly enjoyable talk. Now watch it!

It’s since been featured on the Raspberry Pi blog and in the Pycoders Weekly newsletter!

A closing address from Alan rounded things up and a few of us headed to the nearby Pizza Express. After a mishap with their machine not accepting my (perfectly valid) card, Alan pulled a few strings and persuaded them to accept slightly less cash than than the value of the meal, we hastily moved on. Most of the group headed home but a few of us stayed out and proceeded to Brewdog where we later met up with Rob, Paul, Carrie Anne, Simon and Andrew and the others. We had a great night getting better acquainted with each other – as I said, many of us knew each other by online personalities only so it was interesting to speak in person for a change. We also dished out a few dozen Raspberry Pi coasters around the bar. I had a fantastic day and really enjoyed socialising in the evening. I tweeted this the following morning:

Thanks to Alan for organising the event, to Les & team for their work on getting the videos recorded (and live streamed!), to all speakers and attendees and to the sponsors for making the event possible – CPC, Bytemark, BCS Manchester, Frogtrade, OCR & PC Pro.

You can see all the videos from the day on Alan’s YouTube account (or download the video files from Bytemark Jamboree Download Centre)

Update: here’s a video summing up the Jamboree:

Manchester Raspberry Jam Continued

I’ve now hosted four Raspberry Jams in Manchester. I posted about the first and second, here’s a summary of what went on at III & IV.

The August Manchester Raspberry Jam kicked off when Kat opened up the Madlab and I gave an opening talk about what had been going on in the news in the Raspberry Pi community, featuring announcements like Raspbian and the Gertboard, and showed examples of what people have been doing with their Pis – including Freaky Clown ruinning Metasploit (a pen testing tool) to the Pi and my personal favourite, Pi in the Sky – the first Raspberry Pi to visit near space. I then got people to write down what they wanted to learn, or what they needed help with, and then what they would be able to help others with, and tried to pair or group people together to work on things.

Kat and Alex got straight on with playing Quake on the big TV, which was pretty cool. Meanwhile visiting newcomer Simon – who was shocked when the taxi driver who shuttled him from the station said he’d never heard of the supposedly world famous Madlab – got out his lego-built Pi/breadboard stand and demonstrated his Scratch/Python/GPIO hybrid project which involved a program built in Scratch which would run through the traffic lights sequence on screen when the space bar was pressed, and also feed the same sequence through to the LEDs on his breadboard. Amazing stuff  – if you’re interested in this sort of thing drop him a line on twitter, or take a look at the questions he’s posted to the Raspberry Pi forums to see if you can help.

We also had Paul helping his daughter built a game in Scratch, we saw a Motorola Atrix dock powered by the Pi, we even VNC’d in to a Pi using an Android app on my mobile phone and then from my Nexus 7 tablet! Around 5pm once people had helped my carry my 3 monitors, TV, laptop, netbook and bag full of cables back to my flat, we headed to the pub where we stayed for several hours, and where Simon kept his pink lego Pi kit out on the table. During this time we witnessed HacMan move in to their new hackspace premises just a couple of doors down from Madlab. The phrase “How many geeks does it take to network a hackspace?” was brought up and probably tweeted, as we watched them run a patch cable across the outside wall from Madlab over the café next door. The following day I got my Pi out at home (I never get to play at the Jam – I just end up running around making sure everything’s running smoothly, and in any case all my kit gets handed out and all the screens tend to be in use) and installed OpenElec on a spare SD Card (keeping Raspbian on another), which runs XBMC – a fantastic media centre which I easily managed to use to stream high definition video over the local network from my NAS. I tested it out with X-Men: First Class (720p) which played no problem – looks great on monitor or big TV! I’ve since installed the XBMC Android app on my phone and tablet and I can select something to watch on either device and tell it to play on the TV, then use as a remote control. The future is here.

A month later and we’re back in Madlab for Manchester Raspberry Jam IV – again I begin with a recap of the news: Revision 2.0, Made In the UK and Make Your Own PiOS, and move on to skill share pairing! As usual we get a couple of people who need help setting up their SD card so I volunteered to show them get them up and running, and everybody else just picks something and starts hacking! Simon fires up his pink lego kit again (and eventually ends up blowing it up somehow…), and a newcomer called Ian started work on a project which would allow the Pi to work as Time Machine to back up his Mac!

Later on in the morning a 10 year old kid came up to me and asked if I could teach him some Python (I’d put that up as a sharable skill on the wall) – I said I’d love to, and asked what he wanted to learn, and he said anything to get him started. His Dad sat next to us an observed, saying it reminded him of learning BASIC when he was at school. I started with printing a string, then storing a string in a variable, printing it from its stored value, then storing integers. We then looked at the difference between assignment (x = 1) and comparison (x == 1), and the first idea that came to mind for implementing some of this in a program was checking an entered PIN number against a set value. While showing him the syntax of things like if statements, I let the kid type away, letting him make mistakes if I thought he would learn from the error messages, sometimes asking him what he thought it would do (he would often spot a flaw immediately), sometimes just reminding him to go on to a new line or whatever. But he was doing great. Whenever we completed adding a new feature, I’d ask him what we could do next, so at this point he’d say, “Why don’t we give them 3 chances to get the PIN right?” and we’d look at how to implement that. We’d start by copying the code that asked for the PIN the first time, and sticking it in the ‘else’, so the user would be prompted a second time if (and only if) they got it wrong the first time.

Once we had that working, I introduced the while loop, and explained a simple use case whereby it would count the number of attempts made, and keep running over the same code in the loop until the number of attempts reached 3. Then while adding feedback “Your card is locked” if they were incorrect 3 times, I noted that we could make the number of tries a variable, so that we could change it once at the top and not everywhere in the code. He got that. Then we made it tell you how many attempts you had remaining, by subtracting the number of attempts from the number of attempts allowed. And then he said he thought if he learned any more he might forget what I’d taught him, so he wanted to stop and practise that at home. I emailed the file to his Dad and suggested he might want to try adding something that calculates the balance if they withdrew money.

We finished with a short presentation from a young lad called Barney, who had built a Morse code device with his Dad – you type in a word on the keyboard and the LED on the breadboard flashed according to the Morse codes for the letters in that word. Brilliant! Then we cleared up (and hauled the vast array of monitors to my flat again) and went on to the pub. Everyone always has great fun at the Jams, and everyone’s got something different they want to get out of it. Some just come and take notes and listen to people, some bring their kids to get them excited about computers, some bring crazy contraptions they hope to get working on the Pi with the support of the group, some – like me – just like being there! It’s a great atmosphere and it’s fantastic to see kids and adults playing away, learning and having fun! I don’t generally get much chance to do much myself, but it’s always nice to pass on some python knowledge and help out where possible – and to witness amazing things happening all around me! The Pi is a wonder and we all thank the foundation for all their work in getting it to where it is – and look forward to see where it goes next! Thanks again also to Madlab for hosting the events. I really don’t know how we’d do this if the space wasn’t available.

Manchester Raspberry Jam

I’ve now run two Raspberry Pi events in Manchester, affectionately known as the Raspberry Jam. The first in June, which was the first Raspberry Jam in the UK, and which featured on the Raspberry Pi Foundation’s website where we gained recognition for getting people together to share ideas, demonstrate what we’ve been doing with the Pi, and getting kids interested in building games and writing code as well as inspiring people all over the UK (and the world) to set up their own groups. Continuing the success of the Jam, our second event took place a month later in July, which was equally enjoyable. The July event took place on the same day as the first Cambridge Raspberry Jam – a huge event attended by 300 people and hosted by the Raspberry Pi Foundation at Cambridge University. A number of the attendees from the first Manchester Jam went along to the Cambridge for this, so we look forward to hearing from them about what went on there.

I opened the first event with an introductory talk about my experience with the various computer systems in use in education as I progressed through school. This covered me playing on Granny’s Garden on the BBC Micro and word processing on an Acorn Computer before moving on to Windows 95 PCs, battling with this ‘Internet‘ thing we’d begun to hear about – wondering what the word ‘Yahoo‘ that often appeared was supposed to mean, and my first delivered tech solution at age 11 involving a series of coloured floppy disks.

I kicked things off by initialising a barcamp-style talks grid, and encouraged people to give talks or demos – we had a Python tutorial, talks on Linux for beginners and 3D printing a RasPi case, and a demo of a Raspberry Pi / Arduino hybrid implementation of the game ‘Operation‘ using a live-size manikin! Talks were optional and there was plenty else going on alongside this – with people demonstrating the likes of XBMC on the Pi, chatter over the distributions in use, people learning Python, and most notably Dan Hett from Manchester Game Jam teaching 13 year old girl geek Amy how to get started building games using Scratch – before long she had drawn up some characters for her game, implemented them as sprites in her Pacman clone and started using the drag-and-drop constructs in Scratch to control the actions in the game – it was really impressive how she was thinking like a professional developer – understanding the problems that arose with laying out the behaviour of the objects and their interactions during gameplay. Not only did she understand what these problems were and why they were problems, but she actually thought hard about how she could overcome them, without giving up on it being too difficult. Within a couple of hours or so she had built a Pacman clone with her own drawings as characters and built another game involving flying bats – which I noticed she had instructed to keep track of high scores!

Amy showed me how she had done all this in Scratch (I have not used this before) and it looked to me like lines of programming code – just with each construct in different coloured blocks. I told her if she could read that she would find Python no problem so I asked her if she wanted to watch the Python tutorial – she watched it quietly for about 15 mins, then walked off when the adults started debating over Python 2.7 vs. Python 3.2, and just went back to her Pi and started typing away. She’d remembered all the things shown in the tutorial, and tried to recreate the examples shown. With a little help from me (syntax only) she managed to build a command line based ‘game’ making use of user input and randomly generated numbers. These kids have serious potential. When given the opportunity, they make awesome stuff.

Once we packed everything away I got together with the guys from the Blackpool Linux User Group and we began recording for the Full Circle Podcast – generally covering the events of the day, discussing the potential of the Pi and the future of such events.

The second event was much like the first, except I introduced an idea I saw at another event I attended at MadLab recently – LAMP & Beyond – run by Jeremy of PHPNW / Magma Digital, whereby attendees were asked to contribute post-it notes of skills they had to share and skills they wanted to attain – with the intention of matching groups of people up with a person to lead them in learning a new skill, be it language, development tool, source control package or the latest hipster technology! This worked really well and everyone got a lot out of it. With the Raspberry Jam I hoped this would allow beginners to get started, others to share ideas and help each other with a leg-up without having to figure everything out for themselves and overcome initial issues and get on with something cool. A few people wanted to learn Python so I tutored a few people through some basic constructs of the language compared to what they’re used to in their own languages. Some people needed an OS image loaded on to their SD cards so we had a few people helping them with that, others were making games again (Amy returned to continue with her projects) and some others had the Pi running on an old serial terminal! Towards the end I finally got chance to do something for myself – I got my Pi talking to a breadboard using the PyPi GPIO library! We figured out which pins were which and hooked up an LED with a resistor and controlled its on/off status with a Python command – followed by a few functions (let_there_be_light() and such) which could be called to turn the light on or have it flash. A pretty cool start to external hardware controlled by the Pi. The interesting thing about this ability is that it would be possible to program the Pi to do something and have it do it without use of an external display – just listen to events happen and do things according to the state of those inputs – anything from controlling water sprinkler systems based on soil moisture to … well, anything!

I think it’s fair to say that everyone who comes to one of these events finds something out about the Pi they didn’t know before – the skills sharing nature of the Jam is to be praised and I would encourage anyone of any age or experience to attend one – or start their own!

Update: a few pictures from Jams I & II:

Photos courtesy of Les Pounder [flickr] and Dan Hett