View Testing 2.0

Posted about 1 year back at Err the Blog

I've come to realize how anti-web 2.0 this blog really is. Why are we, the authors, doing all the work?! Where is the user generated content? How can we pretend to be Rails developers when we waste our time writing all these blog posts!

No longer. Today all that changes. It's time you guys start pulling your weight.

Let's Talk About Testing Views

There seem to be about a bajillion different solutions to the 'problem' of testing views. If you're into testing and also into Rails, my guess is you've tried a few different styles before settling on your current method. (hey, me too)

What I would love is for you to post your current, favorite, flavor-of-the-month style of view testing. What library do you use, where can we download it, and how about some sample code?

When commenting, wrap your code in <code>code tags</code> and use "textile":http://textism.com/tools/textile/ for links.

Everyone has different taste, but the hope is we'll have enough options for people to find something they like. Something tasty.

Hit me!

Tags!

Posted about 1 year back at Blog Posts : Nex3

Last night, I added the ability to tag posts to my blog engine. The mechanics of it are pretty simple; you can filter /posts by a tag by giving it a tag parameter. Check out the “Tags” links in the sidebar.

For example, I write a fair number of posts about my blog. To just look at these posts, you’d click “Blog” on the left, which would send you to /posts?tag=blog. Try it; there’s always a back button.

You may also notice little feed icons next to the tag links: Little Feed Icon. These link to a feed that only includes posts with the given tag.

The URLs for these feeds work the same way as those for the main page. Thus, if you only care about what I have to say about Emacs, you just can subscribe to /posts.atom?tag=emacs.

There’s also a snazzy little bonus feature that doesn’t show up in any of the UI. You can use more than one tag. All you have to do is separate them with commas in the URL. Thus, if you want to hear me talk about Emacs and this blog, you could subscribe to /posts.atom?tags=emacs,blog.

RailsConf Europe - Tuesday Keynotes

Posted about 1 year back at Liverail - Home

Tuesday is ending now with some final keynotes

Basically sandwiching in Roy Fielding, a uber-guru of the web between some Diamond sponsors seems like a commercialization thing. A theme of the conference maybe.

Beyond Startups: Rails Demand in the Global 2000

Thanks to Jonathan Siegel we heard the obvious, that yes some Global 2000 companies are starting to use Rails. Big shock. Shame the man can’t present at all. Little note, if your sponsorship money buys you a presentation, learn how to present an engaging talk.

The Rest of REST

An intellectual and precise talk by Roy Fielding, was interesting and historically educating but academic for most people there. Still I find the elements of architectural style and forming lasting styles of architecture is really interesting from a consulting point of view. The architectural style a way of deducing principles of technology removed from any of the problems of actual languages and products.

Rails and the Next Generation Web

Craig McClanahan is a great speaker and someone we are interested to hear from. This should be the principle of buying your speaking slot, put up something interesting with an interesting topic, not just a marketing speech.

Craig talks about his love of Ruby and Rails even after being a Java-guy for so many years. A shift for Sun? Rich Internet Applications and Horizontal scaling, gone is Moore’s Law. Well Craig says that Java web frameworks pace of innovation is slowing, and the Java community know they need to look to the future. Could the Rails community go snow-blind also? Forget to look to the future..

Mentions three plugins. act_as_cached, act_as_state_machine, will_paginate… get it wrong as they only extend ActiveRecord. While acts_as_autenticator, paginator gets it right as they don’t care about the implementation.

make_resourceful plugin is a good example of separating API from implementation where you could plugin ActiveResource or ActiveRecord.

Unfortunately Craig only has 50 minutes which is no time at all. I would love to hear a proper 2 hr talk from him as it seems he has some great stuff to say.

RailsConf Europe - Tuesday Keynotes

Posted about 1 year back at Liverail - Home

Tuesday is ending now with some final keynotes

Basically sandwiching in Roy Fielding, a uber-guru of the web between some Diamond sponsors seems like a commercialization thing. A theme of the conference maybe.

Beyond Startups: Rails Demand in the Global 2000

Thanks to Jonathan Siegel we heard the obvious, that yes some Global 2000 companies are starting to use Rails. Big shock. Shame the man can’t present at all. Little note, if your sponsorship money buys you a presentation, learn how to present an engaging talk.

The Rest of REST

An intellectual and precise talk by Roy Fielding, was interesting and historically educating but academic for most people there. Still I find the elements of architectural style and forming lasting styles of architecture is really interesting from a consulting point of view. The architectural style a way of deducing principles of technology removed from any of the problems of actual languages and products.

Rails and the Next Generation Web

Craig McClanahan is a great speaker and someone we are interested to hear from. This should be the principle of buying your speaking slot, put up something interesting with an interesting topic, not just a marketing speech.

Craig talks about his love of Ruby and Rails even after being a Java-guy for so many years. A shift for Sun? Rich Internet Applications and Horizontal scaling, gone is Moore’s Law. Well Craig says that Java web frameworks pace of innovation is slowing, and the Java community know they need to look to the future. Could the Rails community go snow-blind also? Forget to look to the future..

RailsConf Europe - Tuesday Keynotes

Posted about 1 year back at Liverail - Home

Tuesday is ending now with some final keynotes

Basically sandwiching in Roy Fielding, a uber-guru of the web between some Diamond sponsors seems like a commercialization thing. A theme of the conference maybe.

Beyond Startups: Rails Demand in the Global 2000

Thanks to Jonathan Siegel we heard the obvious, that yes some Global 2000 companies are starting to use Rails. Big shock. Shame the man can’t present at all. Little note, if your sponsorship money buys you a presentation, learn how to present an engaging talk.

The Rest of REST

An intellectual and precise talk by Roy Fielding, was interesting and historically educating but academic for most people there. Still I find the elements of architectural style and forming lasting styles of architecture is really interesting from a consulting point of view. The architectural style a way of deducing principles of technology removed from any of the problems of actual languages and products.

Rails and the Next Generation Web

Craig McClanahan is a great speaker and someone we are interested to hear from. This should be the principle of buying your speaking slot, put up something interesting with an interesting topic, not just a marketing speech.

Craig talks about his love of Ruby and Rails even after being a Java-guy for so many years. A shift for Sun? Rich Internet Applications and Horizontal scaling, gone is Moore’s Law. Well Craig says that Java web frameworks pace of innovation is slowing, and the Java community know they need to look to the future. Could the Rails community go snow-blind also? Forget to look to the future..

Mentions three plugins. act_as_cached, act_as_state_machine, will_paginate… get it wrong as they only extend ActiveRecord. While acts_as_autenticator, paginator gets it right as they don’t care about the implementation.

make_resourceful plugin is a good example of separating API from implementation where you could plugin ActiveResource or ActiveRecord.

Unfortunately Craig only has 50 minutes which is no time at all. I would love to hear a proper 2 hr talk from him as it seems he has some great stuff to say.

RailsConf Europe - Tuesday Keynotes

Posted about 1 year back at Liverail - Home

Tuesday is ending now with some final keynotes

Basically sandwiching in Roy Fielding, a uber-guru of the web between some Diamond sponsors seems like a commercialization thing. A theme of the conference maybe.

Beyond Startups: Rails Demand in the Global 2000

Thanks to Jonathan Siegel we heard the obvious, that yes some Global 2000 companies are starting to use Rails. Big shock. Shame the man can’t present at all. Little note, if your sponsorship money buys you a presentation, learn how to present an engaging talk.

The Rest of REST

An intellectual and precise talk by Roy Fielding, was interesting and historically educating but academic for most people there. Still I find the elements of architectural style and forming lasting styles of architecture is really interesting from a consulting point of view. The architectural style a way of deducing principles of technology removed from any of the problems of actual languages and products.

Rails and the Next Generation Web

Craig McClanahan is a great speaker and someone we are interested to hear from. This should be the principle of buying your speaking slot, put up something interesting with an interesting topic, not just a marketing speech.

Craig talks about his love of Ruby and Rails even after being a Java-guy for so many years. A shift for Sun? Rich Internet Applications and Horizontal scaling, gone is Moore’s Law. Well Craig says that Java web frameworks pace of innovation is slowing, and the Java community know they need to look to the future. Could the Rails community go snow-blind also? Forget to look to the future..

Mentions three plugins. act_as_cached, act_as_state_machine, will_paginate… get it wrong as they only extend ActiveRecord. While acts_as_autenticator, paginator gets it right as they don’t care about the implementation.

make_resourceful plugin is a good example of separating API from implementation where you could plugin ActiveResource or ActiveRecord.

Unfortunately Craig only has 50 minutes which is no time at all. I would love to hear a proper 2 hr talk from him as it seems he has some great stuff to say.

RailsConf Europe - Tuesday Keynotes

Posted about 1 year back at Liverail - Home

Tuesday is ending now with some final keynotes

Basically sandwiching in Roy Fielding, a uber-guru of the web between some Diamond sponsors seems like a commercialization thing. A theme of the conference maybe.

Beyond Startups: Rails Demand in the Global 2000

Thanks to Jonathan Siegel we heard the obvious, that yes some Global 2000 companies are starting to use Rails. Big shock. Shame the man can’t present at all. Little note, if your sponsorship money buys you a presentation, learn how to present an engaging talk.

The Rest of REST

An intellectual and precise talk by Roy Fielding, was interesting and historically educating but academic for most people there. Still I find the elements of architectural style and forming lasting styles of architecture is really interesting from a consulting point of view. The architectural style a way of deducing principles of technology removed from any of the problems of actual languages and products.

Rails and the Next Generation Web

Craig McClanahan is a great speaker and someone we are interested to hear from. This should be the principle of buying your speaking slot, put up something interesting with an interesting topic, not just a marketing speech.

Craig talks about his love of Ruby and Rails even after being a Java-guy for so many years. A shift for Sun? Rich Internet Applications and Horizontal scaling, gone is Moore’s Law. Well Craig says that Java web frameworks pace of innovation is slowing, and the Java community know they need to look to the future. Could the Rails community go snow-blind also? Forget to look to the future..

Mentions three plugins. act_as_cached, act_as_state_machine, will_paginate… get it wrong as they only extend ActiveRecord. While acts_as_autenticator, paginator gets it right as they don’t care about the implementation.

make_resourceful plugin is a good example of separating API from implementation where you could plugin ActiveResource or ActiveRecord.

Unfortunately Craig only has 50 minutes which is no time at all. I would love to hear a proper 2 hr talk from him as it seems he has some great stuff to say.

RailsConf Europe - Choosing sessions is so hard...

Posted about 1 year back at Liverail - Home

Tuesday at RailsConf and choosing sessions is damn hard. Am I missing out on something really great going on in other room? Could the other guys be as boring as this speaker? With nothing more than a title and a synopsis we select from our buffet.

My bad decisions so far:

Making Rails More (Artificially) Intelligent

The speakers were in Spanish and their English was difficult to understand especially in a presentation context, but well done for giving it a go guys. Basically the talk introduced Bayesian graphs and probability tables, Bayesian classifiers and genetic algorithms and some Ruby libraries for using them. Unfortunately they didn’t make the Rails context at all. I think a talk on using these kind of algorithmic tools would be a winner with the right presentation context. But hard when it’s not your first language.

I learnt something and it’s worth checking the libraries if you ever feel you’ll need to solve an AI problem.

Meta-Magic in Rails: Become a Master Magician

Very entertaining and very popular, if the conference room had rafters people would be hanging from them. The room was packed. I would hate to go up against Dr Nic, the other rooms must have been empty.

I quit coding because I thought I hated it, turned out I just hated Java.

Dr Nic not only talked about fun little things with method_missing, const_missing and using the meta abilities of Ruby he used them as a weapon against other languages

Java is like… Keith Richards. not so cute anymore, can tell you stories about himself, can’t change his behavior

Great talk but Dr Nic was keen to point out that that in some cases the meta-magic is.

not useful but it is funny..

Really Scaling Rails

Was by a Twitter guy on scaling and had some bits of useful information but really didn’t engage. The really useful elements were a few tips such as how to encode the page peformance into every the response of every page. A shame.

Tabnav: Do We Really Need a Plugin for Tabbed Navigation?

A lovely talk by Italian speaker Paolo Dona who was engaging and funny. I expected the room to be near empty, after all who needs to hear about tabbed navigation. Instead Paolo packed the small room he was given, obviously they knew more than me.

Paolo’s main thing was that sure Ruby on Rails has meant he has had to write less code but he still spends the same amount of time writing HTML/CSS. In fact relatively he was spending much more time on HTML/CSS than coding.

where is DHH? I want to kill him. He has turned me into a designer.

So Paolo has widgets

  
ruby script/plugin install svn://svn.seesaw.it/widgets/trunk

Widgets for tabs, navigation, showhide, tablizer, tooltips, nubbins. To create user interface design patterns with less effort. It’s a fine idea and i’ll look to use them soon.

Not a bad spread for the food either…..

RailsConf Europe - Choosing sessions is so hard...

Posted about 1 year back at Liverail - Home

Tuesday at RailsConf and choosing sessions is damn hard. Am I missing out on something really great going on in other room? Could the other guys be as boring as this speaker? With nothing more than a title and a synopsis we select from our buffet.

My bad decisions so far:

Making Rails More (Artificially) Intelligent

The speakers were in Spanish and their English was difficult to understand especially in a presentation context, but well done for giving it a go guys. Basically the talk introduced Bayesian graphs and probability tables, Bayesian classifiers and genetic algorithms and some Ruby libraries for using them. Unfortunately they didn’t make the Rails context at all. I think a talk on using these kind of algorithmic tools would be a winner with the right presentation context. But hard when it’s not your first language.

I learnt something and it’s worth checking the libraries if you ever feel you’ll need to solve an AI problem.

Meta-Magic in Rails: Become a Master Magician

Very entertaining and very popular, if the conference room had rafters people would be hanging from them. The room was packed. I would hate to go up against Dr Nic, the other rooms must have been empty.

I quit coding because I thought I hated it, turned out I just hated Java.

Dr Nic not only talked about fun little things with method_missing, const_missing and using the meta abilities of Ruby he used them as a weapon against other languages

Java is like… Keith Richards. not so cute anymore, can tell you stories about himself, can’t change his behavior

Great talk but Dr Nic was keen to point out that that in some cases the meta-magic is.

not useful but it is funny..

Really Scaling Rails

Was by a Twitter guy on scaling and had some bits of useful information but really didn’t engage. The really useful elements were a few tips such as how to encode the page peformance into every the response of every page. A shame.

Tabnav: Do We Really Need a Plugin for Tabbed Navigation?

A lovely talk by Italian speaker Paolo Dona who was engaging and funny. I expected the room to be near empty, after all who needs to hear about tabbed navigation. Instead Paolo packed the small room he was given, obviously they knew more than me.

Paolo’s main thing was that sure Ruby on Rails has meant he has had to write less code but he still spends the same amount of time writing HTML/CSS. In fact relatively he was spending much more time on HTML/CSS than coding.

where is DHH? I want to kill him. He has turned me into a designer.

So Paolo has widgets

  
ruby script/plugin install svn://svn.seesaw.it/widgets/trunk

Widgets for tabs, navigation, showhide, tablizer, tooltips, nubbins. To create user interface design patterns with less effort. It’s a fine idea and i’ll look to use them soon.

Not a bad spread for the food either…..

RailsConf Europe - Choosing sessions is so hard...

Posted about 1 year back at Liverail - Home

Tuesday at RailsConf and choosing sessions is damn hard. Am I missing out on something really great going on in other room? Could the other guys be as boring as this speaker? With nothing more than a title and a synopsis we select from our buffet.

My bad decisions so far:

Making Rails More (Artificially) Intelligent

The speakers were in Spanish and their English was difficult to understand especially in a presentation context, but well done for giving it a go guys. Basically the talk introduced Bayesian graphs and probability tables, Bayesian classifiers and genetic algorithms and some Ruby libraries for using them. Unfortunately they didn’t make the Rails context at all. I think a talk on using these kind of algorithmic tools would be a winner with the right presentation context. But hard when it’s not your first language.

I learnt something and it’s worth checking the libraries if you ever feel you’ll need to solve an AI problem.

Meta-Magic in Rails: Become a Master Magician

Very entertaining and very popular, if the conference room had rafters people would be hanging from them. The room was packed. I would hate to go up against Dr Nic, the other rooms must have been empty.

I quit coding because I thought I hated it, turned out I just hated Java.

Dr Nic not only talked about fun little things with method_missing, const_missing and using the meta abilities of Ruby he used them as a weapon against other languages

Java is like… Keith Richards. not so cute anymore, can tell you stories about himself, can’t change his behavior

Great talk but Dr Nic was keen to point out that that in some cases the meta-magic is.

not useful but it is funny..

Really Scaling Rails

Was by a Twitter guy on scaling and had some bits of useful information but really didn’t engage. The really useful elements were a few tips such as how to encode the page peformance into every the response of every page. A shame.

Tabnav: Do We Really Need a Plugin for Tabbed Navigation?

A lovely talk by Italian speaker Paolo Dona who was engaging and funny. I expected the room to be near empty, after all who needs to hear about tabbed navigation. Instead Paolo packed the small room he was given, obviously they knew more than me.

Paolo’s main thing was that sure Ruby on Rails has meant he has had to write less code but he still spends the same amount of time writing HTML/CSS. In fact relatively he was spending much more time on HTML/CSS than coding.

where is DHH? I want to kill him. He has turned me into a designer.

So Paolo has widgets

  
ruby script/plugin install svn://svn.seesaw.it/widgets/trunk

Widgets for tabs, navigation, showhide, tablizer, tooltips, nubbins. To create user interface design patterns with less effort. It’s a fine idea and i’ll look to use them soon.

Not a bad spread for the food either…..

RailsConf Europe - Choosing sessions is so hard...

Posted about 1 year back at Liverail - Home

Tuesday at RailsConf and choosing sessions is damn hard. Am I missing out on something really great going on in other room? Could the other guys be as boring as this speaker? With nothing more than a title and a synopsis we select from our buffet.

My bad decisions so far:

Making Rails More (Artificially) Intelligent

The speakers were in Spanish and their English was difficult to understand especially in a presentation context, but well done for giving it a go guys. Basically the talk introduced Bayesian graphs and probability tables, Bayesian classifiers and genetic algorithms and some Ruby libraries for using them. Unfortunately they didn’t make the Rails context at all. I think a talk on using these kind of algorithmic tools would be a winner with the right presentation context. But hard when it’s not your first language.

I learnt something and it’s worth checking the libraries if you ever feel you’ll need to solve an AI problem.

Meta-Magic in Rails: Become a Master Magician

Very entertaining and very popular, if the conference room had rafters people would be hanging from them. The room was packed. I would hate to go up against Dr Nic, the other rooms must have been empty.

I quit coding because I thought I hated it, turned out I just hated Java.

Dr Nic not only talked about fun little things with method_missing, const_missing and using the meta abilities of Ruby he used them as a weapon against other languages

Java is like… Keith Richards. not so cute anymore, can tell you stories about himself, can’t change his behavior

Great talk but Dr Nic was keen to point out that that in some cases the meta-magic is.

not useful but it is funny..

Really Scaling Rails

Was by a Twitter guy on scaling and had some bits of useful information but really didn’t engage. The really useful elements were a few tips such as how to encode the page peformance into every the response of every page. A shame.

Tabnav: Do We Really Need a Plugin for Tabbed Navigation?

A lovely talk by Italian speaker Paolo Dona who was engaging and funny. I expected the room to be near empty, after all who needs to hear about tabbed navigation. Instead Paolo packed the small room he was given, obviously they knew more than me.

Paolo’s main thing was that sure Ruby on Rails has meant he has had to write less code but he still spends the same amount of time writing HTML/CSS. In fact relatively he was spending much more time on HTML/CSS than coding.

where is DHH? I want to kill him. He has turned me into a designer.

So Paolo has widgets

  
ruby script/plugin install svn://svn.seesaw.it/widgets/trunk

Widgets for tabs, navigation, showhide, tablizer, tooltips, nubbins. To create user interface design patterns with less effort. It’s a fine idea and i’ll look to use them soon.

Not a bad spread for the food either…..

RailsConf Europe - Choosing sessions is so hard...

Posted about 1 year back at Liverail - Home

Tuesday at RailsConf and choosing sessions is damn hard. Am I missing out on something really great going on in other room? Could the other guys be as boring as this speaker? With nothing more than a title and a synopsis we select from our buffet.

My bad decisions so far:

Making Rails More (Artificially) Intelligent

The speakers were in Spanish and their English was difficult to understand especially in a presentation context, but well done for giving it a go guys. Basically the talk introduced Bayesian graphs and probability tables, Bayesian classifiers and genetic algorithms and some Ruby libraries for using them. Unfortunately they didn’t make the Rails context at all. I think a talk on using these kind of algorithmic tools would be a winner with the right presentation context. But hard when it’s not your first language.

I learnt something and it’s worth checking the libraries if you ever feel you’ll need to solve an AI problem.

Meta-Magic in Rails: Become a Master Magician

Very entertaining and very popular, if the conference room had rafters people would be hanging from them. The room was packed. I would hate to go up against Dr Nic, the other rooms must have been empty.

I quit coding because I thought I hated it, turned out I just hated Java.

Dr Nic not only talked about fun little things with method_missing, const_missing and using the meta abilities of Ruby he used them as a weapon against other languages

Java is like… Keith Richards. not so cute anymore, can tell you stories about himself, can’t change his behavior

Great talk but Dr Nic was keen to point out that that in some cases the meta-magic is.

not useful but it is funny..

Really Scaling Rails

Was by a Twitter guy on scaling and had some bits of useful information but really didn’t engage. The really useful elements were a few tips such as how to encode the page peformance into every the response of every page. A shame.

Tabnav: Do We Really Need a Plugin for Tabbed Navigation?

A lovely talk by Italian speaker Paolo Dona who was engaging and funny. I expected the room to be near empty, after all who needs to hear about tabbed navigation. Instead Paolo packed the small room he was given, obviously they knew more than me.

Paolo’s main thing was that sure Ruby on Rails has meant he has had to write less code but he still spends the same amount of time writing HTML/CSS. In fact relatively he was spending much more time on HTML/CSS than coding.

where is DHH? I want to kill him. He has turned me into a designer.

So Paolo has widgets

  
ruby script/plugin install svn://svn.seesaw.it/widgets/trunk

Widgets for tabs, navigation, showhide, tablizer, tooltips, nubbins. To create user interface design patterns with less effort. It’s a fine idea and i’ll look to use them soon.

Not a bad spread for the food either…..

Emacs Autotest Integration

Posted about 1 year back at GrokBlok - Home

I’ve been read in several places about how to get emacs and autotest to play nicely together. This package runs a shell buffer just giving autotest’s output. It’s a nice way to automatically have that visual representation in the same window. It’s actually quite simple to do.

To begin with, you’ll need to download the autotest.el file and also a depencency, toggle.el. From there, I simply added the following to my .emacs file:

  ;; adding autotest integration
  (require 'toggle )
  (require 'autotest)

Restart emacs, and you should be good to go. Note, I also had to add the unit-test.el file, but that wasn’t mentioned anywhere on the wiki.

Navigate in emacs to a the root folder that you want to run autotest in and you can start this mode by typing:

M-x autotest
. Currently, my output is looking a little funny, I think it’s an encoding thing, but I think I can get the kinks worked out pretty soon. Also, make note that this will read the ~/.autotest file to start. A great resource on this nice piece of integration can be found on the emacs wiki.

That’s one less terminal that I’ll have going, meaning that more of my life will be spent in emacs, which is good.

Emacs Autotest Integration

Posted about 1 year back at GrokBlok - Home

I’ve been read in several places about how to get emacs and autotest to play nicely together. This package runs a shell buffer just giving autotest’s output. It’s a nice way to automatically have that visual representation in the same window. It’s actually quite simple to do.

To begin with, you’ll need to download the autotest.el file and also a depencency, toggle.el. From there, I simply added the following to my .emacs file:

  ;; adding autotest integration
  (require 'toggle )
  (require 'autotest)

Restart emacs, and you should be good to go. Note, I also had to add the unit-test.el file, but that wasn’t mentioned anywhere on the wiki.

Navigate in emacs to a the root folder that you want to run autotest in and you can start this mode by typing:

M-x autotest
. Currently, my output is looking a little funny, I think it’s an encoding thing, but I think I can get the kinks worked out pretty soon. Also, make note that this will read the ~/.autotest file to start. A great resource on this nice piece of integration can be found on the emacs wiki.

That’s one less terminal that I’ll have going, meaning that more of my life will be spent in emacs, which is good.

Uninterested Pair

Posted about 1 year back at Jay Fields Thoughts

Sometimes your pair is uninterested in the task at hand. It's never fun for either person when working with an Uninterested Pair.

There are several reasons that a pair can be uninterested, but that isn't going to be the focus of this entry. Addressing why a pair is uninterested is a people question that I'm not interested in addressing in a general way.

A benefit of pair programming is getting the best solution when two developers collaborate. Clearly, an uninterested developer is not collaborating, thus the solution is likely inferior. At a minimum, the solution is as good as it would have been and 1 person's time was completely wasted.

The problem with uninterested pairs is that they can spend an entire day paying little attention and contributing almost nothing. If you find yourself stuck with an uninterested pair there are a few things that can help. Dealing with an uninterested pair is very similar to dealing with a Distracted Pair. Ping Pong Pair programming helps turn an uninterested pair into a contributing pair; however, often their level of contribution isn't up to their full potential. I've found that when dealing with an uninterested pair it's actually more beneficial to feign confusion.

Feigning confusion can be boring, really boring. You generally have a grasp on what needs to be done. You also generally have the solution in your head. You can implement this solution on your own and bring the uninterested pair along for the ride; unfortunately, in my experience that's exactly what happens. But, simply taking the uninterested pair along for the ride isn't the best long term solution. That pair may someday be asked to improve the existing solution. If they can't, because they weren't paying attention, you may be taken away from your task. Worse, you may be off the team and the context of the code is permanently lost.

So, feigning confusion is boring, but it is also in the best interest of the team. Instead of implementing the solution, ask your pair: How we are going to get this done? Don't accept their first answer. Their first answer is likely going to be fast, but incredibly ugly. Provide your own input, but don't let on that you have a solution. Instead, stick to asking questions. Chances are, you are going to understand their solution. It doesn't matter if you understand their solution, pretend that you don't. Force the uninterested pair to write the first 3 tests and implement the code that causes the tests to pass. At that point, take over and write a test, but force them to implement the solution. Then slowly proceed into Ping Pong Pair programming, but don't jump straight into it. Instead, force the uninterested pair to do about 65% of the coding. It shouldn't take long for the uninterested pair to be a fully contributing pair, which benefits everyone.


1 ... 473 474 475 476 477 ... 575