Free Pizza and Beer Thursday 30th

Wed, June 29, 2005, 08:49 AM under Events
If you are in England (UK), don't forget to come join us tomorrow in Horsham for free pizza and beer... and you might also learn something about the .NET Compact Framework :-)

It would be nice if you register, but previous experience indicates you can just turn up!

See you there at 18:30.

Blog link of the week 25

Sun, June 26, 2005, 03:20 PM under Links
* Loads of useful tools. Bookmarking it here for its "TabletPC Indispensibles" (since I just ordered a Toshiba Portege M200 :-)

* Don't Fsck With Nerds

* Interesting perspective on the .NET vs Java debate

* Rules for better presentations
      (don't forget this Thursday to come see if I apply them)

Joining Avanade

Thu, June 23, 2005, 03:23 AM under Personal
The big news in my professional life is that I am leaving Trend/Honeywell after 6 happy years. We have both benefited from each other and I don't regret any of it. Trend, it's been a great ride, I wish you all the best and hopefully we'll cross paths in the future.

Here is the FAQ

Q. Were you fired, made redundant or otherwise asked to leave?
A. Quite the contrary, I resigned and seemingly leave a greater number of sad people behind rather than glad. I leave my current employer on excellent/amicable terms.

Q. Did you actively look to change jobs?
A. Not at all. I was professionally headhunted for a 3rd party. In fact it was real hard work for the agency to convince me to even consider thinking about looking elsewhere. Well done to them.

Q. Will you be working for a competitor?
A. No, not even staying in the same industry (BMS, HVAC). In fact I am transitioning from what is termed a "corporate developer" to being a "consultant".

Q. You are still working with .NET, right?
A. 100%, even more so than before. My new job involves working with Microsoft technologies *only* (same goes for every single one of my future colleagues).

Q. When do you leave your current employer and join your new one?
A. I finish here in mid-August. I start there in early-September. In between I'll go home to Greece for a much needed break.

Q. So where/who is your new employer?
A. It is based in London but my everyday working place will be wherever the client is. It is a company jointly owned by Microsoft and Accenture: Avanade (known for the Enterprise Library Application Blocks)

UPDATE: I no longer work for Avanade. I know that some of you searching for Avanade land here and then ask me for advice, I have none to offer regarding the company. Sorry and thank you.

Blog link of the week 24

Sun, June 19, 2005, 03:50 PM under Links
Read both the BlueJ side and a MSFT-employee view then make your own mind up. Personally, I thank BlueJ for the concept and I thank MSFT for borrowing everything that is good in the software industry and bringing it to my platform of choice.

SafeHandle

Enterprise Library background (via)

The endless debate: Custom Objects vs Datasets (check out all the comments and links too)

Human vs Computer (again, read the comments too!)

I am back (I think)

Sat, June 18, 2005, 04:04 AM under Personal
It has been 3 days since my return from paradise (a.k.a. Mauritius) and earlier this morning I think my mind returned as well :-D

On this glorious day here in England, we'll be spending the day in London with friends and specifically watching Shakespeare's Twelfth Night at Regent's park

I promise technical content will resume at some point in the future (along with some big news regarding my professional life)..!

[again] Out of Continent

Fri, June 3, 2005, 02:03 AM under Personal
My first holiday for 2005 starts right now. The last time we went on vacation was 2004 (Vegas and Nordic don't count... I am serious!).

In half an hour we are leaving for Heathrow to catch a flight to Mauritius (never been to the Indian Ocean before).

The big news is that I proposed to Jenny and she said... "YES" :-D
By the way, I am now the world's expert at choosing diamond engagement rings (it's all about cut, carats, clarity and color - set in platinum of course).

A couple of things I'll miss while I am away which I reccommend you don't:
1. Go to the *free* MEDC UK event (10 June)
2. Attend the MVP NETCF chat at 18:00 on June 14th

Form.Owner in NETCF 2.0

Thu, June 2, 2005, 12:52 PM under MobileAndEmbedded
As a Pocket PC user and a NETCF 1.0 developer, you are familiar with the problem of showing different forms in the same application while preventing the user from navigating between forms from the "running list" (not to mention returning to the correct form after closing a sub-form). This was described previously here (look at the fourth entry: 4. Moving between applications)

So in NETCF 1.0, if you simply use ShowDialog to display another form:
a) The new form (specifically its caption/text) appears in the "running programs list"
b) The original form also appears in the list, which means you can navigate to it (although it appears disabled once activated)
c) There is potential for closing the second form and returning to another window on the PPC (the original form has moved back in the z-order)

With CF 2.0 you can use the new Owner property of the Form and hence get rid of every problem from the above list. Do not confuse the Owner property with the Parent property, which is inherited from Control and is not intended to be used with forms

Run the following snippet (assume it is in the button click event handler of Form1 in VS2005 NETCF 2.0 project):
Dim f As New Form2()
f.Owner = Me
f.ShowDialog()
...you'll notice that only one entry for your application exists in the running list. The only potentially strange thing is that it has the caption of the first form (while the body of the form is clearly that of Form2)! This is easily rectified with the following modification (this time in C#):
Form2 f = new Form2();
f.Owner = this;
string s = this.Text; //make a copy of the original caption
this.Text = f.Text; //set our caption to the form we are about to show
f.ShowDialog();
this.Text = s; //restore the original caption once the second form is closed
Although I would have preferred the original snippet to exhibit the behaviour of the second snippet, still we must agree that this is a step forward from NETCF 1.0!