About Me

Training

Nothin But .Net Developer Bootcamp

Navigation

Search

Categories

On this page

VS + ViEmu + (ReSharper modded with AutoHotkey)
Nothin But .Net - Training Preparation
To Students Of Upcoming Courses
Building A Solid Core Contest - Update
How to get started offering your own training courses
Screencasts Coming Soon
Around The World With The Boodhoo's - Part 1
What Do I Love Most About TortoiseSVN 1.5?
Nothin But .Net - Dusseldorf, Germany - September 22nd - 26th, 2008
How Did I Get Started In Software Development?
On Classical Music, Leaders, and Inspiration
Last Presentation For The Foreseeable Future - July 17th - Orlando .Net User Group
All Old Links Restored
Get On The Train!!
jpboodhoo.com Launches (finally)!!
From West To East!!

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: 407
This Year: 132
This Month: 3
This Week: 0
Comments: 1082

 Thursday, July 31, 2008
Thursday, July 31, 2008 2:00:43 PM (Mountain Standard Time, UTC-07:00) ( Programming )

Now that I have been using Vim for a couple of months I feel very comfortable with it. Thanks to someone in my last class who has been a Vim user for years, I have started to use Vim for more than just editing (more on that in a later post). Vim has permeated a lot of the applications that I use:

  • Firefox
  • Visual Studio
  • Word
  • SQL Server Management Studio

 

Anyone who knows me well is aware of the fact that I am a keyboard junkie who is obsessed with keeping my hands as close to home row as possible! This is why for the longest time I have not used the ALT-Insert Resharper shortcut, but rather ALT-R-C-G-I, which is the traversal path to get to the ReSharper generate dialog.

Some of the features that I love about ReSharper also require the use of arrow keys, features such as:

  • Go to next member/tag
  • Go to previous member/tag
  • Move code up
  • Move code down
  • Go to next usage
  • Go to previous usage

I use ViEmu in studio, but also use ReSharper for the awesome features it provides. As cool as the above ReSharper features are, I have never liked having to reach for the arrow keys (or memorize the menu traversal path) when editing with ReSharper. A couple of days ago I decided to use AutoHotkey to allow me to tweak the keyboard so that I could perform all of the above operations using the exact keystrokes as ReSharper except replacing the use of the arrow keys with the appropriate Vim alternative (H,J,K,L). So now I can do the above as follows:

  • Go to next member/tag
    • Original - Alt + Down Arrow
    • Now - Alt + J
  • Go to previous member/tag
    • Original - Alt + Up Arrow
    • Now - Alt + K
  • Move code up
    • Original - Ctrl + Shift + Alt + Up Arrow
    • Now - Ctrl + Shift + Alt + K
  • Move code down
    • Original - Ctrl + Shift + Alt + Down Arrow
    • Now - Ctrl + Shift + Alt + J
  • Go to next usage
    • Original - Ctrl + Alt + Down Arrow
    • Now - Shift + Alt + J
  • Go to previous usage
    • Original - Ctrl + Alt + Up Arrow
    • Now - Shift + Alt + J
  • Generate Code
    • Original - Alt - Insert
    • Now - Alt + I

 

Only the go to next usage functions got a key replacement (Shift instead of Ctrl). Of course, none of the scripts affect the original ReSharper shortcuts, so when I am pairing with someone proficient with ReSharper and not Vim, they do not have an issue as they don't need to use the alternatives (and I can hit the shortcut to temporarily disable ViEmu also). They can carry on using the original ReSharper shortcuts. Notice that I also did the Generate Code so that now I can just hit ALT + I to do the same thing as ALT - Insert (no flight path for the hands at all!!). The nice thing is that now I can pull off all of the above functionality without having to leave home row and I get the benefit of consistent Vim style navigation.

 

Here are the scripts (simplified for brevity):

;=============================
;Process Go to next member/tag
;=============================
$!J::
    Send, !{Down}
return

;=================================
;Process Go to previous member/tag
;=================================
$!K::
    Send, !{Up}
return

;==========================
;Process Move Code Up
;==========================
$^+!K::
    Send, ^+!{Up}
return

;==========================
;Process Move Code Down
;==========================
$^+!J::
    Send, ^+!{Down}
return

;==========================
;Process Go to next usage
;==========================
$+!J::
    Send, ^!{Down}
return

;==========================
;Process Go to previous usage
;==========================
$+!k::
    Send, ^!{Up}
return

;==========================
;Process Generate Code
;==========================
$!I::
    Send, !{Insert}
return

 

Develop With Passion!!

Comments [2] | | # 
 Sunday, July 27, 2008
Sunday, July 27, 2008 9:47:16 PM (Mountain Standard Time, UTC-07:00) ( Training )
It has taken the better part of 1 year, but I finally put together the beginnings of a formal training preparation package that registered students use to prepare for the course. I decided that I would make the preparation material available to the general public as it is a source of materials that will be constantly evolving and changing as the my skills continue to evolve, and the course continues to morph. The material can be downloaded from here: http://www.box.net/shared/n74tjz78kw/rss.xml Once you have all of the material downloaded you will need to run the program tscc.exe. This will install the Camtasia playback codec, that can be used to watch the preparation videos. You will also need to install winrar (potentially) if you want to extract the contents of the rar file. The rar file contains a bunch of documents that contain things like recommended reading lists, developer tools etc. The rar file also contains a little collection problem to solve that sets the stage for where we begin on day 1. The exercise is an opportunity for people to get familiar with: -MbUnit -BDD Like Fixtures (We dive into BDD during the week) -Language oriented assertions -Specifications This material will continue to get updated. I already have significant changes to make to the introductory videos. In a month or so I will also be adding a crash course on Rhino Mocks to the prep material. Specifically, Rhino Mocks in conjunction with AAA style testing, as that is how I teach people to write tests during the course of the week. As the prep material is being served out as an RSS feed, you can add it to your reader to get notified of updates!! Develop With Passion!!
Comments [1] | | # 
 Friday, July 25, 2008
Friday, July 25, 2008 9:11:58 PM (Mountain Standard Time, UTC-07:00) ( Training )
This is a quick note out to all of the people who have registered for the upcoming courses in Germany and Las Vegas. I apologize for the lack of communication due to my holiday mode status!! I am going to make sure you all get prep material sent out to you by this coming Sunday. The venues for both the Germany course and the Vegas course are being finalized and will be disclosed by Tuesday of next week. The reason for posting this on the blog is due to the fact that the mailing lists for the courses have not yet been created, so this is a very public way to apologize for my lack of communication!! God Bless You and I look forward to starting the correspondence stream!! JP
Comments [0] | | # 
 Friday, July 18, 2008
Friday, July 18, 2008 7:16:21 AM (Mountain Standard Time, UTC-07:00) ( General )
Apparently my plan of posting the top entries for the contest has been delayed a little. There have been plenty of awesome entries received (they are all great). Look for the top 5 entries to be posted next week, and the voting will begin. Thank you to all who have submitted entries, your stories are truly awesome!! Develop With Passion!!
Comments [1] | | # 
 Thursday, July 17, 2008
Thursday, July 17, 2008 4:29:50 PM (Mountain Standard Time, UTC-07:00) ( Training )

There are a lot of developers out there who are interested in getting into training offerings. This may be something that they have as an immediate to do item, or something that they are currently planning for and want to know the potential steps to get the ball in motion. This post is my attempt to share exactly what I did to be able to get to market and run my Nothin But .Net course.

A little bit of history

I have only been formally teaching the Nothin But .Net course for a year and a half and I have learned some valuable lessons along the way. Before you can start thinking about heading out and establishing your own training (whether it be an individual course or a full blown training company) there are a couple of things that you may need to be able to do before you can even fill a seat in a course.

I ran my first Nothin But .Net training course in February of 2006. At the time only 4 people attended, and they were all part of a project I was working on. I was a little bit disappointed by the turnout but I came to the conclusion that I should be satisfied with the numbers because of one simple fact:

· Nobody knew who I was, so why would a bunch of people I did not know, show up for a class I was teaching?

I realized at this point that some marketing was necessary!!

Get the marketing machine working for you

I started blogging in December of 2006. It was a simple “hello world” post. I barely had any readers and my primary reason for starting a blog was to be able to share what I knew with the community to ultimately increase awareness about the training that I was going to be offering. At the time, DNRTv was just about to hit the scene. I thought to myself “this is a great opportunity” to leverage the audience that Carl already had in place. I did a couple of series on DNRTv and the emails started coming in. I also made sure to point people in the direction of my blog in the hopes of building up a readership. Along with the DNRTv slots, I made a commitment to write a couple of articles that year. This was as simple as buying a copy of the magazine and looking up the editors email address. You will be amazed at how easy it is to throw a suggestion at a user group leader and have them say “OK”. The worst they are going to say is “no!!”, so go for it!!

With the ball rolling on the marketing front, I stepped up the pace by getting into the presentation circuit and delivered presentations using a completely ad-hoc style where I could demonstrate on-the-fly coding to audiences around the world. There was a strategy to this also:

· Start Local

· Go to surrounding cities/states

· Go global

· Show them what you know!!

During this phase of presentations I made it a point to not wait to be contacted to come and do a presentation. In reality, the only groups I was being contacted by were local and surrounding user groups. “Don’t wait for anyone to give you a handout”, figure out your plan of attack and go for your goal. I started contacting every user group and code camp that I was interested in talking at. This was not based on the typical “where is a nice place to visit strategy!!”, but rather a strategy that would ensure a good breadth of coverage. Since I was very new to the circuit I had to reach out directly to each user group / code camp in question and ask them if I could come and speak. Sometimes the answer was “no”, but 98% of the time the user group was more than happy to say “yes, we would love for you to come and speak. Keep in mind, I was not overly established at this time save a few DNRTv appearances, and 1 or 2 articles. Like I always tell people, don’t buy into our microwave culture’s idea of instant results. Set a goal, work diligently towards it, and have patience.

Figure out your plan for training

Fast forward to February of 2007, exactly a year since I first attempted to run my first course! Remember the point above about patience!! I advertised a course in a city a couple of hours from where I lived (Go to surrounding cities/states) and the course completely filled up. I felt extremely blessed by this and know that it was a result of hard work, determination, and several presentations that I had done to the user group in said city (Edmonton, Alberta). This class proved to be the staging ground for what would ultimately become Nothin But .Net. One of the things I learned in this class is that you have to remain “current” if you want to be able to offer people something that is of value. I realized here that classes with completely open formats can be an awesome venue for allowing people to dig into the topics that they may actually want to see. Looking back on that first course it is amazing to see how the course continues to shape and evolve with each successive iteration. Some have been painful, but each has come with a tremendous amount of learning for me!!

From that course in February 2006 (the only course that year) to the first “true” course in February 2007 I have hosted the course publically more than 15 times and privately 5 times. Each iteration of the course has been very different from the next, because each successive course gets to see new techniques that I have been adopting and using the 3 weeks between the last course.

The above point highlights and important question you have to ask yourself. “Do I want to be a full time trainer or will this be something that supplements other work I am doing”. I never wanted (nor do I want) to be a full time trainer. This is why I consult for 3 weeks of the month and do a course for 1 week. There have been times when I have done 2 courses in 1 month, but that has been on a request basis only.

The Heart of a teacher

This brings me to a very important point and question that you need to ask yourself:

· What do I bring to the table?

Outside of the technical offering that my course provides I get much more comments from people on the level of direction and inspiration people glean about life in general. Strategies to not get lost in the sea of information, and charting their own course for learning. As well as how to realize more satisfaction out of their lives in general. I could not share these points to people if it were not for one important fact:

· You truly need to have a heart for teaching, and need to be willing to bare all your secrets to enable the success of others.

There are a lot of people who will start down the training path because they will see big dollar signs and do not truly have a heart for teaching. In time people will recognize this trait and people will stop attending their courses (plain and simple). People can spot authenticity and compassion quickly. They can also spot the reverse of those traits just as fast!!

· How patient are you with people?

· How willing are you to share the “secrets” that you know to enable another person’s success?

· How much are you willing to think about things that are going to enable success far beyond the course of a one week venture?

· How willing are you to share your faults and mistakes to ensure that people can bypass those snares in their own lives?

· How willingly can you accept criticism and use it to shape and improve your future delivery (this has been something that I am constantly doing, and am thankful to the many students who have let me know the time I have fell down).

· How open are you to learning from your students?

The above are all valid points that you need to ask yourself as someone who would want to be a teacher.

The Logistics of training

So you have taken care of the marketing and there is now demand for what you want to offer. How do you figure out the where and the what? There are lots of different strategies for this. I always speak very openly and honestly with people about what some of my goals in life are. When my wife and I were 18 and first married we listed down a set of goals that seemed completely unattainable at the time (we were 18 and living in a fourplex with both of us earning a combined salary of about 1200 month. We both worked in a family dollar store!!). This was our “dreaming big” exercise and we did not let out current situation at the time dictate to us the size of our dreams. One of the to-do items was to be able to have me get a job where our family would be able to travel the world together. It was also at that time that we made a commitment to always travel as a family. Save a couple of local trips and 1 or 2 remote presentations, we have held fast to that commitment. So in complete truth, when it comes to the courses, my predominant strategy has been: “Where have we not been that we would like to go?”!! I float the idea for a course on the blog and see what the responses are. If the initial response looks good I go ahead and advertise the course.

For course registration I use acteva.com. It is a very simple service that charges you $100 for each course that you want to provide registration for. They also charge a per transaction fee for credit card processing. Outside of that, the administrative side is very simple. Once people register I get an email confirmation about their registration and the correspondence can begin.

For the venue, this is something that has been a constant learning process for me. The current favorite is to host the course in a hotel conference room. This has become a hit with my course as, because of the day length (often stretching into 1:00AM), people can stay in the hotel the course is being booked. Depending on the hotel and location the venue cost has typically been anywhere between $3000 -$10,000 dollars for the week. This is excluding meals.

I decided early that I was going to ensure that people were well fed during the course of the week. Even though people come expecting to receive meals, they are often blown away by then fact that we often do not hold back when it comes to lunch and supper. We will often, during the course of the week eat at very nice restaurants (time permitting of course). The reason for this is simple:

· Exceed people’s expectations.

· It feels awesome to be able to bless people in this way.

One of the other valuable benefits about going out for a meal at lunch and supper is to allow for a change of scenery, which also provides an often inviting atmosphere for people to sit and chat about what they are doing with their lives. There will be many times in a course where people will make a point of ensuring that they sit with a different person for each successive meal, as to ensure that they get an opportunity to chat with as many people as possible.

For people who have been following the course, they will also note that one of the requirements is for people to bring their own laptops. This has served a dual benefit of:

· Not needing to find dedicated labs. These can be a bit more difficult to find and often you are at the mercy of the schedule that they have in place. This can be a problem if your course hours stretch beyond the realm of their operational hours.

· Being able to more clearly demonstrate a build automation process catering to disparate machine setups!! As everyone in the class will typically be coming in with very different machine configurations.

Along with the venue, and meals, it is also beneficial to ensure that you throw in a couple of freebies for attendees so that they can feel like they are walking away with just a little more than the knowledge that you have transferred through the course of the week. Currently in Nothin But .Net, I make sure that people walk away with the following:

· Screencasts of all of the coding that I do during the course of the week. This usually ends up being anywhere from 4GB – 6GB of Camtasia footage!!

· Amazon gift credit (currently $70)

· One of the following choices:

· ReSharper 4.0

· VisualSVN

· Extra amazon credit above the regular allotment.

· T-Shirt/Hat – I survived JP Boodhoo’s Nothin But .Net Developer Bootcamp!!

Beyond actually having good material (which is absolutely necessary), the little extras like nice meals and freebies will ensure that attendees will have positive things to say about the course in general (unless they did not like the course!!).

Finally on the logistics front you will be well served if you get your family involved in the process so that you are not stretched too thin. My wife currently takes care of all venue arrangements for the course so that I can focus on other tasks. Delegation is the key to focusing your energies where they need to be!!

In Summary

I hope this post has demonstrated one thing:

“There is no magic formula to get started doing your own developer training course”

You just have to make the controlled, steady steps toward making it a reality. These are simply:

· Determine your motivation for teaching and whether it is something you should be considering

· Know your strengths – This can help you determine what you are going to be offering

· Build Your Brand – Blog, present, write articles, contribute to open source

· Deal with the logistics – Use services like acteva to handle the registration process for you.

· Start the delivery!!

I am hoping that this post can serve as a catalyst to all of the developers out there who are teetering on the fence as to when and how to get started in this process.

Just make sure you remember to enjoy the journey!!

Develop With Passion!!

Comments [1] | | # 
 Wednesday, July 16, 2008
Wednesday, July 16, 2008 7:59:07 AM (Mountain Standard Time, UTC-07:00) ( ScreenCasts | Training )

This is a quick post to announce that jpboodhoo.com will soon be launching a screencasts tab, where people will be able to download/watch videos of coding sessions that myself and people that I collaborate with are working on. It is going to be a fairly informal place to host material that is much better shared in screencast format.

One of the things that you can expect to see on this tab are screencasts of all of the presentations I will do from this point forward. Even though I said I would be doing my last public presentation in Orlando, one of things that I clarified in a comment was that if invited to speak at a user group, I would definitely consider it. I am just not going to seek out presentation spots anymore, to maintain inline with my current working set of goals.

The presentation that I am doing on Thursday at the Orlando .Net User Group, will be screencasted and made available on my site for people to download and watch at their leisure.

The screencasts tab should launch by the end of next week at the latest!!

Develop With Passion!!

Comments [1] | | # 
 Tuesday, July 15, 2008
Tuesday, July 15, 2008 2:47:54 AM (Mountain Standard Time, UTC-07:00) ( )

Since my family and I are committed to doing the traveling thing for the next year, I thought the least I could do would be to try and share our experiences as time permits!! So expect a lot of post with the same prefix for the title!!

Last week ( week of July 7th) my family and I took a little one week break in our journey to get to Orlando and spent the week at an amazing place called Panama City Beach.

It was a working week for me so I changed my schedule slightly to the following:

-Wake up at 6:00AM

-Work from 6:00AM to 8:00AM

-Workout from 8:00AM to 9:00AM

-Carry on working from 9:00AM until 2:00PM

At 2:00PM I was free to chill out with my family and enjoy the amazing beach and swim in the first truly (near clear) ocean that we have ever experienced as a family. One day we rented a Pontoon Boat and ventured out to a place called Shell Island. This was an amazing experience, running on the sand on that island caused our feet to make a noise that sounded like you were running in wet wellingtons! We ran across the island which opened up to the Gulf of Mexico. It was truly a magical experience that we will all remember forever.

Now I am sure that people are thinking, "How could he work in a place like that?". Don't feel too bad for me. I spent my entire time coding from the balcony of our room overlooking the ocean. I thought to myself "this is a great office!!" I have never got so much fresh air as well as be coding at my computer in a long time!!

For boys night out (every Thursday night I take my 3 sons out for a special event, while my wife takes our daughter out) we did go kart racing at Hidden Lagoon Go Kart Racing. The track itself is 0.90miles, so it was a lot of fun racing around it!!

We also got to take in 2 movies while we were there. My wife and I went out on a date night on the Friday we were there and we ended up going to the movie Get Smart. It was truly a hilarious movie, and I was surprised to see that it was a Mel Brooks endeavor. I love Mel Brooks films, but this one had a different style of funny to it than his traditional fare!! My wife's brother is accompanying us on our travels for the next 3 weeks, so we are leveraging him to be able to get a few date nights in while we can!!! The other movie that I saw was Journey To The Center of the Earth (with the kids) while my wife and brother went to Hancock. Journey to the Center of the Earth was a very good kids movie, the kids laughed out loud in may parts, and I thought it was a lot of fun.

On the Sunday we repacked the van and headed for Orlando. We started driving at 11:00AM and arrived in Orlando at 7:45PM!! It is now that my vacation truly begins (as I won't be doing any work now until the 9th of August!!!).

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] | | # 
Saturday, July 12, 2008 4:44:01 PM (Mountain Standard Time, UTC-07:00) ( Training )

In September, I will be in Dusseldorf giving another iteration of my Nothin But .Net bootcamp. I am already anticipating that there will be a fairly good turnout of people. Registration can be done here.

One of the great thing about this class is the high level of interaction that occurs between the students that participate. I encourage (ok, mandate) that most of the exercises in class be done in teams of 2 at a minimum. During the course of the week people are encouraged to mix it up so that they can get the opportunity to learn from other people in the class also.

For more information about the course check out the following resources:

If you plan on attending the course you can expect the following:

  • 5 Intense days of 12 hour coding sessions (minimum day length is 12hours)
  • Lunch and Dinner (usually at really good restaurants, time permitting)
  • $70 Amazon gift credit
  • VisualSVN,ReSharper, or another $70 Amazon gift credit.
  • Lots of practical exposure to many developer practices:
    • Build Automation
    • Behavior Driven Development
    • Interaction Based/State Based Testing
    • Fearless coding using BDD
    • Top Down Development (quickest way to get user sign-off)
    • Design Patterns
    • Iterative, incremental development
    • Aggressive refactoring
    • OO Fundamentals
  • Screencasts of the entire week, so that you can replay it back (potentially at a much slower pace!!)

 

  • As well as the technical side of the course, you can expect to hear me ramble about any of the following!!
    • Tips and tricks on time management, cutting out the noise, re-establishing your focus
    • Tips and tricks for lifestyle design, and leveraging your career to truly start living
    • Where did the fun go in what we are doing?
    • Becoming a keyboard freak!!

If you are thinking about registering, don't hesitate, sign up now for what may be a potentially "career and life altering experience" (paraphrased from many students who have taken the course).

 

Develop With Passion!!

Comments [1] | | # 
 Friday, July 11, 2008
Friday, July 11, 2008 3:22:56 PM (Mountain Standard Time, UTC-07:00) ( General )

Joel asked me to give my response to the How Did I Get Started in Dev meme so here it goes!!

How old were you when you first started in programming?

When I was 8 years old my Dad bought me a Beeb. Along with the computer I was also given a book on the BASIC language. I read the book and wrote computer programs on the computer for a whole year (I guess you can tell the geeks early on!!). Amazingly after that year of coding, I did not touch a computer again (for productive reasons) until I was back in school at the age of 20!!

How did you get started in programming?

I already stated above that I had the year of coding from 8yrs old - 9yrs old. What was I doing between 9 and 20? Video games, sports, goofing around. you name it. My wife and I got married at the tender age of 18, only a couple of months after high school graduation. For the next 1.5 years after graduation my wife and I worked in a family Dollar Store. I could not stand the job, and it was a chore to get up in the morning and feel fired up about what I was going to do that day at work. After one particularly nasty incident in the store I sat down and prayed and God told me that this was not His plan for what I was to do with my life. Some of my friends had decided to go straight from school into computer science programs at local and remote universities. I started picking their brains about some of the stuff they were doing. I got interested and decided that I should go back to school to study programming. Unfortunately, I goofed off a little too much in grade 12 and did pretty poorly in a lot of key subjects. So at the age of 19 I went back to high school to redo the core. As an aside, I was on honor roll from grades 9-11, so I knew that it was just a matter of me focusing and doing the job properly. After re-graduating, I applied at a local college in a 2 year technology program that would allow me to transfer into a computer science program. This is truly where I started to get into programming!!

What was your first programming language?

BASIC.

What was the first real program you wrote?

At the age of 9 I wrote a pong game. I was so thrilled with the end result, even if the graphics were nothing to write home about. The sense of accomplishment and the ability to express creativity in code were things that remained with me even when I took the long break from software.

What languages have you used since you started programming?

C++,Assembler,VB,VB.Net,C#,JavaScript,Ruby,Boo,PL-SQL,T-SQL,Open VMS

What was your first professional programming gig?

Working in a student records administration office at Medicine Hat College, working against an mainframe system using Open VMS.

If you knew then what you know now, would you have started programming?

Definitely. In reality, I would have most likely not taken the break and carried on learning programming between the ages of 9 and 20.

If there is one thing you learned along the way that you would tell new developers, what would it be?


One thing that has helped me maintain satisfaction and success in this profession is quite simple. Always make sure you are having fun. Don't get caught up in meaningless chases to be better than person X. If you can acknowledge that you will never know it all, and that there is always someone who knows more than you do, you open yourself up to chart your own course for how you navigate your career path. Making decisions that are actually right for you, not because you "think" you need to do it. When I look back to when I first started to right now, there is not a single point along the way where I can say that I was not having an absolute blast doing what I was doing. Even when I was not using agile methodologies, or big into unit testing, I put a high priority on having fun and exercising the creative nature of the work that we do!! Keep it fun, and the rest will follow. For the Christian developers out there you may also appreciate these words from the bible, that I read a looooong time ago and have always kept close to my heart:


What's the most fun you've ever had programming?


My entire career has been an absolute blast. I have to say that doing the Nothin But .Net courses and being able to be a catalyst for the growth and reignition of other peoples careers has been a blessing and an opportunity that has resulted in one of the most satisfying experiences for me. Being able to say that I am having a positive impact on the professional as well as personal lives of others is something that cannot be quantified!!


Who am I calling out?


Mo Khan

Sean Feldman

Justice Gray

Joey Beninghove

Scott Cowan

Comments [1] | | # 
 Thursday, July 10, 2008
Thursday, July 10, 2008 9:12:16 AM (Mountain Standard Time, UTC-07:00) ( )

Do you want to be a person who can be used to awaken the possibilities in other people?

This is an amazing video. Benjamin Zander is a very inspirational speaker and has some very interesting thoughts on classical music. It are his views on life and the ability to awaken and inspire people that I completely agree and reiterate with (although he says it much more clearly than I could!!).

One of the themes that I hope resonates is that passion can be a trigger to light up the eyes in other people. I truly feel blessed to say that many of the students who have taken my Nothin But .Net class, can reiterate the "shining eyes" concept. I love the success that my family and I are currently experiencing, but as a Christian I also know that there are seasons and I can't know whether or not NBDN will continue to be in demand as it is right now. What I do know is that each time I interact with people whether it be in class or in a team environment, that I can help them to see from the perspective of "there's a huge opportunity here, they have no shoes (watch the video)". I can help them to strive to achieve whatever they may personally be putting their own self imposed boundaries around. If every single one of my students eclipses me as a developer, then I would be thrilled. More importantly, I want my students to truly live this journey with their eyes wide open instead of coasting through the mundane, I want them to start living their lives with passion so that the eyes of their families,co-workers, and friends are shining also!!

Money, popularity.... are all temporal things that don't actually add a lot of value. Being able to say that you have had an impact of positively affecting the life of another person is something that is much more lasting, valuable, and satisfying.

Thanks to David Sutherland for contacting me and providing me with the link to the awesome video.

What are you going to do today to get some eyes shining?

Develop With Passion.

Comments [1] | | # 
Thursday, July 10, 2008 8:38:23 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

On the 17th of July I will be giving one of my last public speaking presentations for the foreseeable future. I will be presenting a Generics session at the Orlando .Net User Group.

Expect to see some practical and pragmatic uses of generics in the realm of application development.

If you happen to be in and around the area that evening stop by, I am sure a fun time will be had by all!!

Develop With Passion

Comments [1] | | # 
Thursday, July 10, 2008 4:46:49 AM (Mountain Standard Time, UTC-07:00) ( General )

When I published the site I forgot about all of the links that I would be breaking to the blog that pointed at http://www.jpboodhoo.com/blog. After a comment from someone who had done a lot of linking I thought about the quickest thing I could do to fix the problem. Even though the site is built on System.Web.MVC, I thought that since all of the links would point at www.jpboodhoo.com/blog. I just tweaked IIS instead of adding in a new route (KISS).

I created a blog folder under the main directory for the web site. The folder itself was empty. Then in IIS I went to the properties for the blog folder and set it up as follows:

image

This is just a simple redirection, that ensures (using the simplest way possible) that all old requests, trackbacks, links etc will get pointed at the new resources that are now rooted at:

http://blog.jpboodhoo.com

 

Develop With Passion

Comments [4] | | # 
 Wednesday, July 09, 2008
Wednesday, July 09, 2008 2:53:23 PM (Mountain Standard Time, UTC-07:00) ( General )

It just takes a moment and one offering of $250 to transform the life of a child with the aid of the Smile Train.

Check out the site and see the difference that you could make in the life of a child in need!!

Comments [1] | | # 
 Tuesday, July 08, 2008
Tuesday, July 08, 2008 12:29:53 PM (Mountain Standard Time, UTC-07:00) ( General )

For months now I have been telling people that I was going to be launching a full blown web site. With the amount of work I had taken on, it kept getting placed on the backburner. I finally decided to delegate the task to someone else. With a little help (and by little I mean he did absolutely everything!!) from Mo, the site was built in a week. I just deployed it last night!!

Go to: http://www.jpboodhoo.com to view the site. Click around and you will be able to find out more about the things I am currently doing, information on the Nothin But. Net developer bootcamp and all sorts of other interesting tidbits. There are a couple of pages that are not currently active as the target web server does not have a SQL Server database installed yet. These pages are mostly dealing with viewing the feedback from previous courses as well as photo albums of the prior courses.

Couple of interesting points about the site:

  • Built with:
    • ASP .Net MVC
    • Castle Windsor
    • NHibernate
    • Log4Net
    • SQL Server
    • CSS
  • Source for the site will be released within the next couple of months (to be used as a learning tool for other developers)
  • Site Design By Stuart Knox (an incredible web designer)

Stay tuned as over the next couple of months there will be exciting new content that will be released!!

Please let me know if there are things that you would like to see on the site going forward.

Develop With Passion!!

Comments [12] | | # 
 Saturday, July 05, 2008
Saturday, July 05, 2008 9:20:33 PM (Mountain Standard Time, UTC-07:00) ( Family )

After an amazing week sharing with other people in a Vancouver Nothin But .Net course, it was time for us to hit the road!! We traveled down the west coast and spent some time in the wonderful little town of Astoria. Astoria has been home to the filming of many wonderful shows. For our family it was an opportunity to visit the town that Goonies (one of my all time favorite movies) was filmed. While there we went and took a visit to the Goonie house!!

From Astoria we started to head East as we had to start making our way towards DisneyWorld. Along the way I took a wrong turn and we ended up visiting Multnomah Falls. While we all made our way to the main bridge to see the falls up close and personal, it was only my 2 eldest sons and myself who made the trek all the way up to the top of the falls. A 620' climb that gave us all our exercise for the day!!

Making short stints of driving and stopping in places along the way, we now find ourselves in Austin for a day before we make our way across to Panama City Beach where we will reside for the week prior to heading to DisneyWorld.

Our trip has only just begun and we have been able to see some truly amazing sights and have some awesome irreplaceable family moments!!

I'll keep you updated as we make our way around.

With respects to traveling and seeing the world, Shane Courtrille sent me a link to a great video that you should check out, as it might give you some ideas as to where you might want to travel when vacation time rolls around ( and also remind you of how dance is the global language!!)

Develop With Passion!!

Comments [2] | | #