Fri, 11 December 2009
Joe Gregorio, Google Developer Advocate and member of the Google App Engine team, is also working on Google Wave, a new collaborative environment that mixes concepts from IRC, Mail, IM, and document sharing.
- APIs http://code.google.com/apis/wave/
- Example bots: builtins: Linky automatically makes links of text typed in to the wave.
- For more examples, look at wave-samples-gallery.appspot.com
- Developers can sign up for sandbox access here https://services.google.com/fb/forms/wavesignupfordev/
- Non-Developers can request a preview account here https://services.google.com/fb/forms/wavesignup/
- No public client/server API yet, waveprotocol.org has links to wave protocol forum
Direct download: TechCast-48-Google-Wave-Joe-Gregorio.mp3
-- posted at: 6:00am EDT
Mon, 7 December 2009
Today's podcast features Jonas Bonér, the creator of the Akka framework. If you've been listening to the podcast, especially to Episode #37 with Alex Miller on Java Concurrency, here is an alternative approach to providing scalability on the Java VM.
Akka features an implementation of Actors, Software Transactional Memory, and Transactors, a hybrid approach to working with STM inside of Actors themselves. Jonas also provides a mechanism for writing these components inside of the Java language as well.
Actors are not a direct part of the Scala language. Rather, they are implemented as a library. There are, in fact, at least three implementations. Jonas Bonér's Akka framework includes actors as well as access to Software Transactional Memory. In this episode, my colleague Jamie Allen and I interview Jonas to try to pull apart what Actors and Software Transactional Memory are, and how they can help developers write highly scalable, concurrent applications.
- The Akka Mountain in Sweden (Akka is named after the mountain)
- The Akka framework homepage is www.akkasource.org (or www.akkasource.com or even www.letitcrash.com)
- A good blog entry about Akka
- The high level overview of Akka from the akkasource site
- Jonas' home page and the Akka twitter handle
Direct download: Chariot_TechCast_47-Jonas_Boner_and_Akka.mp3
-- posted at: 10:51am EDT
Wed, 2 December 2009
Today's interview features the Groovy luminary Guillaume LaForge. Guiallume's work on improving the Groovy language paved the way for the innovative frameworks such as Grails and Griffon, and showed a whole generation of Java developers to stop worrying and love dynamic programming.
Guiallaume is the Groovy project lead, and is constantly improving the language. One of his newer efforts is the App Engine framework Gaelyk. Running on top of Groovy, this framework allows developers to build Google App Engine web sites with very little effort. We talked to Guillaume about the project, and about his thoughts on Java 7 as well. This week we took questions from the 'twitterverse', and I started using Google Wave to edit my show notes.
Upcoming Groovy 1.7 features...
- Support for anonymous inner classes (before suggested you use closures)
- Providing an AST Builder, to make it easier to provide AST transformations (such as @Singleton, @Delegate). AST transformations are compiled into bytecode.
Gaelyk - The Google App Engine framework
- Groovlets, small groovy web scripts - just write a script!
- Templates - separate Groovy code from view
- Injects Google features into scripts, not abstract them too much
- Sitemesh templating: Guillaume is researching sitemesh integration but likely not including it directly (providing instructions at some point)
- Question asked by @wmacguyver on what Groovy
- DataStore was easy to wrap with a thin veneer - is hoping to more groovify and add a DSL around it
- Mail - added ONE method to enrich base class to make it eaiser to use from scripting
- Route support in 0.32 - was more work but not complex to do...
- Also hosted on Gaelyk: Gaelyk project itself
- Community feedback - will drive some enhancements, obviously Guillaume is very committed to Groovy language too!
- Users have become contributors - submitting suggested changes / patches, these are very welcome.
- Future feature: Querying support on deck potentially for datastore, simple SQL queries don't work on a NO-SQL database.
Question from twitter user @HamletDRC: @ Which JDK7 feature will effect Groovy the most: Closures, Jigsaw, or something else? (question for @)
Java 1.7 Closures -
- The working document - mentions dynamic interfaces for closures, groovyc compiler could create same interfaces under the hood - could be interoperable POTENTIALLY...
- Could we pass groovy closures to a java class? No implementation yet, so we need to see how languages work together...
- Java closures - cannot access non-final vars, etc... Shouldn't replace Groovy closures with Java closures...
Jigsaw (JDK modularity)
- Interesting to investigate. Would be nice to modularize Groovy a bit - maybe pull pieces into modules (groovlets, etc)... OSGi is an option as well, need to evaluate.
Thanks also to lucaxtex for his tweet: incredible work on UrlRoutes! This is getting sweeter each day :)
Direct download: TechCast-46-Gaelyk-with-Guillaume.mp3
-- posted at: 11:43am EDT
Thu, 19 November 2009
Ben Alex carved out some time to talk to me about the SpringSource Roo project, a very interesting and different take on Convention over Configuration Frameworks.
All of the major prior frameworks seem to use dynamic and meta-programming tricks to get work done. Ben's team focused on taking advantage of the Java platform, and hence Roo is a fast, java-and-AOP solution for getting things done using existing APIs like JPA and Spring's APIs. Applications are built using a command-line shell (even with code completion, just hit tab!) but in the end, they are just maven-based Spring projects.
You can find out more about Roo itself by visiting
Mentioned in the podcast is the book "The Humane Interface" by Jeff Raskin. Ben says that reading that book helped him form the basis for his ideas about Roo.
Ben Alex can be reached via twitter as @benalexau, and the #roo hashtag gets quite a workout. We also suggest visiting the forums, as JIRA issues posted there are generally answered promptly.
Chariot Solutions is a SpringSource education and consulting partner.
Direct download: ChariotTechCast-2009-11-19-Ben-Alex-Roo.mp3
-- posted at: 6:26pm EDT
Tue, 17 November 2009
Today's guest is Manik Surtani, from the JBoss Infinispan project.
Infinispan is a data grid project that grew out of JBoss Cache, and is able to dynamically ramp up and down cache nodes at will. Manik discusses the various features of the engine, including querying, monitoring, scalability, and more.
Visit the Infinispan project site at www.jboss.org/infinispan
Infinispan tweets on the @Infinispan username, and you can watch all tweets related to Infinispan at #infinispan.
If you are in Antwerp, Belgium attending DEVOXX '09, head on over to the announcement page and register with this URL.
JBoss is a Chariot Solutions partner.
Direct download: ChariotTechCast-2009-11-17_Infinispan.mp3
-- posted at: 4:34pm EDT
Mon, 26 October 2009
A recap of the events of the last two days of SpringOne, with Brent Baxter and Dmitry Sklyut. Show notes will be available soon. Chariot Solutions is a SpringSource partner.
Direct download: TechCast-Episode-43d-SpringOne-4.mp3
-- posted at: 9:00am EDT
Thu, 22 October 2009
Gordon Dickens is a consultant and trainer with Chariot Solutions. We caught just before the wrap-up on Thursday to see Gordon's impressions (ask him to do Charlie Chaplain)… Gordon discusses Spring 3.0 & Java 6, JPA 2 support, Spring Integration, Spring Roo, Grails, and more. Chariot Solutions is a SpringSource consulting and training partner.
Direct download: TechCast-Episode-43c-SpringOne-3.mp3
-- posted at: 3:35pm EDT
Thu, 22 October 2009
Here is another perspective on SpringOne from Chariot Solutions' Brent Baxter.
Direct download: TechCast-Episode-43b-SpringOne-2.mp3
-- posted at: 10:17am EDT
Tue, 20 October 2009
Gordon Dickens is a consultant and trainer with Chariot Solutions. We caught up in the early afternoon on Tuesday to catch up on Rod Johnson's keynote and topics around Spring 3.0, Grails, and some other things. Chariot Solutions is a SpringSource consulting and training partner.
Direct download: TechCast-Episode-43a-SpringOne-1.mp3
-- posted at: 3:53pm EDT
Tue, 13 October 2009
Chariot's Eric Snyder works in both Java, Spring-based applications as well as with dynamic platforms such as Ruby on Rails. He brought CouchDB to our attention earlier this year, and we thought we'd share some information about it with our listeners. Apache CouchDB is a RESTful web-centric document-based database system written in Erlang. It can be used either directly using RESTful mechanisms or via a wrapper API in a number of languages.
- http://couchdb.apache.org - project website
- http://books.couchdb.org/relax - CouchDB: The Definitive Guide
APIs (small subset)
- http://github.com/jchris/couchrest- ruby API
- http://github.com/langalex/couch_potato- ruby API (higher level layer on top of couchrest)
- http://couchdbkit.org - python API
- http://github.com/mbreese/couchdb4j - Java-based CouchDB API
Direct download: ChariotTechCast-CouchDB-42-2009-10.mp3
-- posted at: 2:28pm EDT