Sonic Pi - Making, Mixing and Live Coding Music

Two performances did seem to transcend the present, with artists sharing music that felt like open-source software to paths unknown. The first, Sam Aaron, played an early techno set to a small crowd, performing by coding live. His computer display, splayed naked on a giant screen, showcasedSonic Pi, the free software he invented. Before he let loose by revising lines of brackets, colons and commas, he typed:

#This is Sonic Pi…..
#I use it to teach people how to code
#everything i do tonight, i can teach a 10 year old child…..

His set – which sounded like Electric Café-era Kraftwerk, a little bit of Aphex Twin skitter and some Eighties electro – was constructed through typing and deleting lines of code. The shadowy DJ sets, knob-tweaking noise and fogbank ambient of many Moogfest performers was completely demystified and turned into simple numbers and letters that you could see in action. Dubbed "the live coding synth for everyone," it truly seemed less like a performance and more like an invitation to code your own adventure.

Read More

Everything STEM. Do All Methods of Learning to Code Require a Device and an App?

Coding in schools is big business. Everywhere you turn there's a STEM organisation vying for your attention alongside Barack Obama himself. With STEM, or it’s brethren, STEAM, covering all bases from ex-MIT students and employees through to a multitude of KickStarter campaigns it seems that if you have an idea for children to learn to code you'd better get busy and sort your Chinese manufacturers out, STAT.

STEM + Device. What's the real goal?

With this influx of coding opportunities for educators, parents and children alike, there's almost always a 'thing' attached [a ‘thing’ in this case is defined as an attachment by which the application that controls it makes the money]. If your product doesn't have (and I need to try to differentiate this from Nursery ages and up) an iPad 'thing' to connect, a wooden 'thing' to control, a blue plastic 'thing' to program, a stand alone robot 'thing' to learn from an app (though not strictly coding), Raspberry Pi 'thing', another Pi 'thing' or the many, many, many Arduino 'things' that range from the brilliantly simple to the absurd then children will simply not be able to learn to code in the way POTUS once directed. Then there's the premier league trio: WeDO, LEGO and Tetrix. All Hail!

Something’s not quite right. If your students are learning about instructions then all is good as too, if your students are below seven years old. But what about further along the track? If you are learning to program, do you need an attached 'thing'? LittleBits for example, lets you work only on the 'thing' because it is the thing. 

What I really do like about these ‘things’ is the engagement they offer. What I don't like about them is that there is usually little to no support for the average layman teacher, the expectation that you 'just gotta tinker and you'll understand’ and, in some of the cases, where to give a class worth of kids the experience of 'hive' learning, they are exorbitantly expensive for what they really are. And, if you want to be trained or a club for your students, then you'd better be prepared to fork out a lot of cash for, in my experience, very little in return.

This is an age old situation though: have idea, prototype, build, take to market and sell to an education department of unsuspecting heads of school for an unnecessarily high uptick (TTS Bee Bots for $70+ we're looking at you). The other side to this is that the coding aspect to them is now 'appified'. Appified is a disgusting term however needs must.

Apps for this, Apps for that

There's an app for everything. I understand that control is necessary for these types of devices. However, the snag is there is another fork to this dilemma of learning alongside these devices. The fact that many now come with a game. It's almost as if, collectively, we assume any child can't learn nowadays without instant gratification within a linear trajectory. There are a number that fall into this kind of trap. It's also happening where learning programming structures natively is becoming a game too unless it's a Scratch-like platform and even these are being morphed.

The apps usually work a little like this: offer an example of a few steps, child copy steps (no or few deviations) and then, if it's correct then a bell goes off or an animation lets you know you're a winner or loser. This is also happening on Hour of Code. It's nice to dip your toe but the learning beyond this is thin. It enthuses our students however, wouldn’t it be great to have a Khan’s Academy type approach minus the app and let my students work in the browser.

The Walled Garden

Nothing is more prevalent than this is Apple's Swift Playgrounds. While I really like how enthralled our kids are with it and, if you have an iPad, then it's readily available. The problem is that it's Apple's ecosystem and that tight grip on what you can, can't and how you're allowed to do things is there for all to see. I find the learning path to learn programming is basics is patchy.

Questions I always ask every time I look into Swift Playgrounds are: Can you do this in the browser? No. Can you freely make errors? Yes and no. Can you fix errors? Sometimes. Can you make your own fixes? Sometimes. Does the learning progress depth and breadth in equal measure? No. Do I build anything ? Not really. Can I learn loops? Yes and no. Can I freely apply these loops? No. Well yes, if I complete the game and open XCode. When do I learn how lists are applied? Right after the exhaustive learning of nested loops. Is this the right spot without allowing me to apply in my own way? And, can I make an App directly in this?

If you look here at Touch Develop you can use all languages in one place all in the browser. You have tutorials and, you showcases of other designs and builds to edit much like in Scratch. Wouldn't it be nice if Swift Playgrounds was like this?

It is this aspect that is rather frustrating as a teacher of computing and IT. The unifying problem with coding like this in schools and education as a whole is that it has no real goal or end product beyond something akin to a high score. At this sort of level of understanding, you would want your students to apply their own thinking to a goal, say, a simple game with scores and an array of non-playing characters.

As we know with successful apps such as this is that they are copied and replicated with little change to the outcomes. Children still plough through them thinking they're coding when in reality they can't apply this area of learning to another level of logic on another platform - seldom have I seen a child move from this to XCode smoothly.

Appification Versus Open Standards

I think the level of learning to program and build simple algorithms is lost because of this as children have some level of expectation that the app, whatever it is, will guide them from A to Z and kind of do it for them. And, sometimes with an arbitrary score along the way: Well done, you've won a badge for making Mr. Blob move forward and turn through an orchard seven times.

The gold standard here for primary aged students is of course, Scratch. We all know and love Scratch. It's based on SmallTalk an open source platform and it remains open because its very foundation is to 'remix' whatever you create - whatever you make is open by default. There's a version 2.0 that is web based making it immediately linked and cross platform. There are open plugins for devices. There's even Scratch Jnr. on iOS which has one tiny foot in my gripe above (however this is not as guilty as that Daisy programming app for the under 5’s). It's just a shame that the original Scratch 2.0 is built on Adobe Flash/ Air. Nevertheless, its level of accessibility is very low and its level of complexity can be very high (Universities edit the source for robotic control).

It's accessible for one reason and this will fire a few people up: You explore based on an introduction by someone who has previously used and successfully built with it. As a seven to ten year old it’s extremely rare for a child to just discover it by chance. If you did then you were already looking for this kind of thing and all hats off to you - we need more of your kind! If you are at this age and you 'just found it' then I'm intrigued as to how. And, that person who introduces it shows you, nay, inspires you to try out a series of loops and controls to make a sprite around a screen.

Beyond this, Scratch has a fantastic help section (and community) that guides you with a vast array examples. Want to build your own Pac-Man? no problem. Want to build your own version of Minecraft? Then start that journey. This is how it works for the large part and without an app to offer you a badge, score and yeehar along the way.

Sonic Pi

Programming Music

There is, I believe, a third way though and that is Sonic Pi produced by Sam Aaron. Sonic Pi is a fantastic platform for coding music, and not just plinky plink piano synth stuff, real live and in time beat and melody mixing. It too is open source, available on most platforms (no mobile just yet) and is based on assisting children to try things out for themselves with text rather than blocks. The syntax is basically Ruby and the console you type into recognises grammatical errors should there be any. The saving grace here is that you have four areas in front of you and one of them is an examples and working glossary section all written in jargon-less support. An ‘Runtime error’ tells you what and where the error is. And, should you be mid mix, then it continues to play the musical loops and doesn’t just stop. And the premise? If a ten year old child can’t understand the individual processes (just like Scratch it can get very, very complex but each part is very accessible) then it doesn’t go into the next update.

Rocking Out In Ruby - A Playful Introduction to Sonic PI by Xavier Riley 

The way Sonic Pi works, is that you code music in real time. You can be as basic as you wish. There is not real formatting rules as such. You could, as in Scratch, make very lengthy strings of instructions to make a musical algorithm. It may look completely bonkers, but, as the opening splash screen points out ‘there are no mistakes, only opportunities’.

The real selling point of Sonic Pi is that it codes music IN TIME. This is huge. The mechanics behind this is kind of lost on the layman, however the timing aspect of this is the reason it actually works. Just think about a MIDI keyboard and its scale. Each key is numbered and the numbers either get higher or lower. Musical notes do the same. When you play each note is up to you - this is time. How you do this is up to you, your mood and, as you sell your final album to go platinum, your hopes, dreams and fears. I jest. However, even as your first production piece ends (it may sound like Ross at Central Perk) you will have something approaching an accompaniment.

Where Sonic Pi differs though is how you code. You code beats and samples in time making live shows of coding. This is completely different to nearly any other type of programming. Think of a programming sequence that is not HTML or Javascript (HTML is not strictly programming) as you can see this in modules such as web emulators or something like Mozilla Thimble. With these languages you have to build then hit run and see if it works. The end result is one of three things: it doesn’t run, it runs but has errors strewn across it or it runs. You don’t run the code and see it actually working or in this case, hear it working. You physically play the code. This is a magnificent method to help kids see, hear and learn to code through text because they are free to type without being disappointed that their code is broken… for the third time this hour. This is the App-less safety net of discovering. No high scores. No badge-like fads and no bling, bling doo dads.

As and teacher and leader of technology I firmly believe that the STEM wagon is bloated with money grabbing devices. They are synced to game-like apps that in the long term apply little to no success for children to understand programming practices. And these practices require a blend of self discovery, support and rote learning. I understand the benefits of inquiry based learning and the merits it returns however, in this realm, you, as ‘guide on the side’, had better know what to do when that app can’t provide that solid goal the children are seeking and teach how to program the behaviours the device requires. Because, if you can’t support in this way then you are either resigned to allowing the children to use it like a remote controlled toy or quickly move on to something more in-depth. Tamagotchi, if you remember, was a passing fad but then Barack didn’t globally address it.

Be inspired and watch Sam live coding.

ThinkingDigital Follow Sam: Follow Sonic Pi: Download Sonic Pi: By day, Sam Aaron is a mild-mannered Research Associate at the Cambridge University Digital Technology Group. By night, he's a live code raver and musician.

Using Flipboard to teach Minecraft and other things

The nice thing about Flipboard is that the people you follow in your network of teachers et al are can now be followed on Flipboard. Many of these people make smaller curated magazines and some with original content of their own. This content can be drawn from all over: other social areas like Instagram, Twitter, Facebook etc and individual URLs.

It's this custom URL addition that makes it really handy for a teacher to build their own magazines for any topic they desire. Flipboard has its own online editor at where you sign into a 'dashboard' of sorts and rearrange tiles on the page. The tiles being the pages of your content.

The real beauty of this is that you can do this live while the students are in front of you. It's a bit like Nearpod except the presentation is a bit more organic that Nearpod's ultra linear feel. The tiles you can see below are in lesson format. The '1' you see is the introduction to Ancient China topic and the inventions the Chinese founded many moons ago. These lesson pieces can be swapped out to suit the classes or the students you are aiming it at. You could divide this up into different magazines for groups or even as a research exercise prior to the topic.

Read More


Diaspora was supposed to be an open source, decentralised version of Facebook. A quick search will tell you what happened to it and whether you can access it. Who knows if it will ever come to life. Its premise was all that Facebook is generally not - a place for true user-voted news that was voted on worthiness and not a test bed for dumbing-down of the news to the lowest common denominator. Still, Condé Nast could never let that happen as it might damage Reddit's stake as number one switchboard for memes and Facebook, well, Facebook is Facebook - the gateway drug for the general masses to like and generally believe ANYTHING that they read. Still, it's the use of 'diaspora' in the wrong context that is slightly irksome and its misuse links my thinking to the general state of technology in education.


Read More


There is a helluva hullabaloo brewing around who codes, who doesn't code and who should be coding. My little boy is six months old and I'm seriously worried that if he isn't coding by the age of one then I'm failing as a father. His mother is a digital creative, an artist, a designer. So much for her influence then in these STEM-tastic times.

Seriously though what happened to the Arts? It seems that STEM is taking over what with the Maker Faire being hosted at the White House this time around it strikes me that the Arts (and anything related to it including it's denizens who reside within this field) must and will take firm backseat for a long time to come. While the UK follows the suit of the US in puppy-dog fashion, the 'Anti-Oik' and general antagonist Gove has been pushingSTEM in the UK in the guise of coding

I was talking to my secondary counter parts yesterday in a very impromtu drop-in and ended up talking about coding in Year 9, Raspberry Pi and how the Computer Science GCSE/ A Level is a far cry from the ICT GCSE/ A Level. In a nutshell: ICT = MS Office. As we are all too familiar with. However, this is legacy and nothing in comparison to what's coming. We talked that in Year 9 it's compulsory for the students to have experience of a wrtten language that isn't HTML (HTML doesn't count - I'd heard this but never in conversation with a teacher of KS3/4/5). The example I saw was Karel - an introductory language that can get quite complex as CodeHSdemonstrates. I am really pleased to see this as it's been a long time since my programming persuasion has been in line with KS3 and 4. However much I like Python, Ruby and Scratch (Small talk/ Squeak) before it. I think we're missing a trick here though. There should be a general lineage form KS1 too and this is where the fireworks can start. We all have our favourites.

Now, I'm all for technological advances and it interests me in many ways although as an old saying goes "anything excess in life is poison." So what happened to the balance? Is creativity taking a very niche route and bound to the confines of code? Or is Coding the new creativity? Is the App Store the Pop Idol for coders with the many also-rans trying to compete with the likes of Zynga for the next Chocolate Rain? With every student who makes it near the top there are thousands who are at a mere karaoke standard trying to vie with everyone else and dropping their prices to 99c. 

I feel there is an imbalance somewhere here that I can't quite put my finger on. Although, this coding leyline is exclusive unless you're inclined to digitally represent your creativity and eschew good ol' standard mediums. I think I may need to adjust my teaching style to bend the other way and only teach coding where there is an artistic flavour to hand .

The teaching of coding, I think, needs a tiny dousing of Leonardo Da Vinci and a little less Lenin; I'm going to strive to keep the true artistic balance in our future schemes.


Years ago as a kid I remember bieng wowed with the distant possibilities of some kind of Virtual Reality set-up on my parents' Trinitron by the greatest Science and Tech TV show of the time: Tomorrow's World with Maggie Philbin and Judith Hann. Ah Nostalgia.

At the time, VR was this thing that crazy technologists did in the confines of their make-shift studios. The closest anyone I knew that really got to VR was a poor immitation as a vertically ridged holographic image on the side of a ruler or strawberry-scented pencil eraser. They were sedentary affairs at best that eventually came free with Coco-Pops.

It all seems a bit dated now as too the whole notion of VR as it seems to have been around for aeons. I did a bit of digging about (now that our Oculus Rift was delivered last month) and found that there are so many variants that were emblazened on the front covers of PC and gaming magazines of the time that we all remember but had forgotten about. How many of you recall the VicktorMaxx Head Mounted Display for the Sega Genesis or indeed Nintendo's Virtual Boy?

At that time, if you recall, there was also a slew of films that added to the stroryline of the charismatic Tron. In those days there was a real emphasis on scientific invention as too today with the Marvell Vs DC theme. The other film that sticks in my mind was Stephen King's Lawnmower Man - an OK film unlike the sequel - and was highlighting (as did Tron before it) this new change in cyber stuff and electronics (90's phraseology not tech as it's coined now).

We all knew that Japan would release some kind of console the following week (as it seemed to be to amaze and blow our minds. As if it hadn't already with the SNES and Game Gear. The image above of my trip to Japan last year where Stef (my wife) and I trawled Akihabara for any kind of gadgets worthy of taking home. The Sony VR goggles were on show in the Sony center, Ginza behind glass although the closest we got to VR was theEpson version above. These are see-thu types that don't really do VR more like AR as you're still aware of all that is around you.

However, VR (and AR as it's been combined with now) was still hyperbole and was always tauted as: "next year, this could be in your home and in your hands!"

What's a little different now is that this kit is affordable and in the hands of regular folk. The Oculus Rift Development kit is $300 and the demos are all free to use.

The bits and pieces for the Oculus to integrate with games and-the-like I have come across range from free to $50 - these for the add-ons or overlays that allows games to display correctly with the Rift being the main controller.

How Can We Use These in School?

After using this for quite a long time now I am convinced that this has a lot of benefit to school. Not so much in the way that it could be used whole class or by year group but definitely in small groups and for sharing in lessons such as literacy or where individual displays are used such as learning support. Why literacy (English) and Learning Support? Well, my thinking is that these lessons are where attention span can sometimes wane and a wow factor is needed or specific descriptive language can be enhanced in the same way as Tim Rylandsuses Myst (or as I do Machinarium) for imagination.

Oculus VR GogglesIf you think about the games that are available for play with the Oculus then you have things like Surgeon Simulator which at first glance are a far too gruesome for Primary aged children. However, if you spend a second to break this action down to what it is you're actually viewing and taking part in it's basically a pre-set puzzle or sleuth type event much like a crime scene. Now, if you're like-minded then this easily offers itself to Science, Mathematical puzzles (MinecraftEdu setups), problem solving where the viewership can watch the person controlling and make judgements to solve puzzles.

The Oculus I have to say is in its infancy. The screen in the development kit is good but raw. Nearly all the staff who tried this felt sick from the nausea (except Stefani and I). Then new model is said to be a vast improvement with much lower latency and tracking for vertical movements i.e. crouching.

Oculus Rift computer Envy Singapore.jpg

Until this model gets into my hands then I am hanging this up for the time being for use in the Primary school except for special occasions and gaming sessions at breaktimes and after school clubs - maybe even our new Minecraft mediation topic coming up. Until then though it's been well worth the $300 for experimentation purposes and I shall be purchasing the new one. Maybe we'll venture into the Sony verison too based on this very valuable experience.

Search Tips for Teachers - The Friday Tech Attack

Every 3rd Friday we have a 3 minute nano presentation on tips for using technology. This week it's how to search and get the things we need from a Google search and missing out in the top ten results.

The image below is adapted for our staff from a Teach Thought image over here.

Full size images available here via Dropbox.