Slashdot videos: Now with more Slashdot!
Quote: One young man angrily said to me: "You support us when the TV cameras and newspapers are here, to show the world you like us.
"When they have gone you change. You have changed Saddam for another kind of imperialism."
Perhaps because the picture they paint of the US and UK is almost exclusively one of the imperialist occupation forces not wanted by the people.
I've kept from discussing the war for a long time because I simply (unfortunately) don't have the time to follow it up. But this lack of journalistic integrity shown by most of the UK and US press is simply too ugly to stay silent on.
Last week it was Iraqi's in Jordan that wanted to go back to fight for Saddam - according to Jordian authorities some 5000 are estimated to have gone back to Iraq, and a Jordanian border guard was apparently visibily happy that he could tell western media that Iraqi's are a proud people that will fight for their homeland.
It was also citizens in Baghdad, chanting anti US slogans and telling how, while they're against Saddam (most of them anyway), they saw the US and UK as just as bad - or even worse. One of the sentiments expressed was that Saddam has been working with the UN for the last 12 years, and despite that the US and UK rewarded them with 12 years of sanctions bringing the country to it's knees and follow up with a war.
Today it is this article, in the conservative, often hawkish, Norwegian newspaper "Aftenposten". They were also my source of the article on the Iraqi's returning from Jordan.
For those that dont read Norwegian, here's a few selected quotes. The occasion was the Kuwaiti Red Crescent handing out food parcels in Safwan. Foreign journalists were brought in in order to show the world how grateful the Iraqis would be... The title of the article is "Iraqis need water, got food".
"They smile and wave, but the words they greet us with are expletives so fould that our interpreter would prefer not to translate it. And the picture of Saddam that greeted the entrance to the city is gone. It's not the citizens, but the Americans who removed it."
"We don't need this food. We have food at home. But we need water. We had water, in a 40km long pipeline from Kor Al-Zunker. But last Friday, when the Amnerican helicopters came, the pipeline was bombed. Our electricity supply and phone exchange too. Now we stand here without water, says 50 year old Mohammed Jasem"
"Everyone we talk to among them says the same: We need water, not food. They are also united in another question: Their condemnation of the war. Of Americans and Brits, of bombs, dismemberment and abuse.
- Many here don't like Saddam Hussein, and would love to get rid of him. But this war isn't the answer. We don't trust Americans. We rose up against Saddam last time, in 1991, but the Americans betrayed us, Mohammed says."
"- Why should 25 million people suffer just because they want to get rid of one person, Mohammed asks" [on the question of it isn't a good thing that US and UK are now trying to get rid of Saddam]
"The situation in Safwan is tense. People are afraid of Saddams agents, and they fear Brits and Americans.
- They don't let us get out of here. All roads out of this area is closed. We can't contact our relatives, says 19 year old Kassim.
- We aren't allowed to bury the fallen Iraqi soliders out on the hillside their, either. Now they're getting eaten by dogs.
They defend Saddam here in Safwan:
- He's at least an Arab, and Iraqi. This is our country, we don't want the Americans here, says the people around Kassim."
"People are also angry about the good distribution, that it happens this way , on the side of a dusty road.
- We have a community building here. Why can't they distribute the food there? Why do it in this unworthy way? We're an old civilization, a people with a rich culture. Now they are killing our brothers. The people who fight against the USA are brave and noble. If they'd had as good weapons and planes as the Americans, it wouldn't be foreigners who controlled us.
- We don't like Saddam, Mohammed continues, but we're Iraqis, we're Arabs. And in this region, are there anyone that likes their government at all, he asks rhetorically.
- But don't you want democracy?
- Democracy is created by the people, not by the Americans. Now they only give Saddam an opportunity to destroy the country. Everyone here is against the war.
- USA says this is a war against Saddam, not against the Iraqi people?
- Whatever, but it is the Iraqi people who gets bombed."
We did catch the speeches by Ken Livingston (mayor of London) and Rev. Jesse Jackson, though. Especially Jesse Jackson was incredible. I'm an atheist, so his more religious comments didn't exactly impress me much, but his drive and passion, and his ability to get the masses going was immense.
The latest figures from the police as I'm writing this indicate more than 750.000 demonstrators, some say up to 2 million. Regardless who you believe, it was the largest demonstration of any kind in UK history, dwarfing even the celebrations after the end of World War II apparently.
And it wasn't the only place in the UK where people demonstrated.
To put this in perspective: If you believe the police, almost 1.5% of the population of the UK was on the streets of London today, marking their disgust for Tony Blair and George Bush.
And Tony Blair dare to continue to fight for a war? How dare he argue for a war that the people who elected him, who he is supposed to serve, so strongly has shown they do not want?
It showns clearly that he needs a lesson in democracy.
When you can draw a crowd that large, and when you can draw loud cheers by calling for the overthrow of the government if he don't change his mind (as at least one speaker did), it is time for the government to think things over very carefully.
I've never demonstrated outside of a few May first demonstrations when I was younger, even when I was politically active for a few years. This drew me out. My fiancee has never demonstrated before. This drew her out. We saw thousands of pensioneers, kids, people of all races, people in expensive coats and suits and people in cheap clothes, people of all kinds. People you'd normally never see at a demonstration side by side Socialist Worker Party people and other "professional" radical demonstrators.
It's a serious wake up call when pensioners, students, working people go to the streets in such large numbers.
These are people that are hard to draw out. These are people that stay away from elections in droves because they don't see it as important. These are people who'd rather stay inside, in front of the TV than go out in the could February wheather.
Yet they came. And they chanted anti war slogans. And they carried slogans.
And Blair still ignore us. How dare he defy the will of the people he serve?
The goal is to be the first registrar targetted entirely at ordinary people as opposed to business customers. It's going to be a tough thing to do, since we're breaking new ground in marketing domains and e-mail forwarding.
Our previous project, Nameplanet, did prove though, that there's a market for "vanity addresses" or simpler addresses on the form "email@example.com" (in Nameplanet's case by registering lastnames on tons of TLDs, in Personal Names case all on ".name").
Anyway, it's been a though few months, and it will likely be lots of work ironing the kinds out of the system for a while...
Ok, so maybe I'll take a break from it for now, and try not to be a total geek today...
It's hard when you do software development for a living, and stick with it's because you think it's almost more fun than the stuff you do in your spare time
I DO actually have other interests as well. Maybe I'll post some of my poems one of these days (allthough then I'll probably scare the few of you actually reading this away with overly soppy and/or depressive stuff - I rarely write when I'm not in the process of falling in love with someone or insanely depressed, usually because of rejection(1)).
London can be such a depressing city. It's been raining on again off again all day, the traffic is horrible, the air disgusting... Been thinking off moving out of the city for a while, but will probably wait until next May when our lease expires.
Property prices here are just horrible now. I'm used to Norwegian levels, and thought that was ridiculous, but come on, 200.000 pounds is now the average cost of flats and houses sold in London...
It never seizes to amaze me how far up the prices can go here withouth a significant increase in building projects (except for Docklands, which seems to be mostly luxury complexes anyway, due to its proximity to the City).
Ah well, guess we'll get something slightly outside town.
(1) But don't feel sorry for me about the rejection bit, I'm engaged to a woman I met more than two years ago, so feel sorry about my lost career as a poet instead, as I'm now too happy about things to write anything truly good - my depressive poems were always my best
When a tree falls in the forest, and nobody is there to listen, does it make a sound? In the the pseudo-random or algorithmicly generated world, the answer should be no, because the tree doesn't fall. It only falls if someone is there, or when someone arrives and "observes" the past.
The point is this: If your world is generated algorithmically in a way that allow you to "visit" any point in space and time, then why waste computing power calculating something that isn't observed? If you need the information later (say your game has a "history book" somewhere, you can calculate it then).
Notice that "observed" here is a fairly wide term. Someone "observe" an event if they are directly affected by it, for instance because they're there, and watching, but they also observe it if they see the effects indirectly: They get the news relayed etc.
So events are only generated if observed. How do you determine if they would be observed?
Thats where viewpoints come in. You generate events based on viewpoints. Viewpoints are points in space and time. To generate events, you would take a set of viewpoints and move them through time, calculating changes in the world according to the algorithms you want to use, and use a rule set to emit events according to those changes.
A rule might say that a government change from democracy to military dictatorship happens only with the use of military power, so such a change will emit a set of events corresponding to a military takeover.
What about details?
In the real world, think about what you know, and how it corresponds to level of detail. You can likely see the room around you, and describe objects in it in detail, and conversations in it as well. You may hear noises from outside. You may see news on TV, or in a local newspaper. News about your local area may include details about the shop around the corner, but from other countries you only get events of importance or interest to a larger audience: Major political events, like an election, disasters and so on.
In other words, the level of detail drops of dramatically with distance, and this is important, since otherwise you'd be swamped.
Translated to a game, that would mean that you use the viewpoints not only to decide what parts of the world to actually calculate, but also what level of details the events should have. There's no reason to simulate the full level of details about a military coup on a planet lightyears away. It might be noted in the news, if the planet is important, or the coup bloody enough, but thats it.
But an attack on the planet the viewpoint is on would be noteworthy, and the event generator would need to expand, both by increasing the resolution of advances in time - smaller changes to the timeline must be done, and more events emitted -, but also by splitting events into stream of events, and handling deviations if someone interfere. It might include simulating troop movements, or introducing AIs to simulate individual objects, as well as generating more meaningful news.
A viewpoint can essentially be there for anything from passively observing the world, to an AI player, to a human player, or anything else that require information about the world at a time period at a given point in space.
Pseudo-random numbers are numbers that are being generated with some algorithm that makes it possible to repeat the sequence if you seed the generation algorithm with the same value as you used initially, but that still seem to be random in that it is incredibly hard to predict the sequence without knowing the algorithm, and that have statistical properties that closely mirror random numbers.
Elite is almost entirely based around pseudo random numbers: The universes are generated by seeding a random number generator with a fixed value. The planet names, political and economical data are generated by seeding the random number generator with a seed extracted from the random number generator with the universe seed.
Change the universe seed, and the game changes, completely.
Thats what allowed the original Elite to run on machines like the C64, the BBC, and a ton of others - contrary to many modern games, they didn't have to store ANY data about the planets, only a few bytes for the universe seed and a small set of functions to generate the code.
More modern examples of pseudo random numbers in computer games is Civilization and all it's descendants, Sim City and it's descendants and many other map based games.
However randomness could be used so much further. Games like civilization only create a basis for the further game, then AIs take over. Elite conceptually went much further, by basing the entire structure of the universe, including it's civilizations, on randomness, allthough it manifested itself in the game rather crudely (it didn't really affect you that the planet you visited was inhabited by green felines)
The main appeal of pseudo random numbers, or for that matter any formula or algorithm that can reasonably quickly generate unpredictable but repeatable sequences is that it allows you to represent a much larger world than you could ever hope to design or store on the users system. It also allow you represent a world with much larger amount of detail than would otherwise be practical.
It's worth noting that pseudo random numbers is usually only used to seed specialized generation algorithms for generating various part of the world.
For a world that is so large and complex, it makes sense that you don't need to model all events via AI's either. Most complex games, including Civilization for instance, hide a lot of what is going on from you. In most Civilization style games, you can only see what's going on around your own units, and even then there might be further restrictions on what you see.
In Elite, you only see whats going on immediately around your ship.
These restrictions play right into your hand if you want to use a randomly generated world.
Many of the benefits of randomness go straight out the window if you need to keep track of changes to account for developments in the world. However, in many types of games you don't need to most of the time.
Take an Elite style game, for instance, and add detail: Government types changes, military control and dominance fluctuates, etc. For almost any kind of change, you can put together an equation that give fluctuations over time that are reasonable. Add a few elements to the equation where you can affect it by random variables, and you have a model for generating a world where you can generate not only every position in space, but also in time.
Depending on the level of detail you want, you can go in at an arbitrary time and an arbitrary point in space, and see roughly what went on (in a newspaper headline type of way - details of events, such as how a ship navigates, will likely seem weird to a human player).
Now you have a static world that can be regenerated from a small string of numbers. But what about the player and non player AIs? Instead of recording everything that happens, you can calculate most of it, and whenever a player does something, you store information about deviations from the randomly generated world.
Imagine that you as a player in a space strategy game, destroy a ship. The ship was part of a military fleet trying to conquer a world. As a result of your action, the fleet loses its advantage, and the game doesn't manage to compensate by weakening the opposition quickly enough (without making it too obvious for the player), so the invasion fails, and the timeline doesn't work out anymore.
What should the game do? Record a deviation, and determine a target time for returning to the timeline. The world is under government X instead of Y, but some time over time T, the game will create events that will bring things back to where it should be.
As long as it's done smoothly enough, the players won't notice. This model also has the advantage that if the player stays close, then the player keeps affecting the timeline and will see little of the effects of the game slowly compensating to bring things back in sync, and if the players move around a lot, the player won't see whats going on, and any logical flaws in the compensation that is being done will be hidden.
This idea is essentially based on one of many theories trying to resolve the problems of time travel: What if any changes you make to the past will be compensated for so that you can only cause disruption for a limited period of time, before at least most of the rough differences between the two timelines have been resolved. So the further back in time you go, the less effect you can have on the present.
Structuring a world via pseudo random numbers in both time and space indeed make the game itself time travel in a way: The entire timeline of the game was set before the game started, and you as the player travel back in time and are allowed to affect limited pockets of space time, but as soon as you turn your back, the game engine compensates away all your changes, making you just a ripple in the ocean...
Wish I had time to do game programming
You might ask what the Amiga has to do with ETH. The answer is that in '94, after Commodore went bust, there were a lot of discussions in comp.sys.amiga.misc on Usenet about how to save the community, and ways to update the OS that at the time started looking dated (no virtual memory as standard, no memory protection as standard etc.). One of the things that came up was long term migrating to new CPUs, such as Apple did with the Mac. A guy called Edward Blevins posted this message (I love you Google Groups), as part of a HUGE discussion about what the new Amiga OS should look like.
The message points to a concept called Semantic Dictionary Encoding, introduced by Dr. Michael Franz in his doctoral dissertation at ETH. It's a method for encoding a semantic parse tree of an application in a hardware neutral form, and generate the final code at load time.
In a way it's JIT compilation as found in todays Java VMs, but instead of translating from bytecode to native machine code, Semantic Dictionary Encoding is based around translating directly from a simplified parse tree - you reduce the parse tree to a small subset of operators and data types, and optimize as much as you can, then you encode it in a way that at the same time compresses the file. When you load it, you do the final code generation step.
I loved the concept: You can instantly move binaries between systems with different CPUs. Code generators can be tuned to specific hardware combinations or specific CPUs instead of having to generate code for the lowest common denominator. Code generators can take command line arguments into consideration when generating code, allowing further optimizations. Generation can be done based on previous profiling data for YOUR system, etc.
This leads us back to protocol extension. Protocol extension is a way of extending class hierarchies at runtime. I read the report because I was impressed with Dr. Franz work on SDE. I implemented a C based prototype back in '96. I loved it, but didn't have time to go much further with it.
Same thing with SDE. I had a prototype Pascal compiler (because writing a Pascal compiler for basic Pascal is dirt easy) that generated SDE, and a dummy code generator for something pretty close to 68000 machine code. But I didn't have time to look closer at it.
Now, these are two examples of incredibly cool tech I've run into, that to this day is practically unknown in the tech world outside those of us geeky enough to read doctoral dissertations and technical reports from ETH...
Why is it that so few geeks seem to follow whats happening in the universities? Schools like ETH, and numerous universities around the world are spewing out great computer science work that you'd think open source developers would be jumping at instantly, but instead many of these technologies languish for years without anyone spending time on it. In SDE's case, Dr. Franz is still pursuing it to my knowledge, but seems to get little interest for it from people trying to reimplement his tech.
I could pull out dozens of examples of other great concepts that are also being ignored.
Why? Isn't people aware of the technologies? Or am I the only one who find them cool? Did they come at the wrong time?
I'd love to find out.
Ah well, as soon as I have time I'll start looking at protocol extension and SDE again... Hopefully it will be before I'm retired.
As the site grew, however, the sheer number of users means that I most of the time feel no connection to the person I'm replying to - most of the time it's a username I don't recognize, and someone I know nothing about. It doesn't help that, like many geeks, I'm not the most social person...
Maybe the introduction of the friends system and the journals will change that again, to some extent. Another thing might be chat (yeah, I know there's an IRC channel, but some of us are behind firewalls during the day - a proxied java irc client might be a nice thing
The user base of Slashdot contains a lot of extremely interesting personalities, and it would be great to be able to "connect" more with people than the current comments frenzy allows.
Anyway. If anyone reads this, feel free to e-mail me at firstname.lastname@example.org if you have comments