Thursday, September 29, 2011

URL Shorteners - Why should we care?

I have seen many (and also used some) sites offering the web service that provides short aliases for redirection of long URLs. They mostly use very short domain with a short top level domain of a country, like .ly of Libya and .in of India.

TinyURL,, shorl, doiop, and are some of them. These services provide us an easy way to share the links, when the space is limited. I have used tinyurl service to send urls to friends in SMS and in the profiles where space is limited.
"Twitter uses the domain as part of a service to protect users from harmful activity, to provide value for the developer ecosystem, and as a quality signal for surfacing relevant, interesting Tweets." 

Here, is a url shortener that is used by twitter by default, such that whenever we post a url, it is shortened by this service. This ensures that our tweets with urls fit into the 140 character limit. Since is part of twitter and is not open for the public to shorten their links, no one can customize their shortened url's, unlike some other services like This might be a minus point, as it prevents the possibility of having descriptive urls such as, forcing everyone to use what is provided by default, like This also eliminates the misleading urls. For instance, needless to be a page on mobile platform at all. 

Funky one. Comes with ads, letting you earn a few bucks while using this service. But I personally do not like this one for professional uses. Who needs a few cents, than providing the users with the content immediately? Reader satisfaction is more important. Why waste their 10 seconds with advertisements? Mostly they won't click the link at all. Some of the advertisements often include broken links too, which I faced recently, also providing a never ending loop. So nothing earned either. Loss-loss deal. For personal or enterprise uses, I don't recommend displaying an advertisement before the content, unless advertisement is your major revenue, than the actual content provided. provides the option to register an account and keep track of the url history for the user, providing options to track and monitor the clicks. It also lets us customize the url, instead of providing default random urls with meaningless text  like

I was just impressed by the way redirects when a wrong url is entered.

Page Not Found
Uh oh, couldn't find a link for the URL you clicked.
Maybe one of the pufferfish ate it, or maybe there are some extra characters on the end of the URL.
Most URLs are 4-6 characters, and only include letters and numbers. Manage your URLs
Try it yourself by clicking the link

When I see something weird or meaningless text following a web url, I simply get to know that those will redirect me to somewhere else. There is a nice option in many of these services, where we are allowed to choose our own name to be appended, thus providing an option to choose meaningful names.

Till very recently I haven't seen the other side of these services, other than the links those redirect us to personal blogs. I had to think much on this when I received spams with messages such as "Really Interesting! Wanna have a look!!", with shorter urls, which direct us to shock sites. For these reasons, some social networking sites including facebook have banned the usage of some of these services.

Yes, I know we have the preview option before literally going to the site. But in reality, how many of us are ready to spend time on this?

Wednesday, September 21, 2011

Is that profile picture fake? Finding out is made easy with Google now.

Lately many fakes have started to misuse the photos of celebrities or some others to misrepresent them in the social networks. Given an image, it was almost impossible to find out the real person or the source of the image in the yesteryears. But thanks to Google, now we can search by the images and find the information regarding the image. You can learn more about "Search by Image" in its relevant project page, or try "Searching by Image" now.

However, not many people know the use of this cool new feature in isolating the fake pictures and the irrelevant use of them.

Let's take a scenario where I claim that the lady above is my friend, and has put that as a photo that I own. Now, if you want to find whether my claim is genuine, or the photo is simply stolen from the Internet, Google Search by Images comes quite handy.

1) Get the image url. In this case,

2) Use "Google Images Search" and give the image url to search.

3) You might either get the exact document that has the image, or a message similar to the below.

For matching images, try search by image
Your search - ... - did not match any documents.
  • Make sure all words are spelled correctly.
  • Try different keywords.
  • Try more general keywords.
4) Click the search by image option above, if your search didn't match any exact document.

Image size:
256 × 256
Find other sizes of this image:
All sizes - Medium - Large

It correctly finds the source of the image! Clicking the image found by Google reveals more images of the same person. From a small research on those images and web pages shown, we can identify that the image is originally of Lenna's which appeared in the Digital Image Processing texts.

So no one can fool anyone anymore with others' photos, thanks to 'Search by Image'.

The above use of the image of Lena/Lenna is for educational purposes only, and no commercial or other motives behind this.

Monday, September 19, 2011

#WSO2Con ~ Using WSO2 as a Mobile Services Platform

"Using WSO2 as a Mobile Services Platform" was a session presented by Simon Bilton, Head of Professional Services, Gödel Technologies Europe at WSO2Con 2011, which was yet another interesting user story of WSO2. In this session, Simon discussed how 'Transport for London' uses WSO2 ESB as the main platform for mobile services.

"Schematic of ESB solution with WSO2 ESB and WSO2 BAM as the core components..", Simon explained the architecture. Simon also showed a mini-version of the deployment diagram with WSO2 Components drawn on a paper, to the audience. He mentioned, "It is really huge to include all of them." Simon also foresees that WSO2 BAM2 will eliminate the remaining issues that the current system has.

"Open Source to the Rescue!", Simon points to the pure open source nature nature of WSO2, and how it was extended to meet the specific needs of their enterprise. "Why think outside the box, if the box can think itself?" asked Simon.

#WSO2Con ~ Quality - The key to successful SOA

Charitha Kankanamge, Senior Technical Lead and Manager, WSO2 did a session on "Quality - The key to successful SOA" at WSO2Con 2011. The session mainly discussed about the differences between the traditional QA and QA for SOA, and the challenges faced. The talk was followed by an interactive Q/A, where the audience shared their opinions regarding the talk, and discussed them with Charitha. Charitha didn't fail to point out that unlike the traditional testing, SOA testing requires serious research itself. Azeez pointed out that this enables the QA engineers in SOA to switch to development easily, and vice versa.

"When defining a testing methodology for your SOA, you should have a good understanding of services, mediation, and composition." pointed out Charitha. He mentioned that the complexity of SOA should not let the quality to be compromised. "Your QA team and Dev team should work together for your SOA testing. Everyone is responsible for the quality". You need a proper unit tests, integration tests, and end-to-end tests, where some of them are automated, and SOA testing. Charitha also pointed out that there is no "automated manual tests". SOA testing over the cloud produces additional set of complexity.

"Discussing Testing is atleast a 10 hours task," Charitha announced after running out of time badly at his session, which everyone was actively involved.

Saturday, September 17, 2011

How to make your first mail attractive.. ♡♥

[PG-13. If you are under 13 in age, this post may  be inappropriate for you.]
An ice breaking mail is not that easy to write. Yes, you can type it as usual. What I meant is, writing it to fit the purpose and ensuring that it fulfills the requirement needs that bit of extra care.

Why is that so hard?
1) So many fakes out there.
If I get a business email from an unknown person, I usually consider it more of a spam, or even as one of those "enlargement" mails that end up in my spam folder.

2) No clear idea about the knowledge of the reader.
You might assume something reasonable. But it rarely works. The mail shouldn't be too long either.

3) Cultural difference
In foss, we use "Hi {first-name}." But it might be inappropriate to call a professor who is in academia seriously by her name.

Similarly, most businesses try to call the users, "Dear {Salutation.Name}". But that might be considered too intimate in foss communities. [On the flip-side, we have even stopped calling "Dear {first-name}" to even personal mails to our friends. All go with "Hi {first-name}" these days.

Let's break it down.
1) Some research
Before sending the first mail, an initial research on the receiver is mandatory. Google might help to get to know about her background, if you know the receiver's full name or her organization. If the (receiver's) culture permits (for example, a foss-culture), "Hi {first-name}" is much more appropriate than a mere "Hi".

2) No bot in the first mail please
Make sure to send the mail from a real email address. Not from a Let the first mail be from a human, than an automated mail from a bot. Give the mail the respect and care that it deserves.

3) Be in the equal rank
For example, if you are sending a mail to someone in an organization, make sure to send it by a person with an equal rank, if possible. Junior executives may send the mail to junior persons, but if the mail is going to a senior person, make sure to send it by a person with an equivalent or an equally senior rank.

4) Introduce yourself
This is your first mail. So give a background of yourself and your organization, and a brief summary for the reason to draw this first mail. If the lede is written impressive, the reader will continue reading. Otherwise he will just ignore or even delete and mark it 'spam'.

5) Give enough background information
Before jumping to the content or the theme of the mail, give a short summary of the background. Keep in mind that your relationship starts now. That means, the first mail should speak for the days up to now. Thus the first mail should include an appealing summary of the stuff that happened up to know which leads to this particular mail. 

This is actually common to public speeches and lectures too. Unless you specify a limit for an audience (unless the target-audience is specified clearly beforehand), they may come from different backgrounds. If you suddenly start talking in your technical jargons specific to your product, they will be lost, and also will think you are insane and stupid. [On a related note: It is also believed that someone who used to sleep at the lectures, will make a boring lecture himself.]

Make sure that the mail educates the reader, and not just markets you, your company, or product.
6) I want to learn more 
It is always almost impossible to include all the required information in the body of that single mail. If someone is induced by your mail, she would like to know more on that, before responding. Hence it is better to provide links

Links should lead the reader to the appropriate customized landing page. Make sure that the landing page is not the home page of your company or your personal web site. Rather it is a customized page, specific to this particular mail. Make sure to copywrite the landing page carefully, possibly with the help of a professional copywriter. Other optimizations such as SEO optimizations too can be considered. Landing page may contain links to more pages and third party websites for further research.

7) How to respond back 
It is silly to assume that the receiver should simply hit the 'reply' button to get back to you. You should better indicate the preferred communication media, which might include a reply email address, a phone number (office/mobile), or a fax number. An indication of the desire to continue the discussion would help too. Most readers just read, and they do not reply unless they are asked to. "Let me know, if I can get back to you" or "I would like to hear from you on this" might help. 

Second mail - If you didn't get a response
If the first mail didn't get a response, it is ok to reply or send a friendly reminder after a reasonable time, without resembling a typical spam. It is safe to assume that the first mail is left unread in this case, and include the reference to the first mail along with a summary of it. However make sure to leave a reasonable time. Most of the people do not read mail over the weekends. Better to mail on an ideal time, such as Thursday 11 am.

Second mail, once you got a positive response
Once the first mail received a positive reply, sending the second mail would be much more easier, as now you know the receiver better, and she knows you well too. Also the need to guess the background knowledge will be eliminated, as you can safely assume the background knowledge of the user to include the information given in the first mail. However this response from you may not be a mail again. It can be a phone call instead, if that is encouraged by the receiver. ;)

I personally don't like a third mail unless at least one of the two initial efforts was positively responded. It is silly to try thrice on anything after being ignored twice consecutively.


Getting late is inevitable in many times, though it sounds pessimistic to announce so. The impact can be a mere delay in attending an event or even failure to attend the event altogether. 

Digital - Analogue Analogy 
Digital-Late and Analog-Late
Some of the delays are often lead to an on-off scenario, which resembles a digital system. If you come late, you are fail (0). If you are on time, you are in (1). There is nothing in between. So one minute delay is as harmful as a delay of an hour or more in these cases. An ideal example would be being late to a flight. If you are late to a flight, you miss the flight. Let it be a minute or an hour. But some of the delays are analogue type. If you are delayed by a minute harm is less, where getting delayed by an hour will probably harm a lot. Attending a lecture can be a common example. Unless regulations restrict you enter the class late, getting late by a minute or two won't harm much, where a delay by an hour will make you lose the chance of grabbing the lecture for the day.

In Academia
Counter/Office closed - Digital-Late
Late submission in school assignments often results in a reduced score (often a 5% - 10% penalty per the day. Even a 5 mins delay is considered a day, and hence the penalty). During our undergraduate times, the online uploads are often come with a deadline at 11.55 p.m. In some of the cases, the upload button will be disabled at the exact time. That means, a second is delayed - no chance to upload, which often leads to a zero score. In school, coming late is often considered a half-day, which is marked as 0-1 (full day is marked as 1-1). So often, in the last minutes, we used to run to the classrooms to ensure that we enter the classrooms before the class teacher.

A proper timing usually help to mitigate the risks of getting late. Prioritizing based on the cost of getting late would help too. Seeking a less risky alternative may be a good alternative. For eg, missing a train might be too risky in Sri Lanka than missing a bus, as here long distance trains are not so frequent. In that case, if you feel that you won't make it on time for the train, better to pick the bus route instead.

Not too early though
However, the fear of getting late might induce proceeding on something too early, which may not be appropriate. Doing stuff too early is as bad as doing it late. Proceeding on something too early often would result in misunderstanding the requirements/expectations, environment, and the stake-holders involved. This often result in wastage of time, sub-optimal results, embarrassment, and even failure.
In case of a digital-like timing, it is better to be there an hour early, than being late. In analog-like cases, late is better than never.. ;)

Friday, September 16, 2011

#WSO2Con ~ A Dynamic Telecommunications SOA platform - A WSO2 and 2° Co-creation

"A Dynamic Telecommunications SOA platform - A WSO2 and 2degrees Mobile Ltd Co-creation" was presented by Neeraj Satija, Software Development Manager, Two Degrees Mobile Limited, New Zealand, at WSO2Con 2011. It was one of the most interesting case studies from the users of WSO2 products, IMO. 2Degrees mobile has done quite an intensive research and has implemented lots of novel mobile services.

2degrees Mobile has 25% of the market of New Zealand. Neeraj started his session by presenting a brief history of wireless Telco Landscape in New Zealand and the 2degrees - WSO2 Alliance. Neeraj explained the rigorous evaluation and supplier selection approach of 2°. and how and why WSO2 was chosen among the other vendors including IBM, Oracle, and Mule, using a Capability Matrix.

The decision was to adopt SOA and light, flexible, scalable, technology stack - Hence the solution was Web Services and ESB. "Small company, open source, relatively newer, and from Sri Lanka - still had what is needed," Neeraj says ,"For us, WSO2 was the best among the all. Satisfied with WSO2, my trust and faith in WSO2 is justified. WSO2 is proved to be Scalable, light weight, and reliable."

Neeraj also discussed the vision and the future initiatives of 2degrees mobile. This session was surely an interesting use case of WSO2 products.

Wednesday, September 14, 2011

#WSO2Con ~ Building a MobilePOS Solution with WSO2 Carbon and Apple iPod Touch

"Building a Mobile POS Solution with WSO2 Carbon and Apple iPod Touch" was presented by Thilanka Kiriporuwa, Head of Human Resources and Operations, Odel in the WSO2Con 2011, day-2. Kasun Indrasiri, Associate Technical Lead,  WSO2 joined Thilanka in this session. This session speaks something about ODEL which is one of the best shopping destinations in Sri Lanka and online. Hence it naturally grabbed most of our interests (as Sri Lankans).

In this session Thilanka explained how the MobilePOS application will be used in ODEL outlets, specifically the one in Alexandra Place, Colombo-07. WSO2 Mobile Application runs on Apple iPod touch and helps credit card swiping. The next time we go to ODEL, we will see this in action, providing improved user experience, eliminating those long queues during the busy Sundays.

On the other hand, Kasun was explaining the architecture of the Mobile POS solution, the technology behind it, and how WSO2 helped to achieve that. ODEL MobilePOS is exposed to the backend using JSON. The MobilePOS application was developed using Objective C. It talks to barcode scanner and credit card readers using APIs by LineaPro. Apple iPod is only the front end providing a JSON interface, where teh JSON is transformed into SOAP using WSO2 ESB. There is much more happening with the mobile gateway with WSO2 products at ODEL. Bar code scanning and credit card reading was supported by the iPod application 22 million sales have been done over the WSO2 Mobile Services Gateway solution at ODEL, so far.

"Even if you want to change the app to run on Android, nothing to change in code level for ODEL MobilePOS app, thanks to JSON," said Kasun, when answering one of the questions from the audience regarding why Apple iPhone was chosen over other mobile platforms such as Android. He also explained how the reporting component from WSO2 is used to generate various reports at ODEL.

For the interested readers - a white paper on this ODEL case study can be downloaded from the ODEL Case Study page in

WSO2Con 2011

‎~ Last year Sep̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̨̨̨̨̨̨̨̨17th, we were at Water's edge, Battaramulla marking the 5th year of WSO2. Now after almost 1 year, we are at the same place for WSO2Con 2011 - Sri Lanka. As an interesting co-incident, today I (along with 20+ of my friends) marked my first year at WSO2 as a Software Engineer. [Observations: I have to go a looong way, and have to learn lotsa lotsa things. More TODOs for 2012.]
WSO2Con 2011 started in style today (Sep 13th), with the flavor and cultural touch of Sri Lanka. [13th, 14th, and 15th of Sep - WSO2Con Plus 12th and 16th Pre- and Post- Conference tutorials.]

The session was also live webcast through OxygenTank. The event was also actively tweeted by the audience and the event's official twitter page. There are a series of blog posts around the talks by the presenters and the audience. The presentation slides have already been shared by the speakers.

Cultural events and entertainment followed the technical sessions. WSO2Con proves that it is not a tech-only/geeky session. Rather it is a technology and networking event for the architects, intellectuals, technologists, researchers, entrepreneurs, and evangelists.

Friday, September 9, 2011

one year since...✍

The final days of the final semester were full of interviews. We all secured our jobs even before we completed the final semester. Interestingly we joined WSO2 on 13th of September, a Programmer Day. Programmer Day is the 256th day of every year, September 13th or the 12th on leap years. Our work started with a remarkable event marking the 5th year anniversary of WSO2, and it was September 17th, 2010.
Time is a complex element
Time has gone pretty fast. Really fast. It is one year since we have joined WSO2 as Software Engineers. Though we joined last year as Software Engineers, most of us have been in close contact with WSO2 since we had our internship at WSO2 in 2008, 6th of October, followed by the final year project, which was also from WSO2. This makes a solid 3 years with WSO2. 

WSO2Con 2011
Apart from being a company, WSO2 is a good learning environment. Experiments, trial-and-errors and inventions are common at WSO2, for a small-to-middle-sized-company with 125 members. One more interesting point to note is, WSO2Con2011 comes on the days when I mark my first year at WSO2. There are many interesting talks, hands-on-sessions, key notes, and tutorials to happen on the days. It is one of the not-to-miss events happening at Colombo.
We code with pleasure at WSO2. In brief, we love WSO2 and are passionate about working at WSO2. ♥

The year 2011 has gone into its last trimester.

Highlights of the year 2011
1) Google Summer of Code 2011 and Mentor Summit [Upcoming]
I am awaiting a great meet-up with the mentors all over the world from different organizations, around 360 in number. I was a mentor for a project from AbiWord. This year we had 5 projects mentored by AbiWord, and 4 of them were successful ones. It was an amazing experience and we had an interesting set of projects.

2) StratosLive ~ WSO2 PaaS
It is a pleasant experience working with the Stratos team for a year. However we do not have much separation as such teams, practically. We all work as "WSO2 Team", which includes Engineering team, Marketing team, Sales Team, and more. I have worked closely with the Marketing team too. That's one of the nicest features of being part of a team.

3) Sep 13th, 2011
So again, this marks my first year completion at the industry. If I consider the software industry a school, I am still in LKG (Lower Kindergarten). WSO2Con 2011 (13th, 14th, and 15th of Sep - WSO2Con Plus 12th and 16th Pre- and Post- Conference tutorials) will be remarkable for sure. This is the second WSO2Con, and luckily I was also able to attend the last WSO2Con too, which happened immediately after we joined.

4) WWW2011India, HYD
It was one of the great learning experiences, where I was able to listen and participate in many interesting talks and sessions on Semantic Web, Data Mining, Cloud Computing, ReSTful Design, and Social Media Engagement. Met many interesting folks too.

5) 2012 as a much-better-2010 (2010++)
2012 will be one of the interesting years, I foresee.

The first trimester of the year 2011 was something that could have been better. I would correct a few mistakes if I am allowed to go back in time. :) However I learned a lot, during that time.

6) 2011 as an extrapolation of 2010
Most of the positive or negative results of 2011 were actually the outcomes of the year 2010. 2010 was really a big fat year. The world outside is much more complex than the Software Industry. Reading people's minds is much harder than writing software. Software IS predictable [shout if you think otherwise]. I was a hardcore optimist. I learned that I should also wear black hats in times. Not all the things work as we architect in our mind.

Join us at WSO2Con 2011. I will see you all in my next post with the update on the conference September 17th, 2011.

Wednesday, September 7, 2011

OGSA-DAI over WSO2 Application Server

Web Applications list - WSO2 Application Server
Open Grid Service Architecture - Data Access & Integration (OGSA-DAI) is an innovative open source data access and management solution for the real use cases, maintained by EPCC, The University of Edinburgh. It is developed with multiple presentation layers, where you can extend it to use your preferred presentation layer, let it be SOAP or ReST such as the presentation layers built using Axis, Axis2, CXF, Jersey (An open source, production quality, JAX-RS (JSR 311) Reference Implementation for building RESTful Web services), or GT.

OGSA-DAI Services

I recently tried deploying a current version of OGSA-DAI with CXF presentation layer over WSO2 Application Server. It went pretty well. OGSA-DAI is often deployed on Apache Tomcat. Some of the screenshots showing OGSA-DAI/CXF deployed on WSO2 Application Server are shown here.

Web Application Dashboard (/dai)