Interview with Nick Hodges by Clay Shannon
By: Clay Shannon
Abstract: Nick Hodges, member of TeamB and the Borland Conference Advisory Board, explains why he prefers WebSnap to 3rd party web app creation solutions, talks about his Super Bowl bet with the interviewer, his unusual method of working, etc.

|
You are a WebSnap expert. Have you used IntraWeb and/or ExpressWebFramework, and if so, how do they compare (with WebSnap and each other)?
Oh, boy, no matter how I answer this, I am going to get email from those guys. <g> I am a big WebSnap advocate. I think WebSnap is a marvelously conceived and implemented web framework. I say that after really struggling with it for a long time. I think it is really underappreciated, and sadly, under developed by Borland. That's not really anyone's fault -- it's sort of an "Overtaken By Events" situation. WebSnap is a solid foundation that never really got as fleshed out as it could be. It was really a component framework for building web applications, but people didn't see that early on, and so the component sets never were built. I tried to build one, but never quite "brought it to market". I've built the Web Client for Quality Central in WebSnap and really enjoyed that.
I've looked at EWF and Intraweb, and both are powerful, amazing technologies. They differ a lot in philosophy. EWF is more like ASP.NET, and Intraweb is more like Delphi proper. But for reasons that I can't quite explain, I don't use them. I always come back to WebSnap, where I have total control over the end result, and don't depend on anyone else's code to produce HTML for me. If I had to say why I don't use them, my one sentence answer would be "I want to control the HTML all myself". Both of these tools generate a lot of HTML for you, and I don't like giving that over to someone else. I used to long for a "web form designer", and then when I got one via IntraWeb and EWF, I found that I didn't really want it. Web pages are so template based that I ended up not seeing the need for drag-n-drop development for web sites.
|
Are there any other web frameworks that can be used in Delphi that you've used personally; if so, what are your thoughts on them?
Not really. Once I kind of "got" WebSnap, I've used that almost exclusively. I have been getting into ASP.NET, and of course the first thing I try to do is to build components for it using Delphi. I still don't get the idea behind a visual designer, though, unless you have components that can build the 80% of the pages that all stay the same all the time. I really don't think that the paradigm for developing web sites and web applications has really fully matured. I am intrigued by the possibility of ASP.NET webform inheritance, though. That could be the "holy grail" that I've been looking for.
How do you like it when people discuss non-job topics on the borland.public.delphi.jobs newsgroup?
Hehe, good one. I actually don't like it, but at the same time I don't like having to "police" the group. I've advocated for a long time for a *.jobs.discussion group on then newsgroups, but for some reason that never happens. The reason we TeamB types police that group is that if there is any discussion at all, it loses its effectiveness. A lot of potential employers told Borland that they didn't post there because it had became a morass of griping, H1B visa complaints, discussions about employment law, etc, and ceased to be a valuable resource for finding and getting jobs. Thus, we don't like or allow discussion there. The end result is a small amount of irritated people, and a good place to find work and workers.
I will send you a pound of cheese if the Vikings win the Super Bowl this season. What will you send me if the Packers win?
(This is easy, as I can say anything here with complete confidence that I'll never have to worry about sending you anything.) If the Packers win the Super Bowl this year, I'll send you a six pack of Grain Belt beer. And by the way, I like really sharp cheddar.
Where do you live, exactly? If you are not native to that area, where are you originally from?
Right now, I live right in the heart of urban St. Paul, MN. It's a different experience for me, having been a suburban boy all my life. I was born in Baltimore, MD, and live in Rochester, NY as a boy, but came to Minnesota when I was 12. I consider myself a Minnesotan through and through, though. In 1985, I left for fifteen years, most spent as an officer in the Navy, and I always missed the place. I finally moved back about two years ago, and I don't think I'll ever leave.
How did you get started in programming (How were you introduced to it, when did you realize you wanted to pursue it as a profession)?
I actually started programming in BASIC in 7th grade, in the early seventies. We would type our programs out on a dumb terminal on that tape, then login to a computer at the University of Minnesota (using those 300 baud modems where you stuck the phone in the rubber cradle) and run our programs. I actually started writing what would now be called "text-based adventure games" at that time. Eventually, though, it became clear to me sometime in my early high school years that girls didn't dig computer geeks, and I sort of gave it up. Then, in 1990, while I was in the Navy, I bought Turbo Pascal for Windows 1.0, and taught myself to use it. (Thank you Tom Swan) I asked a million questions on the Compuserve forums, and eventually started answering them. I parlayed that into an invitation to be on TeamB. It was halfway through my time at the Naval Postgraduate School that I knew I wanted to do it for a living. The Navy had me by the throat, so it took five years to get out and finally be able to be a full-time programmer.
How many years experience do you have as a programmer?
All told, I guess about 17.
What tool did you use prior to Delphi?
I've never really programmed in anything but Pascal. I used Turbo Pascal for Windows, and then Borland Pascal, and Delphi from the very beginning. I always say I'm proud of the fact that I've never written a DOS program, and never compiled a C program. (Oh, wait, I take it back. I recompiled Apache a few weeks ago. Oh well, I can't claim that anymore. Alas.)
What languages do you know besides Delphi? Which ones do you currently utilize?
Do HTML/CSS/XML/XSLT count as languages? I'm pretty much a one-language guy. Spending the first 10 years of my programming life as a "hobbyist", I decided that, since I had limited free time to program, I'd focus totally on Delphi and try to be an expert in that. I am getting into C# now, but that's so much like Delphi that it doesn't really feel like I am cheating on my best gal.
Would you recommend a career in programming to young people today?
To those so inclined, sure. As my wife constantly reminds me, I am about as "left-brained" as they come. Programming is, to me, as much an art as a science, and there are folks that definitely suited to it, and those that aren't, but you do need to be very analytical to be good at it. If you like to concentrate, and solve puzzles, then you'd probably be a good programmer. I also think people who like speaking and learning languages, and people with an affinity for music and music theory, make good programmers.
If so, what courses would you recommend they take? What languages/technologies should they key on?
It's hard for me to say, because I've never had any real formal training in Computer Science myself. My advice would be to do what I did - focus like a laser beam on one language, and of course I'd recommend that language be Delphi. Focus on algorithms, object-oriented programming, and good coding techniques. Programming is an interesting job, because you don't have to have any type of degree at all to do it. Shoot, Bill Gates doesn't even have a college degree.
Which software project/product that you have participated in are you most proud of?
I'd have to say that I'm most proud of the Web Client for Quality Central that I am developing right now for Borland. It's mostly a labor of love, and I enjoy building an application that benefits the Borland community.
What project[s] are you currently working on?
The Web Client for QualityCentral, and a project for a client in your beloved Wisconsin.
What is the name of your business and/or employer?
I am principle in Lemanix Corporation. We are a small but dedicated consulting shop here in the Twin Cities. We are a Borland Solutions Partner. If you are doing Delphi in the upper Midwest and need help, you need to get a hold of us.
The company name is formed from our first names (Lee, Mark, Nick). Finding a company name with an available domain name these days is really tough, so we made up the name.
What is your web site URL?
http://www.lemanix.com It's built with WebSnap!
What was the funniest experience you've ever had related to programming?
This is kind of embarrassing, but I thought for a long time, and I really can't come up with any experience that is funny enough to be labeled "the funniest." Just about any time I hang around with Steve Teixeira I have a good laugh. That guy is hilarious, and has a razor-sharp wit.
What was the most interesting experience you've ever had related to programming?
It's not one specific experience, but getting to know some of the Delphi R&D and QA programmers and seeing how they develop Delphi is really interesting. Some people admire rock stars or athletes or movie stars or whatever. Me? I idolize the people on the Delphi R&D team. Seeing how they build a project as enormously complex as Delphi is endlessly fascinating to me.
What was the most frustrating experience you've ever had related to programming?
I worked on a project one time where I had to write a little application to do something on a notebook when it hibernated and woke back up. There is an API for that, but it behaved in completely erratic manner, never doing the same thing twice. Combine that with an esoteric ActiveX control that didn't like being put to sleep and woken up, and I ended up having a really frustrating experience. I botched that project fairly well, and the customer wasn't really happy with the results. Another programmer did a great job and bailed us out on that.
What 3rd party tools do you find essential?
I use GExperts all the time. I can't imagine Delphi without it. Sometimes I recommend one of it's features in the newsgroups, and the user will go "Huh? What are you talking about?" before I realize that it's not a part of standard Delphi. I am also a huge fan of Modelmaker. What a cool, powerful, marvelous tool that is. If you aren't using Modelmaker, you are really missing out.
What do you hope to see from Borland, especially as regards Delphi, in the future?
I am eagerly awaiting the Delphi for .Net release. I think that is going to be really fun. It's a great time to be a developer now that .Net is stepping up to the forefront - much like it was back when Windows 3.0 came out. I think it is a good time to be a Delphi user, despite what a lot of "Chicken Little" types say. One of the struggles Delphi had was that much of the Windows world was based on C/C++. Things like file header translation made Delphi hard to fully exploit in Windows. Now that .Net is out, language becomes both less important and more important. Less important because .Net languages all can interact. Delphi programmers can easily write components and classes that C# and VB programmers can use without any problems. More important because now that the platform is language-neutral, the benefits and features of a language can really become a competitive factor, instead of how well the language works with the operating system. Delphi stacks up remarkably well against the other main .Net languages -- Delphi has always been a great language. Now that the playing field has evened out, I think it will finally have a chance to shine.
Where would you be without Delphi?
Probably in the Federal Penitentiary at Leavenworth. Seriously. I think that if I hadn't had Delphi and the fun of being involved in the Delphi community during my last years in the Navy, my frustration of being in the military would have lead me to punch some Admiral in the nose. Programming was a way for me to exercise my brain when the Navy did everything it could to keep me from doing so. Having a full-time job that doesn't challenge you is really tough.
Where would Delphi be without you?
Oh, probably pretty much where it is today. I'd like to think that a few people would be less productive with WebSnap than they are now, but other than that, I suppose it would still be on track - except for sizable dialog boxes. That's been a crusade of mine, and I've made some headway with it. All dialog boxes should be sizable. With each release, they make a little progress.
What effect do you foresee C# and Visual Studio.NET having on Borland in general and Delphi in particular?
I'm a staunch believer in the free market, so I think that competition is good - good for Borland and good for Microsoft, but mostly good for the developers who benefit from that competition. Many people don't stop to think about it, but Borland is one of the few software companies that have survived the 90's in direct competition with Microsoft. That is no small feat, and a testimony to the pure genius and hard work of many of the people who work there. Borland is being pushed hard by MS, and that can only be good for everyone. In particular, I think the Delphi language will be given some cool new features that the .Net framework will require that might not have otherwise been added.
How many hours per day do you spend programming/at the computer?
Oh, jeez, way too many - just ask my wife. Probably about five or six on an average day, and more if I am "on a roll".
How much time do you spend on the newsgroups/surfing the web each day?
Way to much. You really have to have something wrong with you to be a TeamB member. I actually work in a weird way. I'll concentrate very, very hard on something for fifteen or twenty minutes, and then I'll take a break and read the newsgroups or get up and walk around or read the news or something. The interesting thing is that I find that as I do this, my brain is still "multi-tasking" and working on programming problems while I am taking this break, and sometimes I'll solve the problem while I am in the middle of reading a news article or something.
Which programming websites do you have bookmarked?
Interesting question. Here are some:
http://bdn.borland.com
http://www.drbob42.com
http://developers.slashdot.org
http://www.codeproject.com
http://www.w3schools.com
http://www.webstandards.org
http://groups.google.com
How do you keep current with your programming skills?
I program all the time, read the web, read books, read the newsgroups, and talk with my coworkers. It's tough keeping up, but keeping up is where the real fun is.
You are involved in creating Quality Central. What is your role in that effort, what has been accomplished, and what does the future hold for QC?
Wow, that's a big question. My main role is developing the Web Client for QC. It's been really fun. Lots of members of the community have been a big help in testing and in making great suggestion. In addition, we TeamB members had a lot of input into the whole, over-arching design of Quality Central in the early stages, and we still have a lot of input in how things progress.
A lot has been accomplished so far. The server is up and running and, despite what people on the newsgroups say, a lot of bugs have been fixed and deployed because of QC. Each day QC becomes more ingrained into Borland's QA and R&D teams. As that happens, community input will become more and more valuable. QC's visibility grows within Borland everyday. The tools continue to improve, and the scope and capabilities of QC grow.
I should say that this growth is due in large part to the tenacious advocacy of John Kaster in Borland's Developer Relations. QC is his baby, and he's been a tireless advocate for it, and thus a tireless advocate for the voice of Borland's users. Jeff Overcash wrote much of the web service and the GUI client, and he deserves most of the credit for its implementation. I sometimes wonder if Jeff ever sleeps.
Quality Central has been somewhat controversial. Many people don't realize what a huge cultural shift Quality Central is. As I mentioned above, Borland has survived against Microsoft, and that has, over the years, built up a certain amount of paranoia and secrecy. Cracking open that strong cultural trait of secrecy is quite hard. Some in the community think that QC is a failure because it hasn't been an instant, complete success right out of the gate, and I think that is unfair. The community as a real, powerful voice via QC, and they should be supporting it and advocating it. QC is far from perfect, but it is improving, and changing Borland every day.
Which Borland Conferences have you attended?
I attended my first conference in 1995 in San Diego, and have been to every one since except the one in 1999, when I was on an all expenses paid, year-long trip to Seoul, Korea, courtesy of the US Navy (Hey, at least I'm not bitter....much). The Borland Conference is my favorite event all year. I really look forward to it. One of the coolest experiences - and biggest honors -- of my life has been being on the Conference Advisory Board. I'm on it again for the 2004 Conference. That's really cool.
Which was the best one, and why?
I'd have to say my first one, San Diego in 1995. That was just a treat. I was like a baseball lover at a fantasy camp. I met all the "luminaries" and had a gas.
Who do you consider to be the best programmer you know personally, or know of?
The best programmer I know of is probably Anders Hjelsberg. I know Anders a little, but I'll put him in the "know of" category. Probably the best programmer I know well is probably Xavier Pacheco. He's really smart and has a great mind for design. He really taught me a lot during the year that I worked for him. Plus, he's about the nicest, most honest, dedicated guy I know.
What is your "claim to fame" outside the realm of programming?
I don't know as I really have one. I suppose being a Dad to my three kids. Or how about this -- I have piloted an FA-18 to Mach 1.04. I claim that makes me the World's Fastest Delphi Programmer.
If you weren't a programmer, what do you think you'd be?
You know what? I really don't know. I really don't. I've often thought about that. I graduated from college with a Classical Languages degree, so all I am trained to do is be a Latin teacher. ;-) If I couldn't be a programmer, I really don't know what I'd do. It's certainly too late to go back to school. If I could, though, I'd study economics.
If you were given 30 seconds of free television air time, to be broadcast all throughout the earth, and could say anything you wanted, what would it be?
Hmm. I think I'd try to reduce the Christian Gospel message down into 30 seconds and say that.
Favorite programming book:
This is an interesting question. I suppose I should name one of the biggies, but my favorite programming book is Borland Pascal 7.0 Insider by Paul Cilwa. This was the book that finally gave me the "light bulb comes on" experience for object-oriented programming. Reading it really was a revelation. Honorable mention goes to Steve McConnell's Code Complete. And when in doubt, buy the O'Reilly book.
Favorite non-programming book:
Very easy -- Lonesome Dove by Larry McMurtry. This book is, quite simply, overwhelming. It devastated me for months after I read it. No novel has had such a profound effect on me. It's powerful, sweeping, and epic in scope. The characters were so rich and so very real. What guy doesn't want to be Augustus McRae? I'm irritated by it, though, because it ruined me for Westerns. No other Western can compare to it, so I can't read Westerns anymore. The only guy who's come close is Elmore Leonard. He's written some good Westerns. But Lonesome Dove is a giant among insects when it comes to Westerns. Honorable mentions go to The Caine Mutiny by Herman Wouk and To Kill a Mockingbird by Harper Lee.
Favorite movie:
Very easy again - Casablanca, simply the greatest movie ever made. This cannot be disputed. I love that film. I can't get enough of it. I've seen it at least 50 times. I can recite large stretches of dialog from it. Not a weak scene, not a weak performance, not a weak line of dialog, not a weak moment in the whole thing. Just magnificent. Honorable mentions go to "Ordinary People" and "On the Waterfront."
Favorite musician or musical group:
This is tough. I like lots of different folks. Lately, I have been into the Goo Goo Dolls, Third Day, Sixpence None the Richer, Shawn Mullins, and Remy Zero. Favorite of all time? Probably Springsteen. He's the king of Rock-n-Roll as far as I'm concerned. No one does a concert like him. No fancy fires, or lights or anything like that. Just hours of solid, hard-driving music. I was actually at the concert where they filmed the "Dancing in the Dark" video, the one with Courtney Cox. They panned the crowd, so technically speaking, I am even in that video. ;-) He played for four and half straight hours. Well worth the price of admission.
This interview took place via email May 2003
Clay Shannon is a Borland and PDA-certified Delphi 5 developer and the author of "Tomes of Delphi: Developer's Guide to Troubleshooting" (Wordware, 2001) as well as the novel he claims is the strangest one ever written, "the Wacky Misadventures of Warble McGorkle" (see
Wacky Warble, etc. for more information on the 4 Novels application, which contains this and three other novels he has penned).
You can find out more about Clay at: http://hometown.aol.com/bclayshannon/myhomepage/index.html
You can look into Clay's shareware and determine his current availability at: http://hometown.aol.com/bclayshannon/myhomepage/business.html
You can contact him at: BClayShannon@aol.com
Server Response from: SC1
|
|