Visual Studio Addin

At work yesterday I created my first Visual Studio Addin.  Now that I know how to do it, I’m going to create one for something I’ve always wanted: launch windows explorer on a folder in the solution explorer.  There apparently used to be a powertoy for this feature, but that was for VS2003.

Icon update

As I watched the Cardinals beat the Tigers tonight I sat and redid most of the toolbar icons for Chef. Every now and then it’s nice to take a break from coding, and for those times there is plenty of graphics and documentation work to be done. Here’s what the current toolbar looks like.

New Toolbar Icons.png

What do you think?

You just can’t rush multithreading

A week or so ago in Chef, I needed to add some multithreaded code.  At the time, I saw a few things that were going to be issues in a multithreaded environment, so I quickly put some syncronization code around critical resources.  I didn’t feel like taking the time right then to really think it through and get it right – I even recall thinking something along the lines of This should work ok, but I don’t really think it’s enough…

Sure enough, a bug popped up tonight from that block of code.  It didn’t take long to see what was going on, because in the back of my head was the suspect syncronization code.  But the moral of the story is (even if you try to ignore/deny it) you just cannot rush multithreaded programming.  Period.

I’ll be fixing that code tomorrow night.

C and .NET

A coworker and I have been trudging through a lot of code recently. .NET code written by a C programmer. Folks, these things should never mix, because when they do, you end up with:

byteArray = new Byte[hexString.Length >> 1];
That’s right. Don’t divide by 2. Bit shift. And nevermind that there is a builtin .Net function that does what this line of code came from. And nevermind yet again that there’s a good helping of HEX shit like this in an ASP.NET web app.

nifty visual studio 2005 feature

A coworker just ran across this awesome feature in a book so I thought I’d share it.

How many times have you recompiled an app just to get some debug/trace information spit out?   In VS 2005 you can have a breakpoint write information to the output window as if you compiled in Debug.WriteLine statements.  Just set a Breakpoint, right click on it and select When Hit.  In the dialog you can configure what gets printed out.

Axialis Icon Workshop 6.0

A week or so ago I purchased a copy of Axialis Icon Workshop 6.0 Corporate Edition so I could crank out good looking icons for Chef. I have used trial editions of past versions and found it to be a very good product, but never pulled the trigger to buy it.

6.0 changed that in a major way. They’ve come up with a fantastic way to allow the user to take stock “objects” and quickly and easily compose them into great looking icons. With their older versions it took me a long time to come up with icons, and they still never made me very happy. But that is surely not the case anymore, great work guys.

I’m halfway expecting some of those computer graphics wizards out there to start putting out “object” libraries of their own.  I’m really looking forward to such a thing (anyone?! anyone!?).

Ontop of their great software sits a reasonable pricing model and the lifetime upgrades are nothing to balk at!

Day of code

Today I probably spent a good 6-8 hours working on Chef.  I was able to get a lot done and move it to the point where the recipe management side has a functional, basic object model.  You know what that means??  Time to move on to the UI!

I already started to play around with the basic look and feel of the UI, and I’m excited about it.  Its unlike anything I’ve done before; I look forward to being able to give a sneak-preview in the coming weeks.

Today also saw me beginning to hunt for a good, cheap Help Authoring tool.   I ran across a promising, free product shipped with the Visual Studio SDK called HelpStudio Lite but upon installation discovered the license prohibits it being used for anything other than Visual Studio-integrated help solutions.  That was mentioned nowhere, but was bright and shiny in the EULA.  WTF!  The next candidate is WinCHM.  It appears to be basic and with a good price tag ($50), so I’ll try and dig up some reviews on it.

ejichef.com

The past two nights I have been working up a prototype for the new Chef website.  I think it’s the best looking site I’ve done, if I say so myself.  Taking the advice of a coworker, I mocked up the layout in photoshop before touching html/css.  It sure made the process go much faster, and if I hadn’t done it this way I know I wouldn’t have ended up with these results.  Worked great.

Now that the general layout is done, I’ll slowly move it over to ASP.NET and really work on it.  But that’ll be a while because I have to finish the Chef rewrite first.