Gandhi's Talisman

Mahatma Gandhi

"I will give you a talisman. Whenever you are in doubt, or when the self becomes too much with you, apply the following test. Recall the face of the poorest and the weakest man [woman] whom you may have seen, and ask yourself, if the step you contemplate is going to be of any use to him [her]. Will he [she] gain anything by it? Will it restore him [her] to a control over his [her] own life and destiny? In other words, will it lead to swaraj [freedom] for the hungry and spiritually starving millions? Then you will find your doubts and your self melt away."

  • One of the last notes left behind by Gandhi in 1948, expressing his deepest social thought.

Source: Mahatma Gandhi [Last Phase, Vol. II (1958), P. 65].

Finding A Suitable Solution

This text was also published in Avinash Sonnad Blog

Finding a suitable solution

Senthil and Avinash, Spastics Society of Karnataka.

Avinash was a student with Spastics Society of Karnataka and currently a student with Christ University. He has multiple disabilities and suffers from Cerebral Palsy. Senthil is a Software Developer working in Bangalore. He knows Avinash from the time he was in Spastics Society of Karnataka and has been working him in identifying a suitable technology for overcome his challenges in communication.

Avinash and I started looking out for a suitable Assistive Technology for a long time and we have discovered a number of things with our trial and error methods. It was quite clear to me that Assistive Technologies will be useful for people like Avinash.

Just after meeting Avinash, I realized, a software called Dasher could be useful to him. So, I went to his house and I remember we started with Dasher. We did not know how to use it. We read and studied the documentation and it was of no avail. I also realized the limitations of Avinash then. I saw that he was able to move only his thumb and the index finger and he had a lot of involuntary movements. We tried different kinds of mouse which he can hold on with his two fingers and my search for an Assistive technology device started along the lines of finding a suitable mouse device for Avinash. It was four years ago, that we also tried Voice Recognition to see if it would be helpful. Very few people were using Voice Recognition then and I had heard that it requires considerable training to use the Voice Recognition. So we started with the Voice Recognition training and we soon realized that the software was demanding a certain accent and it was not able to recognize Avinash's style of speaking. It led us to give up the thought on Voice Recognition itself.

Our First Accessibility Device

Avinash is an avid reader. I was surprised by the way he used to read his books. He used to lie down on his side on bed and his mother used to flip pages for him. Reducing his dependency on his Mother to flip pages for him might be the first step forward. We knew that Adobe Acrobat reader had the auto-scroll option that would help in reading the book.

In his personal laptop with books loaded as PDF documents in the auto-scroll mode, the book will automatically scroll at regular pace set by us, Avinash would be able to read the entire book without his mom's help. Viola! This was our first accessibility device.

With this feature, he read 5 books completely. He read, "Alice in Wonderland", a set of 14 short-stories of Sherlock Holmes and H.G.Well's "First men on Moon".

The Adobe Acrobat software also has a reader option where the software can read the words aloud. However, it was not desirable as it was very mechanical and it was not enjoyable for Avinash.

With the auto-scrolling feature, there still was a problem. It was not possible for Avinash to take a break while reading as it would require manual intervention to stop the computer from scrolling. So, Avinash had to be constantly on his toes, so as to figuratively speak, to keep pace with the automatic scrolling of the book.

We definitely needed a better solution with more control.

Second Accessibility Device - Mobile phone

One of the mobile phones in the market had a stick like pointer in the middle and it was very suitable for Avinash. If someone placed that mobile in his hands, he was able to control it with the stick interface. So, we got the idea of connecting the mobile via blue-tooth to the laptop cursor, so that the scrolling of the book can be controlled. But the mobile which we got was slippery and also it required its cover to be removed in order to expose the middle stick interface properly. Buying a new mobile and tearing it down just to use the pointer was not effective. We did try with controlling the cursor, but it was simply inefficient given the limited control which Avinash could exercise on his mobile phone.

Third Accessibility Device - A very small infra-red mouse

Given that mobile phone was not suitable, I started looking out for a small mouse which could fit into Avinash's palm. I got a Infra-red wireless mouse from Staples store at Marathali, Bangalore. This was incidentally the first purchase, specifically made for 'trying things out'.

We tried if we could control our original solution of Dasher with this small-mouse in the way such that it could be used like a click device. We studied Dasher again and saw that the whole operation can be controlled using a single switch, but we did not find a way to interface that single switch to our mouse. So, I wrote to the dasher mailing list to seek help from experts. Dr. Julius who is an expert in assistive technology suggested that we try out camera mouse, which can recognize Avinash's face and thus he should be able to to control the mouse movements with his head. This was an innovative suggestion, which we had not tried in our earlier attempts.

Fourth Accessibility Device - A camera mouse

The camera mouse solution was an interesting one. We setup the camera mouse that it could recognize some fixed point in Avinash's face and as he moved his head the position of the mouse pointer could be controlled.

And to our surprise, we found that "It worked!" We practised a lot with the camera mouse solution, working in tandem with Dasher. These were the first few words written by Avinash using the Camera Mouse on Dasher.

"Education is the only possible way to enlighten the people's mind to make this world a beaieul place to live in. "

It is a from Dr. Kalam's book, "Inspiring thoughts". Avinash was able to write this down with great difficulty. There is a mistake in the sentence, and I left it consciously, because it was okay to accept mistakes in our first trials.

The camera mouse was not the solution yet. Due to involuntary movements, the mouse pointer deviated frequently from the intended position. Julius suggested to us that by gently nudging it back to the specific point this could be controlled and he advised us to practise more. However, someone had to assist Avinash in adjusting the camera-mouse settings properly and then load the required software. Avinash could exhibit only a certain level of control from this point onwards. It was a good improvement from where we started with, but it still lacked something which we desired, namely the ease of use.

Fifth Accessibility Technology - Voice Recognition

Meanwhile in the Dasher mailing list, someone had mentioned that he was using Voice Recognition in composing the mail and he uses Voice Recognition and Dasher simultaneously. I approached him and he suggested that Voice Recognition technology has improved a lot in the recent years and suggested that we try with the latest version of Microsoft Speech software.

This required us to upgrade the speech recognition software in the operating system. Once we did it, we tried the Voice Recognition training program again. To our surprise, it worked very well for Avinash's voice and his accent was not a problem like before. We were just enthralled. We quickly finished the training and saw if we can use the voice recognition to control the computer by voice. However, to our disappointment, it did not recognise the correct words when Avinash was using the software. It was due to the way the software is designed. It had a huge sample space to search for and it did not identify what Avinash was trying to say.

Then I set about to find a software which provides a limited voice recognition capability, something like it could do only 10 tasks for the commands we give. Given the limited and well defined set of tasks, the software may work without any problems for Avinash.

Sixth Accessibility Technology - e-Speaking Voice Recognition software

Now, we did find a software that was meeting our exact needs. It was e-Speaking Voice Recognition software. It used the System's voice recognition engine and provided a limited set of commands to control the computer. It was readily available for a nominal price. We got it and found that it was exactly what we wanted at the moment.

Thus, Avinash could use the software effectively using speech. He could control the scrolling of the adobe acrobat reader to read books, browse the folder to go and get a new book, Connect to Internet and read news etc. This was wonderful, it enhanced his ability to work independently on his computer. With more practise he was only getting better and this proved to be a convenient solution for Avinash. Just switch-on the computer with with these software in the auto-start mode, if the microphone is attached to the computer, then he could control it from that point onwards. No manual intervention further required.

Seventh Accessibility Technology - Writing via Dasher using Speech

A complete solution required combining the above individual elements. Avinash had tried and succeeded using Dasher via head-mouse and then he could now control his computer using e-Speaking voice recognition software. How about the idea of combining both? Namely controlling the cursor of computer via speech. We tried and it worked again. It was immensely helpful and satisfying. Avinash was able to write on his computer using Dasher! This required more practise in understanding the way Dasher works. Over time, he gained the ability to control his computer and dasher together to write sentences effectively.

Avinash still uses on-screen keyboard to click on letters and composing words. He takes a long time to compose in this way. However, I believe with his speed can be increased significantly using Dasher, which would be as close to the average speed of one among us.

Finally something useful

This was a very good result. We both overjoyed with the outcome. Avinash's mom was free from the task of flipping the pages for him. Avinash was able to immerse himself in some creative pursuit for hours together on computer and Internet and thus be engaged with some activity or the other. Both Avinash's father and his brother, Sanjeev are both happy with this new found capability and the way he keeps himself engaged in his studies.

It was very nice to find a solution which was useful and effective.

I hope this article provided a glimpse into the process of finding an effective solution for Avinash. He uses Dasher effectively for a variety of purposes, even for taking tests in college now.

This  was written  by senthil  for the book released on the beginning of Assistive Technology Conference.

i thank Senthil for all that he has done for me.

- Avinash

Here is the video of accessiblity tool in action

The timeless way

Almost everybody feels at peace with nature: listening to the ocean waves against the shore, by a still lake, in a field of grass, on a windblown heath. One day, when we have learned the timeless way again, we shall feel the same about our towns, and we shall feel as much at peace in them, as we do today walking by the ocean, or stretched out in the long grass of a meadow.

-- Christopher Alexander, The Timeless Way of Building (1979)

Canary in a Coalmine

The expression "Canary in a Coalmine" refers to a live experiment serving to others. Old days, coal miners used to get a canary with them to work it seems. Canary was recognized to be very susceptible to toxic gases. The bird used to sing all day long and if the amount of toxicity in the mine increased, it stopped singing and died due to poisonous gas. This served as a warning to the miners.

This expression has become popular to refer to any experiment in real world contexts. For e.g. Chrome Browser use of TimerDelay function. (I stumbled upon this phrase in the linked article).

Wisegeek reference.

Py3k PEPS at APAC PyCon

I went to Singapore to attend APAC PyCon and also to meet Shalini. It was a good 4 days for me. I presented a talk on Py3K PEPS at APAC Pycon.

The Conference Experience was very good. I had a chance to meet Mark Hammond and discuss a lot of Windows Related things with him with. His presentation on raindrop, couch db and and his perspective on Windows development was very good. It was good to meet in person Liew Beng Keat, the organizer of the Conference who had done a lot of hard work to put this together. I also met Steve Holden, who was present along with his wife, I assume they had a good holiday time at SG, as it is a shopper's paradise. It was good to the warmth in Steve's welcome and this makes him a very good organizer, I guess.

On the first day, the talks I enjoyed the most were Mark's Couch DB talk, wherein I gained good knowledge of JSON based Non-Relational database and a javascript based map-reduce framework. The concept was very interesting. The final talk by Wesley Chun drew in a huge enthusiasm. Wesley did a very nice presentation on Py3k and explaining its features and kind of potrayed the picture that it would take long time for people to move to Py3k. Well, it could be true, but as I debated with him, it would be very good to just potray positively how Py3k is a more symmetrical in many ways that Py2k. His point of view was pragmatism and training for corporations. I tend to agree with him to an extent, but I still believe that for some "good programmer" to start learning Python, Python 3 is a very well designed a symmetrical one rather than Python 2. The libraries and packages will catch up soon.

I also enjoyed Graham Dumpleton's short pitch on mod_wsgi and flask. I still use mod_python and plan to move to more web-development related libraries soon.

My presentation on Py3k PEPS was on next day, it went well and was attended by a small interested audience. Following Presentation by Martin Faassen was very good too. He presented a perspecive on creating libraries, the creative aspect of development of software. Steve Holden's Metaclass Madness talk was enlightening too. It was short presentation and a consise one. It would good to write an article based on his presentation if its not already there. Because Python Metaclasses are something which does not have a lot of literature around in the web. The Q&A in the Metaclass'es talk was good one, as one person asked as when do the metaclasses take effective if we were to wrap teh private methods ( which was denoted by startswith('__') and and it turned out that Class mangles them to _Classname__privatemethod and the metaclass wrapper comes to affect later only). If I write an article, I shall discuss this in more detail. There are some interesting studies which can be done on Metaclass vs Class decorators.

I also attended Noufal's game related talk. It was good one which was attended by a sizable audience. He walked through the code and explained the physics of the game. It was good to see that if developing games we can use real world physics in games using libraries, Interesting. Also, I am not sure, how effective showing a lot of code in the talk is effective. It is very difficult to follow through. Somethings slides with less bullets and easily chew-able points make the presentation more grasping and provide useful inputs to the audience.

The singpass coder's tournament was good one too. I managed to come into Second round. My trials some with functional programming and mis-reading of problem statements cost me some time. But it was a very enjoyable game. A person by name 'Che' from China won the iPad and Noufal got the $100 Amazon Web-services coupon.

On Both days, Shalini came to pick me up from the conference and we went for a stroll in the nearby park of Fort Canning. It was good to talk, walking in the park and saw a lot of people practicing tai-chi. On Saturday we visited a lot of friends, inviting them for our marriage reception at Singapore, we also went to Jackie Chan movie, "The Karate Kid", it was fun. I liked the part where the kid shows his dancing skills on DDR to his girlfriend and she in turn amazes him after acting very shy. The concept of kung-fu as a way of life is also good. On Sunday we did some purchasing, spent a wonderful afternoon at home and in the evening I headed back to India.

Fail quickly

I was listening to this youtube video called "The Myth of Genius Programmer" by Ben Collins-Sussman and Fritz and they shared an amazing view on failure.

"Don't just fail, but fail quickly and pick up something worthwhile to learn with every failure."

This is nice.

scientific truth

A scientific truth does not triumph by convincing its opponents and| making them see the light, but rather because its opponents eventually die and a new generation grows up that is familiar with it.

-- Max Planck