CellTrack GSM Location Tracker

This is cool: CellTrack GSM Location Tracker.

CellTrack is free and open source utility for tracking the location of GSM cellular phones. Currently some smartphones running Windows Mobile are supported.

A free CellTrack client can be downloaded and installed on your phone. This runs in the background and collects information on the GSM cell towers in your phone’s vicinity. This information can be used to estimate the geographical location of your phone.

The client can be configred to automatically perform certain actions when the phone location changes. For example, CellTrack can be configured to automatically switch your phone to silent when entering work, or to divert all calls to your home line when you are at home.

They should release a Symbian version, which would work on the P8xxx and P9xxx series phones.

[Via Adam's Mindspace]

Google launches UK versions of Local and Maps

Google have finally launched Google Local and Google Maps for the UK. It’s a pity this doesn’t have the keyhole feature like the US version, but at least it’s a start :-)

More info and a fellow Brit’s perspective on The Google Blog.

Offshoring Geeks

In this week’s infoworld newsletter:

Where’s Gopher? Taking “offshoring” to its logical limit, entrepreneurs David Cook and Roger Green announced plans to buy an old cruise ship, park it just outside U.S. territorial waters, and stock it with 600 software engineers. They hope this Love Boat for geeks will circumvent visa hassles for foreign-born engineers and help tech execs avoid that 22-hour flight from SFO to Bangalore. When not coding, engineers can play shuffleboard or go for romantic moonlit strolls. No word on whether they’ve hired Captain Stubing as pilot.

Lots more info on the Sourcingmag.com website – check out From Offshore to Ship-to-Shore

Retaining page scroll position across postbacks in ASP.NET

A friend recently mentioned that he was having trouble with SmartNavigation in ASP.NET, and had to disable it, resulting in the page scroll position being lost across postbacks. This can be quite confusing for users, especially in scenarios where forms are at the bottom of the page, or when using in-line editing with datagrids [with a lot of rows].

There are a few other solutions to this problem floating around, one of which is to add an additional hidden field to the webform. However, this requires a lot of additional code and can be awkward to implement.

The key issue here is how the scroll position will be stored across postbacks. Whilst using a hidden field is one solution, another way is using a javascript based cookie manager. This is my preferred option as it does not require any work on the server-side of things.

The basic structure of this solution is to save the page scroll position to the cookie when the page unloads, read the value back when the page loads, and restore the scroll position.

/*****************************************************************************
Window scroll saver.
Munsifali Rashid.  mUnit Limited (www.mlogix-inc.com).  April 2005.

Simply include this file into any page and it will retain the page scroll
position across postbacks.

If you are using the window.onload or window.unload events for anything,
you will have to tweak the code a little.  saveScroll() must be called when
the page unloads, and restoreScroll() must be called when the page loads.
*****************************************************************************/

var COOKIE_NAME = "MyCookieName";

function cookiemanager(allcookies)
{
this.name		= COOKIE_NAME;
this.items		= new Array();
this.add		=	function(key, val)
{
this.items[key] = val;
}
this.makeCookie	=	function()
{
var a = "";
for (key in this.items) a += key + ":" + escape(this.items[key]) + "&";
a = a.substring(0, a.length-1);
a = this.name + "=" + a;
return a;
}
this.saveCookie	=	function()
{
document.cookie = this.makeCookie();
}
if (allcookies.indexOf(this.name) == -1) return;
var start = allcookies.indexOf(this.name) + this.name.length + 1;
var end = allcookies.indexOf(";", start);
if (end == -1) end = allcookies.length;
var cookie = allcookies.substring(start, end);
var a = cookie.split("&");
for (var i=0; i 

To use, simple include the file into your page using the script tag. If you’re using the window.onload or window.unload events for any custom functionality, you will need to tweak the script slightly.

Interview question: The Mouse

There’s a great interview question on The wayway WebLog by Matt Warren, called The Mouse.

You are being asked to write the algorithm/software for a robotic mouse that needs to navigate a maze in order to find some cheese. There are computing resources available, as wells as a modern programming language to develop your solution. I’ll describe the problem using C# but you may choose any common programming language. The maze exists as a regular grid of squarish cells, potentially bordered on each side by a wall that prevents movement in that direction. In one of these cells is the cheese, and in another is the mouse. Neither location is known at the start of the search.

Matt’s entry goes into a little more detail (ie. there’s only a limited interface available), and it makes for an interesting puzzle (especially those fascinated by the infamous Microsoft interview process, who liked ‘How Would You Move Mount Fuji: Microsoft’s cult of the puzzle‘).

The puzzle answers are brilliant. Tim Fries was the first with a solution, his source code here.

Ralf Westphal went one step further and knocked up a complete VB.NET application with a GUI, where you can watch the mouse making it’s journey through the maze. He’s made the project available for download here so you can download and run it yourself. I had some fun messing around with the maze text files to see how the mouse behaved under different circumstances :-)

Would be interesting to hear how long it took these smart folks to develop these solutions.

Google to acquire Amazon.com and The New York Times

No, not a belated april fools joke:

In the year 2014, The New York Times has gone offline. The Fourth Estate’s fortunes have waned. What happened to the news? And what is EPIC?

Check out the EPIC 2014 website and click on the link to view the flash movie. It’s an interesting take on the way things could be headed.