About Me

Training

Nothin But .Net Developer Bootcamp

Navigation

Search

Categories

On this page

Van Presentation on Wednesday 15th July – Developer Productivity
I won’t be presenting in Edmonton tomorrow
First Presentation Of The Year – Next Week
Speaking tonight at Bonn-to-Code.Net
Last Presentation For The Foreseeable Future - July 17th - Orlando .Net User Group
DevTeach is less than 2 weeks away
Presentation Style - Food For Thought?
Calgary .Net User Group Generics Presentation Material
England Generics Presentation source code
Code And Slides For Austin .Net User Group
Simple Patterns for Simple Problems
Late Speaking Announcement
DevTeach, what a fantastic event!!
Edmonton Presentation - Source Code
Victoria Code Camp Source And Slides
I'll Be At DevTeach 2007
Thanks Victoria Code Camp
See You at the Victoria Code Camp
Source Code For January 10th Presentation
Enterprise Patterns Talk - Source and Retrospective
Nothin But .Net - On The Road
Nothin But .Net - A .Net Developer Bootcamp
November MSDN Mini-Tour Content
Another Awesome Speaker Added to MSDN Canada Speakers Bureau
Patterns Presentation at Winnipeg .Net User Group
Why I love to code and teach
TDD Live
November Speaking Schedule
Applied TDD Source Code Update
My DNIC Interview
Change Of Plans
Edmonton Code Camp Closing Thoughts
Thanks Again Edmug.Net
Fall Presentation Schedule
Invited into MSDN Canada Speakers Bureau
Wireless Microphone Recommendations
Evolving To Patterns - Part 2
Presentations Galore
Evolving To Patterns Presentation - Tonight
Thinking About Starting A User Group?
Automating Your Builds With NAnt - Part 8 Videos
Automating Your Builds With NAnt - Part 8 (Screenblog) tomorrow
Calgary Code Camp Material
Calgary Code Camp - Huge Success
Calgary Code Camp - Topic
Code For Edmonton .Net User Group Meeting (April 27th)
Speaking at the new Edmonton .Net User Group
Suggestions for presentation material

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

 Monday, July 13, 2009
Monday, July 13, 2009 7:00:00 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

The folks at VAN were kind enough to give me the opportunity to speak on the topic of developer productivity. We are going to attempt to discuss factors that can prevent us from achieving betters levels of productivity in our workplace. Of course, I am sure there are going to be other topics that come up!!

If you have time and are able to make it it would be great to have you join in on the conversation:

Start Time: Wed, July 15, 2009 8:00 PM UTC/GMT -5 hours
End Time: Wed, July 15, 2009 10:00 PM UTC/GMT -5 hours

Develop With Passion!!

Comments [0] | | # 
 Wednesday, February 25, 2009
Wednesday, February 25, 2009 10:14:00 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

Sorry for the late notice. I will not be able to make it to Edmonton tomorrow to present on BDD.

I apologize to all the people who were planning to come and see the topic. In my place Donald Belcham will be delivering a presentation on ORM’s.

I look forward to making it up to Edmonton at a future date to deliver the presentation!!

 

Develop With Passion!!

Comments [4] | | # 
 Wednesday, February 18, 2009
Wednesday, February 18, 2009 9:22:00 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

The awesome gang up in Edmonton has invited me to come next week (February 26th) to give a presentation on Behavior Driven Development.

It has been quite a long time since I have spoken in Edmonton, but the people there are great and there is always good conversation to be had during and after the presentations.

If you are in and around the Edmonton area next week feel free to drop in at:

Milner Public Library, 6th Floor, Room 7 @ 6:00PM

Develop With Passion!!

Comments [2] | | # 
 Monday, September 29, 2008
Monday, September 29, 2008 4:29:43 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

Sorry for the late notice on this one!! I have been blessed with the honor of presenting at the Bonn-to-Code.Net user group in Bonn tonight!!

I am going to be doing a fairly relaxed session describing behaviour driven development.

The presentation starts at 7:00PM. If you happen to be in the area please stop by. I am sure a great time will be had by all!!

Develop With Passion.

Comments [1] | | # 
 Thursday, July 10, 2008
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] | | # 
 Saturday, April 26, 2008
Saturday, April 26, 2008 7:43:48 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

In case you did not know DevTeach will be coming to Toronto for the first time this year!!

Are you familiar with DevTeach? If you are, then you know that you have to prepare yourself for excellent content filled presentations; most of all, get ready to spend a great week chatting with some amazing presenters and attendees who are passionate about growing as people and professionals.

If you are curious to see if there are people you may want to chat with (from the speaker perspective) then check out the following page: Speakers

If you register and you see me at DevTeach, please take the time to introduce yourself!!

Develop With Passion!!

Comments [0] | | # 
 Thursday, March 06, 2008
Thursday, March 06, 2008 11:10:48 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

I was just reviewing some of the feedback that I got from my presentation last week and the following comment was particularly important:

"I think that creating the code on the fly during the presentations (even if you can type really fast) distracts from the central message being communicated. I think that 50% code, 50% powerpoint, with more fully pre-built examples could better achieve educational objectives"

I have always struggled with this issue and if anyone has ever seen one of my presentation as of late they are familiar with what the equation is:

Powerpoint - 0%

On the fly coding with commentary - 85%

Talking - 15%

I am still on the fence with the above formula as it is a definite 50/50 split. You either love it or hate it.

How do you learn best when you attend a presentation?

Comments [20] | | # 
 Tuesday, March 04, 2008
Tuesday, March 04, 2008 3:23:51 AM (Mountain Standard Time, UTC-07:00) ( C Sharp | Presentations )

Last week I had the honor of presenting at the Calgary .Net User group on the topic of Generics in .Net. In retrospect, I think the fact that I was leveraging vs2008, and C# 3.5 potentially clouded focus on raw generics.

Nonetheless, there was lots of good discussion, and a lot of concepts were able to get demonstrated. Among the nuggets that were started:

  • Generic Ranges
  • Specification based querying
  • Strongly typed dto mappers
  • Generic dto mappers
  • Type safe query objects

All code was created on the fly during the presentation, and 3 blesses attendees were able to walk away with a copy of ReSharper.

As a side note, my speaking schedule is starting to fill up for the year, if you think your user group would be interested in having me out to do a presentation; please do not hesitate to contact me at: jp@jpboodhoo.com.

The code for the presentation is available here. None of the 3rd party libraries are present in the download, if you actually want to run the code you will have to go and download the tools specified in the following folders:

  • build\tools
  • thirdparty\tools

To extract the rar file you can use WinRar or 7Zip (I am sure there are lots of others).

Develop With Passion!!

Comments [4] | | # 
 Wednesday, October 03, 2007
Wednesday, October 03, 2007 9:21:38 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

Back on the 17th of September, the good folks at the NxtGenUG in Oxford, England were kind enough to extend me an invitation to speak.

The presentation went well and I promised to make the code available as soon as I could. Looks like it took me a little bit longer than I planned!!

Thanks for giving me the opportunity to come and share. It was awesome to be back in England!!

You can download the source for the presentation here.

Comments [2] | | # 
 Tuesday, August 14, 2007
Tuesday, August 14, 2007 9:30:50 PM (Mountain Standard Time, UTC-07:00) ( C Sharp | Presentations )

Yesterday I had the wonderful opportunity to present a talk on Generics to the Austin .Net user group. The session was a whirlwind of code and questions. I was honored to be received by such a large group of people. And I would like to thank Jeff and the Austin .Net user group for allowing me to give my first formal talk in the United States!! Seeing as how I am going to be giving several talks in the states this year, it was fitting that the first one would leave me with such a positive feeling.

I made a mistake and did not check in the code that I developed over the course of the presentation, so the code base that you can download is not representative of all of the information  that was covered over the 2 hour session.

Once again, thanks Austin .Net for allowing me to opportunity to come and share an awesome time with you.

Materials:

Comments [7] | | # 
 Friday, July 13, 2007
Friday, July 13, 2007 10:29:33 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

James Kovacs and I are presenting at the Calgary .Net User Group Thursday, July 19th 2007. The session is called : “Simple Patterns for Simple Problems”. Here is the abstract:

Everyone has that little (or not so little) class called Utility that holds all kinds of intersting bits of business logic. It is a hodge-podge of code that you're not sure where to put. This session will examine some common types of methods found in utility classes and how to refactor your design using simple patterns to eliminate these troublesome kitchen-sink classes.

Location:
330 - 5th Avenue SW, T2P 0L4
Calgary AB Canada
Conference Room CP1-1106
(the elevator will be open to the floor between 11:30 and 12:00 so no security pass will be required)

I think that the presentation should be a lot of fun, and I think there will be lots of information that people will be able to glean from the patterns and techniques presented.

If you in Calgary on that day, register for what promises to be an interesting topic.

Develop With Passion!!

Comments [1] | | # 
 Sunday, July 08, 2007
Sunday, July 08, 2007 11:31:46 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

Dave Laribee and I will be giving a talk titled – You Got Served : Ping Pong Pairing, at the Oklahoma code camp on July 28th. I am pretty pumped about this session, and you can expect that Dave and I will be bustin out some ReSharper madness and Domain Driven Design goodness right before your very eyes!!

There are lots of good speakers who are going to be speaking at the code camp, so the event promises to be very interesting. If you happen to be in the area, come check out what promises to be a great day of coding.

Comments [4] | | # 
 Monday, May 21, 2007
Monday, May 21, 2007 6:16:08 PM (Mountain Standard Time, UTC-07:00) ( Agile | Presentations | Training )

I’ve been to a lot of conferences. Last week I got the opportunity to both speak and attend DevTeach 2007, in Montreal. I spoke on both refactoring and applying patterns of enterprise application architecture.

Along with presenting, I got to attend and watch awesome content presented by other speakers in the Agile track of the conference. I have to applaud JR and Scott for implementing the addition of an agile track to the conference. Every single one of the sessions was packed, an indication that the topics that were presented are obviously relevant and meaningful to lots of the people attending.

As cool as some of the presentations were, it was the networking that made this event absolutely stellar. Getting to hang out with Roy, Oren, Jeremy, Scott, Udi, Wendy, Oksana, RodDonald, Dave, Adam, Greg, Matthew and a whole host of others!! The conversation, arguments, debates, and just mindless chatter was the most fun I have had at a conference, ever!!

There was one evening in particular where the general concensus was that we had all been hit by a bus and were lounging in what must have been programmer heaven (complete with Carl Franklin and company in the background providing the ambient music)!!

Seeing as how the links to the presentation material are not currently working here is the rar file (download WinRar to extract) that contains the material for both of the presentations. I did not get a chance to finish getting through either presentation in both of the sessions, so the code you see is where I left off. I am hoping to screencast both presentations in their entirety so that people can see the end goal for both sessions.

Looking forward to DevTeach Vancouver…that right, its coming!!

 

 

Comments [2] | | # 
 Thursday, March 01, 2007
Thursday, March 01, 2007 5:04:19 PM (Mountain Standard Time, UTC-07:00) ( C Sharp | Presentations )

I had a blast presenting at the Edmonton .Net User Group last week. With the presentation and finishing the course I neglected to upload the source code for the presentation.

It is a little rough around the edges, but the cool part was that almost all of the code was churned out during the course of the session. It was a frenzy, but I feel confident that a lot of awesome concepts got disseminated to the crowd.

Thanks Edmonton for having me, I look forward to the next time.

You can download the source code from here (you will need WinRar to extract it).

Comments [5] | | # 
 Friday, February 02, 2007
Friday, February 02, 2007 3:47:58 PM (Mountain Standard Time, UTC-07:00) ( .Net 2.0 | C Sharp | Presentations )

Thanks again to everyone who attended my talks last Saturday. The following are the links to the source code (and slides) that were produced during the presentations. Enjoy.

Comments [1] | | # 
 Monday, January 29, 2007
Monday, January 29, 2007 9:04:10 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

I have the amazing honor of being able to speak at DevTeach 2007 in Montreal this spring.  I'll be giving talks on:

  1. Refactoring - A Primer
  2. Applied Patterns Of Enterprise Application Architecture

The lineup looks amazing, and I am truly honored to be a part of it all.

Comments [1] | | # 
Monday, January 29, 2007 4:35:22 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

This past weekend (January 27th) I presented at the Victoria Code Camp. It was a blast. The people were awesome and the questions were great.

My family and I flew up and arrived Thursday morning. We did the tourist thing for Thursday,Friday, and Sunday.

The turnout was impressive (close to 100 if I remember correctly). With 3 tracks going on there was lots of good information to be snapped up by attendees. It was great to also hang out with fellow friends and bloggers James Kovacs, Justice Gray, and the Igloo Coder.

Great thanks to Nolan Zak and the rest of the code camp organizers for giving myself and others the opportunity to present!!

Also, for our first time in Victoria, we were blessed with great weather (according to locals).

I look forward to having an opportunity to go back and do some other work with the folks in Victoria!!

Comments [4] | | # 
 Tuesday, January 23, 2007
Tuesday, January 23, 2007 10:58:44 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

As most of you can probably tell, to the suffering of this blog, I am spending more time lately doing the presentation / mentoring thing!! For me it is a lot more fun (than blogging) as it allows me to cover topics at a greater level of detail, plus it has the bonus of allowing me to meet some really great developers. And because my wife and I home school our kids, we all travel together which gives us great opportunities to see new places.

What's next in the presentation pipeline:

  • Victoria Code Camp - January 27th (this coming Saturday) - Along with a host of great speakers who are lined up, I will be giving 2 presentations
    • Applied Patterns Of Enterprise Applicaton Architecture - 11:00AM - 12:00PM
    • Generic - Theyr'e not just for collections - 1:00PM - 2:00PM

If you happen to be in Victoria this weekend try and make it out to the code camp. With the speakers who are presenting, and the material that will be covered it will be a great investment of time.

Comments [7] | | # 
 Saturday, January 13, 2007
Saturday, January 13, 2007 1:15:15 AM (Mountain Standard Time, UTC-07:00) ( C Sharp | Presentations )

Just in case my last post was not clear enough (as you had to read to the bottom to see that there was a link to the source code!!) I am reposting a link to the source code for the presentation I gave to the Calgary .Net User Group on Enterprise Design Patterns. The talk quickly turned into a primer on the concepts of Dependency Inversion and Dependency Injection, which in my opinion are great concepts to be familiar with when wanting to tackle enterprise patterns properly.

During the course of the presentation I demonstrated how to first create a lightweight interface for an IOC container. I then developed a simple implementation that was then replaced with an implementation bound to the Windsor container which also utilized Binsor (great little tool developed by Oren Eini) for the container configuration.

If anyone has any questions about the source please do not hesitate to contact me.

One last time the source code is here!!

Comments [3] | | # 
 Friday, January 12, 2007
Friday, January 12, 2007 4:44:01 PM (Mountain Standard Time, UTC-07:00) ( Articles | Presentations )

This past Wednesday (10th January) I gave my first talk of the year to the Calgary .Net User Group. It was the first of the lunch and learn formats that the group is starting up for the new year. What did this mean? It meant that the usual 1.5 hrs that I am used to was decreased to 1hr. As you can imagine, the pace at which I zipped around was faster than normal.

All in all I was pleased with the turnout (almost 70) and felt that lots of good information was shared. The evaluations also showed that ,all in all, most people were pleased with the level and content of the presentation.

If you are a member of a Canadian user group (or non-Canadian user group for that matter) and would like to have me give a talk, please contact me at bitwisejp@gmail.com and we can see what can be worked out. Being a member of the MSDN Canada speakers bureau means that Microsoft can offer support in the event that a Canadian user group wants me to give a presentation. I love getting out there, meeting new people, and fielding all sorts of interesting questions.

The source code for the presentation is available here (make sure to read the readme file in the root directory if you have questions as to how to get the app running).

Comments [1] | | # 
 Friday, December 01, 2006
Friday, December 01, 2006 8:10:54 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

Ever since I posted the course announcement yesterday, I have had a couple of requests for presenting the course out of the country (Europe, Africa, US).

My answer for anyone requesting this is simple. If I can generate enough interest to have 8-10 people register, then consider me there!!

Comments [5] | | # 
 Thursday, November 30, 2006
Thursday, November 30, 2006 5:33:24 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

I have been pretty quiet on the blogging front as of late and I am glad that I can finally announce the reason!

I have just finished finalizing (updated) material, and a location, for a course that I will be delivering in February 2007. The course will be a one week, intense bootcamp for .Net developers. The following overview outlines (at a very high level) what will be covered.

 

Overview

Nothin’ But .Net is a five day boot camp that will focus on pragmatically applying .Net within the context of developing a working N-Tiered application. Registrants will learn about advanced features of .Net (2.0/3.0) as they are applied to the task of building a complete application from the UI layer all the way down to the mapping layer.

WARNING!!!!

If you are expecting to come to this course to learn about how to have VS.Net automatically generate an “application” for you, then this course is NOT for you.

This course is all about taking control of the .Net framework and having it work the way you want. This course will place a heavy emphasis on getting back to the basics and making .Net do things the way you want it to, in a predictable and testable way.

This course will focus on a code centric view of application development vs. the typical databinding/designer magic covered by many typical .Net courses. You will walk away with a deep understanding of fundamental aspects of .Net and how these pieces can be used to develop and deliver enterprise scale applications.

Core Concepts Overview

  • Expanding the capabilities of developing with VS.Net - Enter ReSharper (a productivity add-in for Visual Studio .Net)
  • There’s more to life than generated code
  • Automation for the developer
  • Generics ( they’re not just for collections )
  • Back to basics - Rules Of Good Object Oriented Design
  • Dependency Injection
  • Object Relational Mapping in .Net
  • Applying the dependency inversion principle
  • Domain Driven Design
  • Passive View/Supervising Controller (Model View Presenter)
  • Creating layered architectures
  • Driving out functionality and design through testing
  • Taking Control Of Databinding
  • Behavior (Test) Driven Development
  • Core design patterns applied
  • Pragmatic Productivity Tools For Developers

Although the list may look rather daunting, the majority of the bullet points will be covered during the evolutionary design and construction of the sample project.

One of the main goals of the course is to show how to effectively use behavior (test) driven development, design patterns and a solid toolset to develop a portion of a non-trivial application.

The course will allow students to pragmatically apply BDD practices as well as teach people how to utilize fundamental OO concepts and techniques that will allow for them to have cleaner, more loosely coupled architectures. It will also be an opportunity for students to see what is involved in creating applications that utilize a Rich Domain Model,and the supporting infrastructure that is required to use "Plain Old Objects".

I have successfully delivered this course several times in Canada over the past year with great success. I anticipate that people who are interested will find that this is a very unique course offering, not typical of what is being delivered in the mainstream.

There are only spots for 12 people to register. The course costs $2500/CAD for a full 5 days. The fee covers:

  • 5 (8 - 12 hour days, depending on the audience availability) of bootcamp style instruction
  • Book - Patterns Of Application Architecture
  • ReSharper 2.0 License
  • Breakfast, lunch(and Supper if people opt for the 12 hour day)

The course is going to be hosted at DevStudios in Edmonton, Canada, and will run for the week of February 26 - March 2, 2007.

This is an initial informational message. If you are interested in finding out more about the course feel free to contact me at bitwisejp@gmail.com. A link to the registration page will follow shortly!!

Comments [11] | | # 
 Friday, November 17, 2006
Friday, November 17, 2006 12:46:16 AM (Mountain Standard Time, UTC-07:00) ( .Net 2.0 | Patterns | Presentations )

Lots of people ask why I don't usually post my powerpoints and code that I deliver at presentations that I give. For the most part, because of my dynamic and on the fly presentation style, I often show up with no code and build out scenarios on the fly. The resulting code often only makes sense to look at in the context of being an attendee of the presentation.

The same can be equally said for my powerpoints. When I actually have slides prepared, they are used as mere launchpads into either conversation or demonstrations of a new concept.

That aside, I have had a lot of requests for the content from my first mini tour I conducted as part of the MSDN Canada Speakers bureau. I spoke in Regina, Winnipeg, and Saskatoon on three consecutive nights. The code that resulted from each session was quite different, so I decide to post the code that came out of the last session.

The presentation was focused on introducing people to the concept of design patterns. While meant to be a 100 level talk, I definitely threw one 400-500 level example into the mix to spice things up.

Here are the links to the content:

 

 

Feel free to use the slide deck and accompanying source code if you want to deliver your own presentations built on the material. If you do so, I would definitely appreciate being recognized for the work.

If you have any questions I will definitely try to get them answered.

Comments [4] | | # 
 Wednesday, November 08, 2006
Wednesday, November 08, 2006 1:33:28 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

As you can probably tell by the amount of posts I am making today, I have a bit more spare time on my hands than normal!! I am currently in the Saskatoon Inn (in Saskatoon) killing time before I give my last presentation on this small mini tour I have taken part in. I have definitely been relaxing in the down time between presentations. I spent a small bit of time catching up on some blog skimming and I noticed that James Kovacs has been added to the MSDN Canada Speakers bureau.

All I have to say is, "what the heck took so long"""!!! Seriously, this has been a long time coming. James has been presenting in and around Calgary and surrounding areas for quite a while now. His depth of technical knowledge is amazing; and he is a very accomplished eloquent public speaker.

Watch for James as he inevitably makes his way around the conference circuit in the future. And if you really want to see what he's made of contact your local user group and have them bring him in for a presentation.

Congratulations James.

Comments [0] | | # 
Wednesday, November 08, 2006 1:08:17 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

Last night I had the awesome honor of presenting at the Winnipeg .Net User Group. The presentation was an introduction to design patterns, with the final example stetching into a 400 - 500 level implementation.

There were awesome questions generated, and I got to meet and hand out with some awesome people.

Next and final stop on the mini tour, Saskatoon.

Comments [0] | | # 
 Thursday, October 26, 2006
Thursday, October 26, 2006 10:32:10 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

The other day I had the wonderful honor of providing a tailored session on test driven development, interfaced based programming, and OO design principles.

I am first and foremost a developer and I love to be in the trenches driving out complex business solutions that deliver value into the hands of clients.

I did , however, start off in the world of computers in a part time Comp Sci teaching position. One thing I learned during that brief period is how much I enjoyed helping other developers improve their own skillsets. I have been blessed to work with many talented people over the years, along the way I have managed to accumulate an extensive knowledge base that I try to share with others as time permits.

One of the main reasons I have been getting active in the developer community in the last year is to share on a larger scale with the developer community. It is an extremely refreshing experience when you can see the light go on in the eyes of a developer who realizes the value in a concept you are trying to convey.

Do I think I know it all? Absolutely not. Learning is a continuing journey. I love when I read something/ meet someone who shares a new idea with me that I was previously unaware of. I love having those humbling experiences that help keep the pride level in check!!

I wanted to share with some of my readers some comments from the developers that provided anonymous feedback to the course that I gave. Again, the biggest reason I am actively trying to share is that in a small way this is how I can give back for the blessings that I have received over the course of both my personal and professional life. Reading these comments is continual encouragement and inspiration that prompts me to push the envelope everyday, and in my small way take part in helping developers realize more satisfaction from their own jobs:

What was the best part of the presentation? How would you improve the next presentation?
I found the demonstration of OO Design practices the most helpful.  For example, the creation/use of a NullObject. 
 
More focused on one topic with the same length of presentation.
Examples are great.  For not being a 'developer', I was able to follow the examples and understand the code.  He's great! Great for me -- however was information overload for some junior people
 
That the slides where few, just to help in describing what he was going to do,  and that he showed how to do it in code building as he is explaining the concepts.
I think a few breaks might have kept the interest throughout the presentation.
Null Objects Implementing an Interface
building presentation layers (no code in UI)
I would've liked a bit more of a structured presentation.  JP also covered a lot of topics, which was good, but perhaps could've been spread out over several presentations.  I would've liked to go through the interface programming/mock objects part with a fresh mind.  I needed a couple of breaks because I just can't sit for that long at a time!
I thought the use of interfaces was interesting.  I was impressed with his knowledge and speed. Focusing only one topic in the same time span will help us fully understand.
 
live coding
 
the examples
 
I really liked the "on the fly" demos JP did to illustrate TDD.  I appreciated that he went over basic definitions and that he asked us what we knew and what we didn't know as he was going along.
 
Tying good OOD principles to TDD.  Introduced me to many new dev tools.
Interface programming / Mock Objects
Interface/Mock obj/Design pattern/OO/Development Tools
Great Overall

Comments [1] | | # 
 Wednesday, October 25, 2006
Wednesday, October 25, 2006 10:47:25 PM (Mountain Standard Time, UTC-07:00) ( .Net 2.0 | C Sharp | Presentations )

There is no better way to appreciate the effectiveness of Test Driven Development, that seeing it done real time. Today I spent a couple of hours with the good people at Focus, and was attempting to cover in a small 4 hour session:

  • Test Driven Development
  • Interface Based Programming
  • Dependency Inversion Principle – followed by Dependency Injection
  • Mock Objects

In such a short amount of time you can only hope to cover these topics at a pretty high (and quick) level.

The fun part, was coming up with a problem on the fly that I could use to demonstrate the values of Test Driven Development/Behavior Driven Development. By not going to the session with a prepared application, it allowed me to drive out a solution right before their eyes, and hopefully left them with a good impression as to the effectiveness that TDD can bring into an evolutionary design process.

 

 

Comments [2] | | # 
 Sunday, October 15, 2006
Sunday, October 15, 2006 7:34:09 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

One of the things I have really enjoyed doing a lot this year has been presenting at different user groups across Canada. One of my roles as a consultant is to often give ad-hoc presentations to groups in and around the city of Calgary, introducing them to topics that they may not be particularly familiar with.

In November I will be taking part in a small MSDN Speakers Tour (I think that is what they are called) and I will be making stops in Winnipeg, Regina, and Saskatoon. The tour dates are November 6th,7th, and 8th. The main focus of the presentations will be to dive into design patterns, test driven development, and possibly patterns of enterprise application architecture.

Here is the actual schedule (times will be updated as soon as possible):

  • Regina .Net User Group - 6th November - Topic: Patterns for building an Object Relational Mapping Layer in .Net
  • Winnipeg .Net User Group - 7th November - Topic: Design Patterns - An Introduction
  • Saskatoon .Net User Group - 8th November - Topic : TBD

If you happen to be out and about (and in these cities) feel free to attend, give feedback and say hi!!

Comments [0] | | # 
 Wednesday, October 11, 2006
Wednesday, October 11, 2006 10:26:00 PM (Mountain Standard Time, UTC-07:00) ( .Net 2.0 | Presentations )

Thanks to the notification of Steve Nickerson, I have updated the original zip file that I released containing the source. This gets rid of a compile error that was present in the original source (I messed stuff up when I was prepping for deploying the zip)!! Download the latest code from here (the original link has been updated also).

 

Thanks Steve.

Comments [4] | | # 
Wednesday, October 11, 2006 10:23:24 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

I had the awesome honor of being interviewed by John Bristowe on his great podcast Developer Night In Canada. The show was a general rant about design patterns and test driven development. The main focus was supposed to be on design patterns, unfortunately I got a little sidetracked and went on a general rant that caused the show to go much longer than its usual timeframe. If you can muddle through my blabbing I am pretty sure I was able to disperse a couple of good nuggets in there somewhere!!

Any feedback is welcome!!

Comments [0] | | # 
 Saturday, October 07, 2006
Saturday, October 07, 2006 5:48:22 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

For those of you who were hoping to catch up with me at next weeks Tulsa Tech Fest, I regret to announce that I will no longer be able to attend the conference. I contacted David Walker earlier in the day to let him know that I was not going to be able to make it.

I am hoping that there will be another opportunity in the future to come down to the states and deliver a presentation on any one of the topics that I feel extremely passionate about.

Comments [6] | | # 
 Monday, October 02, 2006
Monday, October 02, 2006 4:00:12 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

The family and I got back yesterday evening from Edmonton. We were up there both enjoying the attractions of the West Edmonton Mall, as well as me presenting and attending the first ever Edmonton Code Camp. It was great to see so many people turn up to attend sessions on a Saturday. I feel that if you want to truly excel and grow as a developer you sometimes need to be willing to sacrifice a small amount of personal time every now and then.

It was awesome to be joined by fellow Calgarians John Bristowe, James Kovacs, Daniel Carbajal, Terry Thibodeau, and Shary Mudassir.

I presented after James Kovacs, who gave an awesome presentation on tools for .Net developers. If you are an independent .Net developer and are looking to complement your developer toolkit, you need to rush over to James' blog, and download the tools that he recommends for developers. I ended up giving a presentation on advanced uses of Generics in .Net 2.0. The problems and solutions were coded up completely on the fly, which made for a pretty interesting presentation. I am glad that people's eyes were opened to the fact that there are a lot of things you can do with Generics aside from collections.

A pleasant surprise for me was witnessing the presentation dynamics of Justice Gray and Steven Rockarts. They opened up the day with a presentation on Ruby and .Net interop. They employed a technique that I have not seen used before in a presentation. They pre-recorded their coding sessions, so they could play them back at faster speeds, allowing them to focus on the meat of the content. If you have a user group and are interested in learning about Ruby and .Net interop, you need to get these guys down there.

An ex-coworker of mine ,Neil Bourgeois, gave an excellent talk on Refactoring. He accompanied it with an excellent example application that he utilized as the context of applying several refactorings to improve the quality and cohesiveness of the codebase.

Aside from some of the questionable people (not attendees) who showed up at the presentation, I had a blast at the ECC. Steven, Donald, and Justice (sorry if I'm forgetting any names) did a fantastic job of coordinating and executing this event.

I look forward to what they will have in store for next year.

Comments [4] | | # 
 Friday, September 29, 2006
Friday, September 29, 2006 1:27:41 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

Tonight I presented at the Edmonton .Net User Group. Due to a last minute scheduling error (through no fault of the user group), we were left without a room to host the event. That is where the awesome folks from DevStudios stepped up to the plate and provided us with their amazing facilities to host the event. I had never even heard of DevStudios before tonight, and I was completely floored by the setup they have going there. They are currently hiring for Senior Developers, so I you are interested in looking at the Edmonton market, I am sure they would love to talk to you (looks like a great place to work).

I talked about Model View Presenter, among other things. I will be the first to attest that I was very much all over the map in this presentation. Another reminder to myself that sometimes I need to tunnel in on the topic I am supposed to be delivering on. The user group was gracious enough to let me ramble on and sometimes squeeze out the odd bit of code.

Once again, thank you to the Edmonton .Net User Group for having me out to speak. Thanks to DevStudios for providing us with facilities and equipment for the evening. And thanks to Donald,Tom, and Dave for the after event banter!!

Hopefully I'll be back in a couple of months!!

Comments [3] | | # 
 Wednesday, August 23, 2006
Wednesday, August 23, 2006 4:24:50 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

In the next couple of months I plan to remain moderately active in the speaking circuit. The following is a list of the places that I plan to deliver presentations in the next little while:

 

  • Thursday September 28
    • Edmonton .Net User Group, Edmonton, Alberta, Canada
      • Topic - To Be Determined

 

  • Saturday September 30th
    • Edmonton Code Camp, Edmonton, Alberta, Canada
      • Topic - Generics : They're not just about collections

 

  • Saturday October 14th
    • Tulsa Tech Fest, Tulsa, Oklahoma, US
      • Topic - Refactoring - A Primer
      • Topic - Testing Objects In Isolation - TDD With Mock Objects
      • Topic - Continuous Integration with CruiseControl.Net and NAnt
      • Topic - Test Driven Development With .Net - A Primer
      • Topic - The Model View Presenter design pattern

 

I am completely pumped to be able to get out there and share practical information with people. If you happen to be at any of these upcoming events feel free to grab me if you have any questions, or if you just want to shoot the breeze!!

See you on the road.

Comments [3] | | # 
 Thursday, August 10, 2006
Thursday, August 10, 2006 6:17:17 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

Due to my lack of posts lately, I am sure that most people have realized that I have been extremely busy for the last couple of weeks. Along with vacation, I am also trying to secure a good contract that I can jump into. So obviously my efforts are currently focused around securing an income for the family !!!

Amidst the hustle and bustle, it is a great honor to be able to announce that I have been invited to become a member of the MSDN Canada Speakers bureau!! This means that user groups around Canada can now ask to have me come and speak at their meetings and (from what I gather) have the event covered by Microsoft!!

As far as topics go, here is an initial list of some presentations I could deliver:

  • Refactoring – An Introduction
  • Test Driven Development In .Net - An Introduction
  • Test Driven Development With Mock Objects
  • Dependency Inversion Principle & Dependency Injection
  • Model View Presenter – A Better Way To Factor Your Presentation Layer
  • Patterns For Building An ORM in .Net
  • Design Patterns – An Introduction
  • Applied Continuous Integration with NAnt & CruiseControl .Net
  • Generics – They’re not just for collections
  • Applying Patterns of Enterprise Application Architecture
  • Winforms test automation with NUnitForms
  • Refactoring with ReSharper

If you are interested in having me speak at one of your user groups, feel free to get in contact with me!!

Comments [3] | | # 
 Tuesday, August 08, 2006
Tuesday, August 08, 2006 10:40:22 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

I have received a couple of comments from people who would love to attend my presentations but cannot due to the distance factor. I have also been asked on a couple of occasions to Camtasia the presentations so that I can make them available for download after the fact. I am going to attempt to do this with my presentation next week. Before I can accomplish this, I need to request recommendations from people about good wireless microphones I can use with my laptop. Obviously, at presentations I do a bit of walking around combined with sitting at the computer hammering out code. I want to make sure the presentations continue to appear smooth and seamless for the people attending in person. I also want to ensure that people who cannot be there receive all of the spoken dialogue as well as the screen recordings. Any feedback on good wireless microphone solutions would be appreciated.

Thanks

Comments [7] | | # 
Tuesday, August 08, 2006 10:24:03 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

Next week (August 15th), I will be participating in a double-header presentation with James Kovacs, at the Calgary .Net User Group. I will start off the evening with a continuation of my Evolving to Patterns presentation, and James will follow up with a presentation on Windows CardSpace. Currently the web site does not indicate that this will be a combo presentation, I am sure that is being fixed as I write this!!

If you are in and around the area that night, stop by and check out the presentation/eat the food.

Comments [0] | | # 
 Wednesday, August 02, 2006
Wednesday, August 02, 2006 6:19:27 AM (Mountain Standard Time, UTC-07:00) ( Presentations )
Over the last year I have slowly been building up a decent set of presentations that I can present given a short amount of notice. I have been presenting mostly in Canada but am going to start branching out into the US and beyond. Here are some of the presentations that I currently have "ready to present":
  • Refactoring – An Introduction
  • Test Driven Development In .Net - An Introduction
  • Test Driven Development With Mock Objects
  • Dependency Inversion Principle & Dependency Injection
  • Model View Presenter – A Better Way To Factor Your Presentation Layer
  • Patterns For Building An ORM in .Net
  • Design Patterns – An Introduction
  • Applied Continuous Integration

If you can think of other presentation topics that might be of interest please feel free to suggest them and I will look at adding them to my collection. Also, if you are interested in having me speak at your user group/company please do not hesitate to contact me.

Comments [2] | | # 
 Wednesday, July 26, 2006
Wednesday, July 26, 2006 8:27:08 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

Been a while since I posted an entry!! Tonight I am going to be presenting in downtown Calgary at the Alberta EUB meeting room. The presentation will be a 101 on the usage of common design patterns. If you are in and around the area feel free to drop in and check it out!! The presentation starts at 5:00PM and ends at 7:00PM.

Look forward to seeing you there.

Comments [4] | | # 
 Tuesday, June 27, 2006
Tuesday, June 27, 2006 7:50:03 AM (Mountain Standard Time, UTC-07:00) ( Presentations )
If you, or anyone you know, are interested in staring up a user group. The Igloo Coder is documenting his recipe for success in the process that he and his band of accomplices have followed to start a relatively new .Net user group in the city of Edmonton, Alberta. A really good read. Having experienced working with this group, I have great expectations for what they are going to be able to accomplish over the next couple of years.
Comments [0] | | # 
 Wednesday, June 14, 2006
Wednesday, June 14, 2006 2:47:23 PM (Mountain Standard Time, UTC-07:00) ( Agile | Presentations )

It seems like quite a few people had trouble watching the videos for the last post that I made. Based on some good feedback I have decided to make it available for download as a flash file so that people can watch it at their leisure. The download file is a 50MB zip file that extracts to a swf (flash) file.

If you have any problems accessing the files please let me know.

 

  • Download the flash video here
  • I will post the google link once it is verified.
Comments [3] | | # 
 Wednesday, June 07, 2006
Wednesday, June 07, 2006 4:04:19 PM (Mountain Standard Time, UTC-07:00) ( Agile | Presentations )

This is a note out for all of the people who have been following along in the NAnt starter series, that tomorrow I will be posting one of the final entries in this series. This episode will be all about getting a Continuous Build environment set up with CruiseControl .Net. Topics that are going to be covered are:

  • Installing Cruise Control .Net
  • Setting up the build box for project building
  • Creating the repository
  • Configuring the build box to build the project
  • Integration with CC.Net

That is a high level overview. As you can imagine, it is a lot of information, too much for me to write about (in a practical amount of time). This is why I am going to do a screencast on my computer that will be made available for everyone to watch. One thing you will want to do is read my Applied Test Driven Development For Web ApplicationsPart1 post and download the sample code as that is what you will need to follow along with the screen cast. I am choosing to use that code base as it will be the code base that will be build upon in the Applied Test Driven Development series, where we will build out a web application (against the adventureworks database) using TDD techniques.

After watching the video you will have a great starting point from which to start practically using CC.Net in your own environment. To save yourself some time I suggest going to download CC.Net from here. You don’t need to install it yet, as I will walk through the install process tomorrow!!

Comments [1] | | # 
 Wednesday, May 31, 2006
Wednesday, May 31, 2006 1:35:18 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

I have uploaded the demo and slide deck for the presentation that I delivered at the Calgary Code Camp this past weekend. The presentation was all about 3 key principles:

  • Test Driven Development
  • Dependency Inversion principle (yes inversion not injection)
  • Dependency Injection

I am going to try to make time to re-record the session on my laptop so that I can put it up for others to view. If you have any questions about the slide deck or the demo, please do not hesitate to contact me.

The zip file is here.

Comments [5] | | # 
Wednesday, May 31, 2006 12:45:53 PM (Mountain Standard Time, UTC-07:00) ( Presentations )
This is a little late (better late than never). This past Saturday marked the hosting of Calgary's first ever .Net Code Camp. The turnout was amazing (especially for a Saturday), and lots of fun was had by all. I delivered a presentation titled : TDD, Dependency Injection and the Data Access Layer. I am going to be posting my code along with a video for all my remote readers who were unable to attend. The next code camp on the horizon is the Edmonton code camp. I have a couple of ideas in my head on presentation material, but it is a long way off so I’ve got lots of time to formulate/receive ideas. Thanks to everyone who provided feedback (positive and negative) on the presentation, it is always appreciated.
Comments [1] | | # 
 Thursday, May 18, 2006
Thursday, May 18, 2006 9:44:52 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

I finally submitted my presentation topic for the Calgary Code Camp . The session is titled TDD, Dependency Injection and the Data Access Layer: 

  • In this session attendees will learn how to utilise the concepts of TDD and Dependency Injection to build up a data access layer piece by piece. During the course of the session attendees will learn the value of coding to interfaces as well as how applying the technique of dependency injection can help you build objects that are more loosely coupled to one another.

I look forward to speaking with any reader of this blog who attends the code camp.

Comments [4] | | # 
 Monday, May 01, 2006
Monday, May 01, 2006 3:27:33 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

Well, the first meeting of the Edmonton .Net Users Group was fantastic. The Edmonton crowd came out in great numbers (despite the hockey game). There were lots of intelligent questions and the hospitality of the hosts was amazing. As promised, I told the attendees that I would release the source for the project that we tried to build during the session. I have left the code exactly where I left off in the presentation, this will give people an opportunity to finish it up for themselves. In two weeks I will release the completed version of the project, which people can use as a comparison to their own solutions.

Thanks again to the Edmonton .Net Users Group for inviting me up there!!

 

 

 

Comments [2] | | # 
 Wednesday, April 26, 2006
Wednesday, April 26, 2006 2:56:44 PM (Mountain Standard Time, UTC-07:00) ( Presentations )

Sorry for the late notice, but I thought I should quickly mention (for anyone who lives in/near Edmonton) that I have been graciously invited to come at speak at the new Edmonton .Net Users Group.

I am honored that I was asked and am looking forward to what should be an interesting evening. Hopefully people will not be too distracted by the big hockey game!! The meeting starts tomorrow (April 27th) at 5:30 pm in the Milner (downtown) public library’s Centennial Room.

See ya there.

Comments [5] | | # 
 Tuesday, April 18, 2006
Tuesday, April 18, 2006 11:29:50 AM (Mountain Standard Time, UTC-07:00) ( Presentations )

I believe that for presentations to be truly successful they need to focus on material, concepts, and strategies that are meaningful and useful to developers in the real world. With that being said, I am looking for help in choosing material that I should consider presenting at the upcoming Calgary Code Camp. If you are not familiar with the Code Camp, here is a summary of what a code camp is from the Code Camp Manifesto:

 -------------------------------------------------------------------------------------------------

  1. By and For the Developer Community

Code Camps are about the developer community at large. They are meant to be a place for developers to come and learn from their peers. Topics are always based on community interest and never determined by anyone other than the community.

 

  1. Always Free

Code Camps are always free for attendees.

 

  1. Community Developed Material

The success of the Code Camps is that they are based on community content. All content that is delivered is original. All presentation content must be provided completely (including code) without any restriction. If you have content you don’t want to share or provide to attendees then the Code Camp is not the place for you.

 

  1. No Fluff – only Code

Code Camps are about showing the code. Refer to rule #1 if you have any questions on this.

 

  1. Community Ownership

The most important element of the Code Camp is always the developer community. All are welcome to attend and speak and do so without expectation of payment or any other compensation other than their participation in the community.

 

  1. Never occur during work hours

We need to understand that many times people can’t leave work for a day or two to attend training or even seminars. The beauty of the Code Camp is that they always occur on weekends.

 

---------------------------------------------------------------------------------------------------

As you can see, the goals for a code camp are pretty straightforward. I think it is a great idea. To maximize the potential for the day there are a lot of topics that I have thought about speaking on, but I thought I would throw this post out there in the hopes that one (or more) of my readers would propose some suggestions for material that they would like to see if they were able to attend. Obviously, if you have seen some of my recent DNRTv episodes (MVP aside), I am a big proponent of agile, and I like to demonstrate the practical applicability of TDD. And I would be welcome to entertain ideas for things people would like to see done in the context of driving out the solution using TDD. Some of my thoughts for presentation material are as follows:

 

Writing a Basic ORM Layer

Patterns for the Data Access Layer

Validation Strategies

Isolating the Domain Model

Simplifying Logic in the User Interface

Pragmatic AJAX

 

This is just a quick cursory list. Again though, since this is supposed to be driven by the developer community I would much rather present on something that a majority of people would like to see, as opposed to something that may only be interesting to me. I appreciate any feedback anyone could provide.



Thanks

Comments [5] | | #