About Me

Training

Nothin But .Net Developer Bootcamp

Navigation

Search

Categories

On this page

VMWare Fusion 2.0 - Get It Now!!
Getting Syntax Highlighting For You Powershell Scripts (GVim)
Vimperator Teaser Screencast
Firefox + vimperator + gvim + ItsAllText
BDDDoc
NHibernate 2.0 GA
What Do I Love Most About TortoiseSVN 1.5?
ReSharper 4.0 Goes To RC Phase!!!
Running On The Trunk
Look Ma' More Displays!!
BDD AutoHotKey Script Update - Take 2
BDD AutoHotKey Script Update - Take 1
So Long BDD Macro - Hello Autohotkey!!!
ReSharper 4.0 Beta
Score 1 For Eliminating your hands flight path
Gettin' Jiggy With VIM
Hooked on VIM
ReSharper 4.0 Nightly Builds
Another Handy Shortcut Combination (Shift + F10)
code.google.com/p/jpboodhoo!!!
Update To VS2008 Issue
VS2008 - Bringing Attention To An Issue
Downloading VS2008
ReSharper Templates
Update - (Taking a short break from)Typing With The Datahand
ReSharper 3.0 Beta - Get it while its hot
ThoughtWorks Studios Is Busy!!
(Automated Build Script + ReSharper Solution Wide Error Analysis) == The Bomb
Help Improve ReSharper
Copying files with Powershell
VSTS Unit Testing With ReSharper
What OSS Software Do You Use?
Visual C# 2005 Keyboard Shortcut Poster
Powershell For Vista - Get It While It's Hot
So long (SlickRun) and thanks for all the fish
Windows Developer Tools Day
ReSharper 2.5 Released
ReSharper 2.5 -EAP Released
I forgot my mouse today.....big deal!!
Hot off the press!!
Clean up your (NAnt) build files by taking advantage of fileset references
Tips for becoming a more effective developer
Error Accessing Outlook Address Book When Composing a Message
My New Favorite Blog Code Highlighter
For All You ReSharper Keyboard Junkies
Hanselman Updates His Awesome Tools List
First Post From Windows Live Writer
Also Switched To Notepad++
NMock2 Download
ReSharper Updates
Sample CC.Net Configuration Section
Automating Your Builds With NAnt - Part 8 (Enter CruiseControl)
Unlocking Files With Ease
IE Tab In Firefox
Use SlickRun To Detach a Database
Automating Your Builds With NAnt - Part 7
SpeedFiler and Sql Prompt
ReSharper 2.0 Is Officially Here!
NAnt Starter Series
Running all of the sql files in a directory
Automating Your Builds With NAnt - Part 6
ReSharper 2.0 Beta Has Officially Begun
Automating Your Builds With NAnt - Part 5
Automating Your Builds With NAnt - Part 4
Automating Your Builds With NAnt - Part 3
Automating Your Builds With NAnt - Part 2
Automating Your Builds With NAnt - Part 1
Finally Added Feedburner feed
ReSharper 2.0 Build 229 Available
NMock2 CVS Checkout Information
BlogJet Rocks

Archive

Blogroll

 Agile Developer Venkat's Blog
 Ayende @ Blog
 B#
 Barry Gervin's Software Architecture Perspectives
 Boy Meets World
 Brad Abrams
 Canadian Developers
 Christopher Steen
 Claritude Software News
 Clemens Vasters: Enterprise Development and Alien Abductions
 Coding Horror
 Coding in an Igloo
 Dare Obasanjo aka Carnage4Life
 Darrell Norton's Blog [MVP]
 David Hayden [MVP C#]
 Don Box's Spoutlet
 Eric Gunnerson's C# Compendium
 EZWeb guy: Jeffrey Palermo [C# MVP]
 Fear and Loathing
 Generalities & Details: Adventures in the High-tech Underbelly
 Greg Young [MVP]
 Greg's Cool [Insert Clever Name] of the Day
 IanG on Tap
 Ingo Rammer's Weblog
 ISerializable - Roy Osherove's Blog
 James Kovacs' Weblog
 Jason Haley
 Jean-Luc David
 Jeremy D. Miller -- The Shade Tree Developer
 JetBrains .NET Tools Blog
 Jimmy Nilsson's weblog
 John Bristowe's Weblog
 John Papa [MVP C#]
 Jon Skeet's Coding Blog
 JonGalloway.ToString()
 Jump the Fence or Walk Around
 Lambda the Ultimate - Programming Languages Weblog
 Larkware News
 Lutz Roeder
 Marquee de Sells: Chris's insight outlet
 Martin Fowler's Bliki
 Mike Nichols - SonOfNun Technology
 MSDN Magazine - .NET Matters
 MSDN Magazine - All Articles
 OdeToCode Blogs
 Onion Blog
 Planet TW
 Raymond Lewallen [MVP]
 Rockford Lhotka
 RodMan's Corner
 Roger Johansson's blog
 Sahil Malik - blah.winsmarts.com
 Sam Gentile's Blog
 Scott Bellware [MVP]
 Scott Hanselman's Computer Zen
 ScottGu's Blog
 secretGeek
 Service Station, by Aaron Skonnard
 Signum sine tinnitu--by Guy Kawasaki
 Stephen Toub
 Steve Eichert's Blog
 Steven Rockarts
 The Blog Ride
 The Coding Hillbilly
 The Daily WTF
 TheServerSide.net: News
 Tim Gifford
 Vance Morrison's Weblog
 you've been HAACKED

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 397
This Year: 122
This Month: 0
This Week: 0
Comments: 1033

 Tuesday, September 16, 2008
Tuesday, September 16, 2008 7:00:15 AM (Mountain Standard Time, UTC-07:00) ( Tools )

I guess I have been a little too heads down in coding frenzy mode to realize that I missed the release of VMWare Fusion 2.0 4 days ago.

This release adds a whole bunch of stability enhancements along with some killer features that now make it a much more feature complete offering:

  • Virtual Hard Disk Resizing
  • Multiple Snapshots and decent snapshot manager
  • Multiple monitor support!!

There are so many new features that I would not be able to do it justice by bullet pointing it here, so head over here and check it out and download it if you are still using V1.0!!

Comments [0] | | # 
 Friday, September 12, 2008
Friday, September 12, 2008 7:00:03 AM (Mountain Standard Time, UTC-07:00) ( Tools )

I was asked this question at my last course so I thought I would share the answer with everyone!!

To get syntax highlighting for the powershell scripts that I edit I first downloaded a set of syntax files provided by Peter Provost. You can download the files from here:

http://www.vim.org/scripts/script.php?script_id=1327 (Syntax File)

http://www.vim.org/scripts/script.php?script_id=1815 (Indent File)

http://www.vim.org/scripts/script.php?script_id=1816 (File Type Plugin)

Once I had copied those files into the appropriate folders:

$VIMRUNTIME\syntax

$VIMRUNTIME\indent

$VIMRUNTIME\ftplugin

I had to edit my $VIMRUNTIME\filetype.vim and add the following line:

" Powershell
au BufNewFile,BufRead *.ps1            setf ps1

With that done I can open up a powershell file and get syntax highlighting.

Question for the long time Vim users. Can I not just place the files in the appropriate folders and have gvim automatically pick them up without having to edit the filetype.vim file?

Develop With Passion!!

Comments [5] | | # 
 Tuesday, September 09, 2008
Tuesday, September 09, 2008 7:00:27 AM (Mountain Standard Time, UTC-07:00) ( Tools )

 

As promised, I have created a quick <5 minute screencast that demonstrates the use of Vimperator to achieve mouseless browsing.

This is my first screencast recorded using ScreenFlow and I have to say that I am extremely impressed with the product!! I made sure to turn on the displaying of all keys and CTRL keys so that you could see exactly what I was pressing!!

Right now there is problems publishing comments to my blog, so if you have any feedback to provide please direct it to my email address at:

jp@jpboodhoo.com

Some of the other tools that you see used in the screencast are:

While watching the video keep in mind that I did not interact with the mouse for the entire movie!!

The movie is in QuickTime format, and you can download it from here:

Develop With Passion!!

Comments [4] | | # 
 Wednesday, August 27, 2008
Wednesday, August 27, 2008 5:14:19 PM (Mountain Standard Time, UTC-07:00) ( Tools )

The title spells out the latest set of tool combinations that take me one step closer to a richer mouseless browsing and editing experience. If you read the earlier post I am currently back running FireFox 2.0 and the older version of Vimperator as the "feature" did not present itself in that combination of tools.

I currently use vimperator to offer a mouseless browsing experience. I just stumbles upon ItsAllText which is a great add on that  lets me fire up gvim as my editor for textarea elements. I configure it to use gvim as my external editor and when I am in a textarea I can hit a hotkey to launch my external editor. I enter in the text I want and then I save and exit the editor (:wqa in gvim). This takes the contents of the vim buffer and sticks it into the textarea that I launched from.

 

If there is enough interest I would be glad to do a quick 10 minute screencast on mouseless browsing with all of the tools that I just mentioned. If there are enough responses then I will do up the screencast quick and get it out by the end of the week!!

 

Develop With Passion!!

Comments [1] | | # 
 Monday, August 25, 2008
Monday, August 25, 2008 9:42:24 PM (Mountain Standard Time, UTC-07:00) ( Tools )

For the last couple of courses I have been using a tool to generate simple natural language reports using  simple BDD Naming Styles. Just so everyone knows, the insipiration for this tool came from Scott Bellware and his tool SpecUnit. The only different between the tools is bdddoc is really just a categorization/reporting tools for your tests.

People who are already trying to adopt a more BDD oriented approach to writing their tests will find the tool useful for generating natural english reports from the testfixtures in your project.

If you run the tool against the prep exercise that I posted a while ago, you would get the following report.

To use the tool you simply add a reference to the bdddoc.dll from the project that contains your test. There is only one attribute that means anything of significance:

using System; namespace bdddoc.core { [AttributeUsage(AttributeTargets.Class)] public class ConcernAttribute : Attribute { public Type concerned_with { get; private set; } public ConcernAttribute(Type concern) { this.concerned_with = concern; } } }
 

With this attribute in hand all you have to do is mark up your test fixtures with the Concern attribute. Here is an example of one full test fixture.

using bdddoc.core; using bdddoc.spechelpers; using Observation = MbUnit.Framework.TestAttribute; namespace bdddoc.domain { [Concern(typeof (ConcernFactory))] public class when_a_concern_factory_is_told_to_create_a_concern_from_a_type : ContextSpecification<IConcernFactory> { private IConcern concern; private IObservationSpecification observation_specification; protected override void establish_context() { observation_specification = dependency<IObservationSpecification>(); observation_specification.setup_result(x => x.IsSatisfiedBy(null)).IgnoreArguments().Return(true); sut = create_sut(); } protected override void because() { concern = sut.create_concern_from(typeof (when_a_decimal_is_told_to_subtract_itself_to_another_number), observation_specification); } [Observation] public void should_create_a_concern_with_the_correct_bdd_style_name() { concern.name.should_be_equal_to(typeof (when_a_decimal_is_told_to_subtract_itself_to_another_number).Name.as_bdd_style_name()); } [Observation] public void should_create_a_concern_populated_with_all_of_the_observations_satisfied_by_the_specification() { concern.total_number_of_observations.should_be_equal_to(3); } protected override IConcernFactory create_sut() { return new ConcernFactory(); } } }

Don't be too put off by the naming style. Notice how I am making use of aliasing to alias the TestAttribute to use the word Observation. This eliminates the need to add another attribute to the bdddoc assembly. This also means that once you have placed the concern attribute on your test fixtures (keep in mind that the type argument for the constructor is the System Under Test) you will be able to run bdddoc again nunit, mbunit, or others (so far it has only been tested with mbunit and nunit).

When bdddoc is run (assuming that the class above was the only test fixture in the assembly, you would get the following output:

Concerns: 1 - Observations: 2

  • Behaviour of: ConcernFactory [ 1 Concern(s) , 2 Observation(s) ]
    • when a concern factory is told to create a concern from a type
      • should create a concern with the correct bdd style name
      • should create a concern populated with all of the observations satsified by the specification

This post is not going to talk about how I currently organize my contexts and observations (fixtures/tests respectively). After either the next course in London or the one in Dusseldorf in September, I am going to update the google code project for the Nothin But .Net store project to demonstrate some more complex tests that make use of mock, separating contexts etc.

Here is the build task that I use to run the report for my projects:

<target name="run.test.report" depends="setup.test">
    <exec program="bdddoc.console.exe"
        basedir="${third.party.tools.dir}\bdddoc\bin"
        workingdir="${build.artifacts.dir}"

        >
        <arg file="${build.artifacts.dir}\${nothinbutdotnetprep.lib}"/>
        <arg value="TestAttribute"/>
        <arg file="${build.artifacts.dir}\SpecReport.html"/>
    </exec>
</target>

 

The source code for the project can be downloaded here. I am going to place it up on my google code space, but currently I have having trouble with the account.

This project was built very quickly in a top down fashion, at the end of the day it is simply reflection and text writing. I just find working top down a very quick way to solve a problem, with the side effect of potentially more players brought into the mix (see the interfaces and classess!!). You can take a look at a lot of the tests to get a feel for how I am making use of AAA style testing and extension methods everyone to support more fluent testing. Feel free to change the code anywhere you see fit. If you add anything cool, please try and get it back to me to share with the rest of the community. Right now the actual report writer (SimpleHtmlReportWriter) is just that, very simple!! If anyone feels like submitting a writer that uses some XSL and some nice stylesheets, it would be great!!

To build the project just point a command prompt to the build folder and type the following command: build package. This will place the console runner and dll into the following folder build\latestpackage.

If you just want to get the binaries download this file and extract.

Develop With Passion!!

Comments [0] | | # 
Monday, August 25, 2008 3:08:50 AM (Mountain Standard Time, UTC-07:00) ( Tools )

If you have not yet at least spiked an application written with NHibernate, now is the time to at least give yourself a 30 minute block to spike it out.

Download from here and give yourself a couple of lunch hour breaks to see one way to free yourself from the shackles of 90% of your DB code.

 

Develop With Passion!!

Comments [1] | | # 
 Saturday, July 12, 2008
Saturday, July 12, 2008 5:06:11 PM (Mountain Standard Time, UTC-07:00) ( Tools )

ALT-F-V actually brings me to the main tortoise menu (see screenshot below)!!! I am not sure if this was a 1.5 addition to add the accessor under the V. On my matching, for prior versions of TortoiseSVN that shell item did not have an accessor!!

image

Develop With Passion!!

Comments [1] | | # 
 Tuesday, June 03, 2008
Tuesday, June 03, 2008 6:21:34 PM (Mountain Standard Time, UTC-07:00) ( Tools )

If you have been on the fence, now is the time to truly jump onto the ground and start running again in VS!!

ReSharper 4.0 RC is now available!!

I cannot stress enough the awesomeness that is this tool!! It has gotten to the point (I was there a long time ago) where I will not code at a machine that does not have ReSharper installed. It becomes a deal breaker for me with new clients that I engage if they are not willing to install ReSharper on the client machines (of course, there is the old ask for forgiveness, not permission route for this one also!!).

If you are still coding in Visual Studio using Raw Visual Studio then all I can say is that ignorance has to be bliss, as you truly cannot comprehend the productivity enhancements that can come once you have a truly powerful editor in your hands. For me the sweet spot seems to be ReSharper + VIEmu.

If you happen to be a user group leader/attendee and want to see what ReSharper can really do when opened up full tilt, get in contact with me and I would be happy to come and give a live coding demo!! Or you could just check out a session of the tool in action recorded by ReSharper Jedi Master : Ilya Ryzhenkov.

Are you ready to walk the path of the ReSharper Jedi??

Develop With Passion!!

Comments [5] | | # 
Tuesday, June 03, 2008 3:30:01 PM (Mountain Standard Time, UTC-07:00) ( Tools )

 

Seeing as how my daily work ritual for the last couple of months has been to startup my machine and pull down and install the latest version of ReSharper, I found it pleasantly surprising to see the addition to the install dialog this morning:

 

image

Tools Matter!! I could not agree more!!

Develop With Passion!!

Comments [5] | | # 
 Friday, May 30, 2008
Friday, May 30, 2008 9:47:41 PM (Mountain Standard Time, UTC-07:00) ( Tools )

VMWare Fusion 2.0 Beta just released and they finally have support for something I have been missing for a while since switching to the wonderful world of WOM (Windows On Mac), multi-monitor support.

Finally I can run my VM and stretch it across an many displays as my mac can physically handle!!! Now realistically, for me that just means my Monitor and the MacBook Pro LCD, but it is still better than nothing!!

Check out more information here: http://blogs.vmware.com/teamfusion/2008/05/more-displays-m.html

Comments [0] | | # 
 Wednesday, May 28, 2008
Wednesday, May 28, 2008 10:56:54 AM (Mountain Standard Time, UTC-07:00) ( Tools )

I think I now have a version of the script that I love. With some additions made by Aaron Jensen the script now watches for whenever the Enter/Escape key are pressed. Whenever those keys are pressed test naming style will turn off until it is reenabled again. I also modified the script so that when you are in test naming mode and you hit enter/escape it will disable that mode as well as send the keystroke (this is handy when you are in a dialog box, you enable the script, type in the natural name of the class/field,etc and hit enter. Without the modification you will have to hit enter twice!!

Aaron also made a tweak to ensure that the script is only live when VS is active. I find myself using this all over the place, so my version of the script omits that check.

Here is the new version of the script:

;=======================================================================================
;BDD Test Naming Mode AHK Script
;
;Description:
;  Replaces spaces with underscores while typing, to help with writing BDD test names.
;  Toggle on and off with Ctrl + Shift + U.
;=======================================================================================

;==========================
;Initialise
;==========================
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

enabledIcon := "testnamingmode_16.ico"
disabledIcon := "testnamingmode_disabled_16.ico"
IsInTestNamingMode := false
SetTestNamingMode(false)

;==========================
;Functions
;==========================
SetTestNamingMode(toActive) {
  local iconFile := toActive ? enabledIcon : disabledIcon
  local state := toActive ? "ON" : "OFF"

  IsInTestNamingMode := toActive
  Menu, Tray, Icon, %iconFile%,
  Menu, Tray, Tip, Test naming mode is %state% 

  Send {Shift Up}
}

;==========================
;Test Mode toggle
;==========================
^+u::
  SetTestNamingMode(!IsInTestNamingMode)
return

;==========================
;Handle Enter press
;==========================
$Enter::
  if (IsInTestNamingMode){
    SetTestNamingMode(!IsInTestNamingMode)
  }
  Send, {Enter}
return

;==========================
;Handle Escape press
;==========================
$Escape::
  if (IsInTestNamingMode){
    SetTestNamingMode(!IsInTestNamingMode)
  }
  Send, {Escape}
return

;==========================
;Handle SPACE press
;==========================
$Space::
  if (IsInTestNamingMode) {
    Send, _
  } else {
    Send, {Space}
  }

Having used this for the past 2 days now, I am convinced that AHK is the way to go to allow for much more fluidity when trying to write your tests in a more natural english style.

Develop With Passion!!

Comments [1] | | # 
Wednesday, May 28, 2008 3:45:44 AM (Mountain Standard Time, UTC-07:00) ( Tools )

Hot on the heels of my announcement about switching to use AutoHotKey, Dave posts an example overhaul that demonstrates just how powerful autohotkey is!! My brain is definitely brimming with ideas on how I can leverage this new tool in the toolbox!!

He has created a script that allows you to toggle BDD naming on/off with the same key sequence. The script also adds a customized tray icon which shows whether the script is currently enabled or not!! This is much better than mine, as you only have to use one keyboard shortcut to do the toggling.

I modified his script slightly as I did not want the TrayTip popping up whenever I switched between modes. I also wanted my toggle to be the CTRL-SHIFT-U keys instead of CTRL-ALT-U.

The following zip file contains the modification:

You can find the original here on Dave's post.

Thanks for taking the time to improve the script and let me know Dave!!

Develop With Passion!!

Comments [1] | | # 
 Tuesday, May 27, 2008
Tuesday, May 27, 2008 1:14:35 PM (Mountain Standard Time, UTC-07:00) ( Tools )

Well, it has been a good run and the BDD Macro has served its purpose to help me get into the swing with going down the BDD path, but now I find myself wanting a little bit more!!

After a quick email from Dave I thought I would take a quick look at AutoHotKey to see how it could help me accomplish my end result much simpler. Here are the 2 autohotkey scripts that I created to accomplish the end result:

replace_spaces_with_underscores.ahk:

#SingleInstance force
Space::_

spaces_back_to_spaces.ahk:

#SingleInstance force
Space::Space

 

In my main autohotkey script (which is located in My Documents) I added the following lines of code:

^!u::Run C:\utils\autohotkey\jpscripts\replace_spaces_with_underscores.ahk
^+u::Run C:\utils\autohotkey\jpscripts\spaces_back_to_spaces.ahk

The first line tells autohotkey that whenever the CTRL-ALT-U combination is pressed that it should run the replace_spaces_with_underscores.ahk to enable underscores being placed whenever I hit the space key.

The second line tells autohotkey that whenever the CTRL-SHIFT-U combination is pressed that it should run the spaces_back_to_spaces.ahk to switch the space key back to its normal behavior.

Autohotkey starts up at Windows start up, so I can use these commands no matter which application I am in. I have attached the script files. I also recorded a quick screencast, but I cannot currently upload it to my FTP server (issues). I have a feeling that me and AutoHotKey are going to become fast friends!!

Develop With Passion!!

Comments [2] | | # 
 Friday, May 23, 2008
Friday, May 23, 2008 7:12:39 AM (Mountain Standard Time, UTC-07:00) ( Tools )

I might be late of the presses making the announcement, but I am sure that I am one of the few who has been updating their build of ReSharper almost daily for the last couple of moths (except when it is a not recommended build). I just can't understate the awesomeness of this amazing tool!! I plan to do a ReSharper Jedi coding session with music and all in the next couple of weeks where I am going to go full tilt with Viemu and ReSharper 4.0. I think that the best way to sell people on the value of code productivity tools is to show them in action.

If you feel like living on the edge, go and download the latest nightly build from here.

Develop With Passion

Comments [0] | | # 
 Tuesday, April 15, 2008
Tuesday, April 15, 2008 3:59:41 AM (Mountain Standard Time, UTC-07:00) ( Programming | Tools )

For the last couple of weeks, I have been integrating Vim and a complementary set of tools into my development toolkit. I am firmly on board with what the pragmatic programmers say:

"Learn a good editor, and learn it well!!"

I am thoroughly impressed with Vim, Viemu etc. Last week I was recommended a registry hack that would allow my Caps Lock key to have the same behaviour as the ESC key. This results in a much smoother experience when using Vim.

So far, I am loving the reg hack and much prefer the need to not have to move my hand to hit the ESC key. Here is the text of the reg file:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes]
"00000804"="ch"
"00000408"="gk"
"00010408"="gk"
"00020408"="gk"
"00050408"="gk"
"0001041f"="tr"
"0000041f"="tr"
"00000423"="us"
"00000402"="bg"
"00000419"="ru"
"00010419"="ru"
"00000c1a"="us"
"00010c1a"="us"
"00000422"="us"
"00010402"="us"
"00020402"="bg"
"00030402"="bg"
"00020422"="us"
"00000412"="ko"
"00000425"="et"
"00000426"="us"
"00010426"="us"
"00000427"="us"
"00000411"="jp"
"00000404"="ch"
"0000041C"="us"
"0000041a"="yu"
"00000424"="yu"
"00000405"="cz"
"00010405"="cz"
"0000040e"="hu"
"0001040e"="hu"
"00000415"="pl"
"00010415"="pl"
"00000418"="ro"
"00010418"="ro"
"00020418"="ro"
"0000041b"="sl"
"0001041b"="sl"
"00000442"="tk"
"00000813"="be"
"0000080c"="be"
"00001009"="us"
"00000c0c"="cf"
"00010c0c"="cf"
"00000406"="dk"
"00000413"="nl"
"0000040b"="su"
"0000040c"="fr"
"00000407"="gr"
"00010407"="gr"
"0000040f"="is"
"00001809"="us"
"00000410"="it"
"00010410"="it"
"0000080a"="la"
"00000414"="no"
"00000816"="po"
"00000416"="br"
"0000040a"="sp"
"0001040a"="sp"
"0000041d"="sv"
"0000100c"="sf"
"00000807"="sg"
"00000809"="uk"
"00010409"="dv"
"00030409"="usl"
"00040409"="usr"
"00020409"="us"
"00000409"="us"
"00000452"="uk"
"0000046e"="sf"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs]
"00010408"="220"
"00020408"="319"
"0001041f"="440"
"0000041f"="179"
"00010415"="214"
"00000442"="440"
"00000410"="141"
"00010410"="142"

Create a reg file and copy the contents into it, then merge the file into your registry. Make sure that you want to not have normal use of your caps lock key.

Develop With Passion!!

Comments [11] | | # 
 Thursday, March 13, 2008
Thursday, March 13, 2008 5:37:10 AM (Mountain Standard Time, UTC-07:00) ( Tools )

Well you can officially call me a Vim junkie now!! Having spent the last couple of weeks working with it I can definitely say that I would not work at a machine that did not have it. That's right, that is the same claim I made, and still make, about ReSharper. I still trip myself up in ReSharper with VIM a couple of times, but nothing worth writing home about. To ensure a complete immersion, I have purchased a copy of Vimemu that integrates with:

  • Visual Studio 2008/2005
  • Microsoft Word
  • Microsoft Outlook

As well as now using gvim as my primary text editor (notepad++ is still in the picture) I just recently installed Vimperator which plugs into firefox to give me a whole world of Vim goodness.

There is only one problem with getting used to this tool - You will start wishing you had Vim integration into all of your applications!!!!!

For those of you who are curious, you might get a kick out of the following article:

Why, oh WHY, do those #?@! nutheads use vi?

As soon as I have time I am going to give a screencast on using all of these tools.

Comments [8] | | # 
 Friday, February 22, 2008
Friday, February 22, 2008 3:25:56 AM (Mountain Standard Time, UTC-07:00) ( Tools )

After watching the first screencast that Aaron presented on Vim, I thought I would check it out. The first day was a little uncomfortable, 2 weeks later I am happy to report that I concur with Aaron's statement, which is also what I say to people who were not using ReSharper:

"I could not use studio without it"

ReSharper + Viemu is the ultimate killer combo for increasing your keyboarding productivity. The fact that you can keep your hands on home row to do the majority of your navigation is a huge plus. The core command set does not take a lot of time to learn, you just have to stick with it so that it becomes second nature. Once it does you will be "yanking", "pasting", "changing" ..... up your code in ways that now make studio seem extremely cumbersome.

As with picking up any new tool/technique there is a period of ramp up that you have to go through. It was a 2 week road trip where I could not use my mouse, that forced me to learn all of the keyboard shortcuts that I needed to get around windows, studio etc with efficiency. After that 2 week period I realized that there were very few things that I actually needed to reach for the mouse for (game playing aside).

To dive in full force, I also purchased the Vim integration that works in Outlook and Word. That way I can completely immerse myself in the Vim experience.

I encourage you to check it out and give it an honest and open attempt. You might surprise yourself with the results.

Comments [7] | | # 
Friday, February 22, 2008 3:11:53 AM (Mountain Standard Time, UTC-07:00) ( C# | Tools )

Ever since the nightly builds for ReSharper 4.0 went live, being the REA (Resharper early adopter) that I am, I downloaded it and have been using it on my C# 3.5 projects. I am happy to report that even though it is in the pre EAP phase, it is extremely solid and a joy to work with.

The support for the new language features such as extension methods, automatic properties ... is great. So far I have had only one exception dialog pop up. For those of you who have braved prior EAP's for ReSharper (remember ReSharper 2.0 EAP!!!) you have probably already developed a thick skin for the exception dialogs that typically pop up during EAP. So far this is not the case.

In all honesty, those of us who love ReSharper would be more than willing to put up with multiple exception dialogs as, let's face it, studio without ReSharper == "I won't use it".

So what are you waiting for, head over and download the latest nightly build. Keep in mind that results may vary between use as well as different nightly builds!!

Develop with Passion!!

Comments [1] | | # 
 Tuesday, February 12, 2008
Tuesday, February 12, 2008 9:57:41 PM (Mountain Standard Time, UTC-07:00) ( Tools )

I might be a little late on this one, but I just learned a new shortcut that will definitely save me time when I am working in my VM on my mac. I love to use the keyboard. And when I use my natural keyboard it is fairly easy to access context menus (right click) by using the context menu key on the keyboard. My MacBook does not have such a key. This meant that up until yesterday (when I learned the shortcut) I had to have a mouse plugged in any time I wanted to access the context menu.

Shift-F10 is actually a keyboard shortcut that accomplishes the exact same thing as the context menu key / right click.

Thanks to Jay Smith for pointing this out for me.

 

Comments [3] | | # 
 Wednesday, November 28, 2007
Wednesday, November 28, 2007 11:01:52 PM (Mountain Standard Time, UTC-07:00) ( .Net 2.0 | .Net 3.0 | Agile | C# | Continuous Integration | Patterns | Programming | Tools )

I finally set up a googlecode project to host source code for the various things I have been doing over the last year. The first major significant contribution is of course the code drop that I promised a week ago now!!

The application is the start of what I hope will evolve to be a great learning resource for lots of things related to .Net development. The application does not currently cover any of the “extra” topics that I did not have time to get covered in the course. This is perfect because as request come in from people (including past students) asking how to tackle a certain problem, I will use this application as the demonstration area where I can tackle the problem, and update the code base, and you will be able to update your local copy and carry on.

I am currently in the midst of a large Smart Client application that I am hoping to be able to harvest pieces of code out and do the exact same thing except for the smart client realm. I have much more experience