imaginary family values presents

yesh omrim

a blog that reclines to the left

Logo

Summary page 27 of 36

Warning: This has been migrated from an earlier blog server. Links, images, and styles from postings before 2018 may be funky.

11 May 2004URFUBAR, part II

To continue with yesterday’s saga of the dain-bramaged Java library API:

It turns out that someURI = new URI, null) does not, after all, convert URLs to URIs appropriately: when the path information gets converted to and then from a string, special characters get double-escaped. The proper incantation, it turns out, is someURI = URI.create(someURL.toString());.

At least, I think that’s the proper incantation. It works for my test directory, but nothing in the documentation for URL.toString() guarantees that the method will output a string in the format that URI.create(String) is documented to read.

Why should I be forced to explicitly convert this information to and from a string format, anyway? I thought I was programming in Java because Java’s type system lets me concentrate on the abstractions in a system (locations and indicators) and doesn’t force me to think about other module authors’ implementation decisions (string formats). [No, you’re programming in Java because nobody wanted to hire you as a Perl programmer. —ed.] Oh. All right, then.

10 May 2004URFUBAR

We interrupt your regular stream of snarky political commentary with some snarky programming commentary.

I’m trying to write Java code that can locate a directory somewhere on the run-time classpath, and then iterate through the files in that directory. Here’s what I’ve discovered so far:

  • The ClassLoader.getResource(String) method returns a URL object.
  • One of the File constructors takes a URI argument. None of them take URLs, though.
  • The documentation for the URI class assures me that “every URL is a URI, but not every URI is a URL.”
  • The URI.toURL() method, as you might expect, converts a URI into a URL.
  • There is, as far as I can tell, no corresponding method to convert in the other direction. I think I can fake it by calling someURI = new URI, null), except that in order for that code to compile, I have to catch URISyntaxException. But if “every URL is a URI,” I should always be able to convert from one to the other without throwing an exception, right?

09 May 2004Score one for Hillary

A running theme through the testimony before the Senate Armed Services Committee on Friday is the assurance, by Rumsfeld and his colleagues, that the military justice system is working on the torture issue. They use this assurance to give themselves political cover in two ways. First, they say that the wheels of justice have been grinding—slowly, but ever so fine—since January. Quoth Lt. Gen. Lance L. Smith, Deputy Commander of the United States Central Command:

Some have asked why it took so long for the allegations to make it up the chain of command. One needs to look at this as a legal proceeding. Once the allegations were made, the investigation was initiated immediately. Evidence was gathered, people were questioned, and a number were removed from their posts.

Second, they can excuse themselves from answering any hard questions about responsibility for the abuses by delegating that job to the court-martials that will be convened, umm, any month now. Quoth Gen. Richard B. Meyers, chairman of the Joint Chiefs of Staff:

I took an oath to support the Constitution and with that comes the responsibility to ensure that all military members enjoy the full protections of our Constitution, to include the due process of a fair, judicial system. After all, it’s respect for the rule of law that we’re trying to teach and instill in places like Afghanistan and Iraq.

So like the secretary said, we are now in the middle of a judicial process regarding detainee abuse. And because of my position, I have to be careful I don’t say anything that can be interpreted as direction or pressure for a certain outcome in any of these cases.

Moreover, we have to understand that a fair judicial system takes time to work. I know you all understand that. So no one is stalling or covering up information, but it’s absolutely essential to protect the integrity of our judicial system.

The best response to this theme came from Senator Hillary Rodham Clinton:

[L]et me just quickly reference the case of Chaplain Yee, the Muslim Army chaplain from Guantanamo Bay who was arrested and placed in solitary confinement. Ultimately all of the charges were dropped after his reputation was sullied.

It’s obvious that the information about this particular case came from government sources. It was pushed out and it was widely disseminated.

So, Mr. Secretary, how is it that a case with no basis in fact gets such widespread publicity, based on information from government sources, while egregious conduct like that at the Abu Ghraib prison is cloaked in a classified report, and is only made available when the investigation is leaked to the press?

How, indeed? Secretary Rumsfeld could not find time to answer this question.

09 May 2004Know your sheep

In today’s parsha, in the middle of a variety of other rules for how the cohanim and their sacrifices need to be fit their respective roles, we have this commandment: “Do not slaughter a steer or sheep and its child on the same day” (Leviticus 22:28). The Mishnah (Chullin 8:3) goes on to say that during certain times of the year, when it can be assumed that anyone who buys an animal is going to slaughter it immediately, the seller has to tell the buyer, “I sold its dam to be slaughtered”, or “I sold its young to be slaughtered.”

This mitzvah has a significant consequence for any Jewish farmer or meatpacker: the responsibility to know the family relationships of the flock. If all your cattle look alike to you, then on any day that you slaughter two of them, you are at risk of violating this commandment.

For most of the commandments in this parsha, kedushah is achieved by separation of categories. For the purpose of marriage, divorcées are separate from cohanim. Blemished animals are separate from the category of “animals fit for sacrifice.” Shabbat and the holidays are separate from the ordinary days of the week. But for this one commandment, we achieve kedushah by distinguishing each animal as an individual, with its own heritage.

Happy Mother’s Day!

07 May 2004Talmudic gun-control, er, sword-control laws

A quick note (because, alas, I haven’t had the time to compose anything better) on last week’s parsha: we all know about the commandment “do not put a stumbling-block before the blind” (Leviticus 19:14). The rabbis (Avodah Zarah 15b, cited in Sefer ha-Chinuch §232) declare, as one implication of this law, that a Jew should not sell a weapon of war to a non-Jew, unless it’s so the non-Jew can defend us. Likewise, it is forbidden to sell these weapons to a Jew who will resell it to a non-Jew, or to a Jewish bandit.

What are the modern implications of this halakha? Discuss….

07 May 2004Same song, next verse

A few days after 9/11, I wrote an essay to vent my outrage at some of the rhetoric coming from Noam Chomsky and other intellectuals of “the Left.” The essay began:

When I was a yeshiva student in Israel, a classmate told me of a tour he had taken in Hebron. As the tour bus passed a certain monument, the guide had said: “This is the grave of Dr. Goldstein, who was killed by the Arabs. —Not that I’m defending what he did….”

This is the postmodern response to a politically inconvenient atrocity. When someone affiliated with your favorite cause does something indefensible (e.g., when Baruch Goldstein, a Jewish resident of the West Bank, kills 29 Arabs in cold blood in a mosque during Ramadan), it can be hard to deny that the atrocity happened at all, or argue that it is actually a good thing, or insist that someone else had their finger on the trigger. But you can always utter the appropriate platitudes of shame, in as few words as possible, and direct the audience’s attention to the convenient atrocities, i.e., those committed by your enemies.

Chomsky demonstrated his mastery of this form with his brief note “On the Bombings”:

The terrorist attacks were major atrocities. In scale they may not reach the level of many others, for example, Clinton’s bombing of the Sudan with no credible pretext, destroying half its pharmaceutical supplies and killing unknown numbers of people (no one knows, because the US blocked an inquiry at the UN and no one cares to pursue it). Not to speak of much worse cases, which easily come to mind…

Professor Chomsky, meet Cal Thomas, former spokesman for the so-called Moral Majority:

Let’s get the preliminaries out of the way first: If members of America’s armed forces violated any rules and mistreated prisoners of war, they should be punished in accordance with accepted military law. That having been said, there are several other things that also need to be addressed….

Did they have and withhold information vital to the protection of American soldiers and Iraqi civilians? War is nasty business, and the rules don’t always comport with a book of etiquette…

[W]here was the world’s outrage when mass graves, rape and torture rooms and other evidence of Saddam Hussein’s genocide and other inhumanities were revealed? There was some initial horror but nothing like the vindictiveness reserved for the United States and Britain.

I wonder how many people, back when Saddam was in power and doing business with the West, dismissed reports of his atrocities in the same way: “Yes, it’s awful that he gassed all those Kurds, but you’ve got to understand…we need to support Saddam Hussein in his war against Iran, because Iran is so much worse…”

via Pandagon

05 May 2004The good guys

Excerpt from Article 15-6 Investigation of the 800th Military Police Brigade, “Other Findings/Observations,” ¶4:

The individual Soldiers and Sailors that we observed and believe should be favorably noted include:
  1. Master-at-Arms First Class William J. Kimbro, US Navy Dog Handler, knew his duties and refused to participate in improper interrogations despite significant pressure from the MI personnel at Abu Ghraib.
  2. SPC Joseph M. Darby, 372nd MP Company discovered evidence of abuse and turned it over to military law enforcement.
  3. 1LT David O. Sutton, 229th MP Company, took immediate action and stopped an abuse, then reported the incident to the chain of command.
05 May 2004Not just immoral, but incompetent

Article 15-6 Investigation of the 800th Military Police Brigade, “Part Two (Escapes and Accountability),” Findings, ¶22:

The documentation provided to this investigation identified 27 escapes or attempted escapes from the detention facilities throughout the 800th MP Brigade’s AOR. Based on my assessment and detailed analysis of the substandard accountability process maintained by the 800th MP Brigade, it is highly likely that there were several more unreported cases of escape that were probably “written off” as administrative errors or otherwise undocumented. 1LT Lewis Raeder, Platoon Leader, 372nd MP Company, reported knowing about at least two additional escapes (one from a work detail and one from a window) from Abu Ghraib (BCCF) that were not documented. LTC Dennis McGlone, Commander, 744th MP Battalion, detailed the escape of one detainee at the High Value Detainee Facility who went to the latrine and then outran the guards and escaped. Lastly, BG Janis Karpinski, Commander, 800th MP Brigade, stated that there were more than 32 escapes from her holding facilities, which does not match the number derived from the investigation materials…

Escapes?

The army that we sent to liberate Iraq from Saddam Hussein can dredge up interrogators who treat the Geneva Conventions like toilet paper, but they can’t keep the prisoners inside the prison? Who’s running this War on Terror, Abbott and Costello?

Choice details below the fold:

[ibid., ¶34c] 12 June 03 … Several detainees allegedly made their escape in the nighttime hours prior to 0300. A 15-6 investigation by CPT Wendlandt (115th MP Battalion, S-2) concluded that the detainees allegedly escaped by crawling under the wire at a location with inadequate lighting. One detainee was stopped prior to escape. An MP of the 115th MP Battalion search team recaptured detainee #8399, and detainee #7166 was shot and killed by a Soldier during the recapture process. Contributing factors were overcrowding, poor lighting, and the nature of the hardened criminal detainees at that location. It is of particular note that the command was informed at least 24 hours in advance of the 28 upcoming escape attempt and started doing amplified announcements in Arabic stating the camp rules. The investigation pointed out that rules and guidelines were not posted in the camps in the detainees. native languages.

[¶34e] 05 November 03 … Several detainees allegedly escaped at 0345 from the Hard-Site, Abu Ghraib (BCCF). An SIR was initiated by SPC Warner (320th MP Battalion, S-3 RTO). The SIR indicated that 2 criminal prisoners escaped through their cell window in tier 3A of the Hard-Site. No information on findings, contributing factors, or corrective action has been provided to this investigation team.

[¶34i] 24 November 03 … A detainee allegedly had a pistol in his cell and around 1830 an extraction team shot him with less than lethal and lethal rounds in the process of recovering the weapon. A 15-6 investigation by COL Bruce Falcone (220th Brigade, Deputy Commander) concluded that one of the detainees in tier 1A of the Hard Site had gotten a pistol and a couple of knives from an Iraqi Guard working in the encampment. Immediately upon receipt of this information, an ad-hoc extraction team consisting of MP and MI personnel conducted what they called a routine cell search, which resulted in the shooting of an MP and the detainee.

[¶34q] 26 January 04 … Several Detainees allegedly escaped between the hours of 0440 and 0700 during a period of intense fog. Investigation by CPT Kaires (310th MP Battalion S-3) concluded that the detainees crawled under a fence when visibility was only 10-15 meters due to fog. Contributing factors were the limited visibility (darkness under foggy conditions), lack of proper accountability reporting, inadequate number of guards, commencement of detainee feeding during low visibility operations, and poorly rested MPs.

25 Apr 2004Where the rocks are treyf

Back in the old days, if an Orthodox Jew immigrated to the United States, his or her children were almost guaranteed to drift away from Orthodoxy. In the old country, it was said that in America, “even the rocks are treyf.” Fortunately, as the past fifty years demonstrates, there is no such curse on American soil. But there is one place in the world where the ground itself can be ritually impure: the land of Israel.

In today’s parsha, we read the law of the leprous house: “When you enter the land of Canaan that I give for you to possess, and I place a leprous disease on a house in the land of your possession…” (Leviticus 14:35). As the Sefer ha-Chinuch points out, this implies that only a house in land allotted to one of the tribes of Israel can be subject to the disease. The text goes on to say that when a house is confirmed to have leprosy, its stones have to be taken out of the city and put in a makom tamei, a ritually unclean place (14:40). In the entire Tanakh, the phrase makom tamei only appears in this parsha: Rashi interprets it (s.v.) to mean: “A place which ritually clean things do not touch; the verse teaches you that these stones cause the ground to be impure [even though normally, the ground is never subject to ritual impurity] while they are there.”

This is a halakhic application of a principle that appears over and over again in Torah: the sanctity of the land of Israel is a two-edged sword. Just as living in Israel gives a Jew opportunities to perform mitzvot that can’t be done anywhere else, failure to live up to God’s standards can subject one to penalties in Israel that aren’t risked anywhere else. In the next parsha, God warns the nation: “Don’t let the land vomit you out from your defilement of it, the way it vomited out the nation that preceded you” (18:28). You never heard anyone worrying that their sins against God would get them vomited out of North America.

23 Apr 2004“Mistakes Were Made”

The DNC has used clips from Dubya’s recent press conference to produce a campaign ad (Windows Media Player version, Real Player version).

Arkhangel calls this “the first great negative ad of this campaign … Someone at the DNC should … plaster the airwaves from now until November with this ad. It’s that good.” Michael Froomkin isn’t so sure: “shouldn’t someone at least jazz it up a bit with visuals: the flight suit, for example? One of the stills of the flag-draped coffins that just got Tami Cilicio—and her husband—fired?”

I tend to agree more with Arkhangel. Froomkin’s question reminds me of an epigram from a book on marketing that I read many many years ago: “Interesting words need boring graphics.”

23 Apr 2004Deaths and distinctions

When the inauguration service for the priests was finished, “the glory of the Eternal was shown to the whole nation” (Leviticus 9:23). Three verses later, with the deaths of Nadav and Avihu (10:2), the nation had a revelation of a different kind.

Previously, Jews had defied God out of fear (e.g., of Pharoah in Exodus 14:11–12) or physical desires (e.g., longing for meat in Exodus 16:3) or theological error (the golden calf incident in Exodus 32:1–3). But nobody has accused Nadav and Avihu of these failings. According to Rabbi Eliezer (cited in Rashi s.v. Leviticus 10:2), their only mistake was to make a halakhic decision in the presence of their teacher; according to Rabbi Ishmael (ibid.), the mistake was to enter the Tabernacle after drinking wine. So they had the best of intentions, but because they made some careless mistake about how to serve God, they were toast. Moses and Aaron didn’t even have the chance to intercede on their behalf before they knew what had happened. Against this background, the dialogue in the rest of Leviticus 10 takes on a more anxious tone.

Furthermore, when laying down the law about drinking wine before services, God says it is “to distinguish [lehavdil] between sacred and secular, and between ritually unfit and the fit” (Leviticus 10:10). After the catalog of kosher and non-kosher animals, that word appears again: “to distinguish [lehavdil] between the ritually unfit and the fit, between the beasts that may be eaten and the beasts that are not to be eaten” (11:47). We’ve seen this root used before: e.g., the separation between heaven and earth in Genesis 1:6 is referred to as a mavdil. But this is the first time the term is used to describe something that human beings have to do in their daily life.

In many aspects of our life, we honor God by imitating Him. As these verses show, one way that we imitate Him is by using our intellect to distinguish between what is and is not permitted. How great is the reward for doing this job well? Just look at how severely Nadav and Avihu were punished were doing it poorly.

15 Apr 2004The parody is left as an exercise for the reader

Passing by our local Jewish bookstore tonight, I noticed that ArtScroll is publishing a cookbook.

15 Apr 2004Internet Explorer is a harsh mistress

So for the past couple of weeks, when I haven’t been out for Pesach, I’ve been working on XSLT scripts for converting an XML description of a workflow, first into HTML, then into SVG images. Unfortunately, I have a bit of a problem now integrating the two results, and perhaps the geeks who read this blog can help me, or can point me at someone else who can help me.

Each workflow has a bunch of tasks. In the HTML file, each task has a nicely formatted box of text describing the various task attributes, with an “id” tag. When one task refers to another, there’s a <a href="http://ropine.com/yesh/article/internet-explorer-is-a-harsh-mistress#TaskName">link</a> that does exactly what you’d expect when I click on it.

Now according to chapter 17 of the SVG spec, any piece of SVG content can be turned into a link. So in the SVG translation of the workflow, every task has a <a xlink:href="otherfile.html#TaskName>link</a> to the corresponding section of the HTML file. Simple, right?

So when I double-click on the SVG file in Windows, IE6, and Adobe’s SVG plugin renders my lovely diagram. When I then click on one of the tasks in the diagram, the browser goes to my HTML page, but doesn’t scroll down to the particular task that I selected.

Yesterday I spent an hour or two applying my Talmudic skills to the SVG spec, the XLink spec, and this crib sheet for embedding SVG in HTML, trying different incantations in my XSLT file, clicking, clicking, clicking, usually with the same disappointing result, sometimes with an even more disappointing result.

Then I tried copying both the SVG and HTML files to somewhere underneath my Web root, opened the SVG file in my browser with http: instead of file:, and clicked through. Voila! Everything works. Curse Microsoft for their not-quite-orthogonal interface. Problem solved, or at least worked around, right?

Of course not.

The fellow who assigned me this project pointed out that my stylesheets, ultimately, will be generating javadoc-like documentation for our clients, and it would be unreasonable to require that in order to read documentation generated from files on their own workstation, they have to run a Web server on that workstation.

The best workaround I’ve found so far is to escape the pound sign in the link, so instead of <a xlink:href="otherfile.html#TaskName>link</a>, the source code says <a xlink:href="otherfile.html%23TaskName>link</a>. This will make the link appropriately follow-able when I double-click on the SVG file in Windows Explorer, but not when I view it as a Web page served from my workstation’s Web server.

I suppose this is good enough for now, but it feels like a standards-violating hack that’s going to stop working as soon as Adobe or Microsoft releases the next version of their software. If I had time to refactor my XSL in a major way, I would probably use the Batik SVG Rasterizer to convert the SVG file into a PNG file, and then use an image map to make the tasks on the graph clickable. However, I have it on good authority that our company is associated with these strange people called “customers”, and extracting money from them is easier when our software is published according to this thing called a “schedule”, so I don’t know if I have time to redo it this way. Does anyone have any easier-to-implement alternatives?

(Well, yes, we could tell our users to get another Web browser, except that Mozilla and Firefox both hang when they try to run the Adobe plugin, the “download SVG-enabled Mozilla” links from the Mozilla SVG Project page appear to be dead, Amaya has a butt-ugly interface and doesn’t render the SVG very well, and Squiggle has a butt-ugly interface and can’t follow links to HTML documents. Give the devil his due: for this purpose, Internet Explorer is the least bad alternative.)

15 Apr 2004And they looked from pig to man, and from man to pig…

Nathan Newman, in the course of his apologia (in the old-fashioned sense) for not being a doctrinaire left-winger, remarks:

Maybe it’s because I know the left crazies, it’s easier to see the Bush folks in motion, since they have many of the same sectarian characteristics—unwillingness to work in real coalitions, a binary view of the world into enemies and friends, and a will to fight war endlessly and globally. Which isn’t surprising since at least part of the New Right, the neoconservatives, have a lineage partly as ex-Trotskyists, just like the Workers World Party. It’s as if these two parts broke off, one siding with any enemy of the US elite however noxious, the other choosing to bolster any friend of the US elite however evil. Both believe in endless global war and military conflict, just as either side of the divide.

This, I think, is the proper lens for viewing Bush’s endorsement of Sharon’s plan for semi-withdrawal from the West Bank. Nobody should be surprised that Bush will let Israel keep some of the territory it captured in 1967; any American politician to the right of Dennis Kucinich, were he or she President, would have the same attitude. The novelty here is that Bush is willing to state that attitude so undiplomatically. And for what? Why couldn’t Colin Powell quietly tell Sharon, “of course you’ll be able to keep some of the West Bank, and you won’t have to let all the refugees from 1948 back in, but you need to give something credible to the Palestinians in return for that”? Heck, why couldn’t Bush continue the silence he’s maintained for the past however-many months, effectively endorsing Sharon’s behavior without embarassing the diplomats who have to work with their Arab counterparts?

Newman has the answer. To the WWP, every Friend Of The Working Class, even Slobodan Milosevic, deserves unqualified and effusive support. Likewise, for Bush, Sharon is a Friend of America, and deserves the same endorsement. Diplomacy is for wimps.

15 Apr 2004A timely thought

According to the American Institute of Philanthropy, “$35 or less to raise $100 is reasonable for most charities.”

By comparison, the Federal government, in its fiscal ‘04 budget, plans to spend about $40 billion on “administration of justice” and about $10 billion on tax collection, in a total budget of about $3250 billion. So even if we attribute the expense of the entire Justice Department and Federal prison system to the cost of government “fund-raising”, it costs the government less than $2 to raise $100. (These figures are from the National Budget Simulation.)

The next time someone tells you that private charities are “more efficient” than the government at achieving some worthy goal, remember these figures.