Wednesday, July 28, 2010

Introduction to SSRS Report Builder

I made a short 30 minute presentation to fwPASS yesterday on the topic of Report Builder after Mark Dalman presented an Introduction to BizTalk. The intention was to present on Report Builder 3.0 (SQL Server 2008R2 version), but unfortunately I had SQL Server installation issues that prevented it. I presented using SQL Server 2005 Report Builder instead, but I highlighted some of the new features found in Version 3.0.

The first three slides are just tidbits of fwPASS information followed by the presentation.

A side note: Other than slide 8, I created the entire presentation using Microsoft’s PowerPoint WebApp on my Windows Live SkyDrive account. It is a pretty nifty web-based alternative to Google Docs

Monday, July 26, 2010

Using Virtualization in a Development Environment

Not the real NYC, but it has its advantages (photo courtesy Dean Willson) I’ve been using virtual desktop environments in the development and testing arena for years, primarily through Microsoft Virtual PC and Sun VirtualBox. However, they bring with them as many challenges as advantages.

Advantages

  • When your PC replacement cycle is every two or three years, it can dramatically reduce the time it takes to migrate to your shiny new hardware. Just load the virtualization software and point to your virtual machine configuration file/hard drive image.
  • If you don’t use the same resource hungry applications and services every day, you are keeping your host machine operating at a higher average performance. Example: You don’t need to have SQL Server 2000, 2005, and 2008 along with all the SQL Agents, and other peripheral services consuming resources in the background if you only do database development 25% of the time. It is easier to spin up a development instance than manually turn off all those background services.
  • It can reduce the risk of data exposure due to theft or loss. For example, if I’m traveling to make a presentation, I can leave my development environment back at the office to minimize the chance that if my laptop is stolen my work and data is compromised. According to the Open Security Foundation and DataLossDB.org 21% of data loss in 2009 was from stolen laptops/PC (incidents by breach type).
  • For testing software or InstallShield builds on multiple versions of Operating Systems, it takes much less time to spin up a Virtual PC or Virtual Server than the old way of re-imaging a PC using Norton Ghost.

Disadvantages

  • Performance of applications on the guest is rarely as good as running natively on the host operating system.
  • You need to have a license for each operating system and licensed applications that you run in a guest OS in addition to the ones you might need on the host. 
  • Backups configured in the guest only run when the guest in powered on during the scheduled backup times.
  • Options for running 64 bit guests are much more limited and often more costly than 32 bit guests. Must have a minimum of dual core and sometimes requires special hardware based virtualization on the Processor, such as VT-enabled processors.
  • Opening the save Virtual Hard Drive image on a different machine can cause Windows OS’s to require re-activation if they sense certain hardware changes. You can only activate Windows OS’s a limited number of times via the internet before you need to call Microsoft to get an alternate activation code.
  • If you have a static hard drive size configured, re-sizing can present a real challenge.

This list is not comprehensive. Virtualization is a powerful technology, but it requires careful consideration when putting it into real world application. These are just a few considerations.

Friday, July 9, 2010

SSMS Tools Pack – Handy SQL Server Management Studio Utilities

swiss army knife I ran across the SSMSToolsPack while reading the comments from a post on dynamically generating CRUD Stored Procedures. It has some other nice features like saving snapshots of the execution plan to the clipboard.

It can also generate data insert statements from query resultsets, tables, or a database. That can be pretty handy for a number of reasons like:

  • populating lookup tables in the initial deploy scripts of a new application or application update where a lookup table is added
  • dropping tables and recreating test data for testing installation scripts and application testing

 

photo attribution http://www.flickr.com/photos/jesse_sneed/2383953694/ CC BY-ND 2.0

Thursday, July 8, 2010

Expression Design 4 Crashes Windows Explorer

Windows Explorer Stopped Working error I installed Microsoft Expression Studio 4 alongside Studio 2. I opened a jpg file, manipulated it by adding text, and attempted to save the .design file. Expression Design 4 crashed before the save finished. No, it’s not a beta version of Studio. Now every time I open my “Documents/Expression/Expression Design” document folder on Windows Vista SP2 with the folder set to the icons view (thumbnails) and start to scroll the window, Windows Explorer stops working and restarts. It appears to only fail on the folder that I was trying to save the .design file into when Expression Design failed. In order to see the contents of the folder, I had to change the folder view to any of the non-thumbnail options, like Details or List.

Windows Explorer Folder View Options

Tuesday, June 1, 2010

IndyTechFest 2010

I am a Windows 7 phone programmer. At least that’s what Dave Bost, Bill Steele, and Jesse Liberty told me. That makes me feel pretty trendy.

With eight tracks of sessions I found myself wanting to attend two or three presentations simultaneously every hour. Unfortunately I had to choose just one.

Sessions I attended

A. Keynote with Jesse Liberty.

1. Windows Presentation Foundation for Developers

2. Introducing Windows Phone 7 Series

B. Lunch: Networking. It’s pretty fun to go to a regional event with over 400 attendees and realize that you know about 10% of the people there. I wanted to attend the Building a Company and Operating a Consultancy lunch and learn, but the room was packed full by the time I got my lunch.

3. Building Applications on Windows Phone 7 with Silverlight

4. Building a Data Mart 101

5. Application Development with Silverlight 4. Jesse mentioned Adam Kinney’s name in this session. That always makes me think I know a celebrity.

Thank you!

A big thanks goes out to the organizers, speakers, sponsors, volunteers, attendees, and anyone else that had their hand in the event! Thank you to my buddy Dave Fancher for giving me a ride from the Marriott North to the Marriot East.

The logistics, food, venue, prizes, etc. get better every time they hold the IndyTechFest. There were so many prizes from the sponsors it literally took an hour to raffle them all off – and they were even doing it quickly and efficiently.

Tuesday, May 4, 2010

Microsoft Word 2007 Equation Tools Hotkey

Microsoft Word Equation Designer I was attempting to use the Alt+0153 notation to insert a Trademark symbol in a Word document so I held down the [Alt] key and pressed the plus key (+). It didn’t insert the Trademark symbol, but it did pop up the Equation tools designer. If you’re a geek like me, you would probably find it interesting if you haven’t experimented with it yet.

Now back to figuring out how to add the Trademark symbol without having to open Character Map, find the symbol, and copy and paste it from there. Hint: Hold down the [Alt] key and type the code representing the Trademark symbol, 0153, using the numeric keypad – no plus sign involved. Copyright = 0169.

Wednesday, April 21, 2010

The Value of Peer Code Reviews

Code Review photo Fellow .Net Users Group members Richie, President Armanda, and I facilitated a Round Table discussion on Peer Code Reviews. In the words of one of the attendees,

“That was one of the best topics and Round Table discussions we have had.”

I agree completely, although I am a little biased because I suggested the topic. The discussion covered the following:

  • reasons for code reviews (best practice, quality, compliance)
  • benefits
  • who to include (and exclude)
  • cultural prerequisites – not to be used in performance evaluations
  • pre-review prep (code standards, guidelines, checklists, individual review/notes)
  • the review itself (frequency, roles, scope, mechanics, tools, demonstration)
  • metrics
  • most common findings
  • software available – code coverage, standard practices compliance (styleCop and fxCop type software), code review itself

In addition to improving the quality of the code under review, almost unanimously the greatest value is that the process makes better developers. It provides a process that facilitates improvement through:

  • self motivation to improve – respect from peers
  • understanding your personal “most likely to miss” types of bugs or coding practices
  • coaching, teaching, and mentoring from other team members
  • understanding the expectations of your programming and testing responsibilities

Additional related resources:

SmartBear Software - Best Practices for Peer Code Review

Roiy Zysman's Code Review Checklist (or how to avoid the code review reaper..)

Charles Vas's Code Review Checklist

Photo attribution: http://www.flickr.com/photos/sebastian_bergmann / CC BY-SA 2.0