Saturday, May 30, 2020

Pandemic Atlanta Lockdown - Week 11

A mini hike in a mini forest
This week continues to be busy. I try to focus on my research. I also went to the nearby Morningside Natural Preserve for a walk with my colleague on Sunday. We maintained social distance, and no humans were encountered or harmed during our adventure. 

This was the Memorial Day long weekend that I was supposed to spend in Suriname. Now I am home for almost 24/7 due to the COVID-19. There were years when I traveled back-to-back without rest or sleep. Specifically, the years 2013, 2015, and 2017. In 2013, we had a busy Christmas/year-end vacation with trips via flights, a cruise, and trains: 🇸🇪🇫🇮🇸🇪→🇩🇰🇸🇪→ 🇩🇰🇸🇪🇵🇹. 2017 took this further - it was utterly nomadic with my migrations for the whole year: 🇵🇹🇧🇪🇵🇹🇧🇪🇵🇹🇧🇪🇸🇦🇧🇪🇵. 2015 was interesting too, with my summer in Croatia with a short-term scientific mission, and weekends in various neighbor countries of Croatia.

ODL Summit, Santa Clara, 2015
It was 25/07/2015: I returned to Lisboa from Croatia after my summer internship a few hours ago. Now I leave home again with my suitcase, to the metro station. Going to the airport for my next flight to San Jose for the ODL Summit. I walk like a zombie - my brain doesn't work, but my legs move in the right direction. I surely lack sleep. Do I really need to do this? I ask myself. It happens to me at times - I overdo things to tire myself. But then, I say, "I will never remember these tiring moments spent in transit. But the good memories will last." Ironically, five years have passed, and I still remember the tiring moments clearly. Those are surely a big part of travel memories. The excitement, tiring last-minute packing and journey, and the excitement again at the destination, and the good memories after the trip.

Lovran, Croatia, 2015
It is not clear when I can resume random walks and fun travel to random countries. There are also talks about a "new normal." So far, the pandemic has regressed our life conditions and the world quickly. When Singapore banned Chinese nationals from entering, it seemed surreal and weird. But within weeks, the world nations have started to block each other from entering. International travels have virtually come to a halt. We are not sure whether we will ever return to normal. Is the new normal a better one or a dystopian one? Only time will tell.

Saturday, May 23, 2020

Pandemic Atlanta Lockdown - Week 10

As usual, nothing much to report this week, except I remain busy until June 12th. This is a long weekend that I was supposed to spend in Suriname. But due to the pandemic, I had to cancel the plans and stay home. Most likely I will work on Monday, despite that it is a public holiday, as my deadline is fast approaching and I have nothing else better to do home alone anyway.
Coffee cake

2020 becomes the most bizarre year of my life

I gave myself the honorary titles "minimalist" and "nomad" in 2017 after moving back and forth between countries with a suitcase and a backpack with no stable address for a significant share of the year. My migrations in 2017 alone: 🇵🇹🇧🇪🇵🇹🇧🇪🇵🇹🇧🇪🇸🇦🇧🇪🇵🇹 2017 was my most bizarre year. But it was still an awesome year with great memories. Then came 2020 with its never-ending pandemic. Now, with a deadly pandemic lasting already the first half of the year and forcing us into working from home for 3 months, 2020 has easily become the weirdest and most bizarre year of my life. For now, I am riding it in the direction that it takes me, without fighting it or swimming against it. There are several uncertainties associated with late 2020 and 2021 as our visa expires by then and the nations are making it harder for the foreigners to work and live, but I am mentally prepared to face them. Adventure mode: ON.


Summer in Atlanta
I don't fear changes. I am used to discomfort. What makes me fear 2020 is not the uncertainties at a personal level. Rather, uncertainty to humanity as a whole and the overdose of negative news. Also, the lack of human connection as an extrovert is difficult, especially at a time when circumstances left me home alone, also away from my family and my safe network in Portugal. Now I am in a survival mode. Not overthinking the slowed-down pace of life and degrading peace of mind. But I will bounce back when the time comes. Hopefully by October or so. The news so far are not good. But I don't think this will last forever, and probably all these are a training towards a greatness.

On a related note, today marks the 109th anniversary of Instituto Superior Técnico. Good memories.
And some music in the background as I enjoy the cocktail I made myself from the Jamaican overproof rum and limes.

Sunday, May 17, 2020

Couchsurfing falls victim to the pandemic and corporate greed has locked out all its users unless they pay 2.39$/month or 14.29$/year. This is sudden and we were informed over the email and Twitter only after we were locked out with a paywall. This feels surreal and dystopian. It also set a bad precedent. Today is couchsurfing. What is tomorrow? Twitter? Facebook? Gmail? Whatsapp? LinkedIn?

Asking for support, or is this a ransom?

The reason is ostensibly they cannot maintain the side due to the COVID-19 revenue loss.

The funny part is, even if you want to take a backup of your contacts or to contact them to get their alternative contact details, you need to pay at least that first-month 2.39$ amount. Then also, only if the other party also pays that 2.39$ you will be able to message them to get their contact details such as email address or a phone number (unless their profile already lists them). Otherwise, they are lost forever, unless you already have their other contact details already. Fortunately for me, I have almost all the great people I met through this site on other platforms such as Twitter.
Pay or lose your contacts
But think again. This is taking the users for a ransom. What will happen if one day Twitter or blogger does the same? To access my own content in blogspot, I must pay 3$/month, or to access my Twitter, I must pay some.

At least, Couchsurfing should give a grace period so that you can back up your contacts, reviews, photos, and contents. Is this even legal, given the GDPR and other laws, to lock the users out with the users' data? What happens to my data if I do not pay? They cannot keep my photos and personal information I have filled in their site. It is definitely a GDPR violation, isn't it?

I rarely used this site. But I made a few wonderful friends thanks to this site. The solution to this current economic situation is to open-source the code and let the community maintain the site. You don't need a CEO and CMO for a cost-sharing free economy site such as couchsurfing. A FOSS organization/community style fits couchsurfing more. Previously couchsurfing also had blocked one of my old friends for superficial reasons. 

Is couchsurfing a victim of COVID-19 or a victim of corporate greed and bad decisions? Only time will tell. In any case, I believe that most of us are not going to pay anything, especially when we aren't even using this site due to the deadly pandemic. Bye.

Update on May 20th: I asked them to delete my account through their support portal. Let's see their reply.

My support request was:

Due to the paywall suddenly created by couchsurfing without a warning, my data and images are locked inside I cannot even go to delete my account without paying for that monthly subscription. Please permanently delete my couchsurfing account and all its associated data permanently as per GDPR.

Saturday, May 16, 2020

Pandemic Atlanta Lockdown - Week 9

Turmeric milk
Busy days with work. There were some sleepless nights last week. If I want to, I could use the weekends to finish some work. But as a policy, I try to avoid working during the weekends, except for reviewing some papers. Weekends are still home, cooking, and practicing some Portuguese and Chinese in Duolingo.

Canceled orders

Nothing exciting this week. I have this 5$ monthly subscription from CVS, which gives me 10$ free coupons every month with free deliveries. So I ordered some chocolates from CV on the 2nd of May for 13.08$ - I had to pay only 3.08$, after deducting that 10$ coupon. The delivery was scheduled in 2 parts - May 8th and May 14th. But I did not receive my chocolates on May 8th or May 14th. Instead, CVS canceled the order on May 14th and refunded my 3.08$, citing product unavailability. However, my 10$ coupon was not refunded. That means I cannot use the coupon this month, although this cancelation was not my fault. Literally, this makes me lose 10$ for their own cancelation. I sent an email asking for clarification. Waiting for a reply. Let's see how this goes. It is interesting how the economic losses due to flight cancelations and order cancelations are coming back to individual customers, even when the cancelations are not something we customers initiated.

Memories of a Romantic Lisboa

My lunchbox
7 years ago when we started dating, my wife and I went to Café Império, a bar-restaurant close to Alameda, Lisboa. She instantly ordered 9 shots from the menu after confirming with the bartender the shot glass size. I told the bartender I need more time to decide as I was still reading the menu. I guessed she was an expert in drinking shots. I was new to cocktails and shots, but I didn't want to go with beer or wine. Her shots arrived, and I was still analyzing the menu. After tasting her first shot, she realized that shots are alcoholic drinks! Whaat? I ended up drinking all her shots. Even today I am yet not sure whether she really didn't know that shots are strong liquors or she was pranking me to drink 9 shots. I have a feeling that that was the latter. Recalling those sweet memories, as the pandemic continues to keep us on different continents.

Black Russian topped with Ice cream
And now, me with my overproof rum in a shot glass. Home alone, a lazy weekend. The background music is from INNA. When you drink ~140 proof liquors, you are drinking fire. You instantly receive the blessings of the Fire God, as the overproof rum burns your throat as it goes down. oh yes, as long as you don't mix anything; no stupid nonsense into my majestic rum.

Reopening the city?!

It seems that our university will open June 22nd onwards, considering we are reaching Phase 3 by then. This is not the end of the pandemic of course. But a decision that we cannot go on an endless lockdown. However, I have a feeling that the rest of the year will be ruined by this pandemic. At least I had some interesting first 2 months. So looking back, hopefully, I won't claim 2020 is an entirely boring year.

Wednesday, May 13, 2020

Using DCM4CHE FindSCU tool to get only certain DICOM fields

DCM4CHE is a powerful framework. It consists of a FindScu tool that we can use to query, find, and present data and metadata.

This post discusses how to find StudyInstanceUIDs, given PatientID and StudyDate, for example.

1. First, make sure the Source PACS (SRCAET) is configured to accept queries from the destination (BMIPACS) AET and port, where you are running these queries from.

2. Go to the dcm4che-5.19.0/etc/findscu folder and create an XSLT template.
<xsl:stylesheet version="1.0" xmlns:xsl="">
  <xsl:output method="text"/>

  <xsl:template match="/NativeDicomModel">
    <xsl:apply-templates select="DicomAttribute[@tag='0020000D']"/>
    <xsl:apply-templates select="DicomAttribute[@tag='00100020']"/>

  <xsl:template match="DicomAttribute">
    <xsl:apply-templates select="Value"/>

  <xsl:template match="Value">
    <xsl:if test="@number != 1">\</xsl:if>
    <xsl:value-of select="text()"/>

Please note that above DicomAttribute[@tag='0020000D'] indicates StudyInstanceUID.

3. Save it (we save it as stid.csv.xsl.

4. Now, go to dcm4che-5.19.0/bin and run the below:

./findscu -c SRCAET@XXX.XXX.XXX.XXX:PPP -b BMIPACS:4242 -m PatientID=AAAA -m StudyDate=20180423 -r StudyInstanceUID -x ../etc/findscu/stid.csv.xsl --out-cat --out-file test.csv --out-dir .

In the above query, make sure to replace:
SRCAET with the relevant AE Title of the PACS host,
XXX.XXX.XXX.XXX with its relevant host IP address,
and PPP with its port.
Similarly, BMIPACS:4242 with the respective local AET and port.
Replace AAAA with the correct PatientID and StudyDate with an actual study date.

out-dir indicates the output directory. We are storing it to the present directory in this example.

Now, run it.

5. The output will return the StudyInstanceUID and PatientID in test1.csv as below in the specified output directory:
"", "AAAA"