Sep 03
Alright, not quite sure where this post is going to go but what the heck. The project I am working on has a requirement for a workflow component. Hmm, not a big deal because we are going to use Windows Workflow Foundation right?
Screeech! Not so fast Ricky Racer … “Is there an echo in here?” Anyway, it turns out that Windows Workflow Foundation will not work for our project. We need to design (read from scratch) a workflow framework. Gman, where are you when we need you?
In addition to the workflow, we need to implement a message queue framework and a state machine. Nope, M$MQ and IBM MQ are out of the question. We need to do it the hard way and build our own. Lame! Enough said.
Sep 02
IsSexIllogical()
It returns a boolean. Although, without looking into the method further, I’m sure it’s hardcoded to always return false. Nice work guys!
This is a little bit better than Catch sex as System.Exception.
Jul 23
I am assisting a team out of Vegas with an online gaming site. I was tasked with the analysis of a popular online game and asked to produce a high-level analysis document, including an estimate of effort to reproduce the game.
Okay, let’s do it. I downloaded the client software and immediately noticed it required the Java runtime. Hmmmm, Java code my favorite (NOT) programming language. The installation copied the Java class files to the file system, so it was time to inspect her gadget!
Being a resourceful person and *cough* hacker, I invoked the handy-dandy Java decompiler and proceeded to decompile the game! I now have the Java source code to the game, but am a bit surprised the code is a huge pile of spaghetti.
Now that I think about it, I am not as surprised as I thought I was seeing the code. I guess I was expecting to see some great Java considering the game is driving a large gaming site. If the UI looks great, who cares about the crappy software design?
Jul 18
Every time MSBuild fails to successfully complete a build a work item is created. Since I’m the self-appointed build fixer(monger), I wanted to make sure that I’m notified every time a build fails, so I can take corrective action. This article points out a super easy way to make this happen. Just added the “Assigned To=” attribute and list the name of the person to assign it to.
<WorkItemFieldValues>
Assigned To=St. Jean, Steven;
Symptom=build break;
Steps To Reproduce=Start the build using Team Build
</WorkItemFieldValues>
Jul 18
So I owe Ben(my previous TFS admin) some thanks and he also owes me an apology.
I owe him some thanks for making 2008 solutions build seamlessly in TFS2005! I had completely forgotten that a workaround was needed to build 2008 solutions in 2005 msbuild. However, you owe me a fucking apology for letting me forget because I told my clients that TFS2005 could build 2008 solutions! Now I have to go build a proxy exe so that TFS can build the 2008 and getting this damn thing installed is going to be next to impossible.
Although, come to think about it…Is your proxy code checked into Source Control? I bet it isn’t…
Jul 18
I am a COM NEWB. I don’t really even know what the hell its suppose to be doing. I’m just a pampered .NET guy who’s really good at utilizing a framework that does all the hard stuff for you! So when I had to compile some DLLs using COM+, I got stuck and looked for a solution for hours. All I was trying to do was make some code edits, rebuild and deploy to test. Well I was able to compile and register the dll, but everytime I tried to invoke the dll from ASP (Server.CreateObject) the component would fail to initialize. All I could say to myself was that I was registering the component wrong and that I was missing just one more piece of the software puzzle. Thankfully, I was connected to the local wifi network by the river and had access to my network of friends via IM. This is where R-man comes to the rescue with this fine link on how to install a registered dll with COM+. Totally not obvious. I think its strange that the proper way to install a component like that is to click and drag it. Maybe if there was a menu queue somewhere I would have figured it out myself. I kept coming across the Component Services and had an idea that I needed to do something with it, but wasn’t really confident or knowledgeable enough to make a move. Thanks R-man!
Jul 11
The status quo of testers is to always submit screenshots of their errors in Word. WTF? Seriously people, it’s called WORD, not…oh..I dunno…what would be a good name for a program that you could save images in…PAINT? That’s right people, Paint…mang. Sans your ability to download the excellent Paint.NET, the original version is still available in your Windows Accessories folder. Saving objects in the inappropriate format can lead to data loss. In Word the image is usually difficult to see and needs to be further manipulated so you can actually see what the test intended to show you. Fortunately, Word does a good job of keeping the original data object in tact, so I’m able to recreate the image in a more friendly image format.

Screenshots are images not documents. Treat them as such.
Jul 09
It’s true that I’m not a fan of VB6, but I usually focus on writing good code independent of whatever tools might be in use. However, I find myself more often writing what I would consider to be really bad code in VB6 as opposed to .NET. There’s just somethign about VB6 that lends itself to long structured methods as opposed to all the abstraction I’m used to in .NET. Sometimes it’s kind of nice though…not having to think so much and just making it work. 
Jul 08
The topic sounds easy enough, but I just fell into the trap. I was doing some new work on old ASP code and part of my tasks were to add Validation Rules to the current service to check for invalid data. Simple enough. I decided, in the spirit of limiting data corruption, I would add some client side javascript to make sure the values were kosher before hand. WRONG! There are two problems with this. The first, I didn’t make them Database driven in conjunction with the rules. That means if the rules change, they now have to make the changes in two places. The second, usually there’s just a data entry person entering all the data given. They have no idea about how to make the corrections and they dont’ care. I should be allowing those people to finish their jobs and then let an analyst come clean up the mess when it doesn’t pass server side validation.
Should have gave them what they asked for in the first place. 
Jun 25
I am not sure where to start on this one. I have had about a dozen technical interviews in the past couple of weeks, both phone and in person. Some interviews were non-technical, score! Candidate walks to home plate. While others have been technical grill sessions.
I was recently interviewed by a Senior Architect who works for a Microsoft Partner of the Year. Well, no fluff here it was Shrimp on the Barbie from the very beginning and must add it was quite humbling. Score for the interviewer, but I passed (read squeaked by).
The interview with the Architect was followed by an in-person software architecture and design session. WTF! Anyone for grilled Mexican with a side of rice and beans? I was a bit nervous, but it was the best technical interview to date.
Here is where I wanted to go when I started this post. After the above grilling and design session, I was asked to participate in a phone screen and then an in-person interview with another company. This time with a non-technical group, what a disappointment.
Read the rest of this entry »