|
|
|
|
Open window on development at Xceed
|
|
|
 Thursday, June 01, 2006
Today is my last day at Xceed... snif...
I leave lighthearted, because I have made sure the transition here goes smootly. I have completed AES encryption support in Xceed Zip for .NET, which was released a few weeks ago, and helped Jacques complete HTTP proxy support in Xceed FTP for .NET, currently in RC tests for the next package.
It's been an incredible 9 years, and I thank Odi and Daniel for given me the latitude to come up with ambitious and non-conventional designs like the FileSystem Core.
I also feel very lucky to have worked with such talented developers and coworkers. You are a second family. I'm sure the rest of the team won't be jealous if I address special thanks and admiration to Pascal, with whom I have designed and developed Xceed Zip v4+, Xceed Backup, Xceed Winsock, Xceed FTP and the amasing experience and fun we had creating Xceed Zip for .NET.
Finally, It's been an honor having the chance to talk and chat with a few customers, through support, forums and this blog. It is very important for software developers building commercial applications to stay in touch with the customers, instead of hiding behind the marketing or support staff. True input comes from customers.
Thank you.
|
|
 Wednesday, April 26, 2006
Is it just me, or that new name for MSH (aka Monad), the new managed MS Shell, sounds aweful? PowerShell? Argh...
|
|
 Wednesday, April 05, 2006
It's been a long time since I've posted something "chewable". My energies were all directed on the soon to be released Xceed Zip for .NET version 3.0. Though the apparent changes on the public interface are quite minor, and one can teach the new classes quite easily, the underlying code wasn't trivial.
In short, for all of you who know what ZipArchive, ZippedFile and ZippedFolder are, say hello to TarArchive, TarredFile, TarredFolder, GZipArchive and GZippedFile.
And when I say "easy to teach", what it really means is "find yourself a zipping example, and replace class name occurances of Zip{something} with Tar{somethong} or GZip{something}".
Sure, there are some gotchas, like the fact that a GZIP archive cannot contain filenames with subfolders, are not well-suited to contain more than one compressed file, and can contain files without filenames. But these are details you'll get used to quite easily.
There are two things that make me really proud in that product. One is under the hood, and the other is a sample. First, the engine: My colleague Jacques and I have come up with what we call the "Storage Engine". It's an abstraction of what an archiving library needs in term of temp storage, in-place archive updating, and transactional operations on an archive. Both the new TAR and GZIP implementations use it. In short, it abstracts the fact that we want to always update an archive in-place when possible, but revert to temp files and make sure to commit those temp files with any existing archive upon the last modification of it. If things go well, the ZIP implementation will benefit from it sooner than later.
Second, the sample: The FTP Sample Explorer is gone, replaced with the FileSystem Snippet Explorer, a sample that let's you see, modify and run code snippets that show you the various tasks one might wish to implement. It goes straight to the point. No bells and whistle, no gravy, just the meat. The code is embedded in the executable as compressed serialized XML data. The main information (each topic's description and code) is nothing else than rich text. The nice thing about this sample is that in order for me to modify and add new topics, I simply need to compile the project with an extra define, and I'm now running the application in "admin" mode, enabling me to update the compressed XML file directly, for the next compilation to benefit from this update.
Though I've finished work on this 3.0 version, I already have both hands in the two next releases of Xceed Zip for .NET and Xceed FTP for .NET. The first one will add support for AES encryption, and the second one will now offer proxy support.
I didn't have much time to write because all those releases have a tight schedule I can't bust. I'm leaving Xceed in two months. Yup, I've decided it was time for me to move on. Until then, I have agreed to complete AES implementation, help Jacques kick-start proxy support and train about everybody here, each earning one of the numerous hats I'm wearing. It was a very difficult decision, since I have only friends at Xceed. Though the nine years or so I've spent here were exciting and challenging, I feel it's time for me to try new stuff... by myself. This isn't a divorce. I won't be far from Xceed, and still available to help them from time to time. As for you, dear customers and readers, rest assured you will stay in good hands. The team behind Xceed Zip and Xceed FTP, both .NET and ActiveX, will remain strong, even get stronger than it is now.
|
|
 Friday, March 10, 2006
Last Wednesday, I was invited to the Visual Studio Talk Show, a French podcast about software development. I enjoyed the experience a lot, but can only understand how you can be intimidated when it's the first time you express yourself such in a "live" way. I may have experience teaching in front of a small crowd, or presenting in front of a larger one, you cannot prepare yourself in the same way when you're an invitee, and depend on your host's questions and direction.
For example, everybody agrees that Scott Hanselman's HanselMinutes improved dramatically, no later than starting with his second podcast. That's probably why I'm left with mixed emotions. I'd repeat the experience anytime, just to have an opportunity to improve. But this time, I'd be the driver!
|
|
 Monday, March 06, 2006
Last week, I got a car accident. I was driving my son to the kindergarden. We were lucky, I hit the side of the other car, who was going in the opposite direction, so the impact was more friction than collision. My air bags did not open, that's a sign the impact was not a head-on collision.
My first instinct was to make sure my boy was ok. He was, top shape, asking what was the noise he heard. I moved the car in a nearby parking lot, so did the lady in the other car. Everybody seemed ok. It felt good. "It's only metal" I kept saying to myself and the lady, who was very sorry about her mistake. She did not notice the red flashing lights indicating a defective light and requiring full stop. "I thought it was green" she even said.
Anyway, my boy's fine, I'm fine, the car's at the garage and will be fixed soon (I hope), without me requiring to spend a single penny (thanks to a no-fault), courtesy car included. And to everybody I tell this story, I keep saying "It's only metal. The important thing is my son and I are ok."...
No... I'm lying... It's not only metal. It's a damn bruise on your pride. I should have made sure all was clear before turning left on that red flashing light. I should have been a 100% focused instead of being distracted by my son pointing the damaged light post to our right. I should have steered the wheel full right faster when I saw the other car about to collide. It went so fast, I'm stuck with the feeling I did nothing, I was a spectator.
Last week has been a difficult week. I've played real cool and calm with my son and wife, making sure they forget quickly. But something's broken... and it's not only metal.
|
|
 Tuesday, January 17, 2006
 Wednesday, January 11, 2006
First, I wish all my readers health and happyness for the new year.
Now, let's jump into the subject of the day: Scott Hanselman's HanselMinutes. I'm currently listening to his first podcast. I've never been a real fan of podcasts, but since Scott Hanselman is about my number 1 blogger, I could not miss this event.
Hmmm, how can I express my feelings about podcasting without hurting Scott's feelings? Is it me, or are computer subjects not fit for audio? I want links! I want screenshots! I want examples! I want immediate access to extended information upon my needs! With a podcast, I'm stuck listening to all the stream. Sure, I can fast forward, but you end-up playing the "find that show you recorded" game you play with your VCR. Worse, you don't know what you're looking for. You are at the mercy of the podcaster. You can't filter, you can't opt in or out of a subject.
Maybe I'm not listening podcasts at the proper moment? Maybe I'm trying to use podcasts as if they were audio blogs, which they are not? I tried listening to a podcast in my car on the way to work, just to discover I was sad missing the local news and forecasts I usually listen to in the morning. I tried listening to a podcast at home in the evening when I push my computer geekness to its limits by moving back to a computer, but I generally need to disconnect from work, and I prefer playing Guild Wars! I tried listening to a podcast in bed before getting to sleep, just to find out I prefer doing other things in bed... like sleeping... and... ok, you get the picture!
The funny part is that I've been approached by the Visual Studio Talk Show for a 45 minutes podcast-style interview in French, and I've said yes. But it's only a one time deal. Even though this show is mostly accessible as a podcast, I see this as an interview, and no way I could maintain a weekly podcast.
So I'll conclude with Scott's own words: podcasting sucks. It wastes my precious time. I would have liked it very much if Carl Franklin would have asked Scott about his background, his developer path, about himself. I want to know more about Scott. For links, I'll continue reading his blog.
Oh, and one more thing: the damn advertising is barely tolerable.
|
|
 Thursday, September 08, 2005
It's been a long time since I blogged. I'm currently in vacation, that's mainly why. But I'm also preparing myself for the PDC 05. Like many other bloggers that will attend the PDC, I plan to blog every day about my experience.
Until then, back to my last days of vacation!
|
|
 Friday, August 12, 2005
I just upgraded our blog engine to dasBlog 1.8. You can learn more here.
Tell me if you see anything strange.
Thank you Scott, Omar, and the rest of the project members.
|
|
 Wednesday, August 10, 2005
Found this via Scott Hanselman. Too cool! Please add your location. Simply zoom and move to your location, double-click, then complete your information.
|
|
 Wednesday, July 27, 2005
Bob: So, did you have time to check Windows Vista Beta 1?
Max: Yeah, cool!
Bob: Great. What's new?
Max: They changed Notepad's icon!

Bob: Oh... Wow...
|
|
 Tuesday, May 03, 2005
Numbers can be very impressive. For example, FireFox recently hit the 50 million downloads mark. But what does that mean? How can we relate that number to the actual number of users? How do they count downloads?
Take me for example. I've installed FireFox both at home and work. So I count for two. But I've actually downloaded FireFox 8 times since its release, for every update there was (1.0, 1.0.1, 1.0.2 and 1.0.3), some through the automatic update, others from their web site. In any case, I'm sure both end-up being counted in that 50 million.
Jeremy has similar remarks concerning browser stats. Depending on the hosts, number of FireFox and IE users vary a lot. In some cases, the audience type explains it, but in other cases you just need to take numbers with a grain of salt.
Sure FireFox is gaining market shares. Sure FireFox has won me. I've also tried Opera 8, and it's a damn good browser, probably even better than FireFox, surely faster. But I can't stand the advertising banner, and why would I pay for no-ads Opera when I can find a free and almost as good alternative in FireFox?
I've paid for Trillian 1.0 Pro because at that time, there were no free runner-up. I've recently renewed for Trillian 3.x Pro because I just can't stand the ad banners in MSN Messenger, and didn't find something almost as good. Wrong. I did find a free alternative: Trillian Basic... but I couldn't live without a few features only in the pro version.
Tomorrow, I could convince myself I need Opera 8. Or IE 7 could win me back. By the way, I have downloaded Opera twice, to try it both at home and work. If one day they hit the 50 million downloads mark, you'll have to substract at least 2 from the actual number of users... Numbers are so volatile... Preferences are so fragile...
|
|
 Tuesday, April 12, 2005
Just read Mitch's post: Is your general blogging? It's been some time now that I'm trying to convince my generals and colleagues to start blogging too. I feel somehow alone as the only Xceed member to blog. Moreover, I clearly don't have "all the picture" to share with you. It would be so great to see Odi and Dan open and share their experience as Xceed generals.
Odi Kosmatos
Odi is a geek (or greek, both apply)! When he gets interested in some technology, he'll read everything he can to master the subject. I needed winter tires for my car? I asked Odi. Pascal was curious about having a "music anywhere" house. He asked Odi. Odi could share so much on particular technologies using his own experiments and readings. What's even more interesting is that he gets really excited sharing his thoughts with us. Why not have fun blogging about them?
He's also deeply involved at Xceed with marketing, sales, web sites and next products/features decisions; he sure would have a lot of material for blogging.
Daniel Côté
His blog would be in French... or he wouldn't post enough. But I don't see why we couldn't blog in French too. Though Daniel earned the same computer science diploma as Odi and I, he has since concentrated his efforts on management, finances, and human resources. His blog would address the day to day experience of managing a software company and it's employes, dealing with decisions, relations, and the general image a serious company has to withstand.
Besides Xceed's generals, there are pillars at Xceed I would very much like to see blog.
Pascal Bourque
Friend, fellow lead developer and unofficial chief architect, Pascal is probably the person I'm the most eager to see blog. At the time he's reading this, he's probably mad I'm putting (yet again) more pressure on him blogging, but we would all benefit from the exercise, him first!
Let's make it clear: he's a master! Master at leveraging, quickly understanding and popularizing (is that a word?) any technology. And I mean any! He's amazing. He can quickly identify any technology that can get involved in a new product or feature, understand how it could be useful, and easily explain why. He's a very important part of Xceed's expertise.
Samy Kacem
Samy is our main webmaster. Speaking many languages and getting seriously involved in marketing, he has a clear and serious opinion on many worldwide subjects, and it's always a pleasure to discuss with him. And he's very funny, so his blog wouldn't be boring!
Many others here could also enrich the Xceed blogging community with their experience. I feel alone it that community. Help me convince them to join me!
|
|
 Friday, April 08, 2005
Don pointed us to the Computerworld Development Survey, where we learn that developers use .NET and C# more than other frameworks and languages.
In the survey, you can read this:
| What is your current position/job function? |
| IT manager |
38% |
| Developer |
36% |
| Non-developer IT staff |
8% |
| Non-IT manager |
5% |
| Other |
13% |
There are more IT managers than developers? What gives? Another table I had problems with is this one:
| What is your current employment status? |
| Employed in organization with more than 100 employees |
86% |
| Employed in organization with 100 or fewer employees |
7% |
| Self-employed |
6% |
| Not employed* |
1% |
Hmmm, that looks strange. I felt there were more smaller companies around. Then I read the end of the article:
Methodology This study was conducted among subscribers to Computerworld.
Ok, now I understand. Surveys are biased by definition. You need the definition to understand them! My understanding is:
-
Computerworld is read by IT managers, not developers.
-
Big companies subscribe to Computerworld for their IT department. Small companies put their money elsewhere first.
|
|
 Monday, March 28, 2005
 Wednesday, March 23, 2005
I've just finished a meeting about an issue we're having with our .NET components. Though I fully agree with our decision, it's very frustrating, and I thought I'd share this with you.
A few years ago, before .NET was officially released, we decided to embrace the idea of digitally signing our ActiveX DLLs. The idea was to garantee our clients those DLLs were really from us. It was an added value that had no (visible) impact on the products themselves.
When .NET came in, though one could argue the strong name was sufficient, we decided to stick with digitally signing and do both. Actually, the strong name isn't offering CRL verification, nor detailed information about the "signer". It's not actual identity, it's only integrity.
Somewhere in time (we're still not sure when... maybe since .NET 1.0 SP3/.NET 1.1 SP1?), clients started complaining about our assemblies causing a network access. For most of them, the only impact was their sudden suspicion that our products were spywares, while in reality it was Windows' WinVerifyTrust API accessing crl.verisign.com or crl.thawte.com to check if the certificate used to sign the DLL was revoked.
But others got bigger problems. Some people behind a very strick firewall, ignoring outgoing connections instead of rejecting them, had a timeout while loading our assemblies. That timeout (at least 15 seconds) is hardcoded in WinVerifyTrust! We can't do anything about it.
And finally, those using a dial-up connection were seeing their Dial-Up dialog box appearing when our assemblies were loaded. Nothing to put confidence in our products. How come using Xceed Grid for .NET causes a network access?
There are solutions for those clients, but ugly solutions that either involve disabling CRL checking in the first place (yeah, right, let's sign our DLLs, then ask our clients to turn off its use!), or regularly install our certificate in the list of trusted certificates, which is only good for a certain period, and must be repeated again and again.
We've just decided to stop signing our .NET assemblies. Most of our competitors don't anyway. And those that do are having the same problem. But it's so damn frustrating to see that security is again loosing a battle. Sure, the impact is quite minor, but I'm left with a mixed feeling of failure and blames against the current implementation of WinVerifyTrust.
|
|
 Friday, March 11, 2005
Found this through ComputerZen. The whole Richard Grimes incident is getting out of hands. Come on, people! Managed applications are the future. The .NET framework is awesome! I gave COM/ATL/ActiveX courses in the past. I could see those VB6 developers in front of me staring at the immensity of exceptions and rules and gotchas behind the COM scene. For the user, COM is great. But for the creator, it's an infinite loop of pitfalls.
"1199 signatories including 202 Microsoft MVPs since March 8th, 2005."
202? I can't beleive it.
|
|
 Tuesday, January 18, 2005
It's been a long time since my last post. I feel like I should post more often, even if the subject may not get your attention. But I have mixed emotions about blogging just for blogging.
Robert Scoble is an hardant promotor of corporate blogging. And prolific. But when he says stuff like "Talk is cheap. Doing is divine." just because he has nothing new to say about Longhorn, he's shooting his foot. How credible is that statement?
|
|
 Wednesday, November 24, 2004
For those playing with the newly released Avalon CTP and Chris Anderson's XamlPad application, and are using other Visual Styles than Windows XP (TGTSoft's StyleXP or patched UXTheme.dll), you can follow these instructions:
- Go in folder "C:\WINDOWS\Resources\Themes\Luna"
- Copy file "PresentationFramework.Luna.NormalColor.FxStyles"
- Go back one folder, then into your current theme's folder
- Paste the copied file
- Rename the file as follows:
- Replace "Luna" with the name of the "msstyles" file
- Replace "NormalColor" with the name of the folder under "Shell" which matches the active color scheme.
For example, I'm running with the CodeOpus theme with the Dusk color scheme:

Within "C:\WINDOWS\Resources\Themes", I copied "Luna\PresentationFramework.Luna.NormalColor.FxStyles" to "CodeOpus\PresentationFramework.CodeOpus.Dusk22.FxStyles". Notice that the color scheme part matches the subfolder name, not the color scheme name ("CodeOpus\Shell\Dusk22" in my case).
BTW, XamlPad's ClickOnce does not work within FireFox. Simply launch it from IE.
|
|
 Wednesday, November 10, 2004
 Tuesday, November 09, 2004
As you may expect it, I installed Konfabulator today. Though the installation process it smooth, the look is great, and the working experience is very interesting, I must admit seeing this in my Task Manager is somewhat of a turn down:

One process per widget, and an extra one for the tray icon and menu... is it worst it? Though CPU usage seems reasonable (compared with Desktop Sidebar for example), and the sum of memory usage averages what Outlook is using by itself, I'm left with the impression that this Windows version was made out of a hack, and no real "Windows integration" effort was made. On a developer's machine, I'm doomed to miss that memory one day.
Seeing that UnixUtils folder under Konfabulator also gives me similar impressions:

Oh well, I'll give it a real try... but I'm afraid it will end up just like Desktop Sidebar... uninstalled!
|
|
 Friday, October 29, 2004
Nat Friedman writes a nice post about two development approaches: Getting nothing wrong versus getting it right. Though I know nothing about Muine, I can see the analogy with the software I developped (or at least what I try to achieve). While some competing products don't attack the ease of use and simply stick with a "most common features" list, I've always felt it was important to improve interface too. And that applies to class libraries as well. The Xceed Zip for .NET object-oriented design may require some getting used to, but you end up with obvious and short code. In fact, it's more "forgetting about the old interface" than "learning the new one".
Another good example is Money and Quicken: While they both fight to have all the features the other one has, the resulting applications are not addressing my needs. My wife and I split general expenses based on our salaries, and house expenses half and half. I'm stuck with Excel for managing all this. The personal finance software world needs a Muine of its own... I'm ready to live with its "wrongs"! Suggestions?
|
|
 Tuesday, October 19, 2004
Robert Scoble wants all corporations to blog. He believes this is the best way to get information around, better than any other medium. He gives the Kryptonite example. Most of us heard about the flaw with some of their bicycle locks (you can unlock them with a Bic pen!). But nobody heard about the company's official response. According to Robert, the word of mouth power of blogs did spread the news much faster than anybody could hear from the company itself.
Well, that wasn't the case for me. I heard the news a few weeks ago on the TV news. And the topo gave me a clear view of the case, AND the corporate response, which was to replace all affected locks. I heard it on TV first, not in blogs, probably because I only read work-related blogs. I don't have time to read more. The general information, I leave this to the newspaper I read in the morning, and the TV news I watch in the evening, at home. I read blogs when I work. Robert's job is to blog, and read blogs (ok, ok, it's a simplified definition of his job). His company has the resources ($) to assign full-time people to evangelism (gee, I don't like that word). We don't. I'm a developer. I have stuff to analyse, design, implement, test, fix. I'm blogging for my own pleasure, and obviously with the impression it can benefit Xceed, but with a clear "parental guidance" not to spend too much time on it, and not to tell any secrets.
Which brings me to another subject: What can a corporation blog about? Where is the limit? How does a blogger who's no marketing genius knows he's about to say too much?
A colleague of mine wants to blog too. I already know he's the kind of blogger you won't want to miss. He masters technical details better than anybody I know. One could say I'm a generalist and he's a specialist. But his first post isn't online yet. Why? Because every subject he starts writing about, he ends up with the impression he's giving too much valuable information to our competitors. Nobody here at Xceed is filtering our blog posts. Our boss gave us the green light, with very few rules (if we can call them rules). It doesn't stop us from auto-censoring our posts. In my case, it's easy, since I talk more about the public interface than the inners of a product. But in his case, it has become a show stopper: he's convinced he can't blog without saying too much.
And that's a shame, because once he starts blogging, we'll all benefit from it... but as I write this, I realise that "all" means "our clients and our competitors". :-( Boy, I think Robert's position is much more clear than most of us. He should not generalize blogging pros and cons to every corporation. It's not that clear.
|
|
 Monday, October 18, 2004
Kit George gives a neat jump start on number formatting. It's precise, concise, and gives a good global example on the different ways you can format numbers to strings.
|
|
 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.
|
|
|
|
|
|
|
|
Copyright © 2010 Xceed Software Inc.
|
|
|
|
Calendar
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat | | 28 | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | 13 | | 14 | 15 | 16 | 17 | 18 | 19 | 20 | | 21 | 22 | 23 | 24 | 25 | 26 | 27 | | 28 | 29 | 30 | 31 | 1 | 2 | 3 | | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| June, 2006 (1) |
| April, 2006 (2) |
| March, 2006 (2) |
| February, 2006 (2) |
| January, 2006 (4) |
| November, 2005 (3) |
| October, 2005 (3) |
| September, 2005 (6) |
| August, 2005 (2) |
| July, 2005 (4) |
| June, 2005 (4) |
| May, 2005 (3) |
| April, 2005 (10) |
| March, 2005 (4) |
| February, 2005 (4) |
| January, 2005 (3) |
| December, 2004 (4) |
| November, 2004 (5) |
| October, 2004 (4) |
| September, 2004 (7) |
|