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

Monday, March 8, 2010

Mind your Copy to Output Directory Setting on Writeable Files

I’m used to doing more web development so I sometimes forget that just because an application writeable file (.xml, .csv, .sdf, .txt, etc.) resides in the project root directory structure, doesn’t mean that is the actual file that is getting written to when developing WPF applications. Depending on the “Copy to Output Directory” setting, that actual file may or may not get copied to the bin/Debug folder which is where the executable program resides (when debugging).

The “Copy to Output Directory” setting options are:

  • Do not copy – If you use this option, but you make changes to the copy in the project directory, the changes will not get copied to the bin/debug directory which the executable uses at runtime.
  • Copy if newer – Be careful with this if you are sloppy about making changes in one location one time, and another the next. What changes are overwritten with each compile can be unpredictable.
  • Copy always – Caution: If you use this, understand that if you make manual changes to the copy in the bin/debug directory, your changes will be overwritten by the version in the project directory at the next compile of the project.

Local Database Cache example

I created a WPF application that stores data locally on the client in a SQL CE (.sdf) database which periodically synchronizes with a server based SQL Server database. Since SSMS 2005/SQL Profiler does not have the ability to connect to a SQL CE database to view the data in the .sdf file, I created a quick “diagnostic” Windows Forms client to peek into the local client database to view the data to make sure the WPF program was operating as expected. I pointed the “diagnostic” Windows Form connection string to the .sdf file in the project root directory, then started Copy Output Directorychanging the data using the WPF application. The Windows Form was not showing the data changing, but the remotely synch’ed server side SQL Server was. What’s going on here?

Oh yeah, that’s right… the Windows Form was looking into the original client database that was created with the local database cache Visual Studio project wizard at the project root - not the live copy that was running out of the bin/Debug directory (See the Solution window screenshot). After I figured that out, I changed the connection string on the “diagnostic” Windows Form app to look at the .sdf file in the bin/Debug folder. Then in order to avoid getting confused about the data I was looking at between the remote database and the local client side database I needed to make sure I understood when the .sdf file in the project root directory was going to get copied into the bin/Debug folder upon recompile via the “Copy to Output” settings on the .sdf file.

Monday, March 1, 2010

Edit Expression Encoder Job Output Templates in Blend

If you are like me and like Expression Encoder, you have probably already found the functionality that allows you to automatically create a web-based Silverlight player and html page wrapper to show off your fancy video editing prowess. Encoder comes with several Silverlight templates for audio only, video, and galleries of video. But what if the functionality they provide doesn’t suit your needs? Almost no problem, you can create a copy of the template and open it in Expression Blend in a few clicks, then customize the player as you see fit.

Click the Output tab in Encoder and select the template you wish to edit from the drop-down list. Click the tiny dot immediately to the right of the Template drop-down list.

Edit-Encoder-template-in-Blendjpg 

You will be presented options for editing the template or a copy of it in Expression Blend or Visual Studio. Depending on the template you choose and what specifically you want to change in the template, the customization can range from relatively simple to “WOW, maybe I’m being too picky about what I don’t like about the built-in template.”

Tuesday, February 2, 2010

Data Mining with SQL Server 2005

I presented this topic to fwPASS on January 26. There was a pretty good turnout. The video was edited for brevity.

If you are interested in the topic, I highly recommend the MSDN Webcast: Applying SQL Server 2005 Data Mining to Enterprise Business Problems which I used in preparation for my presentation. The book I referenced in the presentation is Programming SQL Server 2005, Microsoft Press by Andrew J. Brust and Stephen Forte, specifically Chapter 20.

*The presentation was video taped and the audio was recorded separately with a high quality mic, but somehow the audio file vanished into thin air (read: accidentally deleted) the day after the event so the audio is straight from the camcorder, oh well. The lighting was not good in the video  because the overheads were dimmed for better visibility of the screen.