Alt .Net Seattle – Parting Thoughts

This past Alt.Net experience was amazing as always. I am continually blown away by the level of passion that is exhibited by all attendees. Every single person in attendance comes ready to share and learn.

I enjoyed talking with a lot of new faces and spending (too short) time with friends that I have not seen for a while.

It is particularly awesome for me to see the growth that is occurring in people as I reconnect with them after 1 year of not chatting with them. It is truly amazing the distance a person can travel with a bit of focus and determination.

Even though the conference was going on, I got to spend a considerable amount of time with my family also. On the evening of the second night, we went out to go and see the Forbidden Kingdom with Jackie Chan and Jet Li. The movie was excellent, and served as a great way to break up the Alt .Net event for me.

If you are thinking about attending an Alt.Net event, I encourage you to not hesitate to attend/organize one in your local area. This is not a community of people who think they are better, it is a community of people who are continually trying to become better software developers. The ideas and thoughts are an aggregate of concepts that are not yet considered mainstream by a majority of the .Net community. It is particularly encouraging for me to see the increased level of Microsoft involvement at each successive Alt .Net event.

I made a comment that it was particularly interesting that the venue (Digipen) happens to be one of the leaders in churning out top quality innovative game developers. The perfect place to host a group of people who are striving for innovation and creativity with respect to problem solving in the software realm.

Hopefully I will see some of you at an Alt .Net event in the future!!

Develop with Passion!!

Posted in General | Leave a comment

Nothin But .Net Austin – Recap

What can I say. I could not have asked for a more fabulous group of people to have as a class. The week was full of coding madness, resharper jedi magic, VimFu, and most importantly – amazing conversation between a group of people who are passionate about self improvement!!

It was awesome to have the help of Mo as a great as my TA for the week. He saved me countless numbers of hours by taking care of a bunch of administrative tasks as well as ensuring that the flow was not interrupted whenever machine issues would come up.

Finally, it was excellent to have Scott Bellware come in and give a session on Behavior Driven Development. All of the students were introduced to behavior driven development over the course of the week, as that was how I was teaching them to write their tests. It was excellent to have Scott come in to reiterate and reinforce some of the ideas and implementation behind BDD.

Austin is a beautiful city, and I look forward to hosting another course there sometime in the future!!

Develop With Passion.

Posted in Training | Leave a comment

Score 1 For Eliminating your hands flight path

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!!

Posted in Programming, Tools | 9 Comments

BDD Test Naming Macro – Speed Update

Ever since I received the BDD test naming macro from Scott Bellware last year, it has gone through several iterations of improvements (mostly due to students taking the time to tune up the macro).

Of all of the enhancements to the macro, none of them have done as much for the speed of the macro of the enhancements made by:

Todd Berry and Casey Gum

The macro now runs so fast that it is a joy to watch (you have to be quick). For those of you who are switching to leveraging context style BDD testing, you may want to pick up the macro and integrate it into your IDE:

 

Imports System

Imports System.Windows.Forms
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics

Public Module CodeEditor

    Public Sub ReplaceSpacesInTestNameWithUnderscores()
        If DTE.ActiveDocument Is Nothing Then Return
        Dim wrCS As Boolean = DTE.Properties("TextEditor", "CSharp").Item("WordWrap").Value

        Try
            DTE.Properties("TextEditor", "CSharp").Item("WordWrap").Value = False
            Dim selection As TextSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection)
            Dim index As Integer

            selection.SelectLine()
            If selection.Text = "" Then Return

            Dim methodIndex As Integer = selection.Text.IndexOf("public void ")
            Dim classIndex As Integer = selection.Text.IndexOf("public class ")

            If (methodIndex < 0 AndAlso classIndex < 0) Then Return

            index = CType(IIf(methodIndex >= 0, methodIndex, classIndex), Integer)

            Dim prefix As String = CType(IIf(methodIndex >= 0, "public void ", "public class "), String)
            Dim whiteSpace As String = selection.Text.Substring(0, index)
            prefix = whiteSpace + prefix
            Dim description As String = selection.Text.Replace(prefix, String.Empty).Trim
            Dim text As String = prefix + description.Replace(" ", "_").Replace("’", "_") + vbCrLf
            selection.Delete()
            selection.Insert(text)
            selection.LineUp()
            selection.LineUp()
            selection.SelectLine()
            If selection.Text.Trim = "{" Or selection.Text.Trim = "}" Or selection.Text.Trim = "" Then
                If selection.Text.Trim = "{" Or selection.Text.Trim = "}" Then
                    selection.Insert(selection.Text.Replace(vbCrLf, "") + vbCrLf)
                ElseIf selection.Text.Trim = "" Then
                    selection.Delete()
                End If
                selection.Insert(whiteSpace + IIf(methodIndex >= 0, "[Test]", "[TestFixture]") + vbCrLf)
            End If
            selection.LineDown()
            selection.LineDown()
            selection.EndOfLine()
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            DTE.Properties("TextEditor", "CSharp").Item("WordWrap").Value = wrCS
        End Try
    End Sub
End Module

 

Develop with Passion!!

Posted in Programming | 2 Comments

New Horizons

Well, I have been pretty quiet on this blog for the last little while, so I thought I would take some time to share a little about what the Boodhoo family has been upto.

We just recently decided to give away the majority of our material possessions, sell our house and embark on a completely new adventure. That adventure entails us moving to Austin!! Over the last year my family and I have fell in love with the Austin area. The people are friendly, the weather is amazing, and there seems to be no shortage of work for software developers.

"Why in the world did you give away all of your stuff?" is the question I am sure that a lot of people are asking. When we talk to people about this, we let them know that we really felt strongly that the Lord was directing us to bless our family and friends with the blessings he had provided us with. The response has been more amazing than we could have imagined, and we know that God used us to impact them in ways we could not have thought about. It also helped us as a family to live what we speak and demonstrate that we are not bound/defined by what we have. The kids are learning amazing lessons about what is truly "valuable" during this process.

For the last week my family and I have been living out of a hotel, swimming almost every day and enjoying spending a lot of time together. The kids are having an absolute blast. Next week we are going to be in Austin to do some house hunting, I will be doing the majority of the browsing this weekend as I will be leading another Nothin But .Net Bootcamp.

We are extremely excited about the opportunities that the Lord has in store for us, and we bravely step out of the land of "Familiar" in order to pursue our "Big Dream" (if you are curious about those terms, pick up a copy of the book "The Dream Giver").

What does the future hold for us? One day at a time, we are going to find out!!

Posted in Family | 12 Comments