Missing Java 6 on Leopard – is sky really falling ?

2007/10/31

Since the big meow on Friday, lot of unhappy people had been talking and blogging about how terrible and unacceptable is the absence of the Java 6 from the Leopard. Some post were sounding very dramatic “I would not buy Mac if I only knew …” – which is a bit silly. The Leopard’s 300 new features were posted and touted and hyped for two weeks. Some of the “great” improvements were actually fairly modest improvements – so it was OBVIOUS that Java 6 is not going to be included because it would definitely make the list. QED.

So what happened since Friday October 26th that made an extremly popular Java development platform (Mac) suddenly so awfully inadequate and such a bad choice ? I mean – when you were reading the Java related blogs during last year, majority of the screenshots from Netbeans or Eclipse were coming from the good looking and polished Tiger UI. How come that it did not matter then that it did only run Java 5 and in even lower version ?

I agree that it would be much better if Mac would contain the Java 6 and that Apple should do much better job in outlining the plans and the roadmap for supporting new Java versions. But is it really such a big deal if we have to wait few more months ? Not from my point of view – which may be shared with some more developers in enterprise world. The thing is that industry does not move as quickly as we developers do and like. Many of our clients are still on 1.4, some even on 1.3 version – and have no rush to move up. Nobody from them is really asking for Java 6, the upgrades are being performed to Java 5 in the best case. There must be a really good business case to justify the upgrade – because you cannot just recompile server side application from Java 1.3 to Java 5 or 6. Not in real world of J2EE.

Should the transition be between Java 1.4 and Java 5 and should we be prevented to use Java 5 – yes, that would be a big deal. Language enhancements between these two releases were very important from developer’s point of view. Java 5 was a great upgrade, similar in scope to jump from C# 1.0 to 2.0. But the upgrade to version 6 is much less dramatic. There are performance gains and optimizations – yes, but in most cases Java 5 or even 1.4 is fast enough, so unless you have performance issue this is not the key. It has better interoperability between .NET and Java web services – if you are in heterogeneous environment, these may come handy. There are also many improvements in version 6 that will make developer’s life easier (debugging enhancements, scripting and dynamic languages) but from application’s business owner’s point of view these are not really that important, certainly not showstoppers or must have’s. Many of these can be achieved either using tools or enhancements outside of the JDK.

It is sad that Java does not seem to be a top priority for Apple – but delivering major software creation is always a juggling act between time and resources available and final featureset – as we have seen in 5 years delay of the other major OS with same story of silent dropping of features. What makes it harder to digest for Java developers is that Apple seemingly did not have enough resources and enough time to finish Java 6 for Leopard release – even one year later after it was available on other platforms – and to add insult to injury, there somehow was time enough and resources available to get in much more recent advancements from some competitive technologies – such as Ruby on Rails.

I think that – as often before – the general perception is influenced by the loudest unhappy voices, while the more reasonable are not so articulate and less notable. I believe there will be several major Leopard updates coming in next few months – like fixing the bugs and adding read/write to ZFS functionality (which is to certain degree available now) – and hope that one of these updates will bring Java 6. In the mean time, I will happily use Java 5 knowing that it can do everything my Java projects need.

Lack of Java 6 on one of the three major client platforms can be seen from two angles: you can say “I am not going to use OS X because it does not have Java 6”. Or you can say “I am not going to use Java 6 until it is available on all major platforms”.

Or you can play an optimist and try to find something positive in lack of Java 6 on Leopard: we all know that SDK for iPhone /iPod touch is coming in February 2008. One of the reasons why the SDK is delayed is security concerns – Steve Jobs said the company is trying to do two things at once — provide an open platform to developers while protecting iPhone users from viruses, Trojans and other malware. Hmmm – does not this sound like providing a sandbox – something that Java is excellent at ? Is it too good to be true that delay of Java 6 may be a good news ?


Ordered a Macbook Pro

2007/10/28

I have to confess, I did it :-). But no, I did NOT do it right away after Friday 6PM when Leopard became publically available. I managed to wait for whole 5 hours… partly because I was not sure whether the 6PM is local time or Cupertino time – and partly because the Apple store was stubbornly saying that my MBPro would ship with Tiger. At about 10:30 there was a “sticker” saying that all new Macs will be shipped with Leopard … and after that, you have to agree I had no choice ….

I have also purchased the Apple Developer’s Connection select subscription – aka ADC. It is sort of MSDN for OS-X platform, giving you access to interim release. It was cheaper than MSDN, but frankly – MSDN contains by order of magnitude more software therefore it is not a fair comparison. Some people I know would say it is not a fair comparison when it comes to quality of the software – but this is up to everyone to decide for himself. Unlike MSDN the ADC gives you discount for hardware purchase which in case of MacBook Pro paid for the ADC itself plus over $100 savings. The more you spend the more you save ….

I expect the Macbook Pro to arrive in 6-10 days. It is going to be my main mobile workstation, serving all Java and Ruby development needs directly – and (should there be any need) using either a remote desktop or running Windows in a virtual machine for .NET development. I have still not decided whether I will upgrade Parallels or buy VMWare Fusion. On one hand, Parallels did not impress me with their upgrade policy and reviews I have seen show that Fusion performs better – but my experience from using VMServer on Windows and running Linux inside showed pretty unimpressive user interface speed – much worse that VMWare player and close to unusable. I guess first hand experience is required to see how does Linux and Windows behave in VM under Leopard …


Great solution for offsite backup

2007/10/25

I have been using it for over half year now and was very happy with it. After I did today hear Steve Gibson mentioning (and recommending) it on Security Now!, I want to share my experience and add my vote of confidence.

The solution is Amazon S3 service (Simple Storage Service), fantastically affordable system to store your data securely on-line. You pay as you go – the size is unlimited and you are charged only for what you store and bandwidth you consume. Fantastically affordable means 15 cents for gigabyte-month storage and 10 cents for gigabyte transfer in / 18 cents for transfer out which will drop to 13 cents if you use it more. This means that to store my approximately 30 GB collection of pictures I need to upload them first (for $3) and then pay $4.50 monthly for storage – plus the download traffic. But of course, I am not using it for the images because I really need and like the nice album user interface which SmugMug provides. But to archive documents – this is just the perfect solution.

The S3 is focusing on developers and the service is accessible via Web service. You can choose from many available implementations for their API – in Java, Python, Perl, C#, VB, Ruby – you name it. For non programmers, there are client tools available that completely abstract the storage access and make the S3 appear as just another drive. From many clients avialable, I have selected (as well as Steve and Leo did) the Jungledisk. Unlike some other services that are trying to stand between you and your storage, take over not only data flow but more importantly money flow (and often charge fat premium), the good guys at Jungledisk just want to sell you the client and let you pay directly only Amazon fees to Amazon. The price for the client is just $20 – it is no-brainer. For this price you will get client version for all three major platforms (Mac, Linux, Windows) as well as source code of the “engine” part of the solution – in case you want to access same data through UI or programmatically.

After installation, the S3 will appear as another disc under windows or network volume on OS-X (I did not try Linux – yet). Jungledisk contains scheduler and can do automatic backup of defined parts of your disc to S3 – or you can use it for manual backup, as a very reliable and somehow slower external disc.

The big issue with remote storage of sensitive documents is security: can you really trust with your precious data to a third party (even if that part is Amazon) ? I think this is up to anyone to decide – but the S3 comes pretty close to my definition of secure-enough system and Jungledisk plays along very nicely. All traffic between you and Amazon is of course encrypted (SSL) and your data is stored as encrypted as well, by default using a private key that Amazon provides you. This allows key recovery – but also allows (in theory) that someone on Amazon side could read your files. If you want however, you can generate your own key pair and use it to encrypt the data – and all you need to do is properly configure your client Jungledisk. Or if you are really paranoid you can encrypt your data even before they even get to Jungledisk and Amazon – if you want to exchange convenience and easy of use for more security. In the last two cases, nobody on the earth will be able to read your files – but if you loose your key, you will need few million years to break it :-).

Give S3/JungleDisk a try – you may like it too …
PS: If you are curious about performance and want more than my subjective feeling of “very reasonble” – read this.

PPS: The Smugmug actually *is* running on Amazon s3 – but because they use hundreds of terrabytes of space, obviously were able to get the storage for a wholesale price. The $59.95 / year membership of Smugmug would buy you on S3 about 15-25 GB storage and reasonable usage. As most people have less than 15 GB images, the Smugmug can actually make some money and employ really talented designers.


Good way how to improve your English

2007/10/23

Audiobooks and podcasts can be an excellent way how improve your vocabulary and improve your English. If you are suffering of “written English only” syndrome, this may be an excellent remedy.

What is that funny syndrome ? Many people from information technology (including myself) actually had to learn English twice. During the late teens and university we managed to get reasonable command of written English, so that we could (and did) read the books. Mostly about computers, of course. With that, we managed to build decent vocabulary of words which we knew ONLY in written form, and for many of them have absolutely no idea how this could be pronounced. This had two consequences: we had hard time to recognize the word when we heard for the first time pronounced the way how it should be pronounced – and – which is even worse – often our own audio rendering was be a big surprise to native anglophones 🙂 …

During second learning of the language, we eventually learned to recognize most of the words in spoken form and connected the two presentations – visual with spoken. What many people do to make this process faster – and what I did – is to use unabridged audio version of the book and follow along in printed book. Very efficient. You get printed copy of the book and as you listen, you can underline the words that you do not know or find worthy of of getting back to. If you are lazy enough, you can often pick a good translation of the book and look up how did the professional translator translate the word or the phrase.

Because the spoken language is quite different from the language used in books, these two sets of words will never be quite matching. There is however a good common ground between living, spoken language and the technical vocabulary of the books. It is podcast. If you had a written transcription of the podcast, you could do exactly the same thing as with audiobook. Indeed very few podcast have the transcription, because it is quite time consuming and most podcasters are barely covering the cost of producing the audio, but there is an excellent podcast that does have it: Security Now!.

And it not only has a transcription, it an excellent one – almost perfect to the word. You can even choose the format of the text: html, pdf or pure text. You can even reading from Steve’s web site and listen to the audio from the same site, all courtesy of GRC.com.

So if you are one of us not born in an English speaking country and want to impruv yer Engrish – go and grab the podcast, the transcript and follow along. There is nothing to loose – the only risk is that you may become very security conscious up to slightly paranoid – which may not be a bad strategy for living on-line 🙂

And if you like the podcast or learn anything from Steve and Leo – whether in area of English or computers, look at Steve’s product for hard drive maintenance – Spinrite – which pays his bills and makes producing that great podcast possible.


Book review: The Dip

2007/10/21

Subtitled “A little book that teaches you when to quit and when to stick” by Seth Godin.

So what is the dip ? It is the strange valley after you start with something, causing that after initial quick success you will get worse before you can get better. Obstacles that you either overcome – or you quit. Seth explains that these obstacles are there for a reason – they separate those who want something badly enough from those who do not. We know them in various forms. Back at the university, the first 2 years packed with math were the dip. Very little of the math we have had to learn was actually really necessary – other that learn you how to think, how to study and in addition to that, separate those who really wants to have that Computer Science degree strong enough.

Graphical rendering of the dip can look like this:

The Dip

Dip is the division between the amateur photographer and a pro, between the a coder that can write a Excel macro or a quick applescript to the guy who can write the whole system. It requires different skills, different tools and in process of acquiring them, you will experience pain and difficulties. I am still in the dip with Ruby and Rails – after initial excitement with “wow this was fast” now comes “how do I achieve this ? I can do it in J2EE and ASP.NET, but what would be the true Ruby/Rails way ?”.

The dip is not the only curve Seth is explaining. It is one of three “evolution scenarios” in pretty much any new venture: a job, school. The other two is flat curve of cul-de-sac, dead-end and the cliff – line going up to the breakpoint and then going down. With respect to quitting, there is a good point when to quit each curve: the flatline any time – the sooner the better, because it is just waste of time to stay and the cliff – any time before the breakpoint (after which is too late).

The book is not about the later two curves – it is about the dip. Seth describes various types of dips – in sales, manufacturing, education, relationships and impact of quitting in various phases. But the crucial question is when and where is it good idea to quit, what does it mean quitting and why quitting and failure can be different.

The old proverb says that “Winners never quit and quitters never win”. Seth Godin challenges this and explains which is right time to quit and right time to stick. His advice makes sense – as you know, those who never win and never quit are idiots :-).

The Dip is a very short book and has excellent content to length ratio, very little deja-moo that so often fills the business strategy books. Recommended.


Book mini-review: Breaking Windows

2007/10/20

I’ve spent lot of time today reading. I am catching up with my reading stack. Between stuff I’ve finished was: Breaking Windows : How Bill Gates Fumbled the Future of Microsoft

The impression ? Mixed feelings. Maybe I’ve expected something different. Lot’s of details on internal politics and inner fights, not too flattering portrait of Bill G as control obsessed person with very questionable interpersonal skills. From technology perspective, very little what was both interesting and new. I can hardly tell how close to reality are the facts presented, but I often disagreed with the conclusion and analytics. Overall, it was probably worth the time spent on the book – the more you are into politics and relations, the more you may like it. If you are (as I was) expecting a view from more technology side and other stuff that matters, get another book.

Scary part was realization how every freaking email anybody ever wrote could be (and in fact, it indeed was) digged out and used to put its author into a fairly uncomfortable situation ! One should be very careful what one writes into an email, blog or even newsgroup … It does not matter that you later fix it, change it or even delete it. Google and other search engines will find it before, cache and store it for eternity …


iPod Touch eBooks reader – problem solved

2007/10/18

As I noticed on Apple Website, the SDK for developing 3rd party applications for iPhone/Touch will be available in February. This solves the biggest problem – offline reading – because with SDK, storing a downloaded copy will be trivial. It also will most likely fix the annoying lack of updatability of calendar and add few more interesting apps.

It is only matter of time until the other eBook formats will be be readable on iPod – such as CHM or PalmDoc (non-DRM-ed version).

With only 8 days remaining to Leopard and this anouncement, it feels like Christmas is here early this year 🙂