Skip to main content

Posts

Showing posts from 2010

Google Maps Mobile 5.0 = Awesome

Just updated the fresh-out-the-oven Google Maps. 5.0. Simply Awesome. The 3d images of NYC buildings, tilting, rotating, much smoother zoom operations, and better offline support make it a highly recommended update

Beginning with Android.

Got a new Android? This is the first place you should be looking at these tutorials.

Online Search for Market Apps:
If you are looking to search for market apps, and thinking that there no such online search tool? There may not be an official Google hosted online market replica, but appbrain.com gives one.

Installing Apps:
Most websites you browse on the laptop/computer, have what are QR codes (eg. shown below). These are like images that link to urls on other sites or market apps. So first you have to manually go to market place and search for "Barcode Scanner" and install an app by ZXing. From then, you can use the scanner to install various apps that can be looked up by QA Codes. This app can also get you product lookups (however there are specialised apps for that)


Appbrains.com app:
Appbrains has an app manager that can manage your apps, installing them and their updates. You create a profile online and all your installations are synced to your device. This may not be …

Big news for AppEngine - AlwaysOn Instances

Finally, AppEngine team got us the best gift of all for this holidays. AppEngine 1.4.0, Always-On Instances and more. And Just $9 a month buys you 3 instances that can stay alive – even on low or no traffic. Those sites you want to host on spring, or even grails – which left you worried about darn bad startup times – You can host now with AppEngine worry free.

Also, Channel API is a new introduction. Gives an asynchronous real-time two way communication mechanism with JavaScript enabled clients - aka Browser Push (Comet) communication. It would be interesting to see the ideas people will come up with.

Google lifted/increased a few limits on different APIs  to somewhat gracious levels. These may not be significant for most apps, but will definitely free your mind of concern

Import Mysql data (or a CSV file) into MongoDB

You have MySQL database. And want to move either all, or some of the data into MongoDB. There is no direct way to do it, as such, It can be done in two steps. (If you are here because you have a csv file instead (or directly) move on to Step 2.)

Step 1.
Export all of your MySQL data as a CSV file.

select columns INTO OUTFILE '/path/to/csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' from table [where clause]
Step 2.
Import the CSV into MongoDB.
Assuming you have MongoDB running (on local, defaults) run the following command
mongoimport -d dbname -c collname -type csv -f fields-sep-by-coma --drop /path/to/csv
if your csv file has a header row add --headerline.

p.s.: for more options on mongoimport look here

More tips on mongodb, coming

Use E-Tags and Cache-Control: Caching your Dynamic web Content Better

This site rendered js and css (now even images) dynamically. Contents of files are stored in Google BigTable Datastore and are served by a DynServlet. The DynServlet maps the name of the file to content of the file in DB. This was slowly using up a lot of resources. Adding a layer of memcache, saved some Datastore API calls. But the memcache calls were still significant. So an ETag mechanism is introduced.

A Global ETag is generated on any file posted or updated, and (G-ETag is) stored in Datastore. To save App Engine resources (which are counted to cost), the ETag header is obtained from each request checked with GDTS from backend. If it is the same a "304 – Not Modified" response is sent back, asking the client to use the local cache copy. If it is not exactly same, a the request is passed through and rendered dynamically. This guarantees all content will be served fresh after every deployment. Requests in between deployments may be served from client-side cache, because t…

Ubuntu - Wayland - Excitement after all

Mark Shuttleworth recently announced that Ubuntu will do away with GNOME, The good old, desktop environment – as the default. Making Unity, (which is the current default for netbook version) THE default. The switch was barely absorbed by ubunters and is now followed by another announcement of replacing the X.org server with a newer, minimalist X server - Wayland. Wayland is still in alpha. So, for the pessimists this announcement and the switch is a little cavalier. For the optimists, this is a huge step towards a better GUI.
To put simply, Wayland is different from X.org in that it (Wayland) leverages the newer kernel's ability to do much of the work X.org's complex layers do. It natively uses 2D and 3D support from OpenGL.Technically – Quoting Wikipedia
Wayland uses existing technologies in the Linux kernel such as the Direct Rendering Manager (DRM), kernel mode-setting (KMS) and the Graphics Execution Manager (GEM) batchbuffer in order to provide a minimal display server
Wayl…

Paperbecause - Compelling point or Absurd argument?

The site paperbecause.com, is from domat, a paper manufacturer, promoting the use of paper. For one consideration, they claim paper is physical and associates it with a emotions, features and relatively subtle nuances that cannot be attributed to electronic media counterparts.Tree Huggers, Green advocates, on the contrary, try to reduce the use of paper. Reduce, Reuse and Recycle. For once, however, the use case of paper seemed to be apt. It is true that opening a paper card is much more thrilling than opening an e-card. Paper well hold well for physical and free-expressive mode of holding thoughts or expression. They press on the idea of how paper makes it easy to annotate, carry around with you – campaigning against campaigns like "Don't Print this". They also claim, paper ads make a better marketing tool than emails or online campaigns. This is a little far-fetched argument, if not absurd. Google would not have made so much money if not for online campaigns and ads. I…

500 errors on Google appengine / SarathOnline

Java on Google appengine has always been an matter of concern, especially with low traffic. People have expressed their anxiety with their application's performance. This site/blog runs on blogger. However the images and JavaScript are dynamically served from Google's Big table. This site was earlier on Google appengine  - Py. A much performant environment. It has its owns issues. However, relatively it was a more worry free environment for small applications. But as an enterprise language, java was to be used for this site. The migration was finally done after three unsuccessful attempts. And eventually, with an extremely slim home grown framework – smvc, a simple mvc with dependency injection, the site is run on java. Initially there were resource intensive cold startups. The smvc framework was an answer to it. But lately it appears that the appengine java is plaguing the site with a bunch of 500 errors, more frequently. This behavior started around Oct 27 and persists till …

A busy October

We had 2 releases. And a couple of downtimes @ work this month. Keeping me busy for the most part. This, coupled with a move this weekend – makes this October the busiest, I can imagine. It took up most of my time. I hope to come back to blogging soon.

Map of India from Epics

How much do we know about the places in grand mother's stories from the epics? Here is a map that covers most information. Wiki each region for more information on history, stories, and fables.

v6.1 : SarathOnline live on java, now with Dynamic resources.

Fresh out of the oven, The new site is running on Java. The v6 version released in private had been trimmed down to remove extract bloat.

One of the major changes in this version is serving images and jscss (with stiching), not from the filesystem, but the Datastore. So the file content is a stored in BigTable. So It can be updated without having to redeploy the whole application. Having to deploy a whole application is one inertia causing aspect in a appengine app development. With Dynamic resource serving, this inertia is completely eliminated.

Ofcourse, this will mean the site MAY slow down. The stats will be monitored over the next couple of weeks. Hopefully it won't be that bad. Fingers crossed.

Starred in Priority Inbox.

The new priority Inbox in Gmail is awesome for a GTD-er. However there's a small feature that is a little confusing. Assuming the three sections, Important and unread, Important and Starred are enabled. When an important mail is received, it goes in two Important and Unread.

Then let the case be that the mail in question (The Mail, from here on) is worth a Star. It gets Starred. In due course, more mail comes in - Important ones. *The Mail* is now buried under. This is where its confusing. One thought begs to assume that The Mail is now shown in Starred section. But no. It is down the pile of Important mail. And NOT shown in Starred. Is that desirable? Not really? or is it?

When Facebook goes down..

here is what happens on twitter..

@antderosa: Zuck isn't turning Facebook back on unless he gets final edit on The Social Network

@emilcardell: You know your a geek if you think that it is worse that #github is down then #facebook

@sargenthouse Facebook is down, you know what that means right? NO POKING.

@opb: BREAKING NEWS: Facebook is down. Worker productivity rises. U.S. climbs out of recession.

@sacca: When Facebook goes down, everyone comes to Twitter to talk about it. When Twitter goes down, the world falls mute.

@jlnd: Don't worry, if Facebook doesn't come back you can retrieve all your private data from any of the companies they sold it to.

@LouBrutus: DNS FAILURE: Facebook is down which means 9 months from today, many children will born.

@irockiroll the day has finally come. cloverfield ate facebook

@willmckinley: First they cut Facebook. Then Social Security. Then Medicare.

@kris10turner OMG I just paid my cable bill thinking that's why my internet wasn't…

Firefox 4.0b6 context menu, likely has a bug.

Apparently, the recent long firefox context menu bug posted a few days ago, is not a niche bug after all. This looks like a consistent bug that happens to me on Windows XP. The Context menu is supposed to change with *context* invoked on. Looks like the logic around making it intelligent, is kind of buggy. I was able to reproduce the long menu bug on other websites, at random. However, one thing I was able to consistently reporduce is the inablilty to get context menu for text selection. See the difference in the menu.

Firefox 3.6


Firefox 4.0b6

Happy Vinayaka Chavithi

May Lord Ganesha bestow peace, prosperity and happiness to you and your family.

Firefox Longest context menu

Obviously, this is just a bug. It happened only once. Not reproducible. Running Firefox 4.05 beta. On Windows XP. With Firefox 4, Canvas, Video Audio etc are all baked in. The list looks like the menu options are the exaustive options of all features on.The page however, upon refresh, does not show the same context menu. Click the Image to enlarge.

MySQL > java.sql.SQLException: Error writing file '/tmp/MY1kynpA' (Errcode: 28)

Recently, a heavy burst of traffic into our production webservice caused this error. As with all Mysql errors, this shows little information. Like any sane person would think, we checked if the filesystem was full. We found the /tmp has 98% free space. Permissions are all fine. No locks on table. Increasing /tmp partition - NoGo. Just crazy error message.

However, the issue was beating us time and again. It took us a couple of days and we realized the cause was a select query. The query was fetching from a table of about 2 million records. Although it was fetching a limited subset, the column in the order by had no index. This was causing mysql to load records into pagefile in tmp for sorting, apparently.

Created the index on the sort column seemed to have solved the problem. We also augmented it with the following options in my.cfg
sort_buffer_size=2M table_cache=1800 thread_cache_size=384 tmp_table_size=64M

Chrome Side tabs or Firefox Panorama?

Firefox Panorama has a unique way of organizing tabs into groups so that you can work with a loot of tabs (really lot of them). While the Side Tabs experiment is totally disjunct concept, The effective use of screen real estate is key measure in both. With just screen real estate, its still Panorama that wins the battle.

Side Tabs seems turned out to be a sore experiment. For one thing, it may be designed only for netbooks. There are other considerations for developers perspective. Many a time, the height is considered variable. The width, however is counted to be under standard 800, 1024, 1600 etc, those of the video resolutions. Many fixed layouts are drafted to work on these width numbers. Free flows however do not have this issue. Now, having Side tabs in picture, it creates two sets of fixed layouts to work with.


Firefox Panorama not only tackles width issue in question, also provides a organising benefit. So Which one is it? Most probably Chrome will eventually mimic Panorama.

java turorials: Learn everything Java basic to enterprise

Now Make Phone Calls from Gmail

Looks like the recent video/voice chat plugin for linux is a stratergically set as a prerequisite for this big update! Now Gmail chat will have a new option to call real phones. This sounds like a HUGE competition brewing in sip world. Skype, especially, must be very worried, given the large base of gmail users. It also lacks a web client making it easier for roaming users to prefer gmail than their (might I dare say) own phone. This option requires you to have Google Voice associated with the gmail account. If you have not checked out Google Voice, its well worth the shot. Here is the preview of what it would look like

What is IaaS, PaaS, SaaS?

IaaS : Infrastructure as a Service
eg: Amazon EC2, Rackspace, Verizon Private Cloud.
PaaS : Platform as a Service
eg: App Engine, Azure.
SaaS : Software as a Service
eg: Google Docs, Acrobat.com.
Here is a collection of slideshows about IaaS, Paas and SaaS.

Gmail Voice and Video Chat: now on Linux

Google released its voice and video chat plugin for linux. This is long awaited and now much cherished by linux lovers.

However, my first hand experience was a little let down. My browser crashed a few times, and the calls dropped with crashes. I realised it had to get a system restart before it could work well. I only tried audio call, given there is no web cam on my desktop. I dont see any problems now, hopefully it will stay that way.

Will update this post if this change.

Androids new Voice Actions

One more reason to buy an Andriod..



Ain't that awesome?

These features don't need it to be a phone. These can also be used on Andriod devices not tying you to a phone data plan (although the use cases can grow exponentially, if you already have one).

Maven Only: type parameters of X cannot be determined

This is a rare error that compiling with Eclipse does not catch, but maven compile goal will. In the case in question, There is a Generic return type as follows, as discussed in java forums

private <A> A getValue(){ return getOtherValue(); //<-- Error occurs here }
It compiles out an error:

type parameters of <X>X cannot be determined; no unique maximal instance exists for type variable X with upper bounds int,java.lang.Object
The intriguing question is, why does this happen only in maven? Why does it not happen in Eclipse? Few in the java forum have suggested that this is a bug in the compiler. However, an impatient programmer looking for a solution around it, Just cant get it. There is an unanswered stack overflow post here. The java forum is also confusing for a novice.

The simple answer here is, the getValue() method (or the getOtherValue, or the method it calls) is, at some place, not really Strongly typed and the compiler is left to guess wildly about what ty…

Modularity and Abstraction

This is probably my favorite interview question. When I ask Modularity and Abstraction in practice, many a time, I get a mixed, confused or confusing answer. The reason is, there is a very thin line in what we perceive Modularity and Abstraction are. We all do it everyday, but knowing it for real..

From MIT's reading material.
Modularity is the idea of building components that can be re-used; and abstraction is the idea that after constructing a module (be it software or circuits or gears), most of the details of the module construction can be ignored and a simpler description used for module interaction (the module computes the square root, or doubles the voltage, or changes the direction of motion).
And that proabably is as clear as it can get.

Meritline's innovative products (huh)

Its is astonishing how meritline can offer an ipod cable (and a lot of innovative products) for less than a dollar. They even ship it free. Although it comes all the way from the other side of the world, a country called Honk Kong. It takes 2 weeks, but meritline seems have perfected the job of *getting it there*.

However, one catchy (satire) product is Automatic Toothpaste Dispenser/Toothpaste Squeezer. My wife always rants about such tools, how they make people lazy. I think to agree now :)

Online Privacy: Citi Virtual Cards.

I really like Citi's Virtual cardconcept. With this service, you never have to give out your real credit card number online. Citi provides you with a tool that can generate a virtual credit card number. You use it for any merchant online. The card number is totally random. Cannot be traced back to original card number.

The Tool is of two types. You can download and install it (a flash based *application* - NOT an air app - WHY?) or your can launch in a browser. The install variant is only available for windows (has a specific installer works only on PC). For macs and *nix, You have use the launcher.

NOTE: Donot use Virtual Account Numbers for purchases that require you to show your credit card at time of pick-up (e.g., movie tickets, etc.). I fell in that trap twice. You can talk to the manager, but hey, why the hassle?

Now, Why am I, a developer, taking special interest in promoting this? Apart from the general push for privacy, I want to show how poorly designed is the access…

Guarding personal information

This post is on personal security.

Social Security #, Address, Phone number. Even your email address. Most importantly your Credit Card or Bank Account number All these are sensitive personal information you MUST protect at all times. Never tell a person/company you don't know, any of the above. Guard them with your life. Well not exactly, life, but almost.

Dont even give out your favorites (colors, pets, movies), names of your aunts, maiden names, etc in websites that look dubious. These sites include, those which promise a free gift, winning odds, love life, sexual content, and dating partner. All sites/games/quizzes in FACEBOOK are solely written to collect and harvest your information. Donot give them ANYTHING.

Best advice, treat this data as your child. If you will not give him/her away to a stranger/company/site, you will not give the personal data to them.

Look at a related ad from Microsoft

Hot Deploy resource file in Spring.

The general way to read a Resource file in Spring is something like this
new ClassPathResource(pathToFile).getInputStream()
However, this will cache the contents of the file (stream) in the class loader. Although this is not a major problem, there may be cases where reading the file fresh everytime (Hot deployable file) is required.

That can be achieved with the following code
new FileInputStream(new ClassPathResource(templateFile) .getFile().getAbsoluteFile());
This will gives cache free control on the file and its content.

(Important) Note:
* Doing the AbsoluteFile way, will always read the content of the file. So if it is being done on a High frequency, A Managed Caching layer must be considered
* AbsoluteFile call will NOT work for resource files inside jars, they have to be in classpath folders (e.g.WEB-INF/classes)

Google Wave: How to create a Live Page on your website using a Public Wave

Yesterday, I created a public live readonly wave and posted it on my blog. Here is how you get it. You need a Wave account. You log into your wave inbox. and start a wave.







Add participant "Public". Note that "Public" is not in your address book. But shows up when start typing public.





Then make the "Public" participant's Access to this wave readonly.






Then get the code to insert from the *Link to wave* menu.








Copy paste it on your website and You get your self a live reporter.

Google Voice for Everyone

Gates are now open. Google voice is now open for public. No invites necessary. I am not sure how Google will be able to give a number for EVERY google account (we have two each, My wife and I), or how it will restrict NON-US users (a billion numbers? NOT possilble) - But from google - "SURPRISE, we are open."

Here is what they have posted:
A little over a year ago, we released an early preview of Google Voice, our web-based platform for managing your communications. We introduced one number to ring all your phones, voicemail that works like email, free calls and text messages to the U.S. and Canada, low-priced international calls and more—the only catch was you had to request and receive an invite to try it out. Today, after lots of testing and tweaking, we’re excited to open up Google Voice to the public, no invitation required.

Father's Day..

For Everyone who is celebrating Father's Day..
May you have the best friend from god, close to you, close to heart..



Miss you Dad. I love you.

Back to US. Back in Time.

And Back to work on Monday.

The US is just as it was when I left. Missing India already. But very excited to start work tomorrow. The journey was very tiring. In the last 6 years, this is the first time I felt so, after flying to or from US. Probably this accounts to the old flights on British Airways.

Note to self: Next time, avoid BA. Old flights, Bad Entertainment system (worst among all airlines so far), Psuedo-Friendly Staff and Customer service. However, Food was exceptional. Overall - Not worth it. Go Qatar (for its Service, Newer aircrafts) or Air India (For Food, Newer aircrafts).

Water Bobbles – no more water bottles waste

Don't buy those water bottles again. Bobbles – is a pet bottle that can be your very own personal water filter – on the GO!! It filters out chlorine and other contaminants as you drink. The filter, replaceable, lasts for about 300 bottles. Does the job for about two months. The filters are available separately.

The Bobble is also a good idea environmentally speaking. As the Bobble website notes, 1.5 million barrels of oil are used annually to make plastic water bottles, most of which are then casually discarded. We had been buying bottled water. Looks like now we'll be drinking from our Bobbles.

(This trip to India this time lasted 6 months. I wish I came to know about this before. I would have saved so many water bottles)

That way

Just back from Vinukonda, AP, India. This trip to India is taking a toll. I am moving around a lot of places and very quickly. Its a lot different from travelling in US. We have a lot more tools and *own* or rental cars. In India you typically travel in public transport (rail or road) - Not many places you want to go can be reached by flight directly. So you generally donot need directions.

But once I had to travel on personal car. There are very few GPSes, let alone - their reliability. However, Google now does come handy. It not only shows directions from one city/town. But is also helpful in taking directions in Cities like Hyderabad, Bangalore and Chennai. The text directions may not be really as good as the *helpful* bystander - but the directions will definitely give a better picture.

FaceBook Privacy – reality check

Many privacy evangalists, like Dan Yoder, have taken facebook to a beating, as far as recommending you quit. This follows a series of Privacy policy changes from Facebook on an excuse to protecting themselves. It turns out Dan's points have quite a few compelling reasons to actually quit.

However, personally, I would not - but would definitely advice a lot of caution to use ANY of FaceBook's features. Always protects yours and your friends' information. Reduce the visibility of any information to minimum or atleast only to your friends. And if possible omit it all together. As a general rule of thumb – only let that information go into facebook that has NO implication whatsoever, if revealed. To ANYONE – And I mean - your boss, collegues, girlfriends, wifes (ex-wifes :P).

For  quick reality check how much can be dug out of your facebook profile WITHOUT logging in, you can head on to http://zesty.ca/facebook/. And remember, this is as much information ANYONE can get.

As a …

How important is Communication in Software Development

A picture is (also communication) worth a 1000 words.credit: blogcmmi.com and makinggoodsoftware.com

BSNL slow (again).

One of my ISPs (the all reliable) BSNL is slow again. This time to non indian servers. All indian servers are fast. The CDN balanced Gmail, Yahoo (and speedtest.net) are pretty fast. Twitter seemed slow. My servers on east cost (USA), aws boxes (east-1), and infoq dowload site are snail paced. This looks something in the lines od UnderWaterSeaCable cut a few days ago.Here is my recorded information from speedtest.net is outlined below. TimeIPDownloadUploadLatencyLocationDistance4/26/2010 5:24 PM GMT117.195.198.xxx1.19 Mb/s0.64 Mb/s128 msMumbai4004/26/2010 5:44 PM GMT117.195.198.xxx1.68 Mb/s0.71 Mb/s92 msNew Delhi8004/26/2010 5:53 PM GMT117.195.198.xxx0.14 Mb/s0.59 Mb/s291 msBangkok15004/26/2010 5:40 PM GMT117.195.198.xxx0.04 Mb/s0.04 Mb/s704 msRiyadh21004/26/2010 5:29 PM GMT117.195.198.xxx0.14 Mb/s0.20 Mb/s409 msNew York, NY8050Just shows, how important it is for a Global service to be Highly Available and Location decentralized.Hopefully BSNL gets this resolved soon.

AppEngine Cold Startups - Rendezvous with Google App Engine Team

I was at Google App Engine IRC Chat today. Following a lot of concerns of others and of my own, I wanted to put forth my ideas to them about cold startups. I tried to promote my ideas of different approach to classloading, osgi, profiling the runtime itself etc. But time was not enough. I will probably talk again next time. For the most part, It looks like Google is almost ready to come up with *reserved instances* approach. But here is what they have to say.

(9:59:52 PM) sar4j: This is about cold startups for java. I run my website sarathonline.com on appegnine py. But I am a java developer. So I have to get reasonabl undersanding about how gae/j works. To simulate the same performance, I am adding a test.js script to exisitng website. So every time a visit comes to gae/py a hit happens to gae/j. I still see that gae/j is very aggressively spinned down. (given number of requests are the same) is there any algorithm on how and when spinning down happens?
.....
(10:04:17 PM) apijason…

Certified Scrum Master

Apr 6, 2010 – I finished my Certified Scrum Master Training. I took the Online test 2 days later. And Now I am officially Certified by Scrum Alliance. (Alright, people – Hire me :))

ScrumAlliance has a unique (rather beatable) way of handling how the authenticity of who is getting certified. They give you a membership ID. You are given a profile page that is public on their site (is this getting a public-private key mechanism. wait a min). You can add your photo and Have the interested parties download your certificate from their site.

My profile is available here
http://www.scrumalliance.org/profiles/86562-sarath-chandra-pandurangi
Download my Certificate here
http://www.scrumalliance.org/generate_public_certificate/86562/A4/csm

And then the site also has an *Authentic* way of sending mails from their site on my behalf. I choose to *share* my certificate and they simply send the person of interest the following mail. Only problem : The email itself is not showing my certification logo…

Faster.. Faster.. Internet in India

Just less than 2 weeks from the news of venture with Google, Airtel and BSNL have released new Faster internet plans.


Google App Engine / Java / cold Starup benchmarks (issues).

This is connected to the post in Google App Engine Group

Although Google Appengine gives out a java container, I had to roll back to the python code I used for version SarathOnline 3.1 – for a sole reason – perfromance. My (blog) site has a very low traffic (compared to what google thinks a regular traffic application). Averaging ~100 visits/day. All the css and js is dynamically generated. My current python code is doing pretty well servicing these requests @ a maximum of 2.something secs


Sun Tech Days – My Day 2

Day 2 missed James. But the tech series remained just as educating as Day1's. I dug deep into the JEE6 foundation laid by Yesterday's  sessions.

Today: I Jugged in knoweldge from

Java Persistence API 2Overview of Servlet 3.0 ZFS (a Whole lot on )Context and Dependency Injection in JavaEE 6Java EE 6 Tools Show: NetBeans, Eclipse, IntelliJ
I have to bold all of them, but the ZFS really instigated me to push OpenSolaris into my dev space. Look forward to some OpenSolaris entries coming.

Been There (Done That)

Finally, I been to Sun Techdays – here in Hyderabad. Now I can say.. "Been there".. done that!.. But it was an amazing experience, with more than 1500 people in HICC, Novatel, Hyderabad. Best of all, I was able to see James Gosling. Live. In Person.

They were very exhaustively educating 9 hrs. Although I was keen on Enterprise Track, I was able to sneak some time in JavaFX and Solaris Technologies too.

I stuck myself in:
Java EE 6 & GlassFish v3: Paving the path for the future.Designing and Implementing Secure RESTful Web Services. Hands On Lab: Build End-to-End RIA Applications Using JavaFX, Dojo, REST, JPA, and MySQL. Glassfish and JEE 6 Features (Stall at the exhibition). OpenSolaris Installation desk (Okay, I got OpenSolaris on  my vbox). Enterprise Java Persistence with Oracle TopLink. OSGi & Java EE in GlassFish.
I loved ArunGupta's talks about Glassfish. Especially, the OSGi one.

Overall, its was a fascinating experience. I will look forward to tomorrow&…

Production: Just the kind of messages your users must not see

Reliance is a big name in Indian Telecom sector. And they better hire some production support professionals, because I am looking at this for the past 25 mins. Still the same thing. This is just the kind of messages you don't want your production users to see.



It exposes a lot of technical details.Something you, as a developer, don't want to expose to outside world.

Stop Civil Liability for Nuclear Damage bill

Indian government is bent on a  hazardous called the Civil Liability for Nuclear Damage, and it's coming up for a vote in a couple of days.

The bill lets U.S. corporations off the hook for any nuclear accidents they cause on Indian soil. They'd only have to pay a meager amount, and Indian taxpayers would be stuck paying crores for the nuclear clean up and to compensate the victims.

There is a lot of dissent in the blogosphere and the Indian press about this. However, It is unclear why the ruling UPA Govt seeks to bring this to the table.

Greenpeace is launching a petition asking the PM to hold a public consultation before introducing the bill.
http://www.greenpeace.org/india/stop-the-vote

You can also voice out on facebook
http://www.facebook.com/pages/Petition-against-Civil-Liability-for-Nuclear-Damage-Bill-in-India/384059698828

Do your bit, Google it and voice your opinion.

Faster internet! Coming soon to Asia (India)

A few weeks back I wrote a comparison on prices for internet in India and the USA. Well, A lot is about to change. According to CNet news, a 7.68Tbps line is due soon to Asia. Bharati Airtel (one of the largest telecom companies in India) is part of the Unity Consortium which is making this happen.

According to the story,
The Unity Consortium, which consists of Google, Bharti Airtel, Global Transit, KDDI, Pacnet, and SingTel, has nearly completed the testing of the $300 million project. Internet users in Asia will start seeing faster Internet speeds over the next several months from the new cable, which has the potential to create a 7.68Tbps (terabits per second) connection under the Pacific.This could mean a lot of change in dynamics and economics of internet traffic. With already (considerably) low prices in India (thanks to a tough competition among BSNL, Reliance, Airtel and Tata), The only complaint was the speeds of unlimited plans. A limit-less user, generally capped by a speed…

Update multiple Dynamic DNS servers using ddclient

Running Linux, ddclient is highly suggested software for updating DynamicDNS servers. It supports updating a variety of servers. Some of them are dyndns.com opendns.com and no-ip.com. ddclient supplies documentation to update multiple hostnames (on the same server) but does not have an example with multiple servers. Here is an example that covers all those combinations. ## ddclient configuration file daemon=600 # check every 600 seconds syslog=yes # log update msgs to syslog mail-failure=your@emailaddress.com # Mail failed updates to user # requires sendmail installed. pid=/var/run/ddclient.pid # record PID in file. ssl=yes #use ssl ## Detect IP with our CheckIP server use=web, web=checkip.dyndns.com/, web-skip='IP Address' protocol=dyndns2, login=user1, password=YOURPASSWORD \ some.selfip.org protocol=dyndns2, login=user2, password=ANOTHERPASS\ someother.selfip.org protocol=dyndns2, server=updates.opendns.com, login=user3, password=psswd3 \ home

Easy Green way to Cool a Laptop using a Bath Towel or Tissue paper.

Laptops get hot after long use. As they old, they get hotter; and sooner. Sometimes, working in a room with AC running doesn't even help. What makes the situation worse, they shutdown after getting extremely hot. Buying a USB laptop cooler pad is one solution. But here is a simple DIY, that can save you money and your laptop those extra amps.

Here is a simple yet powerful solution to it. No – not the "cleaning the processor fan fins" tip.


Take a Tissue Paper / Bath towel.Dampen it with cold water. Make sure you remove all of the excess water.Take a flat board to support your laptop's bottom. If your laptop is an "always on desktop replacement", you can use the table it is resting on.Keep the dampened paper/towel on it.Make two or three bars of cardboard (about 1/2 inch wide, length to cover your laptop, considerable height)Keep the laptop on the dampened towel using the bars to elevate it a little.
The fans running on the laptop use the moisture to cool the …

Linux/Unix welcome messages

There are instances where you want to display a message in shell before/after terminal login in Linux or Unix. There are however many ways Unix/Linux lets you customize this.

/etc/issue
This is a text file, contents of which are displayed at the login prompt.



/etc/motd
Also called message of the day. You can add some text to motd and it will be displayed after successful login

Only ssh Users
Some times you want to display a welcome message only to ssh logins. To achieve this,
You create a file somewhere on the file system – say /etc/ssh/sshd_welcome
Add or edit the line Banner /etc/ssh/sshd_welcome in /etc/ssh/sshd_config

BSNL Selfcare website has trojan/malware!

Hyderabad's Bsnl selfcare website [http://selfcare.sdc.bsnl.co.in/selfcare] reported has some trojan/malware. At first I thought it was only on my comupter. But looks like its happenning on most other computers. Even if coming from GOOGLE.Do you notice this too? Comment here.

Google Maps of India

"Mapquesting" in India is uncommon, if ever used at all. Google India maps have been developing quiet fast in the past few years. The last time I went to India, I was able to spot my home. Then I was able to save it as a favorite location.

But Yesterday, I used it for real. I had to locate US consulate in Hyderabad. I had a Consular Interview scheduled on 18th for My H1B visa Extension. I did not have time to go personally there a day before, which I would have done otherwise. I looked up the address from the Consulate website. And put that in maps.Google.co.in. This dint come up, but – I did a search for us consulate, Hyderabad, and voila, I got the exact address I was looking for!
Cool isn't it?

Then, I hit the directions link, and put my home address. Dint come up. Tried with the local area name instead of the exact address. And Swweet sugar, It was even able to get turn by turn directions for me.
View Larger Map

Price comparison Internet in USA and India

While this trip to India did not provide me enough time to set up all the infrastructure, I was happy with the technological advancements India witnessed in the past four years.  As I left to USA, in November 2004, my house had only dialup connection. Today we have at least three service providers including one WiMax provider.

We have a BSNL broadband connection, Tata Photon+ wireless Internet Service to complement each other.  Now I will compare the cost of these Internet Services with those in the USA.  I benchmark this with respect to General browsing, Downloading/Video, and VPN users.

The main advantage in the USA is that the Internet is not limited.  And not capped in terms of bandwidth.  The average speed of an Internet connection(cable), in the USA tops about 15 Mbps. Considering the fact that this is unlimited, one in India would expect a high costs associated with that.  But Comcast provide such high speed Internet connection for about $20 a month for the first six months and…

Create your own Search Engine Provider for FF and IE7+

Search Engine Providers, you know the ones you see on the browser - next to the address bar.These have become more and more popular with new age browsers getting open to user search. Its easy to create your own Provider. A real application for this would be like, say, your own site for search. Or putting all your favorite forums in the search bar. This example uses a Google custom search engine(CSE).



A Google CSE (create your own here), can be used to include exclude content and show results accordingly. Like all other Google products, a lot of customizations can be done on this. Most of the sites that use Google Site Search can be considered a candidate CSE.

Once you have your own CSE, To create a search provider, You will need a place to host one xml file and one HTML file. The xml file is a OpenSearch descriptor. Its like an installation file for your browser.
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> <ShortName>SarathOnline</Sho…

Slowly on the path to normalcy

Things are slowly getting back to normal. Just wanted to update real quick. Anand and Aunt are recovering well. Swathi and Baby are doing fine. Thanks for everyone who has been with us all these days.

I will start blogging again.. Soon.

A new day has come.

A new day has come. Another reason to Live, Love Life. May be its all a big plan of the man up there. We welcome a baby girl into our family. Aswath (my brother) and Swathi are happy parents of this 2.3 kg baby girl born at 9:19 IST today (Jan 17).

The Grand Father, and the (injured) Grand Mother are elated. Having lost their only daughter, they see her in the new born. This new year started well wiping out a large portion of grief that was looming on the family all last year.

We have only the god to praise.

Update: added photo
more photos will follow.