11-1-04Born again Christians really scare me. I respect the ideals of Christianity, and I'm sure there are plenty of evangelical born-again Christians (EBACs) who are good people, but most are not. EBACs are really a fascist belief system . They can justify any action in the name of their belief. They believe any action by another EBAC is good, and any pain caused to non-believers can be rationalized. Independent thought and questioning is discouraged, you should believe. Any sort of hippocracy or personal flaws can be ignored as long as you believe. For an EBAC, belief in Jesus becomes a justification and excuse for any action, and makes them "good" no matter what their actions may be, since the lord forgives all.
11-1-04To all the leads who hurt their company by using plain C (or plain C++) and stay away from language features that would help them -
If you're working in some file, and you need to perform some operation, like say a "partial sort" to take the N highest elements of a set to the front, and you code that up your self - you are just wasting a huge amount of time. Not only are you wasting the time to write it, but the time to debug it, the time for someone else to review it, fix bugs in it, learn it, etc. etc. If you're worried about build times, you can isolate the STL usage into cpp files.
Similarly, not using exceptions is just silly. Exceptions have almost no penalty for use, there's only upside. Even if you don't want to throw your own, catching the hardware exceptions (access violations, float invalid ops) is clearly good. This is what has allowed us to keep the game running almost all the time, even when people check in broken code, which is inevitable. People write buggy code, and if that is allowed to bring down the game, you are wasting massive amounts of time. Once you are doing catches for hardware exceptions, you may as well start throwing as well. Throw reduces errors by forcing the caller to deal with it; ordinary error returns can be easily ignored. Any time that continuing to execute will crash the game, you throw, and the game keeps running - just the broken portion stops working.
The next point is using self-checking classes. Rather than using blind data with structs and pointers and such, you use classes which enforce their own correctness with asserts & exceptions and such. Again, on a large team, this is just clearly a win. Documentation and comments are always ignored; the only way to enforce correct coding is if the code itself screams when you use it wrong.
Once you are using all these self-checking classes, it's hard to avoid templates and containers and such. Perhaps you could, and there's nothing wrong with that, but it's certainly easier.
Garbage collection is similar. GC is clearly good, manually managed pointers are clearly bad. Now, if you have some fancy automatic GC solution that's robust and simple and debugged (such as, maybe you are using Managed C++), ok, fine. If not, smart pointers are a very simple, low-overhead, easy to write & debug way to do GC. This is actually related to all the other points; smart pointers or GC pointers are just examples of types that check & handle themselves and clean themselves up when they go out of scope.
In general, objects that close themselves and clean themselves up are clearly good; forcing the user to do it is always worse. Once you start doing that, use of tight scopes is clearly good. It restricts the lifetimes of variables, which reduces bugs.
Now, I just have no idea how to write software without polymorphism. Even my very first C apps had polymorphism; eg. you have some base type (Object) and many different variants. If you're going to do polymorphism, you should do it in the language. Some home-brew with function pointers and manual casting is just worse, because it's not safe. There are some very rare cases where home-brew could be beneficial, such as very deep in a performance-critical section where you want to avoid the virtual functions, but this is quite rare.
10-27-04One issue I like to think about is "real productivity". That is not just "productivity" in the sense of how much work is getting done per hour, or per dollar, or per 'effort'. Rather, it's productivity *times* how much of that work is actually useful towards the end product. You may have guys slaving away, but not efficiently, so of course their productivity is low. You may also have very productive guys, but they tend to do work that's maybe only 50% needed, so their real productivity is also low.
10-27-04Most game companies work in this ridiculous two-phase style. In the first phase, no one is thinking about shipping, and people spend time on all kinds of silly pointless ideas that never make into the game, or that are just so un-important in the game. In the second phase, they go "oh shit, we need to ship", and then you start cutting all kinds of really important features, or half-assing them. The result is that you wind up with games that have like beautiful explosion fx, but where you can't save anywhere because they never got around to writing the save game feature and had to cut it.
The two-phase style is not just about scheduling and focus. We also see it with oversight. In the first phase, people are just sort of doing tasks and they get checked off the list, and nobody verifies them. The executives and directors and such as paying very little attention to development, which of course is hurting production efficiency. In the second phase, oversight goes crazy, suddenly the directors want to verify every bug fix. This also severely hurts productivity.
10-27-04Part of the whole idea of Oddworld-style robust coding is to make the error or exception occur at the spot of the bug. In a normal codebase, someone might screw up a pointer, or write some invalid floats, or stomp on memory, whatever, and then the crash occurs later in some other code. We try to catch these ops and verify objects after operations, so that if something is wrong, we see it immediately in the spot that caused the problem.
10-26-04You can't miss every single one of your milestones and think you're on track. You can't be late all through the project and then be on time to ship. The complete lack of reason & rationality in management is just insane to me. Maybe I should write a book on producing with some very simple step by step rules and guidelines.
10-24-04More news from the back page - the defense department has now quietly denied several attempts to investigate the chain of command in the Abu Ghraib prison scandal. There's mounting evidence that the torture was ordered from the top, perhaps as high as Rumsfeld, but they refuse to provide any of the commanders for interviews. Now, in the trial of some of the soldiers who committed the abuse, the judge has refused to summon those soldiers' commanders (as their lawyers requested). There's no possible reason to refuse the summons other than to protect the department and cover up the chain of command. In other news from the back page - Dick Cheney the other night told some ridiculous lie that the Flu vaccine shortage was caused by not low prices on flu vaccine, that the drug companies didn't make enough money on it so there weren't enough suppliers; in fact, that's complete nonsense; there are over 30 suppliers world-wide, and no other 1st world country has a shortage. The only reason we have a shortage is because we only have a few approved suppliers, which is one of the many government subsidies for private business. The government is not allowed to negotiate freely to buy the things it needs, it's locked into certain suppliers at certain prices, which is a totally corrupt way of pumping them money. Thanks to the supposedly-Laissez-faire Republicans, this same form of subsidy has been written into the prescription drug law.
10-23-04Russia has signed the Kyoto treaty on emissions reductions, which ratifies it. The freaking Russians have shown more maturity and un-selfishness than the supposedly great and magnanimous Americans. We are now the only major nation to not have signed it. God forbid we ever make our business profits a little lower to save the lives of people all over the world.
10-20-04There are two great things about baseball that basically no other game has - 1) there are no fouls; there are no refs; it's basically impossible for the outcome of the game to depend on refs calling fouls. Sure, the umps sometimes call a tag wrong, but that's not really a foul, there's no replay, etc. 2) in reasonably close games, every single moment is tense; that is, the game can be decided on almost any play, if someone makes a big error or hits a home run or whatever, almost every pitch is decisive; contrast to most sports that have long periods of boredom and brief spikes of excitement.
10-20-04I love it when people take social statements that are kind of sarcastic, and just take them wrong and use them as anthems. "Born in the USA" is a classic; it's a song about a vietnam vet and how his country has pissed on him, and he's like begging for some respect, and it's become like a patriotic anthem. The movies "Scarface" and "Taxi Driver" are classic too; people idolize Pacino and Deniro as tough guys, they want to be like them; of course in both movies the heros are sort of insane losers and their lives spiral into disaster. The masters of this were Dire Straits; almost all of their songs are sarcastic or tongue-in-cheek, but you see people singing along with the straight message.
10-19-04The reality of the fervent Bush supporters is many fold -
There are the people who really just have no idea what's going on in the world. These people still think Saddam had nukes and was helping Al Qaeda. They think "Clear Skies" actually is a pro-environment program. Well, you can't blame them all that much, because the media and the administration constantly lie at them. Something like 50% of the population is in this group.
There are the absolute wacko Christians. I'm not talking about your ordinary Christians. I mean people who believe that Angels really exist and come down to earth, people who literally believe in a fiery hell, people who believe the world will come to an end and final judgement will take place in the next 100 years. This is roughly a shocking 20% of the population.
There are people who are afraid of all foreigners. In their mind "moslem" and "islamic terrorist" are roughly the same thing; and those Chinese, they're communist right? Hell, we invaded Iraq, and I don't care if they had weapons or dictators or what, this is a Crusade - it's a war between civilizations.
There are the people who just want their money. This is a wide group, consisting of business and labor groups that want various shelters and protections and tax breaks that Bush has given (such as for cotton growers, the steel industry, all agribusiness, pharma, aerospace, etc. etc.). It consists of many of the rich, who want their lower taxes (so low, that many of the super-rich (like Dick Cheney) pay around a 5% tax on their total income). It also consists of foolish people in lower tax brackets, who will take a $400 tax break and lose $2000 of government programs (these are the same people who pay for $20 for discount club memberships in order to save $2).
10-19-04We need a new law in place, that the president is required to go before Congress and answer questions, ala the Brittish "Prime Minister's Minutes". He must answer all questions truthfully; any questions which would cross into classified information can be deferred, but still must be answered behind closed doors to the congress.
10-18-04I'm doing a talk at the "Game Tech" Seminar on December 2. It'll be about how we made the engine and game behind "Stranger", with emphasis on specific things that I think we've done well in code that people can benefit from. This seminar is very good, the quality of people attending and speaking is very high, it's much more useful than GDC. Just the people you get to talk to at lunch make it worth it. I'm definitely the odd man out talking about games - Chris will talk about Halo 2, Jay will talk about Half Life 2, and Andrew will talk about The Sims 2 - all huge games that I would love to hear about, then I get to talk about this damn Oddworld game that failed to make it to the PS2, etc. It's also a bit of a challenge to keep my talk from being preachy, like "you all are bad programmers; use C++ and STL and exceptions and get with fucking reality".
10-17-04Ever since WW2, our government has had the spectre of "Communism" as an excuse for doing anything they wanted, and the "Cold War" was a permanent state of war which granted the president extra-constitutional powers. Worried about some hippie liberals exposing illegal activity in the government? Call them communists and bug them and have the FBI watch them and spread false news articles about them. Some democratically elected government is not cooperating with your demands? Call them communist and sponsor a coup, or arms rebels to fight against them. This has been de-facto American practice from Truman to Reagan. Now we have "Terrorism".
10-16-04Celebrex, Vioxx, and Bextra are pain-killers in the COX-2 family. These drugs increase the risk of heart attack. They are no more effective at reducing pain than Aspirin or Ibuprofen, and no gentler on the stomach than Ibuprofen (Aspirin does have bad side effects for some people, but for most people it has very beneficial side effects, actually reducing the risk of heart attack). These drugs cost roughly $3 a pill. Ibuprofen costs roughly 10 cents a pill. In total, these drugs have cost the US health care market roughly $20 billion dollars in the last 5 years.
Prozac and other mental health drugs have never been shown to be beneficial in impartial long-term studies, and yet they continue to be heavily prescribed. Seratonin-inhibitors (SSRI's) have now been shown to greatly increase the suicide rate (in addition to their many previously known side effects). The negative studies were intentionally not published. The entire psychiatric drug industry is a scam, since the doctors really have no idea what they're doing, and placebos are extremely effective at treating all the mild psychoses. I can't easily find total numbers for Prozac proficts, but it was around $3 billion/year at peak, so something like $10-20 billion over the life of the drug seems reasonable. (of course Prozac was also relabeled Serafem and sold under that name for a while).
Drug companies *each* pay roughly $15,000 of semi-legal incentives to doctors to encourage them to prescribe their drugs. In the old days (5-10 years ago), they used to actually send checks to doctors that said "I recommend this drug" on it, you sign it and send it back, they deposit it for you. They aren't so obvious any more, but they give grants for "trials", fly doctors to conferences, hire them for speaking engagements, buy them dinners, take them to shows, etc.
A lot of the problem is not just that the doctors are corrupt and taking the kickbacks from drug companies, it's that the doctors don't have time to independently research every drug they prescribe. They see all this marketing from drug companies (drug companies market to doctors directly with tax-deductible funds), and they believe it. The drug companies publish a bunch of positive clinical trials (they are not required to publish them all, so they just do 100 and pick the good ones), so the drug looks good. The next problem comes with the HMO's, which offer prescription advice. The HMO's really are corrupt and in league with the pharma companies.
How do we solve this? First of all, we need some good trial lawyers to sue these bastards to straighten them out ;) Second, you require all drug studies to be supervised by some independent body (like the FDA); you require all studies to be published whether they are positive or not. Next, you make it illegal for drug companies to offer any prescription incentives to doctors or HMO's. You have the FDA prepare summaries of effectiveness and side effects for all drugs, and this should be the primary prescription guide for doctors. In the end, the system has to be reformed in some way to give doctors and HMO's more incentive to choose the cheaper alternatives. This is a hard problem. It's hard to restrict the pharma companies without infringing on their rights to free speech. One key point is a principle of Chomsky - the rights of corporations should not ever be protected over the rights of individuals. The big "prescription drug benefit" that our government now provides is yet another big benefit for big business, not for people.
10-14-04Immediately after Britain and the US opened Libya, Shell and BP announced deals to develop oil fields in Libya. Now the EU has announced deals to sell modern arms to Libya. So, Ghaddafi was a terrible terrorist, but he's apologized and now we can sell him weapons.
Dick Cheney at Halliburton has always pushed for the US to drop sanctions on Iran. He also pushed for us to drop sanctions on Iraq.
Within twenty five years, only six countries will have all the oil reserves in the world - Iraq, Iran, Venezuala, Saudi Arabia, Kuwait, and United Arab Emirates. Saudi Arabia has by far the most.
Saudi ARAMCO promo site (this site
is really sick, they're a Saudi promo site and they show all these pictures of US presidents hanging out with the
In 2020, the middle east will have all the oil , with Iraq being the #2 or #3 player, and China and India and others very thirsty for crude.
Oil in the Iraq wars
10-14-04Modern art's ridiculous. There's a lack of real judgement, and the critics are all such buffoons, they hoo and ha over the most terrible works. If an artist sets up an exhibition and doesn't tell the critics what the art is, they might start fawning over the "starkness of the fluourescent lights, which speaks to our isolation", or the "rattling of the air conditioner, like the sound of a tin cup on jail cell bars", before the artists points out, "no, it's the linoleum floor, that's my work". Yes, there was once a place for this. You had realism, you had impressionism, etc. and then people started making deconstructionist statements. The thing about "statements" is they only need to be made once. Hey, a blank canvas is art too if I hang it in a museum; ok, wow, that made me think - now NEVER do that again! Hey, a foam toilet is art, well, sort of, but isn't it just stupid? Found objects - every thing in the world is art, yes, good, now stop charging me money to see it. Wow, you can make beautiful color with splatters; hmm.. didn't someone already make this statement? Let's move on. I think this stuff appeals to a very pretentious false-intelligentsia who enjoy going to the same sort of art shows over and over and acting like they "get it" and they're so far beyond ordinary people, when in fact it's really a very safe repetition that's not actually challenging.
10-12-04Creepy blast from the past : when Kerry was speaking for VVAW against the war, a Republican attack group was set up by Nixon for this guy John O'Neil to smear Kerry. O'Neil probably had his own ideas, but it was engineered by Colson and Haldeman, who were Nixon's right hand attack dogs, the engineers of the Watergate enterprises. Now, many people think of Watergate as this one event where the Republicans were breaking into the Watergate hotel to bug the democrats - it's not. That was just the final event in a long string of illegal bugging, manipulation, false news articles, false protestors, support for opposing candidates, illegal financing for campaigning from public funds, etc. etc. (of course, O'Neil is the guy now behind the Swift Boat nonsense which is smearing Kerry, and now he's supported underhandedly by Rove/Bush et.al.).
10-10-04Hip-Hop is sort of a great metaphor for America in general. You get these kids from the inner city who are dirt-poor, live in government housing, get poor educations. Some of them have some talent, or some luck, and become a hip-hop star. They've risen to riches, and live the good life. Now, they could use their fame and fortune to help people from the streets, to speak about the inequality in this country, but nah, they use their podium to tell the world how big their diamonds are, how many girls they sleep with. In the final act, their money is managed by corrupt and manipulative people, and the hip-hop star ends broke and pathetic, doing cameos on Hollywood Squares and shows at the local Indian Casino to make ends meet.
10-10-04How to fix baseball (speed up the game, and get more hits) : 1) batters are not allowed to step out of the box. Once they're in the box, the pitcher can go at any time, so no long prep ceremonies are possible. 2) pitch timer; pitchers get 20 seconds between getting the ball and having to make a pitch; failure to make a pitch in time counts as a Ball. 3) Teams get only 3 conferences on the mound per game. 4) Pitchers called in from the bull-pen have 2 minutes from the previous last pitch to the first pitch they must make. 5) Use "K-zone" or something similar, and enforce the small strike zone.
10-10-04Jesus, jesus, are you not outraged at what's happening in this country?
When judges vote along party lines, it's a mockery of our government system, a mockery of justice, a false-justice, a kangaroo court. It clearly shows they are voting based on their party and not on the facts of the matter at hand. Judges are supposed to be above that; they're supposed to defend the law and the constitution and peoples' rights. Even the Surpreme Court of the United States has become basically a partisan rubber-stamp machine; their party-line vote to interfere with the Florida election in 2000 was just a part of their recent history of voting exactly on party lines.
The 6th U.S. Circuit Court of Appeals in Cincinnati ruled on October 7 to kill a man for party politics. Paul House was sentenced to death for the murder of Carolyn Muncey over 15 years ago, and has been on death row all that time. Recent DNA evidence has exonerated him, and eyewitnesses have also cleared him and pointed at Muncey's husband, Hubert Muncey. Despite all this, the 8 republicans on the appeals court have ruled that House's conviction should stand, and he should die. Presumably this is a show of toughness and support for the death penalty - it's unconscionable! Those judges should all be stripped of their seats. The 7 democrats who voted to clear House are not necessarilly any better - they happen to be on the right side of this issue, but confronted with another partisan issue, would they just vote on party lines as well?
All presidents in recent history use their power to pack the Federal Appeals courts full of un-qualified compliant partisan judges. Judicial appointments have become merely ways for the parties to keep some power over longer spans of time. Congressional approval of judicial appointments is supposed to be a check to make sure that they are qualified and reasonably non-partisan. In recent years, the president has swept aside that approval and rammed through judges that congress won't approve - Bush avoids approval of Pickering , The Pickering Affair , Progressive judiciary watch , Politics in the Judiciary , On republican court-packing
10-10-04I keep thinking to myself - Self, wouldn't it be great if there was a news source that was truly non-partisan, that would point out the bullshit that both sides are spewing, that would not just stick to "administration sources say", that would ask the hard questions, and that would vigorously fact check their work and summarize the context? They should be well-respected and established so they can tell the truth about people in power without being shut down or run out of town. Why hasn't anyone made such an organization? Now just today I realized, wow, that's what newspapers are supposed to be. Were they ever? They certainly aren't now.
10-10-04President Bush says "I admit it, I'm a master-debater. Those trial lawyers need to get off our backs and let us practice the love with our hands!".
Kerry : This administration has not created jobs.
Bush : He's a flip-flopper!
Kerry : He claims to be pro-environment, but actually has weakened environment protection on power plants, opened our national forests to logging, done nothing to clean the air, and allowed destructive forms of strip-mining!
Bush : But he changed his mind!
Kerry : He took us into Iraq and took our focus off Al Qaeda and allowed Osama bin Laden to escape!
Bush : Doesn't he look kind of French to you?
Kerry : He said Iraq had WMD's, was trying to make nuclear weapons, and had ties to Al Qaeda, and claimed it was part of the war on terror.
Bush : I think he's a wimp; he wouldn't have the guts to use American Power
Kerry : He is using the war on terror as an excuse to dismiss all critism and take war-time powers; he's pushed the Patriot Act which does little to help security, but a lot to invade the privacy of American Citizens; he's holding Americans and others hostage in prisons around the world, with no trial, and torturing them in interrogations!
Bush : He uses big fancy words.
Kerry : He refuses to admit that he's made a single mistake!
Bush : I like cheese.
Kerry : He's cut taxes, primarily for the very rich, including huge tax cuts on dividends, capitol gains, and inheritance - that doesn't boost the economy or help any of you!
Bush : But he's a flip-flopper!
Ah, yes, well done Mr. Bush, that debate was clearly a tie.
10-8-04Cheney said "there's no doubt that Iraq has WMD's" (it doesn't). Cheney said Iraq was connected to Al Qaeda (it wasn't, really). Cheney said Saddam Hussein helped Al Qaeda prepare for the 9/11 attacks (he didn't). Cheney said Iraq was close to having nuclear weapons (it wasn't), and was buying nuclear material (he wasn't). Cheney said we would be greeted as liberators (we weren't). Bush said "Mission Accomplished" (it wasn't). Rumsfeld said we don't need more troops on the ground (we do). Bush says we have a strong coalition (we don't). They say we didn't allow Osama to escape (they did). Now Cheney says that knowing what he knows now, he still believes they did everything right and would do it all exactly the same way again.
10-7-04Wow, there was an appropriate Simpsons rerun on the other night. A three-eyed fish is found near the nuclear plant, so it becomes a scandal and inspectors check out Burns' plant. The inspectors find all kinds of gross violations and give Burns the list of things to fix. Smithers tells him it will cost him $56 million to fix. Burns is despondent - he thinks he's ruined, until Homer happens upon him, and accidentally suggests that Burns run for governor. Of course! Burns is delighted - a run for governor would only cost a few mil, and he could decide what's safe and get hose fat cats in capitol city off his back. What ensues is frighteningly like reality, as Burns spins lies and follows the directions of his campaign image staff and the people lap it up.
10-7-04Another thing that bugs me is this idea that war against an "evil" person is inherently good. NO! Just because an administration is rotten, doesn't mean war against that country is a good idea or is justified by law or moral standards. Hell, I think our administration is rotten, but that doesn't mean violence against them is justified. You have to look at two things - 1) what are the likely consequences of war? the cost, the benefit, the human toll (how many innocent people will you kill?), the political ramifications, the long term results in the target country, etc. etc. 2) you have to obey the "golden rule", set an example, obey international law - you can't just go invading anywhere you want, because that sets a standard for war to break out anywhere in the world!
10-7-04I continue to hear people say that Cheney did well in the debate, and that "Edwards got a lot of facts wrong too". We're not talking about little facts here, people! Yes, they both exaggerated the numbers slightly in technical ways, though I don't really see any points that Edwards got wrong, he just phrased some things in ways that make his argument look good. You can see all the fact garbage here - at factcheck but they seem to be very biased. The whole headline suggests both sides "mangled facts" in sort of an equal way. Bullshit - Edwards massaged some numbers, but never really outright lied - Cheney very intentionally lied and manipulated semi-truths almost constantly!!
Look, this is not some small thing. To say "they both got things wrong" is a huge distortion - that's what Fox News would say - Cheney's lies were not some small arcane points that you have to search around to find the problems - anyone who understands English knew he was lying the whole time. He was attacking Edwards with bogus points. He was saying "Edwards got his facts wrong", when in fact, Edwards was basically right and Cheney was completely wrong. It's all so unbelievable.
10-5-04The "NOW with Bill Moyers" on the 9/11 commision report was shocking. Seeing in pictures the way this administration handled the lead-up to and day of 9/11 was unbelievable; the incompetence! the laziness! the pig-headedness! However, despite being a great show, I must call out one silly sin. At one point in the episode, they are talking about the PDB entitled "Bin Laden determined to attack within this country" (PDB = Presidential Daily Briefing, not Program DataBase). When this PDB was delivered, Bush was on vacation in Crawford, TX, as he often was. As Bill reads about the PDB, they show a slow-motion clip of Bush on his ranch in the background. Yes, it's true, but that's typical sleazy negative attack-ad tactics. I know the republicans would do exactly the same, and Fox news does much worse all the time, but still, it stood out like a sore thumb of partisan production in the middle of a valuable factual program.
10-5-04Levels of robustness in coding :
- 1. Be aware of inconsistency/error conditions
- 2. Assert about them
- 3. Detect input errors and report them to the content creator, allow the game to keep running but show the pieces that are in error.
- 4. Don't allow content out of the tools that's invalid; give instructions on how to fix it.
- 5. Detect runtime logic errors (aka bugs) and report them appropriately; allow the game to keep running if possible; remove the broken objects from the sim. (this is easiest to do using exception handling).
- 6. Avoid runtime logic errors; make them impossible.
This last step is the "nirvana" of robust coding. Most people don't even know it exists, and few really see it. Basically any time you would assert(), or any time you say "oh, this must be done", get rid of that - don't assert, don't say "this must be done" - make those conditions happen automatically!
The first place to start is pointers; if you say "this pointer must be released". Don't say that. Put all your pointers in smart pointer classes that auto-release. Now you might say "make sure to use the smart pointer class". Don't say that. Have your class factory always return a smart pointer. Similarly, you might do something like take a mutex lock with EnterCriticalSection. You say "make sure you Leave". Don't say that. Hide the OS calls and make a Mutex class that lives on the stack and does Enter/Leave with its lifetime.
Any time you have an assert like ASSERT( x == y ) - get rid of one of those variables! Any time there's a relationship between state values that must hold, get rid of them!! In general, less variables makes code more robust. In a very technical sense, your variables are degrees of freedom in the state space of the simulation - the goal is to make every value in those DOF a valid state in the simulation. If you have extra variables with constraints (such as x == y), you're doing an un-necessary cover of the state space with constraints. Everyone in physics knows contraints are a pain - try to find the minimal set of variables that describe the actual free degrees of freedom. You are removing logical constraints and making it impossible to invalidate the sim state.
10-5-04How many tools programmers do we have? Every coder on the game is a tools programmer. Our game engine is a tool for the content team to create an interactive experience.
We've done a very good job of writing a robust, friendly, error-tolerance engine. The result is that our content guys have made content with lots of errors.
10-5-04The administration is now trying to blame the war in Iraq on the CIA. That's a load of shit, and I hope someone fucks them for it. In the run-up to the war, the CIA repeatedly emphasized its uncertainty about WMD's and Saddam's capabilities. Intelligence is an imperfect game, so they had some analysts and some information supporting the idea that Saddam was an immediate deadly thread, but before Rumsfeld got to them, that was not their primary belief. In repeated meetings at Defense, the CIA was told to "look harder" to find a link between Saddam and Al Qaeda, or to find WMD's in Iraq. In fact, the administration already had a plan to invade Iraq, and they went to the CIA for evidence, the CIA did not go to the administration and point out that Saddam was a threat. This has been investigated only slightly and brushed under the rug.
10-4-04Our entire foreign policy approach is wrong. Basically, we have pursued a policy of having a strong military that can make small powerful strikes. We have that, and it's useless. It is a powerful deterrent against responsible nation-states, but those are not our enemy. Our enemies are individual angry people. Our military is useless against them. In fact, using our military power only makes them stronger, because we destroy states and create more unrest. Our foreign policy since WW2 has been based on meddling in other countries, helping factions that we thought were aligned to our interests, trying to get power bases against the soviets and other countries. This has been a huge mistake and it's back-fired in almost every single case (Indonesia, Iraq, Iran, Afghanistan, Chile, Panama, etc. etc.). The best way for America to bring peace and open-ness to the world is by leading with peace and open-ness. The best way for us to democratize a country is simply with contact, and trade, and communication, by exporting our entertainment and values.
It's so naive to think that we can create democracies in Afghanistan and Iraq and that that will lead the neighbors to follow, as Bush has said repeatedly. Iran already knows what democracy is like - they see it on TV, they were moving in that direction. Now, we have created the fear that America will strike them, and we've make an American client state on two of their borders. This has driven them back to extremism. In Saudi Arabia, they see the Iraqi state and fear the American military power. Do you realize that Al Qaeda started its Jihad against America because we had troops in the holy land of Saudi Arabia? Now we have troops all over Iraq, in some of the holiest places in Islam!? Saudi Arabia is an incredibly important state, and it's very unstable. The people are largely moslem, and the government is not. In Afghanistan, democracy is a sham. The power brokers in Afghanistan are - the US, Iran, Russia, Pakistan, and the warlords who are heavily armed and deal in opium. The warlords have alliances, mainly with Iran, Russia, and Pakistan, all of whom continue to provide money and arms in Afghanistan. The US is trying to balance those powers by supporting Hamid Kharzai; our aid to help the election has been de-factor aid to help Karzai. We fear that anyone else who wins may be a puppet of those other powers. Pakistan's secret police help set up the Taliban, and are still operating in Afghanistan. We don't stop them, because we fear the situation in Pakistan - they are our purported ally, but they are the world's largest illegal nuclear proliferator, probably harbor much of Al Qaeda.
Which reminds me - I wrote on 9-28-04 about the "big announcement" that you then roll back. I read about a nice one in Pakistan recently. President Musharraf is the basically secular dictator of Pakistan. Over the last 10 years, Pakistan has harbored many terrorist cells, some of which it intentionally helps to fight the war in Kashmir. They claim that the Kashmiri fighters are local guerillas, but actually they are terrorists that live safely in Pakistan, where India dares not attack them. They were trained by the Pakistani secret police, in conjunction with the Taliban; many of them were mujahadeen who fought the soviets in Afghanistan. Anyhoo, Musharraf made a big show of "cracking down on terrorists" in Pakistan, and he arrested some 2000 of these fighters. This was a big announcement, blah blah. Unfortunately, Musharraf has no real power to fight terrorism, since much of his country is Pashtun, and the terrorists have close ties with his military and secret police, both of which he controls only as long as they like him. A few months after the round up, the vast majority of the fighters were released, to little notice.
10-4-04Bill Clinton was chased by a massive partisan circus, many times during his political life. They caught him with Monica Lewinsky, and the worst charge against him was that he lied about it to the American people. So, Bill Clinton was nearly impeached because he made a small lie about a personal matter. Let's be clear on that - this lie was not about his duties, or his office, his government, his policies, his country, even his campagin or anything poltiical. For a president to lie about any of those things is far far worse. For a president to lie about the case for going to war is a huge crime. Why then, was Clinton hounded so ferociously, and Bush has not been investigated at all?!?
10-4-04Everyone should read "Another Century of War?" by Gabriel Kolko. He makes many of the points I've made here, but of course he did it first and much more eloquently. He also has all the details to back up the summaries. Basically it's about the way we're horribly mis-handling the "war on terror".
10-4-04Kerry hasn't really ever changed his stance on the Iraq war. It's part of the massive Republican "new-speak" brain-washing, they repeat it all the time, they get their goons at Fox to repeat it every day, we start to believe it. One of the tricks they use is to excerpt only part of what he says. Most of his declarations about the war have been on one theme - "If Saddam had WMD, we should have invaded. We should have had international support, we should have allowed inspections to take their course. With the information we were given about Iraq (which was false), I supported the war; knowing what I know now, I believe it was the wrong war, and it was done in the wrong way. Now that we are there, we must be strong and finish the job." However, Kerry, unlike Bush, doesn't just recite a prepared statement, he uses slightly different words each time, and then the Republicans can excerpt just the one different line and say "look, he said something different". In contrast, Bush just repeats his writers' line every time, which makes him "strong and consistent".
One specific "flip-flop" accusation is over this $87 billion vote. Part of the problem with that is it was a piece of typical politics in Washington. When the war funding bill came up, the Democrats proposed a version which would pay for the $87 billion by cancelling GWB's tax cut for people with income over $200k. Now, first of all, let's make sure you understand - that $87 billion has to come from somewhere; if it doesn't come from the richest Americans, then it will come from all Americans. There are many mechanisms for that, one is that the federal govt just gives less money to the states (as they are doing), so the states then have to 1) cut programs, which mainly help the poor, or 2) raise taxes, which are mainly regressive taxes like sales tax or utility surcharges, etc. So, Kerry voted *for* the democratic version of the bill. Of course that bill was killed, and the Republican version came up, which would just spend the $87 billion and not worry about where it came from. Kerry voted against that version of the bill. This is a standard move in congress - the votes were already counted, he knew it would pass, there was no danger of not providing that money, it was just a vote to show that they preferred the other version of the bill. To call this "flip-flopping" is to show a complete mis-understanding of the democratic process.
10-4-04The fact that Fox News gets to continually spew lies and claim to be "news" is outrageous, there should be laws about this (in fact there are, but they're not enforced). The latest sham is the story they did on "Communists for Kerry", in which they smear liberals repeatedly and try to associate Kerry with communists and weakness on security. The truth is that "Communists for Kerry" is a Republican 527 organization, which is entirely set up to smear Kerry. The Republicans have been really good at this for ages, sending their staffers to be in protests by "the people", and now they're funding Ralph Nader's campaign, and also working with the Swift Boat Veterans For Truth, and the lying muck-raker Robert Novak, etc.
10-4-04I've been hearing a lot of stories that China's currency (the Yuan) is low (against the dollar). That makes Chinese exports cheaper in the US. Currently China holds the Yuan fixed at 8.28 Yuan to the dollar. There's some talk of letting it float, in which case it would probably go up. That opens up an interesting investment possibility - buying Yuan. An even more interesting possibility is buying Chinese stocks that are traded in Yuan. That way the stocks go up if the Yuan does, but they should also go up on their own.
10-4-04The illegal manipulation of the vote is underway. In Florida, thousands of voter registration cards from minorities and low-income people have been ruled invalid. They failed to check a citizenship check-box, even though they did sign the form declaring they are citizens. Gov. Jeb Bush has ruled that this does invalidate their voter registration, and now there's basically no time to fix it. In the mean time, the Pentagon has posted ballots on the internet for military personell. This makes it much easier for the military to get their ballots, which is nice, but it's not provided to any civilians. The military votes predominantly Republican. Conversely, it's become even harder for the millions of civilians living abroad to vote; they have to go to their consulate or embassy and wait in lines and get papers from embassies that are more difficult than ever since 9/11.
10-2-04There's a horrible problem these days with the dilution of media. There are more books published than ever, more newspapers, magazines, blogs, web zines, more movies, more TV channels, more video games, etc. The total amount of quality content, however, is about the same. The massive explosion in the amount of content just means there's more crap, more filler, more duplication. This makes it harder to find the good bits. It used to be that if you bought a video game by Nintendo, or saw a major RKO picture, or read an article in the New York Times, it would probably be pretty good. More and more we're just deluged with crap media, and it becomes a difficult search to find the quality original content.
10-1-04I reject the idea that personal proximity makes you more qualified to speak on any issue. People who have experienced something often know less about that thing than wise people who have not. I'm sick of the liberals bringing out mothers of soldiers and vietnam vets for their grief stories.
10-1-04The content team leaves us with levels that don't work. We, the coders, have to work extra hours and make the build solid. We start first, we finish last, we are the quiet workers. They go out and party and talk about big nonsense ideas and get the women and the fame, we do the work. We're suckers.
10-1-04How to vote the crazy California props -
Prop 59 - provides more access to public documents - Yes
Prop 60 - provides access to all Primary winners in the general election - No (let's leave the law alone, no need for more cooks)
Prop 60A - directs funds from sale of state surplus properties to pay back bonds - Yes looks a little corrupt, but WTF
Prop 61 - money for children's hospitals - No (I oppose all money allocated by propositions)
Prop 62 - allows only two candidates in the general election - NO
Prop 63 - tax on incomes about $1 million to pay for mental health care - NO I like the tax, but I don't like locking it into mental health care programs
Prop 64 - prevents consumers from suing business for unfair practices in some cases - NO
Prop 65 ?
Prop 66 - limits on 3 strikes law - YES
Prop 67 - funding for EMS using a regressive telephone surchange - NO No funding in propositions and no regressive tasks
Prop 68 - changes tax structure on Indian gaming and opens up more gaming - NO We shouldn't allow any new casinos to be built without higher taxes on them
Prop 69 - DNA collection - NO I don't like the idea of the gov having a database of everyone's DNA
Prop 70 - opens up tribal gaming laws and reduces gaming taxes - NO
Prop 71 - provides for a stem cell research institute - NO As much as I want to stick it to GWB, funding stem cell research seems unwise
Prop 72 - requires many employers to provide reasonable health care to employees - YES This is imperfect, but better than nothing.
- ► 2014 (48)
- ► 2013 (87)
- ► 2012 (134)
- ► 2011 (237)
- ► 2010 (310)
- ► 2009 (362)
- ► 2008 (697)
- ► 2007 (394)
- ► 2006 (654)
- ► 2005 (696)
- 11-1-04 - 3
- 11-1-04 - 2
- 11-1-04 - 1
- 10-27-04 - 3
- 10-27-04 - 2
- 10-27-04 - 1
- 10-26-04 - 1
- 10-24-04 - 1
- 10-23-04 - 1
- 10-20-04 - 2
- 10-20-04 - 1
- 10-19-04 - 2
- 10-19-04 - 1
- 10-18-04 - 2
- 10-18-04 - 1
- 10-17-04 - 3
- 10-17-04 - 2
- 10-17-04 - 1
- 10-16-04 - 1
- 10-14-04 - 3
- 10-14-04 - 2
- 10-14-04 - 1
- 10-12-04 - 2
- 10-12-04 - 1
- 10-10-04 - 5
- 10-10-04 - 4
- 10-10-04 - 3
- 10-10-04 - 2
- 10-10-04 - 1
- 10-8-04 - 2
- 10-8-04 - 1
- 10-7-04 - 3
- 10-7-04 - 2
- 10-7-04 - 1
- 10-6-04 - 1
- 10-5-04 - 6
- 10-5-04 - 5
- 10-5-04 - 4
- 10-5-04 - 3
- 10-5-04 - 2
- 10-5-04 - 1
- 10-4-04 - 7
- 10-4-04 - 6
- 10-4-04 - 5
- 10-4-04 - 4
- 10-4-04 - 3
- 10-4-04 - 2
- 10-4-04 - 1
- 10-2-04 - 1
- 10-1-04 - 3
- 10-1-04 - 2
- 10-1-04 - 1
- ▼ October (52)
- ► 2003 (74)