New and Cool
- AJAX, DWR and Spring
- Intro to JPA
- Spring and Groovy
- Intro to Ruby
- Selenium Web Testing
- Firebug: Web Debugging Evolved
- Spring Webflow
- Django as a Second Language
- Intro to Maven
- Google AppEngine: A Simple App
- Introduction to Asynchronous Servlets
- Introduction to Spring Batch
- Apache Camel
- Intro to Lift
- Grails Is, Knows, and Can
- Intro to jQuery/jQuery Beyond Basics
- Intro to OSGi
- Spring Roo
- Akka
- 2012: Real-Time Web Applications
- 2012: Griffon: Groovy Desktop Apps
- 2012: Scala: Definitely Not Java!
- 2012: Sencha Touch
- 2012: Android 101
- 2012: Scaling Batch to the Cloud
- 2012: Roo 1.2: Let’s Write Some Add-ons!
Projects
- Test-Driven Development with Spring
- Domain-Driven Design
- Acceptance TDD
- Tomcat and SpringSecurity with x509
- Practical OSGi
- jNetStream/Fitnesse: Testing Bytes
- SSO with Crowd
- Intermediate Rails
- 2012: Hadoop in production
- 2012: jQuery Mobile + Backbone.js
- 2012: NoSQL: Cool vs. Real
- 2012: Using KIF for Mobile Testing
Special Interest
- Ning for Java Developers
- ll(k) lexers vs. ll lexers (ANTLR 2 vs. 3)
- Genetic Programming
- Green Development Practices
- Nginx: Virtual Hosting secured sites
- JVM Memory Model
- SW Craftsmanship: What you should know
- TDD Hotseat
- Networking 101
- A Wireless Mesh Thermometer With Mina
- 2012: Programming Kits for Children
- 2012: ByteBuffer
- 2012: One month with Arduino
- 2012: CPU Caches
Chariot Day has always offered a mix of presentations: intros to what’s new and cool, looking at how particular tools were used on actual projects, and special interest topics. Looking at the topics even just from the last five years (with this year’s topics highlighted), you can see how some of the languages, tools, and practices that were once new and cool are now more taken for granted.
Clearly some of these have turned out to be more applicable to our projects than others. While Rails, JPA, and Maven are now just fundamental elements of many projects, we may never again have the opportunity to work on a wireless mesh thermostat, and we have yet to actually deploy our telnet-controlled automatic Nerf weapon at a client. (Though, there was the suggestion that with some cubicle coordinates it could target whoever broke the build…)
Looking forward, you might ask which of today’s new and cool topics will be part of tomorrow’s basic toolbox. Hadoop has made the jump already. NoSQL databases have potential, but in practice have worked better for some projects than others. Mobile tools like Backbone.js, Sencha Touch, and KIF look promising, and we’ve already worked them into our projects, but the landscape is shifting so rapidly it’s hard to know what will really have staying power.
That’s one of the reasons we spent another session slot this year on the Tech Radar — taking an inventory of the languages and tools we use, are interested in, or are waiting for, and trying to forecast what we’ll be using another few years from now. It’s a tricky proposition; Scala and Akka are very strong for highly-concurrent processing, but it’s hard to imagine building a large, general-purpose business application in Scala. So maybe instead of a which it’s more of a how — based on our actual project experience, what’s the best way to take a general-purpose business application and build in Akka for the concurrency? (OSGi has worked.)
One thing’s for sure — we’ll keep working on it. And next Chariot Day, we’ll see how far we’ve gotten.