Monday, November 21, 2022

Google Summer of Code (GSoC) 2023

For 2023, GSoC is opening up to allowing anyone (18+) to participate up to two times as a contributor. That means, you can participate as a contributor in 2023 if you have been a contributor once before or never before. But if you have already been a contributor twice, you cannot participate in 2023.
 
Here is an introductory presentation I made for GSoC 2023, updating my previous presentations on GSoC.

Saturday, November 12, 2022

5 years...

Emory 5 years, November 19, 2022
So I am 5 years with the Department of Biomedical Informatics, Emory University this month. However, that is counting in the 7 months I spent in 2016, March - October. If not for that, my continuous 5 years would be on June 19, 2023. In both cases, I am reaching the 5 years soon. This is very long, especially for me as I consider myself nomadic with frequent migrations. This period also includes my 3.5 years of postdoc life since I defended my PhD thesis in 2019 July (ULisboa/Portugal) and 2019 August (UCLouvain/Belgium). The pandemic, travel restrictions, pandemic-related challenges, and other factors made the time go faster, I guess? The years 2020 - 2022 feel like a big monolith, rather than 3 whole years. It is not to say all the three years were same. But they kinda went fast. Really fast. Despite the 5 long years (or 4.5 years, if I do not include the 2016 stint), I was also working with different PIs over my time here. So it was not like I was working on the same projects or topic/domain for the whole time.

In addition to this Emory 5 years, this year feels special to me for two more reasons along the memory lane. First one is, it is 10 years since I left Sri Lanka for my grad school. Then it is also 3 decades since I turned 5. I started counting decades from 15, considering my earliest memories are from when I was 5 years old. So, this year, as I am 35, makes me 3 decades of memories (1992 - 2002, 2002 - 2012, 2012 - 2022). Surely, the last decade (2012 - 2022) was the most eventful and remarkable. I hope the next decade 2022 - 2032 will bring me interesting memories too!

I was interacting with my mentees who apply for gradschool this year. That made me recall my time applying for gradschool in autumn 2011 and my first semester in ULisboa/Portugal in autumn 2012. We had a cool bunch of Erasmus Mundus EMDC MSc 2012 - 2014 group. Our EMDC batch was the middle one among the 5 years program. We had 2 years of seniors before us, and 2 years of juniors after us. That left me in a great spot to observe the past and future of EMDC masters program as I did that. (Same situation with my Erasmus Mundus Ph.D., EMJD-DC as well.) Some of us did a PhD. Others joined the industry after the MSc. Among those who left academia, some started companies. Most others joined big companies in Europe and elsewhere. A few others joined some crazy startups. Some of us left Europe and ended up in third countries (i.e., countries other than our home country and countries in the EU). Some stayed in Europe. Others went back to their home country. Among those who did a PhD, some did an Erasmus Mundus PhD (like me), while others did some other PhD program. Again, after PhD, some joined the industry while the others continued with academia. Among those who continued with academia, the lucky/smart ones became a tenure-track professor instantly, while the others like me became a postdoc. Now, I have the capability to reach out to everyone to give the exact numbers for these categories. But I think that is not important as this is just for my personal blog after all.
Neurasmus page showing students and alumni

EMDC first years were either in Portugal or Spain, where we all spent the 3rd semester in KTH/Sweden. For the forth semester, some of us came back to our host countries (Portugal or Spain), some stayed in Sweden (mostly just with KTH, while some went on to do an industrial internship at Sportify), and some did an internship in a third European country (such as France, Germany, or Switzerland). I came back to ULisboa/Portugal, making it ULisboa/Portugal -> KTH/Sweden -> ULisboa/Portugal for my MSc. That also means, I was one of the few with minimal diverse experiences during my MSc, as I spent time in just two countries where many of us were in three countries. I compensated for this lack of migrations during my Ph.D., with my 3 international research internships (Croatia, USA, and Saudi Arabia) that spanned continents, in addition to my two universities (ULisboa/Portugal and UCLouvain/Belgium). I started my affiliation with ULisboa in 2012 August and spent 7 years doing my MSc and Ph.D., making it the longest university of my life so far, even longer than my 5 years (so far) at Emory University. #WeAreTécnico!

Today a Twitter friend introduced me to Neurasmus, a EU joint-degree MSc program influenced by Erasmus Mundus, but with a neuroscience focus. They also have a nice web page that documents all the students and alumni of the programs in a single place neatly! I wish our Erasmus Mundus programs had something similar. We actually have one for our Ph.D. (EMJD-DC), although not as fancy. But we do not have one for our MSc (EMDC). I remember some of us from the EMDC 2012 intake made a pact to visit Lisboa in 2022 August/September (marking the 10 years). But a pandemic and 10 years have changed many things.
https://twitter.com/pradeeban/status/1580967108321587203?s=20&t=RegDHN3nybldtJxjMNPwzQhttps://twitter.com/pradeeban/status/1580967108321587203?s=20&t=RegDHN3nybldtJxjMNPwzQhttps://twitter.com/pradeeban/status/1580967108321587203?s=20&t=RegDHN3nybldtJxjMNPwzQhttps://twitter.com/pradeeban/status/1580967108321587203?s=20&t=RegDHN3nybldtJxjMNPwzQhttps://twitter.com/pradeeban/status/1580967108321587203?s=20&t=RegDHN3nybldtJxjMNPwzQ

Thursday, November 10, 2022

Docker: failed to create LLB definition

I was getting this weird error on Docker for the same container that was building fine just minutes go.

 $ docker build -t hummingbird:1.0.0 .
[+] Building 0.3s (3/3) FINISHED
 => [internal] load build definition from Dockerfile                                              0.0s
 => => transferring dockerfile: 37B                                                               0.0s
 => [internal] load .dockerignore                                                                 0.0s
 => => transferring context: 2B                                                                   0.0s
 => ERROR [internal] load metadata for docker.io/cellprofiler/cellprofiler:4.0.6                  0.0s
------
 > [internal] load metadata for docker.io/cellprofiler/cellprofiler:4.0.6:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to do request: Head "https://registry-1.docker.io/v2/cellprofiler/cellprofiler/manifests/4.0.6": proxyconnect tcp: dial tcp 192.168.65.1:3128: connect: network is unreachable

Turned out, this error can appear when the disk is full (observed in MacOS), with no issue from the built container image itself. How did the desk get full within a few minutes? Of course, by building a few Docker containers and them remaining in cache. Deleting some files to get some storage space and restarting Docker made the build succeed again.

Friday, September 30, 2022

#WeAreTécnico

Exactly 10 years after I joined Técnico Lisboa for the first time for my masters, this month Técnico created an alumni network to connect past and present students and faculty of the university. It has a LinkedIn integration. If you too are from Técnico, feel free to say hi!

Técnico alumni network

Thursday, September 15, 2022

YouTube fake conversations to deceive the innocent onlookers

I encountered this identical conversation between 3 random people on two different videos in YouTube!
A friendly conversation between three strangers? Totally not.

I decided to dig a bit into this. It was easier to spot the deception than I thought. All three accounts were created on the very same day in 2020 (and magically appeared to make the same conversation twice in summer 2022). We can easily conclude that these three accounts were created by the same person or a computer script.




I looked further and found many similar fake conversations happening around topics of investment and crypto trading under popular YouTube videos. An unsuspecting onlooker could totally fall for these scams! All these fake conversationalists have no videos, very few subscribers, and created on the same day (as above) or within a few days/weeks apart - perhaps by a bot and stolen profile photos. Beware!
A similar, but longer "conversation" - but with better "participants" (with accounts not created on the same day). LOL.

Saturday, August 20, 2022

Portugal, from ten years ago...

My journey to Lisboa
Ten years ago, on a day like this, I left home for Colombo airport to head towards Lisboa for my grad school. I thought I was going to grad school. To do coursework and do research. Maybe for a couple of years? I did not know I was on for a life of adventures of diving into cultures and making friends. A journey that changed me completely.
 
The journey was not direct. I first had to go to New Delhi to get my Portuguese student visa. Getting the visa was a story on its own.  Then three days later, with the visa stamped on my passport, I headed towards Lisboa via Dubai. Two days of August 2012 are of high importance to me. One is the Monday 20th for leaving home to live abroad for the first time, and the other is the Thursday 23rd to arrive in Lisboa finally.
View from my apartment in Lisboa, August 2012





During those early days in Portugal, I would think about where I would be in 10 years. Here, I am writing this blog post from Atlanta. Arrival in Lisboa was smooth. Emirates upgraded me to business class. The border control was friendly to me. The landlord was waiting for me with my name typed on his tablet. On his drive, he mentioned, "Portugal is having economic hardship now. But we are always happy." I also asked him why it was cold in the summer, coming from Colombo. He replied it was the end of the summer and almost autumn. The following days, I walked the streets alone. Everyone was helpful, despite me not knowing the language. Most people there can and will speak English, unlike, for example, in France. In some ways, it was like the opposite of Emily in Paris. Lisboa was nicer to me. (Oh yes, I have made a blog series about my life in Lisboa,  Pradeeban in Portugal!) But I did not know that I would end up doing my Ph.D., primarily based in Lisboa, eventually spending seven years of my life centered around Portugal until I completed my Ph.D. in 2019.

The Pacific Ocean, Santa Monica. June 2022

Moving to Lisboa started season 2 of my life. Due to Erasmus Mundus mobility requirements, I moved back and forth from Lisboa to cities in other countries - Sweden, Belgium, Croatia, Saudi Arabia, and the USA. Then in June 2018, I moved to Atlanta after submitting my thesis. I finally defended my Ph.D. thesis in July 2019 in Lisboa and August 2019 in Louvain-la-Neuve, Belgium. Erasmus Mundus joint degree requirements! 

I moved out from Lisboa in June 2018, did not visit Portugal after July 2019, and my last connection to Portugal was completed with my final Ph.D. defense in August 2019. But I feel I am still in season 2, which Lisboa started in my life. The last three years of the pandemic have significantly changed many aspects of our life and even how we interact with people. Things have slowed down significantly. My travels since February 2020 are entirely restricted to local trips within the USA. My life in Lisboa and my seven years of Erasmus Mundus are like pleasant dreams. I believe I will have an equally exciting season 3 somewhere sometime later. Until then.

Sunday, April 10, 2022

Google Summer of Code (GSoC) 2022

This year, Google Summer of Code (GSoC) is open to anyone who is a newbie to open source. Not just students. As such, we replace the term "Student" with "Contributor" this year.

Given below is an introductory presentation to GSoC 2022. There are some more important changes to GSoC this year compared to the past years. Specifically, workload has been made flexible this year. Some projects are medium size, requiring a half-time effort (18 hrs/week, 175 hours in total) as in 2021. Other projects are large projects (full-time, 35 hrs/week, 350 hours in total). Make sure to find the project that fits your availability. Of course, large projects yield to double the stipend compared to the medium size project, as your effort will be double too. Additional flexibility also include the potential to complete the GSoC up to 2 months later, with the mentors' prior approval. 

2020 and before, the potential to commit full-time to GSoC was a major deciding factor. Mentors would avoid selecting candidates who already have an on-going internship or a job unless they still exhibit the potential to commit the same amount of time and effort. This year, just like 2021, allows the half-time (medium-size projects) contributors to have other internships in parallel.

Mentors and collaborators can even schedule their work hours the way they see fit.

Good luck!

 

Saturday, April 9, 2022

Random spam and a train journey...

Kansas City, KS
Have you ever received a WhatsApp or a WeChat (WeiXin) message like, "Hello, I'm Stella, are you Mr. Jack, the costume designer introduced by Annie?" from someone with a Chinese woman as the profile picture but a US number?

My friends and I kept receiving those messages frequently. The template is always the same:

"Hello, I'm [a woman], are you [a man], [description to the man's job] introduced by [another woman / my colleague / my secretary]?"
A Google reverse image search on the profile picture will take you to the source - where they have stolen the image from.

For fun, we tried to reply to those to see where they would go. "Oh, sorry, you have messaged the wrong person." They respond, "my bad, at least you are kind enough." But these never proceeded further. They always sensed that I was trolling them and discontinued the chat almost immediately.

Train from Kansas City to ABQ
But managed to continue the chat a bit longer as I was on a long train trip. After this "wrong number," the person, who claimed to be a cloth designer from California, suggested I add to their Telegram since the WhatsApp is apparently for their work discussions only. So, I added them to their Telegram, a number from Indonesia. The person also introduced themself as a divorcee with a child and even shared a family photo (again, stolen from the Internet) after I shared a selfie from the train. They again shared the sketch of some cloth they designed and their lunch downloaded from the Internet. At this point, I can see how lazy these scammers are. They are not lazy. They just don't want to invest too much time on each potential victim as they cannot be bothered and have to function at large. Seriously, why can't they send an actual selfie of their lunch?

Anyway, in the beginning, they mentioned they also invest in crypto (they shared a selfie in front of a crypto dashboard - again taken from the Internet). At this point, I was sure this was either a crypto scam, romance scam, or a scam that would make me pay for their cloth design. This chat was dragging on over a couple of days as if they had formed a close and caring friendship with me. Usually, their conversation was in bad/broken English. But every time they talk about crypto, they get more professional and convincing - as if they were copy-pasting some paragraphs they wrote sometime back (not from the Internet. No text matches on the Internet). They even offered to help me invest. Ok, that is when I decided this was a crypto scam. My long train trip was coming to an end too. They also realized I wasn't falling for them - instead, I wasted their valuable scamming time. Their chat was getting repetitive with little time investment from them (just photos and videos stolen from the Internet). They stopped trying to convince me into crypto investments, and I blocked them.

Some arrests have been made on these crypto scams.

Wednesday, March 2, 2022

When the reality exceeds the hype

Utqiagvik airport, midwinter 2021, -35C
Some events in life - we anticipate those for a long time. Before they happen, they feel almost like a dream. Then it happens. Sometimes they disappoint, after all those hypes and hopes. Other times, they surprise us even beyond our expectations.
 
A few come to my mind. First, the Erasmus Mundus. Doing an MSc in Europe, not just in one country - but two! It felt like too good to be true. Then I got accepted and spent 2 years in Portugal and Sweden: 3 semesters in Lisboa and a semester in Stockholm, to be precise. I left Sri Lanka on the 20th August 2012, 10 years ago, and arrived in Lisboa on the 23rd August, after spending a few days in New Delhi. The Erasmus Mundus experience, especially as a masters student living alone for the first time, together with many similar students, felt special and it pleasantly surprised me.
 
Utqiagvik airport, summer 2021
When I was in my third semester of the MSc, I applied to the PhD program under the Erasmus Mundus (now discontinued and replaced by Marie Curie funding) funding again. It felt it is going to be a larger version of the Erasmus Mundus masters, spending time in 2 EU countries again - but for 4 - 5 years. More time for those pleasant encounters. Then it happened. I spent my PhD in not just 2 countries in 2 years - rather 5 countries in 5 years! In addition to my universities in Portugal and Belgium (the host universities of my PhD program), I spent a few months in other universities in Croatia (1 month), USA (7 months), and Saudi Arabia (2 months), with research internships. While my MSc started this mobility experience with Portugal -> Sweden -> Portugal, my PhD felt like my MSc experience on steroids. More diverse experience. Now, looking back, my MSc + PhD experience of 7 years, 2012 August - 2019 August (2 years of MSc followed by 5 years of PhD) feels like a sweet past birth. An ultimate nomad life. I surely want to go back to Portugal for those memories.
 
No sunrise in the midwinter in Arctic
My visit to the North Slope in Alaska in 2021 was a travel experience that exceeded my extremely high expectations. I visited Anchorage (and surrounding towns - Whittier and Spencer Glacier) and Utqiagvik (and Point Barrow) in the summer, after wanting to visit Alaska for 2 decades since 2001. Utqiagvik, the Arctic Alaska, felt other-worldly, despite being the USA. I had to visit Alaska again (!!!) within a few months, in the midwinter, as I was so mesmerized by Alaska - this time to Anchorage, Fairbanks (and College), and Utqiagvik. Again, Alaska exceeded my expectations, making me want to go there for the third time. I even like that tiny Utqiagvik Barrow Airport. It does not have restaurants or anything fancy. But it has a minimalist and home feeling to it. Love that.
 
I am happy for these memories. But that also means I also want to go back in time (i.e., visit these places again). Hope I will still love Alaska and Portugal the same when I visit them again.

Tuesday, March 1, 2022

The roads

Roadside in Birmingham, AL
Roaming the streets with a small backpack is fun. It does not highlight me as a tourist. I like when I can make a story in an uneventful purchase. My current backpack has a story.
 
My previous backpack's front pocket zip got damaged in Fairbanks as I was roaming the streets in blizzard conditions. It just froze while I opened it. I tried to pull it hard, and it broke. I thought of continuing my onward journey (to Utqiagvik and finally to return to Atlanta) with a broken front zip. But that means my backpack's usable compartments become less. Since my flight from Fairbanks was delayed, I had two additional days in Fairbanks. Close to the hotel where I stayed for the second segment of my Fairbanks trip, there was a Walmart. I found this backpack in that Walmart and immediately bought it - to avoid traveling further with a useless front pocket.

Saturday, January 22, 2022

The 3rd year

A seagull facing the Atlantic in Boston
We are reaching the end of January in 2022. The third year into the pandemic. The year seems to go pretty much like 2021. Old pre-pandemic memories are replaced by the lone memories of the pandemic. Let's see how long this goes.
 

Tuesday, January 4, 2022

The Frozen Arctic

Looking back, standing on frozen winter Arctic

I went for an early morning walk on the frozen Arctic Ocean with a headlight. It felt even colder than on the land. Also, more walks on the frozen middle lagoon lake in Utqiagvik. I was well-prepared for -50 F (-45 C) temperatures with proper layers of winter clothes and a good pair of long snow boots. Notably, this -34 C was the coldest weather I have ever been to. But I did not feel much cold except in my fingers as I removed the outer glove at times to focus the camera better.

This was the most volatile and dynamic trip I have ever had. My initial trip plan was one night in Anchorage, four nights in Fairbanks (College), three nights in Utqiagvik, and two nights again in Anchorage - making a total of 10 nights in Alaskan hotels. However, the plan started to break as the blizzards strongly hit Fairbanks. The flight from Anchorage to Fairbanks was delayed on the day I was supposed to go to Utqiagvik. Eventually, the flight was canceled, and I was given a flight that departed two days later. Alaskan Airlines also told me there is no flight to Utqiagvik from Anchorage until January 2nd. That means the Utqiagvik segment of my trip was removed entirely—such an anti-climax.

I first had to cancel the non-refundable hotel booking of Utqiagvik. It was refundable until 72 hours. But now it is just a few hours, so it became non-refundable. But thankfully, King Eider Inn asked for my flight information and let me cancel it free of charge. Now, I must stay somewhere for two additional nights. My previous hotel was fully booked, although I tried to rebook it as I liked it. I also do not want to stay far from Fairbanks as there was a risk of road closures, and I cannot miss the flight to a road closure due to the ice and snow in the road.

I opened the booking.com app on my mobile. The app was timing out every time I came to the last booking step due to the slow Internet. These apps should cater to places with slow Internet better. There is no reason to time out within a minute when the request is sent. I also used the booking.com mobile browser and desktop browser options. They were timing out too. Finally, I booked a hotel directly using their website for two nights and went ahead to stay there.

Then, I called Alaska Airlines to get a refund for the unused ANC <-> BRW segment. They told me that there is a flight to BRW on the 1st and a return to ANC on the 2nd. I accepted it. That means one night in Anchorage. I booked for one night in Anchorage (unfortunately, too soon). Since it is a booking that comes too soon, it is also non-refundable. On the 31st morning, I arrived at Fairbanks airport. Found a flight that is leaving earlier. I waitlisted myself. And they let me fly the earlier flight. I arrived in Anchorage early enough to catch the fight going right now to Utqiagvik. I quickly asked them to waitlist me, and they instantly let me fly. That means two days in Utqiagvik. December 31st and January 1st nights. I happily boarded the flight. I asked the hotel in Anchorage to change the non-refundable hotel booking to Jan 2nd night. They rejected my request, although they could have offered to help, as it was all bad weather (acts of God. Even Alaskan Airlines did not compensate for these changes and subsequent losses, citing this as an act of God) and dynamic planning. I lost 110$ for that stupid booking. Anyway, not a huge deal.

I landed in Utqiagvik, headed to King Eider Inn without a booking. I asked for a two-night stay, explaining the whole ordeal of canceled flights. As I was expecting (unlikely to have many tourists to the Arctic in midwinter), they had a room for me. They even offered me a free upgrade with a kitchenette for both nights (20$ per night extra usually). I had a great time for both days/nights in Utqiavik. I even cooked my meals in the kitchenette as the restaurants were closed due to COVID19 and the new year.

On January 2nd night, I arrive at Anchorage airport. My flight to Atlanta was on January 3rd morning. But since the hotel did not accept my request for a change of dates, I had to book another room. It is already the end of my trip. I was already tired and just going to Anchorage to sleep for the night with another booking; unpacking and repacking the backpack and suitcase filled with dirty clothes is not fun. I went to the Delta counter again. Waitlisted myself to the earlier flight to Seattle. I got myself to Seattle, and eventually to Atlanta in an earlier flight and arrived in Atlanta on the 3rd evening, rather than the 4th morning.

Overall, this was my most dynamic trip with unexpected changes. Thankfully, I lost only 110$, or rather, a value of a hotel for a night in Anchorage. Anyway, I shortened my trip by one night, making it a 9-night trip (1 night in Anchorage, four nights in Fairbanks/College, two nights in Fairbanks, and two nights in Utqiagvik), rather than the initial plan of 10-nights. So it was more of a lost night, rather than a 110$. This also made me rethink how and when to book a hotel when traveling locally.