Friday, March 02, 2018

Axiostat becomes the first from India to get USFDA approval for wound dressing.

Wounds are a traumatic. Some wounds may immediately kill a person, others may hurt over a longer period. Having been associated with a company researching into this domain, I can tell you that for both of these, wound care is absolutely essential and an important part of that is dressing.

Axiostat (, a Bangalore based company just got USFDA approval for their patented (, emergency wound dressing tech ( Apparently, their products are being already used in Indian military ( Now, with this approval, they also have the possibility of a larger global market.

This is quite a good news. These are some of the companies and alike that GOI needs to froster and encourage. They are not the ones that have short term benefits (of creating lots of jobs, say) albeit  have long term impact not only in India but have global outreach. Something, I had argued back in 2014 in this article ( and also echoed in a well written article by Amit Paranjape (

As a policy, GOI not only needs to encourage local manufacturing, but would have to go the extra mile to encourage disruptive, forward thinking companies who may not have capital funds today but have superior brain power to make products, and IP for the world audience of tomorrow. 

Tuesday, December 12, 2017

A week with Apple Watch

So, here I am. After avoiding to get a watch in the first place, I recently bought an Apple Watch (Series 1) for myself. I didn't go for Series 3 because I am not really a swimmer or runner and the Series 3 doesn't actually offer substantially more in terms of features against the price difference. With the difference in price, you can actually purchase AirPods as well.

In 2013, months before Apple released their first Watch model - I had written a post stating why calls, text and tweets won't define a smartwatch (see. It is not calls, text and tweet that would make a smartwatch) - which I am pleased that I wrote - and I am so right in every aspect of what I wrote there. Apple with its Watch, initially had a mis-step. It tried to position itself as a luxury watch maker, failed, and quickly pivoted its strategy to what a wearable watch truly made sense: tell time, track fitness, have a quick way to call up digital assistant, and 3rd party apps to extend the functions not in the core system.  When I see the Siri watch face on my watch - I can't help but pat myself of how close is this interaction model to what I described in the article above :)

The interaction model that I proposed and the Siri Watch face have so much in common (see

Third party apps are there, but are still a long way to go.

There is still a lot to improve until we really have a wearable computer that doesn't look like a piece of brick, and one whose battery lasts for at least a full day of heavy use. The Series 3 with LTE is definitely not that one device as Joanna from WSJ notes in her review of the latest iteration of the watch that I didn't get (

For one thing is sure, smartwatches are here to stay. It is only to be seen if they take as much time as smartphones to evolve or would we see substantial breakthroughs in a much shorter period. 

Monday, November 20, 2017

Using the iPhone for programming

I have been using my iPhone like a computer for some time now. The primary thing I do with my computer is programming. I dislike laptops and more dislike carrying around one. Over about 2 months ago - I experimented using the iPad as my primary go to computer. With the multitasking enhancements introduced in iOS 11, I could pretty much use it as a primary computer with a number work apps installed: Terminus (for ssh to development Linux server), Pythonista (for a fantastic on device python interpreter with a number of libraries I use - numpy to be specific, Working Copy (for managing git repositories), Textastic (the most fantastic source code editor for iOS). With these apps in place my next quest was to see if I could manage even without the iPad around. This is my week 2 of the experiment and I think I haven’t faced a lot of issue for on the go programming. These tools just work great for me. Now I can pretty much keep my laptop at home and use the desktop at work, while on the move I just use my phone. There are a few things like and teamviewer that may just work better on a bigger screen, but then I can also connect my phone using the lightning to vga dongle that I sometimes carry - if there is really this need. 

Oh - and did I tell you that I wrote this post on the same phone ;) 


Friday, August 25, 2017

Programming in Devanagari [Revisited]

Exactly a decade ago, I wrote this post - I was exploring JavaFX released by Sun Microsystems back then. I am no longer using JavaFX actively. But a decade later I am exploring Go. And the first code I wrote today morning was this:

package main

import "fmt"

func main() {
fmt.Println("ॐ नमो भगवते वासुदेवाय")

So just thought of reconnecting with a decade old post. Idea stays, the mode has changed. 

Tuesday, August 01, 2017

Simple script to extract final GAMESS geometry

Am dabbling with QM codes again, so I needed this quick script without much baggage of other dependencies, so wrote a quick one in Python. You can get this from Github:

I will call these scripts - quick and useful scrips (QUS) - hence forth and post others when I feel the need :)

Friday, June 30, 2017

Count number of lines for each PDF in a folder

This is just a note about a script which may be useful to you. This one calculates the number of lines per PDF and prints the final count.

import sys

import fnmatch
import os

matches = []
for root, dirnames, filenames in os.walk(sys.argv[1]):
   for filename in fnmatch.filter(filenames, '*.pdf'):
       matches.append(os.path.join(root, filename))

count = 0
for mat in matches:
   if not mat.lower().endswith("pdf"): continue
   cmd = "pdftk " + mat +  " dump_data | grep NumberOfPages > pn.log"
     f = open("pn.log")
     l =":")[1].strip()
     print(mat + "," + l)
     count = int(l) + count


Have a great weekend ! :)

Tuesday, June 06, 2017

On "The Computer's Common Sense"

On the surface of it, this is a followup of blog "The Computer's Common Sense" [read here:] by my friend AKD ( who is passionate about building a new kind of intelligent system. This is also about my understanding of the machine learning tools that I have used in my work at VLife (which is now Novalead Pharma). These are the thoughts that are coming from a beginner to intermediate person with ML background, so this is more of a learning via conversation exercise for me, and more philosophically skewed rather than looking technically deep.

Artificial Intelligence vs Human Intelligence (commonly called common sense)
AKD starts of his blog with a title that makes you think a bit. It seems to equate Human Intelligence [W1] with common sense [W2]. To me however, common sense (of how uncommon it is), is one part of human intelligence, it is not the only form of intelligence that humans have. Further common sense, as the name suggests, is not something specific to an individual, but has evolved over time from a group of individuals, representing common knowledge - or to put it in other words it is "ensemble intelligence" rather than something that represents and individual humans. Thus, I feel that human intelligence is a combination of many factors - only one of which is common sense. The decisions that humans take is a cumulative effect of various factors.

RULA – Read Understand Learn Apply
If we get past that oversight, some of things being to make sense to me. The example of screw driver ( kind of makes sense for the current state of art on AI. It is mostly possible that no AI will suggest using your finger nails instead of screwdriver! *. But the reason for this is probably to do with other environmental factors that the human is in. The human brain, more often than not tries to correlate the present situation with the past situations it has encountered (when in isolation), or it tries to correlate with what others have discovered when being in similar situation (the common sense part). In isolation, a human brain probably works by "read (or observe) - understand - learn and apply" cycle, but that may not be the case always. The second term "understand" is kind of misnomer here - because one can short this with "read (or observe) - learn and apply", with "understanding" coming at a later stage - probably a far later stage. A lot of what we humans do probably translates to "read (or observe) - learn - apply". For instance, take any kid, he observers his parents, tries to learn from them, and then do similar things. He doesn't understand what he does till he grows up. Thus I feel, "understanding" comes after a series of reinforcement learning and application to what was observed. Evidently a lot of AI at the moment is focused on "read (or observer) - learn - apply" cycle and probably never come to the point of "understanding". Deep learning, may however be the ones that actually bring understanding to this process [W3].

Machine Learning vs Human Learning
That brings me to the next part of the blog, which is kind of generically titled. I think the core theme of this section is to bring home a point that most of the AI today is basically data driven. Human learning however can happen at a much superior pace and doesn't need as much data. This is quite true. But I think that this is rather possible because not only the human brain is one, but our brains are connected as a lot with other intelligent beings - and this collective brain power, which is essentially to a large extent what "common sense" encompasses - influences our individual brain learning capabilities. The "collective brain power" is not necessarily of humans, it would be be from any other form of intelligence behaviour - other animals, or even insects. Human brain is capable of capturing and basing its learning on information acquired by other intelligence forms. A counter point to the kids example above, is how often we find that the little ones think differently to what is previously conceived. That, I feel is because the kid's brain is kind of "disconnected" from the "collective brain power", that prompts the brain to potentially discover new ways to solve a problem - which an adult's brain just defaults to "common sense" part.

AI at the moment is limited to what humans feed it with. It doesn't have unrestricted access to the environment outside - as we humans have. Whether that is a shortcoming of current AI or if the AI as is implemented today needs fundamental rethink is what is yet to be seen. AKD thinks that there is an alternate way that is not yet explored. I await to see what is that.

* I am not sure how IBM Watson[R1] will respond - because Watson is a totally different take and at edge of AI research today, and that it could beat humans in the game of Jeopardy! is anything but amazing.

R1) IBM Watson:
R2) L. Deng, G. Tur, X. He, and D. Hakkani-Tur. "Use of Kernel Deep Convex Networks and End-To-End Learning for Spoken Language Understanding," Proc. IEEE Workshop on Spoken Language Technologies, 2012

W1) Human Intelligence
W2) Common Sense
W3) IBM Watson