Scratch Programming in Easy Steps is out now!

11 October 2013

Yesterday was Super Thursday when book publishers release their titles for Christmas. This year, I had a book come out on that very day. My author copies of Scratch Programming in Easy Steps arrived yesterday, and I understand that Amazon pre-orders have also now been despatched.

I'm delighted with how the book came out. It's printed in full colour on slightly glossy paper, so I tried to use images that would pop off the page, and the book does look great in print.

When I was commissioned to write it, I had a lot of latitude to decide how long it would be. I extended the number of pages from my original plan, so that I could include more example projects (including a chapter of seven short projects) and go into more depth on some topics. I'm particularly pleased with the section on making music with Scratch, which shows how you can convert sheet music into music in Scratch (with thanks to Tim Benson, a friend and former music teacher who checked this spread for me). Together with the inclusion of an abstract art project in the seven shorties, I hope this will encourage readers to be creative with Scratch, making not just games but also music, art and other interactive programs.

The book takes a step-by-step approach that shows you how to make a series of games and other projects, but balances that with a full explanation of how Scratch works. I considered that essential because otherwise readers would only learn how to make the project in front of them, and my aim was to enable them to experiment and to create their own projects later. It would be wonderful if readers started inventing their own games and other projects using the knowledge from the book, in the same way that readers of Web Design in Easy Steps occasionally email me to tell me they've built their first website after reading the book. It was important to me that my Scratch book covered the full range of what Scratch can do, too. Important features like lists for storing data are often overlooked in tutorials because they're not easy to incorporate in an arcade game, but I wanted to show readers everything that Scratch can do, so they can draw upon it all in their own projects.

Thank you to everyone who pre-ordered the book or has Liked Scratch Programming in Easy Steps on Facebook. Visit the book's Facebook page to take a look inside the book in a new photo gallery I've uploaded there.

You can find out more about Scratch Programming in Easy Steps here. If you'd like to buy a copy, here are some links for places you can buy the book.

Permanent link for this post | Blog Home | Website Home | Email feedback

Pycon UK 2013: A round-up of the Python conference

04 October 2013

A couple of weekends ago, I went to Coventry for Pycon 2013, a gathering of Python programmers and enthusiasts. It's the first time I've been to Pycon, now in its seventh year in Coventry. It took place at the Coventry University Technocentre, which would have been what they called the disco when I was at university.

When I arrived I was impressed to see the scale of the event. I think I expected it to be a gathering of about 50 people, but it looked like there were a couple of hundred people there. As is often the case at community events like this, there was a big crossover between the speakers and the audience, with a significant number of attendees leading sessions to share their experiences and expertise, or showcase some of the great applications they've built.

David Mertz from the Python Software Foundation gave an interesting opening keynote that looked at some of the subtleties of list concatenation, including which approaches are fastest and which are easiest to read. He shared a joke about Guido's time machine, where somebody proposes a new language feature, Python creator Guido van Rossum reads it, goes back in his time machine, and adds it to the original language. That's why when people request new features, the outcome is often that they were hidden in there somewhere all along.

There was then a networking session, which gave people an opportunity to meet others who are from the same region as them. I met with Danny Staple from Orion Robots, who makes easy-to-assemble kit robots. He was able to help with some of my technical questions about Python and kindly talked me through some of the solutions.

Events like this provide an opportunity to see what people are building with Python. Nicholas Tollervey gave an interesting high-level talk about distributed hash tables, a peer-to-peer way of storing data which fits well with Python's dictionary sequence. Geoffrey French demonstrated Ubiquitous Larch, a live web-based shareable programming environment for Python, which I can see being particularly valuable for training and documentation applications. He showed how several people can log in to the same session and collaborate on writing Python code which interacts with web data in real time.

Ian Ozsvald demonstrated how he's been using Python together with scikit-learn for analysing Twitter streams to disambiguate mentions of brands from generic words (separating tweets about Apple computers from tweets about fruit, for example). He took 1,100 tweets with the word 'apple' and marked whether they concerned Apple the company or not and used that to train the algorithm. Half were about Apple the company, and half weren't. He then ran some unclassified tweets through to see whether the program could find the company mentions among them, and compared the results by hand. When he benchmarked his results against a leading commercial solution, he found he was able to double the number of detected company mentions while eliminating false positives. Because I do a lot of work in social media marketing, it was particularly interesting to me to see how a home-brew solution using easily available tools can take on some of the major commercial platforms, although obviously Ian Ozsvald brings a lot of expertise to this, so his success might be hard for others to emulate.

Pyglet is a library for creating visually rich applications and Richard Donkin showed how it can be used together with OpenGL to create a Minecraft-like environment. This session also included demonstrations of two games made for PyWeek, the Python game programming challenge. Daniel Pope demonstrated his Asteroids-style game, and Juan Martinez showed his lunar adventure game which involved exploring different rooms to puzzle out what's happened. Both games were good showcases for Pyglet, especially since they were written within the contest's one-week deadline.

For me, the highlights of Pycon were the hands-on sessions. Zeth led an alternative introduction to Python, which showed some of the sophistication of the Python dictionary. When I first came across the dictionary sequence when I was learning Python, I thought of it a bit too literally, and struggled to think beyond applications like phrase books. You can use it to store mixed types, though, and it gets particularly interesting when you store functions in a dictionary. One person I spoke to at Pycon told me that he had an application that took error codes generated by industrial machinery, and used a dictionary lookup to run the appropriate function in response. Being able to do this without any conditional statements is an elegant solution. Zeth's session also covered classes, which was good preparation for Jonathan Fine's in-depth session on classes and objects later that same day. For both these sessions, I ran Python Anywhere on the iPad, so I could have a console to try examples on.

On the Sunday, there was a Raspberry Jam, led by Alan O'Donohoe. This is the first time I've been to one of these Raspberry Pi events and it was great to see so many young people programming the Raspberry Pi, an equal number of girls and boys. There were a few people developing Scratch games, including some who worked in teams to create a game where you're chased by a bee. Minecraft was incredibly popular, with one team hand-building an elaborate house deep underground, and someone else using two lines of Python code to create a swimming pool in the Minecraft world. There was a demonstration that involved an indoor quad copter floating up and down in line with movements in the Minecraft world too, controlled by Python. I've been having some fun with Python and Minecraft on the Raspberry Pi myself lately, so I can see why it seems to captivate the imagination. It takes something quite abstract (Python code) and turns it into something you can actually walk around inside (a Minecraft world).

Pycon is run by volunteers and I have to say they put on a fantastic show. The event was well organised and the facilities were excellent. The sessions ran from an intermediate level to sophisticated niche applications, and were all led by volunteers too, who had clearly put a lot of work into preparing their talks. The event was possible thanks to the generosity of the sponsors, so thanks also to Bank of America (who sponsored the Raspberry Pi Jam), HP, Python Anywhere, Riverbank Computing, Fry-IT, Server Density, Bytemark, ScraperWiki, AbiliSoft, Cloudfind, 2nd Quadrant, O'Reilly, and the Python Software Foundation.

If you missed this one, put the next one in your diary. Pycon 2014 takes place on the weekend starting 19 September 2014 in the West Midlands, most likely in Coventry again. Early bird ticketing is likely to end in July. If you're interested in Python, I hope you can make it!

Permanent link for this post | Blog Home | Website Home | Email feedback

Dip into the blog archive

June 2005 | September 2005 | January 2006 | March 2006 | April 2006 | May 2006 | June 2006 | July 2006 | August 2006 | September 2006 | October 2006 | November 2006 | December 2006 | February 2007 | March 2007 | April 2007 | May 2007 | June 2007 | July 2007 | August 2007 | September 2007 | October 2007 | November 2007 | December 2007 | January 2008 | February 2008 | March 2008 | April 2008 | May 2008 | June 2008 | July 2008 | August 2008 | September 2008 | October 2008 | November 2008 | December 2008 | January 2009 | February 2009 | March 2009 | April 2009 | May 2009 | June 2009 | July 2009 | August 2009 | September 2009 | October 2009 | November 2009 | December 2009 | January 2010 | February 2010 | March 2010 | April 2010 | May 2010 | June 2010 | August 2010 | September 2010 | October 2010 | November 2010 | December 2010 | March 2011 | April 2011 | May 2011 | June 2011 | July 2011 | August 2011 | September 2011 | October 2011 | November 2011 | December 2011 | January 2012 | February 2012 | March 2012 | June 2012 | July 2012 | August 2012 | September 2012 | October 2012 | December 2012 | January 2013 | February 2013 | March 2013 | April 2013 | June 2013 | July 2013 | August 2013 | September 2013 | October 2013 | November 2013 | December 2013 | January 2014 | February 2014 | March 2014 | April 2014 | May 2014 | June 2014 | July 2014 | August 2014 | September 2014 | October 2014 | November 2014 | December 2014 | January 2015 | February 2015 | March 2015 | April 2015 | May 2015 | June 2015 | September 2015 | October 2015 | December 2015 | January 2016 | February 2016 | March 2016 | May 2016 | July 2016 | August 2016 | September 2016 | October 2016 | November 2016 | December 2016 | January 2017 | July 2017 | August 2017 | October 2017 | November 2017 | January 2018 | February 2018 | August 2018 | October 2018 | November 2018 | December 2018 | January 2019 | March 2019 | June 2019 | August 2019 | September 2019 | October 2019 | January 2020 | February 2020 | March 2020 | April 2020 | May 2020 | June 2020 | September 2020 | October 2020 | December 2020 | January 2021 | February 2021 | May 2021 | June 2021 | October 2021 | November 2021 | December 2021 | January 2022 | February 2022 | March 2022 | May 2022 | July 2022 | August 2022 | September 2022 | December 2022 | March 2023 | April 2023 | May 2023 | June 2023 | October 2023 | November 2023 | January 2024 | February 2024 | May 2024 | June 2024 | July 2024 | Top of this page | RSS


© Sean McManus. All rights reserved.

Visit for free chapters from Sean's coding books (including Mission Python, Scratch Programming in Easy Steps and Coder Academy) and more!

Discover my latest books

100 Top Tips: Microsoft Excel

100 Top Tips: Microsoft Excel

Power up your Microsoft Excel skills with this powerful pocket-sized book of tips that will save you time and help you learn more from your spreadsheets.

Scratch Programming in Easy Steps

Scratch Programming IES

This book, now fully updated for Scratch 3, will take you from the basics of the Scratch language into the depths of its more advanced features. A great way to start programming.

Mission Python book

Mission Python

Code a space adventure game in this Python programming book published by No Starch Press.

Cool Scratch Projects in Easy Steps book

Cool Scratch Projects in Easy Steps

Discover how to make 3D games, create mazes, build a drum machine, make a game with cartoon animals and more!

Raspberry Pi For Dummies

Raspberry Pi For Dummies

Set up your Raspberry Pi, then learn how to use the Linux command line, Scratch, Python, Sonic Pi, Minecraft and electronics projects with it.



In this entertaining techno-thriller, Sean McManus takes a slice through the music industry: from the boardroom to the stage; from the studio to the record fair.

Walking astronaut from Mission Python book Top | Search | Help | Privacy | Access Keys | Contact me
Home | Newsletter | Blog | Copywriting Services | Books | Free book chapters | Articles | Music | Photos | Games | Shop | About