Skip to main content

How would you like your Java? Sunny or Googly?

Whatever little bit I read about recently held JavaOne 2006, the biggest news undoubtedly was created by the man at the helm himself. Whole world (well almost complete Java Developer's community) waited with baited breath as Sun Microsystem's new CEO Jonathan Schwartz raised the issue about Java being open sourced and then left it open!

There are those who love its being open sourced, those who hate its being open sourced and those who simply don't care now and won't care about its getting open sourced till they come up against any compatibility issue or something that really makes using Java simpler or better or both (Imagine an integrated AJAX-like API in Java6.0!)

Apart from that the conference was buzzing loud (again this is what my RSS Feeds have told me!) with chatter about new Frameworks, Web 2.0 (O'Reilly please don't send me a legal notice for using that term!) and obviously AJAX. And due to all this 'new stuff' there was another question: Has J2EE become too old and bulky for Web Application Development? I can't answer that question but I would love to hear Rod Jhonson's take on that (I am very sure that he will find some arguementto blame EJBs for this!)

But for me as a developer, Google releasing their new API, Google Web Toolkit (GWT) for AJAX development in Java was the greatest news. Not only they have made AJAX development easier, but also opened this for many more developers worldwide who wanted to do AJAX but couldn't due to JavaScript being involved!

In past couple of years, Google has almost routinely come up with new Java APIs for developers. They started with Google WebService API, which was an instant hit and produced many applications with developers being able to access Google Database and simulate it's features. I am not very sure about who was the first to release Map API, Yahoo (their API is based on JavaScript and Flash) or Google (again JavaScript based). Then there is Google Desktop API for creating desktop applications, mainly search and indexing tools. A few weeks ago Google released Google Sitemaps, an API for submitting your URL to Google and it involves creating sitemap for a site. And now this GWT.

I think Google is playing well. They don't have a reputation in OpenSource arena and hence need not be bothered about not being sufficiently 'open' and that's pretty understandable as well. And on the same note by giving the Java Community these APIs to play with they position themselves as a 'friendly' company. You might even say that they are sufficiently open, as much as they could!

Lately most of the companies have started following this route. Microsoft wants you to develop your own widgets to be used with Live.com and Yahoo has a really interesting Yahoo Developer Network (even for PHP Developers!)

So amateurs like me can tweak around with these biggies and create something amusing! Who cares if Java is open source or not!

Comments

Popular posts from this blog

File upload problem: UTF-8 encoding not honored when form has multipart/form-data

The problem that I was facing was something like this. I was using Apache Commons File Upload library to upload and download some file.

I had a form in which user can upload a file and another field 'name' in which she can give any name to the file being loaded.


When I submitted the form, the file was uploaded fine but the value in name field was garbled. I followed all the possible suggestions I found:

<%@page pageEncoding="UTF-8"%> set. <%@page contentType="text/html;charset=UTF-8"%gt; set after the first directive. <meta equiv="Content-Type" content="text/html;charset=UTF-8"> in the head. enctype="multipart/form-data" attribute in the form. accept-charset="UTF-8" attribute in the form.
in the Servlet:
before doing any operations on request object: request.setCharacterEncoding("UTF-8"); For accessing the value

FileItem item = (FileItem) iter.next();

if (item.isFormField()) {

//For regular…

How to upload to Google Cloud Storage buckets using CURL

Signed URLs are pretty nifty feature given by Google Cloud Platform to let anyone access your cloud storage (bucket or any file in the bucket) without need to sign in.

Official documentation gives step by step details as to how to read/write to the bucket using gsutil or through a program. This article will tell you how to upload a file to the bucket using curl so that any client which doesn't have cloud SDK installed can do this using a simple script. This command creates a signed PUT URL for your bucket. gsutil signurl -c 'text/plain' -m PUT serviceAccount.json gs://test_bucket_location
Here is my URL:
https://storage.googleapis.com/test_sl?GoogleAccessId=my-project-id@appspot.gserviceaccount.com&Expires=1490266627&Signature=UfKBNHWtjLKSBEcUQUKDeQtSQV6YCleE9hGG%2BCxVEjDOmkDxwkC%2BPtEg63pjDBHyKhVOnhspP1%2FAVSr%2B%2Fty8Ps7MSQ0lM2YHkbPeqjTiUcAfsbdcuXUMbe3p8FysRUFMe2dSikehBJWtbYtjb%2BNCw3L09c7fLFyAoJafIcnoIz7iJGP%2Br6gAUkSnZXgbVjr6wjN%2FIaudXIqAxyz4O6VU%2FIob8RHmf…

java.lang.IllegalArgumentException: Malformed \uxxxx encoding

I was getting this exception during build while running ant. Googling didn't help much and I was flummoxed because the same code was running fine till now.

My code reads a text file and does some operations on the basis of values read. It was only when I saw the text files I understood the error. I had copied the text in wordpad and saved it as .txt file. Wordpad had put lot of formatting information before and after the content. Also there was "\par" after every line, which was giving this error.

So moral of the story: if you get this exception check your properties file (or any other file that your code might be reading.)