
 misc ¦  tutorials ¦  Add&Win Game


Marco Cantu
Chad Z. Hower
Niklaus Wirth


20 Visitors Online


Interview with Chad Z. Hower aka Kudzu

Who is Chad Hower?
Chad Z. Hower, a.k.a. "Kudzu" is the original author and project coordinator for Internet Direct (Indy). Indy consists of over 110 components and is included as a part of Delphi, Kylix and C++ Builder. Chad's background includes work in the employment, security, chemical, energy, trading, telecommunications, wireless, and insurance industries. Chad's area of specialty is TCP/IP networking and programming, inter-process communication, distributed computing, Internet protocols, and object-oriented programming. When not programming, he likes to cycle, kayak, hike, downhill ski, drive, and do just about anything outdoors. Chad, whose motto is "Programming is an art form that fights back," also posts free articles, programs, utilities and other oddities at Kudzu World at http://www.Hower.org/Kudzu/. Chad is an American ex-patriate who currently spends his summers in St. Petersburg, Russia and his winters in Limassol, Cyprus. Chad can be reached at cpub@Hower.org.

Name: Chad Z. Hower
Age: 27
Civil status: Married
Residence: Summer: St Petersburg, Russia - Winter: Limassol, Cyprus
Known Programming languages: Delphi, Java, C#, Visual Basic, Fortran, Forth, Assembly, GFA, C++
Hobbies: Travel, Skiing, Kayaking, Driving, Photography, Programming, History, Languages
Contact: cpub@Hower.org



SwissDelphiCenter: How did you start and how you got into programming (later Delphi). Did you learn by yourself?

Chad Hower:
I started on a Timex Sinclair with a memory expansion kit that brought the total memory to 4 kilobytes. It has a very simple version of basic and a chiclet keyboard that was very hard to type on. It was 1981 and I was 6. From that point I was hooked and learned everything I could about computers since then. I then moved to the Tandy TRS-80's, then the Commodore 64. From there I moved to the Atari STs, and finally to the PCs.


SDC: Why and when did Borland decide to ship Delphi with the Indy components? And how did you reach this?

Hower: Because the Indy components were in such wide use, and free, it made sense. The existing internet components that shipped with Dephi were quite problematic, so Indy was a logical choice because of its popularity. The price didn't hurt either. :)
Several Borlanders had been using Indy themselves as was Borland internally. More and more Borlanders started using Indy including many members of the R&D team. Eventually enough of them used it that they took it to management.


SDC: What was the goal when you started developing Indy?

Hower: Simply to provide some useful internet components. Winshoes (Indy's predecessor) was originally written in VB, and was ported to Delphi soon after Delphi came out. At the time of Delphi 1, the internet was just starting to grow, and combined with the fact that Delphi was brand new there were no Internet components yet.
I had projects that I planned to port to Delphi from VB, but they all relied on Internet access, so porting that layer was the first step.


SDC: Which are the most important changes with Indy9 to Indy8?

Hower: Many more components. The component count is around 120 now versus 69. There has also been a restructuring of certain core concepts, and many core additions such as command handlers for building servers in a visual way. There have also been many optimizations to many parts of the code.


SDC: Will Indy9 be compatible to Indy8?

Hower: No, but most of the changes are pretty easy to adapt to. Some code will port with no changes, while other code will require a few changes. For most people the upgrade path is quite minimal in effort.


SDC: Which are the main advantages of IntraWeb to script languages like ASP, ColdFusion and PHP?

Hower: It's like comparing Dephi to Assembly. With those scripting languages you are constantly in the HTML and you need to understand the HTTP protocol, HTML, and many low level details. IntraWeb is like VCL for the "web platform". You just build your applications in a manner very similar to a normal Delphi application and IntraWeb does the rest. What Delphi did for the WinAPI, IntraWeb does for Web programming.


SDC: You know the Delphi community very well. Can you describe what's unique about it?

Hower: The dedication of the user base. Its reminiscent of the Amiga or Atari ST crowds. They were not the biggest, but they were tight, and strong.


SDC: What do you specifically like about Delphi and/or not like about other languages?

Hower: Type safety, solid OOP support, a good inherent object library, non cryptic style, and fast compiles. Type safety is essential. Delphi enforces type safety, yet allows you to break the rules if you explicitly tell it thats what you want to do (with a hard type cast).


SDC: You've done software development in US and are now working in Russia, can you describe the differences between US and Eastern European based software developers?

Hower: Eastern European developers have learned with minimal resources. I've seen Delphi running on machines that I thought could barely run Windows and yet that person used that same machine to compile programs and develop code. I've also seen some truly amazing code. What many of them lack in resources, they make up for with desire and dedication. If the US ever opens the working Visa restrictions for Eastern Europeans, many programmers are going to be in real trouble. Not only because of salary requirements, but because of the sheer volume of very talented developers.


SDC: Why and how did you do something like Indy as an open source project and IntraWeb as commercial project?

Hower: Open source and Commercial products both have their places. Indy started when I was consulting and also had shareware. My income did not come from components and it was something that was necessary for my other software. I wanted to see it develop further, but knew that I could not dedicate the time required. So I experimented by open sourcing it, and that has made Indy what it is today. I never use half of whats in Indy, but its there because the community contributed it.
IntraWeb is unique in that its not just a set of components or a simple framework. It is very unique and really one of a kind. And everyone needs to make an income - so for us (Atozed Software) IntraWeb is one of our commercial products.
Its just a matter of market, timing, and needs. For us (at the time) Indy was just a smaller need of larger pieces, and open sourcing it benefited us as well as the user community. Indy continues to help us as well because it is used in our products including IntraWeb. We may decide to open source other source code in the future as well.


SDC: How do you see open source & commercial software evolve in the future now that you've experience with both?

Hower: I think that Commercial software is stable in its position. But I think that Open Source needs to continue to evolve. Red Hat is one of the few experimenters in this arena. Open Source is great but still poses a support problem for many companies. Open Source needs to evolve in such a way that it remains Open Source and keeps its heritage and its goals - but acquires some aspects of commercial software as well. I'm hoping to offer some insight into this more in the future with Indy. And some of it we've already seen by IBM adopting Apache and Linux, and Borland adopting Indy. But this is just the beginning.
I think that we also need to see the Open Source process documented and studied more, and replicated from there. Most Open Source software is merely "Abandonware" because of lack of participation. Indy is an exeption rather than a rule, as are Apache, Linux and other well known successful Open Source projects.


SDC: How do you see things evolve with .NET?

Hower: Most of this is going to have to wait to see Borlands final move on .net.
When Delphi .net is released we certainly could release a .net version of Indy quite soon after, but it would be very VCL centric and "odd looking" to the .net crowd. It would not work the ".net way". That is it would use VCL bases and not .net bases. It would be like an ActiveX is to a Delphi programmer - usable but not comfortable.
To rewrite it around the .net model in Delphi would be quite a bit of work and fundamentally alter the way Indy functions. This would also break compatibility with Kylix.
We may have two versions. Indy/VCL and Indy/Net. Time will tell. We already have a Indy/J that is in the works (Indy for Java) and I've ported some of the base TCP client to C# as an experiment. So in the future we may see multiple versions of Indy. :)


Copyright © by SwissDelphiCenter.ch

Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners