Archive for the ‘Open Source’ Category

Debugging Ext JS in IntelliJ 9.0.2 (Maia IU.92.273)

Tuesday, February 16th, 2010

I am working on Ehcache Monitor right now, which uses Ext JS. IntelliJ gives you the ability to debug both Java and JavaScript, which is really nice.

Local Debugging

To debug in IntelliJ you right click on a .html file and select Debug.

Remote Debugging

Set up a JavaScript Debug Remote configuration. See below for an example.

Make sure Firefox is closed and any previous debug session is closed.

Then Debug the Javascript Debug Remote config.

Getting it to Work

We had a bit of pain getting this working.

Mac OS X Version

10.6.2

IntelliJ Versions

I tested 9.0, 9.0.1 but couldn’t get it to work. It is known to work with Maia IU.92.273 which will become 9.0.2. It will install a FireFox plugin called JetBrains Firefox Extension. The version should be 0.2.5. 9 and 9.1 shipped with a 0.1 version of this plugin.

I am using Java 1.6_17.

Firefox Bug

Firefox gives an error mentiowith sqlite3 when using the HTML and JavaScript debugger.

This is caused by a bug in Firefox 3.5.7 and a few versions back. This problem has been reported on SnowLeopard.

Dyld Error Message:
Library not loaded: /usr/lib/libsqlite3.dylib
Referenced from: /System/Library/Frameworks/Security.framework/Versions/A/Security
Reason: Incompatible library version: Security requires version 9.0.0 or later, but libsqlite3.dylib provides version 1.0.0

Dyld Error Message:  Library not loaded: /usr/lib/libsqlite3.dylib  Referenced from: /System/Library/Frameworks/Security.framework/Versions/A/Security  Reason: Incompatible library version: Security requires version 9.0.0 or later, but libsqlite3.dylib provides version 1.0.0

This is a known issue in Firefox. See https://bugzilla.mozilla.org/show_bug.cgi?id=513747

The workaround is to change the Browser config to use firefox-bin rather than firefox. See below.


Ehcache welcomes Grails as a first-class supported framework

Wednesday, December 9th, 2009

The Ehcache project is happy to welcome Grails to the fold. The new Grails 1.2RC1 uses Ehcache as the default Hibernate second level cache. We worked with the Grails community to test Ehcache with Grails to ensure a good developer experience. As part of that we have added a new Grails Chapter to the Ehcache documentation on how to configure Ehcache for Grails, including production tuning.

We plan further enhancements to Ehcache to roll in the Terracotta Hibernate provider so that Grails users can experience the Terracotta Scale Continuum by simply making config changes in ehcache.xml.

Note that earlier versions of Grails also ship with the Ehcache library and it very quick and easy to configure it. See the documentation.

What is d7073c02eca990a65c2c4c911fe33b20?

Tuesday, August 18th, 2009

As many of you have guessed d7073c02eca990a65c2c4c911fe33b20 is an MD5 hash. It is actually a hash of a zip archive of documentation for the acquisition by Terracotta Inc. of Ehcache. Adding an MD5 hash into a contract caused the lawyers some angst. They hadn’t seen it before and were naturally reluctant to include it.

The MD5 went through multiple revisions but the final hash is the one I blogged and tweeted. My new colleagues at Terracotta got in on the fun and also started blogging and twittering. We then watched the fun unfold on the blogosphere and twittersphere as people searched for what is obviously a unique string and looked for the patterns.

The prize goes to Matt Raible for getting closest to the correct answer.

What is Happening

Terracotta Inc. is acquiring Ehcache. On one side we have a late stage startup and on the other an open source project. So what does that mean? It means the copyright notices in Ehcache source code change to Terracotta Inc, I join Terracotta, and we get on it. The status of the many contributors to Ehcache who have licensed their code to the Ehcache project remains unchanged.

Why is it Happening?

The timing of this is perfect for both Ehcache and Terracotta. Reflecting on it with Amit Pandey, CEO and Ari Zilka, CTO of Terracotta Inc, we realised that this would not have happened a year ago and may not have happened a year from now. Ehcache and Terracotta have been cooperating for the last two years since I agreed with them at JavaOne 2007 to do an integration. To me distributed caching was a hard problem and I have invited all comers to solve it. We now have four mechanisms: RMI, JGroups, JMS and Terracotta. The Terracotta integration provides coherence, massive scale and visibility. The integration has been so successul that fully 50% of Terracotta’s customers use Terracotta via Ehcache. This presented both an opportunity and a challenge for Terracotta. Fortunately for the Ehcache community, Terracotta have taken the opportunity to acquire Ehcache.

What about open source

Ehcache is a project committed to open source goals. Bottom up construction with the community driving innovation. As anyone who has submitted a bug report or patch to Ehcache knows, I seriously consider every contribution and incorporate most of them – all with a maniacal attention to detail and quality. Ehcache has always followed the benevolent dictator open source model. Commit access is closely guarded but contributions are welcome.

What stands behind my approach to Ehcache and other open source projects I maintain is my open source philosophy: “Simply and naively, why not make the world a better place?”. It is entirely possible to do well and help others at the same time.

News flash: Terracotta is also an open source company. The difference is they have a business model.

I also think there is a consolidation going on in distributed caching. Ehcache has been on the winning end of that, and now with Terracotta’s help, we will jointly strive to continue that past success.

What this means for Ehcache Users

  1. Ehcache remains under the Apache 2 license
  2. New feature development is accelerated with the addition of a team of engineers working full-time on Ehcache
  3. I am full-time on Ehcache. I have not had the time I would have liked to devote to Ehcache (I have been doing a miserly 10-15 hours per week for the past 6 years) but now I do. Look out!
  4. Ehcache extends its standards support. There are multiple emerging standards in this area and I plan to work with the community to lead further standardisation efforts. A lack of time has been my biggest obstacle in doing more on this to date.
  5. Ehcache gets new hosting at ehcache.org with
    state-of-the-art forums, source control and bug reporting. The changes will happen slowly and carefully.

  6. File release at sourceforge.net is retained
  7. Maven deployment to oss.sonatype.org and Maven Central is retained.
  8. Distributed caching via Terracotta is seamless. Ehcache users can have full confidence that they can start single node and scale as high as they need to with Enterprise features.
  9. Enterprise support, training and professional services for Ehcache. I have provided these for a few years now, but now we will have the full Terracotta organisation behind them with the usual SLAs.

What this means for Terracotta Users

  1. Ehcache APIs will replace Terracotta distributed cache APIs as a single caching interface / standard for Terracotta distributed caching
  2. a single-node version of Terracotta ala Ehcache will be available for the first time
  3. Full freedom to run on the latest version of Ehcache at all times, knowing it will work with Terracotta
  4. Single vendor support structure for caching interfaces / libraries as well as their scalability / reliability runtime.
  5. the investment protection of standards

More

See Terracotta’s news announcement for more detail.

Terracotta founder and CTO Ari Zilka has a blog post on the acquisition. He explains the same material from a Terracotta viewpoint and gives insight into the product roadmap.

At last, the important stuff

The Terracotta – Ehcache blend is a natural one that works. What has really been occupying my attention the last week is deciding pronunciation issues. Anyone who has attended my JavaOne sessions knows that I pronounce Ehcache as “ee h kay sh“. Alternative pronunciations in use are “eh cash” (USA) and “eh kay sh” (Canada and Atlassian). Given that Ehcache is going to be around for a long while and I am the founder let me state that the official pronunciation is “ee h kay sh“. Now let’s get on with it.

The Role of Caching in Large Scale Architecture

Tuesday, June 16th, 2009

I just published an article on The Role of Caching in Large Scale Architecture on DZone.

Scala example for accessing Ehcache Server

Tuesday, January 20th, 2009

A few months ago I was chatting to Brad Clow about the new Ehcache Server. I asked him for an example with Scala. Anyway he just got back to me with what is the smallest program yet for accessing RESTful Ehcache Server.
In a file named ExampleScalaGet.scala:

import java.net.URL
import scala.io.Source.fromInputStream
object ExampleScalaGet extends Application {
val url = new URL("http://localhost:8080/ehcache/rest/sampleCache2/2")
fromInputStream(url.openStream).getLines.foreach(print)
}

run it with:
scala -e ExampleScalaGet
The program outputs:

Say goodnight,
Gracie.

Goodnight,
Gracie.


If you are on a Mac the easiest way to get scale installed is “sudo port install scala”.
The Scala program ways in at 6 lines. Now, let’s compare it’s tersity with the other languages, all doing a GET and printing the result (See http://ehcache.sourceforge.net/documentation/cache_server.html for the examples). Whitespace lines are not included.
Scala 6 lines, using java.net.URL

PHP 6 lines, using curl lib

Python 3 lines, using urllib2

Ruby 6 lines, using open-uri

Java 19 lines, using java.net.HttpUrlConnection, which does a few things before it gives the InputStream as used in the Scala example.

Thanks to Brad for rounding out the examples.
Scala looks very interesting.
Comparing it with the others:
Brad has also blogged about his Scala example here: http://bradclow.blogspot.com/2009/01/scala-example-for-accessing-ehcache.html

Exit Reality is in a Different Reality – Windows Only

Thursday, September 18th, 2008

I thought we saw the end of this nonsense years ago. But no.
Exit Reality is Windows only. If you are on a Mac, http://q.exitreality.com/relaunch.html will tell you
“Mac users are able to experience full hardware accelerated 3D by running Windows with either:
(using OpenGL) or BootCamp (using Direct3D)”
In other words, Mac users should run Windows!
Insultingly, they then go on to say on their “Platform page”
“ExitReality 3D platform has been built in open standards and complies with International Standards Organisation regulations (ISO) and W3C. It is a free 3D platform that anyone can use to set up their own virtual world on their website.
The ExitReality 3D platform has been developed for all internet users. Any web page can be viewed and interacted with in 3D, and anyone can create their own virtual world using ExitReality.”
Any platform means Windows and anyone means a Windows user. I can only say they are in a Different Reality.
I haven’t been this annoyed for years. Almost enough to lodge a False and Misleading Advertising Complaint with the ACCC.

Customer Snapshot: Wotif.com

Thursday, August 14th, 2008

Wotif.com are using quite a lot of open source software from Sun. This has been written up in a new Customer Snapshot.

cvs unknown host error

Wednesday, May 7th, 2008

I am getting a but rusty on cvs. I went to run cvs up on a project and got “unknown host error”.
A google search did not yield anything useful.
Playing around with it, my problem was that the host was not added to ssh’s known hosts. I sshed to the host and accepted it into known hosts.
Then cvs worked fine.

Jonathan Schwartz on open source

Tuesday, May 8th, 2007

Jonathan Schwartz on open source

(Comments from the NetBeans session)

We have been held captive by the Java developers. The future is about reaching out to people without deep expertise.

The number of people passionate about open source licenses far outweighs those who have actually read them. Everyone is a lawyer now.

If I post a hit video to YouTube, someone else is monetising my free content. Something is wrong with that (Me: There is definitely a theme developing with all of these hints about compensating those who create software or content for free. So Sun is not only open sourcing all of their stuff, but paying others for their open source stuff. Wow).

Community One 2007 General Session: Tim O’Reilly, Ian Murdock and others

Tuesday, May 8th, 2007

What is Web 3.0 likely to be?
(my question)

Tim O’Reilly “Meaningless. Most transformative when we stop typing. 411 services Google, gestural interfaces. Each cell phone with an
intertial sensor. Instrumentation of people. Insurance based on GPS. Computers learn from us by what we do in our interactions
in the daily world.”

Tim Bray “Essentially unpredictable. e.g. Twitter. Don’t know but really exciting.”

Other Statments

Ian Murdock “A layer of abstraction is great until you really need to know what is going on underneath it”

Tim O’Reilly “Proprietary databases are the competitive advantage of the future. Critical mass of buyers and sellers made ebay a lock in. No one can touch it. All of the mapping
sites still use NavTeq.”

Tim O’Reilly “Google Competing to give you the result in line, rather than passing you off to another site. Google are starting to compete with their own users.”

Rich Green “Value of a platform is the ratio of the lines of code you write compared to the lines of code in the platform. Web 2.0 has that. What is the Web 2.75 Petstore?”

Tim O’Reilly “Web 1.5 was the Dot.com crash.”

Rich Green “Bill Joy. Where ever you work, most of the smart people are elsewhere”.

Tim O’Reilly “The architecture of participation”.

Rich Green “Scoop up the open source work of others and monetise it. Sun are looking at paying people.”

Tim O’Reilly “Horatio Alger said “Go west young man. You have to find something new.”

Tim O’Reilly “We are coming to the end of cheap outsourcing. Indian outsourcers seeing only 3-4 years of having a wage advantage.”

Tim O’Reilly “Users do their thing out of their own self-interest. “

Tim Bray “You can make money from the long tail but may be not in the long tail.” and Tim O’Reilly “Each long tail is attached to a very big dog”