Abstract Factory - Design Pattern Explanation

Design patterns like "Decorator", "Singleton" are common and be easily recognized. The "Builder" pattern is also recognizable whenever you use Java's StringBuilder class.

Some patterns which are commonly used by frameworks are not easily recognizable unless you are a framework author. Recently, I spent time trying to recognize and understand Abstract Factory design pattern.

In this post, we will look at "Abstract Factory" and explain it with an example. I consulted multiple resources, and ultimately to gain confidence, I had to rely upon Design_Patterns Design Patterns: Elements of Reusable Object-Oriented Software (1994) is a software engineering book describing software design patterns. The book was written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, with a foreword by Grady Booch. The book is divided into two parts, with the first two chapters exploring the capabilities and pitfalls of object-oriented programming, and the remaining chapters describing 23 classic software design patterns. The book includes examples in C++ and Smalltalk. design patterns book.

This post is intended as refresher for a reader who has read the Gang of Four chapter on Abstract Factory. This post presents an example which the reader can relate to in the modern world.

Abstract Factory is a Factory for Factories. To understand this, you will first have to understand the Factory Design pattern, which encapsulates creation of objects. Factory pattern is recognized when instead of using new SomeClass() we call SomeClass.createObject() static method. The advantage is SomeClass is independent of your code, it could be supplied as a dependency from someone else and you simply use the factory. The person controlling the factory can modify the object creation process.

For example, SomeClass.createObject() in version1, can be return new SomeClass(arg1) and in version2, it can change to return new SomeClass(arg1, arg2) with you as the caller, invoking the object creation entirely as SomeClass.createObject() unaffected by the change made by the creator of SomeClass.

Factory pattern is easy to understand. The next step comes in dealing with Abstract Factory.

Intent

Abstract Factory provides an interface for creating families of related or dependent objects without specifying the concrete classes.

Canonical Design

https://dl.dropbox.com/s/3o1opat3zd7c569/Screenshot%202016-07-11%2023.04.02.png

Factory is a class that defers the instantiation of the object to the subclass.Factory encapsulates the decision-making that figures out which specific subclass to instantiate. There are three different kinds of Factory patterns observable with respect to object instantiation.

Simple Factory.

The client directly uses a static method of a subclass, to instantiate an object.

Factory Pattern

The client uses a Factory class to create an object. A Factory, is a class that defers the instantiation of an object to the subclasses.Factory method creates only one product

Abstract Factory

Abstract Factory is a constructional design pattern that is used to create a family of related products.

Abstract Factory is applicable when the

  • System should be configured with one of multiple families of Products.

  • The family of related product objects is designed to to used together and we need to enforce this constraint.

Design Problem

In this problem, we are trying to design a "Operating System Installer" for Unix family of Operating Systems. We know there are two popular variants of Unix, there popular operating system with Linux kernel and related application stack, and there is BSD systems.

Each Operating System will consists of components like

  1. Bootloader

  2. Kernel

  3. Shell

  4. DisplayManager

  5. WindowManager

  6. Applications

The installer will have to abstract those components and help the client create an Unix operating system choice.

Correspondence with Canonical Design

https://dl.dropbox.com/s/wmnawrv6h3rxx4u/Screenshot%202016-07-12%2002.15.48.png

Let's look at each of these in some detail.

Product Interfaces

Starting with products, these are:

  • Bootloader

  • Kernel

  • Shell

  • DisplayManager

  • WindowManager

  • BaseApplications

We will have Interfaces for the products.

java/abstractfactory/IBootLoader.java (Source)

public interface IBootLoader {
    /**
     * Boot up the System Image.
     */
    void bootUp();
}

java/abstractfactory/IKernel.java (Source)

public interface IKernel {

    /**
     * Load the kernel on top of the system image.
     */
    void loadKernel();
}

java/abstractfactory/IShell.java (Source)

public interface IShell {
    void loadShell();
}

java/abstractfactory/IDisplayManager.java (Source)

public interface IDisplayManager {
    void installDisplayManager();
}

java/abstractfactory/IWindowManager.java (Source)

public interface IWindowManager {
    void installWindowManager();
}

java/abstractfactory/IBaseApplications.java (Source)

public interface IBaseApplications {
    void installApplications();
}

Concrete Products

Each of these can create many difference concrete products. For the different concrete products like

  • Bootloader

    • BSDBootLoader

    • LinuxBootLoader

  • Kernel

    • BSDKernel

    • Linux

  • Shell

    • BASH

    • CShell

  • DisplayManager

    • X11

    • WayLand

  • WindowManager

    • Gnome

    • KDE

  • BaseApplications

    • SystemVUnix

    • GNUApplications

    • ProprietaryApps

Let's denote these concrete products in code that can be instantiated.

java/abstractfactory/BSDBootLoader.java (Source)

public class BSDBootLoader implements IBootLoader{
    /**
     * Boot up the System Image.
     */
    @Override
    public void bootUp() {
        System.out.println("Booting: " + this.getClass().getSimpleName());

    }
}

java/abstractfactory/BSDKernel.java (Source)

public class BSDKernel implements IKernel {
    /**
     * Load the kernel on top of the system image.
     */
    @Override
    public void loadKernel() {
        System.out.println("Loading: " + this.getClass().getSimpleName());

    }
}

java/abstractfactory/Bash.java (Source)

public class Bash implements IShell {

    @Override
    public void loadShell() {
        System.out.println("Loading: " + this.getClass().getSimpleName());

    }
}

java/abstractfactory/CShell.java (Source)

public class CShell implements IShell {
    @Override
    public void loadShell() {
        System.out.println("Loading: " + this.getClass().getSimpleName());

    }
}

java/abstractfactory/GNUApplications.java (Source)

public class GNUApplications implements IBaseApplications{
    @Override
    public void installApplications() {
        System.out.println("Installing: " + this.getClass().getSimpleName());
    }
}

java/abstractfactory/Gnome.java (Source)

public class Gnome implements IWindowManager {
    @Override
    public void installWindowManager() {
        System.out.println("Installing: " + this.getClass().getSimpleName());

    }
}

java/abstractfactory/KDE.java (Source)

public class KDE implements IWindowManager {
    @Override
    public void installWindowManager() {
        System.out.println("Installing: " + this.getClass().getSimpleName());
    }
}

java/abstractfactory/Linux.java (Source)

public class Linux implements IKernel{
    /**
     * Load the kernel on top of the system image.
     */
    @Override
    public void loadKernel() {
        System.out.println("Loading: " + this.getClass().getSimpleName());

    }
}

java/abstractfactory/LinuxBootLoader.java (Source)

public class LinuxBootLoader implements IBootLoader {
    @Override
    public void bootUp() {
        System.out.println("Booting: " + this.getClass().getSimpleName());
    }
}

java/abstractfactory/ProprietaryApps.java (Source)

public class ProprietaryApps implements IBaseApplications{
    @Override
    public void installApplications() {
        System.out.println("Installing: " + this.getClass().getSimpleName());
    }
}

java/abstractfactory/SystemVUnix.java (Source)

public class SystemVUnix implements IBaseApplications{
    @Override
    public void installApplications() {
        System.out.println("Installing: " + this.getClass().getSimpleName());
    }
}

java/abstractfactory/WayLand.java (Source)

public class WayLand implements IDisplayManager{

    @Override
    public void installDisplayManager() {
        System.out.println("Installing: " + this.getClass().getSimpleName());
    }

}

java/abstractfactory/X11.java (Source)

public class X11 implements IDisplayManager{
    @Override
    public void installDisplayManager() {
        System.out.println("Installing: " + this.getClass().getSimpleName());
    }
}

Factories

The products are created by Factories

  • BSDFactory

  • LinuxFactory

  • UbuntuFactory

java/abstractfactory/BSDFactory.java (Source)

public class BSDFactory implements IUnixFactory {
    @Override
    public IBootLoader installBootLoader() {
        return new BSDBootLoader();
    }

    @Override
    public IKernel installKernel() {
        return new BSDKernel();
    }

    @Override
    public IShell installShell() {
        return new CShell();
    }

    @Override
    public IDisplayManager installDisplayManager() {
        return new X11();
    }

    @Override
    public IWindowManager installWindowManager() {
        return new KDE();
    }

    @Override
    public IBaseApplications installApps() {
        return new SystemVUnix();
    }
}

java/abstractfactory/LinuxFactory.java (Source)

public class LinuxFactory implements IUnixFactory {
    @Override
    public IBootLoader installBootLoader() {
        return new LinuxBootLoader();
    }

    @Override
    public IKernel installKernel() {
        return new Linux();
    }

    @Override
    public IShell installShell() {
        return new Bash();
    }

    @Override
    public IDisplayManager installDisplayManager() {
        return new X11();
    }

    @Override
    public IWindowManager installWindowManager() {
        return new Gnome();
    }

    @Override
    public IBaseApplications installApps() {
        return new GNUApplications();
    }
}

java/abstractfactory/UbuntuFactory.java (Source)

public class UbuntuFactory extends LinuxFactory {
    @Override
    public IDisplayManager installDisplayManager() {
        return new X11();
    }

    @Override
    public IBaseApplications installApps() {
        return new ProprietaryApps();
    }
}

Abstract Factory

The factories will implement an abstraction provided by the Abstract Factory

java/abstractfactory/IUnixFactory.java (Source)

public interface IUnixFactory {
    IBootLoader installBootLoader();
    IKernel installKernel();
    IShell installShell();
    IDisplayManager  installDisplayManager();
    IWindowManager installWindowManager();
    IBaseApplications installApps();
}

Client

The design is best understood from the view of the client which uses the Abstract Factory to the create the products.

java/abstractfactory/OperatingSystem.java (Source)

public class OperatingSystem {
    IUnixFactory unixFactory;

    public OperatingSystem(IUnixFactory unixFactory) {
        this.unixFactory = unixFactory;
    }

    /**
     * installerClient uses only the interfaces declared by AbstractFactory (IUnixFactory) and AbstractProduct
     * (IBootLoader, IKernel, IShell, IDisplayManager, IWindowManager, IBaseApplications) classes.
     */
    public void installerClient() {


        IBootLoader bootLoader = unixFactory.installBootLoader();
        IKernel kernel = unixFactory.installKernel();
        IShell shell = unixFactory.installShell();
        IDisplayManager displayManager = unixFactory.installDisplayManager();
        IWindowManager windowManager = unixFactory.installWindowManager();
        IBaseApplications applications = unixFactory.installApps();

        bootLoader.bootUp();
        kernel.loadKernel();
        shell.loadShell();
        displayManager.installDisplayManager();
        windowManager.installWindowManager();
        applications.installApplications();

    }

    /**
     * client will not know the
     * products the type of bootloader, kernel, shell, display, window manager or applications.
     * That is encapsulated in factory used by the client.
     *
     */
    private static void factoryClient(IUnixFactory factory) {
        OperatingSystem operatingSystem = new OperatingSystem(factory);
        operatingSystem.installerClient();
    }

    public static void main(String[] args) {
        IUnixFactory factory;

        factory = new LinuxFactory();
        factoryClient(factory);

        factory = new BSDFactory();
        factoryClient(factory);

        factory = new UbuntuFactory();
        factoryClient(factory);
    }

}

The execution looks like this.

Booting: LinuxBootLoader
Loading: Linux
Loading: Bash
Installing: X11
Installing: Gnome
Installing: GNUApplications

Booting: BSDBootLoader
Loading: BSDKernel
Loading: CShell
Installing: X11
Installing: KDE
Installing: SystemVUnix

Booting: LinuxBootLoader
Loading: Linux
Loading: Bash
Installing: X11
Installing: Gnome
Installing: ProprietaryApps

Tabulated Correspondence

Mapping of the code with various elements in the design helps us to appreciate this pattern.

https://dl.dropbox.com/s/ahu9pj89qtt7pos/Screenshot%202016-07-27%2008.57.29.png

Hope this was useful. If you have any comments on this article, please add your thoughts in the comments section of this article.

Thank you for reading!

A Week Of Violence - July 9, 2016

Police shooting of the black men were disturbing. There are videos on the internet, I suggest that you don't watch them, it just does not help. The men were shot for no-good reason and if I have take an alternate stance, it is probably because the police officer had fear and hatred towards the other person that he shot them.

There are no excuses for the police officers who shot the black men. They should be jailed for their life term for this act.

Later, the protest in Dallas to condemn the shooting, some people, who carried guns, which is legal in US, shot at the officers and killed 5 of them. This is equally brutal. In addition, police used a robot to kill the suspect too.

I had to recollect "Gandhi's message of peace" that many Indians have been thought since childhood. It seems to me that folks who cite, "Second Amendment" will really not understand either Gandhi's or Christ's message to mankind.

Movie Review: No Country For Old Men

My Rating: 4/5

There is a decent chance that you must have heard about this movie. I had heard the name too, had a vague idea from reading synopsis what I would expect. But I was totally wrong. After a point, I said to myself, it is no longer good vs. evil story.

It has a very thin storyline but has an excellent performance from the villain, gripping scenes that will keep you absorbed.

I won't the read book, but I enjoyed watching the movie.

Mesosphere Ahoy!

I joined @mesosphere on June 20, 2016. It's exciting as I get to work on some interesting technology in Datacenter Operating System. The container technology and orchestration world is in rage right now. Mesosphere is suitably positioned in that sphere. :)

The most interesting thing for me will be learn the distributed systems concepts well and contributed to this space. Plus, I discovered that our infrastructure tools are completely in Python3. Yay for that!

Documenting projects can reveal code/ design bugs.

Stumbled upon this LWN.net entry written by a Linux man-pages contributor. The main point of this article was, documenting software projects quite early on can reveal important design and code bugs. This presented three examples of how a feature in inotify call was introduced, but was found not working while documenting it. Similar example was given for splice and timerfd calls

Read the full article here: http://lwn.net/Articles/247788/

The Martian Way - Novella

Enjoyed reading "The Martian Way" story by Asimov. Takes place in a future setting where there are dwellers in mars, and Earth has decided to ration the supply of water to mars. Martians get worried, but a group, adventurous enough, decide to get the water from "elsewhere" in the galaxy.

Still thinking like an earthling?

Get out of your rut, open your mind—there’s a whole universe waiting. It’s waiting for people who aren’t afraid of thinking in new ways, of doing new things.

Can you imagine…

…mining the skies for water?

…building a new world beneath the surface of a strange planet?

…making pets out of alien explorers?

…putting your life in the hands of a teen-aged computer?

If you can, you’re well on your way to becoming a member of the space generation—you’re thinking The Martian Way.

Also, asimovreviews.net review for the martian way

There will be code

There is a wired story which predicted that advancements in artificial intelligence will result in programs getting trained rather than being written. This is keeping in line with machine learning advancements popular these days where the number of people who are doing "machine learning" need not learn "how to write the machine learning algorithms", instead they just need to learn "how to use machine learning algorithms" on data. They should be efficient at using "algorithms".

That was total alien concept to me until I saw a whole category and industry flourish with that concept. Given the background, the wired articles prediction was that programs will be trained instead of being written.

I found an alternate argument, from a credible and respectable source Clean Code By: Robert C. Martin It goes like this.

There Will Be Code

One might argue that a book about code is somehow behind the times—that code is no longer the issue; that we should be concerned about models and requirements instead. Indeed some have suggested that we are close to the end of code. That soon all code will be generated instead of written. That programmers simply won’t be needed because business people will generate programs from specifications.

Nonsense! We will never be rid of code, because code represents the details of the requirements. At some level those details cannot be ignored or abstracted; they have to be specified. And specifying requirements in such detail that a machine can execute them is programming. Such a specification is code.

I expect that the level of abstraction of our languages will continue to increase. I also expect that the number of domain-specific languages will continue to grow. This will be a good thing. But it will not eliminate code. Indeed, all the specifications written in these higher level and domain-specific language will be code! It will still need to be rigorous, accurate, and so formal and detailed that a machine can understand and execute it.

The folks who think that code will one day disappear are like mathematicians who hope one day to discover a mathematics that does not have to be formal. They are hoping that one day we will discover a way to create machines that can do what we want rather than what we say. These machines will have to be able to understand us so well that they can translate vaguely specified needs into perfectly executing programs that precisely meet those needs.

This will never happen. Not even humans, with all their intuition and creativity, have been able to create successful systems from the vague feelings of their customers. Indeed, if the discipline of requirements specification has taught us anything, it is that well-specified requirements are as formal as code and can act as executable tests of that code!

Remember that code is really the language in which we ultimately express the requirements. We may create languages that are closer to the requirements. We may create tools that help us parse and assemble those requirements into formal structures. But we will never eliminate necessary precision—so there will always be code.

The Man Who Knew Infinity

"An equation for me has no meaning, unless it represents a thought of God." - Srinivasa Ramanujan

"The man who knew infinity" is the story of Srinivasa_Ramanujan Srinivasa Ramanujan Aiyangar . This phrase, associated with Ramanujan should be familiar to many due to a very popular book with the same title. There is a motion picture directed by Matt Brown based upon this book.

I watched his movie on a Saturday at Berkeley. I was excited to listen to the QA with the director, and Mathematicians such as Richard_Borcherds Richard Ewen Borcherds (; born 29 November 1959) is a British mathematician currently working in quantum field theory. He is known for his work in lattices, group theory, and infinite-dimensional algebras, for which he was awarded the Fields Medal in 1998. He is well known for his proof of monstrous moonshine using ideas from string theory. , Olga Holz and Ken Ribet following the screening.

In India, we have been exposed to Ramanujan quite early in our lives. I had stories in school book about great Indian mathematicians like Aryabhata, Brahmangupta, and Bhaskaracharya. Indian Satellites to Space launched by ISRO bear their names too. Along with those personalities, we have Srinivasa Ramanujan and whom we know for his invention of Magic Squares, and Ramanujan Number, the smallest number expressible as sum of two cubes.

\begin{equation*} 1729 = 1^3 + {12}^3 = 9^3 + 10^3 \end{equation*}

Beyond that, I had not known much about the significance of this number or Ramanujan's work.

Years later, when taking online courses, I had come to know about Hardy and Ramanujan's research in Number Theory being at the core of secure communication and cryptography. Do you use Credit Cards online and feel confident that someone will not maliciously take your money? All this is was because of the research in number theory.

There is also famous anecdote associated with Ramanujan, known to many from South India, Ramanujan prayed to a goddess, and she gave inspiration for his work. He mentions that his theorems had come up like a dream, a boon granted by the Goddess, and he would write formulae in his book. That's how he invented those theorems.

If it happened like that, imagine how excited young students from Madurai will be, where there a temple every hundred feet. :) It needs to be clarified that, Ramanujan was a genius and he also worked very hard on his subjects.

A better understanding of this phenonmemon, in general, is now known. The style of discovery is called " diffused mode learning", wherein after an intense work on challenging problem, the solution suddenly comes up during a restful time.

All these are portrayed well in this movie. The relationship between Hardy and Ramanujan, the scientific culture at Trinity College, London revealed in real detail. The movie has a significant portion dealing with how Hardy mentors Ramanujan, and strives to bring his work to the modern world.

In the question and answer session that followed, two questions were of interest to me.

How do mathematicians study Ramanujan's work when he has not left many formula proofs with his equation?

Richard_Borcherds Richard Ewen Borcherds (; born 29 November 1959) is a British mathematician currently working in quantum field theory. He is known for his work in lattices, group theory, and infinite-dimensional algebras, for which he was awarded the Fields Medal in 1998. He is well known for his proof of monstrous moonshine using ideas from string theory. , who is an accomplished mathematician, replied that Ramanujan's work was published in the form of series of notebooks. He left behind three notebooks containing almost 3000 theorems, virtually all without proof. The reason he could have done that is perhaps he grew up in a time when the paper was very expensive for him and he wanted to be economical.

(It did not answer the question, but provided a good perspective).

Question 2: In the movie, Ramanujan is shown to be desisting writing formal proofs. Is that true?

Richard_Borcherds Richard Ewen Borcherds (; born 29 November 1959) is a British mathematician currently working in quantum field theory. He is known for his work in lattices, group theory, and infinite-dimensional algebras, for which he was awarded the Fields Medal in 1998. He is well known for his proof of monstrous moonshine using ideas from string theory. shared that, it is bit exaggerated in the movie. Ramanujan always knew the proof of his work and could state it if he wanted to. But he usually did not.

I enjoyed watching this movie and listening to the perspectives associated with the genius from kumbakonam.

Oxford Comma

The Oxford comma is the final comma in a list of items mentioned in a sentence. In this statement:

I like computer science, maths, and programming.

The comma after the word "maths" and before the conjunction "and" is considered the Oxford comma. Other commonly used terms for this style are the serial comma, series comma, or Harvard comma.

Before writing this essay, I had never added a comma to the final element of a conjunction. This topic piqued my interest, and I started researching this entity.

The term "Oxford comma" got its name from the Oxford University Press style guide. It was recommended by the Oxford style guide even when many British journals and publications did not recommend it. My first conscious encounter with it was during a diagnostic test. I was unable to correct a sentence by placing a serial comma. I had never considered a statement with a list of items wrong if it did not have a serial comma. We always try to infer the meaning from the context. But in fact, as we will see shortly, it may not always be possible. The reason to include the Oxford comma is to reduce ambiguity in a sentence.

The reason we often do not notice the lack of an Oxford comma is that the Associated Press style guide, which many newspapers follow, does not require its use. Thus, it is often left out. Let's examine an ambiguity that arises when the Oxford comma is omitted.

To my parents, Alicia and Steve Jobs.

There is ambiguity about the writer's parentage here because "Alicia and Steve Jobs" can be read as being in apposition to "my parents," leading the reader to believe that the writer claims Alicia and Steve Jobs are his parents. Placing the Oxford comma after "Alicia" resolves the ambiguity:

To my parents, Alicia, and Steve Jobs.

This sentence clearly articulates that the writer is referring to three separate entities in the dedication. However, there are cases where the inclusion of the Oxford comma can create ambiguity. For example, consider this statement:

To my father, Steve Jobs, and Alicia.

The serial comma after "my father" creates ambiguity about the writer's father because it uses punctuation identical to that used for an appositive phrase, suggesting that Steve Jobs is the writer's father. It is unclear whether there are three people (1. my father; 2. Steve Jobs; and 3. Alicia) or only two (1. Steve Jobs and 2. Alicia, with Steve Jobs being the writer's father). A common way to disambiguate this sentence is to refer to each entity explicitly. For example:

To my father, to Steve Jobs, and to Alicia.

Thus, the placement of the comma can significantly affect the meaning of an entire sentence. By appropriately choosing words and consistently using the Oxford comma, we can write less ambiguous phrases. Additionally, the Oxford comma often matches the spoken cadence of sentences better.

The Good Doctor

"Oh, yes," said Siddhartha, "I make one-off changes to simulations on Earth."

Govind adjusted his glasses and wondered, "Really?"

"I mean it. I make real people come to readings and discussions of their stories."

"And?"

"The characters themselves evaluate how they are understood. I introduced Asimov into a class that was discussing his short story 'The Immortal Bard.'"

"Oh wow, exciting."

"Asimov was excited too since it was his favorite subject. But then..."

"Hmm?"

"He quickly became dismayed. His original writing of 'The Immortal Bard' was meant to illustrate how, given enough time, experts in this world create their own interpretations of original sources. When creators themselves come face-to-face with these interpretations, the experts are so convinced of their own understanding that they fail to recognize the creator's intent."

"That's what happened to Shakespeare in that story. Yeah, I know, that was a hilarious one."

"Right, but what Asimov found was that the discussion wasn't about what he thought readers might enjoy from his story. Instead, everyone focused on proving why the immortal bard would fail if he were brought back."

"Amusing."

"Yeah, Asimov pondered how stories could be perceived and how readers change the intention when asked to prove something in an assignment. The Good Doctor that he was, he continued writing, thinking that someday readers would be able to enjoy his stories as he intended—perhaps with the help of an artificially intelligent agent."

Senthil Kumaran


The story is based upon The Immortal Bard by Issac Asimov.

Good Algorithms Matter

This screenshot from a slide presents a compelling reason as why good algorithms matter.

https://dl.dropbox.com/s/xav99k9cu4y3f9a/good_algorithms.png

Choice of the algorithm determines the difference between solving a problem in few minutes vs., not able to solve it over a lifetime. Just compare sorting a billion items using insertion sort and quick sort in the above chart. It speaks for itself.

Gravitational Waves

Our universe is complex and our knowledge of it is limited. It is very hard to keep track of various breakthroughs and connect the dots. Moreover, as we focus on narrow pursuits, we often tend to lose our path in fundamental sciences. We become five-year-olds in fundamental sciences. Reddit's "Explain like I am Five" is one of the first things I look for whenever the world comes across a major scientific breakthrough.

When the existence of gravitational waves was proven on Feb 11, 2016, the question on everyone's mind was "what are gravitational waves", "why is it a big deal?", "Should I even care?". Well, honestly, many of us and our children can live for 100s of years without caring, but generations beyond those, assuming humanity survives, will find Feb 11 2016, discovery to be useful. Such breakthroughs are not new, just a few hundred years ago, we did not believe that earth was spherical.

So, what are gravitational waves?

When you consider the space as matter, and when bodies like stars and sun move that matter, they produce waves on that surface. Using instruments it is confirmed that these waves exists and we actually "listened" to them for real!

To follow along in simple terms, this is the excerpt of the conversation on Reddit.

A user loljetfuel explained the concept like.

Since I actually tried to explain this to a pair of 5-year-olds today, I figure why not share :) You know how when you throw a rock in a pool, there are ripples? And how if we throw bigger rocks in, they make bigger ripples? Well, a long time ago, a really smart guy named Einstein said that stars and planets and stuff should make ripples in space, and he used some really cool math to explain why he thought that. Lots of people checked the math and agree that he was right. But we've never been able to see those ripples before. Now some people built a really sensitive measuring thing that uses lasers to see them, and they just proved that their device works by seeing ripples from a really big splash. So now we know how to see them and we can get better at it, which will help us learn more about space.

The scientist from LIGO, dwarfboy1717 further supported this answer stating:

LIGO scientist here! Great explanation! I'll add:

If Einstein is right (hint: HE IS), gravitational waves would travel outward from (for instance) two black holes circling each other just like the ripples in a pond. When they come to Earth and pass through the detectors, a signal can tell us not only that the gravitational wave has been found, but it can also tell us lots of information about the gravitational wave! As you track what the gravitational waves look like over a (very) short amount of time, you can tell what kind of event caused them, like if it was two black holes colliding or a violent supernova... along with other details, like what the mass of these stars/black holes would have been! This discovery has ushered in an awesome new era of astronomy. BEFORE we started detecting gravitational waves, looking out at the universe was like watching an orchestra without any sound! As our detectors start making regular observations of this stuff, it will be like turning on our ears to the symphony of the cosmos!

Big Deal!. It's wonderful we are able to share this news in a way that every one of us can understand and relate to!

Further Reading

Watching

Watch the video Allan Adams, theoretical physicist from MIT, explaining the significance of gravitational waves.

First day at Okta

Joined my new company, Okta, today. Eventful day with lot of people and process training, but a meaningful one wherein I got the feel of the pending tasks, by making change, going through the process, witnessing the test runs and committing the code on the first day itself.

Onwards with Always On. :)

Comma Free Codes

We awe at Donald Knuth. I wondered, if I can understand a subject taught by Knuth and derive satisfaction of learning something directly from the master. I attended his most recent lecture on "comma free codes", felt that it was accessible and could be understood by putting some effort. This is my attempt to grasp the topic of "comma free codes", taught by Knuth for his 21st annual christmas tree lecture on Dec 2015. We will use some definitions directly from Williard Eastman's paper, reference the topics in wikipedia, look at Knuth's explanation.

We talk of codes in the context of information theory. A code is a system of rules to convert information—such as a letter, word, sound, image, or gesture—into another form or representation. A sequence of symbols, like a sequence of binary symbols, sequence of base-10 decimals or a sequence of English language alphabets can all be termed as "code". A block code is a set of codes having the same length.

Comma Free Block Code

Comma free code is a code that can be easily synchronized without any external unit like comma or space, "likethis". Comma free block code is set of same length codes having the comma free property.

The four letter words in "goodgame" is recognizable, it easy to derive those as "good" and "game". Other possible substring four letter words in that phrase "oodg", "odga", "dgga" are invalid words in english (or non code-words) and thus we did not have any problem separating the codewords when they were not separated by delimiters like space or comma. Anecdotally, Chinese and Thai languages do not use space between words.

Take an alternate example, "fujiverb". Can you say deterministically if the word "jive" is my code word? Or my code words consists only of "fuji" and "verb". You cannot determine it from this message and thus, "fuji" and "verb" do not form valid a "comma free block codes".

The same applies to a periodic code word like "gaga". If a message "gagagaga" occurs, then the middle word "gaga" will be ambiguous as it is composed of 2-letter suffix and a 2-prefix of our code word and we wont be able to differentiate it.

Mathematical definition

Comma free code words are defined like this.

A block code, C containing words of length n is called comma free if, and only if, for any words \(w = w_1, w_2 ... w_n. \: and \: x = x_1, x_2 ... x_n\) belonging to C, the n letter overlaps \(w_k ... w_nx_1 .... x_{k-1} (k = 2, ... n)\) are not words in the code.

This simply means that if two code words are joined together, than in that joined word, any substring from second letter to the last of the block code length should not be a code word.

How to find them?

Backtracking.

The general idea to find comma free block codes is use a backtracking solution and for every word that we want to add to the list, prune through through already added words and find if the new word can be a substring of two words joined together from the existing list. Knuth gave a demo of finding the maximum comma free subset of the four letter words.

commafree_check.py (Source)

def check_comma_free(input_string):
  if check_periodic(input_string):
    print("input string is periodic, it cannot be commafree.")
    return
  if len(comma_free_words) == 0:
    comma_free_words.append(input_string)
  else:
    parts = get_parts(input_string)
    for head, tail in parts:
      if (any_starts_with(head) and any_ends_with(tail)) or (any_starts_with(tail) and any_ends_with(head)):
        print("%s|%s are part of the previous words." % (head, tail))
        return
    comma_free_words.append(input_string)

This logic is dependent on the order in which comma free block codes are analyzed. For finding a maximal set in a given alphabet size in any order a proper backtracking based solution should be devised, which considers all the cases of insertions.

How many are there?

Backtracking based solution requires us to intelligently prune the search space. Finding effective strategies for pruning the search space becomes our the next problem in finding the comma free codes. We will have to determine how many comma free block codes are possible for a given alphabet size and for a given length.

For 4 letter words, (n = 4) of the alphabet size m, we know that there are \(m^4\) possible words (permutation with repetition). But we're restricted to aperiodic words of length 4, of which there are \(m^4 - m^2\). Notice further that if word, item has been chosen, we aren't allowed to include any of its cyclic shifts temi, emit*, or mite, because they all appear within itemitem. Hence the maximum number of codewords in our commafree code cannot exceed \((m^4 - m^2)/4\).

Let us consider the binary case, m = 2 and length n = 4, C(2, 4). We can choose four-bit "words" like this.

[0001] = {0001, 0010, 0100, 1000},

[0011] = {0011, 0110, 1100, 1001},

[0111] = {0111, 1100, 1101, 1011},

The maximum number of code words from our formula will be \(2^4 - 2^2/4 \: = \: 3\). Can we choose three four-bit "words" from the above cyclic classes? Yes and choosing the lowest in each cyclic class will simply do. But choosing the lowest will not work for all n and m.

In the class taught by Knuth, we analyzed the choosing codes when m = 3 {0, 1, 2} and for n = 3, C(3, 3). The words in the category were

000 111 222 # Invalid since they are periodic

001 010 100 # A set of cyclic shifts, only one can taken as a valid code word.

002 020 200

011 110 101

012 120 201

021 210 102

112 121 211

220 202 022

221 212 122

The number 3-alphabet code words of length 3 is 27 ( = \(3^3\)). The set of valid code words in this will be \((3^3-3) / 3 = 8\).

Choosing the lowest index will not work here for e.g, if we choose 021 and 220, and we send the word 220021 the word 002 is conflicting as it is part of our code word. With any back-tracking based solution, we will have to determine the correct non-cyclic words to choose in each set to form our maximal set of 8 code words.

The problem of finding comma free code words increases exponentially to the size of the length of the code word and on the code word size. For e.g, The task of finding all four-letter comma free codes is not difficult when m = 3, and only 18 cycle classes are involved. But it already becomes challenging when m = 4, because we must then deal with \((4^4 - 4^2) / 4 = 60\) classes. Therefore we'll want to give it some careful thought as we try to set it up for backtracking.

Willard Eastman came up with clever solution to find a code word for any odd word length n over an infinite alphabet size. Eastman proposed a solution wherein if we give a n letter word (n should be odd), the algorithm will output the correct shift required to make the n letter word a code word.

Eastman's Algorithm

Construction of Comma Free Codes

The following elegant construction yields a comma free code of maximum size for any odd block length n, over any alphabet.

Given a sequence of \(x =x_0x_1...x_{n-1}\) of nonnegative integers, where x differs from each of its other cyclic shifts \(x_k...x_{n-1}x_0..x_{k-1}\) for 0 < k < n, the procedure outputs a cyclic shift \(\sigma x\) with the property that the set of all such \(\sigma x\) is a commafree.

We regard x as an infinite periodic sequence \(<x_n>\) with \(x_k = x_{k-n}\) for all \(k \ge n\). Each cyclic shift then has the form \(x_kx_{k+1}...x_{k+n-1}\). The simplest nontrivial example occurs when n = 3, where \(x=x_0 x_1 x_2 x_0 x_1 x_2 x_0 ...\) and we don't have \(x_0 = x_1 = x_2\). In this case, the algorithm outputs \(x_kx_{k+1}x_{k+2}\) where \(x_k > x_{k+1} \le x_{k+2}\); and the set of all such triples clearly satisfies the commafree condition.

The idea expressed is to choose a triplet (a, b, c) of the form.

\begin{equation*} a \: \gt b \: \le c \end{equation*}

Why does this work?

If we take two words, xyz and abc following this property, combining them we have,

\begin{equation*} x \: \gt y \: \le z \quad a \: \gt b \: \le c \end{equation*}
  • yza cannot be a word because z cannot be > than y.

  • zab cannot be a word because a cannot be < than b.

There by none of the substrings will be a code word and we can satisfy the comma free property.

And if we use this condition to determine the code words in our C(3,3) set, we will come up with the following codes which can form valid code words.

000 111 222
001 010 100
002 020 200
011 110 101
012 120 201
021 210 102
112 121 211
220 202 022
221 212 122

The highlighted words will form valid code words and all of these satisfy the criteria, \(a \: \gt b \: \le c\) Now, if you are given a word like 211201212, you know for sure that they are composed of 211, 201 and 212 as none of other intermediaries like (112, 120, 201, 012, 121) occur in our set.

Eastman's algorithm helps in finding the correct shift required to make any word a code word.

For e.g,

Input: 001 Output: Shift by 2, thus producing 100

Input: 221 Output: Shift by 1, thus producing 212

And the beauty is, it is not just for words of length 3, but for any odd word length n.

The key idea is to think of x as partitioned into t substrings by boundary marked by \(b_j\) where \(0 \le b_0 \lt b_1 \lt ... \lt b_{t-1} < n\) and \(b_j = b_{j-t} + n\) for \(j \ge t\). Then substring \(y_j\) is \(x_{b_j} x_{b_{j+1}-1}\). The number t of substrings is always odd. Initially, t = n and \(b_j = j\) for all j; ultimately t = 1 and \(\sigma x = y0\) is the desired output.

Eastman's algorithm is based on comparison of adjacent substrings \(y_{j-1} and y_j\). If those substring have the same length, we use lexicographic comparison; otherwise we declare that the longer string is bigger.

The number of t substring is always odd because we went with an odd string length (n).

The comparison of adjacent substring form the recursive nature of the algorithm, we start with small substring of length 1 adjacent to each other and then we find compare higher length substring, whose markers have been found by the previous step. This will become clear as we look the hand demo.

http://ecx.images-amazon.com/images/I/41KZVIUGswL._SX332_BO1,204,203,200_.jpg

Basin and Ranges

It's convenient to describe the algorithm using the terminology based on the topograph of Nevada. Say that i is a basin if the substrings satisfy \(y_{i-1} \gt y_i \le y_{i+1}\). There must be at least one basin; otherwise all the \(y_i\) would be equal, and x would equal one of its cyclic shifts. We look at consecutive basins, i and j; this means that i < j and that i and j are basins, and that i+1 through j - 1 are not basins. If there's only one basin we have \(j = i + t\). The indices between consecutive basins are called ranges.

The basin and ranges is Knuth's terminology, taken from the book Basin and Ranges by John McPhee which describes the topology of Nevada. It is easier to imagine the construct we are looking for if we start to think in terms of basin and ranges.

Since t is odd, there is an odd number of consecutive basins for which \(j - i\) is odd. Each round of Eastman's algorithm retains exactly one boundary point in the range between such basins and deletes all the others. The retained point is the smallest \(k = i + 2l\) such that \(y_k \gt y_{k+1}\). At the end of a round, we reset t to the number of retained boundary points, and we begin another round if t > 1.

Word of length 19

Let's work through the algorithm by hand when n = 19 and x = 3141592653589793238

Phase 1

  • First markers differentiate each character.

  • We use . to denote the cyclic repetition of the 19 letter word.

3 | 1 | 4 |  1 | 5 | 9 | 2 | 6 | 5 | 3 | 5 | 8 | 9 | 7 | 9 | 3 | 2 | 3 | 8 . 3 | 1 | 4 | 1 | 5
  • Next we go about identifying basins. We identify the basins where for any 3 numbers (a, b, c), \(a \: \gt b \le c\) and put the markers below them

  • After the cyclic repetition we see the repetition of the basin. Like the last line below 1 is same as the first line. It is the basin that is repeated.

3  1  4  1  5  9  2  6  5  3  5  8  9  7  9  3  2  3  8  3  1  4  1 5

   |     |        |        |           |        |        .  |
  • We mark the ranges as odd length or even length ones.

3  1  4  1  5  9  2  6  5  3  5  8  9  7  9  3  2  3  8  3  1  4  1 5

---|--e--|---o----|---o----|-----e-----|---o----|-----e--.--|--------
  • Next, take all the odd length basin markers, go by steps of 2, 4, 6 so on and identify the first greater than number and place the new basin markers before them.

For e.g, in 1-5-9-2. The 2 length path is "1-5-9" and first higher will be 9 and we have to place the marker ahead of it. So, the phase 0 of eastman algorithm will output, 5, 8 and 15. denoting the indices where our basins are after the first phase.

If you are watching the video with Knuth giving a demo, there is a mistake in the video that second basin identifier is placed after 5, instead of before 5 (We should go by steps of 2 and place it before the first greater than number).

3  1  4  1  5  | 9  2  6  |  5  3  5  8  9  7  9  | 3  2  3  8  . 3  1  4 1  5

Phase 2

  • In the second phase, we use the basin markers of the previous phase and compare the sub strings denoted by the basin.

  • We take the substring of length 19, but now denoted by basins. The repetition of the string in the previous steps helped us here.

9  2  6  |  5  3  5  8  9  7  9  | 3  2  3  8  3  1  4 1  5
  • We apply the algorithm recursively on the strings 926, 5358979 and 323831415. We find that the string 323831415 is greater than the rest, so we can keep the basin marker ahead of it.

9  2  6  5  3  5  8  9  7  9  | 3  2  3  8  3  1  4 1  5

At the end of Phase 2, the algorithm outputs index 15, as the shift required to create the code word out of 19 word string. And thus our code word found by the eastman's algorithm is

3  2  3  8  3  1  4 1  5  9  2  6  5  3  5  8  9  7  9

Knuth's gave a demo with his implementation in CWEB. He shared a thought that even though algorithm is expressed recursively, the iterative implementation was straight forward. For the rest of the lecture he explores the algorithm on a binary string of PI of n = 19 and finds the shift required. Also, gives the probability of Eastman's algorithm finishing in one round, that is, just the phase 1.

All these are covered as exercises and answers in the pre-fascicle 5B of his volume 5 of The Art of Computer Programming, which can be explored in further depth.

Video

References

Tidbits

Earth is spherical

Short notes from my readings.

We all know that earth is a spherical, it has been taught to us since our childhood. The notion is so common that we somehow suppress our original thought, when we observe outside, that earth could be flat.

That brings an interesting question on how and when did human first come to realize that earth is not flat. Mere observation may not help as when we see around us, both cities and plains, that land we see is infinitely flat. Occasionally, when we look at the mountains, we observe the land going up and then coming down, it is the same, but in the reverse order when we observe it in the valley. If we iron out these oddities, we still land up on the same conclusion that earth could be flat.

However, careful observation and thinking by looking at the mountain, could help us derive at a different conclusion. If we look up the mountain, we see a smooth line of the earth and the sky touching. If the earth were flat, than that smooth line could be considered the boundary, in other words, horizon of the surface denoted by that horizontal line. But, if we venture past that mountain top, we know that that is not end as we saw from the bottom, but there is a slope down and then mountain was curved surfaced which looked horizontal to our eyes.

The same analogy could be drawn to a ship on the surface of an ocean and if we see a ship on the horizon, it slowly goes down the other side, little by little and never jumps off the cliff. This can help us derive that earth is not just flat, but it is a curved surface.

And we see this phenomenon throughout the ocean surfaces, which makes us believe that earth's curvature is uniform, in other words, spherical.

This kind of reason was first explained by pythogoras in 500 BC. Later in 340 BC, Aristotle settled this matter once and for all by providing numerous examples. Like, when observing lunar eclipse, when earth cast it's shadow on moon and we can observe that earth's surface is curved.

Modern world does not need much proof, we have photos of earth captured from space, which asserts that pythagoros guided the human thinking in the correct direction.

Trip to Santa Cruz, Carmel and Big Sur

I planned for a family weekend trip to few coastal towns in California. My dad was visiting us and before he returned back to India, I thought it was a good idea to tour some nearby places. Plus, it was a welcome relief after all the work of moving to the new home.

As my wife would say, something that I should avoid doing, it was last minute plan. On wednesday, I went about planning for my leave at office and started booking hotels. Hotels near tourist spots often get booked during weekends and I had to pay my price of getting hold of something which was a bit away from tourist spots, but in a beautiful small town called Salinas.

Using wikipedia and google maps, I noted down the following places that will be worth visiting.

  • Pegion Point Light House Pigeon Point Light Station or Pigeon Point Lighthouse is a lighthouse built in 1871 to guide ships on the Pacific coast of California. It is the tallest lighthouse (tied with Point Arena Light) on the West Coast of the United States. It is still an active Coast Guard aid to navigation. Pigeon Point Light Station is located on the coastal highway (State Route 1), 5 miles (8 km) south of Pescadero, California, between Santa Cruz and San Francisco. The 115-foot (35 m), white masonry tower, resembles the typical New England structure.

  • Mystery Spot The Mystery Spot is a tourist attraction near Santa Cruz, California, opened in 1939 by George Prather. Visitors experience demonstrations that appear to defy gravity, on the short but steep uphill walk and inside a wooden building on the site. It is a popular tourist attraction, and gained recognition as a roadside "gravity box" or "tilted house". The site is what is known as a gravity hill and was the first of its kind to be built in California.

  • Santa Cruz Broad Walk The Santa Cruz Beach Boardwalk is an oceanfront amusement park in Santa Cruz, California. Founded in 1907, it is California's oldest surviving amusement park and one of the few seaside parks on the West Coast of the United States.

  • Piedras Blancas Light Station [cancelled]

  • Point Sur Light House Point Sur Lighthouse is a lightstation at Point Sur 24.6 miles (39.6 km) south of Monterey, California at the peak of the 361-foot (110 m) rock at the head of the point. It was established in 1889 and is part of Point Sur State Historic Park. The light house is 40 feet (12 m) tall and 270 feet (82 m) above sea level. As of 2016, and for the foreseeable future the light is still in operation as an essential aid to navigation.

  • Monterey Aquarium Monterey Bay Aquarium is a nonprofit public aquarium in Monterey, California. Known for its regional focus on the marine habitats of Monterey Bay, it was the first to exhibit a living kelp forest when it opened in October 1984. Its biologists have pioneered the animal husbandry of jellyfish and it was the first to successfully care for and display a great white shark. The organization's research and conservation efforts also focus on sea otters, various birds, and tunas. Seafood Watch, a sustainable seafood advisory list published by the aquarium beginning in 1999, has influenced the discussion surrounding sustainable seafood. The aquarium was home to Otter 841 prior to her release into the wild as well as Rosa, the oldest living sea otter at the time of her death.

  • Mission San Carlos Borroméo del río Carmelo Mission San Carlos Borromeo del Río Carmelo (English: The Mission of Saint Charles Borromeo of the Carmel River), first built in 1797, is one of the most authentically restored Catholic mission churches in California. Located at the mouth of Carmel Valley, California, it is on the National Register of Historic Places and is a National Historic Landmark.

  • Bixby Creek Bridge Bixby Bridge, also known as Bixby Creek Bridge, on the Big Sur coast of California, is one of the most photographed bridges in California due to its aesthetic design, "graceful architecture and magnificent setting". It is a reinforced concrete open-spandrel arch bridge. The bridge is 120 miles (190 km) south of San Francisco and 13 miles (21 km) south of Carmel in Monterey County on State Route 1.

  • Hearst Castle [cancelled]

  • Mt Madonna Hanuman Temple

We could make it most of them and I had to cancel a few because were very far from the place we stayed.

I have visited Monetery twice earlier, I was enthusiastic to travel to the peninsula again and take Siddhartha to Aquarium second time in row.

Santa Cruz beach has free concerts on Friday evenings and we got a chance to watch the live performance of of Y and T

At Bigsur, we could be on time for a 02:00 pm tour of Point Sur light house. It's trek lasting for 3 hours up to the light house led by a guide, who has a good narrative on light houses in california, living in early 1900s in the light house and current preservation efforts.

Next day, we visited Mission San Carlos at Carmel, which was one of the earliest missions established in California by Junipero Sierra. These monuments provide a window to peek at events back in time. I enjoy watching through it.

On Monday, on our way back to home, we made a trip to Hanuman Temple at Mount Madonna, Watsonville. This is actually a Yoga retreat setup by folks and is guided by an Indian guru by name Baba Ram Doss. The location of this Hindu temple was excellent and at atmosphere was serene.

That was our last spot in the journey. All throughout, we tried different local foods, and sometim food chains as it was easy choice. We planned a little, executed mostly on our plans.

Here are some of our Tour Photos.

Greatest in History according to H.G.Wells

This is a newspaper article <!--2015/07/greatest_in_history.pdf-->_ written by H._G._Wells Herbert George Wells (21 September 1866 – 13 August 1946) was an English writer, prolific in many genres. He wrote more than fifty novels and dozens of short stories. His non-fiction output included works of social commentary, politics, history, popular science, satire, biography, and autobiography. Wells's science fiction novels are so well regarded that he has been called the "father of science fiction". published in 1935. The scanned version is not very readable, but the content is very interesting. I thought, I will republish it here for everyone's enjoyment.


Greatest In History

CHOICE OF MR. H. G. WELLS CHRIST, BUDDHA, AND ARISTOTLE

Mr. H. G. Wells names Jesus of Nazareth, Buddha, and Aristotle as having had greater effect on world history than any other known figures.

Who are the three greatest men in history?

SOME 13 years ago I was asked to name the six greatest men in the world, says, Mr. Wells in the "Readers' Digest." I did so. Lately. I have been confronted with my former answer and asked if I still adhere to it. Not altogether. Three of my great names stand as they stood then-but three, I must add it, seem to have lost emphasis.

The fact is that there are not six greatest names to cite.There are only; three.

When I was asked which single individual has left the most permanent immpression on the world, the manner of the questioner almost carried the implication that it was Jesus of Nazareth Jesus (c. 6 to 4 BC – AD 30 or 33), also referred to as Jesus Christ, Jesus of Nazareth, and many other names and titles, was a 1st-century Jewish preacher and religious leader. He is the central figure of Christianity, the world's largest religion. Most Christians consider Jesus to be the incarnation of God the Son and awaited messiah, or Christ, a descendant from the Davidic line that is prophesied in the Old Testament. Virtually all modern scholars of antiquity agree that Jesus existed historically. Accounts of Jesus's life are contained in the Gospels, especially the four canonical Gospels in the New Testament. Since the Enlightenment, academic research has yielded various views on the historical reliability of the Gospels and how closely they reflect the historical Jesus. . I agreed.

He is, I think, a quite cardinal figure in human history, and it will be long before Western men decide-if ever they do decide, to abandon his life as the turning point in their reckoning of time. I am speaking of him, of course, as a man. The historian must treat him as a man, just as the painter must paint him as a man. We do not know as much about him as we would like to know; but the four gospels, though sometimes contradictory, agree in giving us a picture of a very definite personality; they carry a conviction of reality. To assume that he never lived, that the accounts of his life are inventions, is more difficult and raises far more problems for the historian than to accept the essential elements of the gospel stories as fact.

Of course, the reader and I live in countries where to millions of persons believe Jesus is more than a man. But the historian must disregard that fact. He must adhere to the evidence that would pass unchallenged if his book were to be read in every nation under the sun. Now, it is interesting and significant that a historian, without any theological bias whatever, should find that he cannot portray the progress of humanity honestly without giving a foremost place to a peniless teacher from Nazareth.

The old Roman historians ignored Jesus entirely; they left no impress on the historical records of his time. Yet, more than 1900 years later, a historian like myself, who does not even call himself a Christian, finds the picture centering irresistibly around the life and character of this most significant.

It is one of the most revolutionary changes of outlook that has ever stirred and changed human thought. No age has even yet understood fully the tremendous challenge it carries to the established institutions and subjugations of mankind. But the world began to be a different world from the day that doctrine was preached, and every step toward wider understanding and tolerance and good will is a step in the direction of that universal brotherhood Christ proclaimed.

The historian's test of an Individual's greatness is: "What did he leave to grow? Did he start men to thinking along fresh lines with a vigour that persisted after him?" By this test Jesus stands first. As with Jesus, so with Buddha Siddhartha Gautama, most commonly referred to as the Buddha (lit. 'the awakened one'), was a wandering ascetic and religious teacher who lived in South Asia during the 6th or 5th century BCE and founded Buddhism. According to Buddhist legends, he was born in Lumbini, in what is now Nepal, to royal parents of the Shakya clan, but renounced his home life to live as a wandering ascetic. After leading a life of mendicancy, asceticism, and meditation, he attained nirvana at Bodh Gayā in what is now India. The Buddha then wandered through the lower Indo-Gangetic Plain, teaching and building a monastic order. Buddhist tradition holds he died in Kushinagar and reached parinirvana ("final release from conditioned existence"). , whom I would put very near in importance to Christ. You see clearly a man, simple, devout, lonely, battling for light, a vivid human personality, not a myth.

He, too. gave a message to mankind universal in its character. Many of our best modern ideas are in closest harmony with it. All the miseries and discontents of life are due, he taught, to selfishness. Selfishness takes three forms-one, the desire to satisfy the senses; another, the craving for immortality; and the third is the desire for prosperity, worldliness.

Before a man can become serene he must cease to live for his senses or himself. Then he merges into a greater being. Buddha in different language called men to self-forgetfulness 500 years before Christ. In some ways he was nearer to us and our needs. He was more lucid upon our individual importance in service than Christ and less ambiguous upon the question of personal immortality.

Aristotle Next. I would write the name of Aristotle Aristotle (Attic Greek: Ἀριστοτέλης, romanized: Aristotélēs; 384–322 BC) was an Ancient Greek philosopher and polymath. His writings cover a broad range of subjects spanning the natural sciences, philosophy, linguistics, economics, politics, psychology, and the arts. As the founder of the Peripatetic school of philosophy in the Lyceum in Athens, he began the wider Aristotelian tradition that followed, which set the groundwork for the development of modern science. , who is as cardinal in the story of the human intelligence as Christ and Buddha in the story of the human will. Aristotle began a great new thing in the world--the classifying and analysing of information. He was the father of the scientific synthesis. There had been thinkers in the world before, but he taught men to think together. He was the tutor of Alexander the Great, whose support made it possible for him to organise study on a scale and in a manner never before attempted.

At one time he had a thousand men, scattered throughout Asia and Greece, collecting material for his natural history. Political as well as natural science began with him. His students made an analysis of 153 political constitutions. Aristotle's Insistence on facts and their rigid analysis, the determination to look the truth in the face, was a vast new step in human progress.

These are three great names. I could write down 20 or 30 names. For the next three places. Plato Plato ( PLAY-toe; Greek: Πλάτων, Plátōn; born c. 428–423 BC, died 348/347 BC) was an ancient Greek philosopher of the Classical period who is considered a foundational thinker in Western philosophy and an innovator of the written dialogue and dialectic forms. He influenced all the major areas of theoretical philosophy and practical philosophy, and was the founder of the Platonic Academy, a philosophical school in Athens where Plato taught the doctrines that would later become known as Platonism. ? Muhammad Muhammad (c. 570 – 8 June 632 CE) was an Arab religious, political and military leader and the founder of Islam. According to Islam, he was a prophet who was divinely inspired to preach and confirm the monotheistic teachings of Adam, Noah, Abraham, Moses, Jesus, and other prophets. He is believed to be the Seal of the Prophets in Islam, and along with the Quran, his teachings and normative examples form the basis for Islamic religious belief. ? Confucius Confucius (孔子; pinyin: Kǒngzǐ; lit. 'Master Kong'; c. 551 – c. 479 BCE), born Kong Qiu (孔丘), was a Chinese philosopher of the Spring and Autumn period who is traditionally considered the paragon of Chinese sages. Much of the shared cultural heritage of the Sinosphere originates in the philosophy and teachings of Confucius. His philosophical teachings, called Confucianism, emphasized personal and governmental morality, harmonious social relationships, righteousness, kindness, sincerity, and a ruler's responsibilities to lead by virtue. ? I turn over names like Robert Owen, tie real founder of modrern Socialism. I can even weigh my pet aversion, Karl Marx, for a place. He made the world think of economic realities, even If he made it think a little askew.

Then what of those great astronomers who broke the crystal globe in whic man's imagination had been confined and let it out into limitless space. Bacon Roger Bacon (; Latin: Rogerus or Rogerius Baconus, Baconis, also Frater Rogerus; c. 1219/20 – c. 1292), also known by the scholastic accolade Doctor Mirabilis, was a medieval English polymath, philosopher, scientist, theologian and Franciscan friar who placed considerable emphasis on the study of nature through empiricism. Intertwining his Catholic faith with scientific thinking, Roger Bacon is considered one of the greatest polymaths of the medieval period. 's Predictions then in that original selection of mine. I find that my own particular weakness for Roger Bacon crept in. He voiced a passionate insistence upon the need for experiment and of collecting knowledge. He predicted more than six hundred years ago, the advent of ships and trains that could be mechanically propelled; he also prophesied flying machines. He, too, set men thinking along new, fresh lines, and left an influence that has lived for the benefit of all generations. But when I come to put him beside Christ, Buddha, and Aristotle-it won't do.

Do you want an American in the list? Lincoln Abraham Lincoln (February 12, 1809 – April 15, 1865) was the 16th president of the United States, serving from 1861 until his assassination in 1865. He led the United States through the American Civil War, defeating the Confederate States of America and playing a major role in the abolition of slavery. , better than any other, seemed to me to embody the essential characteristics of America. He stood for equality of opportunity, for the right and the chance of the child of the humblest home to reach the higest place. His simplicity, his humour, his patience, his deep-abiding optimism, based on the conviction that right would prevail-all these seemed to typify the best that America had to give mankind. Put, against those three who are enduring symbols of brotherhood and individual divinity, of service in self forgetfulness, and of the intellectual synthesis of mankind, what was rugged Abraham Lincoln? Do you really want an American in the list yet? America is still young.

I think I will leave it at three.

Herbert George Wells

Papanasam

Papanasam is the first movie wherein I noticed that Kamal Hassan as a character in the movie didn't make any fun of god. In fact, in one scene wherein he tussles with the inspector at the tea shop, he refers to people as capable of being judged only by "the almighty". That's more philosophical, but in a later scene he mocks a cinema operator as "Nee yeena Karuppu Sattai ya?" (Are you an atheist?)  taking the opposite stance he usually plays on the subject.

The movie is same as Drishyam and I didn't mind watching it again in Tamil. What I liked about the whole thing was even an accomplished actor like Kamal agreeing to act ditto and not shying away from a remake. This, in my opinion, is a credit both to the story as well as to the creative artist who wants to do the same project in a different language because the project itself is a brilliant one.

Review: Page-a-Minute Memory Book

Page-a-Minute Memory Book

Page-a-Minute Memory Book by Harry Lorayne

My rating: 5 of 5 stars



Our brain and memory works in an associative manner. Author of this book stresses upon this point and gives good tools to create a associations for everything that we will like to remember.H is consiciously driving the reader to make associations and explaining the fact that "applying your mind" to something essentially means creating association.

I applied these techniques and found my joy in remembering new things and programming my mind.



View all my reviews

Uttama Villian

It is well known that Kamal Hassan wants screenplay of movies to be of the standards of literature.  If Uttma Villian's screenplay is written as a book, then Indian readers will recognize and love the humor of Tennali Raman embedded within a story of a modern vacuous movie star, who as soon as he comes to face with his knowledge of death, strives for immortality through art, relationships and love.

Looking for ideas for the Tower

This is an idea for the minecraft tower. Towers like this look good to me. I searched a bit further to find this by Minecraft Forum member called  Grow Beyond His construction is this and this may be close to what we are trying to build

Madurai Meenakshi Temple in Minecraft - Next Step : North Tower

Let's Build the North Tower Next. Here are the few characteristics. We will be using: - Chiseled Stone Bricks - Stone Steps - Stone Slab

I have set a note in the north direction as where the North Tower will be. The dimensions of the North Tower will be:

  1. Bottom will be a 15 x 15 Chiseled Stone Brick Rectangle.
  2. Height of the Bottom Slab will be 3 blocks (Chiseled Stone).
  3. Then the Tower itself will be 12 blocks in height, with each layer reducing in circumference from the one below, giving an illusion of a conical shape. We will use Stone Steps here for this effect.
  4. When 12 stone steps are completed on both front and back, they should meet at the top for one block size.
  5. We will put 3 ornamented blocks on top. Thus, the size of the structure will be 15 blocks in height.

The North Tower will be the experimental one, and we can try to build it as it looks good and gain knowledge.

I have given an example of how tall the tower will be and how the tower needs to be built. You just need to fill in the square in that shape, and it will look like a tower.

Madurai Meenakshi Temple in Minecraft - Day 1

We set out with Multiplayer Level Seed: 104079552 and on Version 1.7.9 of Vanilla Minecraft. On Day 1, with 7 people cooperating for 2 hours, we set the ground work. This was good work. Previously there stood a mountain in the middle. It's gone now.

Madurai Meenakshi Temple in Minecraft - Idea Phase

Minecraft is a popular game which has captured the attention many young people and gamers.  One of the modes in minecraft is called the "creative mode" enables the players, either individually or cooperatively build something within the game. The possibilities of this mode is endless and folks build castles of their dreams, beautiful houses to entire cities within the game.  The experience is very similar to how these castles are built on mud near the beach or using lego bricks, but this is done in software and unlike lego bricks, parts available in minecraft are unlimited. Imagination is truly the only limit in the creative mode.  And the best we can do is streach it as much as we can.  For inspiration, have a look at some of the creations here: http://imgur.com/r/Minecraft/top

This is summer vacation time for many and in this summer vacation, I and some of my young friends set out to build.

Madurai Meenakshi Amman Temple in Minecraft.

If you think about it, it is an ambitious and a interesting project.  If it captures someone's imagination, they are going to have a very good time building this in minecraft.

Folks in the internet have already build some  amazing creations  so why not we do something which we know or have seen in front of our eyes like Madurai Meenakshi Amman Temple.

This started as an idea with Summer Camp conduted by one of our friends and they were able to organize a group of intermediate schoolers (4th, 5th, 6th grades) and highschoolers to a club house and get started on the project.

Maker Faire 2014

Maker Faire

We went to Maker Faire in the Bay Area as a group outing and had a wonderful time.

Here is the trip report by children who attended Maker Faire for the first time. I hope this interests and inspires other families and children to attend Maker Faire next year and have a good time.


By Praharshitha

Elementary School Student, Grade 5

Maker Faire was cool. It had all kinds of stuff. In the first building, I liked a few things: Hay Hacker (3-D printer flashlight making) and making an animal cell with modeling clay.

Hay Hackers Group

It had a robot dog that barks, jumps, and sticks its head out. There was also a scarecrow that waved its hand.

Flashlight with 3-D Printer

In the Hay Hackers, I built a flashlight. First, you get an LED light and see which metal connector is longer. The longer one is positive, and the shorter one is negative. You bend the positive metal connector upwards, take a button cell (small disc battery), and place it with the words facing up on the table. Then, you take the case, put the LED with the negative metal connector facing down, and slip the LED between the two metal connectors. Finally, you put the lid on, and you're done. When you press the lid, the positive metal connector touches the battery, completing the circuit and lighting up the LED.

The case and lid for the flashlight were made using a 3-D printer. At first, I thought a 3-D printer worked like a regular printer, but it uses plastic or wax instead of ink. The plastic thread goes to the injecting (printing) tip, which melts the plastic and moves in a shape to create the case and lid.

Cell Model

Another thing I did was create an animal cell model out of clay.

First, I got a round purple ball with holes (the nucleolus) and covered it with white clay (the nucleus). Then, I added the centrosome, mitochondrion (which gives energy to the cell), vacuole (like closets for storage), and rough endoplasmic reticulum (for transportation throughout the cell). Finally, I chose a color for the cell membrane. After a week, I cut the model in half and saw all the parts I had put in. It was very nice.

Another favorite thing in the first building was the pinball cart. You could play pinball inside the cart. There were three machines, and they were all fun.

In the second building, it was full of light. At 4:30, there was an electric arc show. It was so loud.

RadioShack

When we got out of the building, we saw the RadioShack tent. I thought "Soldering" was about soldiers, but it was about connecting metal parts. I built a blinking circuit board badge. The instructor showed me how to solder, and I had to be careful because the iron was 700°F! After some trial and error, I completed the badge, and the LED worked and blinked.

In the third building, all I saw was plants.


Deepak

Middle School Student, Grade 7

It was a pleasant experience at Maker Faire. There were many interesting things. I didn’t see everything, but I liked what I saw.

The first interesting thing was the Lego build. They made a miniature London, which was cool. I also saw a Lego RC car, but it was noisy and could have been faster. One thing I didn’t like was the drone fight. They should have let kids over 13 fly the drones, especially me—I can fly that thing like a charm!

At the Nvidia booth, I saw their CUDA cores with 4 Titan graphics cards. I played Project Cars in 4K, and the detail was amazing. They also showcased the Nvidia Shield, a mini gaming console powered by their Tegra processor.

At Intel, there wasn’t much except processors. I found a computer with AMD processors at the Intel booth, which was funny. There was also a machine powered by Intel and Alienware that picked up little stones.

I saw a dragster car at the edge of Maker Faire. They started the engine, and it roared! I also saw a fire-breathing machine that was part of an orchestra. These were the most interesting things I saw.


Harini

Middle School Student, Grade 7

Since this was my first time at Maker Faire, I didn’t expect to see so many new innovations in technology. It was a great experience because people worked hard to create something and were excited to share their ideas.

Most inventions were related to robotics, but there were other types too. For example, I saw a booth where they made crafts out of tape called tapigami, which reminded me of origami but with tape.

Another favorite was the chess-playing machine. It was fascinating because you could play chess with a machine if you didn’t have a partner. I also liked the rocket-making booth, where kids made rockets and launched them. It was fun to see how the design affected the launch.

I had fun exploring Maker Faire and am excited to return next year to see more new ideas.


Senthil

In general, this year's Maker Faire was awesome as usual. I had a chance meeting with Salman Khan of Khan Academy Khan Academy is an American non-profit educational organization created in 2006 by Sal Khan. Its goal is to create a set of online tools that help educate students. The organization produces short video lessons. Its website also includes supplementary practice exercises and materials for educators. It has produced over 10,000 video lessons teaching a wide spectrum of academic subjects, including mathematics, sciences, literature, history, and computer science. All resources are available free to users of the website and application. , and I was extremely happy. I took a photo with him and shared about some Sourashtra translations I had attempted. This made my day, and everything beyond was a bonus.

Two events captured my attention. First, the "Make Rockets Here" booth, where kids and parents made paper rockets. One rocket stood out, and the launcher appreciated the care put into it. It flew very high, showing that attention to detail leads to great results.

Second, the mechanical chess-playing arm. It used RFID chips on the chess pieces and board squares to transfer information to a computer. The computer calculated moves, and the mechanical arm executed them. It was both a mechanical and computer challenge, and the engineer was proud of his accomplishment.

Irrationality of √2

Came across this interesting piece of Maths History.

The discovery of the irrationality of √2 is sometimes credited to Hippasus of Metapontum (5th century BC), a Greek Pythagorean philosopher who was finally drowned at sea as a punishment from his peers, the Pythagoreans, for divulging the existence of the irrational numbers (the Pythagoreans advocate the idea that all numbers SHOULD be the ratio of two integers).

Codex Leicester

Leonardo da Vinci's scientific manuscript, the Codex_Leicester The Codex Leicester (also briefly known as the Codex Hammer) is a collection of scientific writings by Leonardo da Vinci. The codex is named after Thomas Coke, Earl of Leicester, who purchased it in 1719. The codex provides an insight into the mind of the Renaissance artist, scientist and thinker, as well as an exceptional illustration of the link between art and science and the creativity of the scientific process. , holds the record for the highest sale price of any book. It was purchased by Bill Gates for $30,802,500 USD.

On the topic of good work

Good work requires a significant amount of dedicated time, even in areas where you have expertise.

I reflected on this as I am currently taking an intermediate Python course online with my friend Avinash. Since I am already familiar with the concepts, I often skip the lectures and dive straight into the exercises and quizzes. Each week, we are tasked with completing a mini-project. I usually allocate just enough time to finish the project and, more importantly, muster just enough motivation to meet the deadline.

During the Pong game project, I scored two points less in peer evaluation compared to others, even though I had given full credit to my peers. This made me question why I received a lower score. Upon reflection, I realized that I lacked the patience to fully polish the project to meet everyone's expectations, despite being fully capable of doing so.

This was quite a realization. It’s clear that I need to work on this and strive to improve.

Standing on the Shoulder of Giants

This is a story in two quotes, how Wilber Wright The Wright brothers, Orville Wright (August 19, 1871 – January 30, 1948) and Wilbur Wright (April 16, 1867 – May 30, 1912), were American aviation pioneers generally credited with inventing, building, and flying the world's first successful airplane. They made the first controlled, sustained flight of an engine-powered, heavier-than-air aircraft with the Wright Flyer on December 17, 1903, four miles (6 km) south of Kitty Hawk, North Carolina, at what is now known as Kill Devil Hills. In 1904 the Wright brothers developed the Wright Flyer II, which made longer-duration flights including the first circle, followed in 1905 by the first truly practical fixed-wing aircraft, the Wright Flyer III. found benefit in original work published by Louis Pierre Mouillard Louis Pierre Mouillard (September 30, 1834 – September 20, 1897) was a French artist and innovator who worked on human mechanical flight in the second half of the 19th century. He based much of his work on the investigation of birds in Algeria and Cairo. Around the early 1900s he was considered the father of aviation. 100 years ago, and built on top of it, for what he was pursuing.

And this is aviation; I give it to the world.

  • Louis Mouillard, French Inventor/Aeronaut (1834-1897)

We were on the point of abandoning our work when the book of Mouillard fell into our hands, and we continued with the results you know.

  • Wilbur Wright, American Inventor/Aviator (1867-1921)

Using my photo for endorsement? Google gone crazy!

I think, this is going off the limits and being explicitly evil.

When it comes to shared endorsements in ads, you can control the use of your Profile name and photo via the Shared Endorsements setting. If you turn the setting to “off,” your Profile name and photo will not show up on that ad for your favorite bakery or any other ads.

Isn't it crazy that you are using it in the first place without me allowing or endorsing?

comments

It looks like they're only going to use it for products you've endorsed (+1'd). Kind of, ahem, like a certain microblog service that tells me which of my friends follow the tweeter of that promoted tweet I'm looking at.

  • lahosken (@lahosken)

I realized that. :-) I got emotional thinking that Google was doing it for the whole web (adwords) instead of it being "in-network" endorsement (FB/ Twitter). I bet, if the later two got any benefit from doing outside their networks, they would do it too. And I hate them all.

It's good that Google is providing an opt-out, but dislike the idea of including one by default in changed ToC and then providing an option to opt-out.

What is the best way to learn a new programming language?

I was reading this survey by Inform IT asking various programming language book authors, this question "What is the best way to learn a new programming language?".

The common thread amongst all the responses is  work hard on it.  It takes time and involve yourself to the task by practice.

Following were some specific portions that I liked in various responses.

Lauren Darcey, had a solid advice in this form:

The best way to learn a language—whether it's a foreign tongue or a new programming language—is immersion.

Reading a textbook is not enough. Writing an app that compiles and sort of runs is not enough. You need to go deep, and you need to explore broadly.

Cay Horstmann,  shares an insightful statement in an extremely light-hearted vein:

Have realistic expectations. You might learn enough French or Mandarin in 30 days to ask for directions, and you might learn enough of a new programming language in the same time to program a simple game. But it takes months or years to be truly fluent in the new language.

I had taken Cay Horstmann's course at Udacity as I tried to improve my Java skills.

Danny Kalev, takes a scientific approach to learning as he states:

Linguistic theory distinguishes between first language (L1) acquisition and learning a second language (L2). Whereas the former occurs in a natural setting, during the critical age (0-7 years old) and has very good chances of succeeding, L2 learning requires formal teaching (textbooks, exercises and exams), and a lot of skill. Even after years of meticulous practicing, the results never compare to L1. Learning a programming language is similar to learning L2.

I can relate to this statement as my first language is Sourashtra. It has no well known writing system, scripts, literature or any cultural artifacts, like books, movies or songs. Everything we learn is from our childhood and from parents.  And all other popular languages like Tamil, English and sometimes Hindi is gathered by practice as secondary languages.

Coming to to programming, Bjarne Stroustrup, had the following to share about learning a new language.

 Consequently, the best way involves a Mentor who knows the programmer well and is an expert in the new language. That’s a luxury, we rarely have.

And his devotion to Computer Science is visible when he states:

 What is common for my books is that they assume the reader to be reasonably smart and willing to work to learn. I try to avoid oversimplification and sugar coating: programming can be a noble art and involves some skilled craftsmanship. I hope for readers who want to build real-world systems, rather than just toy programs to be able to get a grade or to tick a box on an interview form.

Here is the Link to the full article.

NO TITLE

Happy to pose with the astronauts of Apollo 13 Happy to pose with the astronauts of Apollo 13. James Lovell, John Swigert and Fred Haise. 

Apollo 13 was the third intended moon mission which actually failed on land on moon. The feat was to bring the astronauts back alive to earth and the team on earth managed it by propelling the shuttle to a free-fall on pacific ocean.

It was classed as "successful failure".

How to get better at Programming

http://youtu.be/qN7u1j44QTo

Richard M Stallman talks about it. I wholeheartedly agree with his claim. Programming is a craft, not a science, it cannot and should not been seen as academic exercise, like reading books, solving problems from scratch and feeling complete, but programming should help you build something, contribute to building of something, like you can contribute to an existing Free Software.

Excellent point.

Amar Bose (1929 - 2013)

Image

I have not owned any high-end audio system and i have only known Bose audio systems as one of the high-end and costliest ones. Recently did I come to know about the man behind Bose Audio systems and his passion for acoustics. Amar Bose went for quality research in acoustics and implemented them with his company Bose corporation.  I admire the Bose corporation's stance on concentrating on quality and not forsaking that for market conditions.

“I would have been fired a hundred times at a company run by M.B.A.’s. But I never went into business to make money. I went into business so that I could do interesting things that hadn’t been done before.” - Amar Bose

MIT News highlights his contributions in this field, his research and teaching.

Also, watch this video of Dr. Amar Bose sharing his experience to his students on his final lecture. He invites his TA's to share about their experience teaching and then goes on the share his experience as a young graduate student, drafted by his professors, who had confidence in him to take up a Maths problem of Norbert Wiener, when he was not a maths major and he shares his relationship with Norbert Wiener and how it all got started. Later he shares an anecdote on how the same "boring" job given to two students was taken up them in two different thought processes and how it changed the whole experience for them. The point which Dr. Bose is trying to make is, "we are never given a bad card", it is only how we make up in life.

My three wishes for Minecraft

  1. All versions, Android Pocket Edition, iOS Pocket Edition, XBox Edition and computer edition on Mac, Windows or Linux should have same features.
  2. All these should be able to join a server running on any of the other.
  3. Updates should be seamless and possibly happen in the background
  4. Image

Why do some people like programming?

Answer by Marcus Geduld:

- I like creating something out of nothing. That's not literally what you do when you're programming, because there's existing hardware and software that serves as a foundation for your work, but it sure feels that way. Someone has an idea and you build it from the ground up. When you begin, there's just an empty text editor. When you're done, there's a (hopefully) working program.

- I like building things people use. It's amazing to type up some code, press a button, and suddenly thousands of people on the Internet are playing with it.

- I like playing God. Programming allows you to build little worlds and then play with them, making adjustments and watching the effects. It's like owning a toy planet and saying, "I'm going to make it rain, today. Oh, look! All the little people have opened umbrellas!" This playing-God aspect of programming makes it similar to writing novels, painting paintings, or directing plays.

- I like working within systems that demand precision. This is exactly what some people hate about programming, but it thrills me. A misplaced semicolon or the smallest typo can be disastrous. This keeps me on my toes. It's like being the butler on "Downton Abbey" or "Upstairs, Downstairs." Everything must be just so. Some people like precision; others like being about to say, "I can't describe it, but you know what I mean..." I'm the former type.

- I like solving puzzles. If you want to see if programming is for you, try out this puzzle book: The Little Schemer - 4th Edition: Daniel P. Friedman, Matthias Felleisen, Duane Bibby, Gerald J. Sussman: 9780262560993: Amazon.com: Books

- I like research. Programming tends to involve much googling and reading through documentation.

- I like experimenting. There's a large component of trial-and-error.

- I like writing poetry, which is very similar to programming. Both the poet and the programmer are obsessed with words, obsessed with formal rules, obsessed with seeing how far they can push those rules, and obsessed with expressiveness. Programmers often talk about how expressive a particular programming language is. They mean something very similar to what a poet means when he tries to come up with expressive wording.

Both poetry and code can be exquisitely beautiful -- and in very similar ways. People are often surprised that I'm a programmer who also directs Shakespeare plays, but I've met lots of programmers who are into Shakespeare, crossword puzzles, scrabble, and so on. Joshua Engel is another Quora user who writes code and directs Shakespeare plays.

- I like communicating. Most good programmers will tell you that code is first-and-foremost meant to be read by people -- even to the extent that we'll sometimes write it in a way that is inefficient but easy-to-read.

- "There are only two hard things in Computer Science: cache invalidation and naming things." -- Phil Karlton. I love the hard work of "naming things." Programmers generally have to come up with short words or phrases that label parts of the systems they're writing. It's crucial that these names be clear and apt.

Why? Because if you name something cButton, the next guy who has to work on your code may be befuddled. If you'd called it closeButton, he would have instantly known what you were referring to. Sometimes "he" is me a few weeks (or a year) later, when I'm reading my own code. It's embarrassing to come across cButton and think, "What did I mean by that?"

Last week, I was modifying someone else's code. It was for as web page with sections. Each section had a logo at the top. The original programmer had referred to those logos internally as "headers," e.g. "header1" and "header2." I didn't notice that, and so I named something within one of the sections "header." When I later looked over the code, I got totally confused between his headers and mine.

Then I thought it over and realized that his "headers" were always graphical logos and mine were text. So I renamed his "logo1" and "logo2" and mine "title."

This is just one small example of the sort of naming issues that constantly crop up. You either enjoy this sort of thing or you don't. I do.

- I like learning. Like sharks, programmers die if they stop moving. Because technology changes so fast, being a programmer means that "school" never stops. Even though I've been coding for years, I must constantly read programming books, follow blogs, and so on. There's no coasting!

I got into the game as a Flash programmer, which was lucrative for about ten years. Now Flash seems to be on its way out, so it's back to the books! But even while I was mostly coding Actionscript (Flash's language), I needed constant training, because that language went through many versions, some as different from each other as Spanish is from Portuguese.

There are many good programming books and courses, but you can't really learn to code by instruction. That will get you started, but they only real way to learn is to write code, fail, analyse the failure, and learn from it. So you must enjoy being an autodidact. I do.

- I like being a detective. Maybe 60% of programming is debugging -- figuring out how something works. That often means a ton of sleuth work. Sometimes you have to pick and entire program apart and put it back together again.

- I like solitary work. Programming allows me to do lots of that.

- I like collaborating. Nowadays, Few programmers work completely alone. Most are part of a team, and they spend part of the week doing close work with others and part in isolation. I feel a strong need for both sorts of work, and I like alternating between the two.
View Answer on Quora

 30 years of K&R is being celebrated.

Image

30 years of K&R is being celebrated.

This is an important book our life time and Inform IT has an article on "Leading Programmers Remember the Impact of The C Programming Language"

Roughly around 10 years ago to get myself into Software Development, I started solving all the problems at the end of the K&R book and bootstrapped my Project Uthcode for the third time.  I can safely say that it turned out be successful and I owe greatly to this one book.

Later when I started contributing to Python, I focussed mostly on Python and standard library which is written in Python.  Noticing how other programmers went about with CPython core, I wanted to re-read it to get into K&R get into implementation and design. That has not happened yet, but I am planning for it sometime soonish. I can get back and rely on K&R, plus I will have my experience to draw upon.

The Incredibles - Monalisa using rect and fills

Every once in a while you come across some amazing and something insanely creative by unknown folks in the internet. I have decided to capture those moments by title "The Incredibles" series.

Today, it happened to me. After doing a basic drawing tutorial at Khan Academy I saw a spin off program which I thought is a image loaded. I wondered why some one spun off a simple drawing tutorial and then loaded image for practice. But I was wrong. This whole image was drawn using rects and fill.

See it for yourself. The Incredibles super hero of this creation is to Mr. Peter Collingridge

Monalisa

Mona Lisa

Made using: Khan Academy Computer Science.

Bill Gates Reading Bed time story

http://www.youtube.com/watch?v=mMkBphtQRxs

Father: The fact that the design uses inheritance in polymorphism doesn't make it a good design.

Child: Daddy, are there monsters in the story?

Father: Yes, it's okay. There is a firewall.

The bedtime story book is Code Complete

Meeting with Bram Cohen

During PyCon Sprints, I met Bram_Cohen Bram Cohen is an American computer programmer, best known as the author of the peer-to-peer (P2P) BitTorrent protocol in 2001, as well as the first file sharing program to use the protocol, also known as BitTorrent. He is also the co-founder of CodeCon and organizer of the San Francisco Bay Area P2P-hackers meeting, was the co-author of Codeville and creator of the Chia cryptocurrency which implements the proof of space-time consensus algorithm. who had come down to talk to Guido and have a word on networking protocol world. It was interesting to see two experts talking. Later I invited Bram to give a tech talk at Twitter. Bram gladly accepted it and came to Twitter office to talk to us about his latest invention http://live.bittorrent.com He had been working on Distributed Live Streaming for few years and thought it was a hard problem to solve. He could dedicate himself to it and came out with live.bittorrent.com - Using this anyone can live stream a video. You can become a live video publisher too and people all around the word can see your channel in real time. This is a huge break through. My experience at Akamai helps me realize the kind of break through this can bring to real time live streaming.

Bram went with the technical aspects of the design of the live bittorrent technology and how to keep the delays as minimum as possible. He was talking at the network packets level and explaining how the packets need to be distributed from one node to another so that delay can be as minimum as possible and what are the bottlenecks that exist during the packet transfer. The innovative solutions that he had use to make these possible. He started by giving a pitch to Dan Bernstein's ciphers and explained about the TCP handshake and udp transfers and how Micro_Transport_Protocol Micro Transport Protocol (μTP, sometimes uTP) is an open User Datagram Protocol-based (UDP-based) variant of the BitTorrent peer-to-peer file-sharing protocol intended to mitigate poor latency and other congestion control problems found in conventional BitTorrent over Transmission Control Protocol (TCP), while providing reliable, ordered delivery. goes in the background during transfers and not affect peak real time traffic. The details could by got only if I read through his spec a couple of times.

One interesting thing that struck me was. One engineer asked the question, "how did he test his development of live bittorrent system?". Bram got excited to share his valuable experience in doing that. He said, few years ago he made a point saying "Remove all psychic powers in software development" - by this he meant, remove all assumptions that a software will work "magically", "assume" that it work under all conditions, but rather encode the scenarios and simulate all the possible scenarios under which you want your software to work and then run your software through it. To this effect, he seemed to built a small simulator which can help him test the system. That was a good learning and major take away for me from this session.

Book Review - The Startup of You

The Start-up of You: Adapt to the Future, Invest in Yourself, and Transform Your CareerThe Start-up of You: Adapt to the Future, Invest in Yourself, and Transform Your Career by Reid Hoffman

My rating: 4 of 5 stars

This book is from the CEO / Co-Founder of a Web 2.0 company, LinkedIn and goes a great detail into the culture and professional aspects of similar companies that existing in silicon valley. Reid Hoffman gives the examples of many startup founders and sets the stage for how and why started their respective ventures. The stories which I did not know earlier and which caught my attention were the stories of Netflix and Zappos. Both were amazing. The best part the book in my opinion is the many examples that Reid and Ben provide as examples to support the point they were trying to say.
I also liked the chapters in which the authors give sufficient focus on the failed auto industry business in US and what the computer industry and the leaders of computer industry can learn from that episode.

Most part of the book is no-frills, bare minimum good practical advise which many should follow and I believe, it is obvious to everyone. But reinforcing and giving concrete shape to those abstract ideas still helps and this book does a great job at it. Since I am enthusiastic about startup and their stories, I found this book easy to read, it caught my attention quickly and I could finish it without any lag. The final list of the reference books many a good one to follow up and keep the interest in the subject going. This book is about Internet business and your career when the Internet is always ON. I would say it should be categorized under "popular-business" similar to "popular-science" genre.



View all my reviews

Planning

Since I like CS and I have not really cracked the Subject Test, I wanted give it a try again. Then I thought I will go through all the aduni.org videos that I have not watched and I have always wanted to watch. Then my thoughts lead me to stuff like topcoder, which I have not competed in for a while and trying to improving my ranking.

But at last, when clearing my Python emails, I saw so much of pending work that has accumulated that I want to work only on Python in a planned manner and not on anything else.

My Birthday treasure hunt

My wife surprised me on my birthday ( 6th Jan, 2013) with a cleverly implanted, very exciting treasure hunt to my gifts. Here is how it went.

On the Mirror Greetings on the Mirror!

I opened the shelf and found the first clue. I opened the shelf and found the first clue.

First Clue. I knew what it was. First Clue. I knew what it was.

Double Choco Cookie Box Double Choco Cookie Box

Found the second clue inside here. Found the second clue inside here.

Who is the tall dignified lady? Who is the tall dignified lady?

I had to make tintin my guide. I had to make tintin my guide.

Oh Found it. This was the decor in my bookshelf. Oh Found it. This was the decor in my bookshelf. Now what is stressed when separated from the group?

A Sheep!! A Sheep!!

Clue 3. Attached to the Sheep. Clue 3. Attached to the Sheep.

Okay, I have find it here! Okay, I have find it here!

Looks like it! I saw a small paper inside. Looks like it! I saw a small paper inside.

Oops. This is not used for Sambar. Oops. This is not used for Sambar.

This is the dal, which has slightly bigger dal grains which is used for sambar. Hurray! found it. This is the dal, which has slightly bigger dal grains which is used for sambar. Hurray! found it.

It's the lamp. How simple!! It's the lamp. How simple!!

I opened the lamp to find the next clue. I opened the lamp to find the next clue.

Who are those celestial siblings? Who are those celestial siblings?

That's Senthil Kumaran (the other one.) and Mr. Ganapathy Babba! That's Senthil Kumaran (the other one.) and Mr. Ganapathy Babba!

That's my favorite dialogue from Kamal movie. So it should be inside a Kamal movie cover! That's my favorite dialogue from Kamal movie. So it should be inside a Kamal movie cover!

I walked 6 foot and found this cover near the TV. Hurray! :) I walked 6 foot and found this cover near the TV. Hurray! :)

Bravo - The final clue. Okay, that's in our Patio! Bravo - The final clue. Okay, that's in our Patio!

That's the video from patio. That's the video from patio.

It must be inside this.! It must be inside this.!

Final note and my birthday greeting. :) Final note and my birthday greeting. :)

Birthday Gift. Book 1. Birthday Gift. Book 1.

Birthday Gift. Book 2. Birthday Gift. Book 2.

I felt, I was the happiest man on the planet. Love you very much my wife!

Vishwaroopam and grave dangers ahead for the society

I watched Vishwaroopam on 24th of Jan when it was released in the bay area.

Vishwaroopam is a very simple movie, which goes about doing it's job in a fast paced way, there is no message told, there is no philosophy sold, there is no nothing in this  movie if you are looking for any anti communal thoughts or speech. If you are Tamil movie watcher, it is like an action king Arjun movie, or puratchi kalaignar, Vijayakanth movie with Kamal Hassan's elements in it. There are traces of fun intelligent style scenes like the "Nanban" movie and all of them make a good package for an entertainer. If you want resemblances to a hollywood movie, then it is like a Dark Knight movie for it's action and thrill elements.

But if there is one clear message we are getting, then the message is not from the movie itself, but from the behavior of certain groups and the Indian state governments. And the clear message is this:

"An ordinary peace loving person is not safe in Tamil Nadu"

And this includes you, me, your family, friends, my family and friends. And it is unsettling to know that this creepy terror from Tamil Nadu has spread quickly to Andhra Pradesh and Karnataka.

We may not realize it immediately and but this a subtle message from the Government which allowed ban on this movie after listening to certain fractions of the society. Here is a movie which shows Afganistan, terrorist outfits of Afganistan, a plot which is positive in saving people from those terrorists and there are people in our society who want that to be removed? If people who demanded that movie be banned made their point after watching this movie, then my conclusion is those groups are supporting  certain terrorists from Afganistan. Simple, religion does not come into picture here. And government is not protecting people from the extremists, but in fact it is helping the extremists and harming the people. That's my take on the whole episode and this is grave.

Since a lot happened with this movie and too many speculations going around, let me add my own views to some of these, because it concerns me.

DTH Delay

Theater owners feared that piracy would be easy if it is released in DTH on the same day it was releasing in theaters. I agree to the theater owners standpoint and can understand their need to protect their business. All business can work out win-win situation for themselves and win-lose situation in a two person business is not going to be help anyone. I hope, that the rivaling parties worked out a win-win situation for their business and no one trying to take a lion's share at the expense of other.

Calling for Ban two days before the movie

I am aghast. What can you say about this action which is not based any sound reason. Politics?

Government and Tamil Nadu Chief Minister's role.

We do not know Tamil Nadu Chief Ministers role in the episode, but as a leader is representative of the actions taken by the subordinates, I think, it is fair to assume that the present chief minister of Tamil Nadu supported the ban. If the chief minister supported the ban based on any of her personal agenda, then she has supported the people with terrorist views.

Publicity Stunt

Some people call it is a publicity stunt. If they say it is publicity stunt by  group who want the movie to be banned, then yes, it is. But they are ignoring the fact that supporting "Afgan Terrorists" for publicity and this is no joke, it is a serious issue.  If they claim that it is a publicity stunt by Kamal and producers, oh wow, can you be more imaginative than this, especially after the movie has seen so many business hurdles?

Rajnikanth's Stance

Rajnikanth's voice comes in press too because he is respectable person. In this case, he asked the group which is demanding the ban to hold talks and work out a solution. Please? Do you see their point of supporting Afgan terrorists and do you want your friend Kamal to give to them?

What can I do?

My influence surrounds the area of software and  the articles that I write. What I can do to the injustices that I see around. My take is,  I can act. I can write boldly and I can support the people who are against the injustices.

There is much to be learned when a nobel experiment faces political hardships, when people inflict harm on others with personal agendas. There is much to do to make our society a safe one to live. Being bold definitely counts towards it.

Two things that has been etched in my mind about Sachin

Sachin's score 138 against Pakistan in a late nighties tour. He was fighting a severe back ache and then hitting the pakistan bowlers all over the ground. As soon as he got out, India fell short of 17 runs from victory. To me, victory does not count anything, but this attempt of a person carrying the team, overcoming personal physical pain and going for it was an enormous gesture.

Sachin returned to his work, i.e. playing cricket and scoring a century against Kenya in a world cup, one day after his father died says millions about work ethic, concentration and love for something. His family appreciated him for that.

Conquer

I like this way of thinking.
 

Math problems aren’t solved, they are conquered!

Well, this problem below was one that I had to defeat.  I went to battle with it and after losing a few skirmishes (i.e., trying approaches that failed) I finally beat it into submission.  From now on, when I see that feisty integral that won’t behave or a simple number puzzle whose pattern defies identification, I’ll strap on my armor (or sweater vest), grab my sword (or calculator) and wage full-out war on that problem.  No problem is safe!

From  this blog post.

StackOverflow 10,000

On November 15, 2012, I Reached 10,000 points on StackOverflow Reaching there late, but it is still a figure'tical landmark. :) Also found just after that moment that StackOverflow.com has a brick at my favorite computer history museum wall.  I should go and check it out.

A Plan for the Improvement of English Spelling

A Plan for the Improvement of English Spelling by Mark Twain

For example, in Year 1 that useless letter "c" would be dropped to be replased either by "k" or "s", and likewise "x" would no longer be part of the alphabet. The only kase in which "c" would be retained would be the "ch" formation, which will be dealt with later. Year 2 might reform "w" spelling, so that "which" and "one" would take the same konsonant, wile Year 3 might well abolish "y" replasing it with "i" and Iear 4 might fiks the "g/j" anomali wonse and for all.

Jenerally, then, the improvement would kontinue iear bai iear with Iear 5 doing awai with useless double konsonants, and Iears 6-12 or so modifaiing vowlz and the rimeining voist and unvoist konsonants. Bai Iear 15 or sou, it wud fainali bi posibl tu meik ius ov thi ridandant letez "c", "y" and "x" -- bai now jast a memori in the maindz ov ould doderez -- tu riplais "ch", "sh", and "th" rispektivli.

Fainali, xen, aafte sam 20 iers ov orxogrefkl riform, wi wud hev a lojikl, kohirnt speling in ius xrewawt xe Ingliy-spiking werld.

An Evening with Matz

Had a opportunity to talk to Matz, the creator of Ruby Programming language. Some thoughts he shared were, he understood language projects as typically a very long term ones, something like 50 years. That is, if you get involved in writing a new language, the project could keep you occupied for about 50 years. He also mentioned that writing a language is easy, the subjects are taught well and books are available, but designing a good language is a hard task.

It was very entertaining and enriching to hear these thoughts from him.

Shavarsh Karapetyan

Shavarsh_Karapetyan Shavarsh Vladimiri (Vladimirovich) Karapetyan (Armenian: Շավարշ Կարապետյան; born 19 May 1953) is a Soviet-Armenian former finswimmer. He was best known for saving the lives of 20 people in a 1976 incident in Yerevan.

Karapetyan had just completed his usual distance of 20 km (12 mi) when he heard the sound of the crash and saw the sinking trolleybus which had gone out of control and fallen from the dam wall.

The trolleybus lay at the bottom of the reservoir some 25 metres (80 ft) offshore at a depth of 10 metres (33 ft). Karapetyan swam to it and, despite conditions of almost zero visibility, due to the silt rising from the bottom, broke the back window with his legs. The trolleybus was crowded, it carried 92 passengers and Karapetyan knew he had little time, spending some 30 to 35 seconds for each person he saved.

Karapetyan managed to rescue 20 people (he picked up more, but only 20 survived), but this ended his sports career: the combined effect of cold water and the multiple wounds he received (scratched by glass), left him unconscious for 45 days. Subsequent sepsis, due to the presence of raw sewage in the lake water, and lung complications prevented him from continuing his sports career.

On February 19th, 1985, Shavarsh just happened to be near a burning building, that had people trapped inside. He rushed in and started pulling people out without a second thought. Once again, he was badly hurt (severe burns) and spent a long time in the hospital.

He later moved to Moscow and founded a shoe company called "Second Breath". Karapetyan was later awarded a UNESCO "Fair Player" medal for his heroism.

A main belt The asteroid belt is a torus-shaped region in the Solar System, centered on the Sun and roughly spanning the space between the orbits of the planets Jupiter and Mars. It contains a great many solid, irregularly shaped bodies called asteroids or minor planets. The identified objects are of many sizes, but much smaller than planets, and, on average, are about one million kilometers (or six hundred thousand miles) apart. This asteroid belt is also called the main asteroid belt or main belt to distinguish it from other asteroid populations in the Solar System. asteroid An asteroid is a minor planet—an object larger than a meteoroid that is neither a planet nor an identified comet—that orbits within the inner Solar System or is co-orbital with Jupiter (Trojan asteroids). Asteroids are rocky, metallic, or icy bodies with no atmosphere, and are broadly classified into C-type (carbonaceous), M-type (metallic), or S-type (silicaceous). The size and shape of asteroids vary significantly, ranging from small rubble piles under a kilometer across to Ceres, a dwarf planet almost 1000 km in diameter. A body is classified as a comet, not an asteroid, if it shows a coma (tail) when warmed by solar radiation, although recent observations suggest a continuum between these types of bodies. , 3027 Shavarsh The following is a partial list of minor planets, running from minor-planet number 3001 through 4000, inclusive. The primary data for this and other partial lists is based on JPL's "Small-Body Orbital Elements" and data available from the Minor Planet Center. Critical list information is also provided by the MPC, unless otherwise specified from Lowell Observatory. A detailed description of the table's columns and additional sources are given on the main page including a complete list of every page in this series, and a statistical break-up on the dynamical classification of minor planets. , discovered by Nikolai Chernykh Nikolai Stepanovich Chernykh (Russian: Никола́й Степа́нович Черны́х, IPA: [nʲɪkɐˈlaj sʲtʲɪˈpanəvʲɪtɕ tɕɪrˈnɨx]; 6 October 1931 – 25 May 2004) was a Russian-born Soviet astronomer and discoverer of minor planets and comets at the Crimean Astrophysical Observatory in Nauchnyi, Crimea. , was named after him (approved by the MPC The Minor Planet Center (MPC) is the official body for observing and reporting on minor planets under the auspices of the International Astronomical Union (IAU). Founded in 1947, it operates at the Smithsonian Astrophysical Observatory. in September 1986).

Happy Gandhi Jayanti

The Dandi March : A simple act of making salt shakes the British Empire

Gandhi had some concrete plans, steps and targets while achieving his goals. He is often known for the the principles he stood for, but this is example where he followed them through, but showed a tactical approach to achieving a goal. Many find it hard to believe as how a march can be equated to a fight, but Gandhi showed that it was an act of disobedience and when done in the same spirit, it achieved the purpose of what's achieved by other means like violence.

In early April, 1930 Gandhi, 61 years old, reached Dandi after walking 241 miles in 24 days. He then defied the law by making salt. It was a brilliant, non-violent strategy by Gandhi. To enforce the law of the land, the British had to arrest the satyagrahis (soldiers of civil disobedience) and Indians courted arrest in millions. There was panic in the administration and Indian freedom struggle finally gathered momentum both inside and outside of India. The picture of Gandhi, firm of step and walking staff in hand (shown above) was to be among the most enduring of the images of him.

Source: http://www.kamat.com/mmgandhi/dandi.htm

Letter to a teacher

This piece is famous as Abraham Lincoln's letter to the teacher of his son and there are good number of sources which dispute that fact. Regardless of that, this is a wonderful piece of advice and some thought provoking ideas.

Yesterday, incidentally, I had to recollect this one from out of blues, when I was listening to some one. Things may not as black-and-white, but I had to say to myself "For every scoundrel there is a dedicated leader."



Letter to a teacher.


He will have to learn, I know,
that all men are not just,
all men are not true.
But teach him also that
for every scoundrel there is a hero;
that for every selfish Politician,
there is a dedicated leader…
Teach him for every enemy there is a friend,

Steer him away from envy,
if you can,
teach him the secret of
quiet laughter.

Let him learn early that
the bullies are the easiest to lick…
Teach him, if you can,
the wonder of books…
But also give him quiet time
to ponder the eternal mystery of birds in the sky,
bees in the sun,
and the flowers on a green hillside.

In the school teach him
it is far honourable to fail
than to cheat…
Teach him to have faith
in his own ideas,
even if everyone tells him
they are wrong…
Teach him to be gentle
with gentle people,
and tough with the tough.

Try to give my son
the strength not to follow the crowd
when everyone is getting on the band wagon…
Teach him to listen to all men…
but teach him also to filter
all he hears on a screen of truth,
and take only the good
that comes through.

Teach him if you can,
how to laugh when he is sad…
Teach him there is no shame in tears,
Teach him to scoff at cynics
and to beware of too much sweetness…
Teach him to sell his brawn
and brain to the highest bidders
but never to put a price-tag
on his heart and soul.

Teach him to close his ears
to a howling mob
and to stand and fight
if he thinks he’s right.
Treat him gently,
but do not cuddle him,
because only the test
of fire makes fine steel.

Let him have the courage
to be impatient…
let him have the patience to be brave.
Teach him always
to have sublime faith in himself,
because then he will have
sublime faith in mankind.

This is a big order,
but see what you can do…
He is such a fine little fellow,
my son!

Magic Square of my Birthday

 

 

06

01

19

81

44

45

8

7

46

7

47

10

11

54

33

9

Inspired from Ramanujam's Magic Square

 

Image

 

The process is simple - http://nrich.maths.org/1380

But the interesting part in the solution involves seeing a symmetry in 2d arrangement of numbers like if you fold the square, the external numbers add up to the internal numbers of the facing side. :-)

2011 in Science

Here are some interesting developments in Science and Technology field that happened in the year 2011 in science The year 2011 involved many significant scientific events, including the first artificial organ transplant, the launch of China's first space station and the growth of the world population to seven billion. The year saw a total of 78 successful orbital spaceflights, as well as numerous advances in fields such as electronics, medicine, genetics, climatology and robotics. . This is a choice of some random events, but it definitely shows that future is extremely promising!

January

  • Scientists achieve 10 billion bits of Quantum entanglement Quantum entanglement is the phenomenon where the quantum state of each particle in a group cannot be described independently of the state of the others, even when the particles are separated by a large distance. The topic of quantum entanglement is at the heart of the disparity between classical physics and quantum physics: entanglement is a primary feature of quantum mechanics not present in classical mechanics.: 867 in Silicon Silicon is a chemical element; it has symbol Si and atomic number 14. It is a hard, brittle crystalline solid with a blue-grey metallic lustre, and is a tetravalent metalloid (sometimes considered a non-metal) and semiconductor. It is a member of group 14 in the periodic table: carbon is above it; and germanium, tin, lead, and flerovium are below it. It is relatively unreactive. Silicon is a significant element that is essential for several physiological and metabolic processes in plants. Silicon is widely regarded as the predominant semiconductor material due to its versatile applications in various electrical devices such as transistors, solar cells, integrated circuits, and others. These may be due to its significant band gap, expansive optical transmission range, extensive absorption spectrum, surface roughening, and effective anti-reflection coating. , a significant step in Quantum computing A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of both particles and waves, and quantum computing takes advantage of this behavior using specialized hardware. Classical physics cannot explain the operation of these quantum devices, and a scalable quantum computer could perform some calculations exponentially faster than any modern "classical" computer. Theoretically a large-scale quantum computer could break some widely used encryption schemes and aid physicists in performing physical simulations; however, the current state of the art is largely experimental and impractical, with several obstacles to useful applications. . (PhysOrg) (Nature)

February

  • A significant milestone in Artificial intelligence Artificial intelligence (AI) is the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximize their chances of achieving defined goals. is reached, as the Watson IBM supercomputer IBM Watson is a computer system capable of answering questions posed in natural language. It was developed as a part of IBM's DeepQA project by a research team, led by principal investigator David Ferrucci. Watson was named after IBM's founder and first CEO, industrialist Thomas J. Watson. defeats two humans on Jeopardy! Jeopardy! is an American television game show created by Merv Griffin. The show is a quiz competition that reverses the traditional question-and-answer format of many quiz shows. Rather than being given questions, contestants are instead given general knowledge clues in the form of answers and they must identify the person, place, thing, or idea that the clue describes, phrasing each response in the form of a question. Quiz show A game show (or gameshow) is a genre of broadcast viewing entertainment where contestants compete in a game for rewards. The shows are typically directed by a host, who explains the rules of the program as well as commentating and narrating where necessary. The history of the game shows dates back to the late 1930s when both radio and television game shows were broadcast. The genre became popular in the United States in the 1950s, becoming a regular feature of daytime television. . (Wired)

March

  • Swiss Swiss most commonly refers to: researchers discover a gene in wasps A wasp is any insect of the narrow-waisted suborder Apocrita of the order Hymenoptera which is neither a bee nor an ant; this excludes the broad-waisted sawflies (Symphyta), which look somewhat like wasps, but are in a separate suborder. The wasps do not constitute a clade, a complete natural group with a single ancestor, as bees and ants are deeply nested within the wasps, having evolved from wasp ancestors. Wasps that are members of the clade Aculeata can sting their prey. that allow them to reproduce asexually Asexual reproduction is a type of reproduction that does not involve the fusion of gametes or change in the number of chromosomes. The offspring that arise by asexual reproduction from either unicellular or multicellular organisms inherit the full set of genes of their single parent and thus the newly created individual is genetically and physically similar to the parent or an exact clone of the parent. Asexual reproduction is the primary form of reproduction for single-celled organisms such as archaea and bacteria. Many eukaryotic organisms including plants, animals, and fungi can also reproduce asexually. In vertebrates, the most common form of asexual reproduction is parthenogenesis, which is typically used as an alternative to sexual reproduction in times when reproductive opportunities are limited. Some monitor lizards, including Komodo dragons, can reproduce asexually. . (PhysOrg) (Curr. Biol.)

April

  • Scientists have teleported Quantum teleportation is a technique for transferring quantum information from a sender at one location to a receiver some distance away. While teleportation is commonly portrayed in science fiction as a means to transfer physical objects from one location to the next, quantum teleportation only transfers quantum information. The sender does not have to know the particular quantum state being transferred. Moreover, the location of the recipient can be unknown, but to complete the quantum teleportation, classical information needs to be sent from sender to receiver. Because classical information needs to be sent, quantum teleportation cannot occur faster than the speed of light. wave packets of light by destroying them in one location and re-creating them in another. (PhysOrg) (Science)

May

  • Experimental data gathered by the Gravity Probe B Gravity Probe B (GP-B) was a satellite-based experiment whose objective was to test two previously-unverified predictions of general relativity: the geodetic effect and frame-dragging. This was to be accomplished by measuring, very precisely, tiny changes in the direction of spin of four gyroscopes contained in an Earth-orbiting satellite at 650 km (400 mi) of altitude, crossing directly over the poles. satellite confirms Tests of general relativity serve to establish observational evidence for the theory of general relativity. The first three tests, proposed by Albert Einstein in 1915, concerned the "anomalous" precession of the perihelion of Mercury, the bending of light in gravitational fields, and the gravitational redshift. The precession of Mercury was already known; experiments showing light bending in accordance with the predictions of general relativity were performed in 1919, with increasingly precise measurements made in subsequent tests; and scientists claimed to have measured the gravitational redshift in 1925, although measurements sensitive enough to actually confirm the theory were not made until 1954. A more accurate program starting in 1959 tested general relativity in the weak gravitational field limit, severely limiting possible deviations from the theory. two aspects of the General theory of relativity General relativity, also known as the general theory of relativity, and as Einstein's theory of gravity, is the geometric theory of gravitation published by Albert Einstein in 1915 and is the current description of gravitation in modern physics. General relativity generalizes special relativity and refines Newton's law of universal gravitation, providing a unified description of gravity as a geometric property of space and time, or four-dimensional spacetime. In particular, the curvature of spacetime is directly related to the energy and momentum of whatever is , which was published by Albert Einstein Albert Einstein (14 March 1879 – 18 April 1955) was a German-born theoretical physicist who is best known for developing the theory of relativity. Einstein also made important contributions to quantum mechanics. His mass–energy equivalence formula E = mc2, which arises from special relativity, has been called "the world's most famous equation". He received the 1921 Nobel Prize in Physics for his services to theoretical physics, and especially for his discovery of the law of the photoelectric effect. in 1916. (BBC) (arXiv) (Phys. Rev. Lett.)

June

  • The United Nations holds a ceremony in Rome Rome (Italian and Latin: Roma, pronounced [ˈroːma] ) is the capital city and most populated comune (municipality) of Italy. It is also the administrative centre of the Lazio region and of the Metropolitan City of Rome. A special comune named Roma Capitale with 2,746,984 residents in 1,285 km2 (496.1 sq mi), Rome is the third most populous city in the European Union by population within city limits. The Metropolitan City of Rome Capital, with a population of 4,223,885 residents, is the most populous metropolitan city in Italy. Its metropolitan area is the third-most populous within Italy. Rome is located in the central-western portion of the Italian Peninsula, within Lazio (Latium), along the shores of the Tiber Valley. Vatican City (the smallest country in the world and headquarters of the worldwide Catholic Church under the governance of the Holy See) is an independent country inside the city boundaries of Rome, the only existing example of a country within a city. Rome is often referred to as the City of Seven Hills due to its geography, and also as the "Eternal City". Rome is generally considered to be one of the cradles of Western civilization and Western Christian culture, and the centre of the Catholic Church. , declaring the once-widespread cattle disease Rinderpest Rinderpest (also cattle plague or steppe murrain) was an infectious viral disease of cattle, domestic water buffalo, and many other species of even-toed ungulates, including gaurs, buffaloes, large antelope, deer, giraffes, wildebeests, and warthogs. The disease was characterized by fever, oral erosions, diarrhea, lymphoid necrosis, and high mortality. Death rates during outbreaks were usually extremely high, approaching 100% in immunologically naïve populations. Rinderpest was mainly transmitted by direct contact and by drinking contaminated water, although it could also be transmitted by air. to be globally eradicated.

July

  • Researchers have reprogrammed Brain cells Brain cells make up the functional tissue of the brain. The rest of the brain tissue is the structural stroma that includes connective tissue such as the meninges, blood vessels, and ducts. The two main types of cells in the brain are neurons, also known as nerve cells, and glial cells, also known as neuroglia. There are many types of neuron, and several types of glial cell. to become Heart The heart is a muscular organ found in humans and other animals. This organ pumps blood through the blood vessels. Heart and blood vessels together make the circulatory system. The pumped blood carries oxygen and nutrients to the tissue, while carrying metabolic waste such as carbon dioxide to the lungs. In humans, the heart is approximately the size of a closed fist and is located between the lungs, in the middle compartment of the chest, called the mediastinum. cells. (Science Daily)

August

  • A computer has learned language by playing strategy games A strategy game or strategic game is a game in which the players' uncoerced, and often autonomous, decision-making skills have a high significance in determining the outcome. Almost all strategy games require internal decision tree-style thinking, and typically very high situational awareness. , inferring the meaning of words without human supervision. (MIT News)

September

  • A Monkey Monkey is a common name that may refer to most mammals of the infraorder Simiiformes, also known as simians. Traditionally, all animals in the group now known as simians are counted as monkeys except the apes. Thus monkeys, in that sense, constitute an incomplete paraphyletic grouping; alternatively, if apes (Hominoidea) are included, monkeys and simians are synonyms. sporting a ginger beard and matching fiery red tail, discovered in a threatened region of the Brazilian Brazil, officially the Federative Republic of Brazil, is the largest country in South America. It is the world's fifth-largest country by area and the seventh-largest by population, with over 212 million people. The country is a federation composed of 26 states and a Federal District, which hosts the capital, Brasília. Its most populous city is São Paulo, followed by Rio de Janeiro. Brazil has the most Portuguese speakers in the world and is the only country in the Americas where Portuguese is an official language. Amazon The Amazon rainforest, also called the Amazon jungle or Amazonia, is a moist broadleaf tropical rainforest in the Amazon biome that covers most of the Amazon basin of South America. This basin encompasses 7,000,000 km2 (2,700,000 sq mi), of which 6,000,000 km2 (2,300,000 sq mi) are covered by the rainforest. This region includes territory belonging to nine nations and 3,344 indigenous territories. , is believed to be a species new to science. (The Guardian)

  • Feeding a Supercomputer A supercomputer is a type of computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second (FLOPS) instead of million instructions per second (MIPS). Since 2022, supercomputers have existed which can perform over 1018 FLOPS, so called exascale supercomputers. For comparison, a desktop computer has performance in the range of hundreds of gigaFLOPS (1011) to tens of teraFLOPS (1013). Since November 2017, all of the world's fastest 500 supercomputers run on Linux-based operating systems. Additional research is being conducted in the United States, the European Union, Taiwan, Japan, and China to build faster, more powerful and technologically superior exascale supercomputers. with news stories could help predict major world events, according to US researchers. (BBC)

October

  • Imperial College London Imperial College London, also known simply as Imperial, is a public research university in London, England. Its history began with Queen Victoria's husband, Prince Albert, who envisioned a cultural area in South Kensington that included museums, colleges, and the Royal Albert Hall. In 1907, these colleges – the Royal College of Science, the Royal School of Mines, and the City and Guilds of London Institute – merged to form the Imperial College of Science and Technology. researchers have shown Logic gates A logic gate is a device that performs a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic gate, one that has, for instance, zero rise time and unlimited fan-out, or it may refer to a non-ideal physical device (see ideal and real op-amps for comparison). can be built out of E. coli Escherichia coli ( ESH-ə-RIK-ee-ə KOH-lye) is a gram-negative, facultative anaerobic, rod-shaped, coliform bacterium of the genus Escherichia that is commonly found in the lower intestine of warm-blooded organisms. Most E. coli strains are part of the normal microbiota of the gut, where they constitute about 0.1%, along with other facultative anaerobes. These bacteria are mostly harmless or even beneficial to humans. For example, some strains of E. coli benefit their hosts by producing vitamin K2 or by preventing the colonization of the intestine by harmful pathogenic bacteria. These mutually beneficial relationships between E. coli and humans are a type of mutualistic biological relationship—where both the humans and the E. coli are benefitting each other. E. coli is expelled into the environment within fecal matter. The bacterium grows massively in fresh fecal matter under aerobic conditions for three days, but its numbers decline slowly afterwards. bacteria and DNA Deoxyribonucleic acid ( ; DNA) is a polymer composed of two polynucleotide chains that coil around each other to form a double helix. The polymer carries genetic instructions for the development, functioning, growth and reproduction of all known organisms and many viruses. DNA and ribonucleic acid (RNA) are nucleic acids. Alongside proteins, lipids and complex carbohydrates (polysaccharides), nucleic acids are one of the four major types of macromolecules that are essential for all known forms of life. . This could be used to make sophisticated diagnostic cells that assess and treat illness in the body. (KurzweilAI)

  • India India, officially the Republic of India, is a country in South Asia. It is the seventh-largest country by area; the most populous country since 2023; and since its independence in 1947, the world's most populous democracy. Bounded by the Indian Ocean on the south, the Arabian Sea on the southwest, and the Bay of Bengal on the southeast, it shares land borders with Pakistan to the west; China, Nepal, and Bhutan to the north; and Bangladesh and Myanmar to the east. In the Indian Ocean, India is near Sri Lanka and the Maldives; its Andaman and Nicobar Islands share a maritime border with Thailand, Myanmar, and Indonesia. 's Minister of Health The Ministry of Health and Family Welfare (MoHFW) is an Indian government ministry charged with health policy in India. It is also responsible for all government programs relating to family planning in India. , Ghulam Nabi Azad Ghulam Nabi Azad (born 7 March 1949) is an Indian politician who served as Leader of Opposition in Rajya Sabha between 2014 and 2021. He also served as the Chief Minister of erstwhile state of Jammu and Kashmir from 2005 to 2008. On 26 September 2022, Azad announced his own political party as Democratic Progressive Azad Party. He is the chief patron cum founder of Democratic Progressive Azad Party. , reports that the country has almost entirely eradicated Polio Poliomyelitis ( POH-lee-oh-MY-ə-LY-tiss), commonly shortened to polio, is an infectious disease caused by the poliovirus. Approximately 75% of cases are asymptomatic; mild symptoms which can occur include sore throat and fever; in a proportion of cases more severe symptoms develop such as headache, neck stiffness, and paresthesia. These symptoms usually pass within one or two weeks. A less common symptom is permanent paralysis, and possible death in extreme cases. Years after recovery, post-polio syndrome may occur, with a slow development of muscle weakness similar to what the person had during the initial infection. through a vaccination Polio vaccines are vaccines used to prevent poliomyelitis (polio). Two types are used: an inactivated poliovirus given by injection (IPV) and a weakened poliovirus given by mouth (OPV). The World Health Organization (WHO) recommends all children be fully vaccinated against polio. The two vaccines have eliminated polio from most of the world, and reduced the number of cases reported each year from an estimated 350,000 in 1988 to 33 in 2018. program which immunises over 170 million children every year. No new polio cases have been reported in India for over nine months. (BBC)

November

  • India India, officially the Republic of India, is a country in South Asia. It is the seventh-largest country by area; the most populous country since 2023; and since its independence in 1947, the world's most populous democracy. Bounded by the Indian Ocean on the south, the Arabian Sea on the southwest, and the Bay of Bengal on the southeast, it shares land borders with Pakistan to the west; China, Nepal, and Bhutan to the north; and Bangladesh and Myanmar to the east. In the Indian Ocean, India is near Sri Lanka and the Maldives; its Andaman and Nicobar Islands share a maritime border with Thailand, Myanmar, and Indonesia. announces plans for a prototype Nuclear power plant A nuclear power plant (NPP), also known as a nuclear power station (NPS), nuclear generating station (NGS) or atomic power station (APS) is a thermal power station in which the heat source is a nuclear reactor. As is typical of thermal power stations, heat is used to generate steam that drives a steam turbine connected to a generator that produces electricity. As of September 2023, the International Atomic Energy Agency reported that there were 410 nuclear power reactors in operation in 32 countries around the world, and 57 nuclear power reactors under construction. that uses Thorium Thorium is a chemical element; it has symbol Th and atomic number 90. Thorium is a weakly radioactive light silver metal which tarnishes olive grey when it is exposed to air, forming thorium dioxide; it is moderately soft, malleable, and has a high melting point. Thorium is an electropositive actinide whose chemistry is dominated by the +4 oxidation state; it is quite reactive and can ignite in air when finely divided. – an innovative, potentially safer nuclear fuel. (The Guardian)

  • Researchers at Washington State University Washington State University (WSU, or colloquially Wazzu) is a public land-grant research university in Pullman, Washington, United States. Founded in 1890, WSU is also one of the oldest land-grant universities in the American West. With an undergraduate enrollment of 24,278 and a total enrollment of 28,581, it is the second largest institution of higher education in Washington state behind the University of Washington. It is classified among "R1: Doctoral Universities – Very high research activity". develop an artificial bone "scaffold" which can be produced using 3D printers 3D printing, or additive manufacturing, is the construction of a three-dimensional object from a CAD model or a digital 3D model. It can be done in a variety of processes in which material is deposited, joined or solidified under computer control, with the material being added together (such as plastics, liquids or powder grains being fused), typically layer by layer. , potentially allowing doctors to quickly print replacement bone tissue for injured patients. (BBC)

December

  • Researchers at CERN The European Organization for Nuclear Research, known as CERN (; French pronunciation: [sɛʁn]; Organisation européenne pour la recherche nucléaire), is an intergovernmental organization that operates the largest particle physics laboratory in the world. Established in 1954, it is based in Meyrin, western suburb of Geneva, on the France–Switzerland border. It comprises 24 member states. Israel, admitted in 2013, is the only full member geographically out of Europe. CERN is an official United Nations General Assembly observer. 's Large Hadron Collider The Large Hadron Collider (LHC) is the world's largest and highest-energy particle accelerator. It was built by the European Organization for Nuclear Research (CERN) between 1998 and 2008, in collaboration with over 10,000 scientists, and hundreds of universities and laboratories across more than 100 countries. It lies in a tunnel 27 kilometres (17 mi) in circumference and as deep as 175 metres (574 ft) beneath the France–Switzerland border near Geneva. (LHC) report the discovery of a new particle, dubbed Chi_b(3P) The bottom quark, beauty quark, or b quark, is an elementary particle of the third generation. It is a heavy quark with a charge of −⁠1/3⁠ e. . 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 The year 2011 involved many significant scientific events, including the first artificial organ transplant, the launch of China's first space station and the growth of the world population to seven billion. The year saw a total of 78 successful orbital spaceflights, as well as numerous advances in fields such as electronics, medicine, genetics, climatology and robotics. .

A call within a call

10 September, 1946 - While riding a train to Darjeeling Darjeeling (, Nepali: [ˈdard͡ziliŋ], Bengali: [ˈdarˌdʒiliŋ]) is a city in the northernmost region of the Indian state of West Bengal. Located in the Eastern Himalayas, it has an average elevation of 2,045 metres (6,709 ft). To the west of Darjeeling lies the easternmost province of Nepal, to the east the Kingdom of Bhutan, to the north the Indian state of Sikkim, and farther north the Tibet Autonomous Region region of China. Bangladesh lies to the south and southeast, and most of the state of West Bengal lies to the south and southwest, connected to the Darjeeling region by a narrow tract. Kangchenjunga, the world's third-highest mountain, rises to the north and is prominently visible on clear days. , Sister Teresa Bojaxhiu Mary Teresa Bojaxhiu (born Anjezë Gonxhe Bojaxhiu, Albanian: [aˈɲɛzə ˈɡɔndʒɛ bɔjaˈdʒi.u]; 26 August 1910 – 5 September 1997), better known as Mother Teresa or Saint Mother Teresa, was an Albanian-Indian Roman Catholic nun, founder of the Missionaries of Charity and is a Catholic saint. Born in Skopje, then part of the Ottoman Empire, she was raised in a devoutly Catholic family. At the age of 18, she moved to Ireland to join the Sisters of Loreto and later to India, where she lived most of her life and carried out her missionary work. On 4 September 2016, she was canonised by the Catholic Church as Saint Teresa of Calcutta. The anniversary of her death, 5 September, is now observed as her feast day. 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 Mary Teresa Bojaxhiu (born Anjezë Gonxhe Bojaxhiu, Albanian: [aˈɲɛzə ˈɡɔndʒɛ bɔjaˈdʒi.u]; 26 August 1910 – 5 September 1997), better known as Mother Teresa or Saint Mother Teresa, was an Albanian-Indian Roman Catholic nun, founder of the Missionaries of Charity and is a Catholic saint. Born in Skopje, then part of the Ottoman Empire, she was raised in a devoutly Catholic family. At the age of 18, she moved to Ireland to join the Sisters of Loreto and later to India, where she lived most of her life and carried out her missionary work. On 4 September 2016, she was canonised by the Catholic Church as Saint Teresa of Calcutta. The anniversary of her death, 5 September, is now observed as her feast day. .

Happy Mother's Day & Commerce

Mother's Day Mother's Day is a celebration honoring the mother of the family or individual, as well as motherhood, maternal bonds, and the influence of mothers in society. It is celebrated on different days in many parts of the world, most commonly in March or May. It complements similar celebrations honoring family members, such as Father's Day, Siblings Day, and Grandparents' 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 Anna Maria Jarvis (May 1, 1864 – November 24, 1948) was the founder of Mother's Day in the United States. Her mother had frequently expressed a desire to establish such a holiday, and after her mother's death, Jarvis led the movement for the commemoration. However, as the years passed, Jarvis grew disenchanted with the growing commercialization of the observation and even attempted to have Mother's Day rescinded. By the early 1940s, she had become infirm, and was placed in a sanatorium by friends and associates where she died on November 24, 1948. A legend exists that a portion of her medical bills were paid for by florists. 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 A greeting card is a piece of card stock, usually with an illustration or photo, made of high quality paper featuring an expression of friendship or other sentiment. Although greeting cards are usually given on special occasions such as birthdays, Christmas or other holidays, such as Halloween, they are also sent to convey thanks or express other feelings (such as condolences or best wishes to get well from illness). , 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 Children's Day is a commemorative date celebrated annually in honour of children, whose date of observance varies by country. and Temperance Sunday The temperance movement is a social movement promoting temperance or total abstinence from consumption of alcoholic beverages. Participants in the movement typically criticize alcohol intoxication or promote teetotalism, and its leaders emphasize alcohol's negative effects on people's health, personalities, and family lives. Typically the movement promotes alcohol education and it also demands the passage of new laws against the sale of alcohol: either regulations on the availability of alcohol, or the prohibition of it. , 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 Cerebral palsy (CP) is a group of movement disorders that appear in early childhood. Signs and symptoms vary among people and over time, but include poor coordination, stiff muscles, weak muscles, and tremors. There may be problems with sensation, vision, hearing, and speech. Often, babies with cerebral palsy do not roll over, sit, crawl or walk as early as other children. Other symptoms may include seizures and problems with thinking or reasoning. While symptoms may get more noticeable over the first years of life, underlying problems do not worsen over time. . 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 Assistive technology (AT) is a term for assistive, adaptive, and rehabilitative devices for people with disabilities and the elderly. Disabled people often have difficulty performing activities of daily living (ADLs) independently, or even with assistance. ADLs are self-care activities that include toileting, mobility (ambulation), eating, bathing, dressing, grooming, and personal device care. Assistive technology can ameliorate the effects of disabilities that limit the ability to perform ADLs. Assistive technology promotes greater independence by enabling people to perform tasks they were formerly unable to accomplish, or had great difficulty accomplishing, by providing enhancements to, or changing methods of interacting with, the technology needed to accomplish such tasks. For example, wheelchairs provide independent mobility for those who cannot walk, while assistive eating devices can enable people who cannot feed themselves to do so. Due to assistive technology, disabled people have an opportunity of a more positive and easygoing lifestyle, with an increase in "social participation", "security and control", and a greater chance to "reduce institutional costs without significantly increasing household expenses." In schools, assistive technology can be critical in allowing students with disabilities to access the general education curriculum. Students who experience challenges writing or keyboarding, for example, can use voice recognition software instead. Assistive technologies assist people who are recovering from strokes and people who have sustained injuries that affect their daily tasks. 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 (software) Dasher is an input method and computer accessibility tool which enables users to compose text without using a keyboard, by entering text on a screen with a pointing device such as a mouse, touch screen, or mice operated by the foot or head. Such instruments could serve as prosthetic devices for disabled people who cannot use standard keyboards, or where the use of one is impractical. 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 Speech recognition Speech recognition is an interdisciplinary subfield of computer science and computational linguistics that develops methodologies and technologies that enable the recognition and translation of spoken language into text by computers. It is also known as automatic speech recognition (ASR), computer speech recognition or speech-to-text (STT). It incorporates knowledge and research in the computer science, linguistics and computer engineering fields. The reverse process is speech synthesis. 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 Adobe Acrobat is a family of application software and web services developed by Adobe Inc. to view, create, manipulate, print and manage Portable Document Format (PDF) files. reader had the auto-scroll option that would help in reading the book.

In his personal laptop with books loaded as PDF Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. Based on the PostScript language, each PDF file encapsulates a complete description of a fixed-layout flat document, including the text, fonts, vector graphics, raster images and other information needed to display it. PDF has its roots in "The Camelot Project" initiated by Adobe co-founder John Warnock in 1991. 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 Alice's Adventures in Wonderland (also known as Alice in Wonderland) is an 1865 English children's novel by Lewis Carroll, a mathematics don at the University of Oxford. It details the story of a girl named Alice who falls through a rabbit hole into a fantasy world of anthropomorphic creatures. It is seen as an example of the literary nonsense genre. The artist John Tenniel provided 42 wood-engraved illustrations for the book. ", a set of 14 short-stories of Sherlock Holmes Sherlock Holmes () is a fictional detective created by British author Arthur Conan Doyle. Referring to himself as a "consulting detective" in his stories, Holmes is known for his proficiency with observation, deduction, forensic science and logical reasoning that borders on the fantastic, which he employs when investigating cases for a wide variety of clients, including Scotland Yard. and H.G.Well's Herbert George Wells (21 September 1866 – 13 August 1946) was an English writer, prolific in many genres. He wrote more than fifty novels and dozens of short stories. His non-fiction output included works of social commentary, politics, history, popular science, satire, biography, and autobiography. Wells's science fiction novels are so well regarded that he has been called the "father of science fiction". " First men on Moon The First Men in the Moon by the English author H. G. Wells is a scientific romance, originally serialised in The Strand Magazine and The Cosmopolitan from November 1900 to June 1901 and published in hardcover in 1901. Wells called it one of his "fantastic stories". The novel recounts a journey to the Moon by the two English protagonists: a businessman narrator, Mr. Bedford; and an eccentric scientist, Mr. Cavor. Bedford and Cavor discover that the interior of the Moon is inhabited by a sophisticated extraterrestrial civilisation of insect-like creatures they call "Selenites". ".

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 Bluetooth Bluetooth is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). In the most widely used mode, transmission power is limited to 2.5 milliwatts, giving it a very short range of up to 10 metres (33 ft). It employs UHF radio waves in the ISM bands, from 2.402 GHz to 2.48 GHz. It is mainly used as an alternative to wired connections to exchange files between nearby portable devices and connect cell phones and music players with wireless headphones, wireless speakers, HIFI systems, car audio and wireless transmission between TVs and soundbars. 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 Infrared (IR; sometimes called infrared light) is electromagnetic radiation (EMR) with wavelengths longer than that of visible light but shorter than microwaves. The infrared spectral band begins with the waves that are just longer than those of red light (the longest waves in the visible spectrum), so IR is invisible to the human eye. IR is generally (according to ISO, CIE) understood to include wavelengths from around 780 nm (380 THz) to 1 mm (300 GHz). IR is commonly divided between longer-wavelength thermal IR, emitted from terrestrial sources, and shorter-wavelength IR or near-IR, part of the solar spectrum. Longer IR wavelengths (30–100 μm) are sometimes included as part of the terahertz radiation band. Almost all black-body radiation from objects near room temperature is in the IR band. As a form of EMR, IR carries energy and momentum, exerts radiation pressure, and has properties corresponding to both those of a wave and of a particle, the photon. 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 Avul Pakir Jainulabdeen Abdul Kalam ( UB-duul kə-LAHM; 15 October 1931 – 27 July 2015) was an Indian aerospace scientist and statesman who served as the president of India from 2002 to 2007. 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 API The Speech Application Programming Interface or SAPI is an API developed by Microsoft to allow the use of speech recognition and speech synthesis within Windows applications. To date, a number of versions of the API have been released, which have shipped either as part of a Speech SDK or as part of the Windows OS itself. Applications that use SAPI include Microsoft Office, Microsoft Agent and Microsoft Speech Server. .

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 A virtual keyboard is a software component that allows the input of characters without the need for physical keys. Interaction with a virtual keyboard happens mostly via a touchscreen interface, but can also take place in a different form when in virtual or augmented reality. 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 Transparency (behavior) As an ethic that spans science, engineering, business, and the humanities, transparency is operating in such a way that it is easy for others to see what actions are performed. Transparency implies openness, communication, and accountability. 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 Transparency (optics) In the field of optics, transparency (also called pellucidity or diaphaneity) is the physical property of allowing light to pass through the material without appreciable scattering of light. On a macroscopic scale (one in which the dimensions are much larger than the wavelengths of the photons in question), the photons can be said to follow Snell's law. Translucency (also called translucence or translucidity) is the physical property of allowing light to pass through the material (with or without scattering of light). It allows light to pass through but the light does not necessarily follow Snell's law on the macroscopic scale; the photons may be scattered at either of the two interfaces, or internally, where there is a change in the index of refraction. In other words, a translucent material is made up of components with different indices of refraction. A transparent material is made up of components with a uniform index of refraction. Transparent materials appear clear, with the overall appearance of one color, or any combination leading up to a brilliant spectrum of every color. The opposite property of translucency is opacity. Other categories of visual appearance, related to the perception of regular or diffuse reflection and transmission of light, have been organized under the concept of cesia in an order system with three variables, including transparency, translucency and opacity among the involved aspects. , 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)

Byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit of memory in many computer architectures. To disambiguate arbitrarily sized bytes from the common 8-bit definition, network protocol documents such as the Internet Protocol (RFC 791) refer to an 8-bit byte as an octet. Those bits in an octet are usually counted with numbering from 0 to 7 or 7 to 0 depending on the bit endianness.

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 ibn Musa al-Khwarizmi Muhammad ibn Musa al-Khwarizmi (Arabic: محمد بن موسى الخوارزميّ; c. 780 – c. 850), or simply al-Khwarizmi, was a scholar active during the Islamic Golden Age, who produced Arabic-language works in mathematics, astronomy, and geography. Around 820, he worked at the House of Wisdom in Baghdad, the contemporary capital city of the Abbasid Caliphate. One of the most prominent scholars of the period, his works were widely influential on later authors, both in the Islamic world and Europe. , from a 1983 USSR commemorative stamp scanned by Donald Knuth Donald Ervin Knuth ( kə-NOOTH; born January 10, 1938) is an American computer scientist and mathematician. He is a professor emeritus at Stanford University. He is the 1974 recipient of the ACM Turing Award, informally considered the Nobel Prize of computer science. Knuth has been called the "father of the analysis of algorithms".

The word " Algebra Algebra is a branch of mathematics that deals with abstract systems, known as algebraic structures, and the manipulation of expressions within those systems. It is a generalization of arithmetic that introduces variables and algebraic operations other than the standard arithmetic operations, such as addition and multiplication. " 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

Prisoner's dilemma

Wikipedia page "Prisoner%27s_dilemma" not found
is a fundamental concept in game theory.

The cops have caught two prisoners and do not have sufficient evidence. They decide to put them in separate cells and give the choice to either betray the other person and be free or be silent.

Case Prisoner 1 Prisoner 2
1) Betray (go Free) Silent (10 year Jail)
2) Silent (10 year Jail) Betray (go Free)
3) Silent (6 month Jail) Silent (6 month Jail)
4) Betray (5 year Jail) Betray (5 year Jail)

What would you do?

Game theory deals with this topic nicely.

Yahoo Hack Day India 2009

I developed an application using

Wikipedia page "Yahoo! BOSS" not found
Search APIs, Linguistics, Machine learning Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of statistical algorithms that can learn from data and generalise to unseen data, and thus perform tasks without explicit instructions. Within a subdiscipline in machine learning, advances in the field of deep learning have allowed neural networks, a class of statistical algorithms, to surpass many previous machine learning approaches in performance. and Google App Engine Google App Engine (also referred to as GAE or App Engine) is a cloud computing platform used as a service for developing and hosting web applications. Applications are sandboxed and run across multiple Google-managed servers. GAE supports automatic scaling for web applications, allocating more resources to the web application as the amount of requests increases. It was released as a preview in April 2008 and launched officially in September 2011. .

Here is the Application Live. Use it anytime:

Here is the Source code for the Project:

Paid 300 as bribe to a policewala

That was near the corporation circle where the vehicles and people are generally crowded. I missed the signal and I realized only when people crossing the road that I had missed it. Got caught by the police and with the routine checks, I noticed that I did not have emission certificate with me.

My bad, 2 offenses. 1) Not stopping at Signal and 2) Not having emission certificate for my vehicle.

But the Police guy wanted to add another offense as 3) dangerous driving. When pleaded and argued that I was not driving dangerous, he just reminded that it is his decision to inform that was I dangerous driving or not and wanted to put fine as Rs.800/- with dangerous driving fine as Rs.500/-.

With lot of requests and conversations and he pulled in two of his friends and to settle the matter, was happy if I pay him Rs.300/-. I did not think much, thought it was okay, just giving him money for his himself and house, rather than lasting it further and gave Rs.300/- as bribe and came back.

Today morning as I recollect it, I think I did wrong.

1) Have my papers ready and be ready to pay the fine would have been more appropriate.

2) Unnecessary talking could have been avoided.

But in the instance when wrongly charged all I wanted to was escape and Rs.300/- for that escape was bit costly.

Previously, near the Indiranagar to Koramangala flyover, when the cop caught me, I had emission certificate but not insurance. So just checked the emission certificate and for the lack of insurance instead of fining Rs.300/-, he just gave Rs.100/- back and pocketed Rs.200/-. I did not say anything then either, thought Rs.100/- saved.

# of sourashtra speaking people

I did some rough calculation and arrived at this number: 1234021 ( that is 12 lacks 34 thousand people).

I based the calculation according to following facts:

1997 IMA - 510000 (the info says, it can be double the number), So I took 1020000 to begin with.

Birth rate in India: 22 births / 1000 people

Date rate in India: 6 deaths / 1000 people.

Madhava of Sangamagrama

Madhava_of_Sangamagrama Mādhava of Sangamagrāma (Mādhavan) (c. 1340 – c. 1425) was an Indian mathematician and astronomer who is considered to be the founder of the Kerala school of astronomy and mathematics in the Late Middle Ages. Madhava made pioneering contributions to the study of infinite series, calculus, trigonometry, geometry and algebra. He was the first to use infinite series approximations for a range of trigonometric functions, which has been called the "decisive step onward from the finite procedures of ancient mathematics to treat their limit-passage to infinity". was an Indian Mathematician who has contributed to mathematics.

Just wait a Second.

A Leap second A leap second is a one-second adjustment that is occasionally applied to Coordinated Universal Time (UTC), to accommodate the difference between precise time (International Atomic Time (TAI), as measured by atomic clocks) and imprecise observed solar time (UT1), which varies due to irregularities and long-term slowdown in the Earth's rotation. The UTC time standard, widely used for international timekeeping and as the reference for civil time in most countries, uses TAI and consequently would run ahead of observed solar time unless it is reset to UT1 as needed. The leap second facility exists to provide this adjustment. The leap second was introduced in 1972. Since then, 27 leap seconds have been added to UTC, with the most recent occurring on December 31, 2016. All have so far been positive leap seconds, adding a second to a UTC day; while it is possible for a negative leap second to be needed, this has not happened yet. has been added to this year, according to the official time keepers at the International Earth Rotation and Reference Systems Service The International Earth Rotation and Reference Systems Service (IERS), formerly the International Earth Rotation Service, is the body responsible for maintaining global time and reference frame standards, notably through its Earth Orientation Parameter (EOP) and International Celestial Reference System (ICRS) groups. (http://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat).

So our clocks at Bangalore should have been:

1 Jan,2009

5:29:58

5:29:59

5:29:60 <--- Hurray!

5:30:00

This adjustment helps maintain the synchronization between Coordinated Universal Time Coordinated Universal Time (UTC) is the primary time standard globally used to regulate clocks and time. It establishes a reference for the current time, forming the basis for civil time and time zones. UTC facilitates international communication, navigation, scientific research, and commerce. and the Earth's rotation.

Greedy vs Non-Greedy in Re - Good Example

Here is a good example to explain greedy vs, non-greedy search using module re in Python.

The '*', '+', and '?' qualifiers are all greedy; they match as much text as possible. Sometimes this behaviour isn't desired; if the RE is matched against '

title

', it will match the entire string, and not just '

'. Adding '?' after the qualifier makes it perform the match in non-greedy or minimal fashion; as few characters as possible will be matched. Using .*? in the previous expression will match only '

'.

Once in a blue moon

Blue Moon A blue moon refers either to the presence of a second full moon in a calendar month, to the third full moon in a season containing four, or to a moon that appears blue due to atmospheric effects. is a name given to an irregularly timed full moon. Most years have twelve full moons which occur approximately monthly, but each calendar year contains those twelve full lunar cycles plus about eleven days to spare. The extra days accumulate, so that every two or three years there is an extra full moon (this happens every 2.72 years).

So, its frequency of occurrence would be:

1/ 2.72 * 365 * 24 * 60 * 60) = 1.16580118 × 10 ^ -8

Now, this one is good. Excellent humor!

But don't get how they arrived at that number. Average considering the leap year does not result in that either.

Discussing English Grammar in the bug report.

Follow the discussion in this Python Documentation bug report.

Its for correct usage of English and grammar.

Terry J. Reedy added the comment:

Benjamin: I thank you too for verifying that I was not crazy.

Martin: I noticed native/non-native split too, and chalked it up to a subtle difference between German and English.

For future reference, the problem with the original, as I see it now, is a subtle interaction between syntax and semantics. The original sentence combined two thoughts about has_key. The two should be either coordinate (parallel in form) or one should be clearly subordinate. A subordinate modifier should generally be closer to the subject, especially if it is much shorter. Making that so was one of my suggestions. The coordinate form would be 'but it is deprecated'. But this does not work because 'it' would be somewhat ambiguous because of the particular first modifier.

The following pair of sentences illustrate what I am trying to say. Guido was once a Nederlander, but he moved to America. Guido was once a student of Professor X, but he moved to America.

In English, the second 'he' is ambiguous because of the particular first modifier.

So, to me, 'but deprecated' at the end of the sentence reads as either a misplaced subordinate form or as an abbreviated coordinate form that is at least somewhat ambiguous because of the meaning of the other modifier.

The Agony and the Ecstasy

That night, as he lay sleepless in bed, he thought. "Life has bee good. God did not create me to abandon me. I have loved marble, yes and paint too. I have loved architecture, and poetry too. I have loved my family and my friends. I have loved God the forms of the earth and the heavens, and people too. I have loved life to the full, and now I love death as its natural termination. Il Magnifico would be happy: for me, the forces of destruction never overcame creativity"

From The Agony and the Ecstasy The Agony and the Ecstasy (1961) is a biographical novel of Michelangelo Buonarroti written by American author Irving Stone. Stone lived in Italy for years visiting many of the locations in Rome and Florence, worked in marble quarries, and apprenticed himself to a marble sculptor. A primary source for the novel is Michelangelo's correspondence, all 495 letters of which Stone had translated from Italian by Charles Speroni and published in 1962 as I, Michelangelo, Sculptor. Stone also collaborated with Canadian sculptor Stanley Lewis, who researched Michelangelo's carving technique and tools. The Italian government lauded Stone with several honorary awards for his cultural achievements highlighting Italian history.

Funny Trick using your gmail id

Whenever some website recognizes the uniqueness of account using your email id, you can by pass that check while using your gmail.com id, because gmail.com does not consider symantics of '.' within the username of its account.

So, if you are yourname at gmail.com, it is same as your.name, y.ourname or any other thing for the same account. But for the other website, most often they tend to look it as different ids.

I tried this with http://en.gravatar.com/, when it said that my id is already set (I had not/ dont remember how), so I simply used or.senthil. While testing forms, you can use this trick too.


of course, for gravatar, you really want your primary email address mapped since that is what other sites (eg: github) will use.

bluesmoon

Tips for Coping with Disasters - REBT

I read in The Hindu that lots of mumbaikars were flocking to yoga/psychotherapy and social networks to come to grips with the terror that showed its face last week.

This message (advice from Albert Ellis, leading psychologist in USA) can be useful to Indians and Mumbaikars as we come to grip with Terrorist attacks. http://www.impactpublishers.com/crisis/ellis.htm

Bogosort

"In computer science, bogosort (also random sort, shotgun sort or monkey sort) is a particularly ineffective sorting algorithm. Its only use is for educational purposes, to contrast it with other more realistic algorithms. If bogosort were used to sort a deck of cards, it would consist of checking if the deck were in order, and if it were not, one would throw the deck into the air, pick up the cards up at random, and repeat the process until the deck is sorted."

From Bogosort In computer science, bogosort (also known as permutation sort and stupid sort) is a sorting algorithm based on the generate and test paradigm. The function successively generates permutations of its input until it finds one that is sorted. It is not considered useful for sorting, but may be used for educational purposes, to contrast it with more efficient algorithms. The algorithm's name is a portmanteau of the words bogus and sort.

Ariane 5 Flight 501

While listening to an introductory programming class, came across the mention of this this " Ariane_5_Flight_501 Ariane flight V88 was the failed maiden flight of the Arianespace Ariane 5 rocket, vehicle no. 501, on 4 June 1996. It carried the Cluster spacecraft, a constellation of four European Space Agency research satellites. " failure incident, which was caused by Arithmetic Exception and Integer overflow resulted from automatic type casting float to integer in the ADA program. Very costly software bug.

This German article discusses the issue. Below is the English translation of the same with the help of translate.google.com with some comments.


Ariane 5 - 501 (1-3) Ariane 5 - 501 (1-3)

4th June 1996, Kourou / FRZ. Guyana, ESA Guyana, ESA

Maiden flight of the new European launcher (weight: 740 tons, payload 7-18 t) with 4 Cluster satellites

Development costs in 10 years: DM 11 800 million I am not sure about 11 space 800 million. If it is, then its 4 trillion Rupees roughly.

Ada program of the inertial navigation system (excerpt):

...
declare
  vertical_veloc_sensor: float;
  horizontal_veloc_sensor: float;
  vertical_veloc_bias: integer;
  horizontal_veloc_bias: integer;
  ...
begin
  declare
    pragma suppress(numeric_error, horizontal_veloc_bias);
  begin
    sensor_get (vertical_veloc_sensor);
    sensor_get (horizontal_veloc_sensor);
    vertical_veloc_bias := integer(vertical_veloc_sensor);
    horizontal_veloc_bias := integer(horizontal_veloc_sensor);
    ...
  exception exceptionnelle
    When numeric_error => calculate_vertical_veloc ();
    when others => use_irs1 ();
  end;
 irs2 end;

Effect:

37 seconds after ignition of the rocket (30 seconds after Liftoff) Ariane 5 reached 3700 m in altitude with a horizontal velocity of 32768.0 (internal units). This value was about five times higher than that of Ariane 4th

The transformation into a whole number led to an overflow, but was not caught.

The replacement computer (redundancy!) Had the same problem 72 msec before and immediately switched from that.

This resulted in that diagnostic data to the main computer were sent to this interpreted as trajectory data. Consequently, nonsensical control commands to the side, pivoting solid engines, and later to the main engine, to the deviate Flight no large (over 20 degrees) to correct them.

The rocket, however, threatened damage control and tested all himself (39 sec). I guess auto-destruct.

An intensive test of the navigation and main computer had not been undertaken since the software was in tested Ariane 4.

Damage: - DM 250 million start-up costs (~ 8.5 billion INR) - DM 850 million Cluster satellites (~ 29 billion INR) - DM 600 million for future improvements (~ 20 billion INR) - Loss of earnings for 2 to 3 years

The next test flight was only 17 months later carried out - 1 Stage ended prematurely firing.

The first commercial flight took place in December 1999.

Tragedy:

The problematic part of the program was only in preparation for the launch and the launch itself needed.

It should only be a transitional period to be active, for security reasons: 50 sec, to the ground station at a launch control over the interruption would have.

Despite the very different behavior of the Ariane 5 was nothing new about value.

Optimization:

Only 3 of 7 for a variables overflow examined - for the other 4 variables evidence existed that the values would remain small enough (Ariane 4).

This evidence was not for the Ariane 5 and this was not even understood. Problem was with the of reuse of software!

Incredible - after 40 years of software-defect findings:

It was during program design assumes that only hardware failure may occur! Therefore, the replacement computers also identical software. The system specification established that in case of failure of the computer is off and the replacement computer einspringt. A restart of a computer was not useful, since the redefinition of the flying height is too expensive.

PS: The attempt to establish new 4 Cluster satellites to launch, succeeded in July and August 2000 with two Russian launchers.


Discussion on all-or-nothing approach.

Life without worthwhile goals is not worth living

Here is Will Ross's take on this at REBT-Forum.

I'm not familiar with the quote, and I'm not sure what it means exactly. It could mean, as Rex suggests, that a life without worthwhile goals is not worth living. If that's the case, then it is both rational and irrational. It's rational because life is far more rewarding when we pursue worthwhile goals. It's irrational because it smacks of what David Burns calls "all-or-nothing thinking." It implies that life is either great or it sucks. There's no room for in-between. Helen Keller said something similar: "Life is a daring adventure or it is nothing." A noble sentiment,but too dichotomous for my tastes. My view is: By all means choose to pursue worthwhile goals, but don't make the mistake of killing yourself if you choose not pursue them.

Another possible meaning is that it's better to be dead than to be mediocre. This seems highly irrational. Given universal human fallibility, we're all mediocre in most respects (some people get to be outstanding in one or two areas, but even they are mediocre in most other areas of their lives). Let's accept our mediocrity and do all we can to enjoy life despite it. You can - if you want - choose to shoot for the stars, but don't expect to land on them. I refer once again to David Burns who gave a chapter of his book the greatest title I've ever seen: "Dare to be Average!"

Robby, the Weight-Lifter from India

Robby, the Weight-Lifter from India

This is the entry from SSK Robotics Club to compete in the Lego Mindstorms Lego Mindstorms (sometimes stylized as LEGO MINDSTORMS) is a discontinued line of educational kits for building programmable robots based on Lego bricks. It was introduced on 1 September 1998 and discontinued on 31 December 2022. NXT Summer Sports Building Challenge. The robot is designed to demonstrate the principles of Robotics Robotics is the interdisciplinary study and practice of the design, construction, operation, and use of robots. and Sports engineering Sports engineering is a sub-discipline of engineering that applies math and science to develop technology, equipment, and other resources as they pertain to sport. through the innovative use of LEGO components and programming.

Panini's Grammar

While reading the chapter on "A Simple One-Pass Compiler" in the Book "Compilers: Principles, Techniques and Tools", I came across the following sentence mentioned in the bibliography section.

Context-free grammar In formal language theory, a context-free grammar (CFG) is a formal grammar whose production rules were introduced by Noam Chomsky Avram Noam Chomsky (born December 7, 1928) is an American professor and public intellectual known for his work in linguistics, political activism, and social criticism. Sometimes called "the father of modern linguistics", Chomsky is also a major figure in analytic philosophy and one of the founders of the field of cognitive science. He is a laureate professor of linguistics at the University of Arizona and an institute professor emeritus at the Massachusetts Institute of Technology (MIT). Among the most cited living authors, Chomsky has written more than 150 books on topics such as linguistics, war, and politics. In addition to his work in linguistics, since the 1960s Chomsky has been an influential voice on the American left as a consistent critic of U.S. foreign policy, contemporary capitalism, and corporate influence on political institutions and the media. [1956] as part of a natural languages. Their use in specifying the syntax of programming languages arose independently. While working with a draft of Algol 60, John Backus John Warner Backus (December 3, 1924 – March 17, 2007) was an American computer scientist. He led the team that invented and implemented FORTRAN, the first widely used high-level programming language, and was the inventor of the Backus–Naur form (BNF), a widely used notation to define syntaxes of formal languages. He later did research into the function-level programming paradigm, presenting his findings in his influential 1977 Turing Award lecture "Can Programming Be Liberated from the von Neumann Style?" , "hastily adapted [Emil Post's productions[ to that use" (Wexelblat [1981, p.162]). The resulting notation was a variant of context-free grammar. The scholar Pāṇini Pāṇini (; Sanskrit: पाणिनि, pāṇini [páːɳin̪i]) was a Sanskrit grammarian, logician, philologist, and revered scholar in ancient India during the mid-1st millennium BCE, dated variously by most scholars between the 6th–5th and 4th century BCE. devised an equivalent syntactic notation to specify the rules of Sanskrit grammar between 400 B.C and 200 B.C (Ingerman [1967])

There is a section in the wikipedia on Pāṇini#Pāṇini_and_modern_linguistics Pāṇini (; Sanskrit: पाणिनि, pāṇini [páːɳin̪i]) was a Sanskrit grammarian, logician, philologist, and revered scholar in ancient India during the mid-1st millennium BCE, dated variously by most scholars between the 6th–5th and 4th century BCE. .

Chomsky, during his visit to India and had an humble acknowledgment for generative grammar devised by Panini..*"happy to receive the honour in the land where his subject had its origin. "The first generative grammar in the modern sense was Panini's grammar","*

G Cardona, Panini : a survey of research (Paris, 1976), [quotes](http://www-history.mcs.st-andrews.ac.uk/Biographies/Panini.html)

Panini's grammar has been evaluated from various points of view. After all these different evaluations, I think that the grammar merits asserting ... that it is one of the greatest monuments of human intelligence.

There was a debate brought about on Ingerman's suggestion to name Backus–Naur form In computer science, Backus–Naur form (BNF, pronounced ), also known as Backus normal form, is a notation system for defining the syntax of programming languages and other formal languages, developed by John Backus and Peter Naur. It is a metasyntax for context-free grammars, providing a precise way to outline the rules of a language's structure. has Panini-Backus form and author, who has studied both Panini's Asthadhyayi and BNF states that both are quite different.

About Ramanujan

I was looking for some information on Srinivasa_Ramanujan Srinivasa Ramanujan Aiyangar , that I stumbled upon this post at y! answers.

Mathematician Ramanujan. The greatest ever.

Born 22 December 1887(1887-12-22) Erode, Tamil Nadu, India

Died 26 April 1920 (aged 32) Chetput, (Madras), Tamil Nadu, India

Residence British India, United Kingdom

Fields Mathematician

Alma mater Trinity College, Cambridge

Academic advisors G. H. Hardy and J. E. Littlewood

Known for Landau-Ramanujan constant Mock theta functions Ramanujan prime Ramanujan-Soldner constant Ramanujan theta function Ramanujan's sum Rogers-Ramanujan identities

Ramanujan and his theorems are referred to in Sylvia Nasar's A Beautiful Mind, a biography of mathematician John Forbes Nash.

He is the subject of David Leavitt's new novel The Indian Clerk, released September 2007. The novel is set during Ramanujan's sojourn in England, where he went at the invitation of Cambridge mathematician G.H. Hardy and his colleague J.E. Littlewood.

He was referred to in the film Good Will Hunting as an example of mathematical genius.

His biography was highlighted in the Vernor Vinge book The Peace War as well as Douglas Hofstadter's Gödel, Escher, Bach.

The character Amita Ramanujan in the CBS TV series Numb3rs (2005–) was named after him.[90]

The short story "Gomez", by Cyril Kornbluth, mentions Ramanujan by name as a comparison to its title character, another self-taught mathematical genius.

In the novel Uncle Petros and Goldbach's Conjecture by Apostolos Doxiadis, Ramanujan is one of the characters.

In the novel Earth by David Brin, the character Jen Wolling uses a representation of Sri Ramanujan as her computer interface.

In the novel The Peace War by Vernor Vinge, a young mathematical genius is referred to as "my little Ramanujan" accidentally. Then it is hoped the young man doesn't get the connection because, like Ramanujan, the boy is doomed to die prematurely.

The character "Yugo Amaryl" in Isaac Asimov's Prelude to Foundation is based on Ramanujan.[citation needed]

The theatre company Complicite has created a production based around the life of Ramanjuan called A Disappearing Number - conceived and directed by Simon McBurney

The PBS television show Nova episode "The Man Who Loved Numbers", about Ramanujan, was first broadcast on March 22, 1988.

The Helix comic book series Time Breakers features Ramanujan as a character. In the story, his meeting with Hardy was made possible by the time travelling main characters, who know that Ramanujan's discoveries are vitally important to their own work and ensure that his work at Cambridge will unfold as history demands.

The eponymous character in J.M.Coetzee's novel 'Elizabeth Costello: Eight Lessons' uses Ramanujan to discuss God, reason and being human.

Good Will Hunting

At last my desktop computer running FC2 was able to play movies from VCD. VLC did the trick and I had to spend considerable time with it to make it play.

1) vlc vcd:///dev/hdc

2) next to scroll bar there was chapter button. Click on that so that it does not finish with the advertisements only.

Good Will Hunting Good Will Hunting is a 1997 American drama film directed by Gus Van Sant and written by Ben Affleck and Matt Damon. It stars Robin Williams, Damon, Affleck, Stellan Skarsgård and Minnie Driver. The film tells the story of janitor Will Hunting, whose mathematical genius is discovered by a professor at MIT. was an 'okay' movie. It was trying to be a sentimental, emotional one. But there were lots of loop holes. Well movies as such have lots, but this was a little extra special in terms of mathematical genius janitor who is an Autodidacticism Autodidacticism (also autodidactism) or self-education (also self-learning, self-study and self-teaching) is the practice of education without the guidance of schoolmasters (i.e., teachers, professors, institutions). and considers himself correct all the times. Robin Williams Robin McLaurin Williams (July 21, 1951 – August 11, 2014) was an American actor and comedian known for his improvisational skills and the wide variety of characters he created on the spur of the moment and portrayed on film, in dramas and comedies alike, Williams is regarded as one of the greatest comedians of all time. He received numerous accolades including an Academy Award, two Primetime Emmy Awards, six Golden Globe Awards, five Grammy Awards, and two Screen Actors Guild Awards. Williams was awarded the Cecil B. DeMille Award in 2005. plays the psychologist part and tries to help him find his way. Which you can expect in a movie, would be to get back to his heroine with whom he had a break-up. Thats following his heart.

I liked the slangs used, the boston country side and bars potrayed and the joke the heroine shares in bar with friends. :-)


Hahaha. :) Good that you added "jokes" at the end.! :)

Senthil


You've never had a blow job? Try it. If the girl is enthusiastic, it is the awesomest thing in the whole wide world. Screw urllib, get BJ FTW!

Anonymous


news flash! senthil likes b10w job jokes!!

Anonymous

J.K. Rowling on failure, imagination and life

A very good speech given by J.K. Rowling to the students of Harvard. This reminds of the famous Steve Jobs speech too. But there is something observable in J.K.Rowling's concluding part. It is same that Harry says to Hermoine in the "Order of the Phoenix" as the answer to the question, "What do we have that the dark lord voldemort does not and envies?"

How identation works for Python programs?

It is well explained in this article.

It is the lexical analyzer that takes care of the indentation and not the python parser. Lexical analyzer maintains a stack for the indentation. 1) First for no indentation, it would stored 0 in the stack [0] 2) Next when any Indentation occurs, it denotes it by token INDENT and pushes the indent value to the stack[0]. Think of it as a beinging { brace in the C program. And if we visualized, the can be only one INDENT statement per line. 4) When de-indent occurs in a line, as many values are popped out of the stack as the new reduced indentation till the value on the top of the stack is equal to new indentation (if not equal, error) and for each value popped out a DEDENT token in written. (Like multiple end }} in C)

A simple code like this

if x:
    if true:
        print 'yes'
print 'end'

Would be written as:

<if><x><:> # Stack[0] <INDENT><if><true><:> # Stack [0,4] <INDENT><print><'><yes><'> # Stack [0,4,8] <DEDENT><DEDENT><print><'><end><'> #Stack[0]

The parser would just consider the as as { of the block and as } of the block would be able to parse it as logical blocks.

That was a well written article again.

Maharishi Mahesh Yogi died last week.

Maharishi_Mahesh_Yogi Maharishi Mahesh Yogi (born Mahesh Prasad Varma, 12 January 191? – 5 February 2008) was the creator of Transcendental Meditation (TM) and leader of the worldwide organization that has been characterized in multiple ways, including as a new religious movement and as non-religious. He became known as Maharishi (meaning "great seer") and Yogi as an adult. was the guru of Transcendental Meditation technique. There are many different meditation techniques in the world. Meditation is a concept for your thoughts, which is similar physical exercise is for body.

Transcendental Meditation is one of them and Maharishi Mahesh Yogi pioneered it. I learned it when I was in 10th standard, 16 years old and practiced it till my first year at job when I was in tech-support department at Dell, 23 years old. I feel, I had started meditation, because I wanted to improve my marks and achieve big things :-) and pursued it for 7 years intermittently, constantly getting confused with many things, without achieving the purpose of marks and big things. During this time, the Meditation activity also took me into religion and other spiritual activities in the related sphere and I got easily influenced by them also. My interests included, Sri Ramakrishna Mutt, Swami Vivekananda, Osho, temples and various different philosophical reading.

It was when doing night-shifts at work that I did not get time for these and because during the day time with whatever time I got, I wanted to study and prepare for a move to software development that my interests in meditation started to fade away. I think, being in Bangalore than in Madurai (where you have lot of temples and average interest in spiritual things is very high) and away from some friends who had shared my previous interests also led to this change. I was also disgusted with wrong paths which people might follow, if they just pray to god and not do the required work in trying to achieve what they wanted. So many nearby examples and sometimes myself included were in my mind. So, I simply kind of gave it up.

Our interests change at different points in time. Right now, I do physical exercises everyday, enjoy it without any aim for marks or achieving big things.

When thinking about the subject of meditation sometimes, I feel that it can be equated to exercises for your thoughts and it should not be a heavy subject however and should definitely not be linked with many things.

There are lots of article on Mahesh Yogi, Beatles involvement and Mahesh Yogi's achievements in field of meditation under the entertainment section of the news today.

Remembering Mahatma

Mahatma Gandhi

Whether we follow or not, Mahatma Gandhi's philosophy is as relevant today as it was 60 years ago.

I went to a hotel called Rasam at Chennai along with my cousin. It was a Kongunadu style,the karaikudi area in Tamil Nadu and it had a display of historic newspaper clippings. One newspaper clipping was on Indian Independence and titles ran large with details and the photos of the ministers sworn in.

There was a small column however there that Mahatma Gandhi was in a village where in he was helping the riot affected people and he observed Independence Day by fasting, spinning, prayer. This is truly inspirational of a great leader.Dr. Kalaam also mentions about this incident in his books.

Quote of the day:

"Whatever we do might be insignificant, but it is very important that we do it" - Gandhi Mohandas Karamchand Gandhi (2 October 1869 – 30 January 1948) was an Indian lawyer, anti-colonial nationalist, and political ethicist who employed nonviolent resistance to lead the successful campaign for India's independence from British rule. He inspired movements for civil rights and freedom across the world. The honorific Mahātmā (from Sanskrit, meaning great-souled, or venerable), first applied to him in South Africa in 1914, is now used throughout the world.