The Java Posse (general)
Serving the Java Community since 2005
Tor Norbye (Google), Carl Quinn (Netflix), Dick Wall (Escalate), Chet Haase (Google)

Newscast for August 10th 2012

Fully formatted shownotes can always be found at http://javaposse.com

If you are a Scala fan and in the bay area, don’t miss the Scala BASE meetup on Monday 13th at Netflix.
http://www.meetup.com/Bay-Area-Scala-Enthusiasts/
SF scala training. Week after JavaOne (October 8th to 12th) at Exit Certified.
http://www.artima.com/shop/stairway_to_scala?w=10051




Clojure


Random Crap


Thanks


  • Opening - "Java" the parody song Copyright 1997 Broken Records and Marjorie Music Publ. (BMI),



  • Closing - Juan Carlos Jimenez - In the House (Intro No. 1)


  • To contact us:



The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall

Direct download: JavaPosse391.mp3
Category:general -- posted at: 5:37pm PDT

Newscast for July 20th 2012

Fully formatted shownotes can always be found at http://javaposse.com


Quick News

Groovy

ScalaWags

Android

Random Crap

Thanks

  • Opening - "Java" the parody song Copyright 1997 Broken Records and Marjorie Music Publ. (BMI),
  • Closing - Juan Carlos Jimenez - In the House (Intro No. 1)


  • To contact us:


The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall

Direct download: JavaPosse390.mp3
Category:general -- posted at: 2:15pm PDT

Roundup '12 - (Variations in) Pair Programming (Variations)

Fully formatted shownotes can always be found at http://javaposse.com

Pair Programming is hard, because it’s social.  In this session hosted by Dianne Marsh and Andrew Harmel-Law we discuss different approaches to adopting this agile practice. Thanks to Todd Costella, Jack Leow, Eirik Bjørsnøs, Chris Marks, D.J. Hagberg, Brian Gray and Victoria Vickers for their valuable input.

Recorded at the Java Posse Roundup 2012 in Crested Butte, CO

Thanks to Andrew Harmel-Law for production help.

  • A Pair Programming Tarot
  • “Two Brains and Two Sets of Hands”
    • Pair programming with personal input devices,
    • but shared and mirrored screens
  • Adoption
    • Developer led versus “militant” “all-pair-programming-all-the-time”
    • In our experience its not always appropriate to use it
  • The Importance of the physical space
    • The desk and chair layout
  • The problem with “the rest of your job”
    • How do you fit in other, non-pair tasks like email, calls, lunch, etc?
  • Pair Programming Remotely ON PURPOSE
    • Google Hangouts
    • Plus “your own space”
    • Good relationships make this a minor / non-existent barrier to success
    • Not every day, also work co-located regularly
  • The “@Debt thing” example
    • The @Debt project Wiki and Code (Kenai)
    • Windows Livemeeting
    • Importance of good relationships
    • And importance of ability to think out loud
  • Impact on Planning
    • Plan in pairing at estimation stage
    • “2x2” - 2 people for 2 hours
    • Record the time for both people for the whole time
    • Problem: How to handle it if not planned in - do we both record time against the task?
    • Option 1: stop estimating at Task / hour level
      • Just focus on Story Points / Sprint for your team
      • You can still break a Story into Tasks to visualise your work and allocate it, but don’t estimate them
      • This is slightly “black box” Sprint-level progress reporting
  • Pairs of different skill levels
    • It works best with people of similar skill levels
      • But this is not the only way
    • Benefits of onboarding and knowledge sharing
    • But you can’t tolerate egos
      • Which you are more likely to see in the expert
    • Remember this skills transfer ought also to include the skills of pairing itself
    • Mindfull Programming
      • Being aware of yourself as you program
      • And also being aware of the other half of your pair as you program
      • Teach without making the other half feel they are stupid
  • How to pair up?
    • What if you have odd numbers of people?
      • Rotate pairs every day
      • Culture of “you must pair with everyone else within a Sprint”
    • Just let them decide themselves
      • On a task-by-task basis
      • On an ad-hoc basis
    • Sitting next to someone while they program is not pair programming
  • Letting go of Driver / Navigator
    • When you’re really flowing as a pair, you’re both Driving and both Navigating
    • You’re really collaborating
    • How to get there?
      • Use the Ping Pong Idiom: One person writes a test, the other person implements it
      • Break through egos by writing a test which breaks the thing just written
      • Liked this on Code Retreat
    • But what if the skill gap is too large?
      • Don’t be dogmatic
      • If it’s not working, just STOP
  • Pair Programming in Interviews
    • Chance to reduce stress of interviewee at every opportunity
  • Adoption Techniques (when none of you are experienced Pair Programmers)
    • Deliberate practice
    • Workshop with tasks (the TDD Katas are good for this)
    • A few lightning talks before (about pairing approaches)
    • Experiment and mix the pairs
    • Reduce the amount of “reality”
  • Corey Haines
  • Challenging the assumptions of “different skill levels”
    • This introduces the ego right there
    • Instead value the spectrum of skills that each person comes from
    • John the UI Guy’s website: www.ilikepixels.co.uk
  • Managing the bits in between the pair programming sessions
    • I.e. synching the non-programming schedules of the pair
    • Nothing in the available literature seems to talk about this
    • But how do you manage it?
    • One of the pair is almost always having to think about personal life stuff they need to do
    • Explicitly schedule it it
    • And also don’t pair all time - it’s HARD WORK
  • Difference from working individually
    • Individually you can turn lots of your brain off - e.g. the social bit
    • But in Pair Programming this is very much on
    • WHich is draining
    • But it can also be addictive
  • Certified Scrum Developer
  • Pairing with non-Programmers
    • Business experts
    • Testers
    • Operations
  • Non-Verbal Cues
    • Pairing when one person is standing and the other sitting
    • Body language has a role to play
    • Home field advantage - always pairing at one half of the pair’s desk
  • Pairing Stations
    • Gets round the problem of using some else’s setup
      • Different IDE setup
      • Different keyboard
      • Mac / Windows
    • Don’t make me think
  • International Pairing
    • The problems of Finnish keyboard mappings
  • Sharing code with a DVCS (like git) to get round the someone else’s setup problem
    • “Push” and share the code when you swap
    • Makes you think in logical pieces of work
  • Frequency of Control Switching
    • “It depends”
  • “Trio Programming”
    • One coding, two writing tests
    • Everyone has a different views of the world
  • Advantage of cycling pairs - everyone knows all the code
    • And more than the code; involve the DBA too
  • Disadvantage of cycling pairs - context switching
    • to begin with this is the case
    • but then you got a better view of the codebase
    • the code looked like a team had written it
  • The positive social pressure of pairing
    • Builds better code
    • Counters the risk of over-engineering
    • The angel on your shoulder
    • N.b. it can go the other way - but most folks are aware of our own failings
  • Lack of Resources
    • pairwith.us (not “pairwith.me” as mentioned)
  • How much Pairing?
    • You can burn out
    • It can be relentless when you’re learning it
    • It challenges a lot of your introversion
    • Take small bites
    • Find the pair tasks
  • Breaking down tasks
    • At Sprint planning
    • It’s an art
    • Keep breaking things down
    • Waiting until the “last responsible moment”
  • Remember it’s about finding the sweet spot for your team - it’s the variations
    • Team dynamic specific
    • Project specific
    • Company culture specific
    • It depends
  • A culture of self-organising teams will avoid lots of the potential problems you might find in adoption


  • Test Driven Development
    • Red / Green / Refactor - it is a very deliberate process
    • Test Driven Development: By Example (Kent Beck) - Amazon
    • Remember the “D” stands for “Driven” - designing the API at the lowest level
    • There is a lot of emotional language in the book
    • The “smallest possible increment” adoption method
    • Martin Fowler’s Afterword to “TDD: By Example” - Google Books
    • TDD as if you meant it - http://www.infoq.com/presentations/TDD-as-if-You-Meant-It
    • Stop and think about it
    • Are you in the proper state of mind to be developing? - E.g. are you too tired?
      • Check by writing tests

Thanks



The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall

Direct download: JavaPosse389.mp3
Category:general -- posted at: 3:48pm PDT

Roundup ‘12 - Mobile Business Models

Fully formatted shownotes can always be found at http://javaposse.com
Recorded at the Java Posse Roundup 2012 in Crested Butte, CO

Thanks to Brad Kizzort for production help.

Thanks

  • Opening - "Java" the parody song Copyright 1997 Broken Records and Marjorie Music Publ. (BMI),
  • Closing - Juan Carlos Jimenez - In the House (Intro No. 1)


  • To contact us:


The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall

Direct download: JavaPosse388.mp3
Category:general -- posted at: 11:23am PDT

Roundup '12 - NoSQL

Fully formatted shownotes can always be found at http://javaposse.com

This session discusses the usage of NoSQL data stores within Java applications and the experiences developers have had resulting from that endeavor.  

A conclusion seems to be that the selection of the best data store for your application is quite dependent on the type of data that you are storing: XML vs. JSON, many small items vs. large documents, relationships with sibling data items, or its volatility to aspects such as consistency, availability, and partitioning (CAP).

Another observation was that through the use of a Factory type pattern the type of underlying data store could be abstracted away from the applications.  Use of JPA annotations, Mongo annotations, or identifiers for other storage types would be selected by setting a configuration switch.

Recorded at the Java Posse Roundup 2012 in Crested Butte, CO

Thanks to Victoria Vickers for production help.


Thanks



The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall

Direct download: JavaPosse387.mp3
Category:general -- posted at: 10:36am PDT

Newscast for May 31st 2012

Fully formatted shownotes can always be found at http://javaposse.com

Quick News

Random Crap

Thanks

  • Opening - "Java" the parody song Copyright 1997 Broken Records and Marjorie Music Publ. (BMI),
  • Closing - Juan Carlos Jimenez - In the House (Intro No. 1)
  • To contact us:


The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall

Direct download: JavaPosse386.mp3
Category:general -- posted at: 10:53am PDT

Java Posse Episode 385 - Newscast for May 18th 2012

Fully formatted shownotes can always be found at http://javaposse.com

Quick News

Clojure


ScalaWags

Android

  • Not going to talk about the Google/Oracle Android trial until it’s all over, since everything changes so quickly right now. If you want to know the latest, check groklaw.

Listener Feedback

Random Crap

Thanks

  • Opening - "Java" the parody song Copyright 1997 Broken Records and Marjorie Music Publ. (BMI),
  • Closing - Juan Carlos Jimenez - In the House (Intro No. 1)
  • To contact us:


The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall

Direct download: JavaPosse385.mp3
Category:general -- posted at: 4:44pm PDT

Roundup ‘12 - Tools for Productivity

Fully formatted shownotes can always be found at http://javaposse.com

Thanks

  • Opening - "Java" the parody song Copyright 1997 Broken Records and Marjorie Music Publ. (BMI),
  • Closing - Juan Carlos Jimenez - In the House (Intro No. 1)
  • To contact us:


The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall

Direct download: JavaPosse384.mp3
Category:general -- posted at: 8:31pm PDT

Newscast for April 11th 2012

Fully formatted shownotes can always be found at http://javaposse.com

Upcoming Escalate Training - NY (Apr 30th to May 4th), Atlanta (May 21st to 25th), Chicago (Jun 11th to 15th)
http://escalatesoft.com

Quick News

Android

Random Crap

Thanks


The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall

Direct download: JavaPosse383.mp3
Category:general -- posted at: 2:20pm PDT

Java Posse Roundup 2012 Live

Fully formatted shownotes can always be found at http://javaposse.com

Recorded at the Java Posse Roundup 2012 in Crested Butte, CO, the “live” session after the progressive dinner and before the karaoke.


The recorded sessions will be released steadily over the course of the next year.

Thanks


The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall

Direct download: JavaPosse382.mp3
Category:general -- posted at: 8:40am PDT

To browse other episodes, use the Archives list on the right >>