/egilh

Learning by doing

March 2005 Entries

I was hoping to go skiing with my family two weeks ago but had to cancel my plans for work. Probably just as well, as the weather was just gorgeous when we went to a local ski resort this weekend. The picture below was taken with a phone while I was in the ski lift so it doesn't convey how lovely it was: A good day became a great day when my oldest daughter started skiing for real. We rented the complete outfit and played around a bit before we took the 4-seat ski lift to the top. The first couple of trips we used a tip lock I bought last year. It makes it a lot easier to learn to ski and keep the skis in a wedge position. After she got the hang of breaking, she decided ...

I was reviewing some .NET code for a new feature when I came across the following piece of code: _sXML.Replace(_sXML.ToString(), newValue); It took me a while to understand what the developer wanted to do. It replaces the entire contents of the _sXML StringBuilder with the new value. A creative, but slow way, to do replace the entire contents of a StringBuilder with the a value. I told the developer that it would be a lot faster to set the length to 0 and then append the new contents but I was curious to see the performance difference. I compared the following ways to do the same thing: builder.Replace(buffer.ToString(), newValue); //1392 ms builder.Length=0; ...

Our previous dog, a female pastore maremmano, died several years ago. With a baby on the way, we decided to wait for few years until the kids could enjoy a dog as well. When my wife found a announcement on www.Secondamano.it for someone giving away a 2 month old Australian Shepherd puppy, it only took me a couple of minutes on google to be convinced: Aussies are great with kids, intelligent and I guess I am more a dog person than a cat person. Only later did I realize what I had gotten myself into. The puppy was in a place called Zocca in the hills "close" to Modena. I got up early Sunday morning to drive down to pick up the surprise for the kids. No traffic and not ...

I bought a refurbished iPAQ 4150 on eBay last August from the UK. I feared the worst when the speaker broke a few weeks ago. Would my refurbished iPAQ be covered by any guarantee? The Italian support form was broken (server error) so I had to explain my issue a few times via e-mail before I got a case ID and a phone number to call. HP sent a UPS truck to pick up my iPAQ Thursday 17th just before lunch time. I got the fixed iPAQ back from Amsterdam Tuesday 22nd in the morning. Only 2 1/2 working days to get it fixed. Impressive!

Gmail Notifier stopped working for me after they added CAPTCHA based authentication. It always gave me the error: cannot read your messages (bad data; 6) The fix is to delete the cookies: In Internet Explorer, choose: Tools | Internet Options | General (tab) | Delete Cookies Restart gmail notifier Works like a charm

Microsoft Italy is organizing an Architect Day in Milano 22/3 covering Service-Oriented Architectures, Microsoft Indigo and BizTalk Server 2004. Hope it is as interesting as the Microsoft Visual Studio Team System Day. See you there.

I got the following error debugging an ASP.NET project earlier today: Auto-attach to process '[2440] w3wp.exe' on machine '...' failed. Error code 0x8013134b. The problem was that I had installed .NET 2.0 which had registered ASP.NET 2.0 on the Web Site I was trying to debug. Fixing it is simple: Run the IIS Manager Right click on the web site with the problem Click the ASP.NET tab Change the ASP.NET version from 2.something to 1.something in the combo and debugging works again

This has been one busy weekend. I have been designing a new (and of course very urgent) feature this weekend for a client. I don't know about you; but designing a software architecture for me is a abstract/visual process. I see components and source code interacting in my mind. This is particularly true in the beginning of the design phase while I still have to understand the problem, constraints and possible options. When I have a rough idea of what I want to do, I scribble a lot of notes before I get more concrete and draft charts and UML diagrams. I was present (at least physically) this weekend and have vague memories of going to a park and playing with the kids. I ...

Got a new backpack at work today, and it reminds me a lot of this software engineering cartoon: Bag engineers apparently face the same problem The large front pocket of the bag is completely useless as it was sewn shut when they put on the logo…

I attended the Microsoft Visual Studio Team System Day in Milano today. They did not put the slides in the goody bag but you can check out the slides from Visual Studio 2005 Team System at DevConnections as they are virtually identical. I had a rough idea what would be in Team System but I did not imagine how many features they are putting in it. My administrative summary : Team System gives you the core features of Rational Rose for managing the life cycle of a project at a fraction of the cost. I will not cover all the features presented today but mention some of the ones that I like the most. When you start a new project, you define the "model" you want to use. ...

Jeff Sandquist cut his mustache and looks 10 years younger. I had my hair cut and end up looking like one of the monks in The name of the Rose Did I make a mistake when I said short? It saves time and money though as I don't have to cut my hair for the foreseeable future.

In the past I used keyboard emulation to do cut and paste on the Pocket PC. But, after one of the latest .NET Compact Framework service packs (I think it was SP3) it does not work any more. I cannot even use Ctrl+C, Ctrl+V, Ctrl+X with the keyboard :-( Removing functionality with service packs should be banned by law. I threw out my old code and used the APIs to get full cut and paste support in my .NET Compact Framework applications. I decided to keep it simple and call the APIs passing the currently active text box as an argument instead of inheriting from, and extending, the built in text box. UI source code private void menuItemCopy_Click(object sender, System.EventArgs ...