21 April 2017
I'm hugely grateful for the support readers have shown my books over the years. I'd like to be able to keep in touch with you directly, to tell you about new books, free chapters and other resources, and opportunities to get review copies. If you're interested in Scratch, Python, coding for kids, edtech, and Raspberry Pi, I already have some cool things to tell you about over the next few months. I also have a couple of music projects on the way, which I'd like to be able to tell you about. It's too early to talk about them now, but if you're a visitor to this website I think you'll like them. :-)
Social media isn't working well for sharing this kind of news. On Twitter, the posts are so fleeting that you're relying on coincidence (are people reading Twitter when you're posting?), or on going viral (which is also coincidence for my kind of content). On Facebook, you can create fan pages, but Facebook doesn't show the content you post to everyone who's Liked the page unless you advertise (which isn't viable). So even the people who have expressed an interest in hearing from me on those social networks are probably missing some stuff they'd like to see. Facebook is great for launching new books (when people like the page, it notifies their friends), but it's not a great way to keep people informed about them. I will continue to use these networks, and very much appreciate your support on them, but it's becoming clear that they're flawed for both the sender and the recipient of messages. Email solves these problems, and takes the element of time and money away.
I've run newsletters in the past and found them quite a bit of work, which has made it hard to commit to regularly. This time around, I'm not going to run it like a publication with regular features and so on. It's going to be more like a friendly email. When I have something to tell you about, I'll write a short email about it and send it to you. It'll probably be a few times a year, and won't be more often than monthly. I respect your inbox and won't waste your time.
I hope you will consider subscribing to my newsletter. It only takes a minute or two. (If you have previously signed up with me, please do sign up again for this new list). Thank you.
04 January 2017
Scratch is a programming language widely used in schools and colleges to teach programming, and there are two versions in popular use. The older version, Scratch 1.4, is the one that is installed on the Raspberry Pi in the Raspbian operating system. It's been extended to enable you to code GPIO projects in Scratch, controlling sensors and LEDs, for example.
Scratch 2.0 is a newer version of Scratch, which is based on Flash. There is a version of Scratch 2.0 you can download, but most people probably use it on the website where there are community features such as sharing, commenting and liking projects built-in.
There are a few new features in Scratch 2.0, including the ability to create your own blocks (which helps with structured programming), and the ability to clone sprites (which can be used to great effect in games and graphic effects). There are a few differences to block names too, and the Variables section has been renamed to Data. The Control blocks have been split into Control and Events blocks too.
One thing that isn't widely known is that you can now run Scratch 2.0 on the Raspberry Pi, because the Chromium browser in the Pixel desktop supports Adobe Flash on the Raspberry Pi. I've tested this on the Raspberry Pi 2 and the Raspberry Pi 3, and found the editor and the project window both run a bit slower than on a PC, but you can nevertheless now get the extra Scratch 2.0 features on the Pi. There was a bug in Treetop Catnap too, where one of the enemies got stuck, which doesn't happen on the PC. I wonder if that's because the graphical rendering is slightly different and the sprite believes it's touching a colour that I haven't put there. I tried using Chromium on the Model B+, but it doesn't appear that Adobe Flash works there.
Because Scratch 2.0 runs a bit slower, and the GPIO is not supported in Scratch 2.0, I'd still recommend Scratch 1.4 on the Raspberry Pi. But if you have found some projects that only work in Scratch 2.0 or want to see what's different, give it a go! If you're familiar with Scratch 2.0 already, perhaps from school or college, having the option to use the same programming language at home will probably appeal.
08 December 2016
I've just spent a bit of time playing with the BBC Microbit, so I thought I'd share my experiences with you. The BBC Microbit is a pocket-sized programmable board, designed for use in education. Originally, it was given out to some children in UK secondary schools, but the BBC has now established an independent foundation to look after the Microbit's future, including helping to promote its use worldwide.
There are many things to love about the Microbit. It has battery power by design, so it's highly portable and even perhaps wearable. The board itself is compact and light, so the only real restriction is the battery pack (2 x AAA batteries). It has easy connectors for electronics projects, and a built-in compass, accelerometer and Bluetooth LE networking. The 5x5 grid of LEDs on the front is a bit more limited than you might expect (on the Amstrad, ZX81/Spectrum and other 8-bit machines, you usually worked with 8x8). But the software features a character set, so you don't have to create your own letter images (as I did with my text scroller for the Unicorn HAT on the Raspberry Pi), which is a huge plus.
To get the code onto the Microbit, you compile it, save it to your computer, connect the Microbit using USB and then copy your file across to it, like an external drive. A couple of times this failed for me, and I think it's because the Microbit will reject files that have spaces in them. That's unfortunate, because if you save the same file twice to your computer with the same name, the second time it has the filename "originalfile (1).hex".
So, anyway, here's a Christmas project I made today using Microsoft Touch Develop, which you can recreate on your Microbit (or using the on-screen simulator) at www.microbit.org. It's called Secret Santa. You shake the device to open your virtual present, and see what you've won. There are ten gifts: five are for the naughty, and five are for the nice. I've had some fun coming up with the gift ideas. It takes a while for the gift to scroll across the screen, so I've made some of them start with the same words to heighten the sense of suspense. Shake the Microbit for another turn. You can press the two buttons for some Christmas messages too. Obviously, you can customise this code to display random messages on any topic when the device is shaken, and you can change how many messages there are too by altering the "pick random" block.
For more Christmas fun, check out my Scratch advent calendar!
28 November 2016
This Christmas, I'll be publishing an advent calendar on this website with a new Scratch project behind each door. The projects are drawn from my books, magazine articles and personal projects and will I hope give you something fun or useful each day in the lead-up to Christmas. Don't worry if you miss a day: you can go back to previous days in the month, but there's a simple check to stop you sneaking a peek at future projects.
If you're looking for inspiring gifts for the coders in your family this Christmas, please consider my books Cool Scratch Projects in Easy Steps, Scratch Programming in Easy Steps, and Raspberry Pi For Dummies. Thank you! You can follow those links for more information, including free samplers to give you an idea of what's covered in each book.
09 October 2016
Chapter 1 introduces you to Scratch and how you build projects, and includes the Magic Mirror project. This is a humorous twist on the 'cat goes for a walk' project idea, where the cat walks in front of a Magic Mirror that distorts its reflection. This chapter also explains some of the key ideas that are used in later chapters, including 3D Maze Explorer.
If you want a quick overview of what to expect from the whole book, take a look at this 3-minute video that includes clips from all the projects, including the ScratchJr projects and the Raspberry Pi Camera Module project. Let me know what you think in the comments below.
You can also check out my previous blogs about some of the projects in the book:
- Making 3D anaglyph games in Scratch
- Making games in ScratchJr
- Making stop motion videos on the Raspberry Pi
- Discover some a-maze-ing Scratch projects!
- Making music and art in Scratch
Cool Scratch Projects in Easy Steps is available now from shops including these. It has a companion title in my previous book, Scratch Programming in Easy Steps. That book goes into greater depth on how Scratch works and shows you how to build a number of games and projects. The new "Cool" book dives straight into the project instructions, so there is more room to cover more of the fun things you can do with Scratch. I think they work well together, and you can read them in any order.
If you get either book (thank you!) and enjoy it, please consider writing a review on Amazon. It really helps others to find the book. Thank you!
For more information on the book, visit the book's web page here.
04 October 2016
The print edition of my new book Cool Scratch Projects in Easy Steps comes with a free pair of 3D red/cyan glasses and shows you how to make 3D games with them. The glasses make it possible to show a different image to each eye, so you can create real 3D effects, where things appear to pop out of the screen, or sink back into it.
There are three 3D projects in the book:
- 12 Angry Aliens, in which aliens surge towards you from the distance, and you have to click them with your sights to shoot them.
- 3D Artist, which enables you to position shapes in three dimensions so you can create images with depth. There's a random option too, which you can use to watch abstract designs appear before you.
- Space Mine 3D, where you have to catch energy balls that fly out of a tunnel towards your ship.
The book also includes a simple demo that you can use to experiment with depth, and work out the comfortable distances for viewing.
For best results, you should face the screen flat-on. The effect can be reduced if you tilt your head, or view the screen from an angle.
Extra pairs of glasses are easily available online from a wide range of vendors on Amazon and eBay (search for anaglyph glasses and make sure you get the red/cyan ones). You can even upgrade to plastic-framed ones if you want for a couple of pounds or dollars.
If you don't already have a pair of the glasses around, you won't be able to see the 3D effect in these, but below is a taster of what the projects look like. Note that there has been some colour distortion in the video screengrabbing.
30 September 2016
ScratchJr is like a younger cousin of Scratch. It's a free app for the iPad or an Android tablet that enables you to experiment with some basic coding. It's designed for younger children than Scratch, so there is not much text in there, and the blocks are simple symbols. If you know Scratch, it won't take long to get started with ScratchJr. But there are quite a few things missing that you might be used to, such as variables, coordinates (go to a particular position), the ability to tell which sprite a sprite is touching, and more. Basically: a lot of the stuff that you use when making games in Scratch! Of course, it's great for younger children because it removes all these things that are hard for them to understand. But for us big kids, the challenge is to come up with some fun games working within what ScratchJr can do.
I previously made a simple game for ScratchJr when it came out, and you can see my first ScratchJr game together with my review here. For Cool Scratch Projects in Easy Steps, I made a game called Super Wheelie. It's a sideways scrolling game, in which you tap your stunt bike to jump over the mushrooms in the road. The game has two levels, and a fun "splash!" sequence when you hit a mushroom and get bounced into the sea. If you get past all the mushrooms, there's a sequence where you roll up to your house. You can see a video of this game below.
As you build this project, you'll learn how you can build games, put your own face into sprites (or "characters" as they are called in ScratchJr), how you can record sound effects and how you can use different scenes for the different levels and sequences. As well as pushing the boundaries a little bit on ScratchJr, it provides a good introduction to the app so that you can start making games of your own, even when you can't get to a computer that runs Scratch.
Like my previous book Scratch Programming in Easy Steps, Cool Scratch Projects in Easy Steps finishes with a handful of short projects you can dive into and tinker with. One of those is another ScratchJr game, called "Baby, I'm a Starfish". In the game you tap a starfish to move it, and have to get it safely to the top of the screen. If it hits another fish or sea creature, it goes back to the bottom. It's a simple but fun (maybe sometimes frustrating!) game. Here's a video. It took me a few goes to get to the top this time, and I did edit out some of the failed attempts!
To find out how to build these projects and get started with coding on your tablet in ScratchJr, check out Cool Scratch Projects in Easy Steps. It's available at Amazon (UK), Amazon (US), and from the publisher. You can also support your local book shop by ordering it there. Just tell them the ISBN is 978-1840787146.