Interview with Alessandro Federici by Clay Shannon

By: Clay Shannon

Abstract: Flamboyant Alessandro Federici talks about RemObjects (it's more than just a web services tool), the real purpose of school, responds to claims he is a Microsoft shill, and asks whether "PRINT Ciao mamma" counts as programming.

Alessandro, what exactly is the RemObjects SDK (I believe there is some confusion on its market space, as some people seem to think it is *only* for creating web services)?

Well, in short, the ROSDK is a remoting framework which allows you to invoke methods of object residing on remote computers. We like to think if it as RPC on steroids. What you use (SOAP messages over HTTP or binary messages over TCP or Pipes) is really a detail in RO because of its pluggable nature. The same goes for what types of applications you develop using it: they could go from simple calculators to heavy-duty, db-centric n-Tier systems. So, to answer your question, no, RO is not *just* for (SOAP) web-services but for *smart-services*: any messaging standard over any network or non-network transports, with or without databases.

What does the future hold for the RemObjects SDK--what projects are in the works right now?

Well, we are currently working on the Enterprise version of RO which includes a lot of new features such as (1) Data Abstract (a data-access frameworks that works on top of 3rd party libraries such as ADOExpress, IBObjects or others and allows you to abstract yourself from both the target DB and component sets you use to access it), (2) the .Net client SDK (which allows you to access RO servers using our binary protocol from .Net applications) and many enhancements to the SDK 1.0 like for instance session management, server-discovery, load-balancing, asynchronous messaging, role-based security, etc Immediately after releasing the Enterprise version we will start working on a port of Data Abstract for .Net and our application server, Wolpertinger, which should provide Delphi and .Net developers with all the goodies COM+ or Java application servers have. Java integration is being discussed as well.

How does the RemObjects SDK architecture differ from the other distributed frameworks that are available?

The most important difference is modularity and expandability. What I always felt uncomfortable with, using existing Delphi frameworks or COM/DCOM, is their rigidity. They all have very good implementations of their proprietary protocol but when you have the need to use protocols (either messaging or network protocols) that were not initially provided as part of the product, you are on your own. When I approached .Net's remoting I was blown away by the modularity of the architecture and I decided to build my own Delphi implementation, taking what I considered the best ideas from both .Net's remoting (i.e. modularity and flexibility) and the existing Delphi COM framework (i.e. class factories) which I consider one of the best things in Delphi.

You are sometimes labeled a "Microsoft apologist" on the newsgroups. Why do you think that is, and what would you like to say in response to that "accusation" (if anything)?

Well, that they're right and wrong at the same time maybe? Jokes aside, for me it's about technology. I happen to like a lot of the technologies MS produced and I found them cheaper and more effective in delivering what we needed compared to many other "enterprise" solutions. During the past 5 years I had the luck to work on fairly big projects and dealt with customers of any size: from a small warehouse in Novate (15 employees and no IT department) to General Electric and the USAF. It was either Microsoft or Java technologies for the big guys.

The only technologies that fit the requirements of cheap and well known were Microsoft's so that is what gave me the initial push. The fact Delphi was only for Windows was the second main reason. There's nothing perfect in this world, especially in IT, but that got my job done and very well in many cases.

Where do you live, exactly? If you are not native to that area, where are you originally from?

I live in Chicago but I was born and raised in Novate Milanese (suburb of Milano, Italia).

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 started programming when I was very young, with my first computer: a Commodore 64. At the times I was really too young (12 years old?) but the idea of having a machine does what I wanted was really exciting. Video games were a priority those days anyway :-) The real start was probably a few years later when my mother bought a real PC (an Olivetti 808x) with a few utilities like Norton's and Turbo Pascal 3.02 Those two things, the Black Book of MS-DOS and an older friend of mine (Diego Roversi) were the concrete beginning of my interest in programming and was the point of no return. Programming was what I wanted to do and I never looked back. The profession came by itself: I never really looked at programming as a job. I like to think they pay me to have fun.

How many years experience do you have as a programmer?

If the first "PRINT Ciao mamma" on my C64 counts then I would say around 15 :-) Professionally around 6 and a half.

What tool did you use prior to Delphi?

Turbo Pascal, Basic, GW Basic and Turbo C.

What languages do you know besides Delphi? Which ones do you currently utilize?

x86 ASM which I haven't used in ages, C, C#, VB, scripting languages like JS, JavaScript and VBScript and remember a few commands of AmOS for Amiga and a couple of Motorola's 68000 assembler instructions. As of now I only use Delphi and C#.

Would you recommend a career in programming to young people today?

Not sure about this. I would recommend it as a passion or hobby which then turns it into a profession, but if your main goal is to find yourself a job, then there are probably better options around, especially now. I've seen too many people working on computers for the dream of high-paying salaries but what really happens is that those people end up wasting their and other people's time. I really like to think of programming as an art.

If so, what courses would you recommend they take? What languages/technologies should they key on?

In the event somebody wants to be in computers like you or I are, I would really recommend studying something that has nothing to do with them and spending endless nights doing your own experiments with your computer, at home. I was studying philosophy at college and I never really had any formal training in computers. The more exposure to information you get (any kind), the better you end up being and performing in many other things. I think school is about getting a wider prospective on things rather than learning a specific job.

Which software project/product that you have participated in are you most proud of?

Definitely the RemObjects SDK which would have never seen the light without my dear friend Marc Hoffman.

What project[s] are you currently working on?

I am working on RemObjects Software's new set of products.

What is the name of your business and/or employer?

RemObjects Software, myself

What is your web site URL?

www.remobjects.com

What was the funniest experience you've ever had related to programming?

Marc Miller's sessions at BorCon :-)

What was the most interesting experience you've ever had related to programming?

Well, probably getting to know a lot of people who knew much more than I did, at different times. More than just giving me the opportunity to become a better developer, it changed my perspective on many things in life. It still happens from time to time and it's a real pleasure.

What was the most frustrating experience you've ever had related to programming?

Having to deal with IT managers and consultants. During January of 2002 I decided I had enough of that stuff and I founded RemObjects Software.

What 3rd party tools do you find essential?

Beside my own stuff nothing much except Developer Express' stuff, the Innerfuse Pascal Scripter and maybe Indy.

What do you hope to see from Borland, especially as regards Delphi, in the future?

I hope to see a LOT more resources dedicated to Delphi, the good-old-innovative Borland back and a few changes in the marketing policies. In my relatively young career, I've always used Borland tools and I've always been extremely satisfied because of the amount of features, the care and the innovation Borland's products used to have. Unfortunately, after Delphi 5 this started to fade away pretty quickly and I feel today's Borland is not giving the same bang-for-the-buck of 5-8 years ago. As a 3rd party vendor, the fact Delphi for .Net is not ready makes impossible for me to think of much future development using my favorite language and, while I like C#, I am not too happy about having to program using it. Object Pascal is and I think will remain my favorite language.

Where would you be without Delphi?

Certainly not in the US.

Where would Delphi be without you?

Probably where it is right now. I don't think I did too much damage to it.

What effect do you foresee C# and VisualStudio.NET having on Borland in general and Delphi in particular?

Good question. I have mixed feelings about it. Technically speaking we can finally develop object-oriented code that is portable among languages but I am not sure this turn out to be a good thing for our favorite. Delphi has been the best way to write Win32 apps for years but even considering that, it had a relatively small success. Now that the underlying framework is pretty much standardized and development speed will be the same, why would programmers choose Delphi instead of C# as language? Companies using .Net will mostly ask for C# and VB so going a different route can only lower your chances of finding a job. Knowing both is probably the best choice but in the end I don't see new customers taking the Delphi for .Net route but only some existing ones. The majority of the people using .Net that I know have been using C# for many months right now and most of them are Delphi developers.

On the good side instead I see this as a huge chance for every vendor (including Borland) to make a huge success with 3rd party components, frameworks and IDEs. Borland is talking about Java and Corba integration libraries. .Net will help those tools to be adopted by more customers so that is really good. A better data access framework than ADO.Net would probably follow the same route.

.Net changed the game: it's not about compilers anymore but about frameworks and IDEs. Borland has to realize that and play as a (big) 3rd party. If Borland will leverage the Java user base it has the potential of becoming a big .Net player in the Enterprise, otherwise it will be really hard. At the same time upsetting smaller companies who are not interested in those features can be very damaging so there will have to be a good balance.

How many hours per day do you spend programming/at the computer?

Almost all day.

How much time do you spend on the newsgroups/surfing the web each day?

More than I should but luckily I got un-hooked from delphi.non-technical and I spend most of my time on RemObjects' newsgroups.

Which programming websites do you have bookmarked?

Google Groups
MSDN
BDN
eWeek
and a gazillion others

How do you keep current with your programming skills?

Reading a lot, trying first hand a lot of stuff and reading some more.

Which Borland Conferences have you attended?

Every single one since 97 and I am very happy about that.

Which was the best one, and why?

I am not really sure. I liked most of them mostly because they gave me the opportunity to meet people who then became crucial for my business and from which I learned a lot. The sessions I attended were great too.

Who do you consider to be the best programmer you know personally, or know of?

Absolutely not but I think there's a lot of mediocrity around.

Yes, there always is. What is your "claim to fame" outside the realm of programming?

Well, I asked a friend of mine what that means and he said "your claim to fame could be your proliferant and flamboyant posts on NGs".

Flamboyant or flame-bait?

If you weren't a programmer, what do you think you'd be?

I'd definitely be a writer. I used to write a lot. For the record, it had nothing to do with computers.

If you were given 30 seconds of free television airtime, to be broadcast all throughout the earth, and could say anything you wanted, what would it be?

Turn the TV off and go spend some good time with your loved one.

That's amazingly close to what Gerald Weinberg said. Hey, I've never seen you two in the same place at the same time. I wonder if....never mind.

What is your favorite programming book?

Probably "Professional Windows DNA", Wrox Press. It opened up my mind on a few things and made me see the bigger picture clearer. I don't remember much of it right now (as a book) but that was the feeling it left me with.

What is your favorite non-programming book?

"Siddartha" (Herman Hesse) and, since I just finished and I really enjoyed it, "Cuatro Amigos" (David Trueba). Critics seem to hate this last one but it reminded me much of my teen-ager days.

What is your favorite movie?

The Matrix

What is your favorite musician or musical group?

If I have to pick one band it would probably be Metallica but now I listen mostly to trance/techno, smooth jazz and some punk. I used to love Springsteen a lot (and I still do) and AC/DC are another one of my favorite bands ever.

This interview took place via email April-June 2003.

Clay Shannon is a Borland and PDA-certified Delphi 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: ETNASC03