Browsing Posts in Presentations

Prairie Developer ConferenceA few months ago, my friend, D’Arcy Lussier, and I had the following conversation:

D’Arcy:
Want to speak at a developer conference?
Me:
Sure. Sounds awesome!
D’Arcy:
It’ll be in Regina, Saskatchewan.
Me:
Sweet!
D’Arcy:
It’ll be in June.
Me:
Where do I sign up!?!

All joking aside, D’Arcy is putting together what looks to be a great regional conference. I think D’Arcy’s explanation of how this conference came to be describes it best:

“Having lived my life between Manitoba and Saskatchewan, I saw an opportunity to create an event to bring high calibre presenters and sessions to the talented technology professionals of the Canadian prairies, and thus the Prairie Developer Conference was born!”
– D’Arcy Lussier, Prairie Developer Conference Chair

The conference will take place June 2 & 3, 2010 in Regina, Saskatchewan. I’ll be giving two dojos, one on jQuery and the other on NHibernate. If you’ve been wanting to learn these technologies, I’ll be walking you through them – dojo-style – so you can follow along with your own laptops.

NHibernateNHibernate Dojo

I’ll be covering NHibernate fundamentals, mapping with Fluent NHibernate, and querying with LINQ to NHibernate. This session is intended to be very interactive with attendees working examples on their own laptops and asking questions.

jQueryjQuery Dojo

I should have called this session: Dr. Weblove or How I Learned to Stop Worrying and Love JavaScript. In this dojo, I’ll take you on a tour of jQuery and show you that JavaScript is anything but a toy language. JavaScript is a powerful functional language and jQuery allows you to harness that power with truly amazing results. Come learn about selectors, effects, DOM manipulation, CSS, AJAX, eventing, and much more.

imageIn addition to my two dojos and sessions by many other speakers, my friend, Donald “IglooCoder” Belcham will be giving a post-con on “Making the Most of Brownfield Application Development”. If you’ve got a legacy codebase that needs taming – and who doesn’t? – this is a great post-con to check out.

Registration is now open at a price that won’t break your (or your employer’s) bank. Come check it out.

DevTeachDevTeach is heading back to Toronto in a few weeks (March 8-12, 2010)and you’ll get a bigger dose of awesome than ever before. We’ve got a fantastic line-up of top-notch, internationally renowned speakers. 6 tracks covering Agile, Web, Windows, Silverlight, Architecture, and SharePoint. A metric ton of sessions. (I’m both the Agile and Web Track Chairs and am really excited about the speakers and sessions for each.)

ee402630.VisualStudio_lgMicrosoft Canada is a platinum sponsor and every attendee receives a full copy of Visual Studio Professional with MSDN Premium. (N.B. Conference registration costs less than this subscription alone!)

imageAnd if you can’t get enough of that Sugar Crisp James Kovacs,  I’ll be there in full force with two sessions and a one-day post-con on agile development.

Convention-over-Configuration in an Agile World

As developers, we spend an inordinate amount of time writing “glue code”. We write code to transform database rows to domain objects… domain objects to view-models or DTOs… We write code to configure inversion of control containers and wire dependencies together. We write code to style our UIs and respond to UI events. Wouldn’t it be nice if this could happen automagically for us? This session will look at using convention-based approaches using Fluent NHibernate and Castle Windsor to reduce the amount of repetitive code and accelerate application development.

Convention-over-Configuration in a Web World

As developers, we spend an inordinate amount of time writing “glue code”. We write code to transform database rows to domain objects… domain objects to view-models or DTOs… We write code to configure inversion of control containers and wire dependencies together. We write code to style our UIs and respond to UI events. Wouldn’t it be nice if this could happen automagically for us? This session will look at using convention-based approaches using AutoMapper and jQuery to reduce the amount of repetitive code and accelerate application development.

Agile Development with IoC and ORM (Post-Con)

As developers we now have powerful tools in our toolbox, such inversion of control containers and object-relational mappers. But how can we use these tools to rapidly build maintainable and flexible applications? In this pre-con, we will look at advanced techniques such as convention-over-configuration in IoC containers and automapping ORMs to quickly build applications that can evolve over time. We will use test-driven development (TDD) to design and evolve a complete working application with supporting infrastructure during this one-day workshop.

Hope to see you in Toronto!

Darth VaderThe Edmonton Code Camp was a lot of fun. It was wonderful to catch up with friends – old and new – over lunch and dinner. Thanks to Dave Woods for inviting me.

I have been enjoying sharing my ideas about convention-over-configuration and how it can simplify software development. You expend some serious brain power over figuring out how to enable your application-specific conventions, but everything after that flows easily and without repetition. You end up doing more with less code. During the talk, I demonstrated how frameworks like Fluent NHibernate, AutoMapper, Castle Windsor, ASP.NET MVC, and jQuery support this style of development. (Links below.) I only scratched the surface though. Other frameworks like StructureMap and FubuMVC also are heavily convention-based. With a bit of creative thinking, you can use these techniques in your own code to reduce duplication and increase flexibility.

For those of you who attended, you’ll realize why Darth Vader accompanies this post. For everyone else, you’ll have to check out the slidedeck and code:

PPTX | Code

image Thanks to everyone who came out to my presentation last night at the Calgary .NET User Group. I enjoyed talking using convention-over-configuration techniques for doing more with less code. I demonstrated how frameworks like Fluent NHibernate, AutoMapper, Castle Windsor, ASP.NET MVC, and jQuery support this style of development. (Links below.) I only scratched the surface though. Other frameworks like StructureMap and FubuMVC also are heavily convention-based. With a bit of creative thinking, you can use these techniques in your own code to reduce duplication and increase flexibility.

For those of you who attended, you’ll realize why Darth Vader accompanies this post. For everyone else, you’ll have to check out the slidedeck and code:

PPTX | Code

I’ll be presenting at the Calgary .NET User Group next week. Come out for a fun discussion and lively discussion on improving your application development using convention-over-configuration techniques.

Topic: Doing More With Less: Accelerating Development Using Convention-over-Configuration
Speaker: James Kovacs
Date: 18-August-2009
Location: Nexen Conference Center
801-7th Ave. S.W., Calgary, AB. (Plus 15 level)
Map
Registration: 5:00 pm – 5:30 pm
Presentation: 5:30 pm – ???

Abstract

As developers, we spend an inordinate amount of time writing “glue code”. We write code to transform database rows to domain objects… domain objects to view-models or DTOs… We write code to configure inversion of control containers and wire dependencies together. We write code to style our UIs and respond to UI events. Wouldn’t it be nice if this could happen automagically for us? This session will look at using convention-based approaches using Fluent NHibernate, AutoMapper, Castle Windsor, and jQuery to reduce the amount of repetitive code and accelerate application development.

psake Last night I gave a presentation on psake and PowerShell to the Virtual ALT.NET (VAN) group. I had a fun time demonstrating how to write a psake build script, examining some psake internals, discussing the current state of the project, and generally making a fool of myself by showing how much of a PowerShell noob I really am. I believe that the presentation was recorded and will be posted online in the next few days. Then you too can see me fumbling around trying to remember PowerShell syntax. I consider myself a professional developer when it comes to many areas, but in terms of PowerShell I am a hack who learns just enough to get the job done.

As promised, here are the links from the meeting…

psake Resources

Project Homepage

Users mailing list

Dev mailing list

PowerShell Resources

PowerShell Cheat Sheet
 

Windows PowerShell in Action (book)
 

Windows PowerShell Team Blog

On Twitter, I have a search for #psake. If you have a question, comment, or quibble about psake, you can use the #psake hashtag or @JamesKovacs to get my attention.

P.S. A number of people expressed interest in some of my dev-related PowerShell scripts, such as removing unversioned files from a SVN working copy, updating all SVN working copies off a common directory, cleaning a solution, … I’ll be putting them in a publicly accessible location soon and blogging about those scripts. So please be patient and don’t adjust your sets.

James in CastUnfortunately I’m going to have to postpone my presentation on Tuesday as I broke my left wrist late this afternoon while ice skating with my older son. (I was practicing skating backwards, slipped, and landed with all my weight on the one wrist.) It’s a distal radial fracture, which means lots o’ pain meds for a few days and a cast for 6-8 weeks. smile_sad You can see the effects of the percocet kicking in in the photo to the right. On a positive note, they let you pick the colour of the fibreglass cast. Glad to know that you can break your bones, but still be fashion conscious. Unfortunately they didn’t have my corporate colour green, which would have been cool.

So coding is going to be excruciatingly slow for awhile. I’ll reschedule the presentation once the cast comes off.

Coming to a .NET User Group near you*… This Tuesday only…

Topic: Light Up Your Application with Convention-Over-Configuration
Date: Tuesday, February 24, 2009 Postponed
Time: 5:00 pm – 5:15 pm (registration)
  5:30 pm – ??? (presentation)
Location: Nexen Conference Center
801-7th Ave. S.W., Calgary, AB. (Plus 15 level)
Map

Inversion of Control (IoC) containers, such as Castle Windsor, increase the flexibility and testability of your architecture by decoupling dependencies, but as an application grows, container configuration can become onerous. We will examine how convention-over-configuration can allow us to achieve simplicity in IoC configuration while still maintaining flexibility and testability. You can have your cake and eat it too!

* Assuming that you live in Calgary. smile_regular

Oh, DevTeach! How I love thee! Let me count the ways! Thank you to everyone for another awesome DevTeach in Montreal at the beginning of this month. The agile track was well-received and included some of the old guard as well as some fresh new faces. I had wonderful time hanging with many friends, whom I only see in person at conferences. If you’re looking for slidedecks and code from my sessions, you can find them here:

Taming Software Dependencies with DI and IoCSlides (PPTX) and Code (SVN)

Achieving Persistence Ignorance with NHibernateSlides (PPTX) and Code (SVN)

I would like to thank everyone who participated in the Agile Q&A with James Kovacs and Friends. The session was originally proposed and was going to be led by David Laribee, but he fell ill at the last moment and unfortunately missed DevTeach. David has done a marvellous job leading these sessions in the past with more panache and style than I was able to muster, but I hope that participants found value in the discussion. My friend, Kathleen Dollard, put together a nice summary of some of the high points and Oren has some commentary on one of the more contentious points that he made here.

If you missed DevTeach Montreal, we are currently planning DevTeach Vancouver, which will take place June 8 to 12, 2009 at the Vancouver Four Seasons Hotel. I have again accepted the position of Tech Chair for the Agile Track and we are looking for speakers. If you’re interested in speaking, abstracts are due by February 10, 2009 and you can find all the details here. Please take heed of the submission tips! I would encourage you to submit more than four (4) sessions as it is highly unlikely that we’ll be able to use all of your submitted sessions. (If you’re a local speaker – no hotel or travel expenses – then you only need one session accepted.) In the past, accepted speakers have submitted 8 to 12 sessions and had 3 or 4 accepted. (N.B. For DevTeach Vancouver, non-local speakers will be required to present 4 sessions.) I would also encourage you to submit sessions predominantly to one track with a few extras in other tracks. When deciding on sessions, it is easier for one Tech Chair to accept four of your sessions than to have four different Tech Chairs each want one of your sessions. If you have three strong sessions in one track, it is fairly easy to find a single slot for you in another track – hence the extra sessions in other tracks. I have had the unenviable position as agile track chair of wanting a really interesting session from a particular speaker, but the speaker’s remaining sessions are “Introduction to Unit Testing”, “Getting Started with CI and CruiseControl.NET”, and “Using Mock Objects to Simplify Testing”. Those are all great sessions, but when Roy Osherove (who was writing a book on unit testing), Owen Rogers (one of the maintainers of CruiseControl.NET), and Oren Eini (creator of RhinoMocks) submit sessions too, guess who I’m going to have to pick? So hedge your bets. Submit 8 to 12 sessions mostly in one track on topics that you’re excited and knowledgeable about. Thank you in advance for your submissions.

I will be delivering a pre-con at DevTeach Vancouver. So if you’re interested in a full-day session on how to turbo-charge your development process while still creating maintainable applications, then you’ll want to attend Agile Development with IoC and ORM. The cost is $399 CAD (or $339.15 USD) per attendee. (N.B. You get a discount if you attend a pre-con, the conference, and a post-con.)

Agile Development with IoC and ORM

As developers we now have powerful tools in our toolbox, such inversion of control containers and object-relational mappers. But how can we use these tools to rapidly build maintainable and flexible applications? In this pre-con, we will look at advanced techniques such as convention-over-configuration in IoC containers and automapping ORMs to quickly build applications that can evolve over time. We will use test-driven development (TDD) to design and evolve a complete working application with supporting infrastructure during this one-day workshop.

image Tonight, Bil Simser and I had the pleasure of presenting a brief overview of Prism (aka the Composite Application Guidance for WPF and Silverlight) to a crowd of 150 developers at Shaw Court in Calgary. You can find the slidedeck here. If you’re interested in getting started with Prism and related concepts, this is a good set of resources to start from:

Thanks to everyone whom came out. If you have any questions, don’t hesitate to contact me or Bil. If you’d like to find out more about Prism and go much deeper into the underlying technology, there is always Microsoft Tech•Days Canada 2008

Zombie Inc.BTW – Some of you might have caught the inside joke in the slidedeck. For the rest… Bil does not in fact work for Zombie Inc., though he probably wishes he did. He is a big fan of the game Stubbs the Zombie: Rebel Without a Pulse. 10 minutes with Paint.NET and I had a decent looking corporate logo for his fictitious company. It’s really quite amazing what you can do with this free .NET application, though the true Paint.NET master remains Justice Gray.