Browsing Posts in Events

201209171918.jpgThank you to everyone who came out to my sessions at the NYC Code Camp. I had an awesome time and I hope that you did too. If you’re looking for resources and/or slide decks, you’ve come to the right place.

Testable JavaScript

The slide deck for Testable JavaScript is available here and the demos here.

Hands-On Git

The slide deck for Hands-On Git is available here.

A huge thanks to Steve Bohlen, Erik Stepp, Rachel Appel, and everyone else who helped out for putting on a great code camp. I’d also like to thank all the sponsors for their support in making community events like this possible.

SaintLouisSkyline.jpgI’ll be in Saint Louis, MO in mid-July to speak at the local Ruby and JavaScript user groups.

St. Louis Ruby User Group

Wednesday, July 18, 2012 @ 6:30pm

The Able Few LLC (2603 Cherokee Street, Saint Louis, MO)

TDD/BDD with RSpec and Cucumber

RSpec and Cucumber are the bread and butter of Ruby development. Learn how to write Cucumber features to drive out high level system behaviour. Then jump down into RSpec specifications to test-drive out the actual implementation of the system. See how outside-in development can improve your code and keep you focused on the problem at hand.

St. Louis JavaScript Meetup

Thursday, July 19, 2012 @ 6:30pm

The Able Few LLC (2603 Cherokee Street, Saint Louis, MO)

Testable JavaScript

Your client-side JavaScript is code as worthy of testing as any server-side code that you might write, but often JavaScript testing is ignored. This session will introduce you to QUnit and Jasmine, two popular JavaScript testing frameworks. Come see how you can easily incorporate TDD/BDD techniques into your web development stack and increase your confidence that your JavaScript code is as robust as your server-side code.

201207031557.jpgIn mid-August, I’ll be speaking at That Conference in Wisconsin Dells, WI. That Conference, which is being organized by Scott Seely and cohorts, is shaping up to be a lot of fun and has a fantastic line-up of speakers. I must admit that talking about That Conference with friends causes a lot of confusion. The conversation usually goes something like this:

Friend:
Which conference are you speaking at?
Me:
That Conference.
Friend:
Which conference?
Me:
That Conference.

Lather, rinse, repeat.

That Conference

August 13th – 15th, 2012

Kalahari Resort, Wisconsin Dells, WI

ASP.NET MVC/Ruby on Rails Death Match

In this corner, our first contender, weighing in at 35 kLOC of C#, we have ASP.NET MVC. In the other corner, weighing in at 168 kLOC of Ruby, we have Ruby on Rails. We’re going to see what it takes to build a web app – test-first – in both frameworks. We’ll compare and contrast their relative strengths and weaknesses. The goal is to give a balanced perspective on these two popular frameworks.

201207031600.jpgIn late August, I’ll be giving a number of Ruby-focused talks at devLINK in Chattanooga, TN. My friend and fellow vegan developer, Alan Stevens, has been bugging me for years to come speak at devLINK and I’m finally going. Very excited!

devLINK

August 29 – 31, 2012

Chattanooga Convention Center, Chattanooga, TN

Getting Started with Ruby on Rails

In this session, get a gentle introduction to the Ruby language and how to get started with your first Rails app.

Ruby without Rails

Ruby is about more than just Rails and web development. Ruby is a fascinating and powerful language that will put a smile on your face with its elegance. Come learn some Ruby.

ASP.NET MVC/Ruby on Rails Death Match

In this corner, our first contender, weighing in at 35 kLOC of C#, we have ASP.NET MVC. In the other corner, weighing in at 168 kLOC of Ruby, we have Ruby on Rails. We’re going to see what it takes to build a web app – test-first – in both frameworks. We’ll compare and contrast their relative strengths and weaknesses. The goal is to give a balanced perspective on these two popular frameworks.

If you’re at one of these events, don’t be a stranger! Come over and say hi. I’d love to see you there.

Prairie Developer Conference

Prairie Dev Con was a blast. Great job by D’Arcy on organizing the conference. Thank you to everyone who attended my sessions and especially those who asked questions. I also enjoyed catching up with many of my friends who showed up, even if I was only able to speak to some of the briefly. (It was a busy two days.)

For those of you looking for session slides and code, you can find it here:

jQuery Dojo

NHibernate Dojo

Advanced NHibernate

BTW – I applaud D’Arcy’s bravery in going to a Saskatchewan Roughriders autograph signing in an Alouette jersey and asking them to sign his calculator. Classic! For those of you unfamiliar with the story, the Alouettes beat the Roughriders in the Grey Cup (Canadian football equivalent of the SuperBowl) this year due to a “too many men on the field” penalty in the closing seconds of the game. Fortunately the Roughriders were good sports about the prank. Check out D’Arcy’s blog post for full details and video footage of the stunt.

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!

DevTeach.com DevTeach is my favourite conference of the year and it’s happening again in Vancouver on June 8-12, 2009. No, it’s not my favourite conference because I’m one of the Tech Chairs. It’s the other way around. I’m a Tech Chair because DevTeach is my favourite conference. For the curious, Tech Chairs do not receive an honorarium or other compensation. We do it because we love DevTeach and the community it brings together. Here are my Top 10 Reasons to attend DevTeach Vancouver.

  1. It’s got a dedicated Agile Track, baby! 18 sessions of agile goodness.
  2. The Agile Track has more TLAs than any other track, including TDD, BDD, DDD, ORM, IoC, and DSL!
  3. Internationally renowned speakers, including Oren Eini (aka Ayende Rahien), David Laribee, Michael Stiefel, Greg Young, Eric Renaud, Francois Tanguay, Claudio Lassala, Hamilton Verissimo, Owen Rogers, Donald Belcham, and me. And that’s just the Agile Track!
  4. More IoC than you can shake a stick at with sessions by Oren Eini (current maintainer of Castle Windsor), Hamilton Verissimo (creator of Castle Windsor and Microsoft PM on MEF), and me. (I feel so outclassed in that line-up.)
  5. 1-day pre-conference session on Agile Development with IoC and ORM with James Kovacs and Oren Eini. Register now! ($399 CAD) Spend an intense day of coding with Oren and me learning about how to build applications with Fluent NHibernate, Windsor, AutoMapper, and other agile-friendly technologies.
  6. ALT.NET Canada happening June 12-14, 2009 at the same hotel. Register now! (FREE!) (DevTeach is a major sponsor of ALT.NET Canada. Thank you, JR!)
  7. .NET Rocks will be in the house again! Carl and Richard always provide lively discussion and entertainment. DevTeach Vancouver will be no different with a .NET Rocks-hosted Visual Studio 2010 Beta 1 InstallFest.
  8. At DevTeach, speakers don’t hide in the Speakers Lounge. You get to meet them face-to-face and ask them questions.
  9. DevTeach Education Stimulus Package! In difficult times, DevTeach trying to help out by providing three registrations for the price of two. You can find details on the Registration page.
  10. DevTeach is a conference where speakers go to learn. Unlike other conferences, speakers actually go to each other’s sessions and participate. This results in lively discussions that are fun for speakers and attendees alike.

Hope to see you at DevTeach Vancouver! Don’t forget to register for the day-long Oren/James extravaganza of agile fun. Or ALT.NET Canada!

Coffee and Code Joey Devilla (aka The Accordian Guy) from Microsoft’s Toronto office started Coffee and Code a few weeks ago in Toronto and John Bristowe is bringing the experience to Calgary. When John contacted me about the event, I thought to myself, “I like coffee. I like code. I want to be involved!” (Heck, I would order an Americano via intravenous drop if I could.) So John and I will be hanging at the Kawa Espresso Bar this Friday for the entire day drinking coffee, cutting code, and talking to anyone and everyone about software development. John is broadly familiar with a wide variety of Microsoft development technologies, as am I. I’ll also be happy to talk about Castle Windsor (DI/IoC), NHibernate (ORM), OOP and SOLID, TDD/BDD, continuous integration, software architectures, ASP.NET MVC, WPF/Prism, build automation with psake, … Curious what ALT.NET is about, I’ll be happy to talk about that too! I got my cast off today from my ice skating accident two weeks ago and am in a half-cast now. So I am hopeful that I’ll be able to demonstrate some ReSharper Jedi skills for those curious about the amazing tool that is ReSharper. (I am going to be daring and have a nightly build of ReSharper 4.5 on my laptop to show off some new features.) So come join John and I for some caffeinated coding fun at the Kawa Espresso Bar anytime between 9am and 4pm Friday, March 13, 2009.

This post has been brought to you by the letter C and the number 4…

ALT.NET Canada kicked off last night and was great fun. Bil has some initial coverage here complete with video. Mo Khan discusses his take on the fishbowl topic, “Why are fundamentals important?” I wanted to take a few paragraphs and give my two cents on the topic.

The fishbowl last night got too hung up on the particulars. The point that I personally wanted to make was that fundamentals are more important than APIs/technologies because fundamentals give you a framework within which to understand any API or technology. That’s not to say that specific technologies aren’t important. You won’t get too far in the .NET world not knowing the BCL. :)

I’m not a crotchety old programmer who is going to insist that you learn everything that I know about software “because I had to walk 2 km to school every day through blowing snow uphill – both ways!” I don’t expect you to (and wouldn’t want you to) spend years writing C++ code to understand just how bloody hard it is to get pointers right or manage memory. (Do I need a *& or an &* here? And is that one * or two **? If you don’t know what I’m talking about be thankful. Waste of brain cycles.)

As far as what I consider fundamental… OO and design patterns, definitely. But also high level knowledge of CPUs, memory, disk, and network. The fundamental building blocks upon which all software and hardware is created. (Working at a high level of abstraction is fantastic and much more productive, but even when working at such a high level, you need to understand – to pick an arbitrary example – that durable transactions require disk I/O and that disk I/O is an eternity in processor cycles.) You should also be familiar with Big-O notation, data structures, and algorithms. You should understand the services provided by a managed runtime (.NET, Java, etc.).

Are you a bad programmer because you don’t know how to implement a red-black tree from memory? Absolutely not. (I don’t personally remember either!) But you’re a good programmer for knowing that there are more data structures out there than an array. You have the fundamental knowledge to try solving problems in a myriad different ways.

Programming languages, runtimes, and APIs come and go. If you only understand those, you have a steep learning curve to climb every time technology changes – and it does. The fundamentals will always serve you well regardless of the technologies involved.

Canada_flag_halifax_9_-04What better way to celebrate Canada Day than to announce that registration is now open for the ALT.NET Canada Open Spaces? The event is happening in Calgary, Alberta on August 15 to 17, 2008 at the University of Calgary‘s MacEwan Conference Centre.

ALT.NET is not about being alternative, but about considering alternatives and choosing the best approach for your project – be that a product from Redmond, open source software, or a commercial third-party library. The conference brings together bright minds in our industry to discuss more effective ways to develop software and solve real business problems.

We’re honoured to have Steven “Doc” List facilitating the Open Space. (Doc facilitated both the Austin and Seattle ALT.NET Open Space events.) If you’re not familiar with the Open Spaces concept, you can read about How Open Spaces Works. It’s not your typical conference. Prepare to be surprised.

The event is being organized by Kyle “Living in the Bahamas is Tough” Baley, James “That’s Godfather to You” Kovacs, Dave “Goats are Cool” Woods, Donald “Where’s My Scotch” Belcham, Terry “Best Hair in Canada” Thibodeau, Bil “Microsoft Vice President” Simser, Greg “Three D’s Ain’t Enough” Young, and Justice “Metrosexual Developers are Hot” Gray.

Space is limited! REGISTER NOW and join the conversation!

American_Beaver Eland-02

* No beavers or moose were harmed in the production of this blog post. (The egos of organizers are another matter entirely.)

Another DevTeach has come and gone. I had an awesome time. I enjoyed hanging out with old friends and meeting some new ones. I saw a lot of great sessions, but the best part, as always, is the hallway and bar conversations. (No, I still haven’t quite figured out Metastones, even after playing for hours.) I wanted to especially thank everyone involved in the agile track – both presenters and attendees. I have received a lot of positive feedback on the track. Given that I organized the track, I am immensely pleased with its success.

You can download my slides and demos from here or the DevTeach site.

Achieving Persistence Ignorance with NHibernate (2.6 MB)

Taming Software Dependencies with DI and IoC (20.9 MB)

I have started keeping my latest presentations online in Google Code’s Subversion repository.

svn checkout http://jameskovacs.googlecode.com/svn/Presentations/

Take a look in the tags to get the slide deck and demos for a particular event. For example, you’ll find tags/DevTeachToronto2008 contains the version from – surprise, surprise – DevTeach Toronto 2008. If you have any questions or comments on slides, demos, or techniques, please don’t hesitate to email me.

DevTeach is returning to Montreal on December 1 to 5, 2008. I’ll be the Agile Track Tech Chair again. Jean-Rene will be putting out a call for sessions in the near future and you should find the announcement here. If you are interested in speaking in the Agile Track, feel free to email me. If you attended any sessions in the Agile Track and have suggestions for things that you’d like to see again or suggestions for improvement, email me!