I can never remember what features exist in each of the many versions of Visual Studio. And 2008 added many new editions.

Luckily Microsoft has published a comparison matrix for our reference, it can be found here.

Click the plus sign in the boxes next to each category in order to see the feature comparisons in tabular form.

Cheers,

Robert Porter


 
Categories: .NET | Misc | Visual Studio


Two of my favorite bloggers/authors and fellow developers are combining to create what I hope will become one of the greatest developer resources on the web.

Joel Spolsky of Joel on Software fame and Jeff Atwood of Coding Horror fame are partnering to create stackoverflow.com which from their respective announcements sounds like a combination of Google and Experts Exchange on steroids!

Joel’s announcement

Jeff’s announcement

Go read them yourself, but I am excited! I can’t wait to see how this plays out, hopefully I will be able to get involved. The site itself is also available, albeit in a very “startup” mode at stackoverflow.com.

Cheers,

Robert Porter


 
Categories: Programming | Rave | Reviews


I love the television show NUMB3RS, and I have been a fan of the Mac vs. PC commercials. Now I can get my fix of both in one shot!

 


 
Categories: Misc | Ramblings


I had an interesting conversation with a long time friend and fellow IT worker, Eric Moore, today. Our conversations tend to ramble unpredictably at times, and this evenings was no different.

In the course of the conversation Eric elaborated a series of connected thoughts about IT projects that hit home with me. It was not that anything he said was a new concept in and of itself, but the way he said it was what I found so compelling. I’ll get to what, and how, he said in a moment, first I need to set the stage a little.

I believe that Agile development, TDD and the other iterative approaches to development offer significant benefits over more traditional Waterfall approaches. I believe this, getting clients and employers to understand and accept the benefits is more difficult.

Over the years I have seen a familiar pattern play out in Waterfall style projects. As the project nears or completes the Verification portion of the life-cycle, one of a number of things happens.

WaterfallBecause of the long(er) duration of time between the Requirements/Design phases and the Verification phase in Waterfall projects as compared to typical Agile projects there is often a period of frantic redesign and tweaking during verification.

This is caused by a number of issues but a frequent cause is the fact that the stakeholders that participated in the Design phases are gone by the time the Verification phase begins.

Or, the Stakeholders were not committed to the process and did not take seriously the necessity to actually design first. Remember this fact, it becomes important later.

One way or another, by the time your project reaches the Verification phase it degenerates into a series of recriminations, “thats not what we meant/wanted/needed”, meetings, and emergency changes in order to achieve what was really needed.

Waterfall development tends to exacerbate this tendency because of the longer timeline as I mentioned before. Agile development on the other hand tends to minimize this symptom due to its short cycle iterative approach.

(Agile development can also be abused to inject continuous never ending scope creep precisely because of its shorter cycles. Keep this in mind as well, it to becomes important.)

Iterative

Because Agile builds the design as it goes, with minimal requirements gathering, it usually results in delivering exactly what was actually needed. Its iterative approach allows the stakeholders to continuously fine tune their goals and design within a feedback loop that is typically very fast.

But if you are working with someone that wants to keep tweaking and tuning with no end in sight then you have entered the Agile “death spiral” and need to break out.

So no matter which methodology we use, we are often faced with a similar set of frustrations, both as developers, and stakeholders. The “Just one more thing” Frustrationsyndrome, or the “thats what I asked for, but it’s not what I wanted/needed/meant” syndrome.

In order to avoid these sources of frustration and project failure you need to deal with the “Economies” in software development.

Finally we are back to my friend Eric, he pointed out a general truth that applies to both IT projects and life in general.

Paraphrasing, Eric said something along the lines of. If something is free and seemingly plentiful, people tend to be wasteful and careless with it.

They will take more than they need, tend not to treat it with respect and in general not show appreciation for it. But when you make that same thing “cost” in some way, then they will tend to be more careful of it, take it more seriously, and treat it with respect. The trick is how to instill “cost” into whatever it is you are dealing with.

Design and requirements are often looked at as “free” by the business side, in the sense that they can continue to revise and expand on them, therefor they don’t really need to put a great deal of effort up front, since they know they can tweak and expand on them “once I see the product running”. In Watefall approaches that is a red flag that indicates the project is going to go over budget and exceed schedules. In Agile approaches that is expected behavior, too a point, but not when it becomes excessive.

So how do we prevent this in either method? Add cost to changes. Make the participants have to “pay” some kind of cost for making changes. This could be time or effort on their part. Have them participate in the design sessions and change sessions along with the rest of the team. Not going home on time, or loosing time in other areas of their life and work is usually an effective “cost”.

If it is a client that is making changes frequently or inappropriately, begin to micro manage their expectations. Call and email them about each and every step along the way, literally drown them in information and requests for clarification. Sooner rather than later they will realize that changes are costly to them, then you will begin to find out what is really important to them.

I am sure I will expand on these thoughts later. This is not meant to be an exhaustive comparison between design methodologies or project management and risk management approaches. Just some thoughts on the “Economies” of Software Development.

Cheers,

Robert Porter

 

 

 


 
Categories: Programming | TDD


April 10, 2008
@ 11:57 AM

I have recently had to do some script debugging, both client and server side and found some good resources on the topic I thought I would pass along. This is one of those things I have do remind myself of how to do from time to time. I typically use Firefox to debug Javascript, but there are times I have to do it with IE.

So below for my own reference as well as hopefully some one else's, are some useful links for debugging Javascript in IE.

Microsoft's Script Debugger can be downloaded from here.

Directions on using it are here.

Monica Rosculet wrote a great article about debugging script with Visual Studio here.

The source of most of this information came from an IEBlog entry that can be found here.

Hope this saves someone else some research time!

Cheers,

Robert Porter


 
Categories: ASP.NET | Browser | Javascript | Programming | Visual Studio


I recently re-paved my Vista Laptop. Something we all have to do on occasion, especially if you happen to be a developer. It always leaves me with mixed feelings.

Dread of actually having to spend the better part of a whole day getting the base system back, and another 1 -2 days to get my environment, tools, and settings the way I like them.

This is followed by that “New Computer” feel, when the system is freshly installed, it starts faster, actually shuts down, and in general is more responsive and clean feeling.

As part of the process I usually take the time to re-evaluate the tools and utilities I load. And this time was like most, I ended up not installing some old favorites in favor of new finds, or better solutions, or free as opposed to cost based, or sometimes the other way around.

A very partial list of some of the tools I installed and what they replaced and why follows. I usually start with Scott Hanselman’s (Year) Ultimate Developer and Power Users Tool List for Windows as my starting point and reference. If you have not seen this before you owe it to yourself to have a look. Scott updates it yearly and he puts a great deal of thought into the contents.

My own much abbreviated version follows.

Notepad Replacement

I have used and loved TextPad for years, but recently I have switched to Notepad++ which is free, and supports all the features of Textpad and then some. Syntax highlighting, Regular Expression Search/Replace etc.

CD/DVD Burning

I used Nero for many years but recently replaced it with a free alternative called InfraRecorder which offers pretty much all the features I need, as well as being a lot lighter on disk space, works well with Vista and did I mention it’s free?

Screen Shot Image Capture

Again I switched from a commercial to an open source product. (Do you sense a trend here?) A long time SnagIt user, I finally found an acceptable alternative called MWSnap. Although nowhere near as feature rich as SnagIt, for what I need it works just fine, and again, very light on disk space and memory and works well with Vista.

Disk and File Encryption

I have used and loved PGP for many years but I finally gave up on the program because of restrictive licensing and painful install issues. I have switched to, wait for it, a free open source product called TrueCrypt!

Blogging Software

Ok, don’t faint, this time I replaced a free utility, Windows Live Writer, with a commercial one, BlogJet. I have used BlogJet in the past but WLW just seemed to be better for awhile. Now however WLW crashes when I try to run it on Vista and nothing I have been able to do will fix it, so back to BlogJet.

Thats it for now, of course there are lots more tools and utilities that I use but they are covered in much better detail in Scott’s list.

Cheers,

Robert Porter


 
Categories: Reviews | Tools and Toys


My first project at Ironworks also involves my first experience with Commerce Server from Microsoft. I had not previously worked with Commerce Server so it has been a bit of a learning curve.

I expect to blog about my experiences with this product as I reach a point where I have something significant to say about it. For now I am very much in learning mode.

The other technology areas this project involves are ASP.NET, Plumtree Portal, Javascript, and some BizTalk integration. With the exception of Plumtree I am familiar with the remaining technologies. May or may not post about Plumtree, as I have to say I am less than impressed. I think Sharepoint does a better job than what I have seen of Plumtree but will reserver final judgment for later.

Cheers,

Robert Porter


 
Categories: .NET | ASP.NET | Javascript | Programming | Commerce Server | C#


April 6, 2008
@ 11:46 AM

Well, I was using Windows Live Writer, but since I re-paved my Laptop and re-installed Vista from scratch, Windows Live Writer crashes every time I start it and I have been unable to find a resolution.

So, I am back to using BlogJet which is actually not a bad thing, but it will take me awhile to get back to full speed.

Iwc_final_logo

I have started a new job in the interim as well. I now work at Ironworks a Richmond VA based consulting services company. It’s been a welcome change from the past which had involved a high degree of travel. I work out of the Raleigh NC office which is a fairly quick drive.

More as I can!

Cheers,

Robert Porter


 
Categories: Misc