Paul Julius > Blog

CITCON in New York City

November 26th, 2016

I am very excited that we will be hosting CITCON in New York City on December 9 & 10, 2016.

Registrations are still open:

I am proud that my company, Intent Media, has signed on as the Venue Sponsor. As Chief Technology Officer, I am excited to showcase some of the great things we have been doing at Intent like

* mob programming
* serverless architectures
* employee growth based management
* continuous delivery
* polyglot programming

Should be tons of fun! Join us!

World Famous Pair Programming Talk!

December 29th, 2012

Back in 2007 I was contemplating what I wanted to speak about at conferences. I asked myself, “What do I feel strongly enough about? What do I really care about? What practices should everyone be doing?” Two things came to mind:

Advanced Continuous Integration (now we call this Continuous Delivery)


Pair Programming

Speaking at conferences can be a ton of fun. I recommend it for anybody working in the consulting field. That said, conference lecturing requires significant time and energy. This will come as a shock: You have to prepare! If you do not practice, then your audience will quickly lose interest. They will inevitably use the Law of Two Feet.

The topics that I was going to talk about had to be personally interesting. I had to have a passion for them. I knew I would be reusing (and continually refactoring) the presentation material for at least a year. I had no interest in signing up for something that would bore me senseless.

Pair programming in action.

Photo by Erwin Bolwidt. Your host, pairing at CITCON Singapore 2012.

CI (Continuous Integration) has been a fascination for me since the year 2000. Heck, I co-founded CruiseControl, mostly in my spare time, to scratch that itch. Beyond that, in 2007, Jeffrey Fredrick and I had one year of CITCON (the Continuous Integration and Testing Conference) under our belt. So all things CI were a natural fit.

A quick aside: Jez Humble and Dave Farley’s book on Continuous Delivery was still in the works at the time. I remember talking to Jez about the book, but I do not recall if the term Continuous Delivery was finalized yet. From as early as 2003 people were using terms like CI++, Advanced Continuous Integration, Continuous Deployment, Continuous Delivery, CI All the Way to Production, etc. For me, I wanted to talk about CI beyond setting up CruiseControl, or Jenkins, or AntHill, or Bamboo, or… (fill in the blank, 2007 saw a huge upswing in Continuous Integration platforms). Advanced CI would leverage my years of expertise. It was clearly a no-brainer. I needed a second talk.

I thought back to two practices we used on my last project in Detroit – TDD and pair programming. My colleagues at ThoughtWorks were already doing a bang-up job presenting on every facet of TDD. I also really enjoyed Uncle Bob Martin’s talk on TDD. I did not feel like there was much meat left on the bone. Pair programming was a different beast.

Pair programming was a frequently dismissed, overlooked, despised portion of the original XP white book. People would tell me that they had tried pairing, but hated it! I heard the same story over and over again, amongst colleagues and clients alike. I held quite the opposite opinion (and still do). I love pair programming!

What was I doing that all these other people were not? I am no smarter. I am no worse programmer, and likely not particularly better. I knew that I needed to suss out the core differences that made pairing a delightful endeavor. In fact, I hated programming without a pair.

Out of that came my talk entitled (usually) “Pairing with Pizzazz”. Sometimes I have called it “Pairing with PJ”. I have been doing this talk for five years. People love the talk. I love to give the talk. I make it fun by live pairing with people. I combine a little knowledge sharing with a little hands on.

I have given this talk at least 25 times, around the world. I have delivered it at big industry conferences. I have delivered it at smaller un-conferences like CITCON. I have presented it at internal company conferences. I have presented it at local user groups. I will probably give this talk publicly at least once in 2013, 2014 and 2015. And now I want to share it on my blog.

The presentation material consists mostly of pictures. I tell a story. I do not read bullet points! This will make it more difficult for readers seeing the material for the first time through the internet. Anyone with questions should email Both the PowerPoint slideshow and the PDF version contain some notes that I wrote when I was first thinking through the talk. That will help casual readers.

Feel free to read through the talk. Feel free to share it with colleagues. Please do not present this material as though it were your own. Do feel free to present it as though you heard about it from me and wanted to help make the world a better place.

Finally, for full disclosure, I did not invent anything new for this talk. I leveraged the expertise, experience, enthusiasm, passion, mistakes, dissatisfaction, and joy of hundreds of people with whom I have had the extreme privilege of pair programming. Thank you, everyone! (And Happy New Year).

Download the PDF version of the presentation.
Download the PowerPoint version of the presentation.
Email me with questions or just leave a comment on this blog entry.

CITCON Portland Registration Open

September 7th, 2012

CITCON Schedule in SingaporeThe Open Information Foundation is excited to announce that CITCON North America 2012 will take place in Portland, Oregon on September 21 & 22. CITCON, the Continuous Integration and Testing Conference, will almost certainly include a plethora of topics about the newest amalgamation term, Continuous Delivery. (Thanks to Jez Humble and Dave Farley for publishing their book and giving us a solid name for the evolving field!)

When we were at CITCON Singapore earlier this year we covered topics that varied from the classic, “What is CI?” to advanced techniques for testing. Some Singaporeans mentioned that the whole DevOps thing is just starting to take hold there. I am sure in no small part due to the efforts of the fine folks at the ThoughtWorks Singapore office.

In North America, though, the last few CITCON events have been focusing more on advanced Continuous Delivery topics. That does not mean that practitioners new to the field should shy away. On the contrary, they are the most important attendees in many ways. They challenge the thinking of old timers like myself. They make me re-rationalize things I take for granted, like the importance of the cup-of-coffee metric.

I enjoy witnessing the CI server evolution evident at CITCON’s North American edition. When I first approached Jeffrey about doing a 5 year birthday party for CruiseControl, I did not envision it evolving into the CITCON we have today. Thanks to Paul Hammant for helping to name the conference and pushing for a broader focus than just CruiseControl. As time passes, we see people using all the different CI platforms to accomplish Continuous Delivery. Surely, users will be present from the communities of Hudson, Jenkins, AntHill Pro (and maybe the newest addition, uDeploy), BuildForge, Bamboo, Go, ElectricCloud, CloudBees…not sure this list ever ends. Since I don’t have time to keep up with all of them, I learn boatloads about each just by listening to people tell me about their real world experiences.

I would be remiss if I forgot to mention the testers! Having emerged from the computer science/programmer/build lackey world, I find myself missing out on the hardcore testing advancements. I help my client’s quality assurance teams automate their world, based largely on the information I gain from being a part of CITCON. People like Lisa Crispin and Bret Pettichord have made their way to CITCON. Every year, I meet new innovators in the testing space.

Without testing, we would not be able to deliver continuously! And that’s where CITCON’s true power comes into play. We have the opportunity to bring together both these worlds in one room, for at least a day and a half. Many testers, sadly, do not get to spend anywhere near that kind of face time with the developers with whom they work. I love seeing that spark in a tester’s eye when they put together a plan in their head for how to help their teams back at the office.

I could go on and on, but it boils down to this. If you are a software professional that cares about delivering software repeatedly with ease and joy, then you belong at CITCON! Register now:

CITCON Paris Interview

October 19th, 2009
Enjoying the sites of Paris.

Enjoying the sites of Paris.

While I was in Paris for CITCON, I met up with my old buddy Julian Simpson, aka the Build Doctor. I admire what he has been doing with his blog and we always have a good time chatting about old times, the present state of the industry and where we are going.

Julian was interested in interviewing me for his site. I was interested in being interviewed.

He also interviewed Jeffrey Fredrick.

Jeffrey and I both talked about relationship with CruiseControl, CITCON and various industry leaders. I think both interviews are a lot of fun to watch. Julian was limited to 10 minutes, so we didn’t get to everything. Feel free to ask any follow up questions!

CITCON Paris 2009 Almost Here

September 1st, 2009

CITCON Paris, the European instance of the Continuous Integration and Testing Conference, is just around the corner. Our registrations filled quickly and we had to put quite a few late registrants on the waiting list. The committee has begun the task of sorting through the waiting list now. We hope to accommodate as many as possible.

For those attending, I’ll see you in Paris.

If you can’t make it to this event, keep an eye on the CITCON website for 2010 events in North America, New Zealand/Australia and Europe.

CITCON Amsterdam Almost Here!

September 4th, 2008

CITCON, the Continuous Integration and Testing Conference, hosted by Jeffrey and myself will take place in Amsterdam on October 3 & 4. Attendance is free!

This is the third annual CITCON event in Europe. London in 2006 and Brussels last year were both a blast. Everyone walked away having learned a lot about the cutting edge of CI and Testing.

So, you’re invited! Register at:

And help us get the word out. Blog about it. Email your friends.

CITCON Brussels | Call for Volunteers

August 21st, 2007

CITCON Brussels 2007 is approaching quickly…October 19 & 20. We are now seeking volunteers to help make this event a success!

We have positions open for all types of people. Please take a look at the volunteering page. You don’t have to be a software geek to help out and get all the cool volunteer benefits!

CITCON (Continuous Integration and Testing Conference) brings together people from every corner of the software development industry to discuss Continuous Integration and the type of Testing that goes along with it.

It’s an exhilarating conference. Be a part of it!


Paul Julius

CITCON Organization Committee

Alt.Net Open Space Conference | Austin, TX | October 5 – 7, 2007

August 21st, 2007

Bret Pettichord just told me about an exciting open space conference that he, and a bunch of other people are organizing in Austin, Texas. It is called Alt.Net.

The website is not up as of the writing of this post, but Scott Bellware provides the logistical details as:

“The ALT.NET conference will take place in Austin, TX from 5PM on Friday, Oct 5th, through noon on Sunday, October 7th at the St. Edwards University Professional Education Center.”

In a post by Dave Laribee, one of the conference hosts, he answers the question “What does it mean to be Alt.Net?” as:

  1. You’re the type of developer who uses what works while keeping an eye out for a better way.
  2. You reach outside the mainstream to adopt the best of any community: Open Source, Agile, Java, Ruby, etc.
  3. You’re not content with the status quo. Things can always be better expressed, more elegant and simple, more mutable, higher quality, etc.
  4. You know tools are great, but they only take you so far. It’s the principles and knowledge that really matter. The best tools are those that embed the knowledge and encourage the principles (e.g. Resharper.)

I am excited that the Open Space conference format is spreading in the software industry. The mission of the Open Information Foundation, founded by Jeffrey Fredrick and myself, is to help these types of events which endeavor to make the sharing of information available to anyone, without financial impediment. We have been hosting CITCON, around the globe, to further this goal.

If you can make it to Austin for this event, I am sure it will be a very educational, enlightening and fun event!

CruiseControl 2.7.1 RC3 released from Agile 2007!

August 15th, 2007

I am here at Agile 2007, but found time while working the ThoughtWorks booth to finalize Release Candidate 3 for version 2.7.1 of CruiseControl.


The CruiseControl Enterprise team, along with the crew of dedicated open source committers, have put in a lot of effort to stabilize the release. Please download the release candidate and try it out. If you have any issues or comments, please let us know on the CruiseControl-devel mailing list.

The changes in this release include:

CruiseControl Release Notes – 2.7.1

* Upgraded Ant that is distributed with CruiseControl to Ant version 1.7.0.

* Fixed cc-config\3rdparty\ causes build to break on Windows (CC-684). Patch by Brian Egge.
* Updated cruisecontrol’s main build to allow setting a proxy prior to downloading and including the cc-config application (CC-687). Patch by Ilkka Laukkanen.


* Fix build root and rpm destination for rpm target. Patch by Joseph Benavidez.
* Init script improvments based on patch by Nicolas Ternisien
* Upgrading a package will no longer overwrite users config
* Packages now depend on Java and subversion
* Package now includes dashboard and cc-config
* Now includes working connectfour sample
* Stops CruiseControl on uninstall
* Now only builds CruiseControl if needed
* .svn folder in now points to correct sourceforge repository url(

* Added docs for the Darcs scm plugin (CC-626).
* Fixed issue with logo appearing incorrectly placed in IE6. Patch by Jerome Lacoste.
* Add missing step in X10 publisher instructions. Patch by Bill Wohler.

NOTE: The dashboard has known display issues in Internet Explorer 6.
* Allowed artifacts to be kept in an arbitrary locations.
* Allowed config.xml to be kept in an arbitrary location
* Can render html/xml/txt in the browser.
* Can display the unit test output for passed builds.
* Enhanced the dashboard to display artifacts directories as tree structure.
* Added the cc-config ( application so that it can be included in the dashboard (CC-658). Patch by Allan Wick.
* Allowed artifacts to be shown and downloaded in case of a failed build
* Allowed project name to contain hyphen (-)
* Allowed integration with project management tools
* Allowed using dashboard-config.xml to configure the dashboard
* Deprecated the way to configure the dashboard via web.xml
* Modificationset and Bootstrapping are no longer considered as building status in summary section.
* fixed unresolved velocity variable $ in build detail page.
* Applied the patch of CC-436 which committed by Szczepan Faber
* Added error details in the dashboard (CC-665).
* Dashboard can now parse logfiles with testsuite elements without time attribute (CC-670). Patch by Ilkka Laukkanen.
* Dashboard can now parse logfiles with non-default date formats (CC-671). Patch by Ilkka Laukkanen.
* Fixed case where long project name would not wrap within Toolkit and Tooltip divs.
* Fixed layout problem with tabs when wrapping.
* Added Errors and Warnings tab. Removed Errors tab. Moved the test errors and test failures to Tests tab.

build loop

AllFusion Harvest
* Added support for CA AllFusion Harvest via SDK (CC-513). Patch by Robert Thornburrow and Nayan Hajratwala. Removed previous command-line based support.

* Add ant propertyfile attribute (CC-664). Patch by Willem Verstraeten.
* Provide support for configuring additional Ant libs and listeners (CC-542). Patch by Dan Fabulich.

Builder Progress messages
* Add a Progress signaling api to the builders: <composite>, <maven>, <maven2>, <ant>, and CCDist <distributed> (CC-686).
Experimental impl for <ant> builder to showProgress can be disabled with showProgress=false.
Progess messages are shown on the reporting/jsp project pages, below the project state text. scripts
* Set JAVA_HOME properly on MacOSX (CC-681). Patch by Ingo Richter

CommandLine and Process exec handling
* Close process.outputStream to avoid deadlocks. (CC-527) Reported by Jason R. Hull

Compound Publisher
* Introduced a Compound Publisher (CC-656).

* Added the ability to set the cvs compression level (CC-579). Patch by Maxim Butov.

* Added darcs to the default plugins (CC-626).

* Put the ccname command line parameter back, after being inadvertently removed (CC-651). Patch by Lars Gehrken.

* MavenMapper extracts the email address for a certain committing user as configured in Mavens project.xml or pom.xml (M1 or M2) (CC-618). Contributed by Gisbert Amm.

* Introduce a “ControllerAware” interface for plugins (CC-680). Patch by committer emeritus Robert Watkins.

* Added a property named “buildforced” that will get passed to builders for conditional control (CC-653). Patch by Dave Kilroy.

* Refactored validation for cleanliness and removing duplication with ValidationHelper (CC-642). Patch by Gisbert Amm.

* Added trap for zero or less interval and updated docs to indicate that they are not legitimate values (CC-652). Suggested by Jeff Jensen.

* svnrevision property set incorrectly (CC-683). Patch by Tim Brown and Brian Egge.
* svnbootstrapper documentation incorrectly lists “checkExternals” flag. Must be moved to the “svn” modificationset element (CC-678). Reported by Ram Singaram
* Improve error message when there is no valid localWorkingCopy for SVNBootstrapper (CC-679). Patch by Robert Watkins.
* Set svnrepository property so that it can be used by builders, etc (CC-639). Patch by Brian Egge.
* Prevent “premature” SVN modifications being detected (CC-677). Patch by Robert Watkins.

* TFS Support – new sourcecontrol and bootstrapper plugins (CC-666). Patch by Martin Woodward.

* Fixed problem when you set time build to 23:55 and the first modifcationcheck occur at 0:01 you won’t get an modification (CC-650). Patch by Lars Gehrken.

* Fixed ClearCase/UCM mode when rmver event found in history (CC-660). Patch by Paul Heaberlin.

* Improvement to provide detail in log as to what changes caused the veto (CC-676). Patch by Barrett Nuzum.

CITCON Europe 2007 in Brussels | Registration Open

August 9th, 2007

Jeffrey Fredrick and I, on behalf of the Open Information Foundation, are pleased to announce CITCON Europe 2007 will be held in Brussels on October 19 & 20. CITCON is free to attend.

CITCON (Continuous Integration and Testing Conference) brings together people from every corner of the software development industry to discuss Continuous Integration and the type of Testing that goes along with it.

We just wrapped up CITCON Sydney at the end of July. Everyone really enjoyed themselves and learned a lot. It was the largest CITCON event, yet. We are hoping to make CITCON Brussels even larger.

If you would like to register for CITCON, please visit the website.

If you have any questions, please feel free to contact me. We hope to see everyone at CITCON Brussels in October!