2011 in Science

Here are some interesting developments in Science and Technology field that happened in the year 2011. This is a choice of some random events, but it definitely shows that future is extremely promising!

January 

February

 March

April 

May 

June

  • The United Nations holds a ceremony in Rome, declaring the once-widespread cattle disease rinderpest to be globally eradicated.

 July

 August

  • A computer has learned language by playing strategy games, inferring the meaning of words without human supervision. (MIT News)

September 

  •  A monkey sporting a ginger beard and matching fiery red tail, discovered in a threatened region of the Brazilian Amazon, is believed to be a species new to science. (The Guardian)
 
  • Feeding a supercomputer with news stories could help predict major world events, according to US researchers. (BBC)

October 

November

 December

  • Researchers at CERN's Large Hadron Collider (LHC) report the discovery of a new particle, dubbed Chib(3P). The discovery marks the LHC's first clear observation of a new particle since it became operational in 2009. (BBC)

As you can notice from the list, my choice includes an inclination toward computers, physics and a couple of happenings in India. A lot has happened in 2011 throughout the world and you can get a gist of it from this wikipedia article 2011 in science.

Happy Mother's Day & Commerce

Commercialization of Mother's day began very early, and only nine years after the first official Mother's Day had became so rampant that Mother's Day founder Anna Jarvis herself became a major opponent of what the holiday had become, spending all her inheritance and the rest of her life fighting what she saw as an abuse of the celebration. She criticized the practice of purchasing greeting cards, which she saw as a sign of being too lazy to write a personal letter. She was arrested in 1948 for disturbing the peace while protesting against the commercialization of Mother's Day, and she finally said that she "...wished she would have never started the day because it became so out of control ..."

Commercialization has ensured that the holiday has continued, when other holidays from the same time, like Children's Day and Temperance Sunday, do not now have the same level of popularity.

Finding A Suitable Solution

This text was first published in Avinash Sonnad Blog

Finding a suitable solution

Written by Senthil Kumaran

Presented at the conference by 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. I 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. I 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 I started with the Voice Recognition training and I soon realized that the software was demanding a certain accent and it was not able to recognize Avinash's style of speaking. It led me 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. I 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, I 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 I got was slippery and also it required its cover to be removed in order to expose the middle stick interface properly.

Tearing down a mobile just to use the pointer was something I daringly tried, but proved, 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'.

I 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. I studied Dasher again and saw that the whole operation can be controlled using a single switch, but I 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 I 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. I 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!". He 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 always believe, it is okay to make mistakes.

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 I 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. He quickly finished the training and saw if he 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 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, I 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. I purchased 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.

For me, Senthil, I found that, I took on a very hard problem in relatable space, dedicated myself to find a suitable solution. It was satisfying. When someone suggest about "scaling" the solution, I say, solutions to disabilities are person specific. Needs of each and every person is different, a solution needs to be specific to every person.

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

Change is transparent to users

phoe6: When something is said "the change is largely transparent to the users".

I can understand that users will be able to see through, but does it also mean,

the users won't be affected by the change?

Zemblan said: It means they probably wont notice.

Shamcas: They probably won't notice.

phoe6: that seems true, but I don't get the logic of how something being

transparent means this.

Shamcas: they don't see it. :P

ViciousPotato: phoe6: If something is transparent, you can see through it.

ViciousPotato: Thus, a transparent change would be something a user would

likely look right past.

Python Strings as Comments

The question was:

In Python we can emulate multiline comments using triple-quoted strings, but conceptually strings and comments are very different. I.e. strings are objects, comments are auxillary text discarded at compile time. Strings are objects created at runtime, comments are not.

The answer from Steven D'Aprano:

Guido's time-machine strikes again.

>>> import dis
>>> def test():
...     x = 1
...     """
...     This is a triple-quote comment.
...     """
...     return x
...
>>> dis.dis(test)
  2           0 LOAD_CONST               1 (1)
              3 STORE_FAST               0 (x)

  6           6 LOAD_FAST                0 (x)
              9 RETURN_VALUE

String literals -- not just triple-quoted strings, but any string literal -- that don't go anywhere are discarded by the Python compiler, precisely so they can be used as comments.


But docstrings are something else

You would need to add specific options to python to stop it from byte-compiling docstrings though.

Anonymous


Re: But docstrings are something else

Sorry, for the late reply, I myself had do some experimentations to understand this stuff. In the above snippet as you saw, the compiler discards any string which is not referenced. But it is still available as a doc attribute of the test object.

>>> def test():

>>> import dis

>>> dis.dis(test)

3 0 LOAD_CONST 1 (1)

3 STORE_FAST 0 (x)

4 6 LOAD_FAST 0 (x)

9 RETURN_VALUE

>>> print test.doc

This is string

>>>

But create a python snippet 'foo.py' like this:

def test():

"""This is a docstring"""

print test.doc

return True

test()

and do python foo.py vs python -OO foo.py you will see the .doc attribute itself is discarded while doing optimization using -OO.

Senthil

Pell's Equation

x^2 - n y^2 = 1

(Pell's equation) which is named after the English mathematician John Pell. It was studied by Brahmagupta in the 7th century, as well as by Fermat in the 17th century.

For more information, see the Wikipedia article on Pell's equation.

8 Bit Byte

Factors behind the ubiquity of the eight bit byte include the popularity of the IBM System/360 architecture, introduced in the 1960s, and the 8-bit microprocessors, introduced in the 1970s. The term octet unambiguously specifies an eight-bit byte (such as in protocol definitions, for example)

http://en.wikipedia.org/wiki/Byte

Otherwise, people have tried with 12 bit byte. Varying byte length in PDP 10. 6, 7 and 9 bits in Univac computers.

Muhammad al khowarizmi

Muhammad al-Khowarizmi, from a 1983 USSR commemorative stamp scanned by Donald Knuth

Muhammad al-Khowarizmi, from a 1983 USSR commemorative stamp scanned by Donald Knuth

The word "algebra" is a shortened misspelled transliteration of an Arabic title al-jebr w'al-muqabalah (circa 825) by the Persian mathematician known as al-Khowarismi. The al-jebr part means "reunion of broken parts", the second part al-muqabalah translates as "to place in front of, to balance, to oppose, to set equal." Together they describe symbol manipulations common in algebra: combining like terms, moving a term to the other side of an equation, etc.

The pasta theory of design

The pasta theory of design:

  • Spaghetti: each piece of code interacts with every other piece of code [can be implemented with GOTO, functions, objects]

  • Lasagna: code has carefully designed layers. Each layer is, in theory independent. However low-level layers usually cannot be used easily, and high-level layers depend on low-level layers.

  • Ravioli: each part of the code is useful by itself. There is a thin layer of interfaces between various parts [the sauce]. Each part can be usefully be used elsewhere.

  • ...but sometimes, the user just wants to order "Ravioli", so one coarse-grain easily definable layer of abstraction on top of it all can be useful.

An application design using Twisted's Aspect Oriented Programming Design is that special Ravioli.

http://twistedmatrix.com/projects/core/documentation/howto/tutorial/library.html