I don't know why, but in my last post the quotes within the pre element were escaped with a slash character. Anyone have a solution?
January 2006 Archives
I installed the ATI binary drivers on my debian system. Everything seemed to be okay, but I was getting lousy GL performance. So I had to figure out why.
First step is to see which OpenGL drivers are being loaded. Open a command prompt and type fglrxinfo. You should see a vendor string like this:
I didn't. Mine said I was using the Mesa drivers. Mesa is great, but those aren't the drivers I wanted to use.
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9600 Generic
OpenGL version string: 1.3.5461 (X4.3.0-8.19.10)
Next step, why is Mesa getting loaded rather than the ATI drivers. Take a look at /var/log/Xorg.0.log. There's lots of stuff in here, but don't be too intimidated. Look for things that say error. In my case I saw an error that told me DRI wasn't loading. Hmm, that would explain it. DRI is the Direct Rendering Infrastructure. ATI's Gl depends on DRI. Here's what it looked like:
(WW) fglrx(0): ***********************************************
(WW) fglrx(0): * DRI initialization failed! *
(WW) fglrx(0): * (maybe driver kernel module missing or bad) *
(WW) fglrx(0): * 2D acceleraton available (MMIO) *
(WW) fglrx(0): * no 3D acceleration available *
(WW) fglrx(0): ********************************************* *
So I searched for the error message I was getting. Not a lot of help was out there, really, but I eventually found a website that told me that Composite doesn't work with ATI's DRI implementation. Turning off Composite is pretty easy. In your
/etc/X11/xorg.conf add the following:
Section "Extensions"
Option "Composite" "false"
EndSection
Bingo. That did it for me. I'd like to be able to use Composite (it allows you to do some interesting things with transparency and xfce), but I'd rather have a fast driver.
BTW, I've seen some posts suggesting using an option in your xorg.conf called AllowGLXWithComposite. Sorry to inform you, but that's a nvidia option, not an ATI one.
The Washington Post has an article - Bush Uses Humor to Deflect the Heat. They are so nice. In reality, Bush tried to laugh off questions that he should have answers for.
Here's an example. Bush was asked about pictures he took with indicted lobbyist Jack Abramoff. He said,
Having my picture taken with someone doesn't mean that I'm a friend with him or know him very well. I've had my picture taken with you at holiday parties.Not really funny, but understandable. After all, having your picture taken with a criminal, even an influence peddler, doesn't mean you've committed a crime. But when reporters asked follow-up questions (to paraphrase, never mind the photographs, just talk about lobbyists' influence on the White House), Bush ignored the question and said,
Easy for a radio guy to sayDoesn't our President have a better answer about influence peddling than that. Blah. I can't wait until he's termed out.
I finally found a good repository for Unofficial Debian Packages that includes mplayer and mencoder.
They also appear to have MythTV binaries there. I'm looking forward to checking that out, too.
The federal government, in yet another attempt to restrict our rights, has sued Google to force them to turn over information on searches performed using Google (see Times Online).
Why must Google turn over that information? Have they done anything wrong? Nope. Have the users done anything wrong? Nope (searching for porn isn't illegal).
The reason the government wants this information is because they want to show the Supreme Court that kids are searching for porn. If they can do that, they believe that they can convince the Supreme Court to allow 1998 Child Online Protection Act to become law.
In other words, they are on a fishing expedition in hopes that they can punish people for providing porn. Not because porn is illegal, but because the Bush administration thinks that kids, even kids that are interested enough to search for porn, should be protected from seeing it. That's fine, but they should make the parents responsible for their children's behavior, not the providers of adult content. Parents need to be responsible for their kids, not businesses.
The big part of this is that I don't trust this administration. With their ongoing lack of concern for the law or our rights I don't want them to have any information about anyone's searches.
Thank you, Google, for standing up for us unlike the "other" search engines that kowtowed.
After pretending to support the McCain bill banning torture, Bush indicated he could bypass new torture ban in a signing statement.
David Golove, a New York University law professor who specializes in executive power issues, said that the signing statement means that Bush believes he can still authorize harsh interrogation tactics when he sees fit.In other words, Bush believes he can break the law whenever he wants to.''The signing statement is saying 'I will only comply with this law when I want to, and if something arises in the war on terrorism where I think it's important to torture or engage in cruel, inhuman, and degrading conduct, I have the authority to do so and nothing in this law is going to stop me,' " he said.
SFGate.com has an article covering Al Gore's desire to see a special counsel appointed to investigate the Bush administration.
Gore said, among other things, that a special counsel should be appointed to investigate Bush's authorization of warrantless domestic surveillance by the NSA.
Gore accused Bush of "breaking the law repeatedly and insistently."I agree with Gore. FISA is pretty clear, warrants are required.
Republican's don't get it.
Tracey Schmitt, a spokeswoman for the Republican National Committee, said the speech demonstrated Gore's "lack of understanding of the threats facing America."
What Ms. Schmitt doesn't understand is that the ends don't justify the means. Our rights must be protected, even in times of war. Laws must be followed, even in war.
But that's the GOP response, not the Bush administration's response. How did the administration respond? Attorney General Gonzales said that the Clinton administration did the same thing.
First, so what? If someone else steals, does that make it okay for you to steal?
Second, Gonzales is wrong. In 1993 the Clinton administration authorized warrantless physical searches. That was allowed in 1993. The law was updated, with the Clinton administration support, in 1995. The wiretapping done by the Clinton administration in the same case (the Ames case) did follow the rules of FISA.
The rest of the administration's responses are basically, "Aw, he's just trying to get some attention." In other words, he's not wrong, but who cares?
Hopefully momentum is building for an independent counsel. Bush will already be out of office by the time charges, if any, are brought, but something needs to be done about this administration's blatant disregard for the law.
SignOnSanDiego.com reports that SExtra chemicals [were] needed to kill Calif.'s oldest condemned inmate.
Here's a quote that jumped out at me from the article:
"The death penalty is always wrong, but tying a blind 76-year-old man to a chair and injecting him with poison is grotesque," Terry Davis, Europe's top human rights watchdog
Look, the guy was a horrible person, but either it's amoral to kill someone with premeditation, or it's not. If it is, then it's amoral for the state to do it, too.
ABC News (and many others) are reporting that Oregon's Right-to-Die Law [is] Upheld by [the] Supreme Court.
This is great news. We have no rights if we don't have the right to our own bodies.
The bad news is that the newest justice, Chief Justice Stevens, went against individual and state rights, and supported the federal government's claim that they could, and should, prosecute doctors involved in assisted suicide. Is this the first decision of many where the chief justice will side against individual rights? If so, it's a bad sign for American liberties.
xsl:for-each is very useful for looping through elements, especially elements that you have grouped together using the Muenchian Method (BTW, name dropping here, I used to work with Steve Muench, and he's one of the smartest, more dedicated people I've ever met - if you're just starting to develop a Java data-driven application, you owe it to yourself to try ADF, especially if you are considering similar frameworks like Spring).
There's one problem with xsl:for-each, though, it doesn't have any type of uniqueness testing. This is a problem for tasks like indexes, that need multi-level uniqueness. For example, not only do you only want to have one index entry for "validation", you only want to have one child index entry of "validation" for "SQL".
Here's an example XML snippet.
[code lang="xml"]
SQL validation
is ...
...
Validation for SQL queries
...
[/code]
and I need the index to look like this
validation
SQL 3, 7
queries 7
where the first indexterm element composes on page 3 and the second is on page 7.
If you are using RenderX XEP's extension for indexing, the resulting FO should look something like this:
[code lang="xml"]
Validation
SQL
queries
[/code]
Using grouping, I can easily ensure that I only process "validation" once. The trouble comes when I loop through all the child indexterms.
Thinking this was easy, I tried a grouping (in this example, assume $parent_term is "validation" and the result of text() is "SQL"):
[code lang="xml"]
descendant::indexterm[generate-id(key('second-level-indexterms',text())[1])=generate-id(.)">
[/code]
but that doesn't work. The key will match all top level indexterms with the value "validation", which is both top-level indexterms above. The descendant::indexterm will find the first child of that term with the value of SQL - that's true for both elements in the example above.
Clearly, I can't look at just the child indexterms of the first indexterm with the value "validation", I need to process all of the child indexterms of each indexterms with the value of "validation". Since these elements are children of different elements, I can't test test their uniqueness using generate-id(). So how do I ensure that I only process one indexterm with the value of "SQL" that is a child of an indexterm "validation"?
I tried a few other things, but I couldn't get any closer. Either I duplicated the "SQL" entry, or I lost the other child entries. Eventually I just added a second transformation step to remove duplicates.
What I'd like to see is an attribute for xsl:sort called "unique" that sorts the entries, but restricts the loop to unique occurrences. It'd be tricky (which part of the node or node-tree has to be unique?), but very valuable.
If you can help me with a solution, I'd really appreciate it. I'd hate to suggest adding to XSLT, when there's a solution already available.
Thanks to an old post on Rambling Thoughts I've figured out how to make feeds work on WordPress. If you are having problems, let me know.
Here's what I'd like to be able to do:
[code lang="xml"]
....
[/code]
That doesn't work, though, because xsl:sort doesn't support using variables for the lang attribute. This bites for multi-language situations where you don't know the language until it's passed in at build time. To make matter worse, if the lang attribute isn't specified, the system language, not the input XML file's xml:lang attribute, is used. On top of that, you can't use a conditional, since the xsl:sort has to be immediately after the xsl:for-each!
So, if I'm on an American English computer, I can't make my Japanese index sort using xsl:sort unless I manually change the lang attribute before running the stylesheet.
Ugly.
They aren't working yet, give me just a bit to work it out.
On News Year's Eve, my wife and I went to the Berkeley Zen Center. There's a tradition in Buddhism to ring the bell 108 times running up to midnight. Some say each ring represents a path to enlightentment, others say each one represents a worldly desire, and that desire is driven away by the bell. Whatever the meaning, it's a lovely way to spend New Year's Eve.
