Skip to main content


Showing posts from 2006

I am Iron Man

Heavy boots of lead, fills his victims full of dread.... If I were a Hero I would be: Iron Man Iron Man 90% Hulk 85% Spider-Man 75% Green Lantern 65% The Flash 55% Catwoman 50% Superman 50% Robin 45% Wonder Woman 45% Supergirl 45% Batman 25% Inventor. Businessman. Genius. Click here to take the Superhero Personality Quiz This is interesting in that I can see myself as any one of the top three listed.

VMWare Workstation 6.0 Beta - Holy Vitalization!

Just got an email about the 6.0 version of the VMWare Workstation and all I can say is "Wow!"  These are the features I am mainly interested in: Multiple monitor display - You can configure a VM to span multiple monitors, or multiple VMs to each display on separate monitors. Integrated Virtual Debugger - Workstation integrates with Visual Studio and Eclipse so you can deploy, run, and debug programs in a VM directly from your preferred IDE Headless mode - You can run VMs in the background without the Workstation UI These new features will help me at work as it really does fit into my work style.  The next PC I get I'm going to install a base system then VM's for everything else, all development will be done in a VM sandboxes. The question now becomes:  Will VMServer have these features?

MythTV Demo Project

I actually got a MythTV machine up and running yesterday!  Man I was so excited, I have tried several times in the past but with no luck.  However after finding a good How-To on the Ubuntu web site I was up and running in (almost) no time. I have tried using MythDora but I could not get it to work.  I think the reason was because of the stupid pain in the ass to set up ATI All-In-One card.  This card has never worked right for me, either in Linux or Windows so it is time to chunk it. This past week I came across a How-To site using Fedora Core 6 which I was prepared to follow.  But then I got to thinking that there should be something similar for Ubuntu, which I prefer over Fedora.  Sure enough the community site had one so I was in business. The first attempt I made failed.  It failed because I attempted to install the proprietary drivers for that stupid $%^@ ATI card, something I will never attempt again with this card as it is going in the trash soon.  So I wiped out the inst

The Un-Deleteable Windows File

I have several Open Source projects I am following and to facilitate downloading the code I created a simple NAnt script.  The script worked great until the other day one of the projects started failing to update. Most of the projects I'm tracking are in Subversion.  All I'm doing is checking out the trunk then about once or twice a week doing an update.  So when the project started failing to update I figured it would be a simple matter of deleting the project folder and just checking it out again. Wasn't going to happen.  One of the directories would no delete, no matter what I tried.  I tracked it down to a couple of file in hidden _svn folders.  I could delete every other file in this folder except for these.  Nothing seemed to work. I finally dropped to a command window and attempted to DEL the file, that is when I got the first real clue what the problem was:  the file name  was too long.  The root folder of all the projects I was updating was on my Desktop so the

A Call to Distros: Give Users What They Want -

  And that easy solution must work in a similar way to this: 1. Via a GUI app found on the /Administration menu that lists the 10 most wanted proprietary applications and asks the user to check the boxes of the apps he wants to install. Show a license agreement that waives the distro off any legal problems and then download and install the requested software. 2. When a user tries to load an mp3 or a .wmv, have patched your multimedia apps (e.g. Sound Juicer, Rhythmbox, Banshee, XMMS, Totem) to inform the user why they can't play these files and ask if he/she wants to download the codecs. If the user says "yes", show the license agreement that waives the distro from any legal problems and download/install the requested software. If installing the MP3 codec, also install the required Gnome mp3 profile so users can actually rip in MP3 with Sound Juicer. Source: A Call to Distros: Give Users What They Want - I couldn't agree more with this.  When I go to

The Virtual Domain

I've been playing around with VMWare and vitalization for a while now and I have to say I really like it.  I have a virtual Ubuntu image that I am using to learn Ruby on Rails with.  I installed VMWare's server on my file server so I can run VM's from any PC in my house. So last night I was working on my gateway PC when the thought hit me:  Why not create my own virtual domain?  I could create an image and install IPCop on it, add three virtual Ethernet cards to the VM and bridge the fourth to a real NIC and viola - Instant Domain.  Just add more servers. From there I could add servers to the Green, Orange and Blue Virtual zones and just play around with configurations.  I could create a mini-web farm, play around with MySQL replication, a virtual cluster, anything. Granted I would bump into a Hardware wall pretty quick, I dumped all my old PC's so now I don't have that many to play with.  But I bet I could still but together something pretty cool.

FxCop and NAnt

I am working on automating our build process and one of the things I am trying to do now is to add FxCop to the mix.  There are a couple of ways to run the process, one using an exec task to call the executable directly, the other is through a Contrib task <fxcop>. I tried the first method with no success.  For some reason I couldn't get the output file name to be recognized by the executable.  I eventually had to switch to the <fxcop> task but I had to set a system envitonment variable to the executable first.  It eventually looked like this:   <target name="analyze.fxcop" description="Runs FxCop on build output"> <setenv name="PATH" value="${tools.dir}\fxcop;%PATH%" /> <mkdir dir="${build.dir}\\fxcop" /> <fxcop directOutputToConsole="false" analysisReportFilename="${build.dir}\\fxcop\\fxcop.xml" failonerror="false"> <targets> <inc

What's in a Name?

I have had the joy of reviewing other peoples code lately and I must say that for the most part there is a total lack of attention to detail.  Extensive use of copy paste coding, but the one thing that bugs me the most is the naming convention used. Can you believe that there are still developers that preface there variables with obj?!  Is that not just crazy?  Of course it is an object, we work in an OOP language. Everyone should stop reading tips and tricks sites and start reading books on how to program.

Mad World

I keep seeing the commercial for Gears of War , I don't know anything about the game but the background music is one that I know and like. It is called "Mad World" and I recognize it from the movie Donny Darko. Part of it goes like this: I find it kind of funny, I find it kind of sad, But the dreams in which I'm dying Are the best I ever had. It is one of those songs that forces you to stop and listen. Any way, I thought I might have the song so I went looking in my mp3 collection and couldn't find it. No problem I'll search iTunes. Do you know how many remakes are of this one song?! A lot. Just on iTunes I see over 52 remixes. Wow.

Switched Back to ReSharper

I uninstalled CodeRush and re-installed ReSharper.  CodeRush just wasn't doing anything for me productivity wise.  I felt that I spent more time fighting it then working with it. Maybe I just feel more comfortable with ReSharper.  I feel that with it I don't have to memorize as many key combinations. I'll give it another month and see what I think then.

Coding Horror: Properties vs. Public Variables

Why waste everyone's time with a bunch of meaningless just-in-case wrapper code? Start with the simplest thing that works-- a public variable. You can always refactor this later into a property if it turns out additional work needs to be done when the name value is set. If you truly need a property, then use a property. Otherwise, KISS! Update: As many commenters have pointed out, there are valid reasons to make a trivial property, exactly as depicted above: * Reflection works differently on variables vs. properties, so if you rely on reflection, it's easier to use all properties. * You can't databind against a variable. * Changing a variable to a property is a breaking change. Source: Coding Horror: Properties vs. Public Variables So this answers the question on why you use properties in .NET and not just public variables. I've always used properties but on occasion of used public variables. Small object, needed it quick so didn't bother with the getter or setters


Ok, so I found another alternative to BlogJet: Performancing.  This is an extension of FireFox so I have to have that installed. So far it looks like it is easy to use.  It can't seem to be able to insert an image like Live Writer but I think it will be easier to blog about something I found on the web. I have a feeling I will keep using Live Writer and only use this on occasion. powered by performancing firefox   OK I don't like that Performancing does self promoting.  That is a big minus.

Windows Live Writer

So I just heard about the Windows Live Writer Beta.  I am a big fan of BlogJet so when I heard about this new Microsoft program I was skeptical.  So far I like it. Now if it uploads this picute then I will have a reason to start using it and not use BlogJet. I am always on the lookout for new and better tools.  If this does what I need it to do then I will switch to it.

SQL Moment of Clairity

I was working on a stored procedure the other day, not one that I wrote originally but one that was causing performance issues in out system. The procedure was taking any where from 40 to 60 seconds to run, which is unacceptable in a web service. This in fact was causing the web service to time out. An inspection of the execution plan showed that one part of the procedure was doing an index scan and that it was this that was taking up over 85% of the execution time. I was totally baffled, it was hitting the index so why wasn’t it faster? Then I learned three things all at once: Implicit Conversion non-sargable kills performance Index Seek is preferred of Index Scan Implicit Conversion In the stored proc a variable was defined as an NVARCHAR(20) but the field in the table it was being compared to was a CHAR(10). This lead to an implicit conversion of the variable to a CHAR(10), which lead into the next issue: Non-Sargable Kills Performance Sargable refers to the pseudo-acronym

Ralf's Sudelbücher : .NET naked - See these hitherto unpublished pictures of the .NET Framework architecture

The other day, though, I stumbled over yet another software quality assessment tool: Lattix LDM. And what impressed me immediately was it´s easy to understand output based on the intuitive concept of the Dependency Structure Matrix (DSM). Ralf's Sudelbücher : .NET naked - See these hitherto unpublished pictures of the .NET Framework architecture . Ralf demonstrates how a Dependency Structure Matrix can reveal the overall architecture quality of a product.  A very cool concept and another tool to add to the toolbox.

Cisco VPN Sucks

I have to use the Cisco VPN Client at work and man when it breaks it breaks good!  For some reason it has decided to stop working which means I can’t work at home.  Now I have to spend my Saterday morning in the office.  CRAP! I’ve been looking for an alternative but can’t seem to find one.  If anyone knows of a good alternative please let me know.

.5 TB Server

While rebuilding our home file server I realized that I had about .5 TB of disk space.  This is spread across four different sized harddrives but if you add up the total space it is over 600 GB.  It is not the full Terabyte server that I’ve been wanting to build but it is a step in that direction.  And I’m not doing any RAID.  I will be doing rsync snapshot backups  to one of the harddrives so I am loosing already half my space.  When I get enough $$$ I will get more drives and attempt some RAID or Linux LVM. I am using Ubuntu on the machine.  I started down the road of using straight Debian but soon got real tired of trying to figure out how to make things work.  With Ubuntu I would say that 80 to 90% of my hardware problems went away and I didn’t have to hunt down any drivers or figure out why I couldn’t get a higher screen resolution.  My last file server I used Gentoo which rocks, by the way, but I have gotten to the point where I don’t want to spend days just setting up the OS.  A

G-Ding.TV | Viewing Linux in a whole new way

Welcome to G-Ding.TV, home of MythDora. MythDora is a Fedora Core and MythTV "All-In-One" CD. The CD will load a preconfigured Fedora Core 4 installation on your computer as well as install and configure MythTV-0.19. There are extras included with MythDora such as MythBurn, MediaMVP and MythStreamTV for some extra fun. Enjoy! G-Ding.TV | Viewing Linux in a whole new way . Looks like I have a weekend project to get started on.

Outlook Rules + Blackberry == SUCKS

I just got a Blackberry for work and am having a hard time dealing with it.  I didn’t ask for it but if I have to use it I will.  The real problem I am having is the clash of Outlook rules and my use of folders to organize email's.  Because the email's I get are moved into a folder (me being the anal organizational type) they do not get forwarded to the Blackberry.  This sucks because I don’t get all my email's which defeats the purpose of having the thing. I have a plan to solve the problem.  A guy I work with says that he does not use folders to organize his email's, just sorts them in the Inbox.  On Hanselminutes Carl Franklin said that he leaves everything in the Inbox and uses a Desktop search tool.  I am thinking that a combination of these two practices and using the Favorite Folders in Outlook would work as well.  That way I can remove all my rules, have everything stay in the Inbox and at some later date I can organize as I see fit. Its going to really hurt get

Aggragator Sites

I just found a few aggragator sites that look cool.  Of course I found them thourgh a post. PopUrls Digg View OriginalSignal PopDeal So when you want to see what the latest buzz is but don’t want to visit ALL the social sites, check out the aggragators.

Building a build server with CC.NET

So I have started implementing CruiseControl.Net at work and I have to say it is pretty fun.  I’ve built a bunch on Nant scripts to build our SOA middle tier, installed CC.Net and setup the first project. What I am struggling with now is getting VSS to update the source files.  I think I am just missing something small but for some reason I can’t get the files to update. Update  I finally had to create NAnt scripts to update the actual source.  The VSS task in CC.Net only monitors the VSS DB for changes, it does not actually down load the latest source.  At least as far as I could tell it does not. Next is to get the VSS labeled.  CC.Net will label the source but it is not descriptive enough so it will be a trip back to the NAnt scripts.

Hanselminutes - Not Franklinminutes

I like listening to Scott Hanselmin on Hanselminutes. I first noticed Scott while listening to .Net Rocks, the Podcast that was around before the term Podcast. Scott always knows all the cool tools, the most informative websites and alternative ways (read: Not .NET) ways of doing things. His show is great. But then there is Carl. Let’s not forget that Hanselminutes is Hosted by Carl Franklin. Carl sounds like the Java guy I work with; every time Scott brings up something that is not Microsoft or .Net Carl always comes back with “.NET can do that…”. Or more precisely, “VB.Net can do that.” Drives me nuts. Like in the show about Dynamic vs Compiled Languages Scott was making the point that TDD could take the place of a compiler in making sure your code was working. Carl argued relentlessly that there was no way you were going to get developers to use TDD. In my opinion Carl is missing the picture. Note to Carl: Let Scott have his Minutes.

Coding Horror: Source Control: Anything But SourceSafe

If you are serious about the practice of software development, you should avoid SourceSafe. SourceSafe poisons the minds of software developers. Coding Horror: Source Control: Anything But SourceSafe . Visual Source Safe sucks.  Jeff Atwood explains in no uncertain terms why it sucks and I just want to get my vote in.  The two most important issues he points out is that VSS gives the illusion of safety and VSS users DON’T BRANCH ! They fear branching because it takes so much time and it is just a foreign concept to them. Do yourself a favor, get a real tool.  Be a real programmer.

Programming with Interfaces

Today I was told that: In general, interfaces should be used sparingly as they add unneeded complexity when applied to a simple set of objects. I don’t get it, I thought interfaces were a Good Thing. I must be missing something….

YouTube - The future of TV

I have been saying for the last couple of years that once we get true TV on demand we will stop becoming slaves to the networks. YouTube  and Google Video  are the start of that phenomena. The thing I just found out about YouTube is that you can embed videos in any post and not worry about actaully hosting the video.  See my post on the Blue Man Group for an example.

Gallery Upgrade

I upgraded my Gallery from 1.5 to 2.1 and man am I freaking impressed! Between WordPress and Gallery the stuff I've been working on with ASP.NET look like total crap. The upgrade process was really easy. Rename my original gallery folder, make sure it still works, install the new gallery, import the old. The new Gallery uses MySql where as the 1.5 version only used folders to manage the albums. Overall the experience with working with the 2.1 version is great.  There is a new admin interface and just a quick look at the plug-ins shows that there is a way to upload images from Picasso!  That Freaking Rocks!

Genghis Darren

Moving blogs, ASP.NET vs PHP and WordPress

I moved my permanent blog to here, if you hadn’t noticed.  It went a whole lot smoother than I thought it would as my main blog was on  I had this sinking feeling that in order to move all my entries I would have to save them one by one then repost them.  Boy was I surprised! I had originally given thought to switching my hosting to use ASP.Net, the only hold back was that  my gallery was using Gallery .  But since I am a .NET developer I thought “why not use something I know?”  Wrong attitude!  It would cost me more to use a .Net server plus after looking around there were not a whole lot of options when it came to applications.  There is DotNetNuke, dasBlog or SubText, plus a handful of galleries.  From what I saw none of those approach the maturity of the PHP options.  I settled on WordPress mainly because I have used it before.  I’ve used numerous CMS applications but I do not want a CMS.  I want a blog engine and a gallery.  The hosting company provided Gallery alread

VMWare Server - Good but...

I’ve have discovered virtualization.  Actually I started using it several months ago and found that it is GREAT!  It Rocks My World!! After trying Microsoft's I decided that I preferred VMWare’s Virtual Server, mainly because there is a version for Linux.  I have a plan to build the ultimate home server using VM’s. However, tonight I had just downloaded the SourceForge Enterprise VM and was going to play with it but my license key for VMWare Virtual Server had expired.  When I tried to get a new one their server returned a nice little Tomcat error: javax.servlet.ServletException: JesapiFilter: Invalid Remote Address. That sucks because now I have to uninstall the server and install the VMPlayer.  blah.  But, it is all free so who am I to complan.

Reading .NET Configuration Files

I am currently working on a small app that will scan our environment and verify that all the configuration settings are correct.  One thing I found was that you can’t open just any .config file using System.Configuration, it has to be named the same as the calling assembly. What a pain.

Wasting Space on the Web

I waste a lot of space on the web.  How much you ask?  Well, besides this blog these are the other sites I have: (Home Page) Blogs My MS Live Spaces Blog My Blog (no longer updated) My Bloglines Blog Photo Galleries Gallery (Main Gallery) My flickr Gallery My Picasa Web Gallery Misc My bookmarks My Bloglines Feed My Digg Profile My Slashdot Profile My Google Pages Articles on CodeProject: A Text Template Class for C# An Event Based Rules Engine Plus my GMail accounts which includes email, spreadsheet, calendar, you name it I probably have it. I’m sure I have more stuff and will add it as I think of it.

Resharper vs CodeRush

So I used Resharper for a long time and I really liked it.  There were a few things I didn’t like, especially the time added to a project load.  And every once in a while it would lock up.  But the features I liked were very useful: Find all usages, simple keyboard shortcuts, code reformatting.  But the two most useful things it did was 1) to but a bar along the right side of the screen with orange or red lines for were the code had problems, and 2) clean up the using statements. I have been using CodeRush/Refactor Pro for about a month now and really like it as well.  I wish it did some of the things that ReSharper did and I wished the refactoring worked more like ReSharper.  But I like the polish a lot better and I like the way it shows how blocks of code are related.  One of the best features I notices so far is the showing cyclomatic complexity of each method.  The code completion is a bit complicated and I haven’t spent enough time figuring it out.  It is more flexible than ReShar

SqlAssist, SQL Intellisense

SqlAssist, SQL Intellisense . SqlAssist offers advanced SQL intellisense and script debugging inside the Microsoft Visual Studio .NET IDE. Edit, test, and run scripts just like you do in SQL Server Management Studio. Use SQL pretty formatting, user configurable code templates, and many shortcuts all designed to enhance your SQL coding experience and reduce development time. This has got to be one of the coolest add-ins to Visual Studio I have found in a long time!  With this I can maybe finally convience every developer I work with that Visual Studio is a better tool for database development than Enterprise Manager.

Public Education - Where Should the Money Go?

Why should the government be responsible for paying for my kids education?  After all, he is my kid so why should local, state, or federal tax money go to improve his education? Because the USA will benefit from my son being educated.  The State (meaning local, state and federal governments) will benefit by my son making more money, which means he will spend more, so in both cases he will contribute to the economy and the tax base. So from that perspective what is the best way for the State to invest in our kids education?  By giving the money directly to the schools and have them decide what the best education is?  Or by having the money follow the child so that the parents can decide the best school to send their child to. I prefer the later as this increases the competition between schools which should in theory lead to a better education experience.  The first choice, giving the school the money, leads to an Education Monopoly and we all know that Monopolies are a Bad Thing .

My First WTF Experiance

OK, so I have seen bad code in the past.  Hell, I’ve written some pretty bad code in the past, present and will in the future.  But what I am looking at right now just blows my freaking mind. A stored procedure that generates dynamic SQL to parse an XML document stored in a table which then somehow drives a cursor to fetch one row from something the dynamic sql calls that then drives another cursor that uses OPENXML to get data from another xml document. I can’t figure it out!  Why?  Who was the clever SOB that thought this could even remotely be a good idea? WTF?!!?

Semi-XP Development

So, we are doing XP want to be development at work.  It is more of a war room programming environment and not true paired programming.  What I am finding that I like more and more is not the coding per say, but the testing and development automation.  I have been using TestDriven.NET and mbUnit a lot and am just now starting to explore NCover.  Also, have been using NAnt scripting for builds and have installed CruiseControl.NET to see if I can’t get an entire build cycle created. This is all exciting stuff!