Posts Tagged ‘.Net’

.Net or .Not?

Monday, July 21st, 2008

I have been working for the last two weeks on a project for FedEx where I am building a proof of concept for a utility that goes out to a server, downloads a file, parses that file, and then based on what it finds, determines what other files need to be downloaded. Its a very simple, system and should not be that complicated to implement… at least… you would think. But after scratching my head in confusion and surprise, I am left with only one conclusion. Microsoft’s .Net framework has very little in the way of Network architecture.

For instance, while there are things you can do with HTTP, the support there is lacking. You don’t have nearly as much control as you need to make things work. I can’t, for example, get the file size, or pick out just the header information from my documents. There is no support for partial downloads, or even the ability to recursively download or upload a directory worth of files. Their FTP support is even more lacking in depth. If I want to get the sizes of a batch of files, I have to recursively go through and get the file size of each and every file on the list. There is no way to resume or suspend downloads. There is absolutely nothing beyond a partial implementation (and a very convoluted implementation) of the interface.

After spending almost a week working on the system, I am left with the impression that the best way to work on this system would be to write my own FTP client library! Of course, I am loathe to do that, especially when anything I do will be copywritten and owned by FedEx right now, and there’s no guarantee that I’d be hired back. I don’t like doing work I’m not going to A) profit from or B) at least be used for shameless self promotion. Of course, writing this from scratch would take up a lot of my time at work. In fact, it would be horribly silly for me to do this, since there are doubtlessly other projects for which I would be better suited to writing.

But, since now I have convinced myself that writing the library wouldn’t be a complete waste of my time, and since I *might* even get some credit from my supervisor for writing such a library, I think I’ll go ahead and take on this responsibility until someone comes up and asks me if there’s something else I’m supposed to be doing.

After all, what’s the point of being an intern if not to A) not make a profit and B) be slave labor with no promised future?