ReSharper is Your Friend

So, there you are... coding away like you're Bill Gates... and ReSharper shows you some screwy underline on some of your code:



What the heck?  Ignore it, right?  Well maybe...  but if you hover your mouse over it you might see something like this:



And, if you ignore it, you just might later see stuff like this in the logs:

what happens in Vegas stays in Vegas - unless

So..  my family and I just came back from a trip to Vegas.  Both a vacation and work (DevConnections/SQLConnections).  It was great.  I'm sure you've heard "what happens in Vegas stays in Vegas."  Well, unless you're 5 years old and your dad is going to blog about it :)

We were in a taxi, and the boys (8 and 5) were in the seat behind us when we heard one of them say "oh my God!  You can see their whole BUTTS!"

You can imagine the quickness with which I reached around to take away whatever it was they were looking at!

Thankfully, it wasn't porn.  Just a typical Vegas magazine with an article about showgirls at some casino.  After I looked through it to make sure it was "safe" I handed it back to them, laughing about those crazy butts..  And here's the best part..

My five year old immediately says to his big brother - "turn back to the girls!"

Going For My Free Typemock Isolator LIcense :)

Programming Visual Basic applications?

Typemock have released a new version of their unit testing tool, Typemock Isolator 5.2.
This version includes a new friendly VB.NET API which makes Isolator the best Isolation tool for unit testing A Visual Basic (VB) .NET application.

Isolator now allows unit testing in VB or C# for many ‘hard to test’ technologies such as SharePoint, ASP.NET MVC, partial support for Silverlight, WPF, LINQ, WF, Entity Framework, WCF unit testing and more.

Note that the first 25 bloggers who blog this text in their blog and tell us about it, will get a Free Full Isolator license (worth $139). If you post this in a VB.NET dedicated blog, you'll get a license automatically (even if more than 25 submit) during the first week of this announcement.

Go ahead, click the following link for more information on how to get your free license.

_

 

Secure Dreaming

I suppose you're really a geek when this happens..  Anyway, I woke up during the night and glanced at the clock.  It was 4:43am.   Somehow I got confused and thought to myself:

"Am I dreaming in SSL?"

Code Cleanup at Philly Code Camp 2008.3

I'll be giving a talk tomorrow at the Philly.net Code Camp!

In this talk we will look at code that works but could be improved. 

We will discuss why it needs improvement and work through several examples of doing exactly that using patterns, practices, and tools along the way. 

An emphasis will be placed on the Single Responsibility Principle, Dependency Injection, Inversion of Control, and the Service Locator Pattern.

New New Old Job Today!

Well that lasted  a day and a half :)

ScreenMatter is a great group of people with a future I believe in - it just won't include me :(   The physical environment just wouldn't work for me.  I sort of knew it wouldn't, but I let the hype of some friends and people I trust put stars in my eyes and I went anyway.

Telerx was gracious enough to have me back and I was happier there today than I've been in ages :)

Apologies to ScreenMatter.  I feel like a jerk.

New Job Today!

So, today I start a new job - at ScreenMatter.

I'm here early of course, sitting downstairs at Milkboys.  I'll probably spend all my money here :)

It's an exciting new opportunity - and I don't have to care about Oracle anymore!  Yipee!!

SRP / DI / IOC : Don't Leave Sub Main Without Them

I'll be giving a talk at the Philly.NET Code Camp on 5/17/2008

The Single Responsibility PrincipleDependency InjectionInversion of Control

If you don't already know and apply these concepts in your day-to-day development this talk is for you. 

The talk will present a very easy learning curve into these topics.  We will cover the "why" as well as the "how."  We will take a simple application written without these techniques and transform it step-by-step. 

While we will see that these things make testing your code much easier, we will also see that their use goes far beyond testing scenarios.  

In order to better communicate the "how" , we will not be using any pre-existing IOC framework such as Castle, Spring.NET, StructureMap, etc. Rather, we will build our own simple implementation during the talk.

I'm not a Jedi

In this post James Kovacs is talking about becoming a ReSharper Jedi.  Recently I attended a training class given by JP Boodhoo who is probably Obi Wan to these guys, if not Yoda himself. 

I admit to being completely overwhelmed for most of the week, not the least reason being the obsession with this topic - Keyboard=Good Mouse=Bad. 

I was shocked that someone would do training this way - after all, I was there to learn programming concepts, and that was greatly hindered by the fact that I just couldn't keep up.

But the real shock for me was how enthusiastic the class was (other than me that is).  They took to it big time.  Everyone wanted to learn which key combination did what and worked really hard at it.  Well except for me.  I gave up on that after the first day and was a lot happier.

Now, I've worked at call centers and collection agencies for most of my career, so I definitely appreciate how the keyboard is better when speed of input is the primary goal.  You want your collectors or reps talking and typing and hitting the next call key even while hanging up as quickly and graciously as possible with the current call.  I've got that.  I've DONE that :)

But I can tell you for certain that in my programming career it is never the speed of clicking File | New that slows my development efforts.  Or the speed of using the mouse to right click on the project and Add a Class.  Sure hitting some key combination would be FASTER.  But I just don't need that kind of speed.  Most of my time is spent thinking.  I'm a pretty fast typist when I'm actually putting some code down, but...  I just don't see programming as a hand-eye coordination type of endeavor.

It is really a bit humbling to me.  I imagine these guys are so much smarter than I am, that in their mind they have already written the next 3 classes and they just need to push them onto the disk as fast as they can so they can move on to the next project.  Wow!

VSS Better Than Backups?

So, I've been dealing with an infrastructure team that didn't have backups of a web server recently...  We were told "You don't need backups - that's what you have VSS for, right?"

Hmmm... 

Maybe its just because I came up on the "operations" side of IT, and the backups were my highest priority, but it took me a while to realize they were serious.  As in "we're gonna argue about this for a while."  For better or worse, the infrastructure guys carry a lot of clout at the company I work for now, so I couldn't just scowl at them and tell them how stupid this sounded to me.  I had to try and reason about something that just seemed obvious to me.

One thing I've learned is that anything that seems "obvious" to me probably means I don't understand the whole thing :)

I thought I had a perfect, easy to understand example of why that idea doesn't work - config files.  We deploy these apps with certain things configurable after the fact, and some other support type person can change these settings without our knowledge, I explained.  Our copy in VSS would be unaware of any edits that have gone in since the app was deployed.

No dice.  The infrastructure guys were even pushy enough to get the development boss to start wondering if perhaps we should make sure that whenever anyone updates the config files those should be checked into VSS.  Forget the fact that different deployments might have different configs, yet only one VSS.  "We can make a subdirectory for each one."

I just refused to roll over and die on this one, which got me some nasty comments after the meeting.  We did hammer out a tentative "in a catastrophic failure you can beg and plead and we will grab stuff from tape for you - but you had better first help yourself by having copies of your files in email or subdirectories or something."

So please tell me - Am I just wrong on this?  Is my own past experience of being responsible for "the backups" making me want to place too much burden on the infrastructure team?  After all, this is a different company, with different priorities and challenges, etc.

Thanks!
Travis

Parker Says YES!

So our wonderful two-year-old Parker (he's 3 now but I'm just slow posting these days) was having an argument with his mom..  Things were getting just a bit heated when Jessica yelled out the the standard line:

Mommy Said NO!!!



To which Parker had a resounding answer:

PARKER SAYS YES!!



I suppose she didn't like it when Carter and I laughed so hard we had to leave the table... :)

Philly.NET Code Camp 2008.1 - Looking for Speakers!

I'm looking for speakers in the Tools/Languages track for the Philly.NET Code Camp 2008.1.

This will be held on Saturday, January 12, 2008 at DeVry University in Fort Washington.

Some topics not yet covered but I'd love to see presented are:

  • NDepend
  • NAnt
  • MSBuild
  • CIFactory
  • Reflector
  • ReSharper

If you would like to present on any of these, or have other ideas please let me know!

Travis

Firefox Search Plugin for Google Code Search - By Me!

Google has recently unveiled a new search site centered on source code for developers. It's pretty fast, and I love the results.

So of course I wanted to add a search plugin to my Firefox.

 


Lo and behold, I couldn't find one! So, I learned how, and have created my first Firefox plugin. I'm sharing it hoping that others find it useful. Travis

 

Clipmarks

If you have not yet tried Clipmarks, you owe it to yourself to give it a look. The URL is: www.clipmarks.com This is a twist on the "social bookmarking" theme, where you can do a bit more than bookmark and comment and tag. You can "clip" the content as well. You can create a single "clipmark" containing content from many different articles you've found on the web. Then of course you can follow tags or people or whatever - to find related content. I think it's the coolest thing on the internet. Anyway, I clip lots of stuff, and if you'd like, you can subscribe to an RSS feed of my postings, at this URL: http://rss.clipmarks.com/clipper/travislaborde/ Of course, I'll clip my blog posts from now on. Hmmm... Should I clip my blog posting about clipping? I think not. I'll clip any NEW blog posts I make in the future. Travis

Using a Filter to build the HEAD section of a page in ASP.NET

I've posted my first article on CodeProject!

In ASP.NET (1.1) one of the things that's not so straight-forward to do is dynamically generate the tags that go within the HEAD of the page.  Of course there are many ways to do it, but none of them seems to be perfect.  I've used a few different methods over the years, and finally came up with something that I thought was cool enough to post about :)  It's different, anyway.

If you're at all interested, take a look at the following link: http://www.codeproject.com/useritems/HeadFilter.asp

So far the ratings are pretty good, and I'm excited about it!

Travis