mailto: blog -at- heyrick -dot- eu

Tea v0.07

Version 0.07 was brought to you courtesy of a miserable, rainy, and rather chilly (it's May FFS, why do I feel cold?) weekend.
A weekend in which inordinate quantities of tea were consumed.
A mug of tea in front of a computer monitor
There's always tea...


Version 0.07 brings with it some important changes.

First up, you can now select which region's programming you wish to watch, rather than BBC One / ITV 1 London.
In order to do this, simply enter your postcode (no spaces) in the writable icon in the iconbar menu.

A menu for entering a postal code

If you live in a border area, note that the system may get the regional channels wrong. For example, when I entered the postal code of where I used to live in Ash, it offered me the London channels. My little indoor aerial was pointed towards Hannington for BBC South/Meridian.
The fix for this is to provide the postal code of somewhere you know will be receiving the channels that you want listings for. The postcode shown above (GU46 6FR) is actually the Waitrose supermarket in Yateley. When I lived in Yateley, I used to walk there a lot, I can't speak for now as it's been nearly a quarter century, but back then Waitrose was a good supermarket... but then I guess I'm one of the middle-class Guardian-reading wokerati, right? ☺

Note that changing the postcode will have three effects:

  • The channel list will be entirely recreated.
  • Channels that you have selected and/or given custom names/numbers may 'vanish'.
  • Scheduled programmes may become disassociated.

This isn't a critical thing, and it's obvious why if you consider that the regional channels (say BBC One, ITV, Channel 4...) may well have changed.

The fixes are as follows:

  • For the missing channels, just open the channel list and re-tick them. This will update Tea with the new channel IDs.
  • If you use channel aliases, then once you have readded the missing channels, quit Tea and edit the Alias file to use the new channel IDs. Then reload Tea whilst holding Alt to get the channel list to be recreated and the changes merged in.
  • Finally, if you use the scheduler, you'll need to go to the programmes that you have scheduled and click to add them again if they aren't showing on the grid. They're still around (in the schedule list) so you can refer to them, they simply refer to a channel that you don't have any more.
    Don't worry about having duplicates, because of this situation, Tea will now check for duplicates (same name, same time, same duration) and offer to update the existing schedule (with the new channel ID).

There is some awful fudging going on in the channel list in order to try to present the correct icon for each channel. If the channel ID doesn't match a sprite in the channel idents file, Tea will try a name-based lookup, so if the channel name begins with "BBC ONE" then it will be given the "BBC ONE" logo.
Note that the use of aliases may break this, if the name doesn't begin with the expected text.

The checks are if the channel name begins with...

  • "BBC ONE" then it is BBC 1.
  • "BBC TWO" then it is BBC 2.
  • "ITV1 HD" then it is the HD version of ITV1.
  • "ITV1 +1" then it is the hour-delayed SD version of ITV1.
  • "ITV1" then it is the SD version of ITV1.
  • "Channel 4 +1" then it is the hour-delayed version of Channel 4.
  • "Channel 4" then it is Channel 4 HD.
  • "Channel 5 +1" then it is the hour-delayed version of Channel 5.
  • "Channel 5" then it is Channel 5 HD.

I'm not sure if Channel 5 is regional. Better to support it "just in case".

In order to not over-complicate things, I've added channel logos for BBC Scotland (BBC 1 in Scotland), as well as STV and UTV (ITV1 in Scotland and Northern Ireland).

This, by the way, explains why the scheduler does not attempt to automatically correct itself. If the above process fails, at worst you'll get the wrong icon or a picture of a teacup. There doesn't appear to be a way to obtain a list of all of the internal channel IDs (other than spamming the site with loads of postcodes, which isn't something I wish to do) in order to support a smart translation. This isn't a surprise, really, as the internal numbers aren't intended for us to know... And, no, they are not sequential (ITV1 London is 10005, ITV1 Meridian is 1045...).

You can now shift-click on the "Schedule" icon in the programme information window to unset a schedule.

Anyway, the big two changes are regional support...

Programme information for South Today

...and grouped programme data fetches...

Status of a grouped programme data fetch

Put together, this makes a more capable and responsive Tea. Have fun.

Download (383.42K)
For RISC OS machines.


Tearing down and picking a combination lock

At work, our lockers are secured by four-digit combination locks. Sometimes people leave the company (like seasonal workers and such) and they forget to leave their locker open. So the maintenance guy comes in with a ridiculously oversized pair of bolt cutters and makes easy work of removing the lock.

Which, of course, I recovered.

A discarded combination lock
Something to play with.

This particular lock is an ABUS Jet Set 155.

There are two round 'pins' on the other side that hold the lock together. It isn't possible to undo them, so it required a metal bit to drill out those pins. That done, we can see what is inside.

The lock mechanism
The lock mechanism revealed.

It's actually remarkably simple. Let's tear it down fully to see what all the bits are.

The lock mechanism taken apart
All the bits.

There are three primary parts to this mechanism. The first part is the wheel with the numbers. This is the user-facing part. Inside the wheel with the numbers is another wheel. This has four pins on the outside (that latch into place on the number wheel). The inside has a lip that runs all of the way around except for where there is a groove.
The final part is the shackle. You can see at the back of the photo that it has five pins. The uppermost pin holds the shackle in position in the lock, and the remaining four pins match up with the inner wheel. When the shackle is below the lip, it is held in place and cannot move. When the groove in the lip matches up with the shackle's pin, if all of the numbers match up, the shackle can move and the lock can open.

Finally, the spring and washer at the bottom end puts tension on the shackle and inner wheels if you try to press the shackle beyond the normal closed position. This is possible with the lock open and swung out to one side. Why would you do this? Well, it presses all of the inner wheels downwards disengaging the four pins from the numbers. This means you can freely turn the numbers, and when you release pressure on the shackle, the spring will push everything back into place. The inner wheel pins will reengage with the number wheels and... you've just changed the code to the code you wish to use.

Let's take a closer look at the two wheels, this will make things clearer.

The two wheels
The two wheels.

Here is looking into the lock mechanism with all of the wheels lined up. This is not the open position, the grooves have been lined up along the bottom so it is easier to see. The actual unlock position is with the groves to the left (or a quarter turn clockwise).

All of the grooves lined up
All of the grooves lined up.

Now we know how it works, can we work out how to pick it?

You'd think with such a simple mechanism that it would be a matter of just pulling on the shackle really hard and just forcing each number until it clicks into place. The theory is perfectly understandable, but this lock seems to be fairly resistant to such a simple attack as that. That's perhaps because this lock costs about €20 so it's not that bad.

The often-quoted method is as follows:

  • Apply some pressure to pull on the shackle, but not too much.
  • Find the number that is the stiffest. Turn it one place and then check the other numbers. If they have become stiffer, then the number you're turning is correct. There may or may not be a faint click when that number gets into place.
  • Repeat for the second and third numbers (picking the stiffest each time).
  • For the final number, just brute force it, there are only ten possibilities.

The above has never worked for me, but then I'm hardly an experienced lock picker. Maybe there's something subtle that I'm just not noticing.

Luckily, there's a Plan B that can get the lock open in about a minute, and it's dead easy. No, really.

To understand how this works, let us go back and take a closer look at the inner wheel again.

The inner wheel
The inner wheel.

What ought to stand out for you here is that dinky little notch. I'm just going to guess that it helps when building this lock to have the wheels all correctly lined up on the default 0000 position (which is a lot more customer friendly than saying "your guess is as good as ours").
It is, however, a fatal flaw.

If you have an older lock, quite often the casing starts to open from use and abuse (like dropping the lock onto a solid floor too many times). So simply look down into the lock and line up all of the little notches, as shown in the picture. Then subtract two from each number, and the lock will pop open.

Lining up the notches visually
Lining up the notches visually.

If you have a newer lock, you probably won't be able to see inside it. In this case, bust out your mother's (or wife/girlfriend's) sewing kit and find the thinnest needle you can. Gently insert it into the lock between the first and second digits. Note that this will force the metal apart slightly, so it isn't an entirely undetectable thing to do.
Anyway, feel for the gap between the inner wheel for the first numbers and the inner wheel for the second numbers. When you have found that, move the needle to about 45 degrees to press gently against the first inner wheel. Then turn the numbers until you can feel the notch come into place.
Repeat for the second and third numbers. In the photo below, I'm checking the second number wheel.

Feeling for the notch
Feeling for the notch.

When you have the first, second, and third notches in position, subtract two from each number.
For the final notch, don't bother. It's harder due to how the lock is built, and therefore less bother to simply brute it. Then the lock will pop open.


Take this as a warning that these locks are best used for low security applications. They aren't that hard to get open. But, then, when people have stolen cash and/or cigarettes from lockers, they usually do so by grabbing a small gap in the door and yanking it open. So better locks aren't necessarily more secure.



Your comments:

Please note that while I check this page every so often, I am not able to control what users write; therefore I disclaim all liability for unpleasant and/or infringing and/or defamatory material. Undesired content will be removed as soon as it is noticed. By leaving a comment, you agree not to post material that is illegal or in bad taste, and you should be aware that the time and your IP address are both recorded, should it be necessary to find out who you are. Oh, and don't bother trying to inline HTML. I'm not that stupid! ☺ ADDING COMMENTS DOES NOT WORK IF READING TRANSLATED VERSIONS.
You can now follow comment additions with the comment RSS feed. This is distinct from the b.log RSS feed, so you can subscribe to one or both as you wish.

John, 5th May 2024, 19:13
Whilst I'm not known for excessive political correctness,"bust out your mother's (or wife/girlfriend's) sewing kit and find the thinnest needle you can" makes quite a number of assumptions about gender roles which some could find really offensive, and are in fact totally unnecessary. You just mean "find the thinnest sewing needle you can" which has no such content. Why not just say this? 
I mention it because you generally write such a lot of informative and enjoyable stuff, but this stood out for me as being totally inappropriate in this modern age.
Rick, 5th May 2024, 20:22
Hmm... And there I was holding my mother's sewing kit. 
While it's perfectly possible for a man (can I say man? how about Y-chromasote? [*]) to sew, it is still largely a female activity. Zippia's US demographic says that 84.3% of females sew vs 15.7% of it's not an unexpected assumption. 
* - I made that word up to describe a person carrying that chromosome.
David Pilling, 6th May 2024, 02:57
Trigger warning kids. There was such a thing as a 'housewife' which soldiers and sailors had. It was a sewing kit, for men who have to sew. 
jgh, 6th May 2024, 19:21
Of course I have a sewing kit. How would I extend the life of my trousers by patching the pockets?
jgh, 7th May 2024, 22:26
"enter your postcode (no spaces)" 
That's one of my real bugbears with computer interfaces. If your internal system processing needs a string without spaces (or non-digits for phone numbers or credit card numbers, etc.), then *the* *software* should strip out when it doesn't need and let the user enter them as the user wants to enter them. The user should be allowed to enter GU44 6GF or 0114 299 9999 or 020 8811-8055 or 5464-1234-4321-1234. 
Rick, 8th May 2024, 00:55
It's a fair point, jgh. The reason I say "no spaces" is primarily because a UK postcode can be up to 7 characters which, with termination, fits nicely into two words of memory (the buffer used by the menu). This data is then stored in the settings and is directly passed to the host site (that expects postcodes without spaces). 
The validation string accepts A~Z and 0~9. It may also accept a~z, but I'm not sure if it should, postcodes are always upper case aren't they? 
At least my postcode entry is clear (just no space). I ran into a problem with my cancer test results as I wasn't able to enter my health card number. It refused it without spaces, it refused it exactly as written on my Carte Vitale (groups with spaces). I finally managed to get it accepted by a lot of trial and error but the form failed but decided it wasn't going to tell me why so I gave up. 
My real bugbear is not system friendly formatting (like enter your credit card number without spaces), no, my massive bugbear is when something expects you to enter something in a highly nonstandard way and does *not* indicate how (consider, credit card number in groups of 4 = normal; credit card number in groups of 3-3-3-3-4 = WTF? ). 
jgh, 8th May 2024, 19:37
...or when the TAB order is all wrong and you enter your card number, TAB, start entering the next entry but the focus has jumped to somewhere random. And of course you don't realise because you're looking at the **** card where the **** numbers are, *not* the screen. 
Or instructions that go backwards. Just an hour ago I've had to mentally reverse "the Order link, in the Other options menu, in the Quick Links menu, in the transcations screen, in your accounts". DAMMIT!!!! TIME DOES NOT GO IN THAT DIRECTION. ACCOUNTS -> TRANSACTIONS -> QUICK LINKS -> OTHER -> ORDER. 
The validation string should be "any text", then the code should do something along the lines of: 
IF (MID$(A$,A%,1)<"0"ORMID$(A$,A%,1)>"9") 
(MID$(A$,A%,1)<"A"ORMID$(A $,A%,1)>"Z") 
(snipped from my 'Phone_FromStr()' library routine :) ) 
Rob, 12th May 2024, 21:56
.. Web forms that object to a trailing space on an email address, such as you get it you let autocomplete fill it in for you.. 😡

Add a comment (v0.11) [help?] . . . try the comment feed!
Your name
Your email (optional)
Validation Are you real? Please type 52276 backwards.
Your comment
French flagSpanish flagJapanese flag
«   May 2024   »

(Felicity? Marte? Find out!)

Last 5 entries

List all b.log entries

Return to the site index



Search Rick's b.log!

PS: Don't try to be clever.
It's a simple substring match.


Last read at 21:45 on 2024/07/22.

QR code

Valid HTML 4.01 Transitional
Valid CSS
Valid RSS 2.0


© 2024 Rick Murray
This web page is licenced for your personal, private, non-commercial use only. No automated processing by advertising systems is permitted.
RIPA notice: No consent is given for interception of page transmission.


Have you noticed the watermarks on pictures?
Next entry - 2024/05/07
Return to top of page