No Fluff Just Stuff
I just finished (well actually, yesterday) attending a software development conference called No Fluff, Just Stuff. I've been to a couple of other training seminars in the past which have left me disappointed, but if you have an opportunity to attend one of these, I highly recommend that you do so.
There were a lot of great speakers on a variety of topics. I attended talks on Java Concurrency in Java 5, Ruby/Ruby on Rails (very, very cool), AJAX, ”guerilla” web techniques, regular expressions, testing the web tier, code metrics and agile development methodologies. I walked out of just about all of them feeling that I took away some useful information and some good pointers for further, in-depth research on the topic.
Ruby/Ruby on Rails was probably the most interesting. Dave Thomas gave the presentations and I thought he was a great speaker. The syntax of Ruby looks a little daunting because the syntax is very different from C/Java, but it looks as though once you understand it you can express some pretty powerful stuff without writing a lot of complicated code. I’m really intrigued and it’s been quite a long time since I tackled a new language, so I bought a book on the subject and look forward to geeking out with it.
The AJAX-related talks were also very cool. There’s really not anything inherently complicated about doing AJAX, but it does require a shift in your mind-set as to what you can do in web applications. Something like Google maps looks very impressive when you compare it to your standard web app where you enter some data and submit a form, but one of the speakers showed an application that he and another developer put together in a couple of hours that replicates a lot of the surface features of Google maps. To be fair, all he really showed was the ability to pan around the map, so I’m not sure what percentage of the Google maps stuff they really implemented. Without knowing the “tricks” involved it would seem almost impossible to implement, but they showed that once you understand those tricks, it’s not really so hard.
The Java concurrency talk was a good refresher course to some extent, in particular the new threading API’s in Java 5. I came away from that talk thinking of a lot of code that I’ve worked on that could (and probably should) be refactored.
The regular expressions talk was also good. I’ve actually bought a book on the subject already (yes, I have quite a backlog of reading materials) and this talk covered a lot of the same basics that I’ve already covered in the book, but he also touched on a few areas I hadn’t yet covered. It was definitely a good introduction for folks that had never used regular expressions at all. They are something that I don’t find myself needing to use a lot, but every so often a problem that is well suited to their use crops up, and I find myself wishing I was more comfortable using them.
The guerilla web techniques had testing the web tier talks were very good as well. It was probably about 50% review of stuff I was already familiar with, and about 50% new information. That may sound low, but given past experience any time you go to one of these where half of the stuff is new, that’s pretty good. A lot of good stuff comes just from people asking questions and learning how others in the session do things, and finding links to cool new tools.
The agile development methodologies talk was a bit disappointing. I thought it was going to cover a lot of the different agile methodologies that are out there. I buy into a lot of the agile precepts, and have had a lot of exposure to XP. I have problems with certain aspects of XP, so I was anxious to hear about some of the other alternative agile approaches. Unfortunately, about 80% of the talk was about why traditional heavyweight methodologies often fail, another 15% covered XP practices and 5% was racing through the rest of the slides giving short shrift to everything else. I guess I just wasn’t the target audience – I was anticipating more like 15% why agile is good, and the rest equally divided discussing the different methodologies. Oh, well.
The only presentation that I really didn’t get much out of was the one on use code metrics to target code for refactoring. The presenter seemed like a bright guy, but as far as the presentation itself, he was really unprepared. There were lots of things he was supposedly going to show us but … “oops” … he had deleted whatever files had the contents and couldn’t figure out how to regenerate them (though he spent some time trying). The other thing that was a little annoying was that there were three or four other people in the class who apparently all knew him and each other, and they seemed to all feel compelled to “help out” by monopolizing the discussion in the class. I don’t think the guy ended up covering quite half of the material.
Aside from a couple of minor disappointments, the conference was really a great experience. Really, the worst part of it was not really anything that I experienced, but rather, the many things that I didn’t. Since it was such a short conference, none of the sessions were repeated, and in many cases I found myself having to choose between 2 or 3 really interesting sounding presentations at any given time. You’re never quite sure if you’re making the right choice. But, as problems go, I’d say that’s a pretty good one for a conference to have.
There were a lot of great speakers on a variety of topics. I attended talks on Java Concurrency in Java 5, Ruby/Ruby on Rails (very, very cool), AJAX, ”guerilla” web techniques, regular expressions, testing the web tier, code metrics and agile development methodologies. I walked out of just about all of them feeling that I took away some useful information and some good pointers for further, in-depth research on the topic.
Ruby/Ruby on Rails was probably the most interesting. Dave Thomas gave the presentations and I thought he was a great speaker. The syntax of Ruby looks a little daunting because the syntax is very different from C/Java, but it looks as though once you understand it you can express some pretty powerful stuff without writing a lot of complicated code. I’m really intrigued and it’s been quite a long time since I tackled a new language, so I bought a book on the subject and look forward to geeking out with it.
The AJAX-related talks were also very cool. There’s really not anything inherently complicated about doing AJAX, but it does require a shift in your mind-set as to what you can do in web applications. Something like Google maps looks very impressive when you compare it to your standard web app where you enter some data and submit a form, but one of the speakers showed an application that he and another developer put together in a couple of hours that replicates a lot of the surface features of Google maps. To be fair, all he really showed was the ability to pan around the map, so I’m not sure what percentage of the Google maps stuff they really implemented. Without knowing the “tricks” involved it would seem almost impossible to implement, but they showed that once you understand those tricks, it’s not really so hard.
The Java concurrency talk was a good refresher course to some extent, in particular the new threading API’s in Java 5. I came away from that talk thinking of a lot of code that I’ve worked on that could (and probably should) be refactored.
The regular expressions talk was also good. I’ve actually bought a book on the subject already (yes, I have quite a backlog of reading materials) and this talk covered a lot of the same basics that I’ve already covered in the book, but he also touched on a few areas I hadn’t yet covered. It was definitely a good introduction for folks that had never used regular expressions at all. They are something that I don’t find myself needing to use a lot, but every so often a problem that is well suited to their use crops up, and I find myself wishing I was more comfortable using them.
The guerilla web techniques had testing the web tier talks were very good as well. It was probably about 50% review of stuff I was already familiar with, and about 50% new information. That may sound low, but given past experience any time you go to one of these where half of the stuff is new, that’s pretty good. A lot of good stuff comes just from people asking questions and learning how others in the session do things, and finding links to cool new tools.
The agile development methodologies talk was a bit disappointing. I thought it was going to cover a lot of the different agile methodologies that are out there. I buy into a lot of the agile precepts, and have had a lot of exposure to XP. I have problems with certain aspects of XP, so I was anxious to hear about some of the other alternative agile approaches. Unfortunately, about 80% of the talk was about why traditional heavyweight methodologies often fail, another 15% covered XP practices and 5% was racing through the rest of the slides giving short shrift to everything else. I guess I just wasn’t the target audience – I was anticipating more like 15% why agile is good, and the rest equally divided discussing the different methodologies. Oh, well.
The only presentation that I really didn’t get much out of was the one on use code metrics to target code for refactoring. The presenter seemed like a bright guy, but as far as the presentation itself, he was really unprepared. There were lots of things he was supposedly going to show us but … “oops” … he had deleted whatever files had the contents and couldn’t figure out how to regenerate them (though he spent some time trying). The other thing that was a little annoying was that there were three or four other people in the class who apparently all knew him and each other, and they seemed to all feel compelled to “help out” by monopolizing the discussion in the class. I don’t think the guy ended up covering quite half of the material.
Aside from a couple of minor disappointments, the conference was really a great experience. Really, the worst part of it was not really anything that I experienced, but rather, the many things that I didn’t. Since it was such a short conference, none of the sessions were repeated, and in many cases I found myself having to choose between 2 or 3 really interesting sounding presentations at any given time. You’re never quite sure if you’re making the right choice. But, as problems go, I’d say that’s a pretty good one for a conference to have.