July 31, 2003

Detailed explanation of the GSM protocol

Heavily techie, but a good overview of the GSM standard including layout of cells, how calls are brought up, etc. etc. Probably helps if you already have some clue as to what the HLR, MS, BSC, etc. are :-)

Posted by Adrian at 04:42 PM | Comments (3) | TrackBack

The virtual keyboard

Canesta have a keyboard for mobile devices which uses optical scanning to track the users fingers typing on a flat surface - so you don't actually need to carry a keyboard with you, it projects a picture of a keyboard onto the surface you type on. You don't get much feedback as to whether a key is pressed or not, but you do get to type on a full size keyboard.

Not sure that I have a suitable flat surface nearby a lot of the times that I'm entering text into my mobile, but it'd be a handy extra text-entry method for when I wanted to enter a lot of text and would therefore go to the trouble of finding a flat surface.

On the website is also a good list of links to usability info for small devices.

Posted by Adrian at 04:17 PM | Comments (0) | TrackBack

Things you didn't know about sports cars!

20Q is a cool AI system that guesses things in a "20 questions"-stylee. And it guessed what I was thinking of, which was a car (quelle surprise).

At the end of the game, it tells you some other facts that it "knows" about your choice, so for a sports car...

"Uncommon Knowledge about a sports car
Does it have a hole in it? I say No.
Can it jump? I say Yes.
Can you get information by using it? I say Yes.
Is it a root vegetable? I say Probably.
Is it colorless? I say Yes.
Would you like to be one? I say Probably.
Does it live in the ocean? I say Probably.
Is it black? I say No.
Does it come from a plant? I say Probably.
Can it be used to write? I say Probably.
Can you smell it? I say No.
Is it addictive? I say Yes.
Does it have an exo-skeleton? I say Yes.
Is it a type of dog? I say Yes.
Does it live near water? I say Probably.
Is it made of plastic? I say Yes."

So there you go, sports cars are really plastic dogs and can't come in black :-)

(via kottke.org)

Posted by Adrian at 03:01 PM | Comments (0) | TrackBack

July 30, 2003

Vodafone Live users get directions

Vodafone Live has just announced a tie-in with the MapWay direction system from M-Spatial (who happen to be based just round the corner).

This is one of the most obvious location-based mobile services, and I'm a little surprised that no-one has rolled anything out before now. From the demo on their website, it looks like a pretty decent service, and as user-friendly as a WAP-based service can be ;-)

Looks like you can either enter your location, or choose "from here" as the starting point (not clear how it works out where you are, but definitely a useful, user-friendly feature :-) and then enter where you want to go to, and then it shows you a sequence of maps to guide you to your destination. And they claim it's aware of train/tube stations too (what about bus routes?).

I don't know how often I'd use the service, mainly because I know my way round Cambridge pretty well, but this would've been a godsend when I was trying to find the Thai restaurant for a date I had in central London last Christmas time. Presumably they could extend it to offer nearby restaurants or pubs, so you could get directions for somewhere to eat without having to know anything about the area you were in.

I hope there's a companion website that lets you edit your "My Places" list. Then, in the Thai restaurant example, I could enter that using a full-size keyboard, on a PC where I can search on www.yell.co.uk for the address... as it would be soooo much easier, and then just pick it from a list if (/when) I get lost en route.

Posted by Adrian at 03:53 PM | Comments (0) | TrackBack

I survived

Now got the photos from the London To Cambridge Bike Ride up on the website.

It was an excellent day, despite having to be at Midsummer Common for 6am, and despite being rained on not long into the ride. In fact, the rain was quite refreshing, and as it was cloudy most of the way up, it was near perfect cycling weather.

Lots of cyclists all the way along, and all levels of ability - from those pottering along planning to take all day, to those streaming past on their flash, hi-tech racers.

Ian and I managed a pretty decent 14.8mph average, to cover the 50 miles in 3hrs19mins. Plus 20 minutes of breaks meant that we got back to Midsummer Common for 12:40pm. Then it was time for a much anticipated hot-dog and celebratory beer at the Fort St. George.

I felt much better after the ride than I was expecting to, and was quite chuffed not to have even left the saddle on the few nasty hills on the way. And the advantage of climbing some big hills is that you get some speed up on the way down :-) Best I managed was 37.7mph - I think I'd need different gearing to get any faster!

Good fun, and it looks like I'll have raised somewhere around 400 for charity too. Thanks to everyone who sponsored me!

Posted by Adrian at 02:41 PM | Comments (0) | TrackBack

July 28, 2003

Steve Pavlina on project post-mortems

Conducting a Project Postmortem by Steve Pavlina is a bit more lone-programmer focussed than most other discussions of post-mortems that I've seen. As a result there isn't much discussion about group meetings and facilitators, but it does include useful ideas on the content of a post-mortem, and there are links to an example post-mortem and a post-mortem questionnaire.

Posted by Adrian at 12:38 PM | Comments (0) | TrackBack

July 26, 2003

Sir Winston Churchill

"Personally I'm always ready to learn, although I do not always like being taught." - Sir Winston Churchill.

(From Sir Winston Churchill Quotes - The Quotations Page)

Posted by Adrian at 03:56 PM | Comments (0) | TrackBack

An ABCDE... keyboard for mobile devices

UniTap - technology for the most compact alphanumeric keypad for mobile devices - yet another take on how to get decent input into small devices.

Tries to take advantage of the fact that fingers are too big to hit small keys by requiring you to hit the buttons which are all round the target area (and the target area itself isn't a button). There's no real reason why you couldn't do this with a touchscreen, surely, and then have it available for other display purposes too - unless you get better feedback that the "key" has been pressed from the buttons.

I don't agree with their blurb that it's intuitive - "No difference from operating with regular computer keyboard" - anyone who's used a Psion Workabout for more than a few seconds will tell you that an ABCDE... mapped keyboard is not intuitive to someone used to a QWERTY one, but I expect it'd only be as difficult to learn as a phone keypad is at first.

Posted by Adrian at 01:17 PM | Comments (0) | TrackBack

July 25, 2003

Hillary Johnson

"The scariest thing about the future is that the future isn't necessary" - Hillary Johnson.

(From Inc.com | If At First You Don't Succeed)

Posted by Adrian at 09:16 PM | Comments (0) | TrackBack

Debugging rusty cars

It just occurred to me that debugging is a bit like fixing rust on a car. From a distance, it looks alright, but when you get up close there are a lot of little imperfections here and there. So, you know what to do, you take each one in turn and sand it back to the bare metal, then treat it properly, prime it, and apply a nice new paint finish so it looks like it's supposed to.

Then, every now and then, you stick your screwdriver clean through the panel. What looked like a little blemish is actually a major rust-fest that you couldn't see until you started to deal with it. And then you've got to decide how to deal with it, as the job is suddenly a lot bigger than you first thought. You might be able to get away with chasing it all out and then filling the gap with a load of filler and wire mesh, and hope that noone pokes the new work too hard, but that's never a long term solution, and is just storing trouble up for the future.

What you really need to do is get rid of every last bit of rust, and replace the stricken area with new metal. At the very least it'll mean welding in a chunk of new metal, and it could mean that you start ripping panels off and replacing them completely, so you know they're right.

I guess what I'm saying is that there's only a certain amount of surface rust to fix, and if the underlying panels are going rotten, you have to rip them out completely and start again.

I'm worried that I'm going to have to start ripping panels soon. Things might get ugly before they get any better.

Posted by Adrian at 12:55 AM | Comments (0) | TrackBack

July 23, 2003

Would these make my house too geeky?

9th Exhibition - Housewares - blik Invader Surface Graphics. I guess the answer has to be yes. Which is a shame, as I kinda like them... Full-blown-geek-abode narrowly averted.

(Via Designweenie).

Posted by Adrian at 01:51 PM | Comments (0) | TrackBack

July 22, 2003

Help fight breast cancer! Sponsor an idiot cyclist today!

Well, after first posting about in way back in May, I've finally (with less than a week to go) gotten round to emailing all my friends about my sponsored bike ride this Sunday.

Still, I haven't been completely inept - Ian and I have done some longer rides for some training, and I even managed to win a recent bug-finding contest at work, which got my sponsorship off to an excellent start with 100 donation :-)

So, if you're reading this, and haven't pledged some money, how about visiting my sponsorship homepage and pledging some cash?

Now I just have to check the bike over and make sure it doesn't fall apart en route...

Posted by Adrian at 02:40 PM | Comments (0) | TrackBack

July 21, 2003

A nightingale sang in Berkeley Square

But unfortunatly it was just someone getting a phonecall.

The British Library has just licensed its library of birdsong to be used for ringtones. Pity it only works on the newer mobiles, or I could get Mum one for her birthday...

Posted by Adrian at 01:00 PM | Comments (0) | TrackBack

Aspect-Oriented Programming

Jon Udell introduces me to Aspect-Oriented Programming...

"By way of example, Lee imagines a development shop where the policy is that methods, in any class, must invoke a logger on entry and exit. AOPers call this kind of requirement a "crosscutting concern," meaning that it affects classes without regard to their kinship in the class hierarchy. You can make a rule that programmers have to call the logger from every class, but there's no easy way to ensure that they'll do it at all, nevermind correctly. The AOP solution is to define a pattern that matches the set of methods that should call the logger, and to rewrite the code automatically so they do. That's what happens under the covers, anyway, but the idea is that the person who'd like to enforce the policy simply declares it, and tools make it so"

Having recently done just that, by hand, whilst investigating a performance problem, the idea of a tool that does it for me is quite appealing :-) Still early days in terms of tools I think, but hopefully they'll come in time.

Update: Fixed link so it actually went to Jon's page. Not sure how I managed to delete that...

Posted by Adrian at 12:07 PM | Comments (0) | TrackBack

July 18, 2003

Useful social-networking tool, or way for geeks to

Trepia: your instant community provide an IM client that instead of your buddy list, shows people "near" you - on the same WiFi network, although I don't know how it works for non-WiFi users.

I'm not convinced that it's particularly useful, I mean, it'll let you message people who are nearby... hmm... can't I just walk up to them? Okay, I probably wouldn't, but does that just make it a tool for shy geeks to talk to other shy geeks?

Posted by Adrian at 04:44 PM | Comments (0) | TrackBack

July 15, 2003

Update on CodeStriker

Nick very nicely installed CodeStriker on our local network (integrated into our CVS repository) after I'd pinged him with a few test review items from the demo version.

The upshot is that we're not going to use it just at the minute. It looks promising, but doesn't offer enough value just yet (and I haven't got the time to spend helping out with it unfortunately).

  • I think it's a bit too chatty - you get an email for each comment generated and if you wanted to review an entire file, then that'd be a lot of email. I guess some per-user configuration (a la Bugzilla) or a way for the reviewer to say "review over, send email now", or something to digest the changes in a topic would be best.
  • There doesn't seem to be a way to specify the latest version of a file (on a branch) in CVS when creating a topic - so you have to go find out the revision number by hand
  • We could use it for reviewing fixes for bugs (all bug fixes have to be reviewed before they're committed to CVS), but the majority case is where the fix is fine, and approved with no changes, so it's a bit heavier process-wise than "fix suggested in branch *blah*", "Fix approved" comments in Bugzilla and would still require the branch plus the fixer would have to create a new CodeStriker topic.

I guess in order for it to be useful with our current process, creating the topic would just require the name of the branch with the suggested fix and the bug id, and it would then add the suggested fix comment to bugzilla (including the name of the branch and a link to the CodeStriker topic), reassign the bug in bugzilla to the reviewer, and then do the reassigning back to the fixer when the code review got to an "Approved" state. And even then it wouldn't add too much over what we already do.

What I really want is something that gives me Microsoft Word reviewing capabilities on source code, so that can be used for full code reviews...

Posted by Adrian at 03:48 PM | Comments (0) | TrackBack

Code Review resources

Possibly a little heavyweight compared to code reviews I've done, but the WWW FTR Archive looks like an interesting collection of information about code review. And the tools section has a link to CodeStriker, which helps with managing code review changes and integrates with CVS and Bugzilla so I might have to have a play with it.

Posted by Adrian at 11:05 AM | Comments (0) | TrackBack

July 12, 2003

It's FULL!

Cool. The recent Fopp attack (and some tidying of the CDs scattered around the house :-) has filled the bookcase holding my CD collection...


I wonder how long it'll take to fill the other, identical bookcase then?

Posted by Adrian at 05:12 PM | Comments (0) | TrackBack

Fopp Attack

Fopp Attack
To leave Fopp with much less money than you had when you went in. Coined by Jo McGowan.

I suffered another Fopp attack yesterday. I'd got out of work early, and happened to end up in the Fopp end of town... So now I'm 27 poorer, but 9 albums or 207 tracks richer :-) I don't know what all the fuss is with iTunes, I guess $0.99/track isn't a bad price, but I managed less than a tenth of that - 0.13/track!

Now I'm not sure about the Best of Al Stewart, I quite like "Year of the Cat", which is why I bought it, but after listening to some of it, I think it's more of a seventeen track single. The Everly Brothers All-time Original Hits has all the songs I remember my parents playing whilst I was growing up (they're both Everly fans) plus "Ebony Eyes", so Mum, I guess I'll now understand the Elderly Brothers version "Holland's Meat Pies" that you've got.

Things get a bit funkier with a George Clinton (no relative of Bill AIUI ;-) compilation, which includes the funk version of "Sunshine Of Your Love" that was played last time we went to Fat Poppadaddy's (there, I've spelt it right this time Jo), and two Dope On Plastic albums (vols. 5 and 6) which, from what I've heard so far, are superb. Excellent recommendation Jo, seeing as I hadn't heard any of them before.

And rounding things off are a few more compilations - some more Madchester stuff and some chillout and indie stuff. All worth a punt at three quid a pop.

That's the weekend's tunes sorted.

Posted by Adrian at 11:55 AM | Comments (0) | TrackBack

July 10, 2003

When my popularity has risen...

...then I might have to look into implementing Bandwidth-saving tip of the day [dive into mark].

Posted by Adrian at 03:17 PM | Comments (0) | TrackBack

July 09, 2003

Bjarne Stroustrup

"There's an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how to use my telephone." - Bjarne Stroustrup

(I think I first saw this in "The design of everyday things" by Donald Norman, but I found it through Google at j b o x . d k - Quotations on simplicity in software design)

Posted by Adrian at 05:02 PM | Comments (2) | TrackBack

Edward V. Berard

"Walking on water and developing software from a specification are easy if both are frozen." - Edward V. Berard

(From j b o x . d k - Quotations on simplicity in software design)

Posted by Adrian at 04:55 PM | Comments (0) | TrackBack

July 08, 2003

A vision of the mobile future

Ray Ozzie has a vision - Extreme Mobility. It's a future where software is written with networking and mobility at its core, rather than tacked on afterwards.

And by networking he doesn't just mean it expects permanently connected multi-megabit ethernet, he's proposing that the software can cope with the full spectrum of connectivity - GSM dialup through gigabit ethernet, rarely connected through permanently connected - and that it cope with moving around that spectrum seamlessly.

This is a very similar vision to the one Ran Mokady has been espousing for years, although he has more of a mobile (i.e. PDA/phone) focus. It'll be interesting to see whether he achieves it with the "frequently connected(tm)" architecture at Pogo.

Posted by Adrian at 03:55 PM | Comments (0) | TrackBack

Much whooping!

Technorati Rocks! Well, let me qualify that, it rocks if you're a sad, self-obsessed, blogging geek ;-) The first person-I've-never-met-before has linked to my blog, and so my Technorati-link-list is now two! Hello Geoff! Just for the record, I'm not a university student (any more, and didn't go to Cambridge when I was).

And from Geoff's blog I found this interesting link to mapAmobile, who seem to be providing a similar (but much cheaper) service to Verilocation. The next-big-thing(tm) from 2000 is finally appearing - mobile phone location services, although I'd be more interested in ones that used my location to tell me about local services, maybe it's possible to link things into GeoURL...

Posted by Adrian at 11:26 AM | Comments (0) | TrackBack

July 07, 2003

Haptic, obviously the latest mobile buzzword

Just after news of the MyOrigo with it's haptic display, the International Herald Tribune thinks Cellphones of the future may be tactile wonderlands.

Basically, haptics is the process of providing feedback using the vibrator in the phone (when I first heard about the MyOrigo having a "haptic display" I thought it meant it had some sort of "squidgy" layer over the top which helped provide feedback) similar to the force feedback joysticks available.

The IHT article is about the technology provided by Immersion, who reckon their technology could augment ringtones (by providing downloadable "ringvibes?"), improve chat (you could send a high-five vibration cue, or a belly-laugh vibration cue) and improve UI feedback and mobile games.

I guess the "ringvibes" (do you think if I use the term often enough it'll become the name for them? ;-) would be as likely as ringtones are, and I think the UI enhancement possibilities are really interesting. Not sure about the chat enhancement though, I think it'd need a decent UI to allow people to choose them easily, although I guess it could auto insert them like MS Messenger does with emoticons - that might be cool...

Posted by Adrian at 01:24 PM | Comments (0) | TrackBack

July 06, 2003

The Internet gets a touch of sanity...

The internet is shit - eleven nuggets of common sense in an increasingly online world ;-)

"maybe we'll stop aimlessly surfing for something amusing when we could actually be doing something fun."

(Via Ben Hammersley)

Posted by Adrian at 02:23 PM | Comments (1) | TrackBack

July 04, 2003

Back on the "water"

Well, it's been getting on for two months since I last rowed, and for over a month the rowing machine wasn't even out. But Nadia has been round to use it a couple of times recently, and in a strange sort of way it felt good to get it back cluttering up the kitchen.

So today I succumbed, and did 2km. And I was pretty pleased that I've not lost too much from my times - 7m34.4s, less than 4 seconds off my personal best. Only 498km to go to my million metres... ;-)

Posted by Adrian at 11:13 PM | Comments (0) | TrackBack

July 03, 2003

MyOrigo reviewed

The Register has a more in-depth review of the new MyOrigo device, including screenshots and description of the UI. They seem quite won over with the new way of doing things (but they were quite taken with the Pogo device too, maybe it's a little guy thing). Still, definitely looking forward to having a play once they release them.

Posted by Adrian at 04:36 PM | Comments (0) | TrackBack

July 02, 2003

What's With Wikis?

Seeing as my last post mentioned Wikis, I thought it me be best to explain the term to the non-geeks (it's true, I do have friends who aren't geeks, although one could argue that they wouldn't have read the previous post and so wouldn't need to know what a Wiki is... ;-)

Anyway, for those who are still getting to grips with the term blog, I bring you the Wiki. Taken from the Hawaiian "wiki wiki", which means quick. It's a way to make a website that can easily be edited by anyone (for some value of easily :-) It's much easier to edit than a traditional website, but you still have to learn yet-another markup language and set of rules, so it isn't quite at the level of using Word, for example.

TWiki is the only one I've used, and WhatIsWiki is another explanation of what these things are.

Posted by Adrian at 01:06 PM | Comments (0) | TrackBack

You can't separate out the technology in social software

In his latest newsletter, Clay Shirky has posted the full version of the essay that I blogged about in "Social structure of groups" - Shirky: A Group Is Its Own Worst Enemy

It's an interesting discourse on social software, touching on some of the non-computer research into groups, and the evolution of computer social groups, and even a few suggestions about how we're getting towards a world where you can assume people have Internet access in real time.

So you can now run a chat session and/or a wiki in parallel with a conference call to augment the meeting - the chat can be used for marshalling who gets to talk, or disseminating written information (look at URL *blah*, or my email address is *suchandsuch*) that's easier to write and read than it is to speak and hear, and the wiki allows development of a record of what was discussed.

And although it was mentioned a few times, there wasn't an actual link to LambdaMOO Takes a New Direction.

Posted by Adrian at 12:46 PM | Comments (0) | TrackBack