This is nothing new, but I felt the need to share since so many miss it.
Many times I see stuff like this being done:
string FolderPath = FilePath.Substring(0, FilePath.LastIndexOf(@"\"));
Obviously they are trying to get the full path to a file. Next time your thinking about doing something like that consider:
System.IO.FileInfo fi = new System.IO.FileInfo(FilePath);
string FolderPath = fi.DirectoryName;
While I'm on the topic take a look at all the other goodies in the System.IO.FileInfo class:
Not to mention these methods:
I just did about 10 quick search's on Google, and 5 of them failed. A mixture between the page just rendering completely blank, or the top search area not coming down at all, or partially.
Anyone else notice any problems?
I hope their recent IPO isnt going to be changing things for the worse.
Im trying to compile a list of all of the Canadian Bloggers in our space. If your in Canada and have a blog let me know. Or if you have already attempted to compile this list and I missed it, let me know also.
Is an excellent starting point.
I recently downloaded and installed FlexWiki. What an awesome product. Follow links on that site if you dont know what a Wiki is or how to use one.
I'm digging it and have started to organize more of my life with them. At work, for internal projects I have a Wiki setup to myself get more organized. Whenever I do work on any project I just keep the Wiki up to date, and of course the other normal deliverables I have to have done for time tracking, etc.. Its already growing pretty quickly, linking to other members of the team and organization.
I also just setup a Wiki for my up and coming trip to Europe.
Check out http://wiki.mscorlib.com/ for a generic public .NET focused Wiki that I setup just minutes ago. Fee free to play with it.
Are you using one? If so, for what? What other cool things can I get out of this Wiki thing?
Check out this excellent article on Implementing and Promoting Daily Builds by Farid Mheir.
Buying products out of the box vs. spending valuable IT development time recreating these products in-house is something I have wanted to talk about for quite a while now. A recent conversation with a colleague of mine touched on this so I figured I would get this out the door.
In the past 6 months I have dived into many product reviews, such as /n software’s .NET products, Dundas Charting for .NET and I even reviewed a bunch of Issue Tracking/Help Desk alternatives.
Overall, the process of integrating some of these products into our existing solutions has been fairly painless and in my opinion well worth it. In the time it would have taken for me to reproduce just the /n software components we have been able to roll out many projects and continue on without very little set backs. Technical support from them and the other software vendors we deal with has been good to great. We are not in the space which their software focus on, so why would be devote so much resources to it?
We actually had an interesting resolution with the Issue Tracking/Help Desk solution that I was researching. We decided to go with an open source project and simply add on top of it. We have close to 1000 machines with various hardware and software installations, and will be doubling or tripling that in the next year so the Asset Management features of the product were of a very high priority not to mention technology and essentially source code access (or a really wicked API). We even needed an inventory of the specific printers and bill mechanisms and other hardware devices which are on each machine.
From the list of the solutions that were for sale my top 3 list did not include any strong Asset management features (or as full as we require), thus we would have had to roll out our own solution for this either way. Given the amount of work that we needed to do on any of the solutions we have chosen to go with the free, open source project and add to it.
The last thing I want to mention is the learning associated with actually using these out of the box products. Like most things everyone has their own way of doing things. I find myself banging my head against my desk just trying to figure out how/why on earth a component is behaving in a certain manner, or even getting the component to behave in the manner which I think it should. I usually have to review their (sometimes pathetic) documentation in order to get a simple job done.
For example, whenever a piece of code “takes an action”, I always use a Method:
Instead of using a property:
Using a property to actually perform some work really messes with my head because I’m just not used to it. Once you get past those little hiccups things actually move along quite nicely.
Next time you think about creating any sort of software make sure you consider just buying it. Evaluate how well the alternatives match your needs vs. how many hours it will take for you to complete the project from scratch. The decision should be a simple one once you have all of the requirements laid out with even rough time estimations.