venerdì 23 novembre 2007

File a bug to Apple: add Java 6 to Mac OS X

Henry Story had a great idea. 

Let's file a bug to Apple asking for Java 6 on Mac OS X, and remember to add this string 13949712720901ForOSX to your blog tags, so Apple will easily track how many people needs an official Java6 for OSX.

In the meantime, thanks to Landon Fuller, we have this.

mercoledì 14 novembre 2007

Javaday è qui!

Il secondo Javaday è qui. Non mancate, io sarò presente con un talk sul clustering di Terracotta. Anche se non vi frega nulla del transparent clustering, sarà comunque un'occasione per conoscersi più da vicino!

martedì 6 novembre 2007

Scarlet rules!

Scarlet is out!


The first public beta release of Scarlet is officially out!

Scarlet is a free, open source, clustering extension to Atlassian Jira. Scarlet answers to one of the Jira customer's frequently asked question: how to make an higly available Jira installation? How to make it scale?

This was definitely an insormontable issue until Sergio Bossa attacked the problem using one of the most interesting open source pieces of code available today, Terracotta DSO.

 The first reaction when you see Terracotta at work it's... jawdropping. The second is that you start to think at how many things you can do now with a better performance and/or with less headaches (ie without the app server). Believe me, it's amazing. And if you want to dig deep in terracotta, you'll also make good use of your deep knowledge of Doug Lea's Concurrent Programming and Brian Goetz Concurrency in practice, which is a good thing(tm) Main features:

  • fool-proof setup clustering solution
  • completely transparent: no new things to learn 
  • just plain old java objects with steroids!
Download Scarlet here and let us know what do you think. Ah, and did I mention that we will also be at Javapolis to meet you and describe our code in depth? Stay tuned.

venerdì 2 novembre 2007

Dtrace on Leopard

Leopard got what's considered to be the best debugging tool in the world, dtrace, coming directly from the Open Solaris kernel. Dtrace lets you probe your kernel in an unprecedented and dynamic way (ie, without recompiling.)

Here you can find the dtrace solaris guide if you want to delve deep in its syntax and probes.

Almost everyone (myself included) blogged or wrote about the Ruby dtrace probes being in Leopard, so I immediately tried a bunch of scripts to give them a run. Interestingly, you can find dtrace ruby examples right in the /Developer directory.

<rant>That probably means a shift in Apple developer support from Java to Ruby, which sounds a bit strange if you really think about that: how cool and useful could be a java 6 JVM with a lot of dtrace probes? Yep, I like Ruby. I like it a lot for fast object oriented scripting, I like the dynamic part, I like the Smalltalkness and whatever. But, seriously, java is THE platform to support. Come on. We are all waiting for exciting java news from you, Apple. </rant>

Well, let's go back in topic now.

sudo dtrace -s /Developer/Examples/Ruby/DTrace/print_calls.d

says that

dtrace: failed to compile script /Developer/Examples/Ruby/DTrace/print_calls.d: line 4: probe description ruby*:::function-entry does not match any probes

and infact with a simple grep

sudo dtrace -l | grep -i object-free

you can see that it doesn't show one the expected ruby probes.

So, are the Ruby dtraces probe really there or the Gold Master lost something?

<update> Ok, just found this a few minutes after publishing :).

Being dynamic, you should attach it to a running ruby interpreter. Can't still explain why the dtrace -l doesn't show the ruby probes...

sudo dtrace -s /Developer/Examples/Ruby/DTrace/print_memory_usage.d -p <pid> PID number</pid>