Wednesday, December 30, 2015

A few things that made my 2015 interesting..

The beautiful view from the Mayan Palace, Mexico
2015 was a wonderful and probably the best-so-far year for me. This year had traces of a few previous years, remarkably 2013. Abiding to my tradition of writing an annual summarizing post, I am listing below a few things that made my 2015 interesting. The list is in a random order, and the order does not represent anything.

1. Data Quality (QD) module.
I never thought I will start this list with a course I did at the university.

It was a remarkable experience with a party atmosphere.
 
3. Graduating. Twice!
This year, I graduated from my masters double degree, from IST Lisboa and KTH Stockholm, and attended two graduation ceremonies (in Portugal and Sweden) to receive the degree award.

4. My comeback to FOSS.
It was always in my new year resolutions in the recent years. This year I got active with OpenDaylight community, leading the Messaging4Transport Project, and also created an OpenDaylight user group in Lisboa.

5. The HOT Summer in multiple beaches, across continents. 
Enjoyed the Beaches in Portugal, Spain, Mexico, Sri Lanka, Maldives, Sweden, Italy, and Croatia. Portimão beach in Portugal was unexpectedly pleasant.

6. Floating in the water with fish, in Maldives 
It was a clean water beach of an uninhabited island of Maldives.

Who dislikes them?

8. OpenDaylight Summit in Santa Clara.
I never thought I will have this much of information from a single conference. This was my second time to SJC, and first time to encounter a delayed flight and changing the flights to avoid missing the connecting flight.

9. God Ganesh Temple, Colombo-04 
And getting soaked in the rainy night in Colombo.

10. Cooking for my parents in Sri Lanka.
I have cooked for friends many times before. But first time for my mom and dad. That was truly remarkable. I missed this during my 2013 visit (and I was not capable of cooking before 2013. :) )

11. A long walk in a burning day in Belgrade.
Until that point, I was under the impression that nothing can burn me.

12. Ljubljana.
I was impressed by the river side wifi and game meat. :)

Higher than the last three years combined!

14. Backpacking to Andorra.
Never thought I would be able to go light weight. An achievement of the year for sure. 

15. A helicopter ride in a pleasant winter day.
Fly over the Tagus River.

16. More presentations!
First time I presented my work in another university as a guest speaker. My presentation at ASU, in Tempe for IC2E 2015 was remarkable. Loved that conference, and active involvement and enthusiasm from the participants during many of the presentations.

17. A late summer vacation in Sri Lanka.
Not really a vacation. I was getting married. Also experienced being a 'tourist' in Colombo. Never felt like a tourist in my own country before.

18. My first short-term scientific mission (STSM) at the University of Rijeka, Croatia.
Lots of research during the weekdays and lots of travels during the weekends.

19. Long flights.
This year I had many long flights.

20. Stockholm, once again!
It was loads of loads of loads of memories! I actually went to Stockholm twice this year. But somehow missed Kista during both trips.

21. Kayaking once more from Fejan!
Never did I guess in 2013 that I would visit this place for another EMDC Summer Event.

22. An unhealthy lunch in Trst, Italy.
All while keeping an eye at the hungry, persistent, and bullying seagulls.

23. Planning for the events in 2016 starting from early December!
Already have 3 confirmed events in my list in Berlin, Portland, and San Francisco.In addition, have a planned trip to Shenzhen, and planning another long term journey to Atlanta. Many of these events are outcomes of the collaboration with Emory BMI. It was a pleasant surprise that we got many papers as outcomes, which I am in fact going to present in 2016. We have 4 accepted papers; 3 to be presented - MediCurator, Data Cafe, and SPREAD, and MEDIator already presented.

24. Barcelona once more. 
This was my first EMJD-DC Spring Event. I was nice to meet all my EMJD-DC colleagues for the first time. We are so distributed - In Portugal, Spain, Belgium, and Sweden.

25. Renting a whole apartment.
No more apartment sharing. More privacy.. ^_^

26. Random walking in many new cities alone.
Often with a map. Often without; asking strangers for information. It felt like a virtual reality game, finding random places with no knowledge of the local language.  May be an increased level of confidence? Well, to be fair, many of the youngsters I met in these cities speak better English than me.

27. Some successes (xSDN, ∂u∂u, Cassowary, MEDIator, Data Cafe, MediCurator, SPREAD, ..) and some failures (SDCO, S²DN, RAVANA, SMART, FIRM, ..), and... some mixtures (SENDIM, ..).
I am talking about my projects, if you are confused.

28. Spring flowers in Frankfurt, Germany
The flowers are beautiful in Spring.

29. International border crossings by land, and long bus rides.

This includes US <-> Mexico, Croatia <-> Slovenia, and Croatia <-> Serbia. Never really did this before this year (not counting Sweden <-> Denmark (2013) and Spain <-> Andorra (2015) as real borders due to the Schengen open visa policy).

30. Multiple plots and locations. Spent most of the time in Portugal, with one month each in Croatia and Sri Lanka, in the mid-year.
Other short-term locations include US (twice), Mexico, Germany, Sweden (twice), Spain, Andorra, Italy, Slovenia, Serbia, and Maldives. This made 2015 a year full of travels for me.

Thanks for reading my list till the end. If you are really interested, you may also read the blog posts on the previous years as well.

Friday, December 25, 2015

Moments with Twitter - IV

It has been a while since I wrote a post on the series of Moments with Twitter. You may find the previous 3 posts by checking out my blog label,

A short term COST action in Croatia. Very remarkable! This gives the entire list of successful STSMs under the same European Project.
  • ~~ Election results of the @Erasmus_Mundus PR election for 2016 https://t.co/wXhF2cUYqc Best wishes to all the EMA Program Representatives! Dec 25, 2015
I am going to be a PR once more. Previously I hold the post for EMDC in 2013.

  • Date Ariane, an interesting "dating simulator" game that has become a YouTube sensation. https://t.co/bZVVFSodx0 Works also in Linux #NSFW Dec 23, 2015
This application is interesting to try once or twice. Irrespective of going viral in YouTube, this game/simulator/application is so depressing. It does not give you much controls, except going on a predefined set of actions in a loop, often random. The "date" in the game itself is more complicated and unfair than the real life scenarios. You may try for fun. If you take it too serious, you will be left irritated.

Erasmus Mundus is surely one of the best things happened to me so far. Actually not one. It is two, as I have been awarded two Erasmus Mundus grants so far - one for masters, and the other (the current one) for doctorate.

  • ~~ Today I presented my work at FCUL. This was also my first guest talk in a university outside Sri Lanka. https://t.co/HJK5isoSTw Nov 20, 2015
I surely love meeting new people, specially the smart ones.

  • The satisfaction you get, when your paper's title has unicode characters that make the editor's job more interesting. :P #∂u∂u -> ?u?u Sep 29, 2015
That tweet was a bit sarcastic. Not sure whether that was a good idea to include Unicode characters in my paper. However, happy about the outcome.

  • #Facebook was down, and now it is apparently back. Reporting real time from #Portugal. :P Sep 28, 2015
Social media has its adverse efforts on the users. I like social media for the network I have built, more than the features it has to offer. I am not actually addicted to any of the sites though. I never check them when I am out. I like to post some interesting updates. However, this year the remarkable events increased significantly, which made me fail to update social media networks altogether. 

  • Thanks @OpenDaylightSDN for reminding me the periodic table again. Hydrogen, Helium, Beryllium, Boron, and more.. :D Jul 30, 2015
Effects of actively participating in the Beryllium release.

  • Listening to the @OpenDaylightSDN VPN Service presentation, while reading on Quagga Routing Suite integration (http://t.co/2FH0spj3wy ). Jul 30, 2015
Updates, real time from the OpenDaylight Summit 2015.
More updates from the summit. I really loved the summit that I did not go out on sight seeing at all, as I did not want to miss any of the sessions. Also since I was in a tight schedule, I could not extend my stay before or after the summit.


Seems pretty interesting to dig the history.

At some point in this year, I really felt  Lisboa airport was like my second home.

  • #MEOCloud, a good alternative to #Dropbox. It gives 16 GB free space, and also has a Dropbox-like referral system. https://t.co/KOAmagkAlB Mar 28, 2015
May be because of its Portuguese interface; it is not that popular. Probably it is intentional as they want to limit their user base to inside Portugal.

This year, in fact, Dropbox introduced the Campus Space Race again for 2 more years. Predictably, this year the universities (at least the ones that I am affiliated with) underperformed compared to the previous, the first time they introduced this. Probably, just like me, many others got annoyed with the migration requirements at the end of two years. In 2013 race, my university was able to secure 25 GB out of the 25 GB maximum advertised. This time, it was just 15 GB.

I love maps and data.

  • I never get any message in #Twitter #Messages #Inbox. Whenever I get one, it is always a spam message. Dec 28, 2014
 Except when I initiate the communication myself. This is not even an exaggeration, though it sounds like one.

Some fun stuff.

The Internet offers an unlimited amount of learning resources.

  • A guide to sleeping in the airports - http://t.co/unTcJgB5IJ This comes handy in deciding the transits.. Sep 14, 2014
I am not really good at sleeping in the airports. I often stare at the small "vehicles" that move the elderly or differently-abled, or the ones that clean the airports in the nights. Often I just go into a long train of thoughts.

  • Found that it is a spam company called @AdCeylon is who spamming me using @madmimi. Created a filter to delete all the mails from adceylon. Aug 08, 2014
That was a heavy spamming that time. Like a few mails a day, directed to my inbox, short-circuiting many of my unsubscribe and filter attempts.

  • I scored 26012 points at 2048, a game where you join numbers to score high! #2048game http://t.co/vcQmTxIDr8 via @gabrielecirulli Jul 10, 2014
Another way how I spend time in the airports during the long transits, specially the ones that come in the nights where the shops in the air-side are often closed. I have a love-hate relationship with the airports. Often loving it for holding strong memories and nostalgia, while hating for the long wait specially for check in and other procedures.

This is to combat scammers.

Mozilla's yearly effort.

  • Read #Tipitaka online. Collection of Pali language texts which form the doctrinal foundation of #Theravada #Buddhism. http://t.co/3NZsMEtfYh Apr 12, 2014
  • Download the free #school text books provided by #Sri #Lanka government from http://t.co/oJdhfnZHFg for grade 1 to grade 11. So convenient. Jan 17, 2014
Memories. Old memories. (Should I say, young memories?)

  • China's first moon rover lands — and rolls onto lunar surface - http://t.co/XrEW93ra8f After almost four decades. First time in my lifetime. Dec 14, 2013
Must have been a cool feeling when the man landed on the moon for the first time a few decades ago. Not much new exciting breakthroughs recently, compared to that. I would consider a Mars landing equally ground-breaking. Nothing else.

I tweeted this long ago. Have to re-read now, as I have forgotten what was this about. After a few minutes of scanning the page again, I still hold the respect for this hero, after 2 years.

  • ~~ Someone is trying to reset my #twitter password. Considering I am a harmless and no-politics person, that is really funny.. :D Dec 06, 2013
After my somewhat political posts in social media in the recent past, I am not sure whether I am still a no-politics person. However, I am still a harmless person, and always will be. I just want everyone to be happy!

I am still not a master.


  • What is the origin of name Pradeeban? Probably Switzerland. According to http://t.co/cLtm55JhMQ :D #smh Nov 10, 2013
Seems it is US now. There are pros and cons of having a long name, that is hard to remember and pronounce. Not sure whether pros outweigh the cons though.

I used to buy colouring books as a young kid.

Just like I developed this habit of booking seat number 55A in the flights, recently.

  • It's not normal to get your testicles bitten off, of course, but it can happen, especially now in Sweden. http://t.co/pJGz1scaU1 Aug 14, 2013
ouch! I love the Swedish lakes. Should be more careful. lol.


  • Closed #Railway stations of Sri Lanka - http://t.co/AZavXMCFcl || It seems previous generations had a better railway in the country. Aug 07, 2013
Luckily the northern lines are back in service now.

The days before clickbaits were mainstream.

Tuesday, December 22, 2015

Pretty Printing Algorithms and Pseudocodes in Latex

Latex is a very useful tool for the researchers in making research publications. In this post we will see writing algorithms/pseudocodes in Latex, through an example.


\documentclass{article}
\usepackage[utf8]{inputenc}

\title{Sample}
\author{Pradeeban Kathiravelu}
\date{December 2015}

\usepackage{algpseudocode}
\usepackage{algorithm}
\usepackage{xcolor}

\begin{document}

\maketitle

\section{Introduction}

\begin{algorithm}[ht]
   \fontsize{9}{9}\selectfont   
 \caption{\textit{$\partial$u$\partial$u} Initialization}
 \label{alg:init}
 \begin{algorithmic}[1]
\Procedure{\textit{$initialize$}}{$nodes$, $policy$}
 
 
 \State \colorbox{blue!10}{$blockingKeySet$ $\gets$ $policy.getBlockingKeySet()$}

  \ForAll { \colorbox{red!10}{($node$ \textbf{in} $nodes$)}}
  \par \Comment {Let all the nodes join the coordinator cluster.}
  \State  \colorbox{green!10}{$joinCluster(node,coordinator)$}
   \EndFor
\State  \colorbox{green!10}{$adaptiveScale(blockingKeySet, policy)$}   
  \par \Comment {Monitors the health and scale the clusters accordingly.}
   
  \ForAll { \colorbox{red!10}{($blockingKey$ \textbf{in} $blockingKeySet$})}
   
 \State \colorbox{blue!10}{$index$ $\gets$ $generateIndex(nodes.count())$}
  \par \Comment {At least one node joins a cluster.}
  \State  \colorbox{green!10}{$joinCluster(nodes.get(index),blockingKey)$} 
 \EndFor
\State  \colorbox{green!10}{$initDataSourcesIntegrator()$}   
\State  \colorbox{green!10}{$initDataWarehouseIntegrator()$}   
  
  \EndProcedure
 \end{algorithmic}
\end{algorithm}
\end{document}  

The outcome will look as below: 

Here,
Green background denotes executions. Blue background denotes data and data structure initializations. Red indicates a condition. The above code segment also includes the line numbers and comments.

The above Latex code segment and the respective algorithm are borrowed from the publication:
"Kathiravelu, Pradeeban; Galhardas, Helena; Veiga, Luís; ",∂u∂u Multi-Tenanted Framework: Distributed Near Duplicate Detection for Big Data,On the Move to Meaningful Internet Systems: OTM 2015 Conferences,,,237-256,2015,Springer International Publishing. link.springer.com/chapter/10.1007/978-3-319-26148-5_14

Tuesday, December 15, 2015

Facebook Delete

I have deleted my Facebook as I am getting busier these days. Not sure how long this delete will last.

These are the few things I did / did not do for the delete.

1. I did not announce the delete in the Facebook itself. This will further delay the delete as it will increase the communication.

2. I contacted the very few Facebook friends via email, who I will lose contact with when I delete Facebook. This includes the close friends that I met in Facebook and hence did not share my email address or phone number with, before. I am sure I may have missed a few.

Now I do not have to deal with the celebrities who post just to increase their monthly social media reach. I had a golden era of Facebook in 2009, when it was used mostly for fun, and rarely for propaganda. Also I do not have to click the posts that have the clickbait style title "X did this. And the reaction was priceless".

My friends kept inviting me for Hi5 and similar sites before Facebook from 2005. That time, I could not convince myself to put more effort beyond owning an email account.

Since majority of my friends are connected with me through multiples media (such as google hangouts, LinkedIn, Email, ..) I am not going to miss them.

However, I may have to reactivate at least once in a while, during the "challenging times" such as, 
1. When a conference/event organizers actively promote Facebook log ins as a way of communicating.

2. When I get introduced to people, and they prefer to be in touch via Facebook.

Facebook and social media is pretty cool. Just they are getting too much of negative energy these days. One example would be, asking to share devastating photos because "1 Like = 1 Prayer", or "Mark Zuckerburg will pay 1 USD for each like", or probably "My dad will quit smoking if this post gets 1000 likes".

These diseases are now spreading to LinkedIn as well, actually since early 2014, as I noticed. Let's see how long I could sustain this delete.

Next Slide Please..

It is annoying to hear "Next Slide Please" frequently, when you are attending a webinar through a service such as WebEx. These tips may help you avoid falling into the "Next Please" pit.

1. Try to operate the presentation yourself. If someone else such as a moderator had initiated the presentation, he can pass the operator rights to the presenter, in many systems such as WebEx. Use this effectively.

2. If for some reason, you are not comfortable with operating the slides yourself in the system, keep the moderator next to you, so that you can signal verbally instead of announcing "next please" to all the attendees.

3. If #1 and #2 could not be achieved due to the technical and other difficulties where the moderator has to be remote, practice and sync, so the operator/moderator knows when to go to the next slide just by listening to you talk.

4. If time pressure prevents you from #3, try to avoid putting too much bullet points in animation mode inside the slides. This will at least avoid or mitigate the requirement to say "Next please" inside a single slide.

Overall, just avoid the need for next please.

Friday, December 11, 2015

You will realize you are traveling pretty frequently, when..

Colombo, Sri Lanka
This year I had an unlimited number of travels. Well, that was an exaggeration. But at some point, it did feel like that. Specially when I came back from Croatia to Lisbon, to rush to Santa Clara, US, the very next day. I did travel frequently this year - more than the previous 3 years combined (2012, 2013, and 2014)!

I have also travelled to more new countries - totally 8 countries, including first border crossings by land. It also include my longest bus journey outside Sri Lanka - An all night bus to Belgrade, Serbia from Rijeka, Croatia.
This year, I also had many planned trips that were cancelled due to the clashes with other activities.


I had opportunity to visit Singapore, Australia, Canada, and Greece this year. Missed them due to various reasons, including clash in conference schedules - means, two events at once (Singapore clashed with my PHX, US trip for IC2E 2015), Sydney travel was cancelled due to the visa delay - my friend Denis luckily is there, and presented my paper MEDIator for us!, Vancouver for a middleware workshop - my supervisor presented the paper for me. Similarly, I had to miss the Greece because I had already bought flight tickets to Sri Lanka. Again thanks a lot to my supervisor to present my work. If he was not available, I may have had to cancel and re-book the Sri Lankan flight.

I like to travel along with conferences. It is good to learn something while travelling, I feel. Or probably I am just boring.

Data Quality and ∂u∂u

Data Quality is a course I did at the university, as part of the 5 courses requirement for my PhD.  This course was remarkable at so many levels. 

First, I had to go to Taguspark after two years, for this course. Second, I really learned a lot. Third, I was the only student for the course. Usually individual courses are expensive. Perks of being a PhD student. Finally, we had a full paper at CoopIS 2015 (CoopIS is an "A" rated conference), as a result of this course work, which was awesome. I scored 19 out of 20 for this course. I read a lot of papers for this subject, and I spent majority of my time for this module in my second semester. Good memories. :)

Read more about our paper here. The full paper can be accessed here.

Tuesday, December 8, 2015

[Middleware 2015] Cassowary: Middleware Platform for Context-Aware Smart Buildings with Software-Defined Sensor Networks

Today we are presenting our paper titled, "[Middleware 2015] Cassowary: Middleware Platform for Context-Aware Smart Buildings with Software-Defined Sensor Networks" at the 2nd Workshop on Middleware for Context-Aware Applications in the IoT (M4IOT 2015), co-located with ACM/USENIX/IFIP Middleware 2015. I could not attend the conference due to the limited time I had to apply for the visa and multiple other reasons. My supervisor and co-author Prof. Luís Veiga presents the paper today. 

Please find the full paper here.

You may cite the paper as below: Kathiravelu, P., Sharifi, L., & Veiga, L. (2015). Cassowary: Middleware Platform for Context-Aware Smart Buildings with Software-Defined Sensor Networks. In 2nd Workshop on Middleware for Context-Aware Applications in the IoT (M4IOT 2015), co-located with ACM/USENIX/IFIP Middleware 2015. Dec. 2015. ACM. pp. 1 – 6. http://doi.org/10.1145/2836127.2836132

You may find the presentation slides below.


Thursday, December 3, 2015

git core.filemode set to true in .git/config files

I notice that in all the project .git folders, core.filemode property is set to true. So I encounter so many unmodified files reported as modified when I run git status, and conflicts leading to an abort of git pull.

This is what I found.
OpenDaylight/integration$ git diff test/csit/suites/openflowplugin/Flows_OF13/306__eth_ip_qos.txt
diff --git a/test/csit/suites/openflowplugin/Flows_OF13/306__eth_ip_qos.txt b/test/csit/suites/openflowplugin/Flows_OF13/306__eth_ip_qos.txt
old mode 100644
new mode 100755
  
While I am not sure why git core.filemode set to true in .git/config files in OpenDaylight, setting it false helped me fix this block on git pull.

Changing the author name for git/gerrit commit

So this was my second time having some adventure with gerrit for OpenDaylight (also read about the first time, if you are curious). This time, I pulled the remote changes and tried to commit my new changes by adding my changes. This created a merge as the commit from the remote repository and my local commits merged in a single pull request, and hence my commit failed with the below message.

$ git review

You are about to submit multiple commits. This is expected if you are
submitting a commit that is dependent on one or more in-review
commits. Otherwise you should consider squashing your changes into one
commit before submitting.

The outstanding commits are:

fe17631 (HEAD, master) Fix bug 4535/4541
475fae6 Use odlparent-lite as artifacts parent

Do you really want to submit the above commits?
Type 'yes' to confirm, other to cancel: yes
remote: Processing changes: refs: 1, done   
To ssh://pradeeban@git.opendaylight.org:29418/messaging4transport.git
 ! [remote rejected] HEAD -> refs/publish/master/bug/4535 (you are not allowed to upload merges)
error: failed to push some refs to 'ssh://pradeeban@git.opendaylight.org:29418/messaging4transport.git'

Now,
$ git statusOn branch master
Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)

nothing to commit, working directory clean
 
So it indeed shows as 2 commits - one mine, and the one pulled from the remote repository.

I had to rebase to the master fix this.
$  git rebase origin/master

However, this left my commit attributed to the author of the previous commit in the commit log, when I try to git review.

I had to amend the author to finally fix the commit message successfully git review following that.
$ git commit --amend --author "FirstName LastName "

Tuesday, December 1, 2015

Docstoc is Closed

Sorry WE'RE CLOSED
Today, Docstoc service is closed - shut down permanently, after a few weeks notice. Docstoc is a service that is used to store documents such as reports and presentations. Since they informed in advance, I have migrated the files and presentations previously hosted in Docstoc to SlideShare, and fixed the links throughout this blog. Hence there should be no broken links in this blog post, unless I somehow missed something. 

This made me think: what if slideshare is closed one day as well? I have used SlideShare to host documents more extensively. So if they are too forced to close down one day, that would require more effort for me. Worst fear of all time, what if the services from Google close down during our life time? However, I hope, in that case, they will provide a seamless migration to some alternative platform that would be taking over by then (such as a migration tool from blogger to wordpress).