CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Steve Hebert's Development Blog

Steve's Blog - From .Net to dotMath and everything in between.

December 2004 - Posts

  • Stepping back into the daylight...

    It's been over a week since I last blogged, I've been heads-down in a piece of code.   Using the Intersoft WebGrid.NET, I needed the ability to make context-sensitive menus available based on the column that has been right-clicked and pass along configured values.  The implementation supports default menu grouping that's integrated with the security system, but the solution also allows for overrides for custom right-clicks on a per-page basis.  I'm pretty happy with the implementation, I did the same thing with the built-in datagrid for asp.net but this implementation is cleaner and I like the code a lot more. The solution is entirely client-side and performs very well.  Writing this much javascript reminds me just how much I dislike that “programming language“, but that's a topic for another day. I could have built the client-side javascript using XSL, but those solutions tend to be unreadable/undebuggable and this situation would have been even worse. 

    I've blogged before about Intersoft's WebGrid.NET before, and I continue to be very happy with their product.  The server- and client-side interfaces are well thought out and extremely functional.  As is typical with a 3rd party tool, there is a learning curve to get the feel for the product's architecture and Intersoft's product is no different. I've built scaffolding around the product to handle the 95%+ usage scenarios we see in the company's application to (1) minimize coding and (2) virtually eliminate grid-specific code on each page. 

    Next I'm saving the grid's layout to the database per user - allowing the user to resize, reorder, hide and show columns and then save the configuration across sessions.  But first, I'm taking the weekend off to enjoy Christmas with the family.

    Have a Merry Christmas!

  • I am HP-UX?

    I was reading Mike Hall's blog over lunch and found his link to a “Which O/S are you?“ survey.  I took the survey and the site say's I'm HP-UX...

    You are HP-UX. You're still strong despite the passage of time.  Though few understand you, those who do love you deeply and appreciate you.

    Well, could be worse.  I could have been Windows ME.

    I wonder what the caption reads for AmigaDOS?

  • Automated builds complete

    Our automated build process is complete (I've been blogging about the process over the past several weeks).  I thought I'd take a minute to blog a few of the bits I learned along the way.  For a short history, I started the build process with NAnt to create our database script build and came across the Visual Build Professional tool in time to complete the MSI creation.  Now for the tidbits I learned:

    1. NAnt is a truely flexible and powerful piece of software.   
    2. NAnt's learning curve is non-trivial, and the further you dig the bigger it gets.
    3. NAnt's documentation set is somewhat disjointed.  The associated wiki is marginally helpful and most useful information comes from googling the user community.
    4. Visual Build allowed me to create the entire build of the MSI project in less than 8 hours. This included time just learning how to navigate their product to putting it into production. 
    5. Visual Build does not allow running a C# or VB.NET script as can be done in NAnt. It only allows for classic VB script, Javascript or Perl Script.
    6. I ended up leaving my database build script running under NAnt due to item #5 and NAnt is free after all. I just call my NAnt script from Visual Build.

    So there it is, there are some more distribution features I'd like to incorporate but these features are not specific to the build automation tool.

    -Steve

  • Changing course on NAnt

    I've been blogging about using NAnt in my spare time to get software builds fully automated at work. I ran into a product today that changed my approach.

    Today I ran into Mike Gunderloy's posting that Visual Build Professional 5.6 is available and downloaded it.  The package comes with 50-free uses as a trial period.  I'm hooked.  I have done more in 2 hours with Visual Build than I've been able to accomplish in 15 hours using NAnt.  In the 2 hour time frame, I created a build that (1) downloads my source tree, (2) updates my project and installation build numbers (checkout/update/checkin), (3) builds the projects and (4) creates an installer package.  Now for some minor cleanup to put this into production.

    I'll pull my database script builder into Visual Build so I can have this entire process under one 'roof'. 

    The product is impressive so far and upon first glance it appears that the generated build file is very similar to NAnt's.  I'll have to do more digging on this front. 

    How do I summarize the Visual Build tool so far?  I think Visual Build is to NAnt as (pre-.net) InstallBuilder is to InstallShield.  The more I dig into the product, the more flexible I find it to be and well thought out, too.  I'll blog more as I go, but for now I've done a complete turn on my approach to the problem.

  • Spolsky's talk at SDMagazine

    I listened to Spolsky's talk on "community" style interfaces  at SDMagazine where he discussed products like IM, usenet, etc..  He had some interesting usenet history and how the interface has been carried forward (unfortunately) in other applications.

    I enjoyed the talk and submitted one question that I wish he had addressed. It seemed to me that all of his recommendations revolved around the basic coding idea of “get out of the way” - or - essentially that programmatically trying to format communications to improve readability as a rule does just the opposite.  I think that's a good message - provide the tools that allow the user to express their ideas/thoughts in their own manner (within reason) and publish that content in a sequential, ordered manner.  I'm not sure if that's an oversimplification, but the ramfications of making process assumptions and rigidity with this type of software can quickly marginalize the content value.  I've always believed that the NewsGroup/NNTP world is largely unusuable - it's valuable but I believe the publishing format leads to horribly disjointed conversations and a lot of poorly answered questions.

     

  • Nice NAnt introductory article

    As I'm working on my NAnt implementation, I came across Eric Desch's article published on the 4 Guys From Rolla site titled “A Brief Introduction to NAnt”.  He does a very nice job of providing an introduction to NAnt along with a rundown on how to get the software running.  He discusses NAnt, NAntContrib and MSBuild and provides links to some applicable resources. 

    I wish I had this intro when I started with NAnt, it would have eliminated some initial wheel-spinning.  If you're considering NAnt or looking for a starting point, this article is a nice resource.

  • Note to SEC: Please require a Lawyer-to-Engineer ratio on publicly traded company disclosures

    I was reading Steve Eichert's blog entry titled “Way to go Sun” where sun is aggressively taking down websites that are supporting the java community. 

    It seems that some companies hit a phase where they have more lawyers than engineers and they aggressively try to protect old revenue streams or product uniqueness within the market.  Companies need to protect their products, but certain companies seem to start going over the top.  Take Apple in the late 80's in their scorched-earth “look-and-feel” compaign to protect the mac.  The industry might look very different today had they put that money into developing their platform instead of lining the pockets of lawyers.

    I worked with an embedded device communication protocol in '98 and '99 and the company that established the protocol had to have a 100:1 L/E ratio.  They published a management protocol and charged everybody $50,000 for the toolkit and tried to charge additional licensing fees for each device you talked to. Nothing worked - their base tool, the protocol, everything.  We wrote an open protocol based on COM and put it through an independent standards organization.  Needless to say, they tried suing everybody and their uncle.  I was contracting at the time and even the CEO of that company asked who I was.  It definitely helps having an obscurely pronounced last name because they kept asking my name and never made contact when the lawsuits got handed out.  All suits were summarily dismissed by a judge who told them “I don't want to see these kind of lawsuits out of you ever again”.  The company was a “bubble” company in the market and their shares trade for far less than a 10th of what they traded for in '99.  I don't mention the company name because I wouldn't be surprised if they would throw lawsuits out as a reflexive action. 

    If an L/E ratio existed, you could get an idea when a company is agressively innovating or when their sacred revenue streams are dying on the vine and they are consumed by fighting to protect them. I doubt the ratio would be possible to enforce (just outsource the lawyers).  But that wouldn't necessarily be a bad thing - maybe it would drive the lawyer employment market out of the country!

More Posts

Our Sponsors