Yahoo open shortcuts

This is a superb gift from Yahoo for the new year. This allows you to use the Yahoo search box like a command line via Yahoo Open Shortcuts. Although this is quite similar to the Yubnub tool, I found this very interesting.

In fact, with a small tweak, you can use this from the Firefox address bar.

Here's how you do it:

1. Create a bookmark (Bookmarks->Manage Bookmarks… and then New Bookmark…) with the following entries:

Name: Yahoo
Location: http://search.yahoo.com/search?p=%s&ei=UTF-8&fr=sfp&fl=0&x=wrt
Keyword: yahoo

2. Now enter the following in your search bar:

yahoo !set ljupdate http://www.livejournal.com/update.bml

and press enter.

3. You should get the following message:

Open Shortcuts allows you to use custom keywords to directly search or jumpstart a task on any site from the convenience of a Yahoo! Search box. Please confirm that you would like to add the following Open Shortcut:

* !ljupdate http://www.livejournal.com/update.bml

Press “OK”.

4. Next time you want to update your lj, you just enter:

yahoo !ljupdate

and voila!

This is a simple example I have given. You can try out many things similar to this.

For example, I have created shortcuts to open my bookmark archive, search it. In fact, Yahoo has provided shortcuts to open a particular wikipedia article, compose a mail using Yahoo mail etc.

Some problems though:

* It does not work in AJAXian interfaces or even with POST URL's.
* You cannot have atmost one parameter defined.

Anyways, save time in the new year. 🙂

2005: Well done 2006: Looking forward – A recollection of the achievements in 2005

I am impressed. I should say I have done a good job in 2005.

* To begin with, it was the 7th semester projects and the exams.
* Then started my second tenure in IBM.
* In between was “Technologix 2005”.
* Then came the 8th semester exams.
* The idea of Ananyeah that kept us busy all day.
* An offer from a startup.
* Finally, squeezing myself into IBM and the getting into action immediately.
* And finally getting into a really good project and exponentially increasing my knowledge and experience (including attending seminars and trainings), having fun and also completing a certification.

I am satisfied!!!

Predictions 2006

So what if the predictions don't come true? Afterall, which astrologer has made cent per cent accurate predictions? Here's my attempt at it. These are predictions about companies and technologies in the year 2006.

STATUTORY WARNING: THE VIEWS MENTIONED HERE ARE SOLELY FOR FUN AND NOT TO BE TAKEN SERIOUSLY.

1. Google will get into serious trouble in the middle of the year, which may be a set-back for one or more of their web initiatives. The entire world has its fingers crossed. In a serious turn of events, however, Google emerges the winner with minor bruises.

2. Microsoft makes yet another attempt at thrashing open source. This could be either in the browser industry or with support for open source.

3. Microsoft releases the much awaited Vista. However certain features are not made available saying they are being finalized. It gets decent response.

4. Some major fight occurs in the open source community. This might result in one famous person losing his respect.

5. Yahoo launches 2 very powerful web applications. The response is really enormous initially, but the effect dies down soon for one of the applications. The effect of the other continues for some time.

6. RSS sees a major revolution in some form. It provides special support for blogs, bookmarks and becomes bi-directional.

7. Tagging sees a major revolution. It becomes more organized but maintains its simplicity. It is provided special support from one of the biggies.

8. Semantic web as usual is not able to make a major impact as 'the' technology, but sees application in some new industry verticals and silently continues its influence.

9. IBM, with the release of Workplace makes a major breakthrough in the collaboration space.

10. Apple releases yet another music device with advanced capabilities. The response is superb.

11. And last but not the least, there is some company other than the biggies that will thrive. There is a fight among 2 majors to acquire that company.

Wanna have fun? Make predictions.

Bulls and cows – computer simulation results

Context:
My experiments with Javascript – The Bulls and Cows Game
The bulls and cows game

I started off writing the Bulls and Cows game just to pass time when I am bored, but soon it turned out to be an interesting mathematical problem. Also thanks to for the interest shown.

I continued my experiments yesterday. I started off by writing a small function that analyzes the already entered numbers and gives the list of possible numbers that can match all the criteria (in the previously entered numbers) and be a possible solution. This was supposed to be a hint to the user.

I saw that the list of possible solutions diminishes as the user enters more and more numbers (this is quite obvious, but I want to make it clear). In order to assist the user to select the next number, I created a weighted system (explained later) that gives the user the most probable solution.

This finally led to the simulation of an environment, where player 'A' thinks of a number and player 'B' tries to guess it, both player 'A' and 'B' being computer controlled. (Computers are so dumb that a single program can contain both player 'A' and 'B' without them knowing about each other 🙂 )

I ran the simulation for each and every possible number (1 to 9999) and guess what? With some tweaks, the computer is able to find the solution in an average of 6 steps. The maximum steps it requires is 10.

Here is a graph showing the result:


bullsncowsstats

The algorithm that I wrote is as follows:
1. Player 'A' thinks of a number.
2. Player 'B' starts of with number 1234 as the first try and player 'A' responds with the number of bulls and cows in the number. (I haven't tried other numbers, but I guess it will give similar results)
3. Player 'B' tries to find out the set of solutions that can match each of the previous steps.
4. 'B' then finds out how many times each digit occurs in the list of possible solutions. These form the weights of the digits.
5. Using this, 'B' computes a weight for each possible solution as folows:
If 'abcd' is a possible solution and the digits 'a','b','c','d' have weights 'p','q','r','s' respectively, then weight of 'abcd' is 'p'+'q'+'r'+'s', such that 'a','b','c','d' are distinct. If they are not distinct, then each digit is considered only once to compute the weight -> (This is the tweak I had to apply).
6. 'B' then finds the number with the highest weight and uses this as the next step.
7. Repeat Steps 3 – 6 until you get the solution.

I ran this simulation for all the numbers from 1 – 9999 and got the following results:
Algorithm 1 result sheet.
It took me about 20 minutes to run the simulation in my system (an average of about 10 games per second).

I am not sure if this is the best solution, but there are learnings from this:
* It is possible for a computer to find out a solution in an average of 6 steps or less.
* The maximum number of steps required to arrive at a solution is 10 or less.

Please note that the algorithm was not tested (i.e. I am not sure if it works exactly as I have mentioned it here), but the answers it provides and the steps have been authenticated.

Is there any better solution?

I am now an IBM certified XML Solution developer

I took up a certification Test 141: XML and Related Technologies and came out with flying colors. I am now an IBM certified Solution Developer for XML and related technologies (this is an intermediate level certification).

With regard to my prior experience:
I have worked extensively in XML, XPath and XSLT and have about a year's experience in these technologies. I am also aware of other XML technologies.

The motive behind taking up this certification:
I wanted to! This is my first certification and I thought this would be the perfect one to start off with.

Preparation:
Don't even ask! The last week office work was very hectic and I could not find enough time to prepare for the certification test. I went through the following (in part) in the last week:
* W3 specifications for XML and XML Namespaces.
* Professional XML 2nd edition (some chapters).
* A lot of online references.
* Some sample tests from whizlabs, IBM learning and javaranch.

Score:
76.4% (Passing score is 57%).

Results by section:

Section # Questions # Correct
1. Architecture 10 8
2. Information Modeling 15 11
3. XML Processing 18 13
4. XML Rendering 6 4
5. Testing and Tuning 6 6

Suggestions to other candidates:
There are both scenario based questions and questions which ask you about constructs. You need to specially concentrate on XML Schema, DTD, XSLT, XPath, DOM and SAX in addition to XML and XML Namespaces. The others are less important and hardly constitute 10% of the questions. You need to concentrate on the following:
* Difference between parallel technologies – XML Schema and DTD, XSL-FO and CSS, DOM and SAX.
* The BNF of DTD, XML Schema and XML Namespaces would help.
* The interfaces in DOM and SAX.
* XPath (concentrate on working of axes) and XSLT (concentrate on use with other technologies like CSS, XML, XHTML, XSL-FO and scenario based questions).

A successful experiment!

100+ hits in 24 hours!

I should consider my experiments as successful.

I have made minor modifications to the the appearance and usability of the page.

Here's the link: Bulls and Cows game.

My experiments with Javascript – The Bulls and Cows Game

I managed to get a Javascript game called “Bulls and Cows” up and running:

Here's the link.

The rules for playing the game are given in the same link. Enjoy!