A couple cool free apps I've been using

I have not had a chance to blog about a couple apps I found online.

The first one is called Quest Comparison Suite for SQL Server.  This is an alternative to using Red Gate SQL Compare.  I have used Reb Gate in the past and it is great, but it is pretty pricey.  This tool is pretty impressive for a free tool.  It was written using the .Net 1.1 framework but still works well.  The only issue I’ve had with it is the way it creates the SQL scripts.  Sometimes it inserts transaction and rollbacks that cause some issues.  I turned those off and use this to create a SQL script that I then go in and modify a bit to get the job done.  Overall it is a great tool and it’s free!

The second is one I just downloaded and installed this week.  It’s called Synergy.  This is a great tool that let’s you share a mouse and keyboard between machines.  I know this doesn’t sound like anything to blog about, but let me explain how it works.  Most people know about KVM switches.  Well with this tool you can do the same thing that a KVM switch can do without the switch.  It uses the network instead.  So, as long as the two machines are on the same network you can setup Synergy to switch machines when your mouse hovers over any edge of your screen.  You configure which side of the screen goes where. 

I use Synergy because I have a laptop that I use to develop from home and a desktop that I use at work.  So, when I’m at work I can set this up so I can use the same keyboard and mouse and switch between my desktop and laptop.  It works like I have dual monitors setup but it actually switches from my desktop screen to my laptop screen and back.  It’s hard to explain, but it is cool. The only downside is the UI for this tool.  Setting it up is a pain through the UI, but once it is setup it is great.  If you want to try it be sure to read the documentation.  We all read the documentation before we use stuff right  

Posted in | 1 comments

Comments On Last Nights Design Patterns Talk

Last night I presented on simple design pattern at the Denver .Net User’s Group.  Here are a final comment:

During the presentation I received a very valid questions.  ‘Why use a pattern when I can just code the new functionality right into my concrete object?’  The answer I gave last night was you CAN code the functionality right into the base object.  That would work just as well as using a pattern to do it.  I stick by that answer.  If there was a cookie cutter solution for every software issue out there, we would all be out of a job.  From all the announcements on job posting before the meeting we can all see this is not the case.  What I’m trying to say here is that design patterns are not meant to be the end all be all of OO design.  So, don’t try to ‘fit’ your solution or design into one of these patterns.  Instead, focus on the underlying philosophies of these patterns to solve the problem.  The most common philosophy in patterns is coding to an interface.  Use interfaces and base classes as much as possible to provide flexibility and ease of maintenance.  So, when your out there researching and learning design patterns, try to think outside the box and by all means modify the pattern to solve your issue.

I got some great feed back from Brad Wood (Thanks Brad!).  He sent me a great link to Jeff Atwood’s blog post on the Gang of Four book and how it is misused in some cases.  It relates to what I said above.  I will let you read it and try not to skew your opinions of it.

The title on my blog is Keep it Simple Stupid.  I try to use that every day when I design and code.  Some design patterns are overkill for many issues.  So, the challenge we all have is to learn these patterns back to front so we know when a pattern is the right solution and when it is overkill.

Also, I forgot to mention this when I posted the samples and demos but if any of you have your own blogs feel free to post and link to my blog if you deem it worth.  That is all I’m going to say on it.

Posted in | 3 comments

Slides and Samples From My Presentation At The Denver .Net User Group 07/23/2007

This zip file contains everything from my presentation last night.  If you were not able to make it please check out the Power Point because I made it a point to be pretty descriptive on my slides to allow people to review the patterns and make sense out of the demos.  If you have any questions feel free to email me at BenH@coloradotc.com or just comment on this blog.

A couple of things about the demos.

  1. If you have attended this talk in the past at another user group or code camp, you might want to get and look over this presentation again.  I re-did all the demos and made extensive changes to the slides.  So, take a look.
  2. You must run the script in the “DBScript” folder against you SQL server if you are going to use the SQL server provider.  This script will create the DB, the tables, the stored procedures and finally fill in all the sample data.
  3. After you run the DB script to create your DB you will also have to change the connection string in the SQLDAL.cs file to connect to your SQL server.
  4. I used Access 2007 in the demo, but I have also provided an Access 2003 version for those of you who do not have Access 2007 yet (Shame on you if you don’t… :-))
  5. Again, if you want to use the Access provider you will have to change the connection string in the MSAccessDAL.cs file to point to the proper file.
  6. I had a problem with my Add Vacation decorator demo.  I have not had a chance to fix that yet.  Once I do get it fixed I post the file again to this site.  Hopefully, I will do that in a couple days.

Other than that happy coding.  Please add my blog to your aggregator.  I have already received some good feedback from last night’s talk and I have a few comments of my own that I will be adding out here shortly.

File Attachment: DesignPatterns.zip (1223 KB)

Posted in | 0 comments