|  
  
 Interview with Chad Z. Hower aka Kudzu 
  2002-06-24 
    
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 
                       |