Over the first weekend of November, I attended and spoke at the Iowa Code Camp in Des Moines, Iowa. Every time I attend, the event is great and everyone there are some of the top developers in the area. As with any conference I go to, I want to make sure and write a review on the experience overall. I was able to attend 4 sessions at this code camp after doing my presentation on the Low Hanging Fruit of Html5. Below is a rundown of each session I attended.
Getting Dirty with Android - by Brent Edwards
I've talked with Brent on a number of occasions via Twitter and was looking forward to attending his Android development presentation. I had looked at Android development briefly in the past; however, hope to get into it more now that I've traded in my iPhone 3G for an HTC Evo. Brent did a really good job on showing the basics of Android development using Eclipse on a Windows system. He wisely had all examples setup prior to the presentation in order to not bore the audience by manually typing the xml associated with Android's layout. He also made a point to educate the audience on some of the things that may cause a new Android developer to get hung up. His presentation was one of the few that I've been to that I couldn't find hardly anything to provide constructive feedback on. He was well practiced on the topic, he had the examples working well, and he was able to field any questions. Overall, it was a great presentation that I'd recommend to anyone looking to get into Android development.
Curriculum Development Workshop - by Dustin Thostenson
Every so often on Twitter, a conversation will come up on a number of academic topics. A few months ago, the topic of how to build a better college curriculum for software developers or engineers came up. After multiple hours on Twitter, many conceded that moving the conversation to a forum like Iowa Code Camp would be a good idea. This session was solely a discussion about that topic. Dustin is on the curriculum board at the Des Moines Area Community College which makes the topic more than just a theoretical discussion. In the session, we had a large mix of educators, students, and other people who varied in how they came about being a software practitioner. Dustin had a number of pseudo-exercises he asked us to do in order to limit group think early on. From these exercises, the discussion focused on the fact that some of the most common set of courses that the attendees deemed were most important were not technical at all. Courses like public speaking, group dynamics, research methods, and writing were all rated as some of the most important while language specific skills were some of the lowest. From everything discussed, I left the discussion thinking not what courses are the most important for a college student but more about how to inspire a student to have patience in learning true programming skills. Knowing how to cut code is the least important aspect of my day job and, after the discussion, I'm not alone in feeling that way.
Using and Extending Django - by Matt Morrison
By day, I'm a .Net guy. By night, I love programming in anything that isn't tied to Microsoft. I enjoy working in Python and have dabbled in Django a little bit; however, nothing enough to feel comfortable to really ensure that I was doing things right. This session was a slight treat for me since I could learn the Django way of doing things from a guy that actually uses Python daily. Matt's presentation was very open which was bittersweet. I was able to ask questions and help mold the presentation to the aspects that I'm interested in; however, it also lead to some uneasy pauses and breaks in the flow of the presentation while Matt was soliciting the audience on for what they may be interested in. Overall, there was a lot of information that I saw and gained from the presentation even though it was very rudimentary. I would have enjoyed seeing a bit more structure but overall, the content was good and it was obvious that Matt knew the subject matter. I also would have liked to see a few steps on how to start the application from nothing and how he located and setup the eggs.
Using Django and TDD to version Databases - by Matt Morrison
In a continuation of the previous conversation, Matt focused more on how to do TDD with Django as well as introduced how to work with South, a Django add on for doing database migrations and versioning through modifying your model. This talk was very beneficial for me in that I saw TDD in Python/Django, more specific Django stuff, and how Django does database migrations. I was very curious on the database migration elements because of my involvement in the Dot Net Migrations open source project in the .Net space. In comparison with the previous topic, this presentation was very structured and spot on. It answered a lot of my questions and provided me a ton of insight.
Every conference I go to I enjoy. Iowa Code Camp is no different. This time around, I saw a large amount of Macs and a bit more diversity in the sessions than in past conferences, which were very .Net heavy. While I'm a .Net guy, I have shifted my presentation topics away from .Net in order to provide different viewpoints to the audience. I like seeing how conferences like this are providing a forum for such as well. I don't regret going to any of the presentation that I went to though wish I was able to clone myself and attend others as well. I only recorded my own presentation this time around due to logistical issues that I encountered in the Spring. Next Spring's code camp I may have a different camcorder in order to make things a bit easier to off load and recharge the camera easier. Beyond that, I'm looking forward to playing around with the knowledge I picked up last weekend. I also am working on some additional presentations as well. Next year is going to be a busy year for me as a presenter and I can't wait to see how things go.