Monday, 27 February 2012

If Rajinikanth was a software engineer... :)

I know that there is no shortage of Rajinikanth jokes, but I couldn't stop myself after reading this post. So here it goes.

If Rajinikanth was a software engineer...
  1. Compilers don’t warn Rajinikanth. Rajinikanth warns compilers.
  2. Rajinikanth writes directly in binary. He then writes the source code as a documentation for other developers.
  3. Rajinikanth can derive private key by just looking at the public key.
  4. All pointers point to Rajinikanth.
Continue reading »

Thursday, 23 February 2012

Image URL in XPages using Notes client and browser

In Java Charts, one of the users reported that charts were not visible in Notes client. The charts (images) are basically being generated using the XAgent technique, and you will face the same problem if your image is being generated using XPage.

To understand what exactly is happening lets take help of an example. Say you have XPage with following code snippet which displays an image using javascript formula. (actn005.gif is present in the current database as image resource.)


Continue reading »

Tuesday, 21 February 2012

The BlackBerry PlayBook is back in the game



When the BlackBerry Playbook first arrived on the tablet scene a little less than a year ago, a few other tablets, such as the iPad, the Motorola Xoom and the Samsung Galaxy Tab were already on the shelves. It was going to be tough to gain some attention.

But the PlayBook was different in that it shunned the Android operating system favored by the iPad competitors and instead choose a spiffy OS from QNX Software Systems. QNX is best known for their in-vehicle and infotainment systems.

The PlayBook was good-looking, but it had a unique trait among other tablets in that it needed to be tethered to a BlackBerry smartphone in order to use the calendar, email and contacts features. It was depended on a Bluetooth connection between the PlayBook and the smartphone, with only a range of about 30 feet.

The fan base didn't latch onto the PlayBook as expected, maybe because of the tethering process and the difficulty in setting it up, especially with all the security steps involved.

The engineers at Research In Motion, or RIM, went back to the drawing board and as today, have released OS 2.0 software to give the PlayBook built-in access to the calendar, email, contacts and updated other features, such as the BlackBerry Bridge software. The Bridge upgrade will allow a BlackBerry smartphone to be used as wireless keyboard and mouse for a BlackBerry PlayBook.

With this new OS upgrade, maybe the PlayBook can make another run at the tablet market, which is even more crowded now with another iPad, another Xoom, more Galaxy Tabs, the Amazon Kindle Fire, more Barnes & Noble Nooks and a host of devices from other manufacturers, such as Acer, Asus and Toshiba.

The PlayBook is back on the field and the game is more competitive than ever.

Click here for a video on how the new BlackBerry OS and a BlackBerry smartphone works together.

Advertisement:
BlackBerry Folding Blade Charger for the PlayBook and Smartphones

Friday, 10 February 2012

Google removes plus sign on new tab button in Chrome 17

Just updated to Google Chrome 17 (to be precise 17.0.963.46 m) and there are some UI enhancements that Google has made, like this one.


Yup, they did away with the + (plus) sign on the new tab button. I kind of liked the plus sign and at first it left me confused, thinking it was a bug (I was not alone). I also couldn't find this in Google's Stable Channel Update for Chrome 17 except in the user comments.

Update 12 Feb 2012: Just found this link which basically suggests that this new look was being planned as early as 27 Sep 2011 in Chromium. It even goes on to suggest how you can get the plus sign on new tab button back.

Calling inner classes and enum from SSJS

While working on RSS Reader custom control for OpenNTF I had got stuck when trying to use enums. Basically I wanted to call the enum Proxy.Type to create instance of Proxy class. In Java you would write the code some thing like this:


But to write the same code in SSJS you need to concatenate the class and enum with $ (dollar) symbol. So your SSJS code would be:


The same goes when you are dealing with nested / inner classes. But why use the dollar symbol? I am not sure of the exact reason, but when a Java class with inner class or enum is compiled it generates two class files - one for outer and one for nested. For e.g.


The above class would generate class files as OuterClass.class and OuterClass$InnerClass.class.

Friday, 3 February 2012

Never update agent properties using web helper agents

Well... had a hard day today. But I have only myself to blame.

We had 100+ databases which were recently moved to a new server. So we had to update the "Run on" property of the agent to the new server. That can't be difficult! Just write a helper agent that will update all those agents using the ServerName property of NotesAgent class. I did just that, made it a little bit generic by adding configurable parameters. As their were a lot of databases to be updated I decided to run this agent on the server using the OpenAgent URL command. BIG MISTAKE!
Continue reading »