you are here: home bare essentials barefoot blog
Barefoot Blog

BlackBerry juice

November 2012

I recently upgraded my BlackBerry from a Bold 9700, to the whizzy Bold 9900 with 1.2GHz processor and touch-screen display.

Now I do love my Blackberries, and I'm a confirmed fan of the 9900, its features and its OS7.1 software. But why have they put such a useless battery in it?

I get at best approx 36 hours between charges, which is pretty useless for being away from a mains supply for days on end - a camp site for example. Yes I can turn stuff off, and yes a car charger and a trip out save the day, but it's still annoying.

Moan over. As I type I'm in the process of updating OS7.1 to the latest bundle. I've done this before and found the process smooth and re-assuring. Full marks to BlackBerry in this regard - as an engineer I know how precarious updating embedded software can be.

See also:-
Last Updated on Saturday, 22 December 2012 17:13

Returning to the Twittersphere

November 2012

I've recently become active on Twitter again after a period of radio silence, largely due to being monumentally busy with work from dawn till dusk. And after taking a fresh look at a few up-to-date Twitter clients, faithful old TweekDeck 0.38.2 still seems the best match to the way I want to work.

TweetDeck 0.38.2 screenshot

Hours can pass between dips into tweet land, during which hundreds of updates may have arrived. I'll likely not want to read them all, but nor will I want to miss anything.

With TweetDeck 0.38.2 I can mark everything at that instant as "seen", and then filter by name to select a manageable quantity of tweets. After skimming through or reading properly, I can "clear seen" to remove them from view, which crucially operates on just the filtered tweets. I change the filter to select a different manageable quantity, read/skim and clear, and repeat, progressively reducing my unread tweets in manageable chunks. And I won't miss any new ones that arrive during this exercise, because "clear seen" only removes the ones I've marked as seen and not the ones newly arrived.

With the "filter" and "clear seen" features, I don't need to bother with lists and the like.

0.38.2 is still available from a variety of places, but isn't officially current. A pity - TweekDeck 1.x seems particularly retrograde to me.

See also:-
Last Updated on Friday, 23 November 2012 21:07

RIP absent friends

April 2012

We recently lost three of our birds to the fox: Splodge the duck, Pecky the hen, and Darcy the Sablepoot cockerel. Even a couple of weeks on they're sorely missed. They all had names and individual characters, and they were like pets to us. We were all upset, as Helen says so much better than I.

See also:-
Last Updated on Wednesday, 28 November 2012 11:13

I'm featured engineer on EE Web!

February 2012

Online electrical engineering publication EE Web have a regular featured engineer column, and today (Feb 24th) is my turn! You can read all about me here. This all came to pass through exchanges on Twitter - so thank you Twitter, and thank you @EE_Web!

See also:-
Last Updated on Friday, 24 February 2012 20:45

RS485 collision avoidance on PIC24s

February 2012

I had an interesting technical conundrum recently - how to stop several devices on an RS485 network from all trying to transmit their packets at the same time.

Collision avoidance works by virtue of a device detecting that the network is busy, and then waiting for some random amount of time before trying again. Without the random element, devices of identical hardware and software will repeatedly try to do the same thing at the same time...

The problem was that all of these devices were based on the Microchip PIC24, with no immediately obvious source of random numbers. Unlike devices from the PIC18 and 16 families, all PIC24 processor registers have precisely defined power-on/reset values as far as I can see.

After some research, I happened across a suggestion on the Microchip forums to use data memory as a source of undefined data. I disabled C's usual initialisation of RAM on start-up (MCC30 linker option -Wl,--no-data-init), power-cycled a box, and sure enough, RAM is undefined on power-up. Contents seem to vary little between successive power-cycles, but crucially do vary between processors.

Excellent, getting somewhere. Now for a prototype implementation.

First step was to create a random number generator in C. I allocated four bytes of RAM as a 'long forward shift register', and of course these four bytes are well-seeded with 'random' data due to RAM's undefined POR state. I then reworked Tom Wiltshire's assembler LFSR implementation into a C routine that produces a new random byte on each call.

Second step was to introduce randomness into RS485 transmission attempts. I created a state machine that first samples the PIC24 UART 'bus busy' status for a random time frame 1-64ms. If the bus is clear throughout, great, the packet is transmitted. If the bus is busy at any point during the sampling phase, a new random time frame 1-64ms is picked, and the state machine waits for this period. When the wait expires, the state machine enters a new bus sample phase.

Using a test rig where one box broadcasts a request, and everyone else replies (notionally at the same time), initial trials on a network of 10 devices were entirely collision-free. But scaling up to 40-odd devices was less successful, so the bus sample and back-off states were changed to pick random time frames 1-128ms. Much better results were achieved.

I'm very pleased. RS485 network collisions successfully fixed.

See also:-
Last Updated on Wednesday, 12 December 2012 13:23

Letter from America

January 2012

A few days into the New Year we received a lovely letter and parcel of goodies from the Sappington family of Maryland, USA. This was to say thank you for helping 14-year-old Anna with her STEM assignment.

Well Anna did very well indeed, and is a keen engineer in the making - well done you! Here's to regular correspondence between our two families in the months and years ahead.

See also:-
Last Updated on Friday, 13 January 2012 19:40

The Diary of Anne Frank

December 2011

A few nights ago we sat down as a family to watch the BBC's outstanding five-part dramatisation of The Diary of Anne Frank. I saw it when it was first aired and wanted to see it again, Helen hadn't seen it but wanted to, and we both wanted the children to see it.

The children were engaged from the outset, but I in particular had wondered whether the potency of the ending might be over their heads a little.

I need not have worried. Even though I know the story, and even though I've seen this series before, the ending has me in tears. Seeing how distressed we both were - and me in particular - seemed to drive it home to both children how important and sombre a story this was. I'm very pleased they took it on board, and indeed they mentioned it to several of their friends in the days that followed.

See also:-
Last Updated on Thursday, 08 December 2011 15:28

Experimenting with TweetDeck

November 2011

I've been experimenting with TweetDeck v0.38.2 as a tool for making more use of Twitter for my business.

First impressions are very favourable. I like the UI, I like the columnar layout. I particularly like the ability to filter columns, mark selected tweets as 'seen', and then clear seen items. It's a handy way of quickly skimming through a volume of tweets where some are of interest, and others not.

One noteworthy shortcoming though is that when tweets are marked as 'seen' in one column, this status isn't reflected on the same tweets in other columns. A spot of googling suggests that cross-marking in this way is a feature that has existed and may return, and I rather hope it does. Without cross-marking, the usefulness of lists in TweetDeck in somewhat impaired IMHO.

Another minor request I'd make of the TweetDeck dev team: if at all possible, the 'clear all' button should be moved away from 'clear seen', or prompt for a confirmation.

See also:-
Last Updated on Friday, 23 November 2012 20:51

Questions from across the water

November 2011

A few weeks ago I had an email out of the blue from 14-year-old Anna Sappington of Maryland, USA. Her class had been assigned the task of interviewing a local engineering business who operate in their field of interest, and in Anna's case this was computer software engineering.

Anna and her Mum happened across my website, and suffice to say they soon realised I wasn't exactly local! Nevertheless, they picked me, and Anna and I had an email exchange regarding her assignment.

Well, the questions have been answered, and the assignment handed in. Good luck Anna!

See also:-
Last Updated on Friday, 13 January 2012 19:38

Tales from the Tinyholding

November 2011

It's not all gadgets and gizmos here at Barefoot Software: we also have two chillun, five pets, two ducks and seven chickens. And a garden to grow things in.

My partner Nell has started an entertaining account of how we all make the most of our home and garden - Tales from the Tinyholding.

I'm particularly fond of Cook-along-a-boglin, and not just because I took the photo :) Nesty had a great time preparing dinner, laid a nicely presented table, and it was delicious!

Nell and I invest our barefoot values into the running of our businesses, home, and our family, so stay tuned for the occasional Tinyholding update.

See also:-
Last Updated on Wednesday, 28 November 2012 11:14
<< Start < Prev 1 2 3 4 Next > End >>

Page 2 of 4

navigate to...