Greg Luck's Blog

I am sick of simple. Things should be great!

Browsing Posts in Software

This year, on Friday 24 September, straight after JavaOne, Terracotta is hosting a one day conference focused on Scale in San Francisco. Called @Scale it will be all about learning from experts on how to scale enterprise apps in traditional deployment and in several cloud environments.

We don’t yet have session details but he have got a killer list of speakers. They include:

  • Greg Luck, CTO of Ehcache
  • Ari Zilka, CTO/Founder of Terracotta
  • Simon Crosby, CTO of the Data Center and Cloud Division of Citrix
  • Jeff Barr, Web Services Evangelist of Amazon.com
  • Dr. Rich Wolski, CTO/Founder of Eucalyptus
  • Adrian Cole, Founder of jclouds.org
  • James House, Founder of Quartz
  • Dan Querna, Founder of Cloudkick
  • Jos Boumans, Engineering Manager for Ubuntu Server of Canonical
  • Darin Pope, Principal Consultant of PlanetPope, Inc.

This is a unique opportunity to get all these speakers under one roof for an intense 8 hours of deep immersion in Scale.

The cost is only USD200 but there is an early bird special of USD150 which is available now.

Register for @Scale

Today I spent a very enjoable morning with Dave Thomas. (http://www.davethomas.net/) Not the Pragmatic Programming Dave Thomas, aka Prag Dave.
The talk was about programming 2010-2020. In other words, not what the next big thing is, but something way in the future. Most of the talk was on DOD – Domain Oriented Development. For concrete details, the problem is that this stuff is being developed inside corporations. It is not publically available.
Still, after the session a group of talked about some trends happening in the nearer term. It was a good chance to think about these things.
Both Microsoft and Sun are adding dynamic languages and better support of these in the CLR and JVM respectively. A good discussion for the motivation here can be found at http://jcp.org/en/jsr/detail?id=292.
To quote:
“There is growing interest in running a variety of programming languages on the the Java platform, and consequently, on the Java virtual machine (JVM). This interest is increasingly focused on dynamically typed languages, in particular scripting languages.
To make it easier to produce performant, high quality implementations of such languages, we propose to add support at the virtual machine level.”
Dave is still a dedicated Smalltalker as are a number of the leading OOers. Maybe things are moving in that direction. Closures are something on their way into Java 7 (Dolphin) and C#. Closures, though introduced in Scheme, were a feature of Smalltalk, and one that has been missing from Java.
Of course if you want to do Smalltalk on a JVM, you could use http://www.missionsoft.com/. Not sure how well it works.

I often get accused of being cache centric in my ideas on performance. As I attend OSCON this year I have kept my ear out, both in and out of the sessions, for how everyone is solving performance problems.
There seems to be couple of themes. One is to keep as much away from your database as possible. Another is to do this by using caching. In the LAMP world this generally means using memcached. You can also use mod_proxy for this, and Squid. I am not really sure why memcached is used in preference to these two but I intend to find out.
Another alternative is to replicate data between databases. This also seems less popular. The scalability tutorial speaker was of the view that this is relatively hard, though of course practical. If you are talking commercial databases, you also have cost problems. The general solution here, is say you have Oracle, replicate to read only MySQL servers.
But solutions like memcached, and write through cache solutions such as the approach taken by the very movable type I am using right now are simpler.
The SleepyCat founder was a the Keynote this morning. He suggested that some of the larger shops such as Amazon and Google use SleepyCat rather than client server database servers like Oracle or MySQL.
Another interesting comment was that when MySpace was moved from ColdFusion to ASP.net, the caching piece had to be custom written and was inspired by memcached.
So, I guess to summarise, I would say that a web caching piece is a mandatory part of each stack.

A month or so ago we talked about how to script deployments. We do Java, Ruby and Python deployments. We sort of had some ideas but came up blank.
Capistrano, a ruby app, uses ssh and relies on posix commands, so it will work on pretty much anything other than windows. I went to the session, which was well attended. The guys have done a lot of work on it and emphasise that, while it is great for Rails, it is also well suited to all sorts of deployments.
I think this may be worth a look.

I attended a session here at OSCON on Rolling Your Own Google Maps. It is rolling your own Google maps without Google.

The session also covered Google Maps. My own beginner effort, showing where I live, is here.

The title of this document is “Writely is now stuffed”.

But my blog is not entitled that.

Also, following should be an image. But it is broken. Why? Because writely’s img src is missing “http://writely.com”.

So, in the last three months since Google bought Writely, it no longer works properly and is closed for new registrations. Way to go Google!