Saturday, April 30, 2011

[Facebook] Identifying the profile from the shared image link

Image 1 - Below an image in Facebook
It is always possible to get the source address from the images shared over facebook and use it elsewhere over the web, as an image content by giving the link.

Getting the link from the "Download" option:

Use the image link ( as an image source.

Regardless of your privacy settings, once the link is exposed, anyone over the Internet can access the image directly and download it!
One of my friends asked, how to get the Facebook profile of the original owner from the facebook image shared over a website.

So here comes the way.
  • We get the source location of the shared image.
  • Image URL is in the form of https://...../35861_409992913465_705563465_4274416_6899149_n.jpg
  • Take the 3rd block of the numeric value from the right.
  • In this case, it is 705563465.
  • https://...../xxx_xxx_705563465_xxx_xxx_n.jpg
  • So 705563465 will be the facebook profile id of the original owner of the image.
  • Image 2 - An Image from facebook
  • Now by appending the profile id to you can view the profile. So in this case, it is
\yay/ You have found the person behind that face! :P
    Apologies if this post sounds silly and obvious. Thought it may be useful for some others as well.

    P.S: The images and the facebook profile used in this post are mine, and neither copyright nor privacy is infringed by this post.

    Thursday, April 28, 2011

    Google Summer of Code 2011 and AbiWord

    Being a mentor for Google Summer of Code is yet another interesting experience like being a student. It was a nice memory going through all the 23 excellent proposals for AbiWord and reviewing them as a mentor, during the night at our annual trip at Kandalama. This year, AbiWord has got more smarter applications. GSoC deduplication meeting was something remarkable, where the organization admins (or a representative/mentor from the organizations) resolve the duplicate students issue in the presence of the Google Summer of Code admins over #gsoc at Many students were also seen in the irc meeting to check whether they have been accepted for multiple organizations, and in that case, where are they going to work for their summer. Selected students were announced by Google on 1900UTC, 25th of April, a few days after the dedup meeting.

    The list of accepted students, along with their project proposals as well as their mentors are given below.
    Fabiano Fidencio - "Get our Mac Port up to speed" - Mentored by Marc Maurer
    Volodymyr Rudyj - "Implement an ePub filter" - Mentored by Xun Sun
    Chen Xiajian - "Implement Hyphenation" - Mentored by Kathiravelu Pradeeban
    Aseem Sharma - "Port AbiWord to Gtk-3.0" - Mentored by Jean Bréfort
    Andrei Sfrenț - "Reduce flickering" - Mentored by Martin Sevior

    An important factor to notice is that, since 2006, AbiWord has successfully been participated in all the Google Summer of Codes (2006, 2007, 2008, 2009, 2010, and 2011). Hence this becomes the 6th consecutive year for AbiWord to participate in Google Summer of Code! I wish the 5 students who got selected a great summer of code with AbiWord, and I hope they will continue to be a long term contributors even after their summer. At the same time, I should also note that, we had to miss a few nice students as we have only 5 slots. Hope they will still continue with their development on AbiWord.

    Saturday, April 23, 2011

    how to ignore someone you love

    Lately many stupid* people have started to click unknown links over the facebook. Finally they ended up ..
    1) Liking very ugly videos and sharing them over their newsfeed to their friends. - Actually those are not videos. They are applications that pose like videos. Once you click the link hoping to have some fun with that *video* clip, everyone will know that you have tried to watch that creepy thing. If you want to have a look at a video clip, use Youtube [Youtube and Facebook - both have a censor policy]. Don't click random links over the facebook. Your online identity matters.

    2) Worse - Once you click the spam link, it will spam your innocent friends. If they too are stupid, they will click the link too, eventually spamming everyone over the facebook.

    Currently, the hottest spam is, {someone} invited you to the event "How to see who viewed your profile!!". So it comes in the format of the event. All who clicks the link in the event will get affected, and spam their friends by inviting their friends to that spamming event without knowing they are doing so.
    Pls pls plsssssss stop these stupid invitations.. If I ever visit your profile, I never forget to leave at least one comment or a like.. so don't send me invitations to "How to see who viewed your profile!!" - So far 71 invitations.. :'( I don't care who viewed my profile.. :'(
     Apart from everyone preaching about these spam, still people are being stupid and are clicking those stupid links and spamming others.

    I never remove the fakes, ignorant people or the rude people from my friend list, once they got into my friends list in facebook. The rationale is, the real world too is full of fake people as well as the rude people. So I don't want to fake a nicer world in my facebook by removing them. Thus my facebook profile is more natural.

    Finally I decided to temporarily ban everyone from inviting me to any event. But I couldn't figure out how to do that. So I tried to get some help from Google. I started typing, *how to ign* to get some idea on how to ignore the facebook event invitations. 

    Have a look at the Google's suggestions -- *how to ignore someone you love*. Seems people are actively finding ways to ignore someone whom they love! World is so weird!

    Saturday, April 16, 2011

    Winning the customers' hearts and more ..

    Last year I tweeted once on LOFT's effective and proactive response to the customer feedback over the Internet. Let me summarize the LOFT story for the completeness. LOFT specialize in clothes for women, through their stores and through their online marketing. 

    Customer-Oriented Marketing
    They had announced a new jeans, and posted photos of a few models wearing their new jeans model over their facebook fan page. But users were not much satisfied, and their comments were mostly negative pointing out the fact that the new models of the jeans will not suit the public, except for the *models*. As a response, LOFT asked its team members to appear in the new model of the jeans, and posted their own team members wearing the jeans as a facebook album. This immediate response grabbed the attention of many customers, and it gave a tremendous amount of customer trust and recognition for the particular jeans model. Feel free to go through their fan page or twitter page if you want to know more about this famous story.

    Young and Energetic Teafe
    This time, I have a similar customer satisfaction related experience, and fascinatingly it is from a very young mini-cafe (exactly 3 months old when we visited them - 27th of March, 2011). We were on a short trip to India to attend a conference, and had to stay at Indiranagar, Bangalore for a day. So during the morning walk, we noticed a small cafe on the road side of 100 ft road.

    Creative and Unique
    First thing which grabbed my attention was the name "Chaipatty 'Teafe'".They mention they are dedicated to tea cafe (and hence the name Teafe). The seats were showing the Indian tradition. The cafe -- oops, sorry -- teafe, was also full of fancy items and brands making it possible to have a mini shopping while sipping the tea or a milk shake.

    Friendly and Proactive
    The teafe members were really friendly. They are interested in getting the customer feedback too. One more interesting thing was their Facebook page. I did notice that they have written down their facebook page address on a white board at teafe, but I didn't expect the page to be such professional, with proper photos those will speak vigorously than any advertising media. Just do a google search 'Teafe', and you will get the Teafe's facebook page as the first hit. One thing they missed was the domain - is not theirs.

    Win-Win and Customer Loyalty
    Pay a visit to the Teafe's facebook page, and you will realize it yourself. I have visited it only once. So please feel free to correct me if I have mistaken any facts here. Earning a loyal customer is a win-win for an organization. I am pretty sure Teafe plays the correct game in this. I hope to visit Teafe once more, if I get a chance to visit Bangalore again. I would also recommend anyone at Bangalore to have a visit too. :)

    Life full of -aaS (a.k.a. The list of -aaS.)

    We once have discussed on the topic of xOA (-Oriented Architecture), where we found how many "oriented architectures" have been researched, discussed, merged, or even made up. The same has been happening how on aaS (as-a-Service). Though -as-a-Service started with cloud offerings, now we can see, it is often used as a buzz word in other domains too, to grab some popularity and attention. I have listed down a few that I have found over the net. Please note some of the below aaS may even sound childish or made-up terms. I am not responsible for that.. ;)

    1) AaaS - Analytics as a Service
    On demand analytics services. Web-based analytics applications.

    2) BaaS - Business as a Service 
    Easily "virtualize" your business.

    Business Intelligence As A Service

    Backup as a Service
    Backup as a Service offers companies the ability to do their backups to the cloud.

    3) CaaS - Computing as a Service
    Verizon offers computing as a service, addressing Security, Reliability, and Control.

    Communications as a Service
    Gartner defines CaaS as IP telephony that is located within a third-party data center and managed and owned by a third party.

    4) DaaS - Data as a Service
    DaaS is based on the concept that the product, data in this case, can be provided on demand.

    Desktop as a Service
    Outsourcing of a virtual desktop infrastructure (VDI) to a third party service provider.

    5) EaaS - Everything as a Service
    From simple office documents to extensive customer service management, EaaS vendors could provide the tools through the cloud (internet).

    6) FaaS - Fraud as a Service
    When an online fraudulent activity such as trojans is provided as a service.

    7) GaaS - Gaming as a Service
    Gamers who may wish to either complement their existing gaming console or replace it altogether with a Gaming-as-a-Service (GaaS) option.

    8) HaaS - Hardware as a Service
    A service provision model for hardware that is defined differently in managed services and grid computing contexts.

    9) IaaS - Infrastructure as a Service
    One of the commonest and earliest form of -aaS. Provides hardware infrastruture as a service, hence in early times Hardware-as-a-Service (HaaS) was used interchangeably.

    10) JaaS - Jobs as a Service
    Jobs as a Service for an effective job hunting and decision making

    11) KaaS - Knowledge as a Service
    An on-demand, bite-sized, where-needed approach to skill acquisition.

    12) LaaS - Logging as a Service
    Log management in the cloud

    13) MaaS - Mashups as a Service
    When SOA meets web-2.0.

    14) NaaS - Network as a Service
    SaaS (software as a service) web 2.0 model to mobile operators and the intelligence stored within their networks.

    15) OaaS - Oracle as a Service
    Database Consolidation

    16) PaaS - Platform as a Service
    Something that stays in between software application and infrastructure as service (SaaS and IaaS).
    As providing our WSO2 Carbon middleware Platform as a Service over the cloud, as StratosLive, we have discussed this several times before over this blog itself. Hence omitting further discussion now. :)

    17) QaaS - Query as a Service

    Quality as a Service

    18) RaaS - Recovery as a Service
    Allows you to keep and maintain ongoing backups and data recovery files.

    Routing as a Service

    Replication as a Service
    Provides replication through the cloud infrastructure as a Service

    19) SaaS - Software as a Service
    Application in the cloud. Along with infrastructure as a service, this is the first among the list of "as-a-service".

    20) TaaS - Testing as a Service
    Many organizations including Wipro and Qutesys provide testing and quality assurance using the pay-as-you-go model.

    21) UaaS - Utilities as a Service

    22) VaaS - Virtualization as a Service
    VaaS offers low cost virtual servers using enterprise class hardware in secured datacenters.

    23) WaaS - Wireless as a Service
    Cisco Virtual Wide Area Application Services: Cloud-Ready WAN Optimization Solution

    24) XaaS - Anything as a Service. Mostly used as an umbrella term (xaaS) to refer to all the -as a Service terminology used.

    25) YaaS - You-as-a-Service

    26) ZaaS - Zebra as a Service 

    Feel free to provide reference to any other as-a-Service of the form xaaS that I may have missed in this list, as a comment below. I have come up with this list using the help of Google. So if your aaS is far below in the Google's ranking, most probably I would have missed it. Moreover you can find many similar lists of aaS online. I have found one myself before. However most of them are outdated lists and doesn't contain the new emerging or made-up xaaS acronyms or terminology.

    Friday, April 15, 2011

    මරන්න එපා නිදහස් කරන්න

    I recall, it was one of the classes, and my teacher was narrating a story from the history of Sri Lanka. A prince has been arrested and kept in prison, for a while. Now, an order goes to the jailers, "මරන්න එපා  නිදහස් කරන්න" (Translation: Kill not release). He is supposed to be released, according to the real order (මරන්න එපා.  නිදහස් කරන්න; Kill Not. Release). But the jailers get it wrong as මරන්න. එපා  නිදහස් කරන්න (Kill. Not  Release). So finally he ends up his life sadly. 
    With time, I have actually forgotten the real context and the exact figures involved in this historical story. But I got the message clearly. 
    "Please be clear in what you are saying. Miscommunication costs lives!"

    In a direct face-to-face communication, it is said that only upto 7% of the communication is contributed by words (verbal communication). The remaining is expressed through the tone and body language. When it comes to the online communication media or even a text message (SMS), we have to make sure to use that 7% effectively to contribute to the entire message, since the other two factors are not present. I often prefer lengthy mail over the short messages to avoid the "මරන්න එපා  නිදහස් කරන්න" scenarios due to the miscommunication. Sarcasm, pun, or jokes rarely interpreted correctly over the media except face-to-face.

    Over technical ircs, we always ask the newbies to type in full, instead of using an sms language (I srsly hate ppl typng lk ths ovr ircs. I mean t). However we should accept the fact that the smileys support a lot over these communication media for an effective communication.
    0) yes, I will give a try. 
    1) yes, I will give a try. :) 
    2) yes, I will give a try. ;)
    3) yes, I will give a try. :(
    4) yes, I will give a try. :P
    5) yes, I will give a try. :S

    You can get different meanings by going through the same sentence given above (0 - 5). I get the below meanings, actually. (Sentence 0 doesn't need further explanation - It is the sentence, without any smileys. It says itself).
    1) yes, I will give a try. :) [I will happily give a try.]
    2) yes, I will give a try. ;) [It will be fun to give a try. So I may.]
    3) yes, I will give a try. :( [You ask me to give a try. So I will, though I am not competent enough]
    4) yes, I will give a try. :P [I may give a try; most probably I won't.]
    5) yes, I will give a try. :S [I am worried, whether I should really give a try.]

    When interacting online, we always prefer to use the Internet slang and the smileys. They make the conversation more animated and interesting. An alphabetical list of the most commonly used internet slang can be found here along with their meaning. This site lists the smileys with their meaning. In a formal communication, we should always avoid the usage of smileys or the other languages except English (unless in a specified localized group) nevertheless. Saying everything directly in simple words would be better, to avoid miscommunication, as well as to suit the culture of the work environment.

    Recently I lost the friendship (temporarily - I am pretty sure. I am capable enough to rectify this in the upcoming days myself, and we will be back to normal as good friends.) of one of my good friends due to some misinterpretation. It hurts nevertheless to hurt a good friend. So again it calls for this blogpost.

    "I heard someone badmouthing you recently", I was told on a related context.
    "Nevermind, that simply means, I am more important and influential to them than their own self. Just let them entertain you," I smiled.

    Though badmouthers are annoying and irritating, there is nothing to worry about them. They do exist and let them exist (like all the other *things* in the environment). Fighting with them just reduces our effectiveness. We have the freedom to choose our response in an effective manner, after all!

    Thursday, April 14, 2011

    Stephen R.Covey

    This week is vacation for us at WSO2 and for many other organizations in Sri Lanka for the Sinhala Tamil New Year. So I got some time to complete reading two of the books I have been reading for a while, which I never had enough time to complete reading. Both are from Stephen.R.Covey, focusing on self help.
    1) The 7 Habits of Highly Effective People.
    2) The 8th Habit.

    It was during my mentoring module of Level 2, these books were recommended by Mr.Madhu Rathnayaka and the mentoring panel at Virtusa. It took me a considerable amount of time to get these books read. Anyway it was a good investment of time, and I would recommend these books to anyone who is  interested. :)

    You may  buy these books online at Amazon, from the below.

    Dropbox Error in Ubuntu 10.04

    I have been using Dropbox to store my documents safe over online, syncing with my local file system (Ubuntu 10.04 Operating System - 32 bit). Recently it stopped initializing during the startup, where it was working perfectly earlier times. The error message stated, "Couldn't start Dropbox - This is usually because of a permission errors. Errors can also be caused by your home folder being stored on a network share. Please contact support with the following information for more help: /tmp/dropbox_error3aMj4F.txt"

    So I opened the file, 
    pid:    2283
    ppid:    2261
    uid:    1000
    user_info:    ('pradeeban', 'x', 1000, 1000, 'pradeeban,,,,', '/home/pradeeban', '/bin/bash')
    effective_user_info:    ('pradeeban', 'x', 1000, 1000, 'pradeeban,,,,', '/home/pradeeban', '/bin/bash')
    euid:    1000
    gid:    1000
    egid:    1000
    group_info:    ('pradeeban', 'x', 1000, [])
    effective_group_info:    ('pradeeban', 'x', 1000, [])
    appdata:    u'/home/pradeeban/.dropbox'
        mode=040755    uid=1000    gid=1000
    parent    mode=040755    uid=1000    gid=1000
    dropbox_path:    u'/home/pradeeban/Dropbox'
        mode=040755    uid=1000    gid=1000
    parent    mode=040755    uid=1000    gid=1000
    HOME:    /home/pradeeban
    tempdir:    '/tmp'
        mode=041777    uid=0    gid=0
    parent    mode=040755    uid=0    gid=0
    Traceback (most recent call last):
      File "", line 699, in main_startup
      File "", line 419, in run
    AssertionError: Wrong build of Dropbox (9 vs 14 needed)

    Googling the last 3 lines gave me the solution.
    pradeeban@pradeeban-laptop:~$ dropbox stop
    Dropbox isn't running!
    pradeeban@pradeeban-laptop:~$ dropbox status # Should report "not running"
    Dropbox isn't running!
    pradeeban@pradeeban-laptop:~$ rm -r ~/.dropbox-dist/
    pradeeban@pradeeban-laptop:~$ dropbox start -i
    Starting Dropbox...
    Dropbox started initializing fine during the start-up and also worked perfectly after that.

    Sunday, April 10, 2011

    Retina India and WWW2011India

    WWW2011 Conference (20th International World Wide Web Conference) was held at HICC (Hyderabad International Convention Centre), Hyderabad, India 28th of March - 1st of April. Chathuri and myself from WSO2 attended the conference as delegates. It was a remarkable trip to Bangalore (26th & 27th, March 2011) and Hyderabad (28th March - 2nd of April 2011).

    We attended the 2nd International Workshop on RESTful Design (WS-REST 2011 - 28th March: Proceedings), the 1st International Workshop on Social Media Engagement (SoME 2011 - 29th March), Dev Track – [Mostly Cloud Computing] (30th and 31st, March), and a paper presentation on a few Research Papers on the final day (Information Credibility, Web Applications, and Monetization). Key note speeches were given by Dr. A. P. J. Abdul Kalam (Scientist and ex-president of India), Sir Tim Berners-Lee (The inventor of the world wide web), and Christos H. Papadimitriou (Professor of Computer Science at UC Berkeley).

    There were booths, posters, and exhibits as well. Google, Yahoo!, InfoSys, Tata Consultancy Services, ApnaCircle, Zoho, IET, and some other companies/organizations had their booths during the conference days. But one booth grabbed special attention from most of us. It was the booth from Retina India.

    "Retina India is an umbrella organization of people with retinal disorders, their families and friends, which brings them on a common platform with experts such as physicians, researchers, counselors, low vision and mobility experts, and other specialists, such that there is a cohesive focus towards increasing awareness of retinal diseases in society as well as about the people who get affected by them, and inducing innovative research and treatment efforts for such diseases."

    It was so impressing and motivating to listen to Mr.L.Subramani, who is a differently abled journalist also a trustee for the organization. He did a small presentation after the social event - a Kuchipudi (తెలుగు : కూచిపూడి) dance (The cultural dance of Andhra Pradesh in India) series from Yamini Reddy and team. We were also able to talk to him in person at the booth of RetinaIndia. His message was clear. It asked the *normal* people to open their eyes. It also had the strong power and message. He invited the developers of the web sites and applications to consider the accessibility aspect of the programs. He pointed out that many applications consider the accessibility by differently abled persons (specially people with vision problems, partial or full blindness), but not many web sites. His suggestion is to involve the differently abled people in the development of the sites and the applications, such that they will be able to take part in shaping up the accessibility of the products.

    Retina India became the highlight of the event obviously. I strongly believe their vision will be successful not just in India, but all over the globe. May God bless the good hearts.

    As a point to note: WWW2012 will be held at Lyon, France.

    Wednesday, April 6, 2011

    Localizing WSO2 Carbon based products

    WSO2 Middleware Products and Services
    WSO2 Carbon, is by design, an internationalized (i18n) platform, hence making all the products and services that are built on top of Carbon ready to be localized to any language of your choice. Users have shown interest and have also localized WSO2 products in Chinese, Sinhala, and some other languages to a considerable extent.

    Componentized Architecture
    WSO2 Carbon with its modular architecture, is made of components. You can either build the Carbon core and pick whatever the components you need and integrate them into your Carbon build, making a customized product of your choice, or you can simply pick on of the products, let it be Appserver, ESB, Mashup Server, from the list of products and build it from the profiles, as we have products well packed for the need of a software architect.

    Getting the Product/Service
    Now you have two choices, based on your requirements. If you are going to just use the WSO2 products, you can simply download and use the  binaries or download the released sources for the respective product and build the product using Maven, if you are a fan of building from the code.  But you may prefer to build WSO2 Products from the source repositories (svn) as well, if you want to build customized products, learn the complex code base of WSO2 Carbon, extend WSO2 Carbon or Stratos (WSO2 Carbon Platform Middleware as a Service), have the desire to use the technology in its bleeding edge, or OEM WSO2 products where you can get the commercial support from the WSO2 experts for your organization.

    Localization ~ From the source
    Now let's come to the localization. Say you want to use a WSO2 Product with the user interface in your language. For that, you have to localize the and files in locations like carbon/components/stratos/tenant-mgt/org.wso2.carbon.tenant.mgt.ui/src/main/resources/org/wso2/carbon/tenant/mgt/ui/i18n, when coming to localize the source, even before building.

    Localization ~Not a mere dream
    But obviously what users choose is to localize the product binaries. Internationalization in WSO2 Carbon is done in such way so that by putting a single bundle, all text every where can be replaced. There is no manual work involved. If someone wants to introduce a new locale, just create a bundle containing all converted text, deploy & that's it.

    eg: If you want to localize Component manager & User Manager to Spanish, here is what you need to do.

    Create a OSGi bundle with following properties files in given folder hierarchy.


    Build the bundle & deploy feature. Now by changing the user interface language from the browser or system (based on your operating system), you should be able to see Carbon running in the chosen language.

    And, if you need to localize every text, you just put all the resource files from every component into the above bundle. By design, we have followed the correct packaging. Hence, resource file from one component will not get replaced with another.

    After localizing the relevant .properties files (basically changing the value string from English to Spanish, in the key=string pair in the relevant files), start (or restart if it is already started) WSO2 Stratos Manager. You can see the WSO2 Stratos Manager running in the Spanish (or whatever the localized language) interface.

    Image 1: Stratos Manager - Interface in Spanish
    submit.tenant=Enviar Inquilino
    domain.information=Inf. de dominio
    contact.details=Datos de contacto
    admin.username=Admin Usuario
    current.admin.password=actual contraseña del administrador
    new.admin.password=Nueva contraseña del administrador
    new.admin.password.repeat=Nueva contraseña del administrador (Repetición)
    admin.password=Contraseña del administrador
    admin.password.repeat=Contraseña del administrador (Repetición)ñadir un nuevo inquilino los inquilinos
    overview=Información general
    tenants.list=Lista de Inquilinos
    company.organization=Empresa/Organización Administrativo
    added.successfully=Ha agregado un nuevo inquilino con el dominio:
    updated.successfully=Ha actualizado correctamente el inquilino con el dominio:
    update.added.tenant=Actualizar la acaba de agregar/inquilino actualizada
    update.tenant=Actualizar Inquilinoñadir un nuevo inquilino una nueva organización
    view.all.tenants=Ver todos los inquilinos
    tenant.admin=Inquilino Admin
    tenant.description=Descripción Inquilino
    admin.fullname=Nombre completo
    admin.address=Dirección electrónico
    self.registration=Registro de Inquilinos
    gaas=GaaS un nuevo inquilino
    active=Activo de Gestión
    word.verification=Verificación de la palabra
    captcha.message=Escriba los caracteres que ves en la imagen de abajo. de creación