Firefox wins Charlie’s Favorite Software of 2004

It’s the end of the year, so it’s time for a favorite computer products list. This is a very personal list, highlighting the software and tools that I most enjoyed using.

The Product Supreme: Firefox

The winner for this year is fairly easy to pick: the free, open source, cross platform Firefox web browser. As a long time Mozilla user, not all the features in FireFox were new to me. But Firefox does have a cleaner, easier to use interface than the Mozilla browser. Though both are based on the same technology, the big differences between Firefox and Mozilla are two fold:

  • Firefox has a new interface with menu choices similar to those in IE and other Windows based products.

  • Firefox is lighter and sleeker, in part because it does not have a built in mail client. Instead, you can use Mozilla Thunderbird, a mail client based on the Mozilla mail client, but which runs standalone. It makes sense to separate these two products, since there is no need to load a mail client just because you want to browse the web.

For me, the five best features in Firefox are:

  • Tabbed browsing. This is the winning feature that makes IE look like a horse and buggy, or perhaps at best a Model T Ford. When searching for information, you generally need to keep more than one view open at a time. For instance, when searching Google, you may enter a search that gets good results, but which you think might be improved. With Firefox, you can just add another tab to your browser, run a new search, then switch back to the previous tab to compare the results. This is much better than cluttering up the desktop with multiple copies of IE.

  • Popup blocking. Popups are the bane of the web. Windows can multiply all over your desktop in a matter of seconds, and few of them are the least bit interesting. Mozilla has a nice clean way of letting you turn popups on and off, and it provides a simple way to let popups work on one site but not on another.

  • The DOM Inspector and JavaScript debugger. These tools for developers are, like Firefox itself, the best in the world of their type.

  • The password and cookie management tools. We all need to manage multiple passwords for multiple sites on the web. Firefox has found exactly the right formula, making it easy for you to add, delete, and use existing passwords. Similar tools make managing cookies a reasonable task.

  • Better security. Both Internet Explorer and Outlook (Express) are the sitting ducks of the world of crackers. The chances that someone will hack your Firefox browser are much lower than the odds that they will hack the Microsoft Internet Explorer.

Other great features include a wonderful new search bar, a customizable interface that can include as few or as many tools as you want, an extensible API that allows you to add very cool new features developed by third parties, the fact that it is free, the fact that it ships with source, the amazing live bookmark tool that allows you to integrate RSS right into your favorites menu, and much more.

Firefox is a winner. The amazing built in spam filtering tool for Thunderbird is also a must for people who are having trouble with Spam. I switched from Outlook to Mozilla mail many years ago, and I have never looked back. Not even once, and not even for so much as five minutes.

Plone 2.0

Another great tool that came out this year is Plone 2.0. Plone is a free, open source, highly scalable and quite excellent content management system (CMS). If you are trying to create a web presence for your company and need a simple way to get a good looking, extensible, powerful site up quickly, then Plone is among the best possible choices. It comes with all the features you need built in, such as automatic sign in and support for adding new users, workflow tools for tracking documents through a development cycle, and groupware tools for collaboration inside a big company. I’ve only run the installation on Linux, but it was extremely simple, and took only a few minutes.

A very mature product, which runs on Linux, Windows, the Mac and BSD, Plone has been translated into 40 languages, and supports working with multilingual content. There are several books out on Plone, and there are extensive courses available, including an upcoming three day training in San Jose on Jan 19.

Plone is based entirely on open standards. Built in Python, Plone is based on the rock solid Zope technology. Because of its power and flexibility, Plone is used by many major web sites, including NASA, Lufthansa, and a host of other sites.

Built with an extensible architecture, there are lots of add in features available, including support for PayPal, portlets, calendars, message boards, banking integration, file management tools, and much more.

Here at CodeFez, there is a great deal of interest in .NET development, so we run the excellent open source DotNetNuke content management system. DotNetNuke is a great tool, with many of the fine features found in Plone. Though not as mature as Plone, and not cross platform, I find that DotNetNuke is still an excellent choice if you want to work with a Windows based CMS.

Mono 1.0

Mono is a version of the .NET framework that runs on Linux, Unix and Windows. There are implementations of Mono for the x86, PowerPC, and SPARC platforms. I’ve been able to create ADO.NET applications in Microsoft Visual Studio, and port them unchanged to Linux using Mono. In my test cases, I did not even need to recompile these programs, but could use the Microsoft binaries directly on a Linux x86 system. There is also cross platform support for ASP.NET, nascent support for Windows.Forms, and a fairly mature level of support for building cross platform GUI applications using a tool called GTKSharp.

Based on ECMA standard 335, the Mono CLI plays much the same role in .NET development that the Java Virtual Machine plays in Java development. It provides a standard means of running the same application on multiple operating systems.

The C# language is fully supported in Mono. In fact, the Mono team has developed a million line plus C# compiler written entirely in C#, that can be compiled and used on both Linux and Windows. The Mono C# compiler is powerful, fast, and very stable. New development is going on constantly, and newer experimental builds already provide support for generics and other advanced features.

I like Mono because it is cross platform, is based on standards, ships with source and because it has an active community supported by excellent developers. Mono is a fine tool that you can install on Windows or the Mac in just a few minutes with a simple installer. Linux installation is a snap on Fedora Core 2, and on SUSE distributions. Installing Mono on other Linux distros involves a bit more work.


Fedora Core 3 is another great new product that I have enjoyed using. Though still lagging behind in multimedia and laptop ease of use, Fedora is easily a match for Windows in terms of content development, application development, networking and reliability.

A free, open source tool with an easy to use installer, Fedora has two beautiful, highly configurable desktop interfaces in KDE and GNOME. With the addition of Firefox for browsing, Thunderbird, Mozilla, or Ximian Evolution for email, OpenOffice for document editing, and with Konqueror for handling file management and other OS related tasks, Fedora and Linux now provide a rock stable, fast, elegant, and mature platform for computing. With a little skill and patience, you can even learn to burn CDs and watch movies on Fedora.

The new 2.6 Linux kernel used in Fedora 3 is an amazing tool that provides excellent support for multitasking via hyperthreading, support for small systems via embedded Linux, and support for big iron via NUMA and SMP. Linux systems now support a theoretical limit of 4 billion users, and up to 1 billion processes. You can now run up to 4095 major devices at one time, and 4095 minor devices. All of this adds up to greatly improved scalability on a system that was already highly scalable. You can read about these and many other features in Joseph Pranevich’s excellent article on the new kernel.

Overall Fedora Core 3 provides a great platform for computing. If you are tired of the glacial pace of improvements found on your current operating system, try coming over to Linux with the free, open source Fedora Core 3 operating system. There are major new builds and new developments in the Linux world coming out every few months, and sometimes every few weeks. In the Linux world, you don’t have to wait years to see fixes or new features in your operating system, and if you are really desperate to fix a bug, the source is available so you can roll your own improvements.

Other Fine Tools

Other products that came out this year that I enjoy include the always excellent Visual SlickEdit 9.0 and its powerful competitor, JEdit. Both of these fine, powerful, extensible, editors run beautifully on Windows and Linux. Visual SlickEdit has many powerful features such as refactoring, syntax highlighting, code insight, visual development support for Java, support for debugging your code, and a built in scripting language. JEdit has many of these same features, and a superb set of tools for developing addins.

Delphi 2005 also shows major improvements over Delphi 8.0. I love Delphi, so it is great to see it moving in the right direction. I recently moved a big project to Delphi 2005, and found that it helped me uncover some hard to find bugs. Dreamweaver 2004 is another excellent product, and one which I use heavily. When it comes to creating HTML documents, Dreamweaver is the gold standard, though OpenOffice is only a hair’s breadth behind. In fact, OpenOffice 1.4 is another great product that came out this year.

In the hardware world, I have enjoyed my multimedia ready ShuttleX computer, which is small, fast, and quiet. Of course, my iPod has also been a big hit. I use my iPod when I am out exercising, when I want to listen to music on my big stereo in the living room, and when I am in the car via a cassette deck plug in tool.


Personally I’ve had a nice year, but the news on the international and economic fronts was not always good. With trouble in the Middle East and with the dollar, I’ve found the plethora of great technical products that have come out this year helped me remain upbeat and optimistic. If you have a computer, a good connection to the Internet, and a little technical knowledge, then you will find that there is a steady stream of excellent new products available that are just waiting to be explored and enjoyed.

Apple Celebrates the Holidays by Suing the Little Guy

The dubious news story of the day is that Apple is going to court to determine which people leaked information that appeared on Apple centered web sites such as powerpage, think secret , and apple insider. After yesterday’s Microsoft and EU news, it is interesting to note that this case hinges in part around multimedia features. I wonder if people are thinking that multimedia and computers might be a potent combination? Gosh darn, I should have thought of that myself!

Whatever one might say about Microsoft, its hard to imagine Bill and Steve ever suing anyone over an issue like this. In fact, one often suspects that Microsoft insiders are likely to hear the latest rumors at a legitimate news conference, even before they are told to begin testing or working on a new product. Bill may get my dander up from time to time, but he isn’t that kind of crazy. In fact, he’s probably smart enough to know that in today’s world, there is no such thing as a secret.

Not content with piling on little web sites like powerpage, Apple has gone on to sue two members of their "Apple Developer Connection" program for foolishly (insanely?) posting beta versions of Apple OS X on the web. I have to ask, which is crazier: Posting the code in the first place, or daring to mar a happy and very profitable holiday season by suing people?

Exactly what possible difference can it make to Apple if folks know the details of their OS before it is released? Do they think Microsoft:

  • Has time to care what Apple is doing?
  • Feels threatened enough to act on something like this while engaged in the insane process of trying to release a much delayed new version of their own OS?
  • Doesn’t already have a copy of the darn thing?

Or has Apple so completely lost it that they think the kind of multimedia and image crazed maniac who uses a Mac is ever likely to switch to Linux, for Pete’s sake? I find it hard to believe that hard core Linux developers can’t get a look at a beta of OS X if they really want to. But if they did look, they know that Linux is not exactly a hot competitor in the multimedia market. Servers maybe, but not multimedia! Why waste time emulating OS X? They have more important things to do.

Even more peculiar is the desire of these depraved developers to illegally post a beta copy of Apple OS X on the web. I worked at Borland long enough to understand that there is a temptation to try to buck up one’s flagging self image by pretending that access to a secret somehow makes one special. But when I was tempted to stoop so low, I always wanted to impress people who I actually knew, rather than total strangers who downloaded a file anonymously. Unfortunately for me, everyone I knew who cared about such things was already on the darn beta, and had already signed a blanket NDA. I mean, I wasn’t going to get too far trying to impress girls at a party with my inside information about Delphi’s ability to make ActiveX controls!

The talk on the street is that Apple is going to sell four million copies of the iPod this Christmas. If I were sitting on top of such an expensive and red hot product , I would tell my lawyers to get a grip! I have no idea what the margin is on an iPod, but I wouldn’t think anyone would be too far off if they started doing things like multiplying 100 times 4 million, just to see what that figure might look like! And then you can start thinking of the profit Apple makes when people download songs from the Internet. Let’s see, one dollar a song, with a distribution cost too small to measure. Hmm. Somehow, if it were up to me, instead of getting mad, I think I would just count my blessings. If I were really feeling mean, I would just tell those developers that they were no longer members of the "Apple Developer Connection," and then let it go at that.

What do you think? Has Apple gone crazy? Are all lawyers crazy by definition? Has the whole world gone crazy? Is it time for a holiday vacation, or what?

Microsoft Loses EU Court Appeal

Microsoft lost a significant appeals case in Europe today. As result, they will have to pay a 665.4 million dollar fine, and share information about server protocols that had previously not been disclosed. The New York Times added: "Under the ruling, Microsoft must sell to computer makers a version of Windows without its Media Player software for playing music, movies and video clips sent over the Internet on personal computers."

I have not conducted a serious examination of this case, but it does seem to me to be interesting. It also touches on various subjects such as the rights of companies vs the rights of individuals, antitrust legislation, the free market, etc. As an avid supporter of the free market, I would be interested in hearing other CodeFezzers opinions on this legislation.

  • What do you think is the import of this case? Will it affect Microsoft, or is it a non-serious issue for them? Does it enhance or restrict the rights of individuals?
  • Does Microsoft deserve the verdict, or is it unfair? They have paid billions of dollars to other competitors in antitrust cases settled out of court this year. Are they getting off cheap with a $665 million dollar fine? Is the fine itself unfair?
  • I have heard, and it appears to be true, that the Windows Media Player cannot be uninstalled. Should users have the right to uninstall software like that, or should Microsoft have the right to omit the uninstall feature?
  • Is this case really about something else, or is the verdict focusing on the correct issues?
  • Are there common misconceptions about this case?

We want to hear from you. What do you think about this case?

A First Look at Delphi 2005

Delphi has been always a very capable product. From Delphi 1 to Delphi 2005 we witnessed 10 years of RAD compiler releases that truly changed the landscape of Software Development for millions of developers. Even those who did not use Delphi found their tools influenced one way or another by this remarkable product.

Unfortunately, I was not very fond of Delphi 8. With all due respect to my friends and colleagues at Borland, it was behind, for the first time, the equivalent Microsoft technology. In particular, it was not as good as Visual Studio.NET 2003. Delphi 8 had serious problems with its ASP.NET implementation and in the IDE features it provided.

I have been using Visual Studio 2003 and 2005 for most of my work this year. My customers pay me a lot of money to help them make the right decisions regarding software development and the choice of the development tool they use. I could not choose Delphi 8 just because of a sentimental attachment.

Delphi 8 for me was not satisfactory. I found its support for ASP.NET applications was weak, and I found the VS IDE a lot richer and more powerful. Of course, the VS IDE is not perfect, but it was clearly better than Delphi 8.

I knew that Borland could not allow the next version of Delphi to be a flop. It could not be a “me too“ version, it had to be an “Oh yes, we can do that and then some” version.

BorCon 2004

At BorCon 2004 in San Jose, CA, the Delphi team made everyone feel really good at the “Meet the Team“ event. They showed a number of great demos and made everyone feel that they had an excellent development tool on its way for all developers, whether they use .NET or Win32.

I remember attending Microsoft’s .NET events in 2001 and 2002 and watching incredulously as hundreds of people’s jaws would drop with a collective “WOW“ as the MS product team members demonstrated features Delphi has had since 1995. Looking around the room I wanted to shout, “Yes, it is called Delphi, it has been doing that since Bill Gates was in high school!”

The Shipping Version of Delphi 2005

I just received the shipping version of Delphi 2005 Architect and I installed it right away. I will be playing with Delphi 2005 for the next few weeks. I have to admit, I have missed using the product over the last year!

When I got my hands on the shipping version of Delphi 2005, I dug into it with considerable interest. A lot was at stake with this release, and I was anxious to see how it would turn out. In the next two sections of this article I will give you my preliminary report on what I have found so far.

Delphi 2005: The Good Stuff

  • The ECO stuff just amazes me! It is a technology that I believe everyone should spend time exploring. Over the next few weeks and months I will provide some articles and maybe some Free Videos here on Codefez that demonstrate the power of this interesting technology.
  • The compilation of Win32 and .NET applications in the same IDE is wonderful. Delphi 2005 is the only development tool providing this capability as of today.
  • The refactoring tools are awesome.
  • The ASP.NET Deployment Manager appears to be pretty cool.
  • Being able to develop in Delphi and C# in the same IDE (same solution even) is very nice.

All of these features are significant and represent important steps forward for Delphi. The team should be proud of their work in these areas.

Delphi 2005: The Not So Good Stuff

But not all the news about Delphi 2005 is good. Here are a few of the problems I noticed in my preliminary examination of the product.

  • The installation took a long time to finish (~35 minutes not including the Uninstall which takes almost 1 hour) on my P4 3.2 with 1 Gig RAM.
  • After installation, the Delphi IDE took 2 minutes and 45 seconds to load.
  • I have XP SP2 installed. Upon loading Delphi 2005 for the first time, I received the warning Dialog below when trying to open an HTML file.

I created a default Win32 VCL application. It took 1 minute to load and the main form flashed 3 times. I expected it to load quicker; loading the IDE itself took such a long time I thought it was pre-caching these kinds of things.

  • In the toolbox I filtered on “b“ to get a list of all components that start with that letter. From the resulting set of controls, I dragged a TButton and dropped it on the VCL form. This action created 2 buttons on the Form instead of 1. This behavior occurs only when the toolbox is filtered. Unfortunately, I prefer to work with filtered lists.
  • The most annoying problem I think was the warning message I got every time I placed a “.” after an object name to bring up code insight. When I did this, a dialog like the one below showed up.

For information on a couple of these problems please read Allen Bauer’s comments on what happened and why at

I have not yet done an extensive examination of Delphi 2005. But as you can see, so far I have found some very good things, and some things that are not so good. I expect to have several articles about my findings here in the next few weeks. I am particularly interested in the following areas which I will report on: ASP.NET, .NET Remoting, Component Design, Component usage, ECO and WebServices.

So expect me to be publishing a fair review of each one of these areas very shortly. Till next time, have fun!