indiWiz.com

Subhash's Tech Log

Linux: Diff between two folders

without comments

To find the files which are in one and not in the other:

$ diff -r folder1/ folder2/

To find the file content differences:

$ diff -r -N folder1/ folder2/

Written by Subhash Chandran

November 15th, 2009 at 10:40 am

Posted in Linux

Tagged with ,

Google’s brand new language: Go

without comments

Google’s OpenSource blog announces a brand new language: Go. No, it is not a language running in the JVM. Reading the installation doc, it is understood that Go compilers support two OSes: Linux and Mac. By the way, did I mention the blog post announcing the language has signatures including Rob Pike and Ken Thompson?

Written by Subhash Chandran

November 12th, 2009 at 10:38 am

Posted in news

Tagged with ,

SUN’s Zembly closing down!

without comments

This is the mail I received:

We regret to inform you that on November 30th, 2009 we will
be suspending the zembly service.

More than three years ago, we started this project with
the goal of making it easy to create next-generation Web
apps. Our original tagline was "Build the web, using the web,"
and the ideas we were incubating around platform-mediated Web
applications, Web API mashups, and social programming were
brand new.

We learned a lot along the way. Your confidence and enthusiasm
helped us improve the project and do amazing things that we
never imagined when we began this journey.

Thank you to everyone who's been with us through the ups
and downs. It's heartening to see that many of the best ideas
pioneered in zembly have started to appear elsewhere. With your
support, we're proud to have contributed to the DNA of the Web.

For more information about the zembly suspension, please refer
to the FAQ section at http://zembly.com

Finally, if you have questions, please contact us at
zembly-support@sun.com

All the best,

-- The zembly team
Sun Microsystems, Inc.
4150 Network Circle
Santa Clara, CA 95054

I liked Zembly when SUN first started it. It was damn easy to create mashups. But unfortunately, like SUN’s other products and services, I knew Zembly was sucking SUN’s money with no business model.

Written by Subhash Chandran

November 10th, 2009 at 10:32 am

Posted in news

Tagged with ,

Google Cache View Bookmarklet

without comments

Written by Subhash Chandran

November 9th, 2009 at 8:29 pm

Posted in Uncategorized

Tagged with , ,

Diomede Cloud Storage

with one comment

I use Amazon S3 for delivering content and as backup. Today I was introduced to an improvisation to the cloud storage model (offered by DiomedeStorage): demarcating the storage into different types:

  1. Online: The content is available immediately on request.
  2. Nearline: The content is made available within 5 minutes of request.
  3. Offline: The content is made available within 4 hours of request.

Advantage?

When you are storing content primarly for backup, you don’t need the backup system to be online. Files such as these can be moved to a disk which is later powered off: this benefits huge cost saving and is a greener approach.

Due to this innovative model, DiomedeStorage is able to offer services which are fraction of the cost of S3. Beautiful innovation :-)

Written by Subhash Chandran

October 28th, 2009 at 5:49 pm

Posted in Innovation

Tagged with ,

OpenSource Collaborative Text Editor

without comments

I was reading the book Beautiful Teams. There is an essay by Cory Doctorow titled The Copyfighters Take Mordor. In this essay Doctorow recounts how a set of sparsely-funded freedom-loving individuals fight the might of Corporate funded copyright groups from passing a new international law to curb freedom in the UN. If freedom-fighters had not succeeded, the present world would have been different. Even distribution and editing of Creative Common licensed media work would be controlled by the broadcaster (even if the author of the digital work gave permission otherwise). Thankfully the freedom-fighters won!

The hightlight of this fight is a tool. The tool is a collaborative text editor for the Mac called SubEthaEdit. During the boring and tedious meetings in the UN where the Corporates were selling their idea, our own set of free-individuals recorded the transcript, collaboratively-edited (using SubEthaEdit) and posted the information for the world to see in various blogs. This had caught the attention of the world, and now, the world is a better place.

SubEthaEdit interested me. I wanted to try it. Unfortunately, SubEthaEdit is available only for Mac. I was disappointed. Then I searched for OpenSource alternatives. This lead me to Gobby. Gobby is a GTK+ application which can run in Linux, Mac and Windows. For example, in Ubuntu I installed it thus:

$ sudo apt-get install gobby

Gobby is cool. Checkout some of the screenshots I took. Gobby could prove to be a powerful tool for code-review and collaborative document editing/review.

Written by Subhash Chandran

October 26th, 2009 at 2:19 pm

Posted in OpenSource

Tagged with ,

The Alchemist review by Nubbytwiglet

without comments

The Alchemistby Paulo Coelho is one of my favorite books of all time. Today I dropped by a blog which I consider has the most beautiful review of the book. This particular blogger, Nubby, is also one of the finest designer and blogger in the blogsphere.

Written by Subhash Chandran

October 22nd, 2009 at 9:48 am

Posted in Books

Tagged with

IntelliJ IDEA OpenSourced :-)

without comments

IntelliJ IDEA 9.0 will be OpenSourced under Apache 1.0 License. There will be a fully-loaded commercial edition also available. Check out the feature differences between the Community Edition and Ultimate Edition.

Written by Subhash Chandran

October 19th, 2009 at 2:27 pm

Posted in Java

Guava Libraries from Google

without comments

Discovered from a blog post Apache Commons-like Java library from Google: Guava Libraries. Check out their presentation which briefs the functionality.

Written by Subhash Chandran

October 15th, 2009 at 2:05 pm

Posted in Java

Tagged with ,

New releases in Java space

without comments

There have been some prominent releases in the past few weeks:

Written by Subhash Chandran

October 13th, 2009 at 1:08 pm

Posted in Java,news

Tagged with ,

Processes over People

without comments

There is an amazing Dilbert cartoon which beautifully describe the pettiness of some bosses. These type of people believe more in processes and policies than on their people.

Written by Subhash Chandran

October 13th, 2009 at 12:53 pm

Posted in Uncategorized

Tagged with ,

Reduce Java boiler-plate code using Lombok

without comments

We all hate the verbocity of Java. We all hate getters and setters and toString and hashCode and equals. We also hate the lack of closure support for proper resource handling. Now you can still love your favorite language without doing these manual chores!

There is a fine OpenSource project, oddly named as Project Lombok which fixes the boiler plate code writing (or generation) using annotations. Beautifully designed, this is some thing which could save you lot of time. Checkout their video (available in the home page).

Written by Subhash Chandran

October 8th, 2009 at 12:55 pm

Posted in Java

Tagged with ,

My favorite UML tool… renamed.

without comments

My favorite UML tool, Jude UML (I use the free community edition) will be renamed to astah* UML. I don’t know why this difficult-to-remember and difficult-to-pronounce change in name for an established brand. The name change is scheduled on Oct. 19th.

Written by Subhash Chandran

October 5th, 2009 at 10:50 am

Posted in news

Tagged with , ,

Post Chrome Frame, fear seen in Mozilla!

without comments

It is interesting to see how people behave in a period of change. Some people embrace it, some go hysterical blabbering nonsense. Post release of Chrome Frame, one of the Mozilla’s top brass, Mitchell Baker, has taken the second route. Excerpting from her blog entry:

For many people Chrome Frame will make the web even more unknowable and confusing. Image you download Chrome Frame. You go to a website. What rendering engine do you end up using? That depends on the website now, not on you.

I don’t care! What I want is my page to render properly.

She continues:

And if you end up at a website that makes use of the Chrome Frame, the treatment of your passwords, security settings, personalization all the other things one sets in a browser is suddenly unknown.

The aim of Chrome Frame is just to change the rendering engine. Not replace IE’s personalization tools.

And the blabber continues to new hysterical levels:

Google is not the only website developer that would find this idea useful. Google is providing the set of features it believes are helpful for making powerful websites. Other websites will have browser features they would find useful for their applications. Imagine having the Google browser-within-a-browser for some sites, the Facebook browser-within-a-browser for Facebook Connect sites, the Apple variant for iTunes, the mobile-carrier variant for your mobile sites — all injected into a single piece of software the user thinks of as his or her “browser”. Each browser-within-a-browser variant will have its own feature set, its own quirks, and its own security problems.

Wow! I don’t understand what she is saying!!

And the classic case of fear: blabber about the architectural flaws:

For those not familiar with the ins-and-outs of browser architecture, you can think of a browser as having two essential parts. One part we humans don’t see — it’s the part that “speaks” computer languages and talks with web servers. This is often called the “platform” or the “rendering engine”. The other part is the set of things that human beings see and interact with, which is often called the “front-end” or the “application layer.”

She continues:

Chrome Frame breaks this connection by inserting a separate rendering engine into your browser, and allowing websites to determine which rendering engine you end up using. If you download Chrome Frame you see the basic front end of your previous browser, but websites cause your browser to toggle back and forth between the rendering engine of Chrome and the rendering engine of the browser you selected. The application layer of your browser and the platform part of your browser are no longer connected.

What if they are not connected? Why talk theory in a place where usability matters?

So guys, what does this mean? Fear! Of course!! Fear of (quoting Mitchell again):

Mozilla Firefox has reached some 300 million people, but hundreds of millions more continue to use the browser that came on the machine they bought, sometimes years ago. Google began offering its own browser — “Chrome” — a year or so ago, but this has yet to gain significant traction.

Fear of Google Chrome (and Chrome Frame) surpassing Firefox in usage. And fear of Google severing the financial lifeline of Mozilla Foundation (Google is the only big donor to the foundation).

On my part, I have removed Mitchell Baker from my feed. I thought her to be a inspirational person. But she turned out to be just another emotionally fluctuating person.

Long live Mozilla!

Written by Subhash Chandran

September 30th, 2009 at 10:28 am

Posted in Uncategorized

Tagged with , ,

Google Chrome Frame

with one comment

Google has pulled the rug out of Microsoft’s feet! In a totally fascinating move, Google released Google Chrome Frame, a IE plugin which brings in WebKit rendering inside IE. When using this IE plugin, the page rendering is done by WebKit and Google’s fast JavaScript parser V8. But the Cookies, Browser History and Stored Passwords are still managed by IE. This allows for seamless shifting between sites.

The best part is, from a Web Developer perspective, we have to just add the following inside the <head> section:

<meta http-equiv="X-UA-Compatible" content="chrome=1">

If Chrome Frame is installed in the browser rendering this page, then it is used by default. Cool!

Check out the Wikipedia IE8 page to understand more about X-UA-Compatible.

Amazing work Google :-)

Written by Subhash Chandran

September 25th, 2009 at 10:35 am

Posted in Uncategorized

Tagged with , , ,