Recent Posts

  • NetFX 3 ?

    So the announcement came out recently that the WinFX addons to the .Net Framework are going to be rolled into a release called .Net Framework 3.0. This has caused some upset because .net Framework 3.0 will actually be using CLR version 2.0 and C#2.0. What's going to happen when C#3.0 comes out. Jazon Zander believes they are going to call that .Net Framework 3.5. So many numbers, so much confusion. Some devs are starting to suggest calling the new version of the framework NetFX 3 to more clearly indicate the merge between WinFX and .Net and also to get rid of the nasty period in the .Net name. I can go for that, I'm not too fussy. I'm just happy they renamed the SC-BAT (Smart Client Baseline Architecture Toolkit) to SCSF (Smart Client Software Factory) :-) Continue reading...

  • Extending CAB Commands

    I looked for this in the docs and on google and I couldn't find it, so I figured it might be worth sharing. To extend the command object, create a class that derives from command and then override the CreateCommand method in WorkItem. In the CreateCommand method just create and return a new instance of your specialized command object. Continue reading...

  • TFS and collation

    So I screwed up. I tried to upgrade my Beta 3 Refresh of TFS last night to the RTM version. All was going relatively well until it told me that I could not install TFS because my SQL Server had a default collation that was accent insensitive. I live in a bilingual province, accents happen sometimes, sometimes they don't. Montreal, Montréal, Quebec, Québec. Are they equivalent? You betcha. TFS apparently doesn't want to have to set the collation sequences explicitly on its database, it apparently wants you to set you server to conform. Shame they couldn't make this decision before Beta3! Oh well, I was pretty upset. That was until I found out how to turn off the check :-). A little file called hcpackage.xml has all the checks defined and available to comment out! So call me crazy, but I figure I should be safe as long as I don't create any files or folders with accents in them. At least until I get my new server and do a complete fresh install. Then I have to decide if I want to try and change the collation sequence on all of the tables and databases in my existing TFS server! Continue reading...

  • Hint to students applying for jobs

    a) When you google the company, make sure you spell the name right. b) Assume the reader of your cover letter is well aware of what the company does? c) Don't tell me that my company is a world leader, world famous, etc. It really does not impress me! d) If English is not your native tongue, find someone who can proof read it. e) Show me that you actually read the job posting, but don't regurgitate it almost verbatim in your cover letter. and finally f) If you don't meet the criteria specified in the posting and you still feel you have to apply, at least justify why I should make an exception. Good luck! Continue reading...

  • Why do people use always?

    Sorry, I just have to get this off my chest. This article just irritates me in so many ways. Just in case the subject hasn't been beaten to death enough, this bright guy decides he is going to add his 2 cents by saying that we should ALWAYS use stored procedures. I don't have the time or energy to beat up on the article as I really want to but go make your own conclusions. The only part that I feel obliged to pick on is this: Perhaps the biggest advantage to the "database-as-API" approach is the reduction in coupling that can be achieved between the object system and the database it uses as a back-end. Putting an explicit API where it does not belong is the worst kind of coupling there is in my opinion. Creating hard coded stored procedures for Inserting, updating and selecting of data where columns are explicitly mentioned has to be the most maintenance intensive mechanism to bind and object to its persistance store. The proof of this is how many toolkits and frameworks there are that auto generate this code! Anyway, to each his own. Let's just say "always" is a poor choice of words. Continue reading...

  • Open Source Java

    Eric has entry on the future of Java now that Sun's new leader is talking about letting go. I have always felt that if Sun hadn't stopped Microsoft innovating their JVM that we would all be Java programmers by now and the language debate would be mute. Continue reading...

  • Stored Procedures with no results

    I've been having a problem with big hairy report that I have been writing. The T-SQL for the report involved creating a cursor, traversing the cursor and inserting records into a temporary table. Because it was big and ugly I wrapped it up in a stored proc. The problem was that when I deployed the report and ran it from our Visual Basic app using ADO to execute the stored proc, it failed giving an error that basically said that it did not get any results back. The strange thing was that it worked fine against SQL 2005, but failed on SQL 2000! Actually that's not all that strange, SQL 2005 has fixed so many things that didn't work in SQL 2000, but that's another post. The solution: Remove the Print statement that had been left in for debugging purposes. I have to thank some guy named Danny on a microsoft discussion group who not only posted the same question but came back and answered it himself. Continue reading...

  • CAB is wonderful

    This post is long overdue but I've been busy :-) We have been using Microsoft's CAB framework now since January and I could not be happier with how it is going. We are definitely still learning, but we have converted a large part of our existing .Net application over to use the CAB methodology. When I first looked at the Enterprise Library V1 I wasn't all that impressed. I found there was a whole lot of fluff for not a lot of function. The UIP block was too web oriented, the Data Access block didn't give you much if you were not trying to be DB independant and I just didn't grok the Exception handling block. When I first looked at CAB I was hooked almost right away. It is an excellent fit for what we are doing at Tavis. Anyway, I'll try and post more about how we are using CAB rather than just gushing... Oh yes, one more thing. I was so happy when they changed the name of their Smart Client Baseline Architecture Toolkit to Smart Client Software Factory. Woohoo! I guess they don't aswer to the same marketing people who renamed Microsoft Shell to Powershell... gag. Continue reading...

  • Xml but not XHtml

    I finally got to the bottom of something that has been bothering me for a while. I generate my company website using a bunch of Xml files and an XSLT stylesheet. I have a small C# app that traverses a project file and builds all the pages. I recently upgraded the C# app from the 1.1 framework to 2.0. In doing so I was forced to change from using XslTransform to XslCompiledTransform which apparently has a different XSLT processing engine. The result was all of my web site pages were a mess. I was perplexed. After much anguish I found the reason for the mess is that some tags that were previously being rendered as <div></div> were now being rendered as <div />. Weird I thought. Those two constructs are identical, no? It seems that buried in the depths of the W3C XHtml spec it says that only tags that are supposed to be empty e.g. img should use the self-closing syntax. The rest should always use the seperate closing tag. Thankfully some kind soul had posted some source code on one of MS's forums that creates a slightly enhanced version of XmlTextWriter that does a very nice job of creating the necessary ending tags. My web pages are beautiful again, now I just have update the content! Continue reading...

  • Encompix get bought

    O.k. So I'm a little slow with this post but here it is. Made2Manage's venture capital owners seem to be on a buying spree recently. Frank has some more details on the other aquitions. I was kind of hoping that M2M would suck Encompix in like Infor did with Visual Manufacturing. Roger Meloy has done such a good job of promoting Encompix over the last few years it is pretty hard to miss them when searching the internet for anything ETO. If Encompix brand were to be absorbed by M2M it would send them back into obscurity. And that would be good for Tavis :-) Continue reading...

  • MSN search still sucks&#8230;

    Here's another classic example of why MSN search sucks... Search for "ADAM tutorial Active Directory" in MSN and then do the same in Google. MSN doesn't get a single relevant topic on the first page. Google finds a "Quick-start Tutorial" on ADAM that is located on Microsoft's site. WTF! Continue reading...

  • Software as a service

    Anita Campbell has a piece on Software as a Service that discusses this popular trend. However, I feel that more is being attributed to the concept than is justified. Software as a service does not imply a browser based application and I am quite confident that Microsoft have no desire to move to browser based applications. SAS can exist just as effectively as client based applications that can auto update. Google Earth is not browser based, Skype is not browser based, ITunes is not, MSN Messenger, etc, etc. SAS is primarily pricing model for applications that are internet connected. The apps need to be internet connected so that the vendor can pull the plug when the user stops paying. The web browser just happens to be the mechanism with the least friction to deliver applications that is available today. Continue reading...

  • Open source dreams

    Frank linked to an article by the creator of sourceforge about how open source can save enterprise software companies a big chunk of their sales and marketing budget. Here is an excerpt that in my opinion shows how disconnected from reality the open source crowd can get... The sales cycle of a traditional enterprise vendor is just too long. It takes several months to get the right sales meetings, convince the CIO, sign a deal, do a pilot - maybe the customer spends a little money at this point but not much - evaluate it, follow it with a beta phase, and then hope for a real sale. That's one and a half years to get the deal. All along, the software vendor is convincing the customer to buy. Back at the company that deployed the Open Source solution, the CIO is happy with the software. But after using it for a while, begins to wish for documentation, a live-person to ask questions, a phone number for support, and so on. At that point, the customer calls the company saying, "I've been using your product for a year and now I need your help." So, the company was able to do a successful implementation of the enterprise software without documentation or support, but then after "using it for a while" they decide that documentation and support would be nice. Anyone who knows the enterprise software business knows that the implementation phase is the most critical part where it is essential to have people who have an indepth knowledge of the software to assist the company through the difficult process of deploying a mission critical application. In reality, I don't see how open source offers anything more than an evaluation version of a commercial application does when it comes to reducing sales and marketing costs. Don't tell me that Firefox has not had to do extensive marketing to get to where they are... The scary part of the above quote is the inference that with open source software you can get it in the back door without the approval of the CIO, get it … Continue reading...

  • Move to WordPress

    I decided to move my blog. Blogger has been hosting it for the last year or so, but I was getting annoyed with the workarounds needed to support trackbacks etc. Anyway, I chose Wordpress because of Scoble, the fact that it is free and I have a web host that only supports PHP and MySQL. I would love to have a host that supports .Net, but I just have found one that's cheap enough yet. Continue reading...

  • Google versus Microsoft. Phooey!

    I'm guessing it is a slow news month. Everyone seems to be talking about how Microsoft better shake themselves up or Google will beat them up. Forgive my candor but what a crock. Let's look at what Google do well. Their search engine is way better in my opinion than Microsoft's. I don't know what MS are doing but their own internal MSDN search engine is one of the most useless I have ever come across. How they expect to index everyone elses content if they cannot sort out their own I don't know. maps.google.com is phenomenal. It kicks MapPoint's butt. Gmail kicks hotmail's butt! There is no doubt that Google has developed some really cool stuff in the web app space. I like Google's UI philosophy. Make it simple but think about it a lot. You can tell that somebody spent a huge amount of time making Gmail and maps as effective as they are and yet the end result looks very simple.Interestingly if you check out www.start.com you can see that Microsoft are starting to get the idea. Much of the premise that Google have the potential to overthrow Microsoft is this idea of the Web as a platform. But hold on a second, Google's last few offerings, Google Earth, Google Desktop search and Google Talk are all client applications! Sure they are internet aware apps but fundamentally they require an OS to install on. As a sidenote, it would be interesting to know how much revenue Google are making on these tools. I have read some comments on newsgroups that Google are planning a Linux based OS. Of all the Unix distributors, I would say that Google has the best chance of pushing a Linux variant into the mainstream. This is certainly a much more realistic option than the pie in the sky web platform hoopla. If Google do go that way they are then going head to head with Microsoft trying to deploy a client OS. I don't think Google will survive that fight. Microsoft have the money, the people, the marketshare and they can actually … Continue reading...

  • Prediction time&#8230;

    I have always enjoyed making predictions about where the IT business is going. Now I can blog about it and realize in a few years how wrong I was! IBM is going to buy Sun. The main reason is to prevent Oracle from buying them. Oracle have the database, the application suite, they are talking about buying BEA which would give them the application server. Buying Sun would give them hardware, an OS and control over a programming language that they are already dependant on. Buying Sun would give Oracle a complete end to end platform, just like Microsoft have. IBM have bet the shop on Java and I don't think they can risk Oracle getting control over it. Continue reading...

  • MBS is headed the wrong way&#8230;

    Call me a skeptic, but I just don't think MBS are headed the right way with their new roles based model for Microsoft Dynamics. In a number of the recent announcements made at the Business Summit and PDC, they have talked extensively about the 50 roles that they have defined to try and identify the work performed by the medium-sized business workers. There are two major problems that I see with this. First, the majority of workers in the majority of companies will not quite fit in any one role and second, the tasks defined for the roles will only work for a subset of the scenarios that the workers run into. In this global marketplace, unless you are a physical storefront retailer, there are very few identical businesses. Companies need to have a differentiating factor or they will not survive. This uniqueness of businesses can put a twist on almost every aspect of the business. Sure, depositing a cheque in a bank is conceptually the same for a grocery store as it is for an engineering consulting company, but I am quite sure the internal process for handling those cheques is very different. Creating an invoice at a bolt distributor is not the same as creating an invoice for a pipeline manufacturer. I guess what I am saying is the vertical focus is absolutely critical to the process flow. Not only that, many companies are not homogeneous. The invoice printed today for product A likely has very different constraints than the invoice I may print tomorrow for product B or even service C. This is the point where MBS would say, "that's where our partners come in. They have the vertical knowledge and they can configure the processes to match the needs of the specific business." Maybe. How many companies have the time, money, expertise and desire to extract the details of their process flow for all scenarios from all of their knowledge workers? Sure it is an ideal scenario. The ERP system knows exactly what is the next step to take in … Continue reading...

  • Software-on-demand and small businesses

    Frank has a post talking about why small businesses don't get the concept of "software on demand". My perspective is that small businesses don't want software on demand. One argument put forward by Frank is that small businesses have minimal IT staff therefore they should welcome a third-party company who is prepared to look after the IT issues of a new system for them. My experience has been small businesses owners feel that they want the same person who currently looks after their IT issues to deal with all of their IT issues. Otherwise, when problems occur, they get stuck in the middle of geek finger pointing and have no clue who to believe. It is also an issue about big fish and little fish. If a small business uses a part time consultant to provide IT support then when something goes wrong, the small company can expect the consultant to respond pretty quickly or risk loosing his customer. When a big hosting company has an outage, the small business is screwed. No amount of screaming will have any effect. I believe that when a small business owner hears about salesforce.com, what the owner hears is... "put all of my business critical sales information on the servers of some dot com survivor 2000 miles away, that I can only access via a web browser, if my internet connection is online and the browser is not rendered unusable by 50 popups per minute." and the next question is usually, "what's wrong with our server?" Continue reading...

  • So long Classic VB

    I feel I have to weigh in to the current debate regarding the end of support of VB6. Many people have stated that they see no reason to move working VB6 applications to the .Net framework. They feel because they are still using VB6 that Microsoft should still support and enhance it. As a vendor of an application that has more than half a million lines of VB6 code, you would think that I might feel the same way. Our application has matured enough at this point that we have found workarounds to the nasty parts of VB6. The last service pack was a major improvement in the stability of the IDE and at this point I don't want anything else to change in the VB6 environment. If people have stable running applications, why would they care if MS are providing support or not? It's not like MS are going rip out all of the knowledge base articles, recall old copies of the MSDN library and ban all further discussion of VB6. Hell, if you really want it bad, you can pay for extended support! We made the decision a few years ago that we were going to rewrite our application to take advantage of the .Net framework. That development is moving along quite nicely and we are really starting to see some major benefits from the new platform. If you have a VB6 application and you see more than a minor amount of modifications on your horizon, I think that you should seriously consider moving to .Net. From what we have seen, the reduction in lines of code to maintain and the increase in overall productivity when developing in .Net will quickly pay for the migration. That being said, you can write crappy software in both VB6 and in .Net, you can just blow a bigger hole in your foot with .Net if you don't know what you are doing! I think that the MVP's have a lot to answer for in a situation like this. They should be the ones embracing the change, recognizing that VB6 has lived a useful life, but the time has come to move on. They should realize that features like … Continue reading...

comments powered by Disqus