Delphi 2005, first class!

Last week in Santa Clara, CA I conducted my first class on Delphi 2005. Thanks to the students from Sacramento for making the week so pleasant.

So, you ask, how was the week with Delphi 2005? How did it stand the test of exercising most of its features during the week? Did it crash at any time? Did we find weak areas? Did we find superb areas? Read on to find out.

First Impressions

It was so great to find myself teaching Delphi again. When I tried teaching Delphi 8 shortly after its release, the process was painful and demoralizing. We quickly made the decision not do that anymore so as to eliminate the sense of frustration experienced by the students and their instructor.

But working with Delphi 2005 was a very different experience. In fact, I have to say the week of teaching Delphi 2005 was pleasant! We found a lot of problems together but I could honestly say that the product was usable and productive.  Frustrating at times, but hey, it looks like we are getting a Patch any day now in December 2004.


ECO is a cool product. I like it a lot! It is very powerful! We ran two different exercises during the class:

  1. First we generated the model, code and UI based on the Northwind Database in MS SQL Server 2000. This worked beautifully.
  2. Then we built the whole model from scratch. We generated the code and the UI, and then exercised the Persist to XML option. It also worked beautifully!

My only comment on ECO is that the product is screaming for some wizards: there are way too many steps to remember. If you open the wrong model or file it is easy to get lost, and it can be difficult to get back on track.  I am grateful to Anthony Richardson for writing tutorials that saved the day!

Project Manager

The Project Manager is flaky! During the .NET Remoting chapters, having four projects open under one Project group caused weird problems during compilation. We kept getting errors that one project could not see the assembly of another in the same group. This happened several times.  Closing the Project group completely and reopening it fixed these problems, but it was annoying having to close and reopen the entire Project Group so many times during that exercise.

Import …where?

The students were very interested in Interop because of the amount of ActiveX and Win32 code they have. They knew that their migration would occur slowly over time; that it would be too difficult to do a complete rewrite all at once.  I looked for the menu item “Import Type Library” everywhere, under .NET and under Win32 — no GO! I can’t believe there is no “Import Type Library” in Delphi 2005! It is especially important in Win32, although it is much needed in .NET as well. 

The bigger surprise was not finding “ActiveForm” under the ActiveX tab in Delphi Win32. That was disturbing to the students, especially for those who use ActiveForms a lot.  But I quickly cooled the flames by reminding them that: “COM is like smoking! If you are doing it, you need to stop! And if you are not, then you don’t need to go there!”


The Editor was nice and behaved well during the week. The one exception was CodeSnipets. I would have liked to be able to highlight some code and drag that code to the CodeSnipet window to create a new entry.  It seems that this was intended to be a feature, but it is not working yet in the IDE. Personally, I believe it is a potentially great feature, and it would be very nice to have it working.


The Borland Data Providers appeared to us to be very nice indeed and to work well. We did not stress them out by any means. We did, however, successfully work through several examples that deal with the Connection, DataAdapter and Command Objects.


This feature is MUCH MORE stable than in Delphi 8. I like the Deployment Manager a great deal. It allows the developer to easily synchronize and deploy projects to any directory or FTP site. It even has pieces of the old check-in tool we used to use on the team at Borland to show diffs and visual representation of changes.


The debugger was very stable. I was impressed by the fact that the CPU window, now docked into the editor, can show IL, ASM and Delphi code all at once. This really gives the developer a better understanding of what is happening in their code.  I also found the inplace editing of Breakpoint conditions to be a cleanly executed and highly useful feature.


I am still not convinced that the changes from Delphi 8 to 2005 in the namespace area are sufficient to bring Delphi up to speed as a first class citizen in the world of namespaces.  The language is screaming for a new keyword “Namespace” that will fix the problems once and for all. Danny Thorpe, explained to me during our trip to Toronto that he is considering that approach. He said, however, that it will be a major job to implement that feature in the compiler. Furthermore, he was worried that it would not work well with the FAST one pass compiler we have now. I just don’t like to see all the stuff I see when I open a Delphi written assembly with the reflector.  When viewing an Assembly in C#, I would like to see my namepaces exactly as I declared them.


All in all, both the class and I were pleased with the experience we had while playing and working with Delphi 2005 for the whole week. There were a few rough spots, but the product stood up well to our fairly extensive testing.

The Learned Elders of DotCom

I have discovered irrefutable proof of the existence of a the much-rumored secret cabal of shadowy industry leaders who secretly pull the strings of power, thereby directing the fate of our business – and indeed, our own fate. This group, who I’ve identified as the Learned Elders of DotCom, meet in secret, forging their unholy alliances and hatching their nefarious plots. There has been no shortage of circumstantial evidence of this new Illuminati for many years. Surely there is no other logical explanation for the Digital Millennium Copyright Act? AOL? The popularity of the C programming language? Microsoft Bob?

It was with IBM’s release of OS/2 2.0 many years ago that I first suspected our collective destiny was being steered by The Elders. Sure, a real 32-bit operating system was nice and all, but did the distribution really require 23 floppies? It was at that point I began to suspect the leaders of IBM and Verbatim had forged a blood alliance. The “truckload o’ floppies” distribution clearly invited far too much suspicion, causing the Elders to invent data CDs, allowing hundreds of megabytes of bloated bits to fit on a single, innocuous looking disk. With Microsoft’s release of Windows 95, the collusion between the software giant and Seagate was plain to see, and the real purpose behind the CD become clear: buy more hard drives.

The latest example of The Elders’ handiwork – the undeniable proof of their existence – is almost beautiful in its diabolical simplicity. This scheme afflicts virtually anyone with a wireless mouse. If you, like me, were duped into purchasing a wireless mouse for its “freedom” and “convenience,” I invite you to do the following: look at the top of your mouse. What do you see? A few buttons? Maybe a scroll wheel? Exactly. Now turn the mouse over, and you’ll find maybe a little red light and perhaps a small button to engage the wireless connection. What’s missing? That’s right: THERE IS NO STINKING ON/OFF SWITCH! Your only choices are to make a substantial investment in Energizer or face the ridiculous inconvenience of removing your batteries when the mouse is to be unused for any length of time. Of course, you can buy a charger and some rechargeable batteries, but guess what? Energizer makes those too!

Now that I have blown the lid on the whole Elders of DotCom operation, I fully expect retaliation. I guess I might as well alert my attorney ahead of time of the impending RIAA lawsuit.

Where are the Smart Locksmiths?

Bill Gates spoke at the MS IT Forum in Denmark today, commenting that one of the primary problems with IT security is the fundamental weakness of passwords. He added that smart-card and biometric technology were, in his view, the authentication schemes of choice for the future. I totally agree that passwords are a weak link in security. Protecting critical systems or data with a phrase that can be stolen, peeked at, guessed, hacked, etc. is inherently scary. However, the reason passwords, despite their flaws, stay with us today is because, wherever you go, there they are; they’re convenient. You don’t have to remember to put your password in your pocket before walking out the door in the morning. You don’t have to keep a spare password under a hollow rock in your front yard. As long as your brain works (and if yours is like mine, it might take a few false starts before it does), you can get into your password protected system or data. Moving to smart card technology means that, like most automobiles, you must always remember to keep your physical authentication credentials on your person. And if you forget your cards, it’s not like you can just call up your computer club to jimmy the lock for you.

I do like the idea of biometric technology. After all, my fingerprints, irises, and DNA tend to be with me wherever I go. However, it will be many years before biometric technology hits the mainstream because there are a number of hurdles the must be overcome before mass adoption can become a reality. Chief among these hurdles is the lack of software and hardware support. Most authentication schemes support username/password or smart card, but few support biometric mechanisms. And while hardware such as fingerprint scanners are available at a relatively low cost, the are still not widespread, and integration with PCs is sparse. I also see a battle coming with privacy advocates on several fronts over biometrics, and it remains to be seen how these will play out.

Got you right where we want you

The New York Times reported recently that the popularity of Firefox has caused Microsoft Internet Explorer’s market share to slip 2.5% to a paltry 92.9%. It’s a both sad and humorous to me that Microsoft has so completely sewn up the browser market that it becomes newsworthy when their market share teeters on the brink of the mid-nineties. We all know that the real innovation in web browser technology came during the era when Microsoft and Netscape were duking it out for dominance. Of course, Netscape paid dearly for their choice of competitors, but the playing field is different today thanks to the legal smackdowns resulting from the Netscape-IE feuds. We can only hope that in the near future a 2.5% slip in market share for IE won’t be so news worthy.

Nice knowin’ ya, Palm

Speaking of market share, PC World quotes a Gartner report saying that Windows CE has overtaken PalmOS for the overall PDA market lead (excluding smart phones). Microsoft’s share now stands at 48.1% compared to PalmOS’ 29.8%. To put PalmOS’ free fall into perspective, they led the market last year with 46.9% compared to Windows CE’s 41.2%. I used to be a die hard Palm user, but I admit that over the past couple of years I have been slowly sucked into using Windows CE devices, mostly due to the ease of development with the .NET Compact Framework. However, I truly hope PalmOS can get back on track – we need the competition. Otherwise we may find it noteworthy if two years from now some upstart mobile OS makes a 2.5% dent in the market share of the Windows CE juggernaut.