This project is read-only.
 Greg's Cool [Insert Clever Name] of the Day News Feed 
Tuesday, September 26, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

F-Secure - Real VML patch is out

"Microsoft has released a patch against the VML vulnerability outside of their normal update cycle. Which is great.

The patch is available right now via

Get It" [Post Leached In Full]


"A security issue has been identified in the way Vector Markup Language (VML) is handled that could allow an attacker to compromise a computer running Microsoft Windows and gain control over it. You can help protect your computer by installing this update from Microsoft. After you install this item, you may have to restart your computer.  Details... "

I sure you'll be seeing this everywhere, so consider this a "Note to Self" post...  ;)

In my case, on two machines, it installed easily but did need to reboot one (on the machine I hadn't yet unregistered the DLL).

Related Past Post XRef:
IE/Windows VML Exploit - Short Term Fix

Tuesday, September 26, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

Vault of Thoughts - Lazy Load Property Snippet

"I have written an article on Visual Studio Code Snippets - how to use them, and how to create your own. I have provided there a couple of snippets that I use on daily basis. You can also check Mads Kristensen's blog where he provides a snippet for "safe events". Today I have thought of yet another useful snippet...


If using 2.0 version of the .NET Framework, you can do better and use the Nullable type for the field. And that is exactly the code snippet I provide. With it you can create such a lazy initialized property very quickly.


I'm about to begin work on an API where I want to implement lazy property loading...

The nullable approach discussed above seems smart, simple and easy to maintain. Something to look at/think about anyway...

Tuesday, September 26, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

EnhanceIE - IE7 Search Provider Builder Tool

"You can use this page to easily add a new search provider to your list of available IE7 search providers.  Search providers appear in the dropdown next to the search box inside of the new IE7.


This is a very cool service/utility...

There's a place to enter the search URL and what you want to name it. Then click on the Install button and now you have a new IE Search Provider.

Make sure you read the instructions on the form though (I clicked on it a couple times, getting a warning/error before I read the big bold instructions to use the search term "TEST"... dugh).

(via Digital Thoughts - - IE7 Search provider builder)

Tuesday, September 26, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

The CodePlex project is up for my Text Template Windows Live Writer Plugin...

The latest 1.2 beta (, the same as was put on GotDotNet) has been uploaded as a Beta Release. v1.1 Production release is also available.

I'm still moving in, updating the wiki, adding the source, etc...

This CodePlex project will be the official home now for the Plugin, but of course as I make changes/releases/etc I'll still be talking about it here. ;)

Again, any suggestions, comments, feature requests, etc would be appreciated... (If you don't I'll just keep adding stuff I think is cool...  :)

Related Past Post XRef:
WLW Text Template v1.2 Beta Released to GotDotNet
Text Template Plugin v1.1 for Windows Live Writer Released (and a Preview of v1.2)
WLW Text Template v1.1 Beta Test
WLW - Text Templates Plugin on
My Windows Live Writer Plugin - Text Template

Monday, September 25, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

I've released v1.2 beta to GotDotNet for your downloading and such... Download (as download link, just updated file) In this version/zip is the VB.Net source, manual setup instructions and new to this release, a "normal" setup (i.e. setup.exe and an MSI). Nothing much has changed since 1.2 Preview Post, but to keep you from having to click over, I've included the feature list and screenshots

Monday, September 25, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

Chris Pirillo - Syncing Outlook, OS X, Google with Ease

"Not sure how it happened, but I ran into The Holy Grail of Synchronization - how to synchronize Microsoft Outlook (multiple locations), Google Calendar, Gmail, iPod, and mobile phone with Funambol, ScheduleWorld....


Standards to the rescue! Engtech, as described, pointed me to ScheduleWorld : “An experiment in a new kind of rich Internet application, built on the foundations of open standards that enables you to access your data from virtually anywhere using a growing number of interoperable devices and software.” Yes, it’s absolutely free - and absolutely 100x more useful than you may realize..."

Interesting... Just yesterday I was looking for a cheap and easy way to sync some calendars...

Sunday, September 24, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

LAFD News & Information - North Hollywood Explosion: Failure To Follow Instructions

"On Sunday, September 24, 2006 at 10:06 AM, three Companies of Los Angeles Firefighters, two LAFD Rescue Ambulances, one Rehab/Air Tender Unit, one EMS Battalion Captain and one Battalion Chief Officer Command Team under the direction of Battalion Chief Peter Benesch responded to an explosion at 5505 Bonner Avenue in North Hollywood.

Firefighters arrived quickly to discover residents streaming from a two story garden style apartment building on the southwest corner of Cumpston Street and Bonner Avenue.


There was no fire, but structural damage was evident.

Firefighters soon determined that fifteen full-release aerosol insecticide 'bug bombs' had been used contrary to instructions within one upstairs apartment in an effort to exterminate pests.

An adult male occupant of the apartment below was the sole injury. He sustained a minor head laceration and following on-site treatment, declined transportation to the hospital.


And you only thought it an urban legend or Myth Busters episode (episode 23)...

Sunday, September 24, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

Christian Wade's Blog - SQL Server Standard - Recursive Hierarchies to XML

"I wrote an article for the September issue of SQL Server Standard magazine:

The version that was finally published was a very cut down version with minimal code snippets. This was for obvious reasons; they had to fit the content onto small columns in the magazine. For the readers who would prefer the more verbose version, here it is! I guess this is further reference material for the published article; I’m sure my friends at SQL Server Standard won’t mind.

Suppose we have a sizeable recursive hierarchy in our SQL Server 2005 relational database. We want to export it to XML. This could be for a variety of reasons....

On the face of it, this seems like a simple nut to crack. However, there are various design options available to us. This article explores some of the options. Performance is deemed the overriding factor when evaluating the optimal approach.


This is a cool article which looks at two approaches to providing hierarchal XML from a self-referencing SQL Server 2005 table (fish hook reference, parent - child keys, etc).

Saturday, September 23, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

Rockford Lhotka - .NET 2.0 solution to serialization of objects that raise events

"In .NET 1.x there's a problem serializing objects that raise events when those events are handled by a non-serializable object (like a Windows Form). In .NET 2.0 there's at least one workaround in the form of Event Accessors.

The issue in question is as follows.

I have a serializable object, say Customer. It raises an event, say NameChanged. A Windows Form handles that event, which means that behind the scenes there's a delegate reference from the Customer object to the Form. This delegate that is behind the event is called a backing field. It is the field that backs up the event and actually makes it work.

When you try to serialize the Customer object using the BinaryFormatter or SoapFormatter, the serialization automatically attempts to serialize any objects referenced by Customer - including the Windows Form. Of course Windows Form objects are not serializable, so serialization fails and throws a runtime exception.


The end result is that we have declared an event that doesn’t cause problems with serialization, even if the target of the event isn’t serializable.


Sigh... I SO could have used this just a few weeks ago.

(via -

Saturday, September 23, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

F-Secure Weblog : News from the Lab - VML Exploit - Internet Explorer


It was discovered in the wild by Sunbelt. Microsoft published Microsoft Security Advisory (925568) yesterday regarding the issue. The update is currently scheduled for October 10th - the next regular patch Tuesday.

Like the WMF exploit it is advised to unregister the susceptible dll from the system as a workaround for the vulnerability.

To unregister the dll you should execute from Start, Run:
regsvr32 /u "%CommonProgramFiles%\Microsoft Shared\VGX\vgx.dll"

This differs slightly from Microsoft's recommendation - so as to include localized versions of Windows.

The vgx.dll component solely handles Vector Markup Language (VML). ..."

Note To Self: Do this on my all machines...

Saturday, September 23, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

B# .NET Blog - EAN-13 barcodes in C#

"A couple of days ago I posted about Code 39 barcode generation in C# (and here). Today another more famous barcode is the subject of my blogpost: EAN-13. EAN stands for European Article Number and is a way to number products. It's an extension of UPC (Universal Product Code). More information over here.

One particular interesting application of EAN-13 is the fact that ISBN (International Standard Book Number) codes are also represented as EAN-13 codes. I'll blog about this too.

Mission goal

As we did with Code 39, we want to be able to do something like this:

Ean13 barcode = new Ean13("9780201734843", null);
barcode.Paint().Save("c:\\temp\\test.png", ImageFormat.Png);

The second parameter to the Ean13 constructor is an optional title to display on top of the barcode (will be handy for ISBN numbers).


Another cool barcode generation example from Bart De Smet.

The ISBN reference is this reference that caught my eye (related to my long standing, yet uber lower low priority/paused background thread "My Bookshelf" project...).

Related Past Post XRef:
Creating Code 39 Barcodes in C#

Saturday, September 23, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

Peter Bromberg's UnBlog - Security WHAT? 75,000250,000 Hackable ATM's- and the manuals are ONLINE

"I just had to laugh at how incredibly stupid people can be after reading this Wired story about how some schmuck got the "Administrator" Keypad password (which you can get right out of the PDF manual, which you can search for, find, and download online -- and that's not the only ATM model you can do this with).

The password basically allows you to reconfigure the machine to think it is holding $5 bills instead of twenties and dispense four times the amount of money you ask for ..."

Sometimes I get bugged by systems/applications/web sites that require me to enter strong passwords or to choose a strong password on first use.

But there's a method to their madness. Some (some?) people seem to be pretty lazy, (err... um... I mean... very thrifty with their upfront time... um... yeah...) the above post helping prove that point.

If it's to hard to use a system, then don't. If you have to use it, understand its operation. And RTFM!

As a software developer, this is as much a "Note to Self" as a rant...  ;)

Thursday, September 21, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

Microsoft Downloads - Microsoft PrintForm Component 1.0

"The PrintForm component is designed to bring back the ability to easily print a Windows Form. With this the new PrintForm component you can once again layout the Windows Form exactly as you want it and allow your users to print the form as a quick report."

Might be useful...

There have been times past where VB1-6's PrintForm did the trick for me...

Monday, September 18, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

DRP - developer readiness program - Posters

"Below is a list of posters in PDF.  These are suitable for screen-reading.  ..."

8 pages (at 10 per page) of PDF printable posters.

Here is what is on just the first page of posters (sorted by date)...

  • 0202 Microsoft Team System Project Panning
  • 0202 Microsoft Team System Project Source Migration
  • 3002 SDLC smartProcess
  • 3004 SDLC Unified Process
  • 3006 SDLC Scrum
  • 3010 SDLC MSF Design
  • 0000 PosterMap
  • 0000 System_NameSpace
  • 0001 Modeling Poster
  • 0002 Architecture

More than enough CuArt (Cubicle Art) for a while... ;)

(via Rob Caron - Decorate Your Cubicle or Office with Team System Posters)

Monday, September 18, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

Component Factory Blog - Krypton 2.2 Released

"This release contains many new features including...

- New KryptonBorderEdge control
- Optional drawing of each border edge
- New gradient drawing styles
- 8 New Navigator Modes
- Various bug fixes and other minor improvements"
[Post leached in full]

The cool and still free (but valid email address required for download) Krypton Toolkit UI component library has rev'ed to 2.2.

I think I'm still using 1.0. Dogh! Time to upgrade I think... ;)

Related Past Post XRef:
Krypton Toolkit (Free WinForm UI Controls) 2.0 Released
Krypton Toolkit 1.0.0 Released
Krypton Toolkit 0.9.0 (Free Office-Like UI Controls)

Monday, September 18, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

B# .NET Blog - Code 39 barcodes in C#


Code 39 is a specification for barcodes that allows coding of the following symbols: A-Z 0-9 - . $ / + % * space. The goal of this small project is to allow generation of barcodes using System.Drawing in .NET, with C#.


In the far past (a few years ago) I was involved in a project that required barcode generation. One of the things I remember most is what a pain it was to deploy. Yes, deploy. Because it was done with the "simple" method of using a barcode font.

There wasn't time to create a setup, so the font had to be manually installed... OMG, never again. Either a setup (I know, I know... they don't take long...) or another method of barcode generation.

The font method is "okay" and easy at the time, but now it feels.. icky. It's an external moving part that I'd just rather not have to worry about. That is besides the price and licensing pain of a barcode font...

Which is why this article caught my eye...

If/when I play in barcode generation land again, I want to take a look at this approach.

Monday, September 18, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

CodeProject - SolutionZipper: VS2005 Addin Cleans and Zips a Solution in One Step

"The code described in this article provides a simplified version of these add-ins. Specifically, SolutionZipper has a single-click-does-everything interface, which is what automation is all about -- saving time. There are no dialogs that present file lists, file names to be chosen, or user options to select. SolutionZipper does the following in a single step:

  1. Saves all unsaved project files.
  2. Cleans all available solution configurations (Debug, Release, etc.).
  3. Cleans all Deployment Projects.
  4. Zips all files in the entire solution:
    • The zip file is uniquely named:
    • The paths for all files are solution directory relative.
    • The zip file is placed at the same level as the solution directory.



(BTW this project is at v1.2 which was released yesterday, 9/17)

Now that I'm been able to start releasing some of my private/personal projects (like my WLW Text Template Plugin, etc) this will come in handy.

I'm currently playing the "Build/Clean/etc" game prior to zipping and releasing and it's just one thing I'd rather not have to remember. One click sounds cool... 

And if this one doesn't float your boat, check out the other two similar projects that Robert mentioned;

ProjectZip 1.6 - Zip up the source code for your latest CodeProject article

ZipStudio - A versatile Visual Studio add-in to zip up Visual Studio solutions and projects

(via .Net Adventures - A convenient tool for quick solution back-ups.)

Sunday, September 17, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

V1.1 of my Text Template Plugin for WLW is now available on GotDotNet, WLW Text Template Download

Nothing changed between the beta and the release, so please check out my v1.1 Beta post for details on this release.

I'm now working on v1.2, which will include a number of refinements and suggested features (thank you Cynthia).

v1.2 Feature List:

  • Replacement of the listbox on the Select Template dialog with a grid, which allows sorting, filtering, etc of Templates.
  • Added Categories to Text Templates, which allow for cooler sorting and filtering
  • Added Icons to Text Templates, which let you associate an icon with a given template making it easier to identify and select a given template
  • Added a Preview feature to the Add and Select dialogs, which let you see your inserted HTML in its full HTML glory.

There's still a bit of coding yet to do on it (like actually implementing the Filtering  ;) so it's not quite ready for beta, but I'm thinking the coming week'ish.

Here are some screenshots of v1.2;

Here's a preview of the new Select dialog. Much prettier isn't it?

The updated Add dialog, showing off the Category feature.

Selecting an Icon for your new Template...


A preview of your new Template

The Categories are "smart" in that if you type in a new, non-existing category you'll be asked if you want to add it to your list (so you can use it again in the future)

The newly added Template

Showing off the sorting... Like most features of this plugin, the sort column and direction is remembered between sessions, so if you like to sort by Category, the next time you Select a Template the grid will already be sorted.

The Filter will work much the sample way. The last entered Title and Category used to Filter will auto-magically filled in for you, but will not be applied...


That's it for now... back to coding.  ;)

Related Past Post XRef:
WLW Text Template v1.1 Beta Test
WLW - Text Templates Plugin on
My Windows Live Writer Plugin - Text Template

Friday, September 15, 2006  |  From Greg's Cool [Insert Clever Name] of the Day

BlackWasp - Programmatically Checking and Setting File Types

"When developing a Windows Forms application that loads documents, setting custom file types adds greatly to the professional feel of the software. This article explains how to programmatically check your file type is registered and register it if not.

Why Not Register during Set-Up?

Generally the installation package for an application will modify the registry of the end user's Windows installation and set up all of the file types that are required.  This is an ideal place in which to perform this action.  However, it can be problematic should the user accidentally remove or reconfigure the file type.  Also, with Xcopy deployment of software now a viable solution, it is possible that the installation package will never be executed.  In these cases, another solution is required.


This is a nice short and focused article on programmatically setting file associations (i.e. what happens when someone double clicks or right clicks on a given file).

The code snips are in C# but very easily VB.Net'ed (mostly just removing the trailing semi-colon ;)

Friday, September 15, 2006  |  From Greg's Cool [Insert Clever Name] of the Day or from MS Downloads

"The September 2006 v3 RTM is the next milestone in the VS 2005 SDK. The v3 release contains the final release of the DSL Tools v1, contents and samples for Team Foundation Server and Team Test extensibility, IronPython website and web project samples, 5 new Visual Studio PowerToys, managed parser & lexer generator tools (MPPG/MPLEX), updated documentation and many more IDE integration samples. ..."

The DSL Tools RTM and TFS stuff is what draws me to this release...

(via Rob Caron - Now Available: Visual Studio 2005 SDK v3)

Update #1 9/15/2006 @ 1:11PM PDT:

"...A couple of other exciting news around this release are:

  • Updated License - We have revamped the license and lifted the platform targeting restrictions. This removes a key adoption blocker and enables our partners to build tools inside Visual Studio that target alternative platforms.
  • Easy Download - in previous releases, customers needed to register with the VSIP member site before they can download the SDK. We have now made the SDK downloadable without any sort of registration or sign-in, directly from the Microsoft Download Center.


Just saw that you can get this directly from MS Downloads now (I.e. no registration is required anymore)

Visual Studio 2005 SDK version 3.0

(via James Lau's WebLog - It's Here... VS 2005 SDK ver. 3.0 RTM)

Related Past Post XRef:
Visual Studio SDK V2 RTM
"V2 of the VS SDK almost ready to ship"

 Greg's Cool [Insert Clever Name] of the Day News Feed 

Last edited Dec 7, 2006 at 11:16 PM by codeplexadmin, version 1


No comments yet.