March 26, 2003
Times UK: The Victor of War Is Government
If news is the first casualty of war, the first victor is government. It is ironic that every war fought by Britain in the past century, justly in the cause of freedom, has led directly to a curtailment of freedom in favour of state control. The history of war runs in tandem with that of higher taxes, greater regulation and more government.

... an excellent op-ed piece from day 1 of the war outlining the UK history of income tax (invented to pay for hostilities against Napoleon), growth in officialdom ("The first surge in officialdom occurred in the Great War. By the time of the Second World War there were roughly 200,000 civil servants. Fifteen years after it had ended there were 375,000 and rising"), and regressive homeland security legislation ("After an IRA attack in 1974, the supposedly liberal Roy Jenkins introduced the Prevention of Terrorism Act, pledging in public that it was a “strictly temporary measure”. It gave the police extensive discretion to spy on, intern and deport citizens without trial. It has never been repealed").

Posted by Darren Wershler-Henry at March 26, 2003 09:59 AM
Comments

Let's see an example by converting our favoriteNumber variable from a stack variable to a heap variable. The first thing we'll do is find the project we've been working on and open it up in Project Builder. In the file, we'll start right at the top and work our way down. Under the line:

Posted by: Chroferus on January 18, 2004 08:53 PM

The Stack is just what it sounds like: a tower of things that starts at the bottom and builds upward as it goes. In our case, the things in the stack are called "Stack Frames" or just "frames". We start with one stack frame at the very bottom, and we build up from there.

Posted by: Hector on January 18, 2004 08:54 PM

Our 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: Hansse on January 18, 2004 08:55 PM

When 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: Timothy on January 18, 2004 08:55 PM

We can see an example of this in our code we've written so far. In each function's block, we declare variables that hold our data. When each function ends, the variables within are disposed of, and the space they were using is given back to the computer to use. The variables live in the blocks of conditionals and loops we write, but they don't cascade into functions we call, because those aren't sub-blocks, but different sections of code entirely. Every variable we've written has a well-defined lifetime of one function.

Posted by: Constance on January 18, 2004 08:56 PM
-->