After finding Screen Toaster some three years ago now, I found out the other month that the website has been pulled, it’s a shame as this was such a useful tool.

But today I found Screen-O-Matic a small java application, like Screen Toaster, that just works.

You don’t even need an account, and if you want to go Pro it’s only $12 a year.  Lets hope that this model is sustainable and long lasting.

Balsamiq Mockups the next stage

I’ve been pushing Balsamiq Mockups for a number of years, it was on my toy list for 2009.

Once you have a mock up of your wireframe and the customer is happy with the look, the next stage is to convert it to HTML, previously I have prefered to pass this to a designer to make it look pretty.  But the problem you’ll have with making something look nice is that the customer will think it is DONE and you just don’t want that to happen.

I came across a Balsamiq Mockup to HTML/CSS converter this morning from NedeCo it just does the job and generates a simple and easy to follow HTML and CSS.

This is a perfect starting point for your application and you’ll be able to get your business and architecture up and working before the customer gets any expectitions of a DONE project. (511.03 kb)

Upgrading from MVC 2.0 to MVC 3.0

Have you tried to upgrade an MVC 2.0 application to MVC 3.0, it’s not easy as you need to change a lot of configuration.

Well Eilon Lipton has a codeplex project to make life easier ASP.NET MVC 3 Application Upgrader. This is a standalone application that takes the troubles away for you and delivers an MVC 3.0 application (430.58 kb)

mvc crib sheet

Hands-On Labs





c# code


@Html.ActionLink(“Edit”, Edit”, new {id=item.ID})



implicit code




Code block



       Html.ActionLink(“Edit”, Edit”, new {id=item.ID})




Displaying text inside a code block






Explicit expression using brackets





This is an email address




if you use an explicit expression you’ll display the values






If you want 




you can ESC by using 





Visual C# and .NET 4.0 samples

I came across some nice C# samples from Microsoft today providing everything from Hello World, to how to use Yield and how to program Attributes.

Official Visual Studio 2010 Samples for C# 4.0

Worth having a look at if you are a beginner or a seasoned programmer.

Language Samples

The C# 4.0-specific samples are called:

  • Named and Optional
  • Office Sample
  • Python Sample
  • Simple Variance.

Here is the complete list of language samples:

  • Anonymous Delegates: Demonstrates the use of unnamed delegates to reduce application complexity.
  • Arrays: Shows how to use arrays.
  • Attributes: Shows how to create custom attribute classes, use them in code, and query them through reflection.
  • Collection Classes: Shows how to make non-generic collection classes that can be used with the foreach statement.
  • COM Interop Part I: Shows how to use C# to interoperate with COM objects.
  • COM Interop Part II: Shows how to a use a C# server together with a C++ COM client.
  • Commandline: Demonstrates simple command-line processing and array indexing.
  • Condiational Methods: Demonstrates conditional methods, which provide a powerful mechanism by which calls to methods can be included or omitted depending on whether a symbol is defined.
  • Delegates: Shows how delegates are declared, mapped to static and instance methods, and combined into multicast delegates.
  • Events: Shows how to declare, invoke, and configure events in C#.
  • Explicit Interface: Demonstrates how to explicitly implement interface members and how to access those members from interface instances.
  • Generics: Shows how to make generic collection classes that can be used with the foreach statement.
  • Hello World: A Hello World application.
  • Indexers Part I: Shows how C# classes can declare indexers to provide array-like access to objects.
  • Indexers Part II: Shows how to implement a class that uses indexed properties. Indexed properties enable you to use a class that represents an array-like collection.
  • Libraries: Shows how to use compiler options to create a DLL from multiple source files; also, how to use the library in other programs
  • Named and Optional (C# 4.0): Demonstrates Named and Optional parameters, an alternative to method overloads
  • Nullable: Demonstrates value types, such as double and bool, that can be set to null
  • Office Sample (C# 4.0): Demonstrates how Dynamic and COM Interop make it easy to call Microsoft Office in C# 4.0
  • OLEDB: Demonstrates how to use a Microsoft Access database from C# by creating a dataset and adding tables to it.
  • Operator Overloading: Shows how user-defined classes can overload operators
  • Partial Types: Demonstrates how classes and structures can be defined in multiple C# source-code files
  • PInvokeShows how to call exported DLL functions from C#
  • Properties: Shows how properties are declared and used; also demonstrates abstract properties
  • Python Sample (C# 4.0): Learn how to call a Python script by using the Dynamic feature in C# 4.0
  • Security: Discusses .NET Framework security and shows two ways to modify security permissions in C#: using permission classes and permission attributes
  • Simple Variance (C# 4.0): See how Covariance and Contravariance are supported in generic interfaces and delegates
  • Structs: Shows how to use structs in C#.
  • Threading: Demonstrates various thread activities such as creating and executing a thread, synchronizing threads, interacting between threads, and using a thread pool
  • Unsafe: Shows how to use unmanaged code (code that uses pointers) in C#
  • User Conversions: Shows how to define conversions to and from user-defined types
  • Versioning: Demonstrates versioning in C# by using the override and new keywords
  • XML Documents: Shows how to document code by using XML
  • Yield: Demonstrates how to use the yield keyword to filter items in a collection


These samples help you learn LINQ quickly. They also act as a reference and guide for those with existing LINQ experience. A few handy utilities are also included. They are available in the LinqSamples folder.

  • DynamicQuery: Code to create LINQ queries at run time.
  • LinqToNorthwind: A basic example of how to use LINQ To SQL to query a database
  • LinqToXmlDataBinding: Bind LINQ to XML code to WPF controls
  • ObjectDumper: A utility for writing the output from a LINQ query to the screen in text mode
  • PasteXmlAsLinq: A Visual Studio addin that automatically converts XML to LINQ to XML.
  • QueryVisualizer: Allows LINQ to SQL developers to see the SQL for their query, and also to see the results of the query in a grid.
  • Reflector: Use LINQ to right queries against the objects in your code using the Reflection APIs
  • RSS: This sample acts as a tiny web server that aggregates several RSS feeds
  • SampleQueries: This is the most important sample and contains about 500 examples of how to use each of the query operators in LINQ to Objects, LINQ to SQL, LINQ to XML and LINQ to DataSet.
  • SimpleLambdas: Several examples of how to write and use lambda expressions
  • SimpleLinqToObjects: The hello world of the LINQ samples. This shows you how easy it is to do simple queries of in-memory objects using LINQ to Objects.
  • SimpleLinqToXml: Get started using LINQ to XML.
  • WebServiceLinqProvider(TerraService): A custom LINQ provider and client for the TerraServer-USA Web service.
  • Whitepapers: The following papers are stored in this directory in Word format:
    • LINQ Project Overview
    • LINQ to SQL Overview for C# and VB
    • Standard Query Operators
    • LINQ to XML Overview
  • WinFormsDataBinding: Learn how to display LINQ queries with grids in a Windows form. It includes a one to many query example.
  • XQuery: Another simple LINQ to XML sample query. This sample shows the minimal code necessary to write a LINQ to XML query

Windows mouse acting like a Mac mouse

One great feature about the Mac is the way the mouse movement is active on a window without the need to click on the window.  This is called XWindows mode.

Well I have just found out you can do this in Windows too:

To turn this setting on, just type “mouse works” into the search box in the Control Panel, and you should see an item called “Change how your mouse works”.

In this screen, scroll down and find the checkbox for “Activate a window by hovering over it with the mouse”.

Now life becomes easier.

ASP.NET MVC Routing checker

I came across this nice little MVC routing checker by Phil Haacket

Simple to use just add


in to the Application_Start of your Global.asax and it does all the reporting on all your Routings (4.80 kb) (16.81 kb)