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.

October 2004 - Posts

  • Using Nant with Database projects

    Here is an interesting bit about database projects that I forgot, database projects (.dbp) are formatted much like VB6 and earlier project files. I was hoping I could using an XSLT script to modify the project and roll it into a nant script capable of pulling each file from source control and concatenating the scripts into one file.  But after looking at the problem and the tools we have, I'll take a different approach.

    A while back, I wrote a visual studio plugin that grabs database scripts and pulls them into one large file.  My initial approach was grabbing the associated Project object out of the plugin support library and iterate the project items.  However, I found that database projects aren't treated the same as others and I wasn't able to traverse the project tree. The alternate approach I came up with was using a seperate XML document that allows us to fully control the ordering of the file placement and works quite well.  I'll be taking this approach, translating it over to a nant script and run it that way.

     

  • Nant Discussion and the larger issues

    I started blogging my nant experiences yesterday without explaining the larger issue surrounding the need for nant.  As our company is growing, we now have a need for daily builds.  Some will argue that daily builds should be an automatic practice all along, but I've always found that daily builds require a pulling customer - QA.  Without a pulling customer, the regimented process gets overlooked when other needs are calling which is typical in a small company.  And the regimented process has little benefit when noone is QA'ing the code.

    We are formalizing a QA team that is responsible for grabbing our issues and testing them with a 1-2 day turnaround target.  They will be the ones demanding the build and have each of us developers shooting for a targeted build each day.  I anticipate this change will bring along a lot of needed change and improve our processes immensly. I've been on a number of large projects previously where a daily build pulls the team together and reduces the product release cycle while improving code quality.  I'm looking forward to the change.

    I've decided first to automate our database script generation - this is the script we use to upgrade an existing database.  The reason for targeting this part of the build first is that it takes the most time.  We'll use a physically seperate machine (from development) for building the scripts and .MSIs. 

    I'll continue blogging the Nant progress as I go.

  • Fun with Nant - thank you Darrell

    I blogged my initial thoughts on Nant and my hopes for finding some better tools beyond what I had found just before lunch.  When I got back from lunch, Darrell Norton replied with an XSLTTransformer application over on C# Corner.  I found the vsconvert.xsl file  via Gordon Weakliem's blog and now I have a nearly working project build.  Once I get this fixed, I anticipate running a nant script that creates a new build based on project settings at the beginning of each automated run.  I'm not sure this is the way to go, but I'll give it a shot. 

    Thanks Darrell!

  • Fun with Nant

    I'm beginning the process of automating our build process using Nant. I've taken a look at a couple resources on the Nant wiki and found John Lam's blog somewhat useful on the topic.  I'm continuing to look for useful material on the net.

    Our project is a collection of ~9 indiviual projects, 4 of which make up the core product and 3 of which are various msi builds.  Lam deals with multi-project tips that are useful and not apparent in the official documentation from what I've seen.

    It appears that Nant configuration files are an XSL file away from visual studio project files (I'm exaggerating, but not by much). I'm hoping to find a tool that aids in the conversion but I haven't seen anything yet. I'll keep blogging my Nant experiences as I go along and any tools and tips I find along the way.

  • off-topic: print journalism and high tech users

    I was talking to some friends who are programmers the other day and astounded at the number who subscribe to one of the two primary local newpapers in our area. I personally haven't had a print subscription to a local newspaper in over 8 years.  I have a couple of reasons for this:

    • Newspapers are a waste of natural resources. The only counter-argument comes from the print organizations themselves effectively saying “it isn't that bad“ and “we only use recycled paper“.  Demand is demand no matter which way you slice it!
    • I don't enjoy hauling out the newspapers I don't read for recycling. And these papers take up space and resources in the recycling operations.
    • Newspapers are written for morons.  Their target audience is a 6th grade reading level (on ambitious days).
    • Newspaper reporters and their bosses have abandoned all attempts to be non-biased, instead all articles are written more like editorials today.

    Being in the tech industry, I think it's part of our obligation to try out the electronic delivery mediums (web, rss, pocketpc/palm) and make them work in our lives.  This doesn't mean dropping subscriptions, in fact the number of subscriptions I receive has skyrocketed since casting off the paper-wasters. 

    Don't confuse my intent here, it's not to ridicule people who receive newspapers.  But if you have the means to do so, isn't it worth a try?

    Update: Just found this article.  The president of ABC News says that “too much commentary can hinder the distribution of useful information.”  Pretty good analysis for junk journalists.

  • Bit Counting Code Test - In one line!

    My hat goes off to Adrian Florea for his one line solution to the bit counting test:

    System.Convert.ToString(value, 2).Replace("0", string.Empty).Length

    I hadn't considered this approach, I've always iterated through the byte testing the on bits.  That's a cool way to look at the problem and a nice use of the framework!

     

  • Sql Server 2k5 Analysis Services articles online

    I found links to a number of useful 2k5 Analysis Services articles via Christa Carpentiere's blog

    I'm getting into Analysis Services and it's been quite a while since I have worked with these.  Should be interesting.

  • SQL Injection White Paper

    I found a link to a SQL Injection White Paper over at Christa Carpentiere's blog site today. The paper details a variety of sql injection attacks - I'll be reading this tonight.
  • Looking for a great Sql Server Analysis Services Book

    I'm looking for a great Sql Server Analsys Services book.  Ideally I want an expert level book that doesn't waste time explaining the “concept of a cube”.  I'd rather find THE definitive tome on the subject.  If you can recommend one, please leave a comment!  Thank you!
  • Booting From a USB Flash Drive

    I found a link to creating a bootable USB flash drive on Aviv Raff's blog site.  I've wanted to do this for some time.  Nice find!

  • Compact Framework Coding Contest

    Thom Robbins has announced a coding competition for mobile devices.  The top 5% wins a device (SmartPhone, PocketPC, etc.).  Now I just have to think of something I actually want to share!
  • Book Review: In Search Of Stupidity

    Book: In Search of Stupidity (Over 20 years of High-Tech Marketing Disasters)
    Author: Merrill R. Chapman

    How do you say you loved a book titled “in search of stupidity” and maintain any sense of self-respect?  I decided the answer to that question was including the subtitle in parenthesis.

    The book takes a look at the high-tech revolution starting with IBM's own PC product and follows the market through the Internet/ASP busts.  I really enjoyed the bits from the 80's and early 90's as the book brought back memories of many products I followed reading the latest copies of PC Magazine for pre-release rumors and first reviews. Like the IBM PC Junior's chicklet keyboard, the Coleco Adam's ability to wipe out it own's tapes if set on the included printer and Apple's recommendation to drop the Apple III from several feet to reseat the memory chips.  I remember reading about WordPro and WordPro 2000 being completely incompatible offerings from the same company and offered at the same price point.  The book treats the reader to stories about how these situations came to pass and it's absolutely hillarious. It once again proves the point that one man's pain is another man's comedy. Champman is brutal to IBM, but I can't say it's not unwarranted as I've always thought their ineptness made even HP look 'ept'.  I had forgotten about Ashton-Tate and Ed Esber's complete alienation of the xBase crowd, but Chapman recalls this with some great details.

    I really like the pictures of product and marketing failures he collected.  My favorite was definitely the picture of the shrinkwrapped copy of SoftRam for Windows 95.  I wonder how many copies of that product were actually sold?

    The book is a lot of fun to read, I couldn't put it down and finished it in a day and a half.  I'm sure there are points that people could contradict, but Chapman's writing style and position within the industry offers a fun perspective on the past 20+ years.  I would say that if you're over 30 and grew up with computers, this book is a must read.

  • Coding Tests in Interviews

    I had the opportunity to give a technical interview the other day where I asked the programmer to write a routine that counts the number of bits in a byte. [ Update: I actually asked to count the number of 1 bits in a byte. ]  He could choose the language or even use psuedo-code if he wanted.  The candidate grew nervous and said he couldn't do it without the development environment.  I said it was a single function coding test and I do not expect perfect code, but he simply refused to do it.

    I like the approach of seeing how a candidate thinks and operates, and this is the reason for coding a single function.  The candidate expressed a background of working extensively with binary data, so I threw out an example that should have been comfortable for him.  I've been wondering if I approached it improperly, but I really can't see how I could have made this any easier/better - short of “Hello World”.

     

  • Update: Tracked Licensing Gone Horribly Wrong

    Since I had a lot of comments and views of the previous entry, I thought I'd blog the followup as well.  I received an email from Groove Networks regarding the email they sent out.  The apologized and admitted to the problems they had with their system.  It's good to hear they're taking care of it.  I added the text of the message to the original blog entry.
  • Dashboarding

    I just sat through a demonstration of a Dashboarding product that impressed me.  I know Microsoft has some dashboarding toolkits, but I haven't found great user testimonials on using these.  Anyone have any experience with these (or other tools you might recommend checking out)? 
More Posts Next page »

Our Sponsors