Showing posts from March, 2010

Three of my articles just published on

Google App Engine: What Is It Good For? Amazon Web Services: A Developer Primer Google App Engine vs. Amazon Web Services: The Developer Challenges I wrote these three articles as a single long article, which we decided to break up into three articles. I recommend that you read them in this listed order. I very much like developing for both AWS and AppEngine, and these articles are just my opinions about issues for using both deployment platforms.

First rough cut of software examples for my book "Practical Semantic Web Programming (Java, Scala, Clojure, and JRuby Edition)" is available

Here is the github page for my book examples. A work in progress PDF file for my book is available on my Open Content web page. I hope to have the book software examples complete by early May 2010 and the final version of the book done a few weeks after that.

My new Ruby Blog

I have decided to split out articles from my main technology blog. will in the future the home for my general writing about Ruby and Ruby technologies. I also plan on putting everything concerning machine learning, text mining, etc. into my existing AI blog . I used to run a Ruby aggregator on the domain but I decided to split the Ruby stuff off of my technology blog and use this domain just for my own writing rather than aggregating other people's content.

Switched from Eclipse to IntelliJ for AppEngine development

Eclipse has been my tool of choice for AppEngine development because of the great plugin supplied by Google. I have been using IntelliJ for all other Java, Scala, and Clojure development so I decided it would be nice to switch AppEngine development to IntelliJ 9.x also. If you decide to do this also, after a few false starts, I now have a recipe that works for me: Install the latest Java SDK for AppEngine and set a symbolic link to it so it is easy to swap in newer versions as they are released. Don't import the eclipse project. Instead, I had better results creating new empty AppEngine projects and copying in my src directory and the contents of the old war directory to the web directory. Create an AppEngine facet, entering the symbolic link to your Java AppEngine SDK directory. Create an artifact of type Web App Exploded.

JVM: JRuby's advantages over Clojure and Scala

Don't get me wrong, since using Clojure and Scala quite a lot over the last month, I very much like both languages. If I were to do a very large project from scratch, I would likely choose Scala (love the concise syntax). Clojure's interop with Java is great and Clojure is a nice language to code in. Both languages have helpful communities behind them. All that said, I saw two things this morning that convinced me that JRuby has a real advantage because it combines the rich Java and Rails infrastructures. These two cool things were: Using Datamapper with two different back end stores (MySQL and MongoDB) - architectually pleasing! The Neo4j + Lucene JRuby wrapper that provides a very "Ruby like" interface for the Neo4j graph database with seemless indexing/search support using Lucene (I just did something similar wrapping Lucene and Sesame (RDF data store)).