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!
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 BrazilianAmazon, 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)
India's Minister of Health, Ghulam Nabi Azad, reports that the country has almost entirely eradicated polio through a vaccination program which immunises over 170 million children every year. No new polio cases have been reported in India for over nine months. (BBC)
Researchers at Washington State University develop an artificial bone "scaffold" which can be produced using 3D printers, potentially allowing doctors to quickly print replacement bone tissue for injured patients. (BBC)
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.
10 September, 1946 - While riding a train to Darjeeling, Sister Teresa Bojaxhiu heard the call of God, directing her "to leave the convent and help the poor while living among them"; she would become known as Mother Teresa .
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.
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.
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.
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
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.
>>>importdis>>>deftest():...x=1..."""... This is a triple-quote comment.... """...returnx...>>>dis.dis(test)20LOAD_CONST1(1)3STORE_FAST0(x)66LOAD_FAST0(x)9RETURN_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.
(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.
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, 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.
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.