In April the four of us - me, Carolyn, Aidan (7), and Megan (5) - spent a week in Northumbria. We stayed just south of Berwick, and had a fabulous time. Here are some of the things we did, in no particular order.
Walking along the beach, looking in rock pools and marvelling at the geology of the skerrs at Cocklawburn Beach.
Playing in the playground and eating icecream on the promenade at Spital.
Staying in a cottage at North Ancroft Farm. Green fields in all directions, and the light of Lindisfarne winking in the twilight.
Exploring the treasures of Bamburgh Castle. It felt like a European castle - still full of art, function, accessories, and history. The archaeology room's Norse games caught Megan's and my attention too.
Learning the history of Oswald and Aidan, at Lindisfarne.
Walking in the Northumberland National Park. We had a very windy walk to Linhope Spout waterfall.
Exploring the multitudinous activities of Cragside (National Trust property) - especially the labyrinth, the gardens, and the inventor's house.
And here are some things that were recommended to us, which we'll try next time:
Tuesday, 31 May 2011
Thursday, 26 May 2011
Android recovery
I had to back up C's HTC Desire phone today, with a broken screen. A bit challenging - how to start random applications on Android without any feedback? adb to the rescue, plus my identical phone. Going through the sequences in parallel on both phones helped me know where to touch.
First, make sure USB debugging mode is turned on. Unlock, make sure you're at the home screen, and press Menu, then Settings. Scroll to the top of the list (it comes up at the last place you were at, which caught me out), then down to reveal Applications. Press it, and then Development, then USB Debugging, then OK.
Now fire up adb. Thanks to Bhayangkara for the recipe!
am start -a android.intent.action.MAIN -n com.riteshsahu.SMSBackupRestore/.FreeMain starts up the SMS backup/restore program (make sure you installed it already!). Press Backup, etc.
am start -a android.intent.action.MAIN -n com.android.demo.notepad3/.Notepadv3 starts up the Notes program. Press Menu, Backup.
In general, start the app on the working phone, then use your favourite log viewer to look for "Starting activity: Intent..." to figure out the right activity to pass to am start.
Now all you want is on the SD card - back it up.
Phew! Now all we need to do is send it off for repair. Fingers crossed!
First, make sure USB debugging mode is turned on. Unlock, make sure you're at the home screen, and press Menu, then Settings. Scroll to the top of the list (it comes up at the last place you were at, which caught me out), then down to reveal Applications. Press it, and then Development, then USB Debugging, then OK.
Now fire up adb. Thanks to Bhayangkara for the recipe!
am start -a android.intent.action.MAIN -n com.riteshsahu.SMSBackupRestore/.FreeMain starts up the SMS backup/restore program (make sure you installed it already!). Press Backup, etc.
am start -a android.intent.action.MAIN -n com.android.demo.notepad3/.Notepadv3 starts up the Notes program. Press Menu, Backup.
In general, start the app on the working phone, then use your favourite log viewer to look for "Starting activity: Intent..." to figure out the right activity to pass to am start.
Now all you want is on the SD card - back it up.
Phew! Now all we need to do is send it off for repair. Fingers crossed!
Sunday, 8 May 2011
Sorting MP3s on a Sony Walkman NWZ-B152 player
I bought an MP3 player yesterday for the kids, for bedtime music. They're currently using an old Nokia phone, but it's a bit broken and hard to navigate and the internal speaker isn't that great. The new plan is to wire a line in socket to an old CD/radio and attach the MP3 player to that.
I got a Sony Walkman NWZ-B152 from Tesco because it was on special and they have a Double Points deal (though that took some negotiation in the end!). The documentation all assumes you're using the latest OS from Microsoft. I'm using Ubuntu Linux, but I figured that shouldn't be a problem.
The device supports USB Mass Storage, but when I copied some MP3s onto it, the tracks in each album came up in random order. I tried adding ID3 track number tags with eyeD3, and they still came up in random order - but a different random order this time. Bizarre.
Finally this morning I worked it out. The Sony player sorts on the ID3v2.3 track tag only - if there's an ID3v1.0 track tag, it ignores it. And eyeD3 sometimes uses one flavour and sometimes another.
Simple fix: in my encoder script, add
I got a Sony Walkman NWZ-B152 from Tesco because it was on special and they have a Double Points deal (though that took some negotiation in the end!). The documentation all assumes you're using the latest OS from Microsoft. I'm using Ubuntu Linux, but I figured that shouldn't be a problem.
The device supports USB Mass Storage, but when I copied some MP3s onto it, the tracks in each album came up in random order. I tried adding ID3 track number tags with eyeD3, and they still came up in random order - but a different random order this time. Bizarre.
Finally this morning I worked it out. The Sony player sorts on the ID3v2.3 track tag only - if there's an ID3v1.0 track tag, it ignores it. And eyeD3 sometimes uses one flavour and sometimes another.
Simple fix: in my encoder script, add
--id3v2-only. Or if, as in my case, you've already copied loads of MP3s across and don't want to repeat it, in your fixup script add --to-v2.3. Et voilĂ , track sort order works at last!
Monday, 13 December 2010
X Factor 2010 Vote Analysis
Once again, here's the voting data for X Factor 2010 (from the official PDF). I've normalised it according to the number of contestants each week: if there are 5 contestants, then -1 means no votes, 0 means 20% (i.e, even split), 1 means 40%, etc. In week 10, there were were two "splits" before the final vote, and the numbers include all votes for all four finalists, even though in split 2 and the final some contestants were no longer eligible.
Here's the spreadsheet.
Here's the spreadsheet.
Friday, 30 July 2010
Archiving RockYou slideshows
Aidan's amazing primary 2 teacher keeps a class blog, which is full of lovely slideshows of pictures of the class and what they're up to (mostly taken by the kids themselves - the "media team"!). It's fabulous, but I'm really worried about how long it will stay up once the year is over. I decided to do some digging, and work out how to archive the slideshows.
Of course, they're in Flash - courtesy of RockYou. And saving a Flash to your computer (even if you can do it) doesn't get you very far - it downloads all the images from the internet as it goes.
Thanks to the fab (and free in both senses) WebScarab (like Fiddler, but it works on Linux too), I was easily able to watch what happens when a slideshow is played on a browser with an empty cache. Here's what I found:
The blog source contains an <embed> link to a URL like this:
This Flash app loads some more apps and a few beacons and things, but the most important thing is this:
This is a nice little XML file with a /rockmyspace/gallery element that has basic style, colour, and transition information as attributes, and as content has a list of slide elements. Each of these has an image element - the URL to the image - and a text element - the caption. Here's an example:
And that's all you need!
To summarise:
Of course, they're in Flash - courtesy of RockYou. And saving a Flash to your computer (even if you can do it) doesn't get you very far - it downloads all the images from the internet as it goes.
Thanks to the fab (and free in both senses) WebScarab (like Fiddler, but it works on Linux too), I was easily able to watch what happens when a slideshow is played on a browser with an empty cache. Here's what I found:
The blog source contains an <embed> link to a URL like this:
http://apps.rockyou.com/rockyou.swf?instanceid=<NNmmmDDDD>&ver=102906
This Flash app loads some more apps and a few beacons and things, but the most important thing is this:
http://data.rockyou.com:80/xml/<NN>/<mmm>/<NNmmmDDDD>.xml
This is a nice little XML file with a /rockmyspace/gallery element that has basic style, colour, and transition information as attributes, and as content has a list of slide elements. Each of these has an image element - the URL to the image - and a text element - the caption. Here's an example:
<slide>
<image path="http://img<YYY>.rockyou.com/<NNm>/<NNmmmD>/<NNmmmDDDD>/<NNmmmDDDD>_<xxxxxxxxxxxxxxxxxx>.jpg" />
<text text="Isn't this a cool photo?" />
</slide>
And that's all you need!
To summarise:
- Determine the instanceid of the slideshow.
- Download the corresponding XML file.
- Read the XML file, looking for /rockmyspace/gallery/slide/image elements. (May not always be gallery - I've seen other values here).
- Download the images.
- Read the captions from the corresponding text elements.
Tuesday, 15 June 2010
Transferring calendar and contacts from Nokia to Google
I recently upgraded my lovely but old-fashioned Nokia N73 to a shiny new Android - the HTC Desire. It's a great phone, but I have hundreds of events, contacts, tasks, and notes in the N73. How to get them across?
Well, there are a few ways *not* to:
I haven't yet worked out how to move my tasks or notes across.
Well, there are a few ways *not* to:
- Don't follow Google's advice and install Mail for Exchange on the old phone, pointing it to your Google account. This didn't work for me - 'connection failed'.
- Don't follow Orange's advice and put your new SIM in your old phone and save your contacts too it. Good stop-gap, but all entries are truncated and case-smashed.
- Don't try registering for Orange Sync. The website hung for me at the registration screen.
- I used Nokia PC Suite 7.0.9.2 on Windows Vista.
- Do a full phone backup before you start! It's too easy to sync the wrong way and wipe everything.
- In PC Suite, make sure your phone is not set to auto-sync on connection.
- In Windows Calendar (not Windows Live Messaging calendar), create a new calendar and deselect all the others.
- Choose the Contacts menu option, which dumps you in Explorer with some shell extension running.
- Delete any contacts that are here already (if you care about them, save them first).
- In PC Suite, create a new sync setting. Sync calendar and contacts, to Windows Vista Calendar and Contacts, choosing the calendar you named earlier. Choose 'advanced', and set conflicts to prefer phone and one-way sync from phone to PC.
- Do a sync.
- Go to Windows Calendar, make sure only your new calendar is selected, and export it as an .ics file.
- Choose the Contacts menu option, select all contacts, and save as a folder of vCard files.
- In the command prompt, go to the folder and type
for %f in (*.vcf) do type %f >>all ren all all.vcf
- On your PC, log into Google and go to Calendar. Go to Settings, Calendar Settings, Calendars, Import Calendar. Click Browse and choose the .ics file you saved earlier.
- Now go to GMail. Go to Contacts, Import. Click Browse and choose the all.vcf file you saved earlier.
- On your phone, go to Settings, Accounts and Sync, Google, and sync your contacts and calendar.
I haven't yet worked out how to move my tasks or notes across.
Tuesday, 5 January 2010
Fixing the Swan Teasmade backlight
We love our Swan STM100 Teasmade - two fresh cups of tea, in bed, whenever we want. But like many other people, we found the blue backlight far too bright - so bright it disturbed our sleep.
I got a bit tired of covering it up with a cloth every night. Here's how I fixed it properly - the Gurunoia Teasmade backlight mod.
How to turn off the blue backlight on a Swan STM100 Teasmade
Note: this modification will void your warranty, can expose you to dangerous electrical voltages, and may ruin your Teasmade permanently. I've documented what I did to my machine here for information only - follow at your own risk.
The Teasmade is well put together and solid, but it seems to have rather more screws than strictly necessary. The module is a bit tricky to remove and replace, but everything else is straightforward. You'll need a crosshead screwdriver, a craft knife, and a bit of patience.
1. Start by removing all 10 exposed screws from the base of the Teasmade. Then remove the base. All these screws are the same length.
2. Hold the Teasmade upside down with the clock facing away from you. Identify the large flat module that contains the clock, buttons, and controller. In a moment you'll be sliding this out.
But first, slide out the thin rectangular grey heat shield between the boiling chamber and the module. You'll need to flex it a little and push the wires out of the way to do this. It slides straight up.
3. The module is held in by two screws - one on top at the right, and one down the bottom at the left. Remove both screws. The two screws are identical, but different from the first set - they have a built-in flange.
4. Now very carefully slide the module up and out. This is a bit tricky, since you have to do several things simultaneously:
6. The clock face is backlit by four blue LEDs at the corners of the main board (KC-800-PC-V1.0). These are wired in series and controlled by a single transistor (TR2) driven by the microcontroller.

To disable the LEDs, all you need to do is break the connection anywhere in this chain. I chose to cut the trace at the top of the board, between the first and second LEDs. Use a sharp craft knife to cut through the green mask and the copper trace, into the fibreglass board. Go over it a few times to make sure it's completely severed.
You can reverse this later by bridging the gap by soldering a wire across it (or across the nearest LED terminals, which may be more convenient), or you could try dimming the display rather than disabling it completely by using an appropriate resistor.
7. Replace the module cover and attach with the 12 screws.
8. Slide the module back in.


9. Slide the heat shield back into place. Be sure the wires are kept as much as possible behind the heat shield, so they are not exposed to the heat of the boiling chamber.

10. Replace the bottom cover, taking care to fit the power cable filter and grommet correctly into the bottom cover. Attach with 10 screws.
You're done! Power up and check everything still works. Result: a Teasmade you can leave on without disturbing your sleep, until it's time for that trademark whooshing gurgle! The clock face is easily readable without the backlight, and anyway you probably already have a bedside clock.
It would be great to have the backlight just come on when needed - say when you pressed a button. Please post if you know how to reprogram the microcontroller (it says something like "Elan EM78P808BAAQJ 07307 BG07782" which is presumably the Elan EM78P808).
Please let me know if you try this. Comments and corrections welcome!
I got a bit tired of covering it up with a cloth every night. Here's how I fixed it properly - the Gurunoia Teasmade backlight mod.
How to turn off the blue backlight on a Swan STM100 Teasmade
Note: this modification will void your warranty, can expose you to dangerous electrical voltages, and may ruin your Teasmade permanently. I've documented what I did to my machine here for information only - follow at your own risk.The Teasmade is well put together and solid, but it seems to have rather more screws than strictly necessary. The module is a bit tricky to remove and replace, but everything else is straightforward. You'll need a crosshead screwdriver, a craft knife, and a bit of patience.
1. Start by removing all 10 exposed screws from the base of the Teasmade. Then remove the base. All these screws are the same length.
2. Hold the Teasmade upside down with the clock facing away from you. Identify the large flat module that contains the clock, buttons, and controller. In a moment you'll be sliding this out.
But first, slide out the thin rectangular grey heat shield between the boiling chamber and the module. You'll need to flex it a little and push the wires out of the way to do this. It slides straight up.
3. The module is held in by two screws - one on top at the right, and one down the bottom at the left. Remove both screws. The two screws are identical, but different from the first set - they have a built-in flange.
4. Now very carefully slide the module up and out. This is a bit tricky, since you have to do several things simultaneously:
- Flex the front panel away from the buttons (you need to use considerable force for this, but don't use any tools or you may mark the panel).
- Depress the buttons so they can slide up under the panel.
- Slowly edge the module up on first one side then the other.
- Unclip the module from the two screw posts from which you just removed screws.
- Unhook the cable tie from the right-hand screw post.
- Take care not to break the attachment of the delay-start button on the centre screw post as it slides past (although I did and it still works fine).
- Take care not to lose the springs under the buttons (particularly the alarm-set and time-set buttons, which are not attached).
6. The clock face is backlit by four blue LEDs at the corners of the main board (KC-800-PC-V1.0). These are wired in series and controlled by a single transistor (TR2) driven by the microcontroller.

To disable the LEDs, all you need to do is break the connection anywhere in this chain. I chose to cut the trace at the top of the board, between the first and second LEDs. Use a sharp craft knife to cut through the green mask and the copper trace, into the fibreglass board. Go over it a few times to make sure it's completely severed.
You can reverse this later by bridging the gap by soldering a wire across it (or across the nearest LED terminals, which may be more convenient), or you could try dimming the display rather than disabling it completely by using an appropriate resistor.
7. Replace the module cover and attach with the 12 screws.
8. Slide the module back in.
- Make sure the buttons are in the right places. There's a flat on the two smaller buttons to hold them in place - the bottom of the alarm-set button and the top of the time-set button.
- Easing the clock back into position behind the panel may be tricky, since there's a sharp metal surround in the panel. I used a credit card between the clock face and the surround to lever it into place.
- Be sure to clip the module into both screw posts, and to hook the cable tie back over the screw post before you do so.
- Screw it back in with two flanged screws.


9. Slide the heat shield back into place. Be sure the wires are kept as much as possible behind the heat shield, so they are not exposed to the heat of the boiling chamber.

10. Replace the bottom cover, taking care to fit the power cable filter and grommet correctly into the bottom cover. Attach with 10 screws.
You're done! Power up and check everything still works. Result: a Teasmade you can leave on without disturbing your sleep, until it's time for that trademark whooshing gurgle! The clock face is easily readable without the backlight, and anyway you probably already have a bedside clock.
Future enhancements
The delay-start button still has a bright blue LED behind it. A future mod will do something about that; for now just mask it with some tape or a filter behind the button.It would be great to have the backlight just come on when needed - say when you pressed a button. Please post if you know how to reprogram the microcontroller (it says something like "Elan EM78P808BAAQJ 07307 BG07782" which is presumably the Elan EM78P808).
Please let me know if you try this. Comments and corrections welcome!
Subscribe to:
Posts (Atom)







