Archive for June, 2006

Virtual Earth Mobile 1.64

Thursday, June 29th, 2006

If you have a windows mobile device or a pocketPC device with an internet connection and you sometimes require help navigating to locations this is the program for you.

An internet connection is required to update the maps, but there is a cache so if you figure out your path in the comfort of your home you can save EDGE GPRS charges.

Virtual Earth Mobile Screenshot

This software uses googles API to access Virtual Earth. It’s also rather new and prone to crashing so don’t be surpised if it does not perform as expected.

Virtual Earth Mobile 1.64

.Net CF Single Instance Program

Wednesday, June 28th, 2006

Here is how to limit a .Net Compact Framework program to a single instance of itself. The duplicate instance is simply closed in this case.

I found I needed to use this mutex based code since I was doing a lot of work before calling the Application.Run() method. Once you start to run the application it appears as though Windows Mobile brings the backgrounded application into the foreground.

But for users who mash the enter key 3 or 4 times while not patiently waiting for the device to set up the .Net CF environment to run you will definitly want to use this code.

(more…)

Rico Mariani: Eighteen Years in the Software Tools Business

Thursday, June 22nd, 2006

Rico gave a talk for the University of Waterloo’s computer science club. Go get your copies from their server.

The talk is more of a seminar I suppose but included open source, anti-competitive behaviour, software engineering – and what engineering means to him, optimizing programs, some CS info about cache and page misses w.r.t. data structures and the “locality” of data within memory.
If you need an example write two for loops that fills a 2D array of [x,x] long floating point numbers. Have one loop increment x and the other increment y — see which loop runs faster. The array size is dependent on your system and the amount of RAM you have — increase as needed.

My favorite quote might as well have been from the book “Microserfs” itself. It provides perhaps a bit of insight into the Microsoft culture:

“World Dominiation is not on the list, it’s just not on the list. People have no time to think about this stuff at Microsoft. They don’t. I know these guys they have like too many hours to work at at work and then they are trying to not get divorced and are hoping for a little bit of time in front of the Xbox maybe at the end of the day and that’s pretty much it.”

Rico Mariani — MS Tool Developer

Mobile Development

Tuesday, June 20th, 2006

I’m doing a lot of mobile development at work now using .Net C# and Symbol hardware. I am shipping a program this week to the field and I needed to get my development environment into “release” mode and then package up the application so non-developers can install it.

I found this page really helped me get started with *.cab files http://www.zhornsoftware.co.uk/ppc-install.html

Even though I only have two devices they have different processors which are both ARM based. The older one uses ARM and PocketPC 2003, while the newer device uses Windows Mobile 5 on an ARMi chip. This blog entry explains how the compact framework handles their cab files.

So using that link I was able to create a cab file to deploy to either device using the same executable. Be sure to use the ezsetup.exe binary to create a windows executable for non-developers to simply double click install.
Trying to explain how to start a command shell can be hard enough, never mind trying to list off the full path to the users CEAPPMGR.EXE file and then trying to distribute an INI file to run the install process to the device.

GE Day Zero

Thursday, June 1st, 2006

Last night was the last time I left work as a Zenon employee. This morning is my first experience becoming a GE employee.

Who knows what the future has in store? A little hard work lightly seasoned with some good luck and I should do all right.