個人檔案The Martin Schray Way相片部落格清單更多 工具 說明

部落格


1月11日

Getting started with Silverlight

Alfred Thompson has a post on his blog pointing to some great getting started resources for Silverlight.  I have been thinking about spending some time with Silverlight and it seems these resource are just the tools I need. 

1月4日

SchraySoft has a killer app! (refreshed)

 Reinforce It V1.1 Launched

The Applications

I still love a good desktop application especially if I wrote it.  Bits and pieces of this application have been floating around on my hard drive for a while.  The zip file containing the install .MSI file can be found below.

What is Reinforce It!?  Its an application that sits in the system tray and flashes a reminder (via a toast window similar to Outlooks).  The intervals between the reminders and the reminder message are configurable.  Why the name Reinforce it?  Maybe you want to remind yourself to take a break and do some stretching (avoid carpal tunnel) or sit up straight (good posture) or even smile (show your natural friendliness). 

Download Reinforce It!

I packed the application using a Visual Studio Setup Project.  The link below contains the .MSI file to install the application as well as IronPython source for the application.

Download Reinforce It V1.1

The Technology

C#, IronPython and .NET 2.0

This application was as a learning experience and experiment of sorts.  I had C# libraries I developed to handle the message display as well windows state (minimize, hide, restore...).  I was using them in other applications.  I wanted to build the window forms applications using IronPython.  I learned a lot about IronPython in the process.  I compile the application into an exe.

The UI

1. The System Tray Icon and menu

 

2. The message display window

 

3. Configuration window

 

 

Special Thanks

I want to thank Clint Rutkas.  His blunt feedback on my (awful) UI design (not sure it qualified for the term design) really helped make this initial version far more usable and robust.  I also leverage Clint's cool delayed startup project.

Miscellaneous

Video showing how I created a Visual Studio Setup Project for Clint's delayed startup project.

IronPython CodePlex Project

My VB 2005 Book

VB 9 (e.g. 2008) has (at least) 10 hidden gems

This coding 4 fun post (Coding 4 Fun link) points at the VB 10 teams blog for 10 hidden VB 9 gems.  What are they?  Here is the list, but check out the article...

0.) Multi-targeting (e.g. target .NET 2.0, 3.0 or 3.5)

1.) Type inference (e.g. VB automatically figures out the type you are using so you don't have to say Dim blah as Type you can just say Dim blah)

2.) If Operator (e.g. you could use the C or C# compact if format - Dim intE = if (intA = intB, intA, intB) so an if else in a single line

3.) Object Initializers - imagine being about to create an object and set a block of properties using .with all at once...

4.) Nullable - basically value types (int, float) are not able to be assigned null values

5.) LING to Dataset - You can use LiNQ to query a dataset

6.) Syntax tooltips - a picture is worth a thousand-ish words

clip_image006

7.) XML Namespace support in Intellisense - if you import an xml schema you get intellisense for it

8.) GoTo Type Definition - new context menu choice allows you to GoTo the definition of a type (not the declaration of the variable)

9.) Type inference for loop variables - loop control variable is inferred while within a loop

10.) Performance improvements and ... Non-blocking operations - speedy background compiler providing immediate feedback

1月3日

New Device Development Features in VS 2008

The article that I point to below does a nice job in talking about the development environment enhancements in VS 2008 for mobile developers.  Here is the list of items that the article covers in some level of detail.

  1. Unit Testing for Device Developers
  2. Device Security Manager (for testing against various security configs)
  3. Automation via the Device Emulator Manager (write scripts or code to easily automate launching various emulators configs)
  4. Device Emulator Enhancements (set battery levels and such for testing under different scenarios)
  5. Broad choice of support platforms (PPC and SmartPhone 2003 through Windows Mobile 6.0 - and many version in between)

 Here is the detailed article. 

Device Development Fatures in VS 2008 Article

Extension methods - let you extend existing classes (even without the source!)

The artcile in the link below on extention methods points out the basic rules for using extention methods.  Here are the rules"

  1. All extension methods must be defined in a non-generic static class
  2. Your method needs to accept a parameter of the type you want to extend

I have not tried out extention methods yet, but they look interesting and are worth exploration.

Artcile on extension methods