Australia Trip - AIDS 2014 Conference

Shaking hands with Bill Clinton was one of my precious moments during the AIDS 2014 Conference held at Melbourne from 20th - 25th July this year. Being a core team member of the Caris Foundation - partner of USAID’s PEPFAR project in Haiti, I got the wonderful opportunity to be a part of the conference focused on pacing up the steps in the  direction of suppressing and eradicating the daemon effects of AIDS.

The conference was an extraordinary affair covering all the topics revolving around AIDS. Topics covered during the conference included advancing technologies in AIDS medication, social experiments to improve lives of people living with HIV especially in the under served society, roadmap to reduce transmission through vertical and horizontal mediums, etc. Some of the very interesting ones for me were the projects using mobile technology to significantly improve  healthcare services. Listening to legends like philanthropist and  former US President Bill Clinton, the lady who discovered HIV and International AIDS Society President Dr Françoise Barré-Sinousi, scholared HIV equality advocate Bob Geldof , new elected President of International AIDS Society President who openly accepts his sexual orientation Dr. Chris Beyrer and scores of inspirational personalities including people living with HIV was a wonderful experience.

This conference changed the way I used to look at my work. I’m very lucky to be a part of a team which changes lives of a large population. We are on a mission to save and improve lives of people and we can’t afford to fail.

May god bless those who are suffering from HIV and give us strength to overcome all that comes our way to make the world a better place to live.

Bill Clinton “Our common humanity is worth a hell of a lot more than our interesting differences”

Couple of our publications during workshop during this time:

image

image

image

    Gandhi Fans in Haiti

    Recently, I travelled more than 14,000 kms from home (Delhi,India) to Hispaniola, 2nd largest island of Caribbean. Haiti, my destination and one of the two countries on the island is 120 times smaller than India in terms of area and population. Because it is so far from India and has very less population of Indians, I didn’t expect people to know much about the country. Surprisingly, Immigration officer at the airport gave me a fist bump and said “Bonswa India. Father of the nation - Mahatma Gandhi ; non-violence ; Welcome from the land of Mahatma Gandhi”. (Bonswa means “Good Evening” in French)

    This is not the end of the list of Mahatma fans. I travelled to very very beautiful city in the north of Haiti called Cap-Haïtien. At a local music band performance in a rustic & deserted pub, I met an average height, bald, dark skinned, 30-something man, named Gandhi. His parents named him after Mahatma Gandhi. This shows it is not just internet era which has boosted his popularity. He was always a legend.

    Isn’t it amazing that people know Mahatma Gandhi even at remotest parts of the world and sees India as state who preaches non-violence because of him.

    I usually don’t blog about such things, but it was definitely a proud moment as an Indian :)

    image

    This selfie with Mahatma Gandhi was taken at Madame Tassaud’s Museum at Bangkok. :)

    Android 4.4.3 update on Nexus 5

    My Nexus 5 received notification of system update for Kitkat 4.4.3 around 1600 hours EST on June 5. Lots of people including me were waiting for this update to come out. 

    People / Default Contacts app has been updated with new Speed dial and keypad.

    image image image

    I was waiting for this update for my phone’s battery drain issues. While recoding HD videos, I was spending around 0.5-1% of my battery per min, which has definitely been fixed in this release. Within few hours of this update, I used my phone to record very important video (HDR for ~4 mins) but Nexus 5 became hot and crashed without saving my video, which means excess battery was not consumed but phone heated up and didn’t store my video… Hope this was rare incident of losing imp video and performance of camera app remains same with decrease in battery consumption.

    A month with Pebble - smart watch

    Did it ever happen to you that you were eager to know who is calling but couldn’t get phone out of your pocket, may be because you were in meeting or driving or in pool. Do you wish to change song while taking shower or wanted to take power nap at public place / office (:P) but can’t set alarm as it will alert other people as well? Even if you don’t need these things, Pebble (getpebble.com) can be life changing gadget for you. It is sleek watch which connects with your smart phone either running on iOS or Android. It waterproof (upto 5 atm), holds charge for atleast 4 days even with my high usage, loaded with apps in its marketplace, watch faces as well as hundreds of stylish wristband and skins to give you a style statement to ensure you never get bored of your watch.

    Recent release of Android SDK for Wearables has got lot of attention from all walks of developers and users. I used to check my Nexus 5 frequently to see updates / notifications. Most of them not very important (though I rely a lot on color of my LED Notification - great feature with Nexus/other android phones). As a pebble user for some time, I have stopped touching my phone by atleast 60-70%. I use my pebble to do all that I mentioned at the start of this blog post as well as check mails, see notifications on my phone, receive calls on speaker, get google map navigation on pebble rather than phone, count my cricket score, pedometer, check my shopping list on my watch, courier tracker, check how many shots / swings I played in tennis as well as count the score, check status of my office server (it has REST api for status) is running fine, theft alert,  uh.. so much more.

    I made an app to take power nap. It starts counting time at the time you stop moving (hoping that you don’t sleep walk and you are wearing your pebble). Alarm has no sound but vibrations on your wrist, no other sound to disturb people near you. I bet you can’t have any other kind of alarm for power nap at your office :P

    I love to make my own “watch faces” (For non-pebble users, it is kind of skin for showing time on your watch) for fun. I like one with Cricket and Football scores on my watch :)

    Pebble is totally worth it because of its features, ability to customize, cost and long battery life. I would not like to spend lot of money for watch that it another android phone in shape of a watch, rather I’ll prefer my smart watch to compliment my phone! 

    Go for it! :)

    image

    Use of tablets in social support kids club

    At Caris, we have social support kids club for different age groups of HIV infected people. It is like a parallel education system for HIV infected kids where kids come once a month and are taught based on curriculum developed by a team led by Tessa Lewis (Program Director at Caris). This curriculum (varies for age group) includes topics like Importance of Adherence to ARVs, Bullying, Personal Hygine, etc. One of my contribution towards this initiative was collaborating with Gregory Hearne from ACP- A Connected Planet, an initiative to promote the use of low cost tablets for educational and humanitarian purposes in developing countries. I, on behalf of entire Caris Team would like to thank him for his valuable time and tablets (indigenized Surftabs) for this project. We use tablets during kids club sessions for showing them videos to explain topic better, various apps to make learning more fun and digitally record questionnaires,etc. Dr. Sylvie Boisson (Director, Child Health at Caris) has worked closely with team of Psychology students to assess the improvement in Kids in this social experiment. The results have been really encouraging till now. :)

    We have tested these devices with around 6 kids club (20-30 kids per club), which we plan to expand to 112 hospital sites nationally where Caris already provides services (with fewer kids club hubs). We are also planning to start Mothers’ and Pregnant women clubs. Curriculum developed during this experiment will soon be publicly available.

    Kids using tablet in Kidsclub

    Kids using Surtabs during a session in HUEH , Port-au-Prince, Haiti

    Surftabs

    Surftab - First batch of tablets proudly saying “Made in Haiti”

    Find Duplicate Names in DB?

    Recently, while analyzing list of HIV Positive Kids (0-18 years) from National Medical Record Data for Haiti, I was amazed to see lot of patients are visiting and apparently getting treatment at multiple hospital sites. Main reason of visiting at multiple location include getting some money (for transportation- which is slightly more than what they pay for Tap Tap) as well as Food provided at the hospital. But, this hinders us to have fair M&E (Monitoring & Evaluation) process.

    To find duplicate names (registered with slightly different spelling) at multiple locations, I used Soundex function along with various fields like DOB, address, parent’s name, etc.

    Usage

    select p1.id, p1.first_name, p1.last_name, p2.id, p2.first_name, p2.last_name
    from patient as p1, patient as p2
    where SOUNDEX(p1.first_name)=SOUNDEX(p2.first_name)
    and p1.id!=p2.id
    and # SOME MORE FILTERS LIKE DOB, PARENT’s NAME,etc
    p1.dob=p2.dob
    ORDER BY p1.first_name


    SOUNDEX basically compares how word is pronounced than how it is written. For eg, Piyush can also be written as Peeyush, but SOUNDEX treats both of them same (P200)

    Few Expats who work for Caris enjoying dinner at Haiku, Japanese Restaurant in Port-au-Prince. 
From clockwise (from bottom left): Elektra, Monique and his husband, Monik, Nat’s Mom, Nat, Issac, Tessa, Sylvie and me (with mustache that I try once every year :) )
*I’m not a Japanese food fan, rather call me Japanese food survivor, but I still go here at least 2-3 times a month. You know why? These girls love that!

    Few Expats who work for Caris enjoying dinner at Haiku, Japanese Restaurant in Port-au-Prince. 

    From clockwise (from bottom left): Elektra, Monique and his husband, Monik, Nat’s Mom, Nat, Issac, Tessa, Sylvie and me (with mustache that I try once every year :) )

    *I’m not a Japanese food fan, rather call me Japanese food survivor, but I still go here at least 2-3 times a month. You know why? These girls love that!

    First try with GraphicsMagick for Time Lapse from my window

    image

    One evening, while sipping chai in my balcony at sunset, I was curious to record it in a fancy way - time lapse. I’m not a “Pro” or “wannabe - Pro” Photographer - just own a decent camera Canon 600 D - with 18-135mm lens.

    Time Lapse is an art of taking continuous photos and arranging them one after the other which gives an idea of how things are changing in a frame. Many of you must be wondering the difference b/w video and time lapse.

    Well, Video records ~25-30 fps and plays at same speed while in time frame, we take 1 photo every 20 secs (or several mins based on your subject and its motion) which is 1/20 fps and then playing at 30 fps. Thus you see the change in subject  in shorter time (very much like running a video at ~40x  or more based on your interval time).

    In past, I have contributed to development of secure & scalable image handling backend of an Electronic Medical Record Cloud which apart from regular medical record stuff, does lossless compression on images and mortifies it for different usage styles (thumbnail, lightbox view). I used graphicsmagick for the same and also played with ffmpeg (in case you want video output) so I had enough idea to get started. My aim was to make sure I use command line tools, than any Pro software.

    Step 1: Choose subject, arrange for tripod

    I got up early - 4.30am for 6am sunrise to setup stuff (probably too early for sleep deprived Software Engg). I couldn’t arrange tripod for early morning shot (too early to wake your boss for that ;) ), though borrowed that for cloud shoot in the evening.SSP_8_lite.jpg

    Step 2: Click Photos at regular interval of time:

    I used EOS Utility to capture images at interval of 3 mins. Unfortunately, this not available for my linux machine (which is my first choice), so had to use my Mac. If you don’t wish to use your laptop, you can buy an intervalometer  (costs 10-15 $) to set time interval between shots or use software on your mobile.

    IMG_20140323_225938_486.jpg

    IMG_20140323_225938_479.jpg

    My EOS Utility CD was back in India, so had to tweak installing process on my Mac (removed Info.datx file in Resources folder of downloaded copy from Canon official site - which tells system to look for previous versions before installing it). Even if I had the copy of CD, I can’t do without external CD drive for Mac. Using the software, you can directly save images on your laptop, thats fantastic! So, you don’t have to worry about disk space. I couldn’t figure out if there is a way to connect Camera’s power cord ( and not use battery) to keep the camera running for very long time. My battery takes ~350 photos per charge or ~ 200 mins of usage - without display (To overcome this for next time, I have ordered 2 extra (non Canon) battery packs from amazon).

    For all linux fans, who dont wish to touch iOS or PC, I managed to get my Nexus 5 connected to my camera using micro usb to usb converter (very cheap). There are plenty of good paid apps with zillions of features, but you can find basic intervalometer in free app  HeliconRemote.

    Screenshot_2014-03-31-00-04-36.png

    Step 3: Check out photos

    You should keep checking if photos are coming out to be good. After finishing your session, you should select the photo range that you wish to time lapse.

    Step 4: Play with command line tools

    GraphicsMagick is the swiss army knife of image processing” - is how it’s official site mentions it.

    It is very matured and well documented library for image processing cmd tools for all major platforms.

    Easy to install graphicsmagick:

    #For linux users:

    sudo apt-get install gm

    #For mac users (hoping you have brew already installed)

    brew install gm

    Step 5: Run commands and fine tune range

    Following command should be handy.

    gm convert -resize x200 -quality .2  -delay 20   -loop 0   IMG_*.JPG   output_file.gif

    output file can be very large (in hunderds of MBs) , you should make sure you resize to smaller version so that viewers can process it nicely.

    For resize option, provide, widthxheight  (either of them). You may use loop option to  keep the images in loop and quality to reduce quality (for web), you may also compress images before processing for gif, but results came out to be same. 

    Delay option lets you give time between two frames. Play with this option to remove any choppy movement in the gif.

    Last two arguments are input file format and output file name.

    Step 6: Feel good about it :D

    cloud-shortx200.gif

    THE MAN!!

    So, I was curious to work on interactive human anatomy. When you click on a part of it, you get information like hierarchy of the body part, all findings and diagnosis that can be done on the same. 

    I started by exploring SNOMED-CT, which is a standard for medical terms including Body structure, allergies, diagnosis, procedure,etc, most importantly their linkages.

    There are more than 30,000 of just human body parts mentioned, that too with hierarchy. You can select the finest body part or body area or group of finer parts as desired.

    This is just few hours of looking into available data and possible ways to connect it. There are lot of things that can be done on it, this is just a sneak peek :)

    Unable to open app after upgrading Ubuntu

    In case you have upgraded your Ubuntu (or similar distros) and are facing problem while opening previously installed app esp LibreOffice with following error:

    The application cannot be started. Extension Manager: exception in synchronize

    The problem is mainly because of lack of permission for the app. To solve cd /usr/share/applications and grant permission like this:

    chmod +x <name_of_app>

    If you are using nautilus (or similar file browser), go to Permissions and check: “Allow executing file as program”

    Enjoy :)