Saturday, December 13, 2008

Bops, tree hugging, and safe wagers

Back in July I wrote about how Apache Harmony's TreeMap implementation had been used (with modifications) to deliver improvements in Sun's SPECjbb2005 score by "a solid 3-5% depending on the platform" according to Dave who also promised that they were "making the necessary steps to give back [the] code changes to Apache Harmony"; even though they are not obliged to do so according to the Apache License.

Did you expect us to sit and wait?!

IBM has just published its latest SPECjbb2005 scores with, amongst other things, an enhanced version of TreeMap from Harmony that gives them a 10% boost, and thereby move ahead in many reporting categories. Derek has all the details, and I encourage you to read them.

It would be interesting to look back and compare the changes Sun and IBM made to Harmony's TreeMap, and merge them for the common good.

While I'm sure Dave's intentions are pure, I doubt the suits will let him contribute his changes back to Apache and all the talk of "requiring innovation sharing in the commons" only applies in one direction. In fact, I'm so sure, that if Sun do successfully contribute their TreeMap changes back to Apache Harmony I promise to give £500 of my own hard-earned money to The Woodland Trust to benefit some real trees.

Friday, December 12, 2008

Debugging mixed-language code in Apache Harmony + Eclipse

I've been hacking in managed runtimes for more years than I'd care to mention, and plenty of that time has been spent in debuggers of one sort or another!

...and that's the point. Implementing a runtime requires that you have a suite of debuggers that cover the different target platform native code and the dynamic late-bound language du jour. You have to switch from Eclipse to WinDbg/gdb and back again frequently.

Intel's Software group have (for some unknown reason) been quite low key about their innovation in this space, with the development of an integrated debugger for Java and JNI environments. This advance has been enabled by the combination of support in the Eclipse Java Debug Tools and Apache Harmony runtime.

Now, as you step into a native method from Java, the Eclipse debugger shows a logical representation of the mixed Java thread / C thread stack frames and allows you to inspect variables etc. in either language. They also support the JNI methods that call back into Java so you get full roundtripping. Cool.

For most people who need to debug a system comprising Java and native code this is exactly what you want to do, and its a real time saver to be able to manage the breakpoints, variable watches and flow of control from a single IDE.

Kudos to Chris, Vasily, Gregory, Ilya, et al who made this work. Clearly people who live in the real world!

Go watch the screencast demo, download it and try it out!

Friday, November 14, 2008

EVP of software leaves Sun - that makes 6,001

Rich Green, the long time Executive Vice President of Software has quit Sun according to press reports about the new round of job cuts affecting 6,000 workers.

Seems that the Sun website was quick to notice, his webpage went offline almost immediately (but can still be found in the Google cache). I guess there is no love lost with the software guys and girls running the website ;-)

Not a good time to be made redundant (if ever there was). Good luck to all those smart people who will be out there in the market place now looking for new opportunities.

Tuesday, October 28, 2008

Sun get a visit from Uncle Sam

Things really are not looking too good at Sun right now.

The recent SEC filing shows that Southeastern Asset Management (a.k.a. Uncle "SAM") have spent $2,115,932,199 to bring their acquired stock of Sun up to 21% of the company's total outstanding shares.

The aggregate number and percentage of Securities to which this Schedule 13D relates is 160,566,828 shares of the common stock of the Issuer, constituting approximately 21.2% of the 757,953,410 shares outstanding.
But Uncle Sam is no sugar daddy. He wants to move in for a while and "help" Sun to manage the company...
As the result of investment analysis or the occurrence of events, Southeastern may desire to participate in discussions with the particular portfolio company's management or with third parties about significant matters in which Southeastern may suggest possible courses of action to assist in building corporate intrinsic value per share or to cause the Company's true economic value to be recognized. In such situations, Southeastern may elect to convert a filing on Schedule 13G to a filing on Schedule 13D in order to be more active in corporate governance and management matters, and to have the ability to enter into discussions with third parties concerning proposed corporate transactions of a significant nature.
Hmm - what do you read into the expressions "suggest possible courses of action", "be more active in corporate governance and management" and "enter into discussions with third parties concerning proposed transactions of a significant nature" ?? That in conjunction with news that co-founder Bechtolsheim has found new interests outside Sun points to some loss of control by the current management team.

This comes hot on the heels of Sun's preliminary results for 1Q09 in which, beyond the earnings warnings, there was the notice of imminent "goodwill impairment" which essentially means that the premium they paid on their acquisitions probably won't be earned back. Which acquisition(s) they overpaid for is a matter of debate. I expect the results call will be tough on Thursday.

We can only speculate about what Uncle Sam will think of Sun's software business, and the Java group in particular. Now it is open sourced it is hard to see how Sam will realize it's "intrinsic value" for Sun's shareholders. Let's hope Sam sees the value of freedom over no-cost -- and let's hope that Sun can turn things around in this period of global economic downturn.

Tuesday, September 23, 2008

T-Mobile G1 (tm) with Google (tm) with Harmony

The Press Release is out, and T-Mobile G1 is officially launched. I'm delighted that T-Mobile are making the platform available in the US and Europe simultaneously.

Of course, the real difference is that unlike some other 3G /WiFi feature phones you can buy today, Android is a truly open platform built with software available under the Apache License. This makes it a real contender for businesses to invest their effort and value and compete.

The core class libraries come from Apache Harmony -- the same source that IBM are using for its server class certified Java offerings [>], and Sun Microsystems are using in their performance release [>]. It's a testament to the innovation and flexibility embodied in the Harmony project that the code can span from mainframe zSeries machines to mobile phones.

Interesting that the selling points for the phone are the applications it runs and how well they are integrated and adapted to the mobile device. I believe it will give the young incumbent a run for its money -- and that is good news for the consumer.

Monday, September 22, 2008

Ubuntu - now with added fizz

It took me about two seconds to put Ubuntu on my laptop this morning :-)

This bottle caught my eye yesterday, so I had to buy it. I guess if you are looking for ways to shift large quantities of Fair Trade sugar, then selling cola has to be as good a way as any.

Now if Pepsi & Coke switched to Fair Trade sugar I bet that would make a difference to the growing economies far beyond the cola-nization of offering free umbrellas to advertise their wares.

Ubuntu : "I am because we are".

Posted by Picasa

Tuesday, August 19, 2008

The first honey crop!

Last weekend, after getting back from holiday, I took eight frames from the bee hive at home, and extracted the beautiful golden honey.

The bees have been doing a great job, and they are fascinating to watch and learn about. It's a little civilization in your backyard. There are little victories as you see bees laden with nectar and pollen return safely to the hive, and concerns as you see hornets and wasps trying to get in to seal the pupae and honey.

The honey we got is very light coloured. The bees are collecting from a variety of sources in our neighbourhood, and although I don't like honey I'm told it has a wonderful delicate flavour.

Here's a slideshow of the hive and honey. From eight frames we got about 23 lbs (~10kg) of honey and there are another thirty frames to go! Obviously way more honey than we'll ever be able to use.

Friday, July 25, 2008

Microsoft sponsors The Apache Software Foundation

At OSCON today, Microsoft announced that they are becoming a Platinum level sponsor of The Apache Software Foundation, joining the existing sponsors at that level, Google and Yahoo!

It's great to see Apache's no-nonsense, technology focused approach to open source being clearly recognized as a place where everyone can collaborate as equals.

Tuesday, July 08, 2008

A gift from me to you...

Earlier this year (and at the end of last year) the good folk of the Apache Harmony project did some work to improve the performance of a self-balancing tree data structure in Java called "TreeMap".

TreeMap is one of the data structures used in the SPEC performance benchmarks, so improvements there help to improve the overall benchmark score. This has been noticed by the good folk at Sun, and their latest performance build now includes a modified version of the Harmony TreeMap implementation.

It's good to see such reuse, and the commitment to "making the necessary steps to give back [the] code changes to Apache Harmony".

Tuesday, June 03, 2008


Last winter I took an course of evening classes at the local college in the ancient art and science of beekeeping. When I tell people, their usual reaction is "What made you want to do that?" There's no simple answer to that question.

You might expect me to say that I have been fascinated with bees since I was a kid, or something like that; but it was just one of those things that seemed like a cool idea. There's lots to learn about the husbandry of the bees, and surprisingly to me a lot to learn about the production of honey. So I joined the college course and local beekeeping association, read extensively on the subject, and built two hives. All I was missing were the bees.

My first colony has been stocked from a guy who had more bees than he needed. They came with adult bees, larvae, and eggs on established comb. The queen is marked and clipped. This colony are in the garden at home, in a great location by the back window. I can sit and watch the activity from the comfort of my armchair, and the kids have all had a turn coming out with me to inspect the hive and manage the bees.

The second colony is to be stocked from a swarm. I'm on the list to receive a swarm when members of the public report one -- so when people call the Police or Local Council to report a swarm of bees I'll go out and take them. Last Friday I went to collect a decent sized swarm, and went through the motions of hiving them. In the picture you can see the bees going up the ramp into the hive I have set-up near work. Unfortunately the bees took a dislike to the hive for some reason, and three days later they had decided to look elsewhere. So I'm back down to one colony and waiting for another phone call.

Two milestones for Apache Harmony

Apache Harmony recently passed two significant milestones.

Firstly, we published another in the series of stable, well-tested, and packaged builds of Harmony 5.0 code. The latest milestone build is 5.0 M6, and is available from the usual download page. This build has the usual raft of bug fixes and enhancements that means everyone should upgrade to the latest stable build.

Secondly, the Harmony community voted to accept a contribution of the microemulator code into the project. This is an exciting new venture for Harmony, as we expand our community into the Java ME arena. Microemulator is a pure Java implementation of Java ME written in terms of the Java SE APIs. It allows applications written as MIDlets (MIDP/CLDC) to run on the desktop as a standalone Java application, or as a web browser applet. It comes with tests and examples, and something intriguingly called 'microemu-android'. Go take a look.

[image courtesy of chelmsfordblue]

Thursday, March 27, 2008

Cleaner Harmony code, thanks to Microsoft!

Apache Harmony comprises well over half a million lines of native C/C++ code (in the class library natives, virtual machine, JIT compiler, memory manager, etc.) which we have organized to build across multiple platforms. One of our key development platforms is Microsoft Windows on x86 processors, and on that platform a number of us are using the Microsoft Visual C++ compiler from Visual Studio.

I have been using the compiler in Visual Studio .NET 2003 for the longest time, but we recently started receiving reports, on the Harmony developers' list, of compile time errors from people who have a later version of the compiler. We have fixed a few errors thanks to the bug reports people raised.

But I can fix them myself now thanks to Microsoft's port25 group who have graciously granted me, and a number of other people at the ASF, a no-cost subscription to Visual Studio Team Edition and MSDN Premiere. That's a license to 'all you can eat', and allows me to detect and fix more warnings in the Apache Harmony code. Expect the code to be buildable on more versions of the Microsoft compiler over the next few days.


Friday, February 08, 2008

A little less Harmony at JavaOne this year

"We regret to inform you that we will be unable to accept your proposal entitled ' Apache Harmony '."
Apache Harmony was established back in May 2005, and that year the JavaOne program committee graciously squeezed in a slot for Geir to explain the new "Sun-blessed-project".

Of course, things have changed a bit since then, with the establishment of Sun's own OpenJDK implementation project, and a certain amount of backpedaling on the JCK provision to Apache.

Over the last couple of years we have spoken at JavaOne about the contributions Apache received, and the advances in the project's capabilities. Last year we had a discussion of the project architecture and demoed some cool Swing based apps running quite happily on Apache Harmony. We are still making great progress with better than 99% Java SE API coverage, decent performance, and an innovative modular structure that allows Harmony code to be used in IBM Java 6.0, Google Android, and so on.

But it appears there is no longer any appetite for the Java community to hear about the rationale, progress, and achievements of an alternative implementation when attending SunJavaOne 2008 -- even though we've always played nicely <shrug/>.

Monday, February 04, 2008

Meet God. He's the guy in the white labcoat.

Just over a week ago, the American Association for the Advancement of Science published an article in Science magazine entitled "Complete Chemical Synthesis, Assembly, and Cloning of a Mycoplasma genitalium Genome". The article describes a new milestone in the goal to create life from its fundamental building blocks - Deoxyribonucleic acid (DNA).

This "synthesis, assembly, and cloning" work was undertaken by a team at the J. Craig Venter Institute in the USA. Together they assembled 582,970 DNA letters into an artificial chromosome that they (apparently) are now attempting to implant into a bacterial cell to produce a new life form.

To ensure the artificial life form is uniquely identifiable, the team deliberately sequenced watermarks into the DNA sequence. David Wheeler and Tao Tao examined the code and found these watermarks, which rather predictably included references to the designers' names and corporate affiliation.

Given their past history with patents, I'm assuming that the team will guard their creativity, by legally protecting the life form they invented. A number of reports have indicated that the team's ultimate goal is to produce bacteria that will provide a new biofuel source, or that will consume CO2 from the atmosphere to address global warming, and such like. If so, they stand on the cusp of a significant new industry with the potential to create phenomenal wealth, political and social influence, on a scale that has never been seen before.

The question invariably arises about whether this research is something that should be legislated. However, science moves much quicker than legislators, and science has far broader boundaries than the legislators' jurisdiction. You only have to look at the legal challenges around cloning and embryology to see that laws passed just 12 years ago in the UK are inadequate to deal with the latest advancements in the science. It is futile to depend upon specific written laws to police the scientists, instead we rely upon moral influence, communication, and community reaction.

And therein lies the problem, and the opportunity. Nobody asked the industrialists in the industrial revolution to stop inventing and advancing the state of the art in their field of endeavor. Nobody can bring legislation to dictate how people will choose to use the power of their computers and the Internet. We rely upon the wisdom of the masses to move towards those technologies that improve the world for the majority of the population. I expect that there will be a widening gap between "those that have" and "those that have not". It is everyone's duty to ensure that such a gap is minimized, by sharing knowledge and power equitably.

In the end, the news of Mycoplasma genitalium was overshadowed by the uncovering of a 4.9 billion euro fraud at the same time in French bank Societe Generale. At least for the moment, the God people seem to still care about can be carried in your back pocket.