Monday, August 22, 2005

Convert Unix Time

Quick, easy way to convert unix time online:

http://www.onlineconversion.com/unix_time.htm

VS2005 Launch Date

November 7th is the target launch date of Visual Studio 2005.

Sunday, August 14, 2005

Cool Designer Trick for Panels

As far as I know, the VS2005 "Designer Tool" cannot be used with the System.Windows.Forms.Panel class. This can be utterly frustrating when doing layout. So, what I do instead is, first, rename my System.Windows.Forms.Panel derived class to extend System.Windows.Forms.Form. Now I can do my layout with the handy visual "Designer Tool" -- e.g. I right click on the source code and select "View Designer." Once I'm done adding widgets/controls and laying them out, I rename the .Form back to .Panel. Tada!

Wednesday, August 03, 2005

Curiosities of Control.Invoke...

I wrote about Control.Invoke(Delegate) once before with regards to the .NET CF restriction that the delegate must be an instance of the EventHandler. See the original post.

I was always curious though about Control.Invoke and whether or not it would act in a comparable manner to firing an event in the normal way (e.g. myEvent(this, EventArgs.Empty)). Is Control.Invoke essentially the same thing? The only obvious difference being that the event execution is transferred to the thread that owns the control's underlying window handle.

I finally got around to writing a little test util to verify its behavior. My strange conceptual suspicions/thoughts about what it might do were laid to rest and the reality has taken its place. Control.Invoke on an event delegate with multiple subscribers will iterate through each subscriber and fire the event (just as if you fired the event yourself -- in the non-Invoke manner).

Voice gets precedent

In the battle of voice vs. data, voice always wins. It looks like the SmartPhone got it right. If you are currently on a phone call and your app attempts to use GPRS, you receive the following message:

"Error - Unable to place a data call while a voice call is in progress. When the voice call has ended, try again."

Command Line Tools for Windows CE

A collection of tools to do many things to a windows CE device via Activesync/RAPI.These tools should work on most CE devices, tested on Ipaq, XDA(Wallaby), XDA-II(Himalaya), XDA-IIs(Blueangel), MDA Compact(Magician), i-mate SP3, i-mate SP3i, Yakumo P300, MPx200, Voq, Mitac Mio, Mitac Megas. with PocketPC 2002, PocketPC 2003, Windows Mobile 2003, Windows Mobile 2003 Second Edition, Smartphone 2002, Smartphone 2003. ( wince 3.0 and wince 4.2 )

Note, that when running on a smartphone, you have to sign itsutils.dll


link: http://www.xs4all.nl/~itsme/projects/xda/tools.html

Where is the phone number stored on the SmartPhone?

We've been looking into this issue lately and there are a number of solutions floating around the web. A colleague of mine in the lab has even written a utility to dump SIM storage memory and look for the mobile phone's number. Of course, you could always use the SmsGetPhoneNumber API in the SmartPhone SDK but that's not always guaranteed to work either.

From Hung Dang at Microsoft,

You can query the phone number from the device with the SmsGetPhoneNumber API (see Smartphone 2003 SDK). Note that not all SIM's contain the phone number, so you cannot always get the phone number.

Google Groups link.