Friday, August 27, 2004

Great Hackers - huh?

Nick,, posted a reference to this peice and I finally got a chance to read through it.  I'm sorry, Nick, but what a bunch of self serving clap-trap?  From the article...

Great hackers also generally insist on using open source software. Not just because it's better, but because it gives them more control. Good hackers insist on control. This is part of what makes them good hackers: when something's broken, they need to fix it. You want them to feel this way about the software they're writing for you. You shouldn't be surprised when they feel the same way about the operating system.

Huh? Why is this some generally accepted axiom?  I personally know a couple of engineers that one could classify using Paul's terminology of “Great Hacker.”  Chuck Jazdzewski and Anders Hejlsberg. Anyone who's been around the block at least once in the Delphi community has heard these names bantered about more than once.  Anders was the technical wizard behind Turbo Pascal and later the Delphi compiler. With Chuck they were geniuses behind the design and architecture of the Visual Component LIbrary.  I don't think either one of them chose any kind of open source because it gave them “more control“. Besides when Turbo Pascal and Delphi were being designed and architected, Open Source was an underground, backroom movement.

What do hackers want? Like all craftsmen, hackers like good tools. In fact, that's an understatement. Good hackers find it unbearable to use bad tools. They'll simply refuse to work on projects with the wrong infrastructure.

OK, I can agree with this one.  So, Chuck and Anders created their tool of choice.  Can you imagine Delphi being built out of something like Python (zing!)?  So we use the best tool at our disposal with which to build Delphi; we use Delphi.

For example, if your company wants to write some software, it might seem a prudent choice to write it in Java. But when you choose a language, you're also choosing a community. The programmers you'll be able to hire to work on a Java project won't be as smart as the ones you could get to work on a project written in Python.

Again, Huh?  Of course he tries to mitigate and backtrack on this statement a little if you follow the link, but the cat is out of the bag.  I'm sorry, but a “Good Hacker” is good no matter what language they use (OK, except maybe with Perl ;-).

Now of course if all Paul means by “Good Hacker” is a really good programmer, then I'm sorry I even compared Chuck and Anders to this hypothetical “Good Hacker.”  These two, I would place in the “Master Software Craftsman” category... sort of like the difference between a good carpenter framing out a room and a master cabinet/furniture-maker.  I do have to admit that some of Paul's article was interesting an intriquing, but it got muddled up in several sweeping generalities.

Tuesday, August 24, 2004

VCL Component registration.

How many of you have found that when you create a design-time package for Delphi, there are many things you can do in the unit initialization equally as well as using the “sanctioned” technique of providing a single global procedure called “Register”?  You may have discovered that things like the Open Tools API services are available, you can register property/component editors with some success as well.  Well... stop it!  Please make sure you are using the properly sanctioned technique of placing all this code into a “Register” procedure in one or more units in the design-time package. 

There are some new features and services that the next version of Delphi that heavily relies on the registration of wizard, components, property/component editors, and custom modules be done from within a Register procedure.  Let's just say that the next version of Delphi will “demand” that component developers are following the rules.  The good thing about this is that using the Register procedure will work for all versions of Delphi, so you shouldn't be breaking any backward compatibility, nor are you going to be required to introduce yet another IFDEF.  If you take a quick look over your code and make sure that this is the case, then you should be in very good shape and ready when we release the next version of Delphi.

Monday, August 23, 2004

What ALM is not

There seems to be a bit of confusion regarding what ALM (Application Lifecycle Management) is and isn't.  First of all, unless you create single one-off utilities, you need ALM.  Just because, “Management” is in the name, doesn't mean ALM is for managers.  ALM simply recognises that there are phases to development of an application, even informally.  What we are trying to do with ALM, is to simply provide tools whereby you can be just as productive in all phases in the production of software as you are in the development phase.  ALM's goal is also to not get in the way and force a whole shift in your process in order for it to become useful.

Personally, I feel that one's approach to ALM should be gradual while at the same time intentional.  Probably, the most common starting point in any ALM solution rollout would be to implement some form of source code control and archiving.  If you're idea of source code control is to copy your files to another machine or simply spool them off to a backup, then you are in need of a good archiving and configuration management tool.  Even if you are using a tool to provide these services, it may be worth your while to at least investigate StarTeam.  StarTeam is more that just a source code management tool.  It is an entry point into several broader areas of ALM.  Entry level requirements management, defect/change request tracking, tasks lists, which are all parts of the ALM story.

Many of the smaller consultant folks may scoff at the idea of the use of such a seemingly large tool to handle all these tasks.  However, even in these cases, clearly defined requirements are an absolute must.  Tracking defect and change requests in a formal manner is also something that every consultant or consultant shop needs to do as well.  Post-it notes, and text files are hard to track globally and don't scale very well.

At this years BorCon, you'll get to see how well the next version of Delphi, code named “Diamondback,” can help you, the small developer, actually begin to take advantage of these new ALM tools.


Saturday, August 21, 2004

A good problem to have.

It is becoming increasingly clear that in my BorCon talk, 1174, I won't have enough time to cover all the new things in DiamondBack (the next version of Delphi).  For many things I will only lightly touch on because they will be covered by other sessions.  I, however, will be focusing on all the new IDE features, but even then there is so much, that in a single hour and 15 minute session I will not be able to cover all aspects of the product.  So, I'll either break it up into a Part I and Part II, or add a session, it they can find a reasonable time-slot.


Danny is starting to demostrate his “Chief Scientist” chops.  This post,, from Nick certainly got handily pounded upon by Danny in this,, post.  So, Nick, what's your response?  Just wait till I can pop some popcorn, and get comfortable... Ahhh, OK.. Ready, GO!

Thursday, August 19, 2004

A Delphi case-study

From the annals of the news:// newsgroup another great post about the usage of Delphi 7 & 8 to move into .NET:

From: Sinan Karaca

I wanted to provide a "case study" based on my experiences using Delphi 7&8
in tandem.

1) Using Delphi.NET, I was able to start coding for the .NET platform
immediately. Without learning a single new thing about .NET. I used VCL.NET,
of course.
2) As the need arose, I started working with .NET classes and learning
them - the rest was handled by VCL and the other FX that Delphi provides.
This made the learning curve very, very smooth.
3) All my expertise and knowledge on the Win32 API, I leveraged with
P/Invoke. While it is a valid charge that my code won't run on Mono, I
really don't care. I am targeting .NET FX 1.1 on Windows. It will be years
before Mono and/or other .NET implementations come close to the
behavior/stability offered by M$ on the Windows .NET FX. Although M$
presents .NET as a new platform, I tend to see it as a new framework -
nothing more.

4) Maybe this is the best part - I was able to back-port the same
application to Win32 in a week or so. AND I have single source compiles for
Win32/.NET now. True, there are quite a few IFDEFs here and there, but that
is all it cost.

We all know the famous example - open the Delphi 1 fishfacts app, and it
compiles under D8. Now you have a single source app, compiling on Win16,
Win32, and .NET. This definitely says something!

I consider my knowledge of VCL an investment, one that will last well into
the future - Borland gives us reason to believe that even when M$ drops the
Win32 API, we will still be leveraging our VCL knowledge - and natively, at
that. While I have occasionally fallen in to the "oh what if Delphi gets
discontinued" panic, which seemed to be a real threat back in the Del Yocam
days - I think time has proven the choices I made.

What can I say - keep it up guys! We love ya.


This is silly...and funny

From the news:// newsgroup:

From: Captain Jake

Has anyone else noticed that olympic gymnast Brett McClure looks a lot like
Allen Bauer? Could this be why D9 isn't going to be ready until the end of
the year? Hmmm?


Read Jake's Blog at
Or Get the RSS Feed at

Wednesday, August 18, 2004

Quietly blogging

I happened across this blog, from a young girl in Hong Kong who keeps a very close eye on Borland, Delphi, and the Delphi newsgroups.  She's a new Delphi programmer (since 2002) and certainly enjoys using it.  It's always great to see new, excited users of Delphi.  Unfortunately, she is not able to attend BorCon this year since she has to take care of her grandmother.  At least she has her priorities straight; family should always come first.

Corporate Roadmap

While Danny got to take part in all those most excellent team building excercises for the first two days of the offsite meeting, I was able to attend on the final day, yesterday (August 18, 2004).  It was a day full of buzzword bingo (I lost count of the number of full cards I got ;-), but one thing you can say for Boz (Sr. VP of Product Development), is that he's a doer not just a talker.  You know how there's those little survey cards you fill out at every conference?  I was pleasently surprised that he (Boz), took them very seriously.  After they were all collected, the data was compiled and in the closing session the results were presented.  It was very open, honest and sincere.  Also, at each session we were to identify specific “next steps” to take and actually assign action items to certain individuals with a real deadline to meet. 

I've been to several of these off-site meetings over the years thae I've been at Borland, and frankly, they've been nearly useless.  We didn't spend a lot of time actually discussing the business, or the processes, in concrete, directly applicable terms.  This one was a total blitz of corporate strategy, competitive analysis, customer feedback, true concrete next steps, etc...

I also have to give a few kudos to Pat Kerpan, the CTO.  He lead the technical track and all the CS's (and myself, the lone Principal Architect ;), went through several key development issues, future directions, competitive responses.  Pat did an excellent job of both keeping everyone on track and out of ratholes.  He also seemed to know when a few rabbit-chases might reveal something fruitful.

While I did, miss some of the opening day sessions, the recap was reasonably thorough, and with a few crib notes from Michael Swindell, I was able to navigate the ocean of TLAs. If you'd like to get a glimpse at what came from these meetings, you can attend BorCon this year and we'll be beginning to talk about some of these things.

Whew! I suppose I should get back to work on helping to get Delphi ready to show at BorCon... See you there!

Tuesday, August 10, 2004

Comment spam...

I'm sure that the readers of this site have noticed the sudden deluge of comment spam that seems to have been inflicted upon this site.  I've had to start a morning ritual of deleting these bogus posts (and, unfortunately, any post that replies to them).  Of course, now that I've commented on them, they'll probably start kickin' it up a notch and increase the traffic.  I'm going to request that we change the comment system to require that the commenter have a BDN account.  This way, if there are any abuses, we can simply turn off their account.  I hate to have to push for this, but this is yet another thing that is going to be ruined by a few jerks out there.  I haven't turned off allowing comments for now since the number of these messages hasn't become too burdensome... just annoying.

Monday, August 9, 2004

More Diamondback information

Looks like the proverbial cat is beginning to claw its way out of the bag.  If you want some more juicy tidbits about Diamondback, the next version of Delphi, check out Michael's blog entry here:


Thursday, August 5, 2004

Whew.. Diamondback will be at Borcon

Finally... Stuff is starting to dribble out about the next version of Delphi, code-named Diamondback.  To get the real scoop, however, you really need to be at this year's Borland Conference in San Jose, California.  I'll be doing the general “What's new in Delphi” session.  This will cover all the new cool IDE features that won't be covered by other sessions.  So, if you look here,1410,32499,00.html, you can get a hint at what features you might expect to hear about and see at the conference.  Also, you certainly don't want to miss the Monday night “Meet the team” session... trust me, you want to be there.

For information on how to sign-up for the conference and the costs, check out
For information on the various tracks and sessions that will be presented, go to

Again, Monday September 13th at 8:00pm  is the must see event of the conference... esspecially for the Delphi programmers.