Sleuth
/I’m reading a murder mystery at the moment. I think the killer is the husband. I’ll let you know if I’m right.
Rob Miles on the web. Also available in Real Life (tm)
They say a journey of a thousand miles starts with a single step. Does that mean that a journey of two thousand miles should start with two steps?
I love creating physical objects directly from Python code. This tip makes it really easy and immediate. If you use the default desktop arrangement for FreeCAD you find yourself flipping between the part view and the code view, which is a bit of a pain. So, what you do is this:
Make sure that you have the code that deletes old elements on each run (see FreeCAD Tip 1).
Select Windows>Tile from the main menu.
Move your views of the code and the CAD workspace so that you can see them both comfortably.
Now, when you run the code you will see your design update right in front of you. No need to open a different window.
This works even if you have zoomed into a particular part of the view.
FreeCAD is a fantastic CAD program which provides access to all the drawing elements from Python. I use it a lot (I might be the only one). Perhaps I should write something all about it. For now though, here’s a tiny bit of code that’s very useful.
# Delete all existing objects in the document
for obj in doc.Objects:
doc.removeObject(obj.Name)
This allows you replace existing code generated objects with new ones so your workspace doesn’t fill up with stuff. This is useful if you are making objects with software:
frame = Part.makeBox(width, height, depth)
The statement above makes a frame as a 3D object with a particular size. This is a 3D object, but at the moment it isn’t part of a design document. So, let’s make a document:
doc = App.ActiveDocument or App.newDocument("Frame")
This statement makes a new document called doc. Better yet, it only makes a new document if we don’t already have one. Now we can add our frame to the document:
frame_obj = doc.addObject("Part::Feature", "Frame")
frame_obj.Shape = frame
The first statement above adds a feature to the document. the second sets the shape on this feature to the frame that we created. Great stuff. But if you re-run the program you get another feature. Which you don’t want. That’s why the statements at the top are so useful. They work through the document and clear away everything so that you can add new versions.
I keep getting emails about jobs in Denver. The latest one is for a Dockworker and is worth $176,400 per year.
So tempting.
Of course I took a camera. Or two
We went to Driffield Steam Fair today. The weather was kind to us. Although the wind kept blowing smoke and cinders our way when a traction engine went past. Not what you want when you are changing the lens. Anyhoo, it was great. Lots of pictures were taken.
They had cars too
If you ever decide to go (and you should) take a couple of folding chairs two with you. Then you can set up “base camp” alongside the arena and one of you can go off and take lots of pictures, returning every now and then to swap lenses and bring drinks for the other one. Great fun
I took a bunch of other pictures. You can find them here.
Airplane is one of the best movies of all time. The Police Squad TV show that followed was at least as good (despite only lasting six episodes). The Naked Gun movies were pretty good too. As were the Red Rock Cider ads. And now we have Naked Gun 2025. We went to see it last night and it was great fun. It doesn’t have the relentless pace of gags that we’ve seen in earlier movies, but everybody plays their part really well, especially Liam Neeson. The story is nicely done (I think that even a daft movie needs a plot) and some of the set pieces are really good. Well worth a look.
YOu can get other colours too - but Iv’e not tried them
I’ve been meaning to play with Cyanotype printing for a while. You can buy the paper quite cheaply and using it is easy enough. It works as very slow film. Put something on top of a piece of the paper, expose it to light for a while (sunlight or uv light works best) and then wash the paper under the tap until an image appears. Parts of the paper that were exposed to light turn dark blue. Covered parts stay white.
The picture on the bottom right of the image above was created by putting some Lego tiles on a sheet of the picture and then leaving it on the windowsill for a while. You get a kind of “reverse shadow”. This works well with leaves, flowers and anything else that makes a nice mask.
So of course the next thing to do is put a black and white negative in front of the paper and expose that to light. So I dug out negatives from some pictures I took last year, borrowed a printing frame (it holds the negative tightly against the paper) and off I went.
Exposure is interesting. A really “thick” negative (one that was taken in bright light and has lots of dark silver emulsion on it) can take quite a while to expose. Particularly if the sun goes in half way through exposure. Thinner negatives (ones taken in darker situations) need a lot less time. The best way I’ve found to judge exposure is to peel back the paper from the negative and check what it looks like. The printing frame has a hinged backplate that lets you take a sneak peek at the print without moving it. If you can barely see the outline of the image this would be a good time to “develop” the picture under the tap. If you can see a very visible image this means that when you develop the picture the image will disappear to be replaced by a sea of white.
I took the pictures above with a Pentax 67 camera which produces negatives which are 6x7 cm in size (hence the name). These produce reasonably sized prints with a surprising amount of detail. The thing I really like about them is that these are completely analogue. There is no digital image processing at all, other than the shot I took to put the pictures on the blog.
What I really want is a frame which lets me take by lovely big 4x5 inch large format negatives and contact print those. Unfortunately I can’t find such a thing at the moment.
Note: I don’t think that cyanotype paper is in any way particularly poisonous, particularly once it has been “developed” under running water. But I wouldn’t give it to anyone who might feel inclined to lick or eat it.
Agent Orange heading for home…
We are making progress with our robot rugby players. This evening Brian managed to get his arena manager to detect a robot and its home square and then send the robot back home. Next step is to make that happen for all the robots in a match, which should be fun to watch….
It looks cute, but it is very plastic
Today I did something that I don’t do very often. I got rid of a camera. I’d read a few breathless reviews of the Fujifilm X-Half and these had convinced me that a less serious photographic device would make for a great picture taking experience. Well, yes and no. But mainly no.
When it arrived I was a bit taken aback at how plastic the experience was. I’ve used cameras with plastic bodies but most of these have metal controls. Not so with this one. Everything you touch is plastic. There’s nothing particularly wrong with this, but for the price I’d expected something a bit better.
The thinking behind the camera is that less is more. By removing distractions and providing the controls of a film camera the idea is that you focus on the pictures, rather than the mechanics of photography. It works up to a point. Outside in good light the camera takes nice enough pictures and the range of film simulations and special picture effects is quite fun. However, inside in poor light the image quality falls apart quicker than a cheap suit, and the flash is a puny LED which doesn’t really do much. I quite liked the simplicity, but I was irked by the thought that if I’d had a different camera with a few more controls with me I could have done things to make the pictures better.
There’s a special “film roll” mode where you can’t look at the pictures you’ve taken until you’ve finished a “roll”. This is quite fun and even includes the experience of having to wind-on after each shot. However, it also restricts you to the rather poor optical viewfinder and the winding-on business gets tiresome quickly.
To view your “camera roll” pictures you’ve taken you have to “develop” them on your phone. You get to watch each image appear as it is copied from camera to phone, and the camera makes a nifty “contact print” of all shots on the roll, but it isn’t really worth the hassle. Other observations:
Battery life is great (it uses a proper sized battery) and the camera takes full-sized SD cards which is nice - although there isn’t a memory card in the box. You charge the battery in the camera via the camera’s usb port. No charger is supplied.
You can manually set the aperture and have the camera set the shutter speed. You can also manually focus the lens, but good luck with that on the tiny oled screen (which is hard to see in bright sunlight).
The camera has a rubber lens cap which is a pain to take on and off. The lens underneath is nice and sharp in good light though.
There is a little inset “film window” on the back next to the display which pretends to show the back of the film cassette in use. This seems quite nifty until you realise that the rear screens are crops of a larger panel that they could have made completely visible for a much larger view.
There are hardly any buttons on the back. Everything is controlled by touching and swiping which doesn’t work very well (at least for me).
The camera only produces compressed JPEG images (and quite ropey ones too when you look close). You have no chance of fiddling with RAW sensor images.
You can’t combine film simulations and special camera modes, unlike on the far superior Instax wide Evo (which also takes instant pictures)
If you need to be on the cutting edge of Fuji-fashion the camera is nice enough, and if it was half the price it would be a lot more compelling. Me, I’m swapping my tiny ex X-Half for a great big Hasselblad lens which I think I’ll have much more fun with.
If you want a fun little camera to carry about which takes amazing pictures, provides support for RAW images, is made of metal, has a proper viewfinder and costs a lot less you should get yourself a second hand Lumix LX100 It doesn’t have a built-in flash, which is sad, but it does come with a tiny electronic flash you can fit on the top which works really well.
Back in the day I had a way with the typewriter…
After my recent purchase of an old Hi-Fi system I’ve dug out a bunch of nearly fifty year old cassettes I recorded back in the 1970’s. Now, you might have heard that old tape falls apart, loses its signal and all the oxide comes off. Not in my experience. All the tapes I’ve tried so far work fine. My particular favourites are the things that I recorded from the weekly chart show. They have survived perfectly, complete with FM static and extra interference when a car drove past the flat or the chap upstairs turned on his hairdryer.
If you happen to have a bunch of old cassettes lying around I’d strongly advise you to dig them out and have a listen.
I was doing some work on a robot and needed somewhere to put the bolts I’d taken out. Turns out the wheel does a perfect job….
If you’ve ever wanted to keep your lights flickering while your PICO-W connects to Wi-Fi this post is for you. For anyone else, just enjoy the picture.
The problem I had was that the WiFi.begin method in the Raspberry Pi PICO-W Arduino framework is blocking. In other words, when I call the method to connect to Wi-Fi execution returns after the connection has been made, blocking any other calls. And my lights stop flickering. Which I don’t like.
I spent lot of time with ChatGPT trying to write an asynchronous version of the begin method for PICO. I learned a lot and I was on the point of getting something working (probably) when I noticed a little method called beginNoBlock hidden in the PICO Wi-Fi library. Turns out that this does exactly what I want. All I had to do was call this method instead of begin and it all just worked. I’ve added this to the latest release of the framework at https://github.com/connected-little-boxes/HullOS-Z
That didn’t go too well
If you have a steering wheel (or even if you don’t) I can strongly recommend the BeamNG driving simulation. It really is great fun. As a game it doesn’t have the depth of full price ones like Forza, but it does have impressive physics and gives you a highly realistic gear change action, even down to the damage you do to the gearbox if you get it wrong. The game is not based on any particular car designs (although a lot of them look very familiar) which means that the cars can be crashed and bashed out of shape as much as you like.
There is on-road and off-road action and a whole bunch of scenarios, including one where you have to escape lots of tiny Italian police cars in an experience that brings back fond memories of the wonderful “Driver” game for PlayStation One.
And it is refreshingly cheap at less than 20 pounds on Steam. Great stuff.
The August 2025 edition of Raspberry Pi magazine is now in the shops and available for download. I’ve written a couple of articles for this one. Inside you can find my deathless prose about using a Raspberry Pi as a desktop replacement (which works rather well) and storing settings in embedded Python apps.
Not sure how this makes my steering wheel work better….
I like my Logitech G29 steering wheel and it works well. However, since I installed the G Hub application that lets me configure it I’ve had Discord asking if Logitech can have access to my account. The access is fairly limited, but even so, I don’t see why I should have to do this. I went to a Tech Session a while back that made the point that data is the most valuable commodity on the planet at the moment. So I guess this is just part of the price of things now.
The gear lever is worth the extra cash
The Logitech G29 steering wheel is a good option if you fancy a bit of force feedback with your digital driving. It frequently pops up heavily discounted. The PlayStation version works with Gran Turismo but also with the Forza games on your PC. The only problem I’ve had with it is that the buttons are a bit hard to understand. The game asks you to press buttons and you have no idea which one does what. I’ve spent a while fiddling with it and made this little map.
Button # | Label | In-Game Mapping | Notes |
---|---|---|---|
0 | X | Forza 1 | Confirm |
1 | Square | Forza 2 | View |
2 | Circle | Forza 3 | Back |
3 | Triangle | Forza 4 | Rewind |
4 | Right Paddle | Forza 5 | Shift up |
5 | Left Paddle | Forza 6 | Shift down |
6 | R2 Pedal | Forza 7 | Accelerator |
7 | L2 Pedal | Forza 8 | Brake |
8 | Sunrise Button | Forza 9 | ESC in G HUB |
9 | Hamburger Button | Forza 10 | ENTER in G HUB |
10 | R3 | Forza 11 | |
11 | L3 | Forza 12 | |
12 | 1st Gear Button | Forza 13 | |
13 | 2nd Gear Button | Forza 14 | |
14 | 3rd Gear Button | Forza 15 | |
15 | 4th Gear Button | Forza 16 | |
16 | 5th Gear Button | Forza 17 | |
17 | 6th Gear Button | Forza 18 | |
18 | Reverse Gear Button | Forza 19 | |
19 | Plus (+) Button | Forza 20 | |
20 | Minus (–) Button | Forza 21 | |
21 | Red Dial Right | Forza 22 | |
22 | Red Dial Left | Forza 23 | |
23 | Red Dial Press | Forza 24 | |
24 | PS Logo Button | Forza 25 | MAP |
Direction | Forza Device Mapping | Function |
---|---|---|
Left | Device 1 SW 1 | LEFT |
Right | Device 1 SW 2 | RIGHT |
Up | Device 1 SW 3 | UP |
Down | Device 1 SW 4 | DOWN |
The left-most column is the button number as far as the steering wheel device is concerned. The label tells you which button it is on the wheel. The “In game mapping” column gives the button numbers in Forza and finally the right hand column gives you notes for useful in-game functions.
I’ve used the G Hub application to map two steering wheel buttons to ESC and ENTER, so that I can use the wheel without needing a keyboard.
Ready for firing
Apparently outings where you do stuff are now the thing. With this in mind, I recommend Pots on Pier Street off Humber Street in Hull. We did some pottery painting a while back in Leeds, which was great fun, and now we can do it much closer to home. We went along this afternoon.
The setup is great, the support impressive and I got the chance to make a black bun version of my previous work.
On the box it says Flip 7 is “The greatest card game of all time!”. I think that they are pushing their luck with that statement, but since that is what the game is all about, it is probably fair enough.
You use a special deck of cards. Most of the cards are numbered from 0 to 12. There are 12 cards numbered 12, 11 cards numbered 11 and so on. There is one zero card, which kind of breaks the pattern, but there you go.
There are also special cards, some of which give you free points, others let you inflict things on other players or give you protection against “busting”.
You “bust” when you pick up a card with a number which matches a card you already have. So getting a 12 card is good news score-wise, but bad news in that there is are plenty of other 12 cards out there that can ruin your round if you get another one.
During a round the dealer will ask you whether you want to get another card or stick with your score. A round ends when everyone is either bust or happy with their lot. Then all the cards go onto the discard pile and another round starts.
Each round score is added to your total until someone tops 200, when they win. Oh, and if you manage to get seven number cards in your hand you get a special bonus.
The luck pushing element is finely judged, and some of the special cards can be quite fun, particularly the one you can use to force another player to draw three cards. Good fun, and works with a large number of players - which is great.
Took the big camera into the garden today. Totally worth it.
Rob Miles is technology author and educator who spent many years as a lecturer in Computer Science at the University of Hull. He is also a Microsoft Developer Technologies MVP. He is into technology, teaching and photography. He is the author of the World Famous C# Yellow Book and almost as handsome as he thinks he is.