Wednesday, December 27, 2017

A few things that made my 2017 interesting..

Thiruvannamalai, Tamil Nadu, India
2017 is my best year so far, followed by 2015 and 2013. In this post, I list 30 things that made my 2017 interesting.
2. A fast-paced year full of déjà vu.
Too many things happened in too little time.

3. Winning a projector from Teradata in a Twitter contest at VLDB 2017
I love this Mini Android Smart Portable Projector.

4. A midnight walk in
Timișoara with just a paper map
Finally, a huge fan of Romanian music visits Romania!

5. My first book published.
It was nice to publish my first book, and receive its hard-copies.

6. My first book chapter, ready for publication.
My book chapter was accepted for publication before my first book, but my book was released first.

7. Reviewing books and papers.
Received a few printed books as a result.

8. ACRO2017 in Karlstad, Sweden.
My first (and probably, only) summer school. And making friends!

Spring flowers of Keukenhof
9. Beautiful Oslo
This city is as beautiful as Stockholm.

10. Sunny Szeged
It is a pity I did not collect some Hungarian Forint (1 USD = 262.611 HUF) back home to give them to scammers.

11. Valencia - once more Spain!
I visited Spain and Sweden in 2013, 2015, and 2017. Following this pattern, I predict that I will revisit them both in 2019. ;)

12. Memories of Louvain-la-Neuve 
When I arrived in Louvain-la-Neuve in February, I did not realize that my entire year is going to be in this Belgian village!

13. Walk across the castles in Luxembourg
I love these small EU countries.

We were right in the season. Perfect timing.

Short. But surprisingly nice.

16. Two months in the Kingdom of Saudi Arabia.
As a visiting student / Government Visitor to KAUST.

17. Sleepless nights in Colombo
Deadline-oriented motivation. This year is full of that.

18. Turning 30
I think that is a big achievement to reach my 30s.

19. A day in the streets of Prague
A day full of random metro rides and walks.

20. New Year's Eve in Zurich!
Enjoying the view of the moving flights from the ZRH Airport Observation room on the 1st of January!

21. Attending VLDB in Busy Munich
Loved attending a top conference for the first time. Berlin is still my favorite city.

22. Colorful Bruges, Belgium.
Summer in Bruges
It is so colorful in the summer.

23. Experiencing Chennai, India
After watching several Tamil movies from India, it is nice to be in Tamil Nadu for the first time.

24. Dissecting various scams in Portugal, Sri Lanka, and Belgium.
Fell victim to a few. Dodged a few. A scammer may come in various shapes, jobs, and genders. But usually, he is a taxi driver.

25. A sunny day in Fonte da Talha
Spending a whole evening in this Portuguese beach once more before the summer runs out!

26. Staying in a hotel room in Faro just to connect to the Internet before a flight
Luckily the Internet was reliable enough in my room to connect to an important meeting that I was part of.

27. Working on Óbidos and Évora
This time I am talking about my research papers. Not the Portuguese cities.

28. Attending EMA GA in Brussels.
Been the PR several times for both EMDC and EMJD-DC. But first time in the GA representing both.
29. Half-decade of Memories
It has been 5 years in Lisboa and with IST/INESC-ID!

30. Two Christmas Parties!
Joined the parties in UCLouvain/Belgium and INESC-ID Lisboa.

Every year, I have one new year's resolution - to outperform my previous year. :) The bar is very high for 2018. I wish you a happy new year everyone. Thanks for reading my list until the end. You may also read the blog posts of the previous years as well.

Tuesday, December 26, 2017

How to Transfer Money free to a Foreign Account

Bank transaction rates for foreign currencies are exceptionally high, with poor transaction rates. TransferWise is an online platform that aims to solve this problem.

You can transfer your money to a foreign account for free up to 500 GBP, using the TransferWise referral link:

Similarly, share your own invite link with your friends, and their first transactions will be free as well if they use an invite link. The more invites you send, you will also be rewarded.

I have transferred money between US and EU accounts, as well as to Sri Lanka from the US and EU bank accounts. It really has a diverse list of currencies and speedy delivery. Try and confirm it on your own!
What made me a fan of TransferWise is not just their transparency and real transaction rates (you can confirm by comparing with provided transaction rates with TransferWise values). It is also the customer service of TransferWise. When I ran into some issues with a transaction, TransferWise went all their way to resolve the issue as quick as possible with their personalized support.

I am a happy customer of TransferWise, and this is my unbiased review as a regular user. :) Are you a user too? Please share your experience.

You may read my other reviews here.

Friday, December 22, 2017

Delayed Ryan Air and Drinking Water

A half-decade long memory.
My Ryan Air flight was delayed by 2 hours and 55 minutes. I was informed that I am not entitled to any compensation as this delay is less than 3 hours. Very convenient timing. There was no free water on board. Despite the delay, everyone was forced to buy water for 3 Euro. What if someone did not have 3 Euro to buy water and faint down? It is after all the mistake of Ryan Air for delaying with passengers onboard, without even informing us the reason for the delay properly. I had to buy water + meal combo for 10 Euro as it was lunchtime already. I love my TAP Portugal flights - even the shortest flight gets you something to eat and drink!

This year, I had to fly back and forth between Belgium and Portugal a few times with the last minute flights during the last 4 months. I once had to pay 200 Euro to fly from Faro to Charleroi one way, which would have cost me less than 20 Euro if I booked on time. I even did not take any checked in luggage with me. Just my big backpack as the handluggage.

Once I also had another 200 Euro flight between Brussels and Lisboa with an overnight transit in Madrid with AirEuropa. AirEuropa seats are wide with large legroom.

Eventually, I am back to Portugal after all the back and forth movements. When I am back, the year is about to end. The year was full of memories and lots of déjà vu. It was like living my entire 30 years of life back in a single year. Like a remix of old songs. Sometimes it felt like living a South Indian Kollywood masala movie directed by someone making a new movie copying fractions from many old successful movies.

It was a fast-paced year. I migrated rapidly. Moved apartments even rapidly. Sometimes I lived in 3 apartments within a week. I flew back and forth. Sometimes twice in a week. I had two consecutive sleepless nights - 64 hours of non-stop writing. Now that I am back and relaxed, it is time to focus on my deadlines again.

Experience as a Visiting Student at KAUST, Saudi Arabia

The beautiful KAUST Grand Mosque
I am back in Portugal after my 4 months of migrations including 2 months at KAUST, Saudi Arabia. Now I am full-time into my core Ph.D. research.

Overall, my experience of 2 months at KAUST was very positive, though a few experiences came as pretty shocking. I list below a few observations I found may be relevant to you as an upcoming visiting student/scholar to KAUST. Several points in this post may not be accurate for you if you are a KAUST faculty, employee, or student.

1. Frequent Apartment migrations
My 1st apartment, all for me!
I was asked to move out of my beautiful apartment after 2.5 weeks of arrival. Upon questioning, I found that visiting Ph.D. students are usually given a room in a 3-room apartment. Since KAUST did not have a room empty for me right at my arrival time, they let me stay in an apartment. Then they still did not have a "regular" room. So they let me stay 10 days in a room in a 3-room apartment managed by KAUST-Inn. I had the master bedroom. There was a  SHARP-brand TV in my room. Cleaning service thrice a week, including the room. Nevertheless, I never let them clean my room, as I find that unnecessary for the 10 days. I also had my own bathroom. However, the other 2 rooms had to share a single bathroom.

My room in the second apartment
Finally, they got a room for me in a regular student apartment - my 3rd place during my 2-month-long stay. The apartment had 3 rooms. I was in the smallest room. But all the rooms had their own bathroom. So we just got to share the kitchen and the living room. I stayed in this room for a month until I left the Kingdom. Even this small room was big enough. We do not have a cleaning service for these student apartments, unlike those managed by the KAUST Inn. It is not necessary anyway for just a month-long stay.

This will be the typical view from your apartment
One would wonder what is the necessity for such a weird migration strategy when there was plenty of empty space. I later learned that it is a resource allocation strategy according to the policy (i.e., they must maximize the time I spend in a shared student apartment). It sounds weird, and especially when this migration plan comes as a surprise to you only days before you really have to move. But that is KAUST for you.

A nightly walk
No one from KAUST has blogged or mentioned about these KAUST apartment migrations before. If you happen to visit my blog, be informed that you may have to switch your apartment in the middle of your stay. My advice - when you get your keys from the SGA (Students Guest Apartment) for the first time, confirm whether you will indeed stay in this apartment during your entire stay, or ask them to give your migration plan (which dates you will be expected to move to a new apartment). It will help you plan when to buy stuff (you don't want to move between apartments with lots of food items). Of course, you can get a taxi free of charge from KAUST for these inner-mandatory-migrations. Also, remember that these apartments are free and registered free of charge for the students with no effort from students' end. Much kudos for that!
The major shopping square

Make sure to bring ethernet cables and a router. There is an Internet connection with several Internet sockets in the apartments. But you will most likely need your own cables and the router. It will help if you bring them with you so that you can connect instantly once you are home in KAUST. Especially if you are the only one in the apartment, you won't even have the choice to ask your roommate for the password of their router.

2. Noisy Open Workspaces
A lonely sunset
I am okay with sharing office space with 5 - 6 Ph.D. students. We do that in INESC-ID. But all the students are silent and do not make random noises. In all my universities of my Ph.D. time, I shared office space with 0 - 5 students. What came as a surprise? KAUST loves open workspaces with up to 30 students. Our open room is on the ground floor. The laborers and security guards love to walk around and even play music without earphones during the weekend (yes, I like working on weekends too). Also, other students in the room like to make calls and do meetings right in the room, making it have a large white noise. It is not a productive environment for students at all.

Uniform apartment buildings
Just like others, I learned to play some music (usually Chinese or Romanian music) in my earphone, so that I do not need to listen to random people (workers and students) speaking in Malayalam, Arabic, Filipino, Chinese, or Russian. Who invented this open workspace for Ph.D. students and developers who need to use their brains? Is it to show the developers are the new blue-collar? I would recommend KAUST to invest some money in making workspaces with smaller (up to 6) number of persons in each room. To give a balanced overview, my friends were okay with the noisy environment wearing noise-canceling headphones. I am not really into headphones or earphones, though.

3. Communication black holes
Line of apartments
There was a guy in SGA. He is like a communication black hole. You give him some requests. He will reply, "Yes, Sir. Sure, Sir. I will make it done soon, Sir", with a big smile. His task finishes here. He does nothing except this kind gesture and a big smile to you. You better send an email to the system - you will get the work done. There are also these stateless support call centers I experienced in many places (not really in KAUST). Every time you make a call, details discussed in the previous calls are lost. You must always start from Ground 0. Actually, sending an email always worked in KAUST (better than dealing with the communication black hole I mentioned).

4. Queue Jumpers
Queue jumping is quite the norm in many Asian countries. KSA is not an exception. Be prepared to face the person behind you counting their chance to jump the queue when possible, especially outside the university, such as the airport.

A Magnificent View
5. Stipend and Reimbursements
You are going to get the stipend or scholarship in cash, by default, as a visiting scholar. I don't think you are going to open a local bank for such a short period.

Initially, I asked KAUST whether they can send the money to my bank in Portugal. They were willing to. But then I checked with my bank and found they are going to charge me for incoming currency exchange fees. Also, my actual funding was from Belgium while I was in KAUST (my case was a bit more complex than a regular case). So what KAUST had to give me was just the visa fees and some travel expenses I incurred. So it was not huge money, and I chose to get it in cash.


6. Currency Exchange

Line of date palms
The airport gives you the best transaction rate (I know that is unbelievable). Saudi Riyal (SAR) -> USD is fixed at 3.75 -> 1 always throughout the country. So getting it in $ will be the best. But even Euro, although fluctuates, gives the actual transaction amount, rather than a reduced amount other airports give. I just exchanged all my remaining SAR into Euro in cash at the airport before flying back to the EU. Just make sure to exchange all the money before you leave the country to Euro or USD. SAR is useless outside Saudi Arabia. The airport offers options to exchange money from SAR to a wide range of currencies, including several Asian countries' currencies, which are typically unexchangeable outside those countries.

View from our lab building
You can get excellent currency exchange rate between SAR -> USD, as USD -> SAR is fixed at 3.75. At the airport, you can get 3.72 SAR for 1 USD, and buy 1 USD with 3.77 SAR. However, the USD often runs out for a smaller amount. Remember, it is the best deal in KSA to convert back and forth between USD and SAR than from another currency. The time I left the country, the money exchanger at the airport had only 100 USD notes. Not the small notes. Same for GBP. However, he had 20 Euro notes. So I got 20 Euro for 91 SAR. Not a bad deal either. So exchanging money at the airport is a great deal at Jeddah airport compared to many other airports in the world. Airport money exchanges in the US and the EU eat your money. 

7. Expensive Local Supermarket
View from the canal bridge
Things were quite expensive in the Tamimi supermarkets, the only supermarket chains in KAUST. Almost all the things were imported from the USA. I heard from my Saudi roommate that the 800 g dates I bought for 89 SAR (around 20 Euro) can be bought for 5% of its price (for 1 Euro) outside KAUST (in Thuwal or Jeddah).

8. Clumsy Airport
The Jeddah airport is clumsy, dirty, and nasty. The need to put the electronics into the checked-in luggage for the flights to the UK gives an additional overhead. The flights are booked by KAUST (thanks for them to manage this and pay for the flights). However, that also means they will book you the cheapest of the flights, understandably. I could have transited through any other airports to arrive in the EU/Brussels. But they chose British Airways (BA)/London LHR for me, making to go through this painful exercise of placing the computer, tablet, and digital camera into the checked-in luggage. Regardless of my previous bad experience, British Airways did not damage or delay my luggage. My electronic items were safe, also thanks to my careful packing (I placed my laptop between two pillows!). The airport was chaos, with lots of clueless pilgrims (it serves as the primary airport for the Hajj pilgrims going to Mecca) wandering around and jumping queues. Probably the airport will remain the worst part of the visit to KAUST.

9. Lots of Savings $$$
The Red Sea
There are, of course, lots of freebies from KAUST, including accommodation and transportation - including flight and ground transportation. Your money is just for your food. 3.5 $ for lunch or dinner from the canteen, which probably gives the best canteen food in the world (I have tried university canteen food in around 10 countries, including, Sri Lanka, France, Portugal, Spain, Sweden, Germany, Belgium, Croatia, and USA. ;)) Assuming you have both lunch and dinner from the canteen, and some cereal for breakfast, your daily expense would be 8 $. 240$ is sufficient for your food. You can watch movies at the cinema! Very cheap - 5 SAR or 1.50$. 300$ is adequate for you for a comfortable life there. Remaining money you get from KAUST is for your entertainment or savings. Your choice.

Sunset in the Red Sea
There were times my friends and I were watching several movies at the cinema there (they even show Indian movies, and change the movies every few days) - because it was very cheap! We did bird watching and fine dining (for a low price and often free with the professors when we welcome faculty candidates or visiting professors!). There are many good aspects of KAUST that you won't find anywhere else in KSA or elsewhere. I was in KAUST during autumn to winter. KAUST winter was equal to the Portuguese summer. Enjoyable weather. One day it rained and flooded Jeddah city. No big damage in KAUST, though. We also encountered a minor sandstorm one day.

If you have read until the end, most likely, you are considering to visit KAUST yourself as a visiting student. Go for it. It is a pleasant experience overall!

Further Reading: 
[1] My arrival at KAUST.
[2] My research at KAUST.

Failure of Twitter Symmetry

The dark side of Twitter
There are at least 3 types of Twitter users: 1) Those who follow accounts that share some specific tweets (the followers), 2) Those who connect with people to interact as in any other social media (the friends), and 3) Those who are or want to be the news streams (the leaders). There are also Twitter parasites, an ever-growing population, who does a mass-following and every day perform a mass-unfollowing. In this procedure, they would have accumulated a million followers while just following a few thousand. These Twitter parasites feed on the human psychology - when a "star user" follows you, you tend to follow them back. They play a numbers game to trick people to follow-back, and to unfollow just after someone followed them back. I have been followed by many such verified Twitter star users to unfollow me only after a few weeks since I followed them back. 

I use Twitter for friendship. To share and interact with interesting people. I am not on Twitter to follow visionaries. There are also another set of Twitter users who start like me (under the category 2 above), and then during some specific time decide to be like the category 1 or 3. They then perform a mass-unfollow. Now you end up following their random musings - one way.

I suggest Twitter have an automated workflow - when someone who followed you first decides to unfollow you, automatically unfollow them back. This will stop the Twitter parasites and those who suddenly waken up just before the new year to follow only the "worthy accounts". My suggestion for the Twitter parasites - there is no real reward to unfollow those who fell into your trap and followed back. Isn't it more important to keep the communication than just having a large number of passive followers?

Saturday, December 16, 2017

Scammers and Robbers in Brussels Nord Train Station: Do you speak English?

Robbers in Brussels Nord train station is not new. They target the tourists who arrive from the Brussels Zavantem Airport as Brussels Nord serves as the main train station that connects the airport to the city center. I encountered them before this year during my early days in Belgium. That was of 3 women, presumably from an East European country such as Bulgaria, judging from the looks.

After that I used Brussels Nord train station several times for my daily commutes. But now I do not have big suitcases with me, unlike when I fly. I was wondering whether the situation has got better or is it just me being lucky. But yesterday, it happened to me again, as I was returning with my big suitcase, a large laptop bag, and a camera bag, ready to fly to Portugal.

As I was rushing between the platforms at the Brussels Nord station, a somewhat pretty girl in her early twenties stoppped me, "Hi, do you speak English?". She probably is of Romanian or Bulgarian origins, though I am not really an expert in identifying their nationality. It is not important either. She looked in distress. I assumed she wanted some directions with trains, metro, or whatever.

I replied, "Yes, I speak English". She quickly uttered, "Oh, thank God", and continue to say something along the lines like I saved her since no one apparently speaks English here. This immediately gave me a big warning - Brussels is a multi-lingual city. Actually it is very easy to find someone who speaks English. I never had trouble asking random strangers questions and receiving helpful suggestions in English - not even once. Despite Brussels being a mostly French/Dutch speaking city, its prominence as the European capital and tourist destination has made it truly international. For a newly arriving tourist, of course it may sound plausible that she had a hard time locating someone who can understand her.

She continues, "I lost my wallet/card/money *" (did not really catch what she lost, as we were in the middle of a noisy busy path where passengers were quickly moving around - it was 5:30 PM Friday, full of work crowd). "Could you please buy me a train ticket?" One thing apparent was her careful choice of the person to seek help - a young man possibly from India who is also apparently a tourist, potentially just arriving at Brussels. In such situation, one would easily sympathize: what if I was in her situation as a tourist with no money to train ticket in a place where no one speaks English! (oh yes, I believe that Brussels is a village in deep China or French-speaking Africa, where no one understands your English). Also who does not like to help a girl who spotted you as someone who can help among the millions of others passing by?

Now I confirmed that my warning signs were right. In these situations in the past, I always have helped people; happened mostly in Sri Lanka. I am not really sure how many of these were genuine need and how many were just regular beggars. I did not care much as they were mostly in a much small scale (< 0.50 Euro) as public transport in Colombo is much cheaper than in Brussels.

It did not take me even a few seconds to come to the conclusion: this young lady with a beautiful smile was either planning to make me pay for her "long train ride to Amsterdam" or in the worst case make me take my wallet in the middle of the crowded path where her partner can quickly snatch and move on with my wallet. In either case, I quickly replied with an empathetic smile, "Oh, I am sorry. I do not have Euros. I am going back". I watched her smile fade away as she rushes leaving me without any reply.

Wednesday, October 25, 2017

Arrival at KAUST

The picturesque grand mosque
I am visiting King Abdullah University of Science and Technology, or commonly known as KAUST for two months. It was kind of them to receive the students and visitors (not just the professors and leaders) at the airport. I had someone from KAUST waiting for me to direct me towards the immigration (not that I am new to immigration, and honestly I would have done that myself without help. But the kind gesture matters). Then he also leads me towards the taxi driver, who was holding my name "Welcome Mr. Pradeeban Kathiravelu" in a big piece of paper.

The taxi driver, authorized by KAUST (only authorized taxies can enter the KAUST compound), was from Uttar Pradesh (UP), India. He asked me "Hindi Malum?" (Do you speak Hindi?). I said, "No, in Sri Lanka, only Sinhala and Tamil." He is a Muslim. Very pleasant guy. He also had a Sri Lankan friend (a Muslim from Colombo), who is also a driver. He called him on his mobile, and we talked in Tamil!

Finally, arrived in KAUST, got the temporary visitor ID at the visitor office, and then we entered the compound. The taxi took me to the SGA office where I signed the accommodation contract and got the key to my apartment. It was a huge apartment - all for me. A large living room with a TV, big kitchen with stove, oven, microwave, and fridge, a small storeroom, a little enclosed space for washing machine and dryer, a WC - all on the ground floor, together with a large balcony that connects to the street. In the first floor, I have the master bedroom with a balcony, a study room, and a WC+bathroom. My bedroom has two beds, though the apartment is just for me.

Sorry female persons!
KAUST town has many apartments split into three basically. Male only apartments for single males and males who cannot or did not bring their wife/family, female only apartments for the females in the same situation, family apartments for those who came with their spouse or family. It was interesting. KAUST has a cinema (which shows movies for 5 SAR, which is around 1.13 Euro), some mosques (one is the biggest mosque), and one big supermarket (Tamimi) and another Tamimi close to the campus. There are a few restaurants. The campus canteen food is pretty nice, and I like it. The budget option is 15 SAR. It is pretty decent (the main dish, salad, soup, dessert, and a drink). The meal is available for lunch and dinner, all seven days a week. We work from the lab all seven days. The weekend here is Friday and Saturday. However, since we collaborate with EU mostly, we have to work on Fridays for the meetings. That leaves us with Saturdays as the only free day. However, since nothing much to do for me (not to mistake - there are many activities - just I am not so into them as I am busy with my research), I like working from the lab every day. Even my lab friends do the same! 

In average I spend 32.5 SAR per day. That is 7.34 Euro. 15 SAR goes for lunch (fixed expense as I have my lunch in the canteen every day), and the remaining for dinner, breakfast, and other variable costs (such as fruits, tooth paste, etc). Apartment and transportation are free! Right now, the weather here right now is enjoyable. Just like in Colombo or Maldives.  I heard that I am just lucky that I arrived when the weather is not too hot. We also went for bird watching, which was quite fun (I have seen all those birds in Sri Lanka and elsewhere. but the experience of bird watching by the mangroves of the Red Sea was quite fun).

Coming from Europe, there was of course a significant cultural shock. If I came from Sri Lanka directly, probably the cultural shock would be smaller. I could also write a weekly blog post on my stay here as each week I was experiencing something new. I had the same feeling when I came to Portugal in 2012, and I had a habit of weekly blog post. Afterwards, I moved to many countries - Sweden, Croatia, USA, and Belgium. However, there was not much difference. Coming back to Asia had a drastic change. I am actually missing the west (Europe and the USA). 11 days out of my 58 days-long stay have already passed! Time is passing quick. Though I can write more about my experiences, time is quite limited. I might recall and blog more on my experience in December once I have returned to the EU.

Tuesday, October 24, 2017

Where the "textbook-marketers" went wrong

Repeating identical emails and mail even after unsubscribe
All over LinkedIn and Twitter, I hear how you should never give up as a sales/marketing person. Didn't you hear back from the first email? Do not give up. Send a follow-up email. Better, send a Twitter message. Send one more reminder next day. Keep posting. Someone was bragging in LinkedIn how their 11th email got a positive response. What is the morale of the story? Never give up. Wrong.

You guys spam everyone. Our attention span is limited, and mailboxes are flooded with messages. But when you decide to spam my university email with useless advertisements on a daily basis, that is not right. That just makes me lose trust (if I had any, previously) on you.

One example was a predatory book publishing company. They had the liberty to subscribe me to their mailing list around one month ago. After receiving 9 emails in ~30 days (they were the most frequent mail sender to my university email address last month), I finally unsubscribed yesterday from their mailing list that I never subscribed myself in the first place. I got the email "You are unsubscribed." Everything is fine now; right? No. I got another email (a regular daily one) from them reminding me that they are waiting for my response for one of their offer?!. So that is the 11th email. It seems I have no way out. Today morning I sent them a personalized email asking them to unsubscribe me. Also left them a twitter message. Let's see how long this spam game goes. (Update: They sent me a well-written email apologizing for this. I hope this is resolved. Let's see. :))

In short, if you are an entrepreneur and have an excellent idea, and decided to send me a message, that is fine. Don't send me 11 messages just because I may reply positively to your 12th message. Remember, we are spammed by millions of such offers every day. If I am interested in your offer, I would have replied to your first email itself. Also, given that my unsubscribe request and my personalized email to unsubscribe me from their list were ignored, I am not even sure whether they will take me seriously even if I send an email mentioning "I am interested." Maybe they will. They are programmed to read only positive emails, probably. Never mind. Now, let's get back to real work.

Friday, October 20, 2017

How to end up in everyone's spam folder

Many companies are apparently under the belief that they may purchase email addresses in bulk from those who cultivate a lot of addresses to resell (this may include your electricity company or insurance company). This is how I am signed up into weird mailing list without my consent. I have to each time manually sign out of each of these weird marketing lists. Every time I unsubscribe from these spam, I make sure to report it as Spam in Gmail filters. The Gmail God will eventually make sure to send email from these senders directly to spam folder, if everyone follows what I do. Please, if I want, I will subscribe myself to your email list. It was never helpful that you do this on behalf of me, without even asking me. 

Worse, many of these spammers do not even have an easy option to unsubscribe. The ideal example is Roomster. A scam room-sharing company which creates fake profiles with beautiful profile pictures, and then send you an email asking to share the room with you. The girl who wants to share her room with you may not even live in your continent. To reply (and in some cases, even to view) these messages, you need to pay some money (as high as 3 - 5$) or go for an even higher monthly subscription. Funny part is, if you want to unsubscribe from the mailing list of this scam company Roomster, first you need to log in to your Facebook and open your Roomster account (it will auto-create if it does not exist yet), to unsubscribe from the emails or to delete your account. It was so complex that I did not unsubscribe for a few months despite loothing this scam/spam web site. 

Remember kids, there are many reports that once they get hold of your credit card, they will charge you for 3 months or so, without you even asking. Stay away from Roomster. Thank me later.

Tuesday, September 26, 2017

Elegance of a full stop

So I am back to Louvain-la-Neuve once more. Ever since I left Belgium on the 22nd of August, I kept returning. First, on my way back home (Lisboa) from Munich, I had a transit in Brussels. I had some administrative things to do in Louvain-la-Neuve. I was contemplating whether I should just skip the second half of the trip and come to Louvain-la-Neuve from Brussels airport. However, since I had lots of luggage, I decided to continue the journey to Lisboa. Then I came to Brussels for the third time in a last minute flight that would cost me a lot. I thought I had finished my tasks, and returned in an equally expensive flight. However, I was wrong. I still had many more things left to do. I came back to Brussels the forth time! This time, it is colder - and it is autumn here now. Unlike in winter, the heater is still not on yet. Freezing in the apartment in the early morning. Autumn make you feel the end of life. I prefer a stable temperature - first summer, then stable winters with proper heating inside. Springs give hope - so I can accept them too!

This is not winter here yet. However, the temperature here now reaches the winter temperature of Lisboa. Also the feels-like temperature varies a lot too. In my lab, it feels colder than it is outside. I am not even sure how is it even possible.

Monday, September 18, 2017

Receiving the Books that I Reviewed!

This year has become the year that I have traveled most. Probably this will remain to be the year with most number of travels for quite some time for me. Sometimes it gets a bit too much with too many flights. Not to mention how expensive a flight can get when it is a last minute flight. All my one-way flights cost me almost 200 Euro (FAO/Faro/Portugal -> CRL/Chareloi/Belgium and BRU/Brussels/Belgium -> LIS/Lisboa/Portugal). My favorites are border crossings by land. Had one more chance to cross into the south of the Netherlands from Belgium. It was amazing.

Finally, returned to Portugal once more from Belgium. By this time, I also received my reviewer copies for the 2 books that I reviewed recently. These books discuss OpenDaylight. The last year of my PhD is going so eventful.

Belgium Almost Autumn

I had to go to Belgium once more from Lisboa to sign the contracts, since my EMJD-DC funding comes to an end. It was already getting colder compared to Lisboa. Summer is officially over for Belgium!

I also received the hard-copies of my recently published book, "Python Network Programming Cookbook - Second Edition", during my short time in Lisboa.

Friday, September 1, 2017

On-Demand Service-Based Big Data Integration: Optimized for Research Collaboration

Today I presented my paper "Obidos" at the VLDB DMAH workshop in Munich. The abstract and the presentation of the paper are given below:

Abstract: Biomedical research requires distributed access, analysis, and sharing of data from various disperse sources in the Internet scale. Due to the volume and variety of big data, materialized data integration is often infeasible or too expensive including the costs of bandwidth, storage, maintenance, and management. Óbidos (On-demand Big Data Integration, Distribution, and Orchestration System) provides a novel on-demand integration approach for heterogeneous distributed data. Instead of integrating data from the data sources to build a complete data warehouse as the initial step, Óbidos employs a hybrid approach of virtual and materialized data integrations. By allocating unique identifiers as pointers to virtually integrated data sets, Óbidos supports efficient data sharing among data consumers. We design Óbidos as a generic service-based data integration system, and implement and evaluate a prototype for multimodal medical data.

Please find the full text of the paper here and the presentation below:
I mostly worked on this paper while I was doing my internship at Emory University. This is also my first paper to get accepted from UCLouvain/Belgium, under the supervision of Prof. Van Roy. In this presentation, I have also included "A tale of Ana, Abdul, Viktoria, Pereira, Chen, and Raj", a subtle message I wanted to include in my presentation for quite some time.

Thursday, August 31, 2017

Tales of Currency Conversion - Czech Version

So I was in the Prague train station to get a ticket to Munich. I asked whether I can pay by Euro. The lady said, yes. Then she asked cash or card. I opted for card. Then it turned out, the card indeed asks to pay in the Czech Krones (CZK), where my bank will do the conversion. Of course, I am going to lose money in this. Euro is my currency. I have Euro in cash. Why would I need to do this double conversion - pay in CZK using my card where my bank will do the conversion? But the lady said, she has already input the card as the payment option and she was reluctant to change it now. I should have pretended that the card was not working. Then she would have no option other than accepting my Euro as cash.

Now, I have the total information from how much this cost me extra from the bank statements. Let's look into this:
I had the option to pay by 1495 CZK or 56.20 Euro by cash. Because of my stupidity to opt for card (and because of the lady's reluctance to change the payment mode - which should be just a "cancel"), I paid 1495 CZK by my bank card. My bank, as usual, gave a bad conversion rate and charged me 57.40 Euro for this. My bank charged me a conversion fee of total (0.02 + 0.57 + 0.04 + 0.98 =) 1.61 Euro. So in total, I lost (57.40 - 56.20) + 1.61 = 2.81 Euro. This is 2.81 / 56.20 = 0.05 = exactly 5% loss. That means, I lose 5 Euro per transaction of 100 Euro in CZK. Next time kids, pay more attention, and don't let a railway station counter clerk make decision for you just because she is too lazy to change the payment option! Better yet, choose the option wisely than complaining later. :P

Interestingly, the bus cost 50 Euro. So totally, the train cost 6.20 more (and counting my loss of 2.81 Euro, it cost me 9.01 Euro more).

In Romania, the situation was better. Their card readers had the option to choose Euro as the payment option at most of the places. Prague was a beautiful place though the people were not friendly at all.

Interestingly, in the train to Munich from Prague, I was able to pay in both CZK and Euro (for a cup of coffee on-board) as long as the train was in Czech. Once it crossed the border to Germany, CZK suddenly became unacceptable. :) Not complaining on this - I can actually understand that Euro is a preferred currency in foreign countries; but this is not something that works in a reciprocal manner. Economics 101. :) Eventually, I ended up with some CZK, which are going to be with me for a really really long time.

Friday, August 25, 2017

Lisboa Taxi Scam - This time in MyTaxi

Usually, the taxi drivers we encountered with MyTaxi app are nicer and friendlier in Lisboa, compared to the ones we hail from the streets. This time was an exception. We got Joao Santana. He seemed to be a nice guy. He loved India and Asia in general. That's what he claimed, at least. He is in his late 50s, and he claimed he was a manager. He appeared to be a nice and knowledgeable. He mentioned how his company let him go as he was too old, over-qualified, and it was expensive to keep him. He mentioned, he used to think money is everything - he said, "I was a savage capitalist". He also said, his dad instructed him to take decisions soon. "Never stall. Take decisions. Bad decision is better than no decision"

We had 5 luggage, and we opted for his large taxi since we need space for the luggage. Being the multi-seater taxi, it is supposed to be a bit more expensive - that we are aware of. The Taxi Meter displayed 10.05 Euro by the end of the journey. Combining 1.6 Euro for the luggage, a flat fee, it should be 12 Euro, as reported by the MyTaxi app as what was paid. Please note this was not a trip to/from the airport.

He counted the luggage, and charged us 16 Euro. He asked us whether we need a receipt. I said, it is not necessary (I was blinded by the assumption that he is an educated gentleman who used to be a manager). However, only after a few minutes since I reached home, I realized he scammed us in a beautiful way. The app reported we paid only 12 Euro including tips by cash, where we indeed paid 16 Euro. In Lisboa, the luggage fee is 1.60 Euro flat, and does not change based on the number of passengers or number of bags.

Mr. Joao Santana, you have scammed us in a beautiful way, with nice talks and sharing your wisdom. It is sad that I encountered someone so nice as Joao Santana who also happens to be a scammer. But he also has taught us an important lesson - we should be careful with those who talk too nice. Specially the taxi drivers and vendors. If a taxi driver is too nice to you, of course, they are not going to give you a discount. They might just cheat you while you least expect it.

I have given this scammer a 1* rating, and have reported him to MyTaxi. Let's wait for their reply. 4 Euro is not a big loss considering the lesson learned. Still I am just a poor student to lose money to scammers. I am sure a taxi driver such as Joao Santana is richer than me.

Regardless of the scam, it is nice to be back in Lisboa in the summer! The 4th year - the final year -  of my PhD has just begun!


Update on the 30th August from MyTaxi:
Dear Pradeeban,
We appreciate your preference and your contact.
The baggage supplement of 1,60€, refers to the amount, established by the taxi sector, for baggage transport, that requires the use of the luggage compartment or the vehicle’s roof railing.
There are some exceptions: volumes that not exceeding 55×35×20, wheelchairs or other means of movement of persons with reduced mobility, as well as trolleys and accessories for transporting children, if they are passengers too.
The call supplement of 0,80€, refers to the amount, established by the taxi sector, for journeys to the customer’s location. So, when you call a taxi, the driver must charge this amount.
So the supplements were 2,40€. We had the opportunity to talk with your driver and he told us that the trip cost was actually 12€, but you gave him a good tip, that, when it’s paid with cash, doesn’t appear in the resume.
If you need any further assistance or clarification, please do not hesitate to contact us.
With our best regards,

 I have replied as below and waiting for their reply again now:
Thanks for getting to this.
The driver said, the taxi costs 16 Euro. I am a poor student living in a grant, and I have no way of giving him 4 Euros as a tip of 12 Euro. :)
I paid without double-checking the application amount. He deceived us, using this as an opportunity.

It is sad that such drivers exist in MyTaxi.



I am happy at least he acknowledged that we indeed paid him 4 Euros extra. However, it was not a tip. Tip is when we pay on our own. Not when a taxi driver randomly increases the fare and inform you the increased amount. I am sure Joao Santana is using his inter-personal skills in cheating people off in taxis.


Update: I have received 5 Euro worth of MyTaxi credits as a compensation for my loss (of 4 Euros to this cheater). I can use them for my next journey when I pay by app using card or paypal. I am happy that this issue is resolved well. Next time, I will be more careful when I pay the taxi driver by cash. I will make sure to pay only the money that is reported by the app. Not a random amount requested by the driver.

Update on the 23rd of September: The MyTaxi credits of 5 Euro has expired today. I of course knew it would expire within a month. MyTaxi was so evil of giving me a credit that expires within a month (30 days). :P I did not have to take a taxi that soon. Having said that, I am a bit satisfied that I indeed reported that scammer. Now, time to stop using this stupid MyTaxi Application unless necessary.

Friday, August 18, 2017

Tales of Currency Conversion.

Enjoying my dinner at a restaurant in Rocky Point, Mexico.
Each travel teaches us something new. When I live long enough in a country, I get used to the environment and life style, and start to feel the pattern. A travel to a foreign country makes us question our own assumptions. Till last year, I was not aware that currency conversion can be complicated. Interestingly, I learned that during my trip back to my home country. When I queried how much would they give me for 1 Euro, the guy at the reception of Prasanna Money Exchange in Wellawatte mentioned 157 Rupees. I said, "ok, I have 400 Euro". He said that is fine. When I showed him 20, 20 Euro notes, he changed his word "No, I can only give 155 Rupees". I could not understand. He said, 157 Euro for 100 and 50 Euro notes. For the notes below (such as 20 and 10 Euro notes), he can only give 155 Rupees per 1 Euro". I did not understand. He did not like my questioning, and stopped serving me. So I decided to go to the nearest money exchange, "Royal Money Exchangers". 

They also said, "157 Rupees for 1 Euro". I asked, "Is it the same for 20 Euro notes?" The cashier mentioned, "No, it would be a bit lesser". I asked how much that would be. He checked and told me "156.50 Rupees". I accepted that offer. So I recommend, Royal Money Exchangers. They give more value, and more polite, compared to Prasanna.

Another interesting observation. While I was waiting in the queue, a western couple jumped the queue, with their local host. I told to my mom (in English), "When westerners come to our country, they also learn to jump the queues". Embarrassed to hear what I said, the gentleman from the western country looked back and said "oops, sorry. I did not notice you were here", and he moved backwards to follow the queue. We, humans, are the best adaptive systems in the world.

When I told my Serbian friend how I was charged more at Mexico when paid in USD, she reminded me, "You should just have paid using your bank card. Usually the card machines charge in the local currency". It just did not come to my mind. All I was thinking - it was unnecessary to convert some USD to Mexican Peso.

Update on 18/08/2017:
 After ending up with around 300 Romanian Lei after my visit to Romania, I have this essential question. How effectively convert money to the local currency, and how to spend them all! Using debit/credit card may not work for multiple reasons. First, the bank does not give you the best coversion rate. It is more economic to convert in local converters. Second, not all the places accept the card. So you still need the cash. I used to convert the remaining currency back to Euro at the airport. However, I ended up losing more money as buying and selling rates are different, and airports and Travelex give the worst of the coversion rate. For example, we got 4.45 RON for a Euro in Romania (Timisoara city center), where Travelex gave only around 3.9 RON for a Euro, even after we booked online! They all claim 0 commission, despite this joke of a conversion. I keep the remaining change with me in the hope of returning to the country in a latter day. It worked for countries that I visit frequently, such as USA and Sweden. But not sure whether it will work for Romania, as it is not a country that I am going to visit multiple times. Let's see. We do not know what might bring me back to Romania.

Balkans in the summer, once more!

Finally, this summer, I managed to take one country off my top-20 list to visit. :) It is Romania. I was selected to EMDC and DMKM for my masters (that started 5 years ago in 2012 August Falls semester). DMKM (data mining and knowledge management) Erasmus Mundus masters had a mobility of Lyon, France -> Bucharest, Romania. Eventually, I chose EMDC and I am very happy about my decision. However, ever since, I had the desire to visit Romania. I made it a reality after 5 years. In the mean time, I had also become a huge fan of Romanian music. So it was an exciting trip. Summer in Timisoara was great!

This is also my second time to visit Balkans. I visited Croatia, Serbia, and Slovenia in 2015 while I did my short-term scientific mission as part of my PhD (EMJD-DC) in the summer. It was nice to be back to the Eastern Europe, once again in the sunny summer!

Crossing the borders

I like border crossings by land. The way a country changes into another, gradually, is enticing. This time, I had one more chance for a Balkan to Schengen area border crossing after 2 years, once more in the summer. This time crossing from Timisoara, Romania to Szeged, Hungary. Since we bought the bus tickets on-board (Flixbus), it was more expensive than buying online. It costs 129 Lei per person, each way. Online, it was 15.90 euro (73 Lei). Unfortunately, the online payment system was failing for both cards and paypal (an obvious temporary issue with their system). This is almost the double.  Szeged is a beautiful city. So it was worth the visit.

Make sure you have the passport and visa to the destination country before you board the bus. You need a visa to return to the country of origin, if you plan to return to the country (same as if you would use a flight). If you do not have the valid identity document (usually passport, and it is the safest option) or visa, you need to return to the country of origin. Since the borders are in a weird remote locations, it will be tough for you to return. You may either need to hichhike into vehicles or walk a long distance to find the nearest town. I do not want to try this. Be well prepared, specially if you are coming from a third country that requires you a visa for both the countries that are you traveling between.

Good luck with your border crossings.

Thursday, August 10, 2017

Building and Running Emory Bindaas on Ubuntu 16.04 LTS

Bindaas is a data services middleware platform built utilizing the componentized architecture of OSGi. Bindaas binary could be downloaded or built from source. To test Bindaas quickly, download the binary and extract it.

Given below is a detailed transcript of what is executed in the above screencast on checking out, building, running, and developing Bindaas with Git, Maven, and IntelliJ IDEA.

Skip the step 1 below and go directly to step 2 if you do not have access to the source code of Bindaas. If you have access to the source code of Bindaas, follow step 1, followed by step 2.

Step 1: Building Emory Bindaas
Alternatively, you may choose to build Bindaas from source. I would recommend using the maven-restructure branch (or maven-restructure-dev branch, if you would like to be in the bleeding edge, though most branches are periodically synced) for that, as it consists of fixes and enhancements to Maven integration. Hence this branch enables easy integration with multiple IDEs such as IntelliJ IDEA, Eclipse, and all the Java IDEs that have Maven integration, where currently master branch supports only Eclipse IDE.
Create Project in Bindaas

Bindaas has been tested with Oracle Java 1.8.x.

Clone the source code.
$ git clone

$ cd bindaas

$ git checkout dev

$ mvn clean install

$ cd dist

Step 2: Running Emory Bindaas
Change to the bin directory of Bindaas distribution (either that is downloaded as binary, or that is built from the source following step 1),
$ cd bin

You may run Bindaas using one of the 3 options below:

Option 1
$ ./

This starts Bindaas using nohup. Logs could be found at log/bindaas.log. You may stop the program later by running the script.

Option 2
If you rather like to have the logs in the foreground in the terminal itself, instead of using the start up script, you may run the java command directly.

$  java -Dpid=BINDAAS_INSTANCE -Xmx1024m -jar org.eclipse.osgi_3.8.2.v20130124-134944.jar

Option 3
Alternatively, start with -console flag to have OSGi console:
$  java -Dpid=BINDAAS_INSTANCE -Xmx1024m -jar org.eclipse.osgi_3.8.2.v20130124-134944.jar -console

Now you have started Bindaas using one of the above 3 options, you may connect to the dashboard at http://localhost:8080/dashboard/ using the user name and password, "admin", "password".

Make sure to have the trailing "/" at the end of URL as shown above.

Once you have created a project using the "Create Project" command, you may define the data providers for the project at http://localhost:8080/dashboard/workspace/{project_name}

You may choose a database such as a mysql or Mongodb databases, or use an HTTP provider.

Once the data provider is defined, queries could be created from the respective listing page of the data provider, 

The query could be a simple sql query such as,
select * from states 
"Try Me" on a simple mysql data provider.

Created queries could be viewed from http://localhost:8080/dashboard/{project_name}/{data_provider_name}/query/{query_name} 

"Try Me" option could be used to view the outputs of the query.

This is a very simple post on starting to use Bindaas. You may read further on creating a new data service using Bindaas here, or go through the wiki pages.

Developing Bindaas
First you need to download the entire source tree and build using Maven as in step 1. You may develop using any Java IDE that has Maven integration, including IntelliJ IDEA and Eclipse. I highly recommend IntelliJ IDEA. Just open the pom.xml of the root directory of bindaas source cloned from git to open the entire source hierarchy.

Happy coding!
P.S: The above build was tested with Maven 3.5.0 and Oracle Java version "1.8.0_121".

$ mvn -v
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T21:39:06+02:00)
Maven home: /home/pradeeban/programs/apache-maven-3.5.0
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /home/pradeeban/programs/jdk1.8.0_121/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.8.0-58-generic", arch: "amd64", family: "unix"

$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

Starting Bindaas with Option 3 above is most preferred for development and debugging purposes, as you can debug into the OSGi console. For example, you may list the installed feature using the below command.
"Framework is launched."

id    State       Bundle
0    ACTIVE      org.eclipse.osgi_3.8.2.v20130124-134944
2    ACTIVE      org.eclipse.equinox.console_1.0.100.v20121001-124408
3    ACTIVE      org.apache.felix.gogo.shell_0.10.0.v201211091412
4    ACTIVE      org.apache.felix.gogo.runtime_0.10.0.v201209301036
5    ACTIVE      org.apache.felix.gogo.command_0.10.0.v201209301215
6    ACTIVE      org.apache.felix.configadmin_1.6.0
7    ACTIVE      org.springframework.osgi.log4j.osgi_1.2.15.SNAPSHOT
8    ACTIVE      org.apache.felix.eventadmin_1.3.2
9    ACTIVE      org.apache.felix.fileinstall_3.2.6
11    ACTIVE      org.springframework.core_3.2.2.RELEASE
10    ACTIVE      http-datasource-provider_1.0.0
12    ACTIVE      org.apache.felix.http.jetty_2.2.0
13    ACTIVE      postgres-datasource-provider_1.0.1
14    ACTIVE      bindaas-trusted-application-manager_1.0.0
15    ACTIVE      org.eclipse.gemini.blueprint.core_1.0.2.RELEASE
16    ACTIVE      bindaas-security-api_1.0.0
17    ACTIVE      org.eclipse.orbit.mongodb_2.7.3.v20120213-1927
19    ACTIVE      org.apache.felix.http.whiteboard_2.2.0
20    ACTIVE
21    ACTIVE      org.springframework.aop_3.2.2.RELEASE
22    ACTIVE      org.springframework.beans_3.2.2.RELEASE
23    ACTIVE      org.eclipse.gemini.blueprint.extender_1.0.2.RELEASE
24    ACTIVE      org.springframework.context.support_3.2.2.RELEASE
25    ACTIVE      db2jcc4-9.7_0.0.0
26    ACTIVE
27    ACTIVE      org.eclipse.gemini.blueprint.io_1.0.2.RELEASE
28    ACTIVE
29    ACTIVE      org.springframework.expression_3.2.2.RELEASE
30    ACTIVE      org.springframework.context_3.2.2.RELEASE
18    ACTIVE      bindaas-commons-cxf-wrapper_1.0.0
31    ACTIVE      mysql-datasource-provider_1.0.1
32    ACTIVE      mongodb-datasource-provider_1.0.0
33    ACTIVE      security-dashboard_1.0.0
34    ACTIVE      bindaas-commons-openid-helper_1.0.0
35    ACTIVE      bindaas-commons-mail_1.0.0
36    ACTIVE      bindaas-psuedo-sts_1.0.0
37    ACTIVE      ldap-bindaas-authentication-provider_1.0.0
38    ACTIVE      bindaas-web-console_1.0.0
39    ACTIVE      drill-datasource-provider_1.0.1
40    ACTIVE      db2-datasource-provider_1.0.0
41    ACTIVE      bindaas-commons-h2-hibernate_1.0.0
42    ACTIVE      bindaas-core-api_1.0.0
43    ACTIVE      bindaas-core-impl_1.0.0
44    ACTIVE      bindaas-version-manager_1.0.0
45    ACTIVE      generic-sql-datasource-provider_1.0.0
46    RESOLVED    log4j.config_1.0.0

Note: The screencasts may be outdated as they were taken a few months ago. In case of mismatch between the screencast and the script/text in this blog post, follow the text.