Thursday, September 09, 2004

I have to say that is one of the worst messages I've seen:


Fun

9/9/2004 10:18:42 PM (Eastern Daylight Time, UTC-04:00)  #   
 Friday, September 03, 2004

One of the software pieces I’ve made in my career which I’m the most proud of is the Xceed FileSystem. Ever since I’ve started programming in object oriented languages, I was convinced that files and folders were a base representation and starting implementation, no matter where they resided, how they were encoded, or how they could be accessed.

Back in my COM days, I’ve tried to accommodate my object-oriented vision of files and folders to the feature-oriented paradigm of COM. I remember a design meeting for Xceed FTP ActiveX where I was pushing for IFile and IFolder interfaces, with coclasses like “FtpFile”, “FtpFolder”, “DiskFile” or “DiskFolder”. But COM wasn’t ready for this… and moreover, neither were our customers.

I will always remember my first encounter with System.IO.FileInfo and System.IO.DirectoryInfo. It was Xceed’s early contact with that new .NET Framework platform Microsoft was planning to launch a year later; a fully object-oriented API! At last! Oh what a joy it was to see them displayed in front of me, waiting for me to derive from them and implement numerous new worlds. Sure, I was a little disappointed to see the base classes implementing disk I/O, as opposed to having derived classes do the job, but it was an early beta, and I convinced myself I could influence Microsoft to correct this minor mistake. Right?

Well… Those were my first impressions. I was dreaming of an object-oriented API, and the .NET Framework would slowly drift away from this idealist goal. I was dreaming of a Microsoft able to change stuff in 15 minutes just because they were suddenly more accessible.

A few weeks later, a colleague and I were at Redmond to get a peek at the next beta version of the .NET Framework, ready to convince whom it may concern that System.IO.FileSystemEntry et al were not quite perfect… and kaboom! It hit us: they had sealed FileInfo and DirectoryInfo in this most recent build. How could they not see the obvious? How could they not see “my” object-oriented file system?

That week, we did meet the System.IO guys, and they listened. They agreed the idea was cool. But the conclusion was just more evident: the .NET Framework’s goal was not to provide purely object-oriented framework. It was to provide a language-neutral, easy to understand framework. Being well-suited for object-oriented languages was not enough. And Kit George gave us the shoulder tap we needed. He told us our object-oriented file system sounded pretty cool. Why wait for the base classes coming from MS?

And that week, in building 20, Pascal Bourque and I designed the major part of Xceed Zip for .NET, with its object-oriented file system. It was a very special week. The kind you miss…



9/3/2004 3:51:06 PM (Eastern Daylight Time, UTC-04:00)  #   
 Thursday, September 02, 2004

This is my first post as a new blogger. Now that most software developers are exposing themselves, it was inevitable that I do the same one day. And this day has come.

I am Martin Plante, and I've been working at Xceed Software for 7 years now. Though I was not part of the beginning of the company, founded by Daniel Côté and Odi Kosmatos, two Université de Montréal buddies, I'm responsible for one thing; the name. We were supposed to start the adventure the three of us, but I backed out at the last minute, not before convincing them "Xceed" was a cool name. I joined three years later.

I'm proud of that name. I'm damn proud of what it represents. I believe we succeeded in establishing a name that means well designed and supported libraries. But they would probably not choose this name again. It's too far in the alphabet, and our customers regularly misspell it.

Officially, I’m a Lead Developer here. Obviously, for a relatively small ISV like us, I end-up doing much more than this. I’m an architect, developer, tester, writer, and support agent. We do have people dedicated to documentation, testing and support, but I need to get involved from time to time, especially with technical support, since I know my products more than anybody else.

Those products are mostly the non-visual libraries you can find at Xceed:

Don’t be surprised if this blog is not as much active as some other developer blogs out there. My goal is not to talk about my social life, or computer stuff not related to my job, or comment the latest news the minute it comes out. I want that blog to be an open window on what I’m working on at Xceed. Sure, I’ll sometimes digress from that pious wish (it’s too easy when blogging), but I want you to get direct dev-to-dev information. You probably won’t see more than a post a week, my initial goal being to post every two weeks at the minimum.

See ya later, with my real first port.

Martin.



9/2/2004 4:59:41 PM (Eastern Daylight Time, UTC-04:00)  #