Saturday, November 07, 2009

Paint.NET 3.5 (Final) now available

Paint.NETPaint.NET v3.5 (Final) is now available!

“Thanks to everyone who helped out with the extensive alpha and beta releases with all the bug reports, crash log submissions, and feedback. It has all been a huge help in creating the best Paint.NET release ever.

As usual, there are two ways to get the new version:

  1. Preferred: Use the built-in updater from within Paint.NET. If you are using version v3.36, simply go to the Help menu and click on “Check for Updates.” For v3.5 alpha/beta, go to the Utilities menu instead of the Help menu. Or, just wait for the update prompt to come up automatically within the next week or so.
  2. Download directly from the website: http://www.getpaint.net/ . There is no need to uninstall the old version; that will be taken care of automatically.

Changes since version 3.36:

  • New: Refreshed user interface with new icons and visual styling. On Windows 7 and Vista, it is enhanced for Aero and "glass".
  • [GD: Way to many for me to leach.. click though for all the details]

image

You all have Paint.Net, right? One of the must have Windows utilities? No? (–10 geek cred, sorry ;)

All kidding aside, congrats to Rick on his release and for thank you for your outstanding work on this rock’n product!

 

Related Past Post XRef:
Tutorials on how to use Paint.Net to create Eyes, Sunsets, Seashells, Rings, and more...
Free Plug-ins for Paint.Net

Let's Paint the town red... Paint.Net 3.3 Released
Paint.Net 3.2 RTW
Paint.Net 3.1 Released
Paint.NET 2.5 RTM
Paint.NET v2.1 Released
Paint.NET 2.0 Released
Paint.NET v1.1 is now available!

Friday, November 06, 2009

Almost everything you ever wanted to know about the MSG (stand alone Outlook Email message) file format but were afraid to ask (Part 1)

Microsoft Open Specification Support Team Blog - .MSG File Format (Part 1)

“In my previous two blog entries, I’ve focused on becoming familiar with the Compound File Binary Format which we discovered was similar to a FAT file system within a file.  With that exercise behind us we’re ready to step up a level in the ecology of file formats.  Analogous to ascending from chemistry to simple cell organisms, CFBF has given us the building blocks with which the great variety of application file formats are assembled. 

Recently, I took the time to expand my view of application formats by investigating the workings of Outlook’s .msg format.  Specifically, I was required to explain how a Rights Managed Email message could be dissected in order to read the contents hidden within.  Having only a cursory knowledge of the Outlook message file format (.msg), and that being based of course, on CFBF, I needed only to discover where the critical components of the email message could be found.  I will divide this blog into two parts.  In part 1, I will overview the message file format described in MS-OXMSG in preparation for part 2.  In part 2, I will describe in some detail, including code fragments how to find the compressed email attachment in a rights managed email and how it can be decompressed in order to read it plainly. 

.MSG

In this overview section, my goal is to describe the message store structure in a way that will enable you, the reader to recognize quickly the storages and streams in a sample .msg file and understand what you’re seeing.  As always, to get the nitty-gritty detail of property names and fields sizes and the like, please refer to the actual documents that I’ll list as we navigate them.

Microsoft Open Specification Support Team Blog  MSG File Format (Part 1)

[MS-OXMSG]: .MSG File Format

image

This post, and part 2 when it comes out, warrant a much closer look (due to what I do in my “day life”)

 

Related Past Post XRef:
The Microsoft Office Visualization Tool (OffVis) – Spelunk (view, browse, peek into, etc) Microsoft Office Binary Format files

Upgrading your OS or maybe moving to a new PC? Don’t have your device driver disks? Double Driver to the rescue!

BooZet Freeware - Welcome to Double Driver

“One of the main reasons why you would want to collect installed drivers is if you don’t have the Driver CD that came with the computer or they are unavailable online. This comes in quite handy if you purchase a computer and want to backup the initial set of drivers. It can be quite difficulty for example to find drivers for hardware installed in a notebook if the operating system has to be setup again. Luckily Double Driver can now lend you a hand with that and save you a lot of time.

Double Driver is a very simple and useful tool which not only allows you to view all the drivers installed on your system but also allows you to backup, restore, save and print all chosen drivers simply and reliably.

Double Driver analyzes your system and lists the most important driver details such as version, date, provider, etc and offers you the chance to update to the latest version. All drivers that are found can easily be backed up the application and easily restored at a later point in one go.

Double Driver is freeware. Feel free to use and give this program to anyone you know. Your donation or feedback would be greatly appreciated. [GD:Description leached in full, click through for the download link]

image

Backup’s are good. Say it with me, “backups are good”.

But when we usually think of backups we think “my files” or system files, or disk image, etc. This is a targeted backup solution that will scan, backup and restore your system/device drivers.

The utility fired up and scanned very quickly on my Win7 x86 notebook. I’ve not tried to backup/restore… And do I need to say that this, should simple and easy to use, should be used (i.e. if you restore) with care and caution?

Still if you need it, you’ll need it. And the price is just right…

image

image

(via Scott Hanselman, @shanselman - tweet)

SQL Server 2008 FILESTREAM Best Practices

MSSQLTips - Best Practices – When Using FILESTREAM Feature of SQL Server 2008

“Problem
In SQL Server 2008 one can store BLOBs (e.g. Images, video, Word, Excel, PDF, MP3, etc) in the NTFS file system rather than in a database file. This can be done by using the new FILESTREAM feature which was introduced in SQL Server 2008. In this tip we will take a look at some of the best practices which a database administrator can follow to get the best performance when using the FILESTREAM feature of SQL Server 2008.

Solution
If you are new to SQL Server 2008 and haven’t used the FILESTREAM feature yet, then I would suggest you start with the following tips.

FILESTREAM Best Practices

Some of the best practices which can be leveraged by database administrators when using the FILESTREAM feature of SQL Server 2008 are listed below:

image

I’m starting to see a little movement in my day life toward SQL Server 2008 and a little interest in the FILESTREAM feature so when I saw this, I wanted to make sure I captured it for future reference and sharing…

This is a great post which summarizes a number of FILESTREAM best practices I’ve seen and heard about in the last couple years. Both configuration (i.e. turn off Last Updated and 8.3) and usage (what file sizes are best stored where) tips are included.

 

Related Past Post XRef:
SQL Server VARBINARY vs FILESTREAM – The code and performance trade offs saving the right sized files to the right datatype.
SQL Server 2008 FileStream and VB.Net – The Sample
SQL Server FileStream Whitepaper – A DBA/IT focused FILESTREAM paper
Run to Run As Radio for a great SQL Server 2008 FILESTREAM show
SQL Server 2008 FILESTREAM Attribute from Start to C#
SQL Server 2008, the FILESTREAM Attribute and Partitioning - Apparently not as easy as it looks (yet at least)...
A future world without the SQL Server Image/Text/NText data types. Now's the time to start planning for that future...
SQL Server 2008 FILESTREAM - Writing a file to a FILESTREAM column
More SQL Server 2008 FileStream Fun
Playing with the SQL Server 2008 FileStream Attribute

Wednesday, November 04, 2009

Visual Studio 2010 Power +25 with PowerCommands 10.0

FreeToDev - Power Commands for Visual Studio 2010

“Moving to VS2010 felt like a step backwards in some respects as it doesn’t implement many of the great productivity enhancements that the Power Commands for Visual Studio 2008 offered.

The good news is that the PowerCommands for Visual Studio 2010 are are now available here.

One thing to note is that after installing the Visual Studio extension, you will probably need to enable it for administrators.

…” [GD:Click through for the simple “enable it for administrators” instructions. If you install it and it doesn’t seem to work, do this…]

Visual Studio Gallery - PowerCommands 10.0

“PowerCommands 10.0 is a set of useful extensions for the Visual Studio 2010 adding additional functionality to various areas of the IDE. The source code is included and requires the VS SDK for VS 2010 to allow modification of functionality or as a reference to create additional custom PowerCommand extensions. Visit the VSX Developer Center at http://msdn.com/vsx for more information about extending Visual Studio.

Enable/Disable PowerCommands in Options dialog …
Format document on save / Remove and Sort Usings on save …
Clear All Panes…
Copy Path…
Email CodeSnippet…
Insert Guid Attribute…
Show All Files…
Undo Close…
Collapse Projects…
Copy Class…
Paste Class…
Copy References…
Paste References…
Copy As Project Reference…
Edit Project File…
Open Containing Folder…
Open Command Prompt…
Unload Projects…
Reload Projects…
Remove and Sort Usings…
Extract Constant…
Clear Recent File List…
Clear Recent Project List…
Transform Templates…
Close All…

image

Cool…

On a related note, I’m not seeing the mentioned “included source”, but that could be because I’m looking directly into the vsix file. Maybe it’s in the referenced VS SDK? Or am I having an ID-10-T moment? (I’ve asked the question and will update this post when I know more).

 

Related Past Post XRef:
Power Up your Visual Studio 2008 with the new, free and with source, PowerCommands for Visual Studio 2008

Tuesday, November 03, 2009

VM Workshop – The multifactor, multifaceted, open source, example MVVM app in Silverlight, WPF, WebForms, ASP.NET MVC, Ajax, WinForms flavors (all in both C# & VB too)

Craig Shoemaker - Learning Model View ViewModel and Presentation Model

“I recently posted details on a new open source project I have started that aims to help you learn the intricacies of using Model View ViewModel and Presentation Model. The project is called VM Workshop and it’s initial offering includes demonstrations on how to implement a simple list/edit/persist scenario using the following UI platforms:

  • Silverlight
  • WPF
  • WebForms
  • ASP.NET MVC
  • Ajax
  • WinForms

Code is available in C# and VB.NET.

…”

Craig Shoemaker - VM Workshop: Model View ViewModel (MVVM) and the Presentation Model Pattern in 5 UI Platforms

“For some reason the family of design patterns that exist around the Model View Controller pattern seem to be an elusive band of characters. The first time I  encountered Model View Controller I studied the text hard trying to understand how the Strategy, Observer and Composite patterns worked together to accomplish some goal that – try as I might - remained fuzzy. Somehow I have a sense that I am not alone.

Introducing VM Workshop

The VM Workshop is a simple reference application demonstrating the Model View ViewModel and Presentation Model pattern in a number of different UI platforms.

…and as an open source project, you are invited to help add examples of how to deal with a myriad of different UI use cases!

The purpose of the VM Workshop is to be a working programmer’s reference, not an exposition in pattern purity. Therefore you may see small details that may not fit the textbook definition of the patterns, but the point is to provide a template for effective pattern use. For instance there is an example in ASP.NET MVC is included in VM Workshop. Obviously the pattern being implemented is Model View Controller, but the construction of a “view model” class is still relevant in this context. While referring to ViewModel class in a ASP.NET application may be technically inappropriate, I use the term “view model” to interchangeably refer to a ViewModel or Presentation Model class for simplicity.

image …”

VM Workshop

image

The one and only Craig Shoemaker has done it again, this time with a VERY cool project. He’s podcast before about taking a similar project, building it using MVVM for WPF and then for Silverlight (Hands-On Model-View-ViewModel (MVVM) for Silverlight and WPF), but this time he has GONE TO FAR!

He’s taken a similar project and MVVM’ed it in C# and VB for FIVE different platforms.

All I can say is, Wow…

The WPF Starter Kit – A simple, barebones, pick it up in an afternoon, MVVM/Navigation/Commanding Framework

Knowledgecast - The WPF Starter Kit

“If you're looking to get straight to the code, go here: http://wpfstarterkit.codeplex.com/

When I started out with this application I really wanted to use the Model View View Model pattern. Not only because MVVM is the hot new pattern (which it admittedly is) but also because I think MVVM is what MVC always wanted to be. Of course, WPF's brilliant data binding and commanding support only helps. We did evaluate what was then known as Prism (http://compositewpf.codeplex.com/) but found it a little too complicated for a project this size (the application only has about 30 views). Another thing that didn't fit was the large learning curve. Most of the people on the project, while quite well versed with managed code, we new to the WPF way of doing things.

That was when I made the decision to build a up a barebones, simple MVVM/Navigation/Commanding framework that would be easy to pick up in a single afternoon. While it does not have the modularity, complexity or extensibility of Prism, it worked very well for our application.

…”

CodePlex - WPF Starter Kit

“The WPF Starter Kit is a great way to get started building Model View ViewModel based WPF applications. Unlike other MVVM frameworks, the starter kit makes it easy for people new to WPF to jump right in. Here's what the WPF Starter Kit supports:

  • A simple, easy to use implementation of the Model View View Model pattern
  • A navigation framework that allows for clean navigation between View/ViewModel units. This framework is based on built-in WPF navigation
  • Support for passing data between View Models
  • Support for generic exception handling
  • Support for long running operations on the UI thread

…”

Simple is good. Getting up to speed on MVVM and Commanding/Command Routing is not DARPA Hard, but it’s not easy either. And if you’re trying to ALSO learn WPF at the same time, well I’ve seen brains leaking from ears… It was not pretty…  :o

BTW, there’s a PowerPoint presentation if you help to need to sell “someone” on MVVM…

image

Note to Self: Learn PowerShell by using it. Do one PS thing a day…

James O'Neill's blog - You can’t be a 21st century admin without PowerShell

“…

newskill_2

I’ve been saying the same thing in different ways a lot recently. The slide on the left was in the session I delivered at the big Wembley event in October.  A few people picked up that I’d said “Everyone should learn PowerShell”, and I’ve since had to explain that this requires a suitable definition of “Everyone”. But it is my firm belief that IT professionals working Microsoft technology are at an advantage if they know at least the basics of PowerShell. …

I took the following list from one of the Slides in the Wembley deck: – it is not designed to be complete but to show pre-eminence of PowerShell in the Microsoft world.

In Server-R2 there is:

  • PowerShell for Active Directory
  • PowerShell for Applocker
  • PowerShell for Best Practices
  • PowerShell for BITS transfer
  • PowerShell for Clustering
  • PowerShell for Group Policy
  • PowerShell for Installing components
  • PowerShell for Migration
  • PowerShell for Remote-Desktop
  • PowerShell for Server Backup
  • PowerShell for Web admin

Not forgetting that we also have;

  • PowerShell for Exchange 2007
  • PowerShell for HPC
  • PowerShell for HyperV @ codeplex.com
  • PowerShell for OCS in the OCS Res-kit
  • PowerShell for SQL 2008 R2
  • PowerShell for System Center

You can see anyone who says “I don’t do PowerShell” is at a disadvantage, …

The successful admin is not automatically the one who knows every possible way to use every possible command in PowerShell. Nor the one who turns their back on GUI to do everything from the command line , but the one who understands the tools available for the task at hand, can select the right one, and can put it to use competently. PowerShell is one of the tools available in so many cases in the Microsoft world, that you can’t meet that definition without it.”

I really want to get comfortable with PowerShell. Like James I feel that not knowing it, not being comfortable with it, is going to put me at a disadvantage.

So I’m going to try something. I, like most of us, learn by doing so I’m going to try to do one PS thing a day. I’m not going to bore you all with posts of my journey, but instead simply try to make PS a part of my day to day life… We’ll see. Worth a try at least… :)

Monday, November 02, 2009

From the I may never need this but it’s still interesting pile: “A literary appreciation of the Olson/Zoneinfo/tz database”

Jon Udell - A literary appreciation of the Olson/Zoneinfo/tz database

“You will probably never need to know about the Olson database, also known as the Zoneinfo or tz database. And were it not for my elmcity project I never would have looked into it. I knew roughly that this bedrock database is a compendium of definitions of the world’s timezones, plus rules for daylight savings transitions (DST), used by many operating systems and programming languages.

What I didn’t appreciate, until I finally unzipped and untarred a copy of ftp://elsie.nci.nih.gov/pub/tzdata2009o.tar.gz, is the historical scholarship scribbled in the margins of this remarkable database, or document, or hybrid of the two.

But look at the rules for Feb 9 1942 and Aug 14 1945. The letters are W and P instead of D and S. And the comments tell us that during that period there were timezones like Eastern War Time (EWT) and Eastern Peace Time (EPT). Arthur David Olson elaborates:

tz

The tz db/file is an acquired taste and one that most will never need to acquire. I’ve known about it for a few years, yet never knew ,or groked, the details Jon provided. Pretty interesting in a academic kind of way.

Given the US time change this past weekend, this quote made me chuckle, “Daylight Saving Time was first suggested as a joke by Benjamin Franklin in his whimsical essay, ‘An Economical Project for Diminishing the Cost of Light’…”

(via Tony's Microsoft Access Blog - A literary appreciation of the Olson/Zoneinfo/tz database)

Sunday, November 01, 2009

Interesting .Net 4 thing of the day: String.IsNullOrWhiteSpace()

MSDN Library - String.IsNullOrWhiteSpace Method

“Indicates whether a specified string is Null reference (Nothing in Visual Basic), empty, or consists only of white-space characters.

IsNullOrWhiteSpace is a convenience method that is equivalent to calling the Trim() method followed by the IsNullOrEmpty method.

White-space characters are defined by the Unicode standard. The IsNullOrWhiteSpace method interprets any character that returns a value of true when it is passed to the Char.IsWhiteSpace method as a white-space

Module Example
   Public Sub Main()
      Dim values() As String = { Nothing, String.Empty, "ABCDE",
                                 New String(" "c, 20), "  " + vbTab + "   ",
                                 New String(ChrW(&h2000), 10) }
      For Each value As String In values
         Console.WriteLine(String.IsNullOrWhiteSpace(value))
      Next
   End Sub
End Module
' The example displays the following output:
'       True
'       True
'       False
'       True
'       True
'       True

…”

I love seeing these kind of helper/convenience methods that we all write/re-invent get baked into .Net…

(via William Bartholomew - New Method: String.IsNullOrWhiteSpace() andalso This Week on Channel 9 - TWC9: Asli Bilgin, Halloween, VS2010, and community events)

A Feed You Should Read #10 - Tales from the Road: A Traffic Cop's Stories

“Now for something completely different”

For today’s feed I wanted to reach WAY outside my usual scope and into the “Real World.”

Tales from the Road: A Traffic Cop's Stories

image

Background:

It’s sometimes hard to remember that our world, the world of development and IT, isn’t a 100% accurate representation of the “real world” (gee… No way! lol :p ) Sometimes the real world crashes into our lives, yet on average, we usually leave it alone if it leaves us alone. A live and let live mentality.

Yet the “Real World” is out there none the less. And it’s both funnier and uglier than most of us can imagine. Today’s blog is from someone who’s on the front line of the real world and he’s giving a chance to ride along with him.

I’ve been following his blog since its start, as well as his previous blog, Jaded: Thoughts of a Rookie Cop. He’s shared his journey as a police officer, from being a rookie new on the job, to someone who now knows the ropes, been there, done that, yet still has hope and enjoys the good that his does.

Why do I like this feed and think you might also?

His posts are not a reality show, but reality. His feelings and thoughts are real and it shows. More than once the posts of his experiences has made me laugh out loud and shake my head in wonder.

Why did I think you might like it? I don’t know that you will, but sometimes we all need a little real world to remind us of what we have…

On a related note, I’ve said it before and I’ll say it again, thank God for our cops. You rock. Thank you for helping keep my family safe.

Snap of the latest post:

image

Blog Information:

Name: Tales from the Road: A Traffic Cop's Stories - Random entertaining stories of life as a traffic cop.
URL: http://trafficcopstories.blogspot.com/
Feed: http://trafficcopstories.blogspot.com/feeds/posts/default?alt=rss
Post Types: Personal blog of daily’ish life/work experiences and thoughts