Time travel experiments in Python

12 July 2024


Photo showing the progress calendar on a screen mounted in a picture frame.For the latest issue of The MagPi, I've written a tutorial about creating new clocks and calendars with Python. I've been thinking recently about how Python can be used to improve your productivity, so for this article, I provided some examples of using the datetime module to represent time in useful and inspiring ways.

The article includes a "hello world" example that tells you how many days it is to Christmas. It then shows you how to make a calendar like the one shown on the right, where a bar graph shows how much of the current day, month and year has passed. (Or remains, depending on whether you're a calendar-half-full or calendar-half-empty kind of person). If you're working on goals with a deadline of the current month or year, this can help you to see how much of your available time has already passed, and how much is left.

The second example is a countdown clock, made by wiring up a four-digit seven-segment display to the Raspberry Pi's GPIO pins. By setting this to the end of the work day, you can see how much time is left at any moment. This helps you to choose the biggest task next that will fit in the time available, or can inspire a mild panic to get you moving if you are on an end-of-day deadline that's closing in too fast. With magazine listings, the idea is to keep the code simple. One enhancement I thought of, but didn't include, was for the clock to have different finishing times on different days, because some days I finish at different times to others.

You can download the code for these examples here, and can find issue 143 of The MagPi online or in your newsagent.

You might also be interested in my pomodoro timer for the micro:bit, which also features in my free Coding Compendium ebook.

Issue 143 of The MagPi also includes an article I wrote about Spin, a DJ deck that plays AI-generated music. You use buttons to choose the parameters you want for generating the music and can scratch it using a real record deck.

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


New 3D Amstrad game: Anaglyph Aliens

19 June 2024


screenshot of large alien made of red and cyan lines offset from each other, so it looks 3D when using 3D glassesI've written a new listing for the final issue of Amtix CPC magazine, which has just been published. It's a game called Anaglyph Aliens that uses 3D red/blue glasses to make aliens fly out of the screen at you.

I've long held an interest in 3D effects. One of the first articles to go live on this website more than 25 years ago was about stereograms, and my book Cool Scratch Projects in Easy Steps showed you how to make 3D games using Scratch (and included a pair of the glasses).

I was curious about whether it would be possible to create a 3D game for the Amstrad. It all came down to how well the machine's built-in colours matched the lens colours in 3D glasses. While there was some ghosting as a result of colour leakage, the 3D effect worked. I wanted to make sure the game design used the depth as a gameplay element, and not just background scenery, so the aliens fly towards you.

I also wanted the program to make sense as a listing, intended to be read and typed in. In the 90s, listings often had lots of sprite data, which was boring to type in. This wasn't really questioned at the time because there was no other way to get the software, other than buying it on tape which was unviable for most short programs. Now that we can easily download software, there's little appeal in reading or typing in a listing that is unintelligible.

To that end, this listing draws the aliens in BASIC, and then uses a tiny machine code routine to convert them into sprites. I really wish I'd had this idea in the 90s. It would have made Fishtank a more interesting and shorter listing, for a start, even without changing the experience while it was running. Anaglyph Aliens also uses the small machine code routine as music data, so that it's possible to have a (strange) jingle before each game, without needing to type any music data in. (I didn't include this line in the mag version, to save space).

It surprises me when I find myself thinking of a new coding technique on the Amstrad, given I've hardly used the platform for years. It feels like my old programming knowledge from my well-spent teenage coding years is still there, but enhanced by the things I've learned since about user experience and the time I've spent programming in Python and Scratch.

Play Anaglyph Aliens in your browser now, or download the disc. If you don't have a pair of glasses to hand, you can order them cheaply on eBay, or find a pair in Cool Scratch Projects in Easy Steps.

As I said, issue 12 is sadly the final issue of Amtix CPC. For this last issue, I've also written a short history of the CPC seen through the final issues of the major magazines and a Flash Back review of Highway Encounter. Over the last few years, the magazine has published 12 issues, plus an annual, coming to a total of about 750 pages. It's been a joy to read and to write for. Thanks to the publisher Chris, editor Colin, the contributors and the readers for making it happen. If you have any gaps in your collection, back issues are available here.

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


New free ebook: Coding Compendium

03 June 2024


Book cover: Coding CompendiumI've published a new ebook that compiles more than 100 pages of tutorials I've written for Raspberry Pi, Scratch, Python, and the micro:bit. It's called Coding Compendium and it's free to download when you subscribe to my newsletter.

The ebook compiles the articles I've written over the last ten years for publications including The MagPi, Hello World, Raspberry Pi Geek, micro:mag, and my website. A single PDF compilation seems like a more useful resource than having them languishing in the archives, including for me when I need to refer back to a previous coding project to remember how I did something.

In compiling the ebook, I took the opportunity to update my article on using the Python turtle (a great way to move from Scratch to Python), and added a new article about getting Scratch 2 projects working with Scratch 3. Some of the older articles were created with Scratch 2 and there are many great resources available for Scratch 2 (including some of my books which haven't been updated). There are just a few small differences between the two versions of Scratch, so projects from Scratch 2 will work fine on Scratch 3, but some of the blocks are in a different place in the user interface.

I hope that the ebook also promotes the magazines where the articles were first published. While the magazines' licences allow anyone to share their contents, I try to share them in a way that respects the magazine's investment in the work. I don't share PDFs of articles until the magazine issue has long gone off sale, so that there's no risk of my site competing with the magazine. You can support The MagPi by subscribing or by donating when downloading the magazine's PDF edition, and can subscribe to Hello World for free (in print if you're an educator, and in PDF for everyone).

This is the first time I've gated content, by requiring people to sign up to my newsletter to download it. Social media has collapsed over the last year or so, as a way to reach people with new articles and books. I hope that this ebook will help me to build a list of people who are interested in the kinds of things I make and write about, so I can keep them informed with occasional emails.

See more information, including the table of contents.

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


New EP: Songs About Coding

02 May 2024


Songs About CodingI've just published a new EP called Songs About Coding, created with artificial intelligence.

In the last few years, we've seen the rise of generative AI, including ChatGPT that generates text and tools like Dall-E and Stable Diffusion that create images. I combined them for my Bedtime Stories project. Now an app called Udio enables you to create complete songs based on a text prompt, including the lyrics, melody and musical performance.

It's more audacious than I dared dream when I was writing my novel Earworm, originally published in 2007. In the book, a record label comes up with a way to create computer-generated music, tailored for each fan. The book predated the rise in generative artificial intelligence, so the story uses a combination of technologies including lifting blog posts for lyrics, using melodies created with a decades-old type-in program, and naming bands after spammers, who were prolific then and often had highly amusing names.

Crucially, in my story, there still needed to be a human element. Is that the case now, with the rise of AI?

I tasked Udio with creating a series of songs in various styles about coding. In particular, I prompted it to create an 80s pop song about programming the Amstrad CPC computer, an acoustic song about debugging, and 1950s style songs about the Raspberry Pi.

The results are impressive. I did do some editing to fix the song structure, but I've featured some of them without any changes (apart from mastering).

Technologies like this are empowering for people who want to make music and don't have the skills to do so. You can give Udio your own lyrics, so if you're a lyricist without a collaborator, you can still create finished songs. As a musician, you can create music or loops that you incorporate into your own creations.

However, it seems likely that this will take work away from some professional musicians. Those working in library music and commercial commissions seem most vulnerable. Illustrators who are members of the Society of Authors are already reporting that they're losing work to AI.

Listen to the EP here! It's a fascinating demonstration of what AI can do today and it raises many questions. I woke up this morning with one of the songs in my head, so they're quite catchy, at least after a few listens.

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


New visualiser for Out of Mind

22 February 2024


I've released a new visualiser for Out of Mind, one of the most popular songs on my album of electronic music Artificial. The album explores what happens beyond artificial intelligence, when the machines acquire emotions. The visualiser provides a convenient way for people to play the song on YouTube. There are now videos or visualisers available for Out of Mind, Broken Shell, Input/Output, and the near-final ambient track Waiting for GOTO. See all the videos and play the album here.

I also released a companion EP of tracks that didn't belong on Artificial. That EP Is called Artificial Additives and includes an early poppier version of Out of Mind. I made a video for the track Do This that shows my film of the lifeboat coming in at St Ives.

Both the album and EP are available to buy and currently available to stream at all the usual places.

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


Make your own Steamboat Willie game in Scratch

03 January 2024


You might have heard the news that Walt Disney's early version of Mickey Mouse is now in the public domain. The copyright on the 1928 film Steamboat Willie expired in the US, UK and many other countries on 1 January 2024. As a result, you can now use the early Mickey and Minnie Mouse versions from that film in your own creative works.

This a great opportunity for young people looking for inspiration for their Scratch games and other coding projects. It's not easy to get the film content into a useful format, though.

That's why I've created a Scratch project that features two of the Steamboat Willie characters as individual sprites. I'd love to see your remixes of that project! You can write code to move the characters around the screen and I've made some simple edits to add animation (Minnie blinks and Mickey taps his toe). The sprites are little bit fuzzy because the source material is old and it's hard to create a sharp outline from it. If there is enough interest, I'll look at doing some additional grabs of other poses and creating other sprites. The demonstration project uses my tune Cottoneye Cat from my free music collection for coders, Press Play.

If you're using a compatible browser, you can preview the Scratch project here:

Find out more about the sprites, including how I made them, here.

For ideas for making games and other projects in Scratch, see the updated 2nd Edition of Scratch Programming in Easy Steps, which is out now. Find all my Scratch sprites, tutorials and projects here.

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


Can AI automatically negotiate contracts?

21 November 2023


My latest article for the BBC looks at how AI can help to negotiate contracts automatically. It's based on a demonstration I saw of a new technology called Luminance Autopilot, which uses artificial intelligence (AI). In the demo, I saw two computers running the software to negotiate a non-disclosure agreement (NDA). The tool is trained on an organisation's repository of previous contracts, so it can learn the terms that the organisation routinely agrees to, and can make edits to terms that are unacceptable. Technologies like this have the potential to free up lawyers to focus on negotiating the clauses or contracts that really need their attention.

This is the second piece I've written about AI recently, following my earlier article about using ChatGPT to create computer code.

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

Credits

© Sean McManus. All rights reserved.

Visit www.sean.co.uk 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.

Earworm

Earworm

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