Tuesday, July 31, 2012

Experience and Life with WSO2

Time has gone extremely fast, and I still recall the day that I joined WSO2 as an intern. I got to know about WSO2, when Sanjaya Karunasena did the OOP lectures at 2007. He was so passionate about open source. Eventually, I ended up applying for WSO2 for my internship, excited about the open source culture, for the very same reason at that time. If I remember correctly, Deepal and Sumedha interviewed me the 2008 for my internship. Special thanks to them for selecting me as an intern. 

It was a nice experience being mentored by Srinath for the projects with Extreme! Labs. Srinath was mentoring Supun Malinga and myself remotely from the Indiana University. Srinath made sure to get us introduced to his colleagues Thilina, Eran, Chathura, and Suresh from IU. My foundation to the open source culture was strongly built with the internship at WSO2 and my first Google Summer of Code with AbiWord in 2009. With two of our friends Denis and Buddhika, Supun and I discussed our final year project with Srinath, and Dr.Srinath who returned to Sri Lanka did an outstanding job as a mentor for our final year project. My special thanks goes to Srinath for his multiple roles in Sri Lankan higher education. He surely is a gem for WSO2 and the country.

Hasmin was the first to interact with me, even before I joined WSO2 as an intern. I recall an appointment I made with her to learn about WSO2, for a Level 3 assignment. I have learned a lot on marketing strategies from her, and my initial social media engagement efforts were strongly inherited from her. I liked her initiative of "WSO2 Member of the Month", "WSO2 evangelist of the month", "WSO2 overall award for the month" (There were three monthly awards like this in 2008/2009. I am sure that I am not mentioning the exact names though.) Hasmin leads the internal and external communications of the company. I thank Hasmin for helping me realize my other strengths in Social Media Engagement, Blogging, and Technology Evangelization. 

Though we joined WSO2 as Software engineers again in September 2010, I actually was with WSO2 since the October 2008, with an extended training for 2 more months, followed by our final year project. Samisa is not just a technical leader. There is much more that we were able to learn from him, including the soft and people skills. I always have admired the way he interacts with the team. My special thanks goes to Sanjiva for selecting us as Software Engineers of WSO2. I confidently say that I have been with WSO2 since the October 2008. It was a pleasant experience, working, learning, and knowledge sharing with the engineering team.

I have worked with Charitha and the QA team, after our six months of internship, and during the releases. I have learned a lot from him in the QA aspects and release management. Prabath, with whom I unfortunately haven't got a chance to work much with personally, was surely a motivation for me. He is well-known among the young engineers for his presentation, communication, and leadership skills.

I have been working with the cloud team lead by Shankar. I got the chance to work on all the aspects from the technology, design, research and development, product releases, customer support, and user interaction. I worked with Azeez for Load Balancer (LB-1.0.0). It was a great experience shaping it as a young product. I congratulate Sanjeewa and the Load Balancer team who are currently taking the product to higher levels, as it is going to face the major release, as LB-2.0. I love the fact that I was lucky enough to work with the cloud team, in all of its faces. I congratulate the cloud team of WSO2 in developing the cloud middleware platform of the future.

As I work with Stratos and StratosLive, I was managing the StratosLive project code-named as "Mars" project internally. During this, I got a chance to work closely with the devops. I will surely miss Sanjaya and Chamith, the dev-ops. :( I have learned a lot from them, from the cloud infrastructure, managing the production, staging, and dev clouds, patch maintenance, and more. I can say from my experience, that the devops are the backbone of a cloud team. I will miss the cloud room, the hottest spot during the release nights, everyone surrounding Chamith. Sanjaya silently handles an unbelievable amount of concurrent requests from the developers, always with a smile. My sincere thanks goes to the duo. 

As WSO2 was my first job, I wanted to exercise my multidimensional interests and talents in my job. Hence I was also given the opportunity to manage the social media engagement of WSO2, working on the digital marketing strategy, the latter half of 2011, including the LinkedIn, Twitter, Facebook, and other online media. I have made a few good friends, from the WSO2 user community during this. My special thanks goes to the cute little family of Marketing team.

At this moment, I wish the WSO2 team good luck, and we will keep in touch. Life is similar to a flight with multiple transits. My journey with WSO2 was remarkable, and I hope the upcoming days will be equally interesting and challenging, towards my next goal. I will keep Llovizna updated on my journey. Feel free to contact me via kk.pradeeban AT gmail.com.

Saturday, July 28, 2012

Moments with Facebook..

After the successful blog post Moments with Twitter and its sequel Moments with Twitter - II, I wanted to write a similar one on my moments with Facebook. But it didn't turn up that easy. 

Most of the stuff that I have shared over the Facebook were in the form of useful links, along with my thoughts around them, similar to Twitter. The recent shift to the Facebook timeline made it hard to locate the links that one already shared. A few applications might help you find the links that you recently posted, or let you search them. FindMyLinks is such an application. I used an application named "My Facebook Links" to find my links. It lets you sort your links, which makes it easier. It even lets you go to the original post, or re-upload (re-share) the link.

You can easily find your Facebook notes, by appending /notes to your profile url. That means, I can find I Facebook notes at https://www.facebook.com/pradeeban/notes. Most of the users (probably including myself) have limited the access to their notes to "Friends only". Hence, you can view your friend's notes, and the notes that your friend is tagged in, by appending /notes to their profile url, as above, based on the permissions set. For others the above link will just redirect to the profile of the user. I used to write quite a few Facebook notes and tag my friends in them during 2009 and early 2010, which I stopped after refurbishing Llovina, as I found it reaching a wider audience.

Unlike Twitter, I post more private (not so private though) material in Facebook, as status messages. From the information point of view, Twitter always wins. I don't think the links I have posted on Facebook would deserve a blog post on them itself, as they were mostly significant only during the time that I shared. I share the links to the music, videos, pictures, photos, or news items that I enjoyed. Usually I share the links to my important blog posts. I used to post the blog posts as notes to Facebook, which I later stopped to avoid data duplication over the Internet!

On a related note, I rarely use Google+, which I just use to share the blog posts that I write here. I have a very well maintained professional LinkedIn profile. However, I rarely share any links on them. An interesting feature of LinkedIn is it lets you view who viewed your profile, to a limited extend on Basic (free) profiles, and completely in the Business and Execute profiles, which are paid ones. Hence I have no interest or plan to write similar blog posts dedicated to Google+ or LinkedIn.

Thursday, July 26, 2012

incubators!

Incubators
The school or the university days are like living in an incubator. Then comes the real world, where 1000x people are there to confuse than motivate. Being independent helps. In times, we have received the flood of praises, and sometimes, the situation is reversed. While taking the message, we should keep moving on, without reacting much. Self-motivation is always the key. I can list one more - keeping the expectations low from others, while having the highest expectations from one's own self. (I will be satisfied, if I do, what I expect myself to be doing.)

To love or to judge
The world is full of judges and critics. It is not very difficult to find someone who can judge you, but it may be extremely difficult to have someone who loves without judging. Unlike in exams, we are evaluated each minute in the real world. Either you be smiling, or faking a smile to not appear someone who whines always. Labeling someone as an addict, pervert, or stupid is not effective in any way. Nevertheless, we can actually point the specific incident and help him do the corrective measures to overcome the addiction or problem. No one is the same always. 

3
I have read somewhere - that in a cooperate world, the minimum overall rank an employee is given in a review is always 3 (meets expectations), in a 1 - 5 scale. This is to avoid demotiving the employees with the lower ratings. If you are rated 3 in an organization that adheres to those suggestions, be informed that you are ranked the least. :-)

Effort
Nevertheless, an effort is never wasted. Though the immediate outcome may not be positive, an honest effort on something always provides a long term gain.

Monday, July 23, 2012

A culturally rich summer at Delhi..

Mid Summer Break (10th - 19th of July, 2012)
Recently I had an awesome mid summer break of 10 days at New Delhi - the capital city of India (Photos). It was a nice experience, visiting many worshipping places, such as Lotus Temple (The Bahá'í House of Worship), The ISKCON temple (The International Society for Krishna Consciousness), Gurudwara Bangla Sahib, and Birla Mandir Laxminarain Temple. I have also paid a visit to India Gate and Qutub Minar (Photos of Qutub Minar and the surroundings). HOHO bus is an ideal option to travel around New Delhi for just 300 INR, in two days, where you can tailor your own journey covering 19+ tourists attractions of Delhi. India is a multi-cultural and multilingual country where you can experience a diverse cultural experience.

Roaming
Make sure to set your roaming to the correct network provider to get the cheapest roaming rates for SMS and Calls. I had mistakenly let the "Mobile Network Selection Mode" to be "Automatic". The rate was initially very cheap, as my mobile picked IDEA Cellular networks as the network in Pahar Ganj, New Delhi, as my mobile network is Dialog Telecom. However, when I moved to Chanakyapuri, the network changed automatically to "Reliance", which cost me 2000 LKR for just 3 calls, where I had taken around 10 calls for 1000 LKR in the previous days! So make sure to set the Mobile Network Selection Mode to "Manual" from Options -> Mobile Network -> Network Selection Mode, and Mobile Network to the relevant network, as advised by your local mobile network provider.
Graffiti on a road side wall

Pick your accommodation!
Pick your hotel carefully. Some economic hotels are located in a highly congested areas such as Pahar Ganj or Arakashan Road. Some of these hotels may be nice. But may not suit all the travelers. Travel  review sites such as TripAdviser provide useful information on planning your trips. Make sure to add your own reviews, once you come back home after your trip, like I did! During the summer days, Delhi gets really hot. 45°C is pretty average for a summer noon. Be prepared for that. Take a bottle of water or two, with you, always. Some of the economic hotels or hostels tend to have a limited water supply. That is an interrupted water supply in the high demand time such as the morning time, or water with very low pressure. Be aware of this, and be prepared.

Colourful India
Getting into a three-wheeler and paying only for what you traveled is an art, and it needs some experience. I have blogged it as New Delhi by tuk-tuk, as it tends to make this blog post longer. Make sure you read it. :)

Don't forget to explore the yummy North Indian food. If you turn on the Tv, you will be impressed by hundreds of Indian channels, with local movies and songs! Road side walls are often filled with graffiti in many parts of New Delhi. Some of them have interesting messages too. Some roads have rickshaws that run in the local roads, which sometimes create traffic jams, along with the other careless drivers, who never seem to obey the traffic rules.


Love India
India is full of cultural marvels. It takes lots of time to explore it completely. This was my second trip to India, where I had already visited Bangalore and Hyderabad last year. Hope to see more of India in a later trip.

Sunday, July 1, 2012

Installing xchat-gnome from the source, on Ubuntu 12.04 / 64 bit

Building and installing xchat-gnome from the source, on Ubuntu 12.04 / 64 bit is pretty simple.

0) Install git, if you don't have already.
$ sudo apt-get install git-core

1) Check out the source code of xchat-gnome.

If you are going to build it at a later time, it is time to take a git update too (just like an svn up).
$ git pull
 
2) Get the dependencies from the repositories (If you are not following this, you will end up installing them one-by-one, as I did. Explained below under "Trial and Error - How I got the dependencies" - only for the interested, as that is an optional read).
$ sudo apt-get install gnome-common gnome-doc-utils libnotify-dev libvorbis-dev libnotify-dev libgconf2-dev libltdl-dev
 
Note: There may be more dependencies, that I may already have had in my system. If complained during the step (4), make sure to install them too!

3) Libcanberra!
Download and install libcanberra 0.29, since the version in the repositories is 0.28, and at least 0.29 is required for xchat-gnome.
Extract the tar and cd to libcanberra-0.29
$ ./configure
$ make
$ sudo make install 

4) Now building!
Move to the xchat-gnome folder
$ cd xchat-gnome
$ ./configure
$ make
$ sudo make install

5) Start xchat-gnome!
Now you may start xchat, by typing as below.
$ xchat-gnome



[Optional Read] Trial and Error - How I got the dependencies

Attempting a build, from the xchat-gnome directory.
$ sh autogen.shYou need to install gnome-common from the GNOME CVS

Let's install gnome-common
$ sudo apt-get install gnome-common

Retry.

$ sh autogen.sh
***Error***: You must have gnome-doc-utils >= 0.4.2 installed
  to build xchat-gnome.  Download the appropriate package for
  from your distribution or get the source tarball at
    http://ftp.gnome.org/pub/GNOME/sources/gnome-doc-utils/

Let's install gnome-doc-utils.
$ sudo apt-get install gnome-doc-utils

Retry.
$ sh autogen.sh
checking for LIBNOTIFY... no
configure: error: Package requirements (libnotify >= 0.7) were not met:

No package 'libnotify' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBNOTIFY_CFLAGS
and LIBNOTIFY_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.


Let's install libnotify.
$ sudo apt-get install libnotify-dev

Retry.
$ sh autogen.sh
checking for LIBCANBERRAGTK... no
configure: error: Package requirements (libcanberra-gtk3 >= 0.29) were not met:

No package 'libcanberra-gtk3' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBCANBERRAGTK_CFLAGS
and LIBCANBERRAGTK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.


Let's install libcanberra-gtk3.
$ sudo apt-get install libcanberra-gtk3-dev


Retry.
$ sh autogen.sh
oh-oh.. minimal version requirement not met!
checking whether to enable notification sounds using libcanberra... yes
checking for LIBCANBERRAGTK... no
configure: error: Package requirements (libcanberra-gtk3 >= 0.29) were not met:

Requested 'libcanberra-gtk3 >= 0.29' but version of libcanberra-gtk3 is 0.28

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBCANBERRAGTK_CFLAGS
and LIBCANBERRAGTK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Let's download libcanberra 0.29
Extract the tar and cd to libcanberra-0.29

$ ./configure
configure: WARNING: *** lynx not found, plain text README will not be built ***
checking for VORBIS... no
configure: error: Package requirements ( vorbisfile ) were not met:

No package 'vorbisfile' found

Let's install vorbisfile
$ sudo apt-get install libvorbis-dev

Again,
$ ./configure
It is successful now.

Let's make.
$ make$ sudo make install 

Now back to xchat-gnome directory
$ sh autogen.sh
Successful!

Now make!
$ make 
$ sudo make install

Now it is built and configured!
Now you may start xchat, by typing as below.
$ xchat-gnome