The bigger picture WAR FOR BROWSER

Posted by RISHABH SHUKLA | 6:59 AM

Microsoft doesn't mess with standards for nothing. Microsoft's interests go way beyond controlling the application market.
A good example is the "Browser War". Microsoft ignored the Internet completely until Netscape made sudden and huge profits, whereupon Microsoft decided they wanted that market share for themselves. Being the biggest fish in the pond, they just took what they wanted, by bundling their own Internet Explorer with Windows. This killed off the innovative Netscape in short order. A takeover by AOL didn't save Netscape, and in 2003 Microsoft bought off the whole conflict for a mere $750 million; big money to most of us but chump change for Microsoft. Less than a week later Microsoft announced the discontinuation of IE for the Mac.

This browser war was not just a battle between two competing application developers (Microsoft vs. Netscape) for the biggest market share. It went much further than that: it was a conflict between two philosophies, between vendor-dependence and vendor-independence. On one side we had Microsoft, pushing a product that was (and is) tightly bound to the Windows platform, and on the other side there was Netscape, promoting a product that was (and is) available for many different environments. Microsoft intended (and largely succeeded) by adding MS-specific features to Internet Explorer, Java, scripting and HTML, to commit the Internet community to the Windows platform. They've also used product bundling and other doubtful and illegal methods, and finally succeeded in forcing Netscape out of the browser market. As a result, more and more Internet services now expect the user to run IE and Windows on their Internet client systems. If you access E-commerce websites based on Microsoft IIS and backend products with anything else but Internet Explorer, you can expect rendering and scripting problems.

This has led to an interesting side effect: intimidated by the many browser dependencies in Microsoft-related web page code, web designers have taken to displaying an error message instead of a web site whenever their products are accessed with anything but Internet Explorer. Competing browser manufacturers soon reacted to that with masquerading: browsers like Opera just tell the server that they're another Internet Explorer. Of course this has boosted the statistics to the point where 95% of the world is said to use IE, which is exactly what Microsoft wants everyone to hear. More advanced browser detection however shows that the real figure is closer to 60%.

It's also interesting to note that the User Interface in Windows XP is based on a mix of XML and proprietary HTML-derivatives, that can be understood only by portions of Microsoft's own Internet Explorer application code.

True Meaning of love..

Posted by ~AKRATI~ | 9:28 AM

“the essential sadness is to go through life without loving. But it is almost equally sad to leave this world without ever telling those you love that you do”- Sigmund freud

With valentine day around the week…”the for letter word “LOVE” has become much talked about topic. You can smell its essence in all spheres. But have you ever thought what love is technically???

LOVE is inspiration…the word inspire comes from the latin word inspirare which means ‘to breathe upon or into’. when we inspires others we’re living from our higher selves.when we’re being inspired we expand beyond what previously were, or know our selves to be. our loves have a new breathe. Our soul and action are one.

LOVE is dedication..when you love someone you are dedicated to that person both from mind and from our soul. Consciously or unconsciously you never hurt that person.

LOVE is sharing… in true love you actually give a part of your soul to the person you love and in return you are blessed theirs.

LOVE is truth… when you love someone you are true to them both in action and in words. Nothing that you do or say is in confliction from the truth.

LOVE is devotion… no matter how busy you are, you still find time for your beloved, that’s the beauty of true love.

LOVE is acceptance…when you love some one you accept that person the way he/she is. You don’t ask that person to change because when you are in love with someone, you are in love with his/her soul.

LOVE is real… love is not virtual, in romantic love you want the other person, in true love you want the other person’s good.

LOVE is the only thing that makes us HUMAN… a heart without love is like an orchard without fruits.

So this valentine day, dare and tell that someone special, how much you care, coz true love is very rare.

Happy valentine day friends! I will be back with more technical topics after the 14th. Till then get drooped into the spirit of love.

Dedicated to all those people who die.

Dedicated to all who save them and died.

Dedicated to all who not died yet.

A poem from

An addiction of writing

An obsession for an end


I wasn’t born in Africa,

Yet I know it more,

I don’t know any black,

Black and bright stripes,

It is not an old one,

Its new to man & more.

Blood find ways to come out.

Blood likes to shatter more.

Blood More it causes violence.

Blood shines you live it more.

Blood love to smuggle out and flow.

Children men and women are down,

Burning forests land & huts out of sight,

Curses flow like a venomous arrow,

Black man had guns,

In there hand with roses,

Stop it stop it,

It’s insane they won’t say,

See me more,

Or see no more ,more than a remorse.

Lives dangerous you’ll find it there,

Curses can be control,

If they fired on the sight,

The shona who was dark,

The white man of Africa on the shore.

Militants kill them kill them all,

In search of precious,

Precious that was more than coal,

Children holding guns,

Or guns holding children,

Killing with brutality his own mom.

The hand crafted for holding chalk and board,

Firing shots with their heavy loads.

It’s not the feeling that they have,

Men kill men, man wanna more,

Guns are not roses they are beauty,

Cruelty isn’t bad for man,

As it is his duty.

Why men can’t find the god,

Why man was mortal,

Devils are not left alone,

Man wasn’t from fraternity of assignation,

It was more beautiful as rose,

Rose won’t be a gun,

But gun always there with roses.

God left this place long time ago,

We have wisdom,

Not the fear of night,

We have wisdom,

But the fear is right.

KIT...the rising sun?...

Posted by ~AKRATI~ | 10:38 PM

As kanpur institute of technology completes its 5yrs in the field of imparting technical education,its time that we kitians start working towards proving our mettle, not only in the field of academics but also in other fields. We need to realize that we are the future of this country, the future of our INDIA… and if we work towards excellence we will surely conquer the impossible…..

Rather than lamenting on what destiny has for is our work to build our own fate… just remember ”newton’s third law of motion”….if we work hard we shall achieve the desired..each one of us has the power within us…all we have to do is discover it and reap it.. so let us all resolve to make a better life…a better community and an even better KIT… coz luv it or hate it…KIT is the rising sun for all of us who have, and will graduate from here..

Interested in robotics ???..

Posted by ~AKRATI~ | 10:25 PM

• Actuators / output devices: 2 geared motors
• CPU: Picaxe
• Power source: 4 AA batteries
• Programming language: Picaxe basic
• Sensors / input devices: Sharp IR
• Target environment: indoor


1 PICAXE-28X1 Starter Pack
The 28 pin project board in this package is like a game of Mario Bros; Fun and full of extras and hidden features, making you want to play over and again. This includes the main brain, the PICAXE-28X1.

This is a little expansive, but it is only the first time I recommend you to get this, it includes a lot of nice basic stuff, you get a CD-ROM with lots of manuals, cables, a board, the Microprocessor etc. Actually it is EXTREMELY cheap. Similar packages cost up to 10 times this price!

Be sure to get the USB-version, images in the shops may not match, and show a serial-cable when you are ordering a USB. When buying the USB-version, it is not necessary to get the USB-cable as an extra item, even though it is also sold separately.

1 L293D Motor Driver

The name says it all, more about this chip later :)

1 PICAXE Servo Upgrade Pack
-An easy way to get a servo topped with some small parts needed for this project.

You can also get any standard servo, the pins shown on the image, and a single 330 Ohm resistor instead of the yellow chip, if you should wish.

1 Sharp GP2D120 IR Sensor - 11.5" / Analogue
11.5" or another range will do. Only do not buy the "ÃÂDigital version" of the Sharp sensors for this kind of project, they do not measure distance as the analogue ones does.

2 Gear Motors with wheels
The higher the ratio, the stronger robot, the lower, the faster robot. I recommend ratio somewhere between 120:1 to 210:1 for this kind of project. The reason the robot on the video is so slow, is that is has a high ratio. Slower is easier or beginners, as it it easier to understand and follow what happens.
You will also need:
• Double sided adhesive tape (for mounting, the foamy sort is best)
• Some wire
• Ordinary adhesive tape (to isolate a cable perhaps)
• Simple soldering equipment (Any cheap kit will do fine)
• An ordinary small nipper or scissor to cut things
• A screwdriver
• First mount the wheels to your geared motors. And add tires (rubber bands in this case).
• An easy way to mount stuff for fast (and amazingly solid and lasting) robots is double adhesive tape.
• Insert the batteries, so you have a realistic idea of weight and balance. Add some double adhesive tape to the button of the server as well..
• Chose your own design, you can also add extra materials if my “design” is too simple.

Main thing is that we have it all glued together: Batteries, Servo and wheels. And wheels and servo can turn freely, and it can stand on it´s wheels somehow, balancing or not
Notice that the PROJECT DRIVER has a chip in it. Take it out. The chip is a Darlington-driver that is quite handy placed there on the board, but we will not need it for this project, and we need it´s space, so away with that chip!

It is easiest to get chips out of the socket by inserting a normal flat screwdriver just below it, move it ind, and tip up the chip carefully..
A chip fresh, brand new chip usually do not fit into a socket right away. You will have to press it sideways down on a table, to bend all the legs in an angle so it will fit. (Legs go down, into the sockets).
Make sure all the legs are in the sockets.

If you bought the Servo upgrade from Picaxe, you have a yellow chip. Put it in place of the Darlington.

Note that not all holes in the project board are filled out with the yellow chip. We only need the eight to the right in the picture, as this is just simple resistors, we do not need to feed them extra.

This yellow chip is actually just 8 * 330 Ohm's resistors in a neat package. And so, if you should have a resistor, you can just insert it instead in slot numbered “0”, as this is the only one we will use, when we only use one servo
Also insert the large chip, the brains, the microcontroller, the Picaxe 28(version number) into the project board.

Important to turn this the right way. Note that there is a little mark in one end, and so on the board. These must go together.

This chip will get power from the board via 2 of it´s legs.

All the remaining 26 legs are connected around on the board, and they will be programmable for you, so you can send current in and out to detect things and control things with the programs you upload into this microcontroller
Now insert the L293D motor-controller.

This will take 4 of the outputs from the microcontroller, and turn them into 2. Sounds silly? Well.. Any ordinary output from the microcontroller can only be “on” or “off”. So just using these would (example) only make your robot able to drive forward or stop. Not reverse! That may come in unhandy when facing a wall.

On the backside of the board you may find some strange plastic. This has no use, it is just a leftover from manufacturing. (They “dip” the board in warm tin, and parts they do not want so get tinned is sealed with this stuff) Just peal it off when you need the holes they seal.
Take 4 pieces of wire, and solder them to the 4 “A & B” - holes. (or use some other means of connecting 4 cables to the standard sized holes, one can buy all sorts of standard sockets and pins etc)

Now let´s hook up the servo.

If you should read the Picaxe documentation, you will read that you should use 2 different power-sources if you add servos. To put it short; We don´t mind here, this is a simple robot, and to my experience this works just fine.

Yo will need so solder an extra pin to output “0”, if you want to use the standard servo connection. Such a pin comes with the Picaxe upgrade pack (a whole row, actually), but you only need one for one servo, and they can be bought in any electronics store.

If your servos cable is (Black, Red, White) or (Black, Red, Yellow), the Black should be to the edge of the board. Mine was (Brown, Red, Orange), and so the brown goes to the edge.

The hint is usually the Red; It is what is referred to as V, or any of these, used in random: (“V”, “V+”, “+”, “1”). This is where current comes from
The black (or brown in my case) is G, or (“G”, “0” or “-”). This is also known as “Ground”, and is where current goes to. (the 2 poles, remember your physics-lessons?)
The last color is then “the signal” (White, Yellow or Orange)
A servo needs both "+ & -" or "V & G", and a signal.
Some other devices may only need "Ground" and "Signal" (G & V), and some may both need V, G, Input and output. Can be confusing in the beginning, and everything is allways named different (like I just did here), but after a while you will get the logic, and it is actually extremely simple - Even I get it now ;)
Now let´s hook up “the head”, the Sharp IR-sensor.
There are a million ways to do this, but here are clues:

Red needs to be connected to V1, that is (in this setup) anything marked “V”, or is connected to this.

Black goes to G, anywhere on the board.

White is to be connected to Analogue input 1.

If you read the documentation that comes with the project-board, you can read how to attach the accompanying ribbon-cable, and use this.
WHAT I HAVE DONE IS is to cut off a cable from an old burned out servo, soldered in a pin, and connected the whole thing just as a servo. You can use it to see which colors of the Sharp goes to which row on the board.

Weather you use the ribbons or “my method” of connecting the Sharp IR, you should also connect the 3 remaining analogue input to V. I had some jumpers laying, and you can see that all 3 connections left are short cut. (The last pair, not touched, are just two “Ground”, no need to short cut these). If you use the ribbon, you can just connect the inputs to V (or ground for that matter) by connecting the wires in pairs.

The reason it is important to shortcut the unused analogue inputs here is that the are “left floating”. This means that you will get all sorts of weird readings where you try to read if these are not connected. (to put it short, this is a fast paced walkthrough ;)
Somehow you should get the Red wire from your batteries (+) hooked up to the red wire on the project board (V). And the black (-) to (G). How you do this depends on your equipment. If there is a battery-clip on both batteries and board you should still make sure that the "+" from the batteries ends up to the "V" on the board. Sometimes (though not often) the clips can be reversed to each other, and just putting two matching clips together is no guarantee that + gets to V and - gets to G! Make sure, or you will se melting things and smoke! Do not feed the board with more than 6V (no 9V batteries, even though the clip fits)
Install the Picaxe Programming Editor on a PC, follow the manuals to get your Jack / USB / Serial hooked up, Insert the batteries in your (still headless) robot, insert the jack stick in your robot.. enter the programming editor, and write

servo 0, 150

press F5, wait for the program to transfer, and your servo gives a little yank (or spins, depending on which way it was).

If something goes wrong here, contact me, or mess with the manuals and ports etc, until no errors are reported, and all seems to work,

To test, try to write

servo 0, 200

and press F5

The servos disc should spin a little and stop. To get back, write:

servo 0, 150

and press F5

Now your robot's “neck” is facing forward.

Stick on the “head” - the Sharp IR

Hello world, I am a robot, ready to take your commands and explore the world :)

Enter (copy-paste) this code into your editor, and press F5 while the robot is connected:



readadc 1, b1 ' takes the voltage returned to analogue pin 1, and puts it into variable b1
debug ' this draws out all variables to the editor.
goto main

Now take your hand in front of the robot´s head and notice how the variable b1 changes value. You can use the knowledge gained to decide what should happen when (how close things should get before..)

Now I advise you to put your robot up on a matchbox or similar, as the wheels will start turning.

Enter (copy-paste) this code into your editor, and press F5 while the robot is connected:


high 4

low 5


One of the wheels should turn in one direction. Does your wheels turn forward? If so, this is the instruction for that wheel to turn forward.

If the wheel is turning backwards, you can try this:


low 4

high 5


To turn the other wheel, you need to enter

high 6

low 7

(or the other way around for opposite direction.)

The servo you have already tried.

All the way to one side is:

servo 0, 75

the other side is:

servo 1, 225

- and center:

servo 1, 150

Here is a small program that will (should, if all is well, and you insert the right parameters for high/low to suit your wiring to the motors) make the robot drive around, stop in front of things, look to each side to decide which is the best, turn that way, and drive towards new adventures.


Symbol dangerlevel = 70 ' how far away should thing be, before we react?
symbol turn = 300 ' this sets how much should be turned
symbol servo_turn = 700 ' This sets for how long time we should wait for the servo to turn (depending on it´s speed) before we measure distance

main: ' the main loop
readadc 1, b1 ' read how much distance ahead
if b1 < dangerlevel then
gosub nodanger ' if nothing ahead, drive forward
gosub whichway ' if obstacle ahead then decide which way is better
end if
goto main ' this ends the loop, the rest are only sub-routines

nodanger:' this should be your combination to make the robot drive forward, these you most likely need to adjust to fit the way you have wired your robots motors
high 5 : high 6 : low 4 : low 7

gosub totalhalt ' first stop!

'Look one way:
gosub lturn ' look to one side
pause servo_turn ' wait for the servo to be finished turning
readadc 1, b1
gosub totalhalt

'Look the other way:
gosub rturn ' look to another side
pause servo_turn ' wait for the servo to be finished turning
readadc 1, b2
gosub totalhalt

' Decide which is the better way:
if b1gosub body_lturn
gosub body_rturn
end if

high 6 : low 5 : low 7 : high 4 ' this should be your combination that turns the robot one way
pause turn : gosub totalhalt

high 5 : low 6 : low 4 : high 7 ' this should be your combination that turns the robot the other way
pause turn : gosub totalhalt

servo 0, 100 ' look to one side

servo 0, 200 ' look to the other side

low 4 : low 5 : low 6 : low 7 ' low on all 4 halts the robot!
Servo 0,150 ' face forward
wait 1 ' freeze all for one second

With some clever programming and tweaking, you can make the robot drive, turn it´s head, make decisions, make small adjustments, turn towards “interesting holes” such as doorways, all working at the same time, while driving. It looks pretty cool if you make the robot spin while the head is turning ;)
Look in part II for code on this.

You can also add a small speaker to example pin 1 & ground, and write

Sound 1, (100, 5)

- or within the example program above make it

Sound 1, (b1,5)

– to get funny sounds depending on the distance to objects ahead.

You could also attach a lamp or LED to pin 2 & ground, and write (remember LED´s need to turn the right way around)

High 2
to turn on the lamp, and

Low 2
to turn it off ;)