Developer Developer Developer Videos now live

A few weeks ago I had a great time talking about making music with the Raspberry Pi PICO and Pure Data at the Developer Developer Developer Conference. All the videos are now online. You can find them on the conference YouTube channel here.

If you want to watch my video (and why would you not) you can click on the link above.

Christmas Meetup Postponed

The in-person Christmas Meetup that we were going to have this week has been postponed. Well, it did have “probably” in the name…. I don’t see the situation with that nasty little virus getting any better and I’d hate it if someone fell ill because of a gathering I’d organised.

We will be meeting online on Thursday though, which is good news if you fancy joining us from afar. I’ll be wearing my tackiest Christmas Jumper and we will have a silly quiz plus all the usual chat. You can find details here.

Update: I’ve fixed the spelling….

The mystery of the haunted BL Touch probe

In my experience the worst thing you can do with a 3D printer is to think of it as an appliance. As soon as you do that it instantly finds a new way of breaking that you’ve not seen before. I’m making a new gadget and this morning I thought I’d print out the bottom of the case. I printed out the top yesterday and noticed that every now and then the printer was making a “ticking” sound. This was caused by the extruder (the thing that forces the filament through the print head) skipping steps. It means that either the printer nozzle is blocked or the nozzle is a bit too close to the print bed and stopping the molten plastic from flowing.

I checked the nozzle and it was clear. It was only happening in one region of the print area so I thought I’d level the bed, which was a good idea in principle but practice turned out to be a nightmare. I could not get the bed to level. I ended up replacing the springs that support the bed with ones that I bought a while back.

The new springs are yellow, which apparently is a good thing. They give a greater range of adjustment and are a bit more substantial than the ones that came with the printer which I think have got a bit tired. I now have the bed level enough to print with which is nice.

I did find out one interesting (at least to me) thing while I was doing this. I have a BL touch sensor on my printer. It’s the red thing in the picture above. At the bottom is a little motorised probe that is moved into the “down” position whenever the printer wants check the height of the print head above the bed.

While I was working on the bed I noticed that the probe kept dropping onto the print bed in a rather annoying and potentially breakable way. For a while I thought the printer was haunted by “The Ghost of Failed Prints” but this was not the case.

It turns out that the probe dropped whenever I moved the print bed by hand. After a while I figured out what was happening. Stepper motors make quite good generators. If you turn them they produce a voltage that gets sent back into the circuitry of the device they are connected to. Some of this was finding its way into the coils that move the probe up and down and triggering them.

The lesson here is that when you move things you should move them slowly, so that they don’t produce as much voltage.

Demeo Defeated

That new save feature is important

We spent a great evening last night fighting off various kinds of horrible demons playing four player Demeo on the Quest. And we won. It wasn’t necessarily thanks to me in particular. I was mostly dropping arrows on myself and standing in poison. But fortunately my colleagues were made of sterner and more capable stuff and we managed to vanquish the hordes and emerge triumphant in time for “Have I got news for you”.

We’ve been playing the game for a while. It has only recently gained the ability to save progress. We did get close to finishing one time, but we were beaten back by the final level and poor headset battery management on my part. Now we can just play one level at a time and complete the campaign over a few weeks, which is what we did.

The game is also available for PC and would work fine with a mouse and a keyboard, but in VR you do get the impression that you are “going somewhere” when you play it. The game creates a view of the playfield with animated characters that remind me strongly of the Amiga Battle Chess game from way back. The aminations and sound effects are great, but it might be even more fun if we actually played it in the dungeon rather than standing over it.

If you fancy a bit of RPG on your Quest and you can find three like minded souls to have a go with you it is rather fun though.

Perfect fit - darn it!

I’m working on a new project. I start with the box and then put things in it and wire them together. My usual approach is to run a 5 hour print for the entire case and then find that some of the holes in it are the wrong size. So today I thought I’d do it properly. I printed out a tiny test print instead. Of course, when I do it this way round the holes are exactly the right size.

Snoopy Calendar

These people are selling Snoopy Calendars. This takes me back. When I was a student we all had ones which we printed on the university mainframe line printer. The best time to print them was at night, otherwise you might get told off for wasting resources. Unfortunately they seem to have sold out. The good news is that I have written a program to create calendars (any year you like). The bad news is that I seem to have lost the punched cards I wrote it on…..

Free Gmail Cleanup Tool - MailStore

I’ve used Gmail as my main mail client for many years. In fact I’ve used it for so long that I’ve filled it up. Google allow you 15 GBytes of storage for your mail messages but if you are in the habit of keeping everything (as I do) then it turns out that after a while you can use it all. You then have the option of tidying up (ugh) or spending some money for storage (double ugh).

Enter MailStore. Mailstore is an app which pulls messages out of Gmail and stores them on your machine. It’s a free download from here. You can install the application along with its data on a drive somewhere and connect it to your gmail account. Then you can pull messages down from your mail and store them locally. It works with Microsoft Outlook and Windows Live Mail and is easy enough to use. It takes a while though, I had to run it overnight to get around 5G of messages down.

How to be a programmer

At the end of the C# Yellow Book I include a few links to useful resources for readers. One of them is to “How to Be a Programmer”, an article I came across many years ago.

I got an email from a reader who’d made it all the way to the end of the book and found that the link doesn’t work any more. I did some digging and I found a link to a free version hosted on GitHub here. You can also buy a proper printed copy, or get it on Kindle by clicking the image above.

It is a really good read. Everyone who wants to be a programmer (or just make things for people) should read it. And then go back and read it again every few years.

Chain Reaction

  1. If I’d not held my hand half an inch too low as I reached over to the toaster I’d not have knocked my coffee cup over.

  2. If I’d not knocked the coffee cup over I’d not have had to grab a cloth to stop the coffee from going everywhere.

  3. If I’d not had to grab a cloth I wouldn’t have moved the milk jug I was holding in the other hand.

  4. If I’d not moved the jug I wouldn’t have sprayed hot milk up the front of the coffee machine.

  5. If I’d not sprayed hot milk up the front of the coffee machine I’d not have had to give it a good clean.

  6. If I’d not cleaned the coffee machine I’d not have jogged a dial that sets the machine to expect ground coffee.

  7. If the machine expects ground coffee it refuses to work until you give it some.

  8. If you try to use the machine and it refuses to work you think it is broken and set about mending it.

  9. If all attempts to mend the machine fail you eventually get around to reading the manual (last resort of the barely competent).

  10. If you read the manual you find that the error display is telling exactly what happens and what you need to do to fix it. Hurrah.

Oh well, at least the coffee machine is cleaner now than it has been for a very long time.

Connecting Wires Artistically

To install the new burglar alarm I had to extend a power supply cable by cutting it and inserting a new piece of cable. It was important to preserve polarity. If I’d got the wires the wrong way round I’d have let all the smoke out of the device and its power supply. Which is a bad thing.

So I cut the wires as you can see above. This meant that it would be very hard to me to join the wires incorrectly. I’m quite proud of this, although it is probably something that everybody else has been doing for years.

Additional bonus: This approach meant that when I added the heat shrink tubing over the top of the joined cable the join made a slimmer lump.

Fun with alarms

Travel the world with ring….

I installed our first burglar alarm a very long time ago. It was the morning after we woke up in the night and went downstairs to find the front door standing wide open. The fact that we were due to head off on holiday that afternoon made it even more exciting. I went down to the local DIY warehouse first thing to pick up a box of bits and a large bell box to go on the front of the house. That alarm worked well until one day it got bored with alarm duties and decided that it really wanted to be a beatbox and filled the hall with clicks and beeps.

The one that replaced it that also performed its duties well, although recently it has been forgetting the time of day and the backup battery inside must be well past its best. So I’ve just fitted alarm system number 3. I bought it in the Amazon Black Friday sales. It was very well reduced. In fact, if I think about it every alarm that I’ve bought has been cheaper than the previous one. In a hundred years or so they will be paying me to take them away. Of course, Amazon is not looking to make a profit on the sale of the hardware. That is so last-century. What it really wants is the 8 pounds a month I will probably end up paying for the monitoring service.

The alarm was very easy to install. The sensors in the basic kit were already connected to the alarm box, the additional ones just needed to have their QR codes scanned to introduce them to the system. I didn’t have to run a power supply to the keypad that goes in the hall. That will run off batteries for a good length of time. You can put the alarm box anywhere you like and you can also wire it directly to your network rather connect over WiFi. There is also a backup mobile phone in the alarm box in case your home falls of the internets.

It is much easier to configure than my earlier alarms were. Rather than making you think about setting up “zones” you just have three modes. Alarm off, alarm on when you’re at home (for example at night) and alarm on when you are out. The modes can be set on a schedule or based on your location. And of course you can configure and manage everything from your phone.

I’m impressed. Although I’m not sure I’ll bother with the stickers.

Forza Horizon 5 is super wonderful

Forza Horizon 5 is awesome. I got round to downloading it onto my Xbox One X over the weekend and it looks amazing. I’m not sure what the latest Xbox will add to the experience, but for now I’m really enjoying zooming round Mexico in a variety of very shiny (at least at the start) vehicles. They’ve don’t seem to have messed with the formula much, just made it all bigger. You start the game by being dropped from a plane in a variety of different cars. The car handling seems spot on to me, with lots of opportunities for off-road action - whether you intend that or not.

The only jarring part of the experience was the return of loading delays to my gaming experience. Spending time playing Ratchet and Clank on the PS5 with its instant start and level swaps has spoiled me a bit. One day I’ll get the latest Xbox, which should improve things a bit. And if you just drive around and admire the scenery as I’ve been doing there’s no loading at all.

If you have an Xbox you should get this game.

Teams Online Presentation Tips

I learned a couple of neat things getting the presentation to DDD yesterday. I’m putting them here so I won’t forget for next time, but you might find them useful too.

How to sort out sound

If you want to play computer audio during your presentation (I did) you can click the “Include Computer Sound” option you’ll find at the top left of your presentation window. Now when you play videos and use programs that produce audio output the viewers can hear you.

If the presentation sound output from your computer sounds a bit quiet, open up the Control Panel, select Sound and then open the Communications tab you can see above. Windows reduces the level of audio outputs from your PC during a call so that messages from other programs don’t intrude too much. You want the programs to intrude, so select the option Do nothing.

Now people can hear all of your PC sounds at full volume, including noises that you might not want during your presentation. But you can tame these by right clicking the speaker icon in your task bar and selecting Open Volume Mixer from the context menu. There you can control the volume level from all the applications on your machine. You can boost the ones you want to hear and quieten the ones you don’t.

How to solve camera conundrums

I like to use a second usb camera on my PC to give close up views of items during a presentation. I just use the Windows camera application for this. If I’m sharing my desktop the viewers can see the camera preview window on my desktop and it all works OK. However, if I’m using Teams it doesn’t work. As soon as I open the video source in a Teams call (so that folks can see me speaking) none of the other camera devices can be picked up by applications on my PC. The only way round this is to turn off video sharing in Teams while I use the second camera and then turn it back on again afterwards. Or at least, that is what I did.

Playing the fool at Developer Day

I did my session at DDD first thing this morning. It was fun. Not sure how many turned up online, but there were enough to make some nice comments at the end. The session was recorded. I’ll post here when it is ready to view.

Then it was time to prepare for my production duties. To do this I had to do some authentication stuff which turned out to be really fiddly. And I made a complete idiot of myself in an hilarious way. I was in a Teams call with Rik who was patiently walking me through the process of connecting to Teams using the right identity.

Rik: “The first step is to log out of your current user ID…”
Rob presses the logout button. Call instantly drops. I could hear the sound of Rik’s face palm all the way from Leeds…. Oh well. I think (hope) he actually found the whole thing rather amusing.

Anyhoo, after a bit more faffing around I was connected and able to produce a session, which was great fun. The whole day was great. It’s a shame that we couldn’t meet up in person, but for this event the organisers set up Discord channels for all the sessions and this worked a treat. It is going to be interesting to see how they can integrate these kinds of things into an in-person conference so that people from all around the world (and we did have quite a few) can take part as they do now with the online versions.

Thanks very much to the organisers for setting up such a great event.