Widespread Use of Cluster Bombs Sparks Outrage

A donkey lies dead near shrapnel-riddled bus in Hilla. Forty-eight civilians were killed by cluster bombs during a coalition air raid in the southern province of Babylon. (AFP/Karim Sahib)
The danger posed by the use of these weapons, designed to destroy concentrations of armour and infantry by scattering small bomblets over a wide area, was shown during the Nato bombing campaign in Kosovo in 1999 and again last year in Afghanistan.
"We are appalled, in the context of a conflict where we have been assured that civilian casualties will be minimized. It is very hard to use these weapons knowing exactly who you are going to target," said Richard Lloyd, director of Landmine Action.
The weapons are dropped or fired in such large quantities at any one time that, with a failure rate as high as one in 10, an attack leaves hundreds of unexploded bomblets scattered around a target site, creating a de facto minefield.
Posted by Brian Stefans at April 08, 2003 12:25 PM | TrackBackyes
Posted by: Mike on November 29, 2003 07:41 AMOur next line looks familiar, except it starts with an asterisk. Again, we're using the star operator, and noting that this variable we're working with is a pointer. If we didn't, the computer would try to put the results of the right hand side of this statement (which evaluates to 6) into the pointer, overriding the value we need in the pointer, which is an address. This way, the computer knows to put the data not in the pointer, but into the place the pointer points to, which is in the Heap. So after this line, our int is living happily in the Heap, storing a value of 6, and our pointer tells us where that data is living.
Posted by: Gregory on January 19, 2004 12:28 AMFor this program, it was a bit of overkill. It's a lot of overkill, actually. There's usually no need to store integers in the Heap, unless you're making a whole lot of them. But even in this simpler form, it gives us a little bit more flexibility than we had before, in that we can create and destroy variables as we need, without having to worry about the Stack. It also demonstrates a new variable type, the pointer, which you will use extensively throughout your programming. And it is a pattern that is ubiquitous in Cocoa, so it is a pattern you will need to understand, even though Cocoa makes it much more transparent than it is here.
Posted by: Robert on January 19, 2004 12:28 AMThis variable is then used in various lines of code, holding values given it by variable assignments along the way. In the course of its life, a variable can hold any number of variables and be used in any number of different ways. This flexibility is built on the precept we just learned: a variable is really just a block of bits, and those bits can hold whatever data the program needs to remember. They can hold enough data to remember an integer from as low as -2,147,483,647 up to 2,147,483,647 (one less than plus or minus 2^31). They can remember one character of writing. They can keep a decimal number with a huge amount of precision and a giant range. They can hold a time accurate to the second in a range of centuries. A few bits is not to be scoffed at.
Posted by: Emmett on January 19, 2004 12:29 AMWhen the machine compiles your code, however, it does a little bit of translation. At run time, the computer sees nothing but 1s and 0s, which is all the computer ever sees: a continuous string of binary numbers that it can interpret in various ways.
Posted by: Joseph on January 19, 2004 12:30 AMInside each stack frame is a slew of useful information. It tells the computer what code is currently executing, where to go next, where to go in the case a return statement is found, and a whole lot of other things that are incredible useful to the computer, but not very useful to you most of the time. One of the things that is useful to you is the part of the frame that keeps track of all the variables you're using. So the first place for a variable to live is on the Stack. This is a very nice place to live, in that all the creation and destruction of space is handled for you as Stack Frames are created and destroyed. You seldom have to worry about making space for the variables on the stack. The only problem is that the variables here only live as long as the stack frame does, which is to say the length of the function those variables are declared in. This is often a fine situation, but when you need to store information for longer than a single function, you are instantly out of luck.
Posted by: Richard on January 19, 2004 12:30 AM