I was recently lucky enough to give a talk at PyCaribbean about custom user models in Django and Django-Authtools. This was my first time attending a Python conference, and I could not have asked for a better experience.
The Dominican Republic, for the most part, is not an English speaking country, and hosting an English conference in such a setting cannot possibly be easy. For instance, on the few days leading up to the conference, the venue owners decided that they would not allow shorts to be worn inside, and apparently failed to communicate this to the conference organizers until the day of the event. This lead to much confusion as the speakers showed up to prepare for their presentations in shorts, and were met by irate, Spanish-speaking security who refused to let them in and angrily pointed to their legs.
As many speakers and attendees didn't think to pack pants to a tropical island, it fell to the organizers to provide pants to everyone that required them. A heroic effort, and it meant that everyone that was supposed to attend the conference could. I spoke to the lead organizer, Leo, about the situation while he was helping me find a SIM card for my phone, and he told me that he had given away most of his pants as true souvenirs to the conference attendees that needed them.
Other various problems cropped up and were swiftly tackled by the organizers. At breakfast the first morning, there was a distinct lack of coffee as Dominicans don't generally consume much of it. This left many of the attendees itching for a fix. The situation was resolved within the next couple of hours: a coffee machine was sitting on the breakfast table.
The venue also briefly ran out of soap and paper towels in the bathrooms. This, too, was swiftly taken care of with soap dispensers adorned with the PyCaribbean logo appearing in all the venue's bathrooms.
Of course, the meat of the conference are the talks, and PyCaribbean did not lack for excellent material. I learned something new and interesting in every talk I went to, and never found myself looking at my watch, wondering when the current talk would end.
The conference opened with a keynote from Brandon Rhodes. He gave a wonderful talk about the history of Python, where it came from, and where it was going. According to him, Python became great by being judicious about which features it incorporated from other languages. Every once in a while, a new concept in programming would pop up, its usefulness and applicability to Python would be evaluated, and a decision would be made to include it or exclude it from the core language. Through this process, Python became a world-class language.
Another talk I found particularly useful was one on testing, entitled "Your tests are bad, and you should feel... good!" by Chris Neugebauer. He spoke about creating tests for software that wasn't built to be tested by creating a test harness and testing the software as a black box, thereby creating invariants. These invariants can then be used to ensure the correctness of code refactors, which should be testable. By this process, you are able to take a codebase with no or almost no test coverage and convert it slowly to a fully-unit tested piece of software.
Truly, for first time organizers, Leonardo Jimenez and Vivian Guillen outdid themselves. They are already planning the next PyCaribbean, and I very much hope to get the chance to go back again.