Category: tech

  • Does Healthcare Need Technology or Policy or Passionate People or all of these?

    At HackIndia 2015 in Bangalore which I’d attended during the last 7 hours of 18th July as part of the Mozilla team, I had met three young doctors roaming around from booth to booth. One of them, incidentally, is living in Mysore and I had a meetup with him (S) and his sister (V) at our favorite Kukralli yesterday.

    We were brought together by the feeling that there are problems in health care and that there could be technological solutions to at least some of them.

    Here’s what’s a very rough (rearranged, rephrased, corrected) transcript of some interesting parts of our long conversation around the lake.


    A (me, final year): I was attending a world ORS day program today in my college. And that’s when I thought that we should be having small apps/websites for smartphones, localized to local languages, to help people know about simple things like ORS.

    S (intern, off duty): I was going through some health-tech startups. I think there should be applications that let patients know what to do in every situation – like in an emergency – they must know which hospital to go to, where the facilities are available to treat their kind of disease, and which doctor treats what. I saw this app which lets patients rate doctors according to how good they were during consultations.

    V (OBG PG): I think rating doctors is a bad idea. It puts a lot of pressure on the doctors.

    S: So you were talking about Mozilla Science Lab at HackIndia. What is Mozilla Science Lab? Is Mozilla turning into health?

    A: Mozilla Science Lab is a Mozilla project that brings together researchers, librarians, publishers and developers so that they can publish their work online using the power of the Web and not fall prey to the money hungry publishers that exist today. In India, IITs and IISc are in various stages of such participation in the web.

    S: There’s this online portal where they publish their lectures – NPTEL.

    A: Yeah, I’ve signed up for some 4 courses 😀

    S: You were also talking something about free software, open data in health care?

    A: Yeah, let’s begin with free software. I guess you’re familiar with it, it’s the concept that software should be free. There’s this free software foundation which has supported the GNU project. They’ve defined the 4 essential freedoms for a software to be free. Those are:

    1. Freedom to use the software
    2. Freedom to modify the software (by modifying the source code)
    3. Freedom to redistribute the software
    4. Freedom to distribute the modifications of the software

    These freedoms ensure that a software is actually useful for improving mankind. This is especially useful in government set-ups where the funding is already low, so we have to make maximum use of the money we have. And free software helps in that too. Also, when & if there are specific requirements for customization it is easier & cheaper with free software. And, these solutions can be used in other cities, states too without much cost in scaling.

    Then there is open document formats. Health care can be expected to generate a lot of data in the near future. We should be worrying about what file format these data is saved in. We wouldn’t want them to be saved in a proprietary format which might not be interoperable. That would make any kind of meta-analysis, or other collaborative use of such data difficult or impossible.

    Then there’s this government policy on open data. Instead of filing RTI for access to key data from various government departments, they’re expected to proactively publish various data they collect into the public domain in accessible formats. This is a policy (that is not legally enforcable) and therefore is suffering from lack of attention from various departments. Yet there’s this open data portal at data.gov.in which gives various kinds of useful data in formats that developers can directly tap to create apps or the like.

    In fact, health departments should be very active in collecting and publishing such data because that can automatically lead to very good research. And our ways currently are leading to the destruction of data that is already collected – for example, as discovered through an RTI campaign by NS Prashanth and friends although our death certificates are detailed with income, caste, cause of death, etc, this data is not properly collected and aggregated and therefore many states and districts of India cannot say differential counts for the various causes of death in their area.

    S: Hmm. On another note, I remember this teleradiology platform in which doctors can submit radiology images and then get opinion from a global network. And they are expanding that to other departments like pathology and medicine.

    A: One of my friends was talking about this Canadian team called health-e-net which does something similar – a global network of doctors whom patients can get second opinions from without going far from their home.

    S: Also at hackindia there was this 3D printing work by Fracktal Works. They were talking about developing cheap slit lamps for ophthalmology departments using 3D printing technology by reimagining the hardware design.

    A: Yeah, medical equipments are so expensive that I think anyone who can become a medical equipment manufacturer can make so much money. I bought a peak flow meter for one of my studies. It costed ₹500 and it was just plastic, like a kid’s toy. I guess they can make more money than even drug manufacturers because they don’t even have to spend anything for R&D.

    S: No, even drug manufacturing is cheap these days because of the various ways patent laws are. There’s something called process patent as opposed to product patent. So, if a process is patented, new companies can modify a small step in that process and create a different process which is not patented. Thus they’ll be able to manufacture drugs cheaply.

    A: Ah, that reminds me of Gleevec and Novaris being turned down by the Supreme court upholding India’s stance on how patents should be. Usually pharmaceutical companies, when the patent period on their chemical is over, makes a small change to their drug and gets a new patent. But Indian patent law prevents this. And when challenged in the court Supreme court considered the Indian situation of a lot of people needing drugs and granted in favor of the people. This is one of the things that enables generic drugs to flourish in India. And, Africa’s HIV and other disease control relies in a large manner on India’s generic drug industry.

    And USA under lobbying from these Pharma companies are pressurizing India using international trade laws to prevent production of such generic drugs.

    And Modi government is bringing in too many things. Like the DNA profiling bill with no bothering about issues surrounding it. Then making Aadhaar mandatory across everything even though Supreme Court had asked not to do so and even though there’s no parliamentary sanction, the constitutional validity of which is now being fought over in Supreme Court. India is slowly being turned into a surveillance state.

    S: But it’s difficult to influence the government decisions, isn’t it?

    A: Yes, that’s why we need to organzie. Organizations are powerful. For example, the savetheinternet campaign. When a few people came together, everything started falling in place and soon a large majority got convinced of the importance of net neutrality. Convince enough people and we can definitely influence government.

    S: But convincing people is difficult when they don’t have tangible benefits. With net neutrality they could directly see the problem. But that wouldn’t be the case in other issues.

    A: Yes, true. Like it is very difficult to make people understand that zero rating is the same thing as differential pricing. But that doesn’t mean we should stop trying. After all, we ought to keep trying.

    S: Coming back, we should have patient centric apps. Like Your D.O.S.T emotional support system. The current apps focus on doctors or hospitals, trying to make money. There are a lot of gaps in health care like doctors not getting enough time to speak to patient. There should be apps that help fill in this space with enough information for the patient.

    V: Doctors don’t have much time for patients at all. There is a lot of workload.

    S: Yes, that’s where these apps can help people. To fill up the gap.

    A: Like medscape or mayoclinic? But probably with localized content?

    S: The target group should be middle class mothers who may or may not be educated. Therefore it should be accessible. Yes, localized content, and even more pictorial content.

    A: Like thai card!

    V: These thai cards, many mothers don’t even open it. There is excellent information about breastfeeding, immunization, etc in that. But they open it only when they are in the doctor’s room for vaccination. There should be more of audio-visual information. In fact, there are a lot of videos created by many organizations. The challenge is in making the mothers watch these.

    A: There should be apps that notifies mothers on mobile phones about immunization and all. Someone else can configure these for them.

    V: There are such apps already. And big hospitals even have the facility of telephone reminders as special packs.

    S: There could be call centres which give information out to patients. They can call these call centres through numbers like 112 and get help.

    A: How would that be sustainable? Who’d pay these people?

    V: You know, even doctors do not know many things. For example, when my friends became pregnant, they’d start googling for what to eat and so on.

    A: In fact, the motto of my website is to improve learning, especially medicine. There are a lot of problems in medical education. We learn a lot but not in creative useful ways. I am still finding out ways to learn medicine. For example, I built a set of open questions in first chapter of ophthalmology textbook. These questions, just by going through them, makes the learner learn a lot of things.

    And there should be more of open educational resources. The Web is still deficient in medical education resources. There are some videos put on youtube by universities, or professors. They are usually accompanied by copyright notices. This shouldn’t be happening. We need remixable, open educational resources that are licensed in permissive ways.

    And there sholud be creative ways of learning. It shouldn’t just be text. We do have creative things like virtual body, etc coming. But these shouldn’t be restricted to just demo apps. Medicine is so voluminous, there shouldn’t be some interactive thing for every topic.

    V: There’s Dr Virkud. He records procedures, clinics, etc adds audio and uploads them on Youtube. But not all professors are cool like him.  For example, downloading slides from slideshare and using them for presentations is frowned upon by professors.

    A: Exactly! I see surgeries from YouTube and that makes professors angry. But they can’t be blamed for these. They should first be made aware of these alternate things – open learning, free software, etc. Once they realize how great they are, they can switch their mindset easily and this is probably a more solid strategy than students switching sides first.

    V: Another thing, these techies research everything on the Internet, including diagnosis and treatment before coming to a doctor. But they’re only like 5% of population. The rest and the vast majority of patients are looking for an emotional touch from hospitals. They care more about care than about technology or luxury.

    Also, if I am not a good communicator, why should I be communicating with patients. Why should I repeat the same advice to every pregnant women? If I’m good at clinical things, I should be left to do that. Counseling, follow-up, treating, paper work, everything shouldn’t be on doctors. Why can’t we recruit more staff for giving patients advice, talking to them etc rather than spending on luxury? Medicine should be a team work.

    S: But I think luxury is important. There are some people who can afford to pay for it. And this can bring in much needed money which can be used to cross-subsidize for poor patients.

    V: Even if people can afford luxury, care is more important for most people. For example, there are RMPs in AP.  They have won patients’ trust by being with them and giving emotional touch. And they bring the patients to the hospitals from where they get commissions. They are called kickbacks.

    A: I guess these are all policy issues that need to be solved by bringing in policy changes. There probably are organizations working for health policy changes? I can remember save the doctor campaign (or the patient?). There should be more campaigns for all these issues.

    S: The problem is that medical student corpus is largely apolitical. A lot of students aren’t even aware of issues.

    V: We had a small organization in AP. AP’s medical education is a mess. Students don’t even know how to take case. Our idea was to increase the feeling of social responsibility in students and make them more political. But in our meetings, they ended up asking questions about how to learn pathology, what to do after MBBS, etc. Even active members lost interest a while later because of peer pressure. How can we expect huge campaigns in such situations?

    A: Hmm. Let’s just keep in touch for now and motivate each other to keep going. We won’t waste time in organizing.


    And then we split ways. If you’re interested in joining our small group, let me know.

  • Beautifying GNOME with Paper theme (Material design)

    Last night while I was searching for alternative window managers I discovered this wonderful GNOME Shell theme called “Paper”. After installing it, I’m enjoying looking at my computer screen.

    Here’re some screenshots.

    Applications Overview. Look at the menu menu on the top right.

    Nautilus with folder icons

    Tweak tool showing the wonderful checkboxes and the settings I had to change to achieve the theme

    Turning Global Dark theme on was a welcome addition to the Paper theme. Read about setting up GNOME with paper theme on my website.

    Another useful app I installed is Synapse launcher. Ctrl+Space and it gives me access to everything I need.

    With these, somehow, I feel like my computer has gained a few milliseconds in speed.

  • Early Preview: telegram-pybot – A Telegram Bot based on Plugins, written in Python

    We have all used and loved Yago’s telegram-bot written in Lua as an extension for Vitaly Valtman’s tg-cli for making funny Telegram bots. But Lua was keeping a lot of people away from making meaningful plugins.

    Alternate approaches included adding a –json flag to vysheng’s tg-cli and parsing that data or building wholly native APIs for Telegram in java or other languages. Liberbot is an excellent example.

    Now, the developers at Datamachine Studios have come up with a Python interface for building bots. I have tested it and it works very well, even at this very early stage.

    Screenshot of the bot listing its plugins on command

    What?
    Spartanly named “telegram-pybot” (for now, hopefully), what these people have created is a wrapper around vysheng’s tg-cli. They did this by patching the cli with Python interfaces and contributing to the upstream (that’s the beauty of free software).

    Why not native Python API?
    Apparently, the developers of telegram-pybot started out making plugins for the Lua bot. Later when they realized they wanted to switch to Python, it was easier to mimic the Lua binding API in Python rather than deal with the whole logic of Telegram (which keeps updating the schemas every now and then too). And many people are trying their hand in developing a pure Python API, should any of them become stable telegram-pybot is in a good space to switch to such a native interface with very little work in the future.

    “It’s kind of a pipe dream of mine to work on a python API, but one thing at a time right now” says Phillip Lopo who’s one of the two main forces behind the bot.

    Python vs Lua
    In my experience, Lua can only be at best called a scripting language, albeit a powerful one, while Python is a power packed, complete programming language. The sheer number of libraries available in Python and the pythonic way of doing things makes development in Python much more easy compared to Lua. Also, threading is a huge weakness in Lua which has mostly been solved in telegram-pybot already.

    Plugins
    The sweetest feature of telegram-pybot is its plugin management system. It is promising even while currently undergoing heavy development. Plugins are organized by repositories. One can search, list, install, update, etc the plugins available in a repository. Soon multiple repositories will be supported so that anyone can maintain their own list of plugins in a repository and others can easily get hold of more plugins, thus also avoiding a single point of failure.

    And the plugins themselves run quite smoothly, and cause no trouble even when they crash. Installing new plugins, restarting the bot, etc can be done over a Telegram chat thereby making them super easy to use (even for a non-developer)

    License
    Licensing bots, especially when they are powered by plugins is a confusing affair (read about the licensing of Yago’s bot). GPL offers no protection to bots that run over the network and therefore if one has to choose a copyleft license, it must be AGPL.

    But the developers of telegram-pybot want to give away as much freedom as possible. “I want people to use it, and I want the option for people to write private plugins for private communities” says Vincent Castellano, the co-developer. So there’s a good chance they will settle for MIT or BSD license when they finish their primary work on the code.

    With all that said, the bot is still in active development, as their readme says:

    “While already very capable, this bot is still in relatively early
    development. Some plugin names, or plugin API calls may be modifed.
    However, we are starting to settle on our stable APIs.”

    But you should check it out already — github.com/datamachine/telegram-pybot


    When I discovered telegram-pybot last night, I was very excited. And I developed a plugin which we’re enjoying in our FSM-K Telegram group. It is so easy to build that I want anyone with a computer to try, and therefore I’ve written a tutorial on my website.

  • Internet Will Become Dramatically Useless in the Near Future, Unless What is Said in This Happens

    Allow me to introduce you to “net neutrality” if you haven’t heard of it yet.
    Hindu had an editorial about why it is important yesterday.

    Net Neutrality is the concept that all data traffic on the Internet should
    be considered equal. There shall be no discrimination.

    So, say,
    if you pay for 1MBps Internet, your ISP should give you 1MBps itself
    (neither high, nor low) no matter if you use torrents, or WhatsApp, or
    Facebook, or Wikipedia, or YouTube, or whichever site/service you’re
    connecting to.

    But, for people like Reliance, Airtel, Uninor,
    Vodafone, etc this is bad for their pocket. Because people won’t send
    SMS or make phone calls, they can get money only via data packs. And
    they are greedy for making more money.

    So, what they have been
    trying to do, is to charge people differently if they’re using Viber,
    WhatsApp, Facebook, etc. This comes in the form of “free” Wikipedia,
    “free” Facebook offers, or “special” Facebook packs, “special” WhatsApp
    packs, etc. These all give differential treatment for different
    services. And that is bad!

    Last week, they forced TRAI to release a
    consultation paper for “regulating” (read: putting restrictions on) these services (Over The Top services
    – Whatsapp, Facebook, etc.). According to this paper, a lot of ideas –
    like licensing the OTT services, slowing them down unless you pay TSPs
    more, making the OTTs pay the TSPs, etc – are being considered to be put
    in place.

    A lot of people are already campaigning to protect the
    Web by keeping it neutral. Example:

    What we need to do is: raise awareness of why net neutrality is important, and ask stakeholders to send their comments to advqos@trai.gov.in

    You can read more analogies and get links to the paper at learnlearn.in/net-neutrality/

    If anything is unclear, please ask in comments.

  • Free and Open-Source Software

    Imagine you discovered how to make a delicious cake. You are the only person in the world who knows how to make it. It is so tasty that you could make a fortune selling it. What would you do?


    If the first thought that came to your mind is to start a bakery and make profit out of selling the cake, think again.


    There would have been one point in your life when you did not know what a cake is. From that point, all your knowledge about cakes came from people around you. Sure, you made a discovery with your own effort, but the world empowered you to make that discovery.


    Now imagine, instead of making profit out of the cake, you let the recipe out. You let everyone in the world know how to make your cake. Suddenly, you are making a lot of people happy.


    Slowly, others modify your recipe to make even better cakes. Even you enjoy the new variations. And the whole world is grateful to you. You are immensely satisfied.


    But the world is not fair. Sometimes the world goes for less tasty, but heavily advertised cakes with top-secret recipes. And you wilt away into oblivion while the world conveniently forgets about your beautiful contribution to the world. The picture isn’t so rosy, is it?


    Image: “Free Software” by user ryyo on flickr



    Replace the cake with software and you just read a small introduction to the Free and Open-Source Software (FOSS) philosophy.


    If FOSS, “anyone is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software.”


    Creating such software most often does not bring economic prosperity to the developer (the person or group who creates the software). But to a large extent, they always enjoy the satisfaction that is obtained from people’s appreciation of what they have made. Also, the world gains so much because others can make contributions (extra features, fixing security bugs), which will again benefit everyone using the software.


    But we do not code, what can we do? We can not be a cruel world. We can support this cooperative culture and appreciate the effort of those developers who are willing to share, learn, and create better products that we all use daily to make our lives easier.


    Here is a list of most common FOSS packages for you to use.
    Mozilla Firefox – for browsing
    GIMP – for photo editing
    Libre Office – for word processing, spreadsheet, presentations, etc.
    VLC – for playing media files
    7-zip – for file compression
    (compiled from) Wikipedia – for sharing knowledge!

    (É”)  Copyleft (No rights reserved)

  • How and Why To Switch to Zsh from Bash

    Ubuntu comes with Bash as its default “shell”. So, when you’re running `gnome-terminal` (the default terminal emulator) it actually sends the commands to ‘/bin/bash’ which interprets your command and displays output.

    What is the difference between shell, console, and terminal?

    Zsh is an improvement on bash. It adds more functionality, and better ways of doing things.

    Bash vs Zsh | /r/linux

    Image from Oh My Zsh

    Switching to zsh is a “do once, be grateful for ever” task thanks to Oh My Zsh.

    As explained on Getting started with ZSH on Ubuntu (for technotards), you need to first install zsh.

    sudo apt-get install zsh 

    Then you can install Oh My Zsh

    curl -L http://install.ohmyz.sh | sh

    Change Shell
    At the end of the Oh My Zsh installation script, there’s a command to change the default shell to zsh (from bash, or any previous shell). But this might fail by not asking for a password. In case this happens, do this manually.

    chsh -s `which zsh`

    Important: Changing shell needs you log out and log in to take effect.

    Configure
    Zsh has a lot of configurations, and Oh My Zsh does these for us. Now you can configure Oh My Zsh!

    Enable plugins
    In .zshrc, change

    plugins=(git)

    to, say

    plugins=(git common-aliases autojump python sudo)

    With common-aliases, you can do `vim .zshrc` by `zshrc`.

    Themes
    Oh My Zsh comes with 137 themes. Set a random theme to load at startup by changing in .zshrc

    ZSH_THEME=”random”

    Override plugins (optional)
    The common-aliases plugin has “j” alias for jobs. Autojump uses “j” to jump directories. To resolve conflicts like these, just make your own custom version of the conflicting plugin. Like I copied ‘~/.oh-my-zsh/plugins/common-aliases’ to ‘~/.oh-my-zsh/custom/plugins/common-aliases’ and edited the ‘common-aliases.plugin.zsh’ in that to comment out the “alias j=’jobs’”

    Migrate .bashrc and .bash_aliases (optional)
    If you had custom settings in ‘~/.bashrc’ or ‘~/.bash_aliases’ that you want to copy over, you can copy them to ‘~/.zshrc’

    Alternately, you can create an Oh My Zsh plugin of your own by creating a *.plugin.zsh file in custom/plugins directory.

    Enjoy (required)
    Open a new terminal (Ctrl+Alt+T), and see a fresh terminal

  • Why I Love Telegram Messenger and Love Not Whatsapp Messenger

    Whatsapp is huge. There is no argument against that. Everyone who has an Android phone is using whatsapp.

    And this post is not about why you should stop using whatsapp. This post is about why I love Telegram Messenger.

    Open Source
    Telegram Messenger is open for anyone to crack, or hack, clone, and improve. This is the biggest reason why it is the best among all messenger apps.

    Cloud storage
    Telegram supports multiple devices simultaneously for the same account. This is possible because all your messages are stored on the cloud.
    This gives you two advantages – you never need to back up your messages, and you can move between your phone, laptop, tablet, whatever and continue your conversations where you left off.

    Secure
    Telegram and whatsapp are like a metallic lunch box and paper wrap respectively, when it comes to security. Telegram even allows you to encrypt conversations such that only the recipient can read it.

    File Sharing
    Telegram allows you to send files. You can share pdf, mp3, doc, ppt, all those files you want to quickly send to a friend without having to resort to email or without using a pen drive.

    Additionally,
    Groups on telegram can be up to 200 members. Anyone can add new members.
    Free as in free water. The people behind telegram is the people behind vk.com, the world’s second largest social network. They have enough money to keep telegram running free for practically long enough.
    Fast, though it is always arguable.

    And the best for the last,
    Availability on multiple platforms
    Telegram has an official Android version and iPhone version only. But due to its open nature it has countless windows phone versions, a web version, a windows desktop version, and even a linux cli version mentioned on its website. That is not to mention the fact that you could develop your own client using the open source protocol.

    In fact, I even built a bot based on telegram.

    Give telegram at whirl, checkout telegram.org