2006/10/30

Firefox Vs. Acrobat

Firefox Vs. Acrobat - macosx.com

I just switched to Firefox 2.0 as my default browser under Mac OS X. When a friend emailed a link to a PDF document, I clicked it as usual.

Out of the box Firefox, unlike Safari, cannot view PDFs inline. That's okay, I really just want it to open it in Preview.

Alas, that's not an option. Firefox gives me the choice of saving to disk or of opening with Adobe Acrobat.

Gah.

I searched through the files in my Firefox profile directory. There were no direct references to Acrobat.

According to macosx.com the fault lies outside of Firefox. The thread suggests using Finder Info to make Preview.app the default viewer for all PDF documents. The suggestion did not work for one of the thread participants, and it doesn't work for me, either. Preview.app is already set as my default for all PDF documents.

A find|grep through ~/Library/Preferences turned up one promising hit:
./com.apple.internetconfig.plist

Unfortunately that's a binary property list file and even property list editor can't display its content in a human-intelligible way.

Solution

I closed Firefox, moved ~/Library/Preferences/com.apple.internetconfig.plist out of the way, and followed my friend's link again. This time Firefox let me choose between saving to disk and opening with Preview.app.

Interestingly, Firefox did not create a new copy of the plist file for me.

Better Solution

A less radical solution also works: when Firefox asks how you want to handle the PDF, tell it to save to disk. Also select the checkbox labeled "Do this automatically for files of this type from now on."



After downloading, open Firefox Preferences, switch to the Content pane, and click the "Manage..." button at bottom right.



The list should now contain an entry for PDF. Select it, edit, and change to open with a different application than the default.

2006/10/27

2006/10/24

A Bit of Fry and Laurie

It's fun to track permutations of British actors through stage and screen. The casts of the "Harry Potter" series, "Gosford Park", "Love, Actually", "Tristram Shandy", and so on, are all interwoven. And now another pair for the mix: Stephen Fry and Hugh Laurie.

A few months ago Bobi and I watched "Tristram Shandy: A Cock and Bull Story". It was funny, non-linear, convoluted, recursive in a way that not many movies are. Shades of Douglas Adams.

Stephen Fry appeared in the film in a small role, that of Parson Yorick. He had a much more prominent role in the Special Features section of the DVD, wherein he visited the house in which Laurence Sterne wrote the book on which the movie was based, and discussed the author's life and bizarre afterlife with (I think) the caretaker of the house.

Wikipedia summarizes Sterne's unquiet quietus:

...Sterne's body was stolen shortly after it was interred and sold to the anatomists. [I thought they said "resurrectionists" in the DVD, but never mind.] It was recognised by somebody who knew him and discreetly reinterred. When the churchyard of St. George's was redeveloped in the 1960s, his skull was disinterred (in a manner befitting somebody who chose for himself the nickname of "Yorick"), partly identified by the fact that it was the only skull of the five in Sterne's grave that bore evidence of having been anatomised, and transferred to Coxwold Churchyard in 1969. The story of the reinterment of Sterne's skull in Coxwold is alluded to in Malcolm Bradbury's novel To The Hermitage.

Fry played Parson Yorick in the film. Sterne used the nickname "Yorick". Fry and host discuss this during the tour, linking the nickname to Sterne's humorous taunting of death, which swirled around him as he wrote the book. They note the irony that, in 1969, only the skull and femurs were retrieved: these constituents of the Jolly Roger were believed by some (the Knights Templar?) to be the minimum set of earthly remains necessary for resurrection.

But that's not what this post is about.

Stephen Fry looked familiar. IMDB showed that he'd done the Black Adder series, so maybe that's where I'd seen him before. He was also credited as the narrator of the British audiotape recordings of the Harry Potter series. So Fry extends the permutations of British actors beyond stage and screen to audio books.

I checked Netflix to see if he'd made any other movies that I recognized. No joy. But Netflix did carry a television sketch-comedy series, "A Bit of Fry and Laurie", from the late 1980s, featuring Stephen Fry and Hugh Laurie.

I've just rented it. It wasn't great. Most of the sketches consisted of two Britishmen standing or sitting, having long-winded conversations. They were almost, but not quite, as dull as this post.

Some bits did make me laugh out loud. For example Hugh Laurie's piano ballad, "Mystery," proved that a seated, long-winded monologue can be hilarious when accompanied by music.

My favorite sketch was introduced by Stephen Fry, playing the host for a public access education series. What would you call it, "University TV" or something like that. But, rather than introducing a segment on Elementary Bookkeeping, Mr. Fry pleasantly announced that he was presenting bloopers culled from the education series archives.

Yep, a blooper reel from public access television. From the early 1970s. Flash to Hugh Laurie in polyester and shaggy hair, screwing up a chalkboard presentation on the path traced by a point on a rolling wheel.

But that's not what this post is about.

Hugh Laurie looked familiar. IMDB showed that he'd done the Black Adder series...

Finally I recognized him from "House", a television drama. Laurie plays the gruff lead character, who speaks in a low, gravelly, American-accented voice. Not at all funny. Not at all British. Now that's a bit different.

What the hell is this post about?

2006/10/22

Democracy Inaction, continued

Via Dave Winer: Olbermann on The beginning of the end of America.

Does this sound overblown? Maybe it is. But it bugs me.

The USA I love would treat all of its prisoners according to the Geneva Conventions. It would not pass acts which make it possible to abuse its own citizens.

Abraham Lincoln suspended the writ of habeas corpus during the Civil War. To some, that's a good precedent for suspending it now. But the U.S. Constitution says it can be suspended only in special circumstances.

"The Privilege of the Writ of Habeas Corpus shall not be suspended, unless when in Cases of Rebellion or Invasion the public Safety may require it."

-- Article One, section nine, U.S. Constitution


These circumstances held when Lincoln made his suspension. It's not at all clear that they hold now.

The current suspension is supposed to apply to non-citizens. But as Olbermann notes, that does not prevent its suspension for citizens, "by mistake."

"Oops, sorry! Your unfavorable article made us think you were an enemy combatant. We arrested you and beat you up by mistake. Please don't make a fuss about it; we wouldn't want to make the same mistake again."

[2006/10/24: Okay, that's specious. Trying to obscure abuse of power through intimidation is pretty common, not some unique consequence of the Military Commissions Act of 2006.]

"You Have the Body"

"The writ of habeas corpus is the fundamental instrument for safeguarding individual freedom against arbitrary and lawless state action."

-- Harris v. Nelson, 394 U.S. 286, 290-91 (1969)




Habeas corpus makes it difficult to arrest people without cause. Here is one possible consequence of its suspension:

...'What was he arrested for?'... Most people, crazed by fear, asked this question just to give themselves a little hope; if others were arrested for some reason, then they wouldn't be arrested, because they hadn't done anything wrong...

This was why we had outlawed the question 'What was he arrested for?'

'What for?' Akhmatova would cry indignantly... 'What do you mean what for? It's time you understood that people are arrested for nothing!'

-- "Hope Against Hope" via "Gulag: A History"



That Could Never Happen Here

I don't believe our government could abuse this power for very long. It's hard to imagine that they could pull it off on a large scale. People would notice. Congress would investigate. Abusers would be punished.

But why give them the chance? They just might exceed our imaginations.

The U.S. has held citizens, without charge, for years at a time. It has prevented them from meeting with their lawyers. It has prevented them from hearing the evidence against them.

It has done these things only rarely. I would prefer that it never be allowed to do them at all.



Footnote

The story of Kurt Gödel's interview for U.S. citizenship used to be funnier.

...the judge continued, "Anyhow, it was under an evil dictatorship ... but fortunately, that's not possible in America." With the magic word dictatorship out of the bag, Gödel was not to be denied, crying out, "On the contrary, I know how that can happen. And I can prove it!"

2006/10/18

Google Earth tour of Karaganda

We've posted lots of blog entries and photos of places we visited on our trip to Karaganda. Wouldn't it be cool if you could take a virtual tour of the town and see where the pictures were taken?

Okay, probably not, unless you're a geek like Bobi and me. In which case you probably have Google Earth installed on your computer. In which case, here's a KMZ file to guide you around the town. Have fun!

Kazakhstan Trip.kmz (2006/10/18)

[2007/12/17 The file has moved -- Mitch]

Democracy Inaction

How do we curb the executive branch of our federal government? Or, at least, the Secret Service?

Seriously, how?

I just returned from Karaganda, Kazakhstan, once part of the gulag archipelago. Maybe that's why the Military Commissions Act of 2006 is unsettling. Ostensibly it applies to unlawful combatants, who (I think) have not been accorded protection by the Geneva Convention. However (I think) the act as approved could also be applied to any U.S. citizen.

It seems implausible that this sort of thing could lie in our future. But it's up to us to jealously guard against it.

There is hope that the Military Commissions Act will be challenged in the courts. I believe it should be challenged, if only to clarify the conditions under which it could be used to detain (and torture -- er, interrogate harshly) U.S. citizens.


Legal groups, such as the Center for Constitutional Rights, are already preparing to challenge the constitutionality of the law in court, as Democracy Now! noted in an interview with the Center’s president, Michael Ratner, and with Senator Patrick Leahy, who was very critical of the bill’s implication.

I wonder how my congressmen voted... GovTrack knows.
Here's the record for the House of Representatives, and for the Senate.

Representative Udall: nay
Senator Domenici: aye
Senator Bingaman: nay

Arlen Specter explained why he ultimately voted in favor.

Judiciary Committee Chairman Arlen Specter (R-Pa.) voted for the bill after telling reporters earlier that he would oppose it because it is "patently unconstitutional on its face." He cited its denial of the habeas corpus right to military detainees. In an interview last night, Specter said he decided to back the bill because it has several good items, "and the court will clean it up" by striking the habeas corpus provisions.

I hope he's right.

2006/10/13

Music and Movies from Kazakhstan

When Vladimir drove us around Karaganda he always had the radio on, tuned to the news or to Russkom Radio. Since returning to the states I've been trying to track down some of what we heard.

YouTube has been pretty helpful. I haven't actually found many of the songs I've sought, except for chart-topping crap like Romantika. (Funny: when this played in the car I thought it was an advertisement.) But YouTube has uncovered some interesting Kazakh music videos.

Some of the videos celebrate the country and its past. A few of these are quite moving, especially for someone whose girlfriend is adopting a Kazakh girl.

Musicola
The search has also turned up a Kazakh group named Musicola. Hidden among the dance music on their site is a song called Arman Zholdar (road of dreams?) which is full of unusual textures. In it Karina Abdulina, the singer of the group, uses her voice more as a musical instrument than as a carrier of lyrics.

The Nomad
Thanks to YouTube and IMDB I even found out about a movie which was playing in Karaganda while we were there, a romanticized tale of how the country came to be: The Nomad. It was produced by the Weinstein brothers and stars Jason Scott Lee. Small world...

2006/10/11

Saiga antelope

Saiga antelope - Saiga tatarica - ARKive

When we were in Karaganda Bobi and I visited the regional museum. Inside we found several interesting exhibits, on subjects ranging from the Karaganda Gulag[1] to the Golden Warrior [2] to -- well, we couldn't figure out what this thing was.



It looked kind of like a cross between a reindeer and a moose -- or maybe a reindeer and Zoidberg.

After a couple of days of sporadic googling we learned it was a steppe antelope.

[1] The web has some indirect references, e.g. Welcome to Ukraine:

Karaganda is the centre of Kazakhstan’s coal production, but in the soviet times it was the hub of Gulag concentration camps.


[2] See also Talgar Mountain Peak:
In 1969 - 1970 while the archaeological excavations in [Issyk] hill a grave of the so-called "Golden man" was found. It was a mummy of the young warrior. All his clothes was decorated with gold. Nowadays the image of the "Golden man" is one of the symbols of Kazakhstan.

Industrial Design

The Department of Style - TiVo Series3

Bobi has a Samsung VCR/DVD player, now several years old. She likes to watch TV with the lights off. So we sometimes have trouble changing channels, on account of we're holding the remote backwards. Which is why the above blog entry caught my eye.

I like the new remote. It has more texture on it, so it is easier to find the buttons without looking[...] There is asymmetry in the textures, which solves the problem with the old remote where you can pick the thing up backwards and rewind instead of commercial skip.

Thoughtful design is so impressive.

2006/10/08

OmniGraffle 4 and Subversion

Subversion doesn't like OmniGraffle documents: "invalid control character ... in path".

Fortunately many others have already encountered this problem and published a workaround. Here's a nice summary.

I use OmniGraffle, not OmniGraffle Pro. The workaround looks good from here.

Writing takes energy

So many notes on paper from the Kazakhstan trip... and no energy to transcribe them. It's a good thing nobody reads this stuff, else I might feel guilty.

2006/09/19

19 September

Infrastructure

Today we have no water, as promised. I think we also have no heat. The building heating is provided by radiators.

At the baby house there's no heat and no electricity. We can't even take baby Aigerim to the play room, let alone outside, without bundling her up in three layers of clothing and a bonnet.

Bobi's a Mom!

She still has a cold. She's very docile when we come to see her, but she smiles big time and makes cooing noises at both of us. When I reach out to touch her hand she wraps it around one of my fingers, pulls it into her mouth and starts gnawing. Teething time.

At the end of the morning we see Olga standing out in the cold, waiting for the last of the drivers to appear. Everybody is here except Vladimir, our driver. "If he doesn't show up in two minutes, he's fired," she says. She's smiling but I think she's serious.

I can't resist asking how things went for Bobi. "Oh yes, she passed," says Olga. And, later, to Bobi, "By the way did anybody tell you, your court date has been moved to Friday morning at 9 am?" This sounds like good news, and when Bobi asks who managed this feat, Olga takes a little bow. But Bobi isn't entirely happy -- she's afraid an earlier court date would cut short the 21-day bonding period, and that the court might deny the adoption on that ground. Olga seems unconcerned.

[2006/10/08] Olga knew what she was doing. The judge was heading out of town on vacation, so it was good to move up the court date. What's more, as we learned from Kristin and Nancy, the bonding period is actually 15 days, not 21 days.

Weather

The temperature has taken a nose-dive this week. When we got here it was too hot for long-sleeve shirts. Now it's too cold for the fleece I brought. Yesterday afternoon we had sleet. At lunch time we go back to Tsum, and I pick up a Puma (name brands everywhere) skull cap.

The Absahl mall has no heat today. Tsum has heat, and running water. Their toilets are working. I'm surprised they don't have more business.

Getting Fed

We've said that the locals are very tolerant of our poor Russian. The one exception is the lady behind the counter at the Express Bar in Tsum. She's actually pretty tolerant, but as I order she's always looking at me with a bemused expression and asking me to repeat everything. And then she gets the order half wrong. Today it takes three tries to get two cups of tea, one with milk and one without. And, although I'm able to order two pukreehm (meat and potatoes in a sort of pizza-bread wedge) without having to point to them, she does repeat my order to demonstrate the correct pronunciation. It's as if to say, "Oh, you mean puh-kreyEM, it's lucky for you I was here because nobody else would have been able to make sense of your gibberish." A big part of spoken communications is conveyed by rolling the eyes :)

In the afternoon Olga suggests that we may want to see if we can change our tickets, to get an earlier return to the states. The 15-day waiting period starts as soon as the court appearance is complete, so everything could be accelerated from this point. It might be good to leave for the states a few days early, to finish preparations.

Celebrating

Tonight Bobi suggested we go to Line Brew for dinner. The name of the restaurant is in English, so they probably have comfort food on a menu we can read.

[2006/10/08] If you're ever in Karaganda, Line Brew's address is Boulevard Mira 24 (Бульвар Мира 24 - I think it means "Peace Boulevard", "Mira" as in Mir). And if you're in Almaty you can find a Line Brew at 187 Furmanov Street. Tel. 007 3272 507985.

Good call, Bobi! There's an air vent cranking down masses of hot air on our heads, and the menus are indeed in English (and Russian). The separate beer menu lists maybe a dozen Belgian brews, complete with summaries of their flavors (hoppy, fruity, etc.) and alcohol levels. The food menu, unlike the one at Johnny Walker Pub, doesn't include any re-interpretations of standard American fare (e.g. "juicy fat burger"); so, with apologies to Douglas Adams, there's little chance of getting something almost, but not quite, completely unlike what you ordered.

Of course there is still an opportunity for misinterpretation. I order beef with mixed vegetables and get just that, grilled bell peppers and onion greens over nicely grilled, slightly spicy beef. But Bobi orders the meat fondue with some uncertainty of what she's getting: it turns out to be a thick black pot with hot oil, into which our server sets skewered cuts of beef.

Neither of us is willing to try the Alabama vegetable salad. I can't even remember all of the ingredients, but I think it involved home fries and mayonnaise.

Bobi's not a big fan of sweet desserts, but my pancreas and I love them. We order a pie of sorts, a wedge of chocolate ice cream over alternating layers of sweet waffle and frozen meringue. Had to have something to go along with two snifters of Hennessey brandy.

It was a great meal, and a good way to celebrate today's news.

2006/09/15

Blogging Tools

I've been with Bobi in Kazakhstan since the first of the month. She's adopting a baby, and I'm here to help :) You can find the full story at The Den Hartog Stork.

Up to now I've been keeping my notes on paper, and it looks like a hopeless task to get them all posted. There's just too much stuff! Besides, Bobi has things well covered in her blog.


Instead I'll just start keeping notes online from today. Or rather, from tonight. It's about 4:30 am just now, and I'm awake because this receding cold has given me a dry cough.


We're both using Blogger. It's free and easy, and it lets you include images in your posts with some control over the layout. But, watching Bobi compose a post, it seems a lot of time can be lost trying to control the flow of text around inline images. The only reliable technique seems to be to insert a bunch of blank lines and to hope that your content pane remains at a fixed width.

The point is that page layout can be pretty distracting when you're using Blogger. This is one reason I'd rather be using something like iWeb. If I could have brought the Powerbook on this trip (or if I'd sprung for a MacBook with Parallels) this would be a non-issue; we'd be producing pages with the layout we wanted -- and with whole swaths of text rendered as copy-unfriendly PNG images :)

In general it's a pain for me to be Mac-less. Never mind controlling how images are arranged in a post, how do I crop my poorly composed images for display in a blog post? With the Mac it's Command-Control-Shift-4 (or something like that -- it's burned into muscle memory) and a sweep of the mouse. With Windows it's probably something similar, but my ignorance makes for a lot of frustration. (Or maybe I should start downloading little utilities for Windows, e.g. MWSnap? Anyone have any recommendations? Anyone?)

There's still a big opportunity for somebody to produce a cross-platform blogging tool which makes it easy to control page layout and which renders content as plain old HTML.

The Stamp Seller

Today we had to ask Olga where to buy envelopes for mailing letters. We thought we could buy at the post office but couldn't remember what we'd seen there. She looked surprised and said simply "Kazpost," confirming our guess.

So at lunchtime, when Vladimir asked where to ("to home?" "doe dohm?") we asked for Kazpost. His reply was a question which we didn't understand, but which seemed to mean "which one?" Uh...

No matter. After a few seconds of confusion he reached for his cell phone and called Olga. Then he dropped us off at the only post office we knew about, the one on the main street (Bukar Chirau) near our apartment.

I went to the Valyuta at the back of the post office and exchanged some dollars for tenge. Then we headed for the stamp stall. Along with stamps it had a variety of envelopes.

Bobi asked "Amerike?" The man behind the counter had the chubby but well-groomed appearance of a Bavarian clock maker, and a quiet, gentle demeanor to match. He pointed to the Avion envelopes and began explaining that "A" on the stamps meant "150 Tenge". Like so many others here he didn't mind that our Russian skills were almost non-existent.

Bobi moved over to the stamp display case, said "Poshawlsta (Please)," and began pointing. For the next ten or fifteen minutes the old clockmaker showed us his wares with great patience and not a little pride. He would use one- or two-word phrases to convey something about the images on the stamps and, somehow, we were able to figure out what he was saying. During most of the exhibition another customer stood patiently behind us, waiting for her turn.

This way of doing business -- turning out all of the drawers to find everything that might match the customer's request -- seems pretty common here. We've seen it in the baby store ("Mickey House"), where a woman unwrapped a huge assortment of little shirts for Bobi. And we've seen it in a school supply stall where we tried to find stationery without any lines. First Bobi pointed to a notebook of graph paper, and we tried the phrase "nye lin-ya". The lady reached under the desk and brought out horizontally-lined notebook paper. Again we tried the phrase, with different emphasis: "NYE lin-ya." She brought out some blank paper. "Da! Spasiba." We'd found what we wanted and thought we were done. But she began rummaging through the display cases and shelves, bringing out four or five different kinds of blank-paper pads.

As we neared the end of the stamp exhibition, our helper inquired shyly what we were doing in Karaganda. "Rabotaiyou?" I know that word: he wants to know if we're working here! "Turist," answered Bobi.

Eventually we finished, and the clockmaker pulled out a set of stamp-handling tweezers. Absorbed in his task, he delicately gathered up Bobi's selection, pausing occasionally to count out the amounts and add them on a desk calculator.

Once everything was totalled Bobi paid and said thank you. Then the clockmaker looked up toward me, one of the few times he had made eye contact with either of us during the entire exchange, and shook my hand with a big smile.

This seemed odd; almost the entire business exchange had been between Bobi and the old man. I'd stood to the side making occasional comments to her and calling out words in English when I thought I understood something he had said.

There must be an etiquette in male/female interaction here which I don't yet understand. The old man wasn't being chauvinist; he was just happy to have helped us. (He was quite unlike the guy at City Market for whom Bobi had held the door a day or two earlier. That man had smiled, made an "O-ho" noise, bowed a little, and walked through the door saying something that included the words "man", "woman", "Russia" and "Amerike".)

This exchange with the stamp-seller left us feeling especially warm and fuzzy. The feeling lasted until we got to the front door, where we realized we'd forgotten to buy stamps for the postcards.

2006/08/29

Morning in Mountain Village


Morning in Mountain Village
Originally uploaded by Mitch Chapman.
Dave made the reservations for our stay in Telluride Mountain Village, and he put us up in a real hole: the Mountain Lodge at Telluride.

Our balcony opened up to spruce and aspen and a mountain stream. The free gondola into Telluride passed quietly through the trees a few feet away.

Maybe "hole" isn't the word I'm looking for.

In Molas Pass


In Molas Pass
Originally uploaded by Mitch Chapman.
Ken and Dave came out to visit last week. We drove up to Telluride via Durango-Silverton-Ouray.

We'd hoped to climb Mt. Sneffels. If it hadn't been for Suzanne and the Bronco, Camp Bird Road might have been enough to stop us.

As it was we reached the saddle, about 600 ft below the summit. By then we'd experienced a little light rain, pea-sized hail and some distant thunder. The long views showed a couple of thunderheads coming our way, so we decided to try again another time.

This was our first attempt on a Colorado fourteener. I bet it won't be the last.

2006/06/17

Donkey-tail Spurge


Donkey-tail Spurge
Originally uploaded by Chitch.
The backyard is full of dead grass (why water it, we live in a desert!), bindweed... and funky-looking volunteer plants like this spurge.

2006/06/10

Posting photos

Maybe I should have chosen a less self-referential image
I gotta read the Help more often. It would have told me that it's now possible to upload photos directly to blogger.com.
Let's see if it actually works.

Interaction is a little clumsy compared to iWeb, because it requires filesystem interactions. But, unlike iWeb, blogger.com posts consistently appear as actual, copy-able HTML text :)

2006/02/21

View from the Smuggler's Pub


View from the Smuggler's Pub
Originally uploaded by Chitch.
Last week we made another trip to Ouray for ice climbing -- and snowshoeing, and hiking, and (for some) snowboarding and cross-country skiing.

The snow was thinner than in previous years, and we had a couple of injuries (bones broken while snowboarding).

Still, it was a good trip; and the scenery was fantastic as usual. Photos are at Flickr and my .Mac site.

2006/01/31

Iran to halt spot atomic checks if reported to UN - Yahoo! News

Iran to halt spot atomic checks if reported to UN - Yahoo! News

"If these countries use all their means ... to put pressure on Iran, Iran will use its capacity in the region," the semi-official ISNA news agency quoted Larijani as saying.

It was not clear what regional capacities he meant. Analysts and diplomats say Iran, with its links to Islamist parties and militants, has the means to create trouble for the West in
Iraq, Lebanon, the Palestinian territories and elsewhere.



Iran was responding to an agreement ... among the Security Council's big five, plus Germany and the
European Union, ... that the U.N. nuclear watchdog should report to the council this week on what Tehran must do to cooperate with the agency.

"We consider any referral or report of Iran to the Security Council as the end of diplomacy," Larijani, who is secretary of Iran's Supreme National Security Council, told state television.



Iran's Oil Minister Kazem Vaziri eased concerns that the world's fourth biggest crude oil producer could curb oil exports in reprisal, as Tehran has previously hinted it may do.

"We are not mixing oil with politics," he told reporters at the start of an
OPEC meeting in Vienna.

2006/01/28

Posting to iWeb from NetNewsWire

http://web.mac.com/mitch.chapman/iWeb/Dot-Mitch/Blogum/3226B4C3-15F7-4570-8ABB-8CA2E58438C4.html



I've been fiddling around with iLife '06 this week. Since NetNewsWire is my favorite RSS reader I wondered how hard it would be to make it use iWeb as its Weblog Editor.

I'm an AppleScript newbie, so for me the answer was "pretty hard". But the solution was straightforward once I found it.

2006/01/21

PBS | I, Cringely . January 19, 2006 - Hitler on Line One

PBS | I, Cringely . January 19, 2006 - Hitler on Line One

Fascinating stuff in this article, and – the current administration's behaviors aside – a sign that sometimes government shores up, rather than erodes, our civil rights.

For example, throughout WWII, all international communications originating in the U.S. (phone, cable, mail) were intercepted and monitored. Only in later years did the courts decide this was a violation of the 4th amendment.

Anyway, the question Cringely is trying to answer, is whether the Bush administration violated the law, and how serious any violations were.


I didn't know whether to be outraged or bored, and I feared that most Americans were in similar positions.

2006/01/09

Dogs as good as screening for cancer detection

New Scientist Breaking News -
Dogs as good as screening for cancer detection


At least, for lung and breast cancer. Still unknown is whether they're sniffing out the signatures of cancer, specifically, or if they're detecting general disease indicators.

The dogs correctly detected 99% of the lung cancer samples, and made a mistake with only 1% of the healthy controls. With breast cancer, they correctly detected 88% of the positive samples, and made a mistake on only 2% of the controls.

2006/01/03

DICEE

Let the Good Times Roll by Guy Kawasaki: Guy's Golden Touch

Describes the traits Guy associates with a great product:


  • Deep. ...As your demands get more sophisticated, you discover that you don’t need a different product.

  • Indulgent. ...not the least common denominator, cheapest solution in sight.

  • Complete. Documentation counts. Customer service counts. Tech support counts...a great total user experience...

  • Elegant. Things work the way you’d think they would.

  • Emotive. ...so deep, indulgent, complete, and elegant that it compels you to tell other people about it.



Hm. So I've never worked on a great product, but some have been pretty good.

2006/01/02

Red Skies at Morning


Red Skies at Morning - 1
Originally uploaded by Chitch.
Daybreak today was a little more colorful than usual.

Orion


Orion
Originally uploaded by Chitch.
Bobi got me a Canon A620 for Christmas. Tonight I got to play with shutter priority mode. 15 seconds at ISO 100, and a 2 second shutter delay to make up for my shivering trigger finger.

2006/01/01

National Geographic's Genographic Project

How to Participate - The Genographic Project

Remember Spencer Wells and The Journey of Man? This is his follow-on project, funded by Nat Geo.

I guess they figured out a way to get different ethnic groups to participate. And they even found a way to get us to foot the bill. $100 is steep, but it's still kind of cool.

With a simple and painless cheek swab you can sample your own DNA.

To insure total anonymity you will be identified at all times only by your kit number.

If you'd like to contribute your own results to the project's global database you'll be asked to answer a dozen "phenotyping" questions that will help place your DNA in cultural context.

Samples will be analyzed for genetic "markers" found in mitochondrial DNA and on the Y chromosome. We will be performing ONE OF two tests for each public participant:

Males: Y-DNA test. This test allows you to identify your deep ancestral geographic origins on your direct paternal line.

Females: Mitochondrial DNA (mtDNA). This tests the mtDNA of females to identify the ancestral migratory origins of your direct maternal line.

Sciam: Fast neutron reactors and nuclear waste

A New Breed of Nuclear Reactors?: BLOG: SciAm Observations

Synopsis: Many are coming to believe that nuclear energy may be the most environmentally friendly way to generate electricity. Fast-neutron reactors could be fueled by what would otherwise be nuclear waste. But power utilities in the U.S. are not interested, in part because of the costs of developing a new generation of reactors.

"...the electrorefining method associated with fueling these reactors could also be used to process some of the existing mountains of radioactive fission waste."

"When the Energy Department decided to get rid of some surplus weapons-type plutonium by turning it into nuclear fuel, no utilities would take it, even at no charge."

Were the utilities concerned about accounting for the materials? The new reactor design would address such concerns, at least in part: "The actinides are kept mixed with the plutonium so it cannot be used directly in weapons."

2005/12/30

China, the USA, competition for resources

China eyes increased energy cooperation with US - Yahoo! News

It's interesting to watch as China's per-capita energy demands begin to approach those of the US. Latest development: China's top economic planning body recommends increased cooperation with the US on energy issues.

I should go read the details before posting this :) but it's encouraging that the Chinese govt are trying to plan ahead rather than wait until we are in direct conflict.

China has a chance to play leapfrog in technology for energy production and conservation, and in transportation. That's where the real opportunity lies for the US: in sharing the costs, and results, of improving energy efficiency. Worst of all worlds would be for us to be stuck with our current energy infrastructure while other nations move ahead.

2005/12/20

Bush's Snoopgate - Newsweek National News - MSNBC.com

I agree.

If we could just trust this president, or any president, then we wouldn't need the Congress and the courts.

Our executive branch has long kept secrets from its citizens -- classified documents, "black" military programs. The risk to the country in permitting the government to operate in secret, without accounting for its actions, is much greater than the risks which those actions are supposed to mitigate. The risk is that, once the habit of government secrecy is established, the ability of the country to detect and act against dangerous concentrations of governmental power will be lost.

2005/12/19

Honda plans to mass-produce solar cells

According to the article production will start in 2007. Once it reaches full capacity Honda will be producing enough solar panels each year to power 8000 homes.

"Honda said its solar cells would be composed of non-silicon compound materials, consuming half as much energy and generating 50 percent less carbon dioxide during production when compared with conventional solar cells made from silicon."

How will their efficiency compare to those of other types of solar panels? Dunno.

They're targeting the Japanese domestic market first.

2005/12/16

Javascript Animation: Tutorial, Part 2 - Schillmania.com

Look here for some clues on how to do animation, in JavaScript, without expensive page reflows.

The tutorial also describes ways to animate more efficiently, using a single timer. This evokes the realtime "executives" I used to see when I worked with flight sims in the aerospace industry.

2005/12/15

The Straight Dope: Did John Wayne die of cancer caused by a radioactive movie set?

"Thirty years later, however, half the residents of St. George had contracted cancer, and veterans of the production began to realize they were in trouble. Actor Pedro Armendariz developed cancer of the kidney only four years after the movie was completed, and later shot himself when he learned his condition was terminal."

Mom has wondered from time to time whether or not Grandpa's leukemia had anything to do with his filming venues. She has mentioned a filming location, fallout, and the names of a few actors who died of cancer after working there. But I could never remember the place names. This link which my girlfriend provided seems to point to the right places.

Treehugger: Vulgarity and Nature: Chapter from Robert Grudin's Upcoming Book - American Vulgar

One of the things that drove me out of Ohio was the local attitude toward "growth" – it was considered good, progress, an improvement. All Icould see was the suburbs of Cincinnati and Dayton growing together along the I-75 corridor.

One of my friends and co-workers had this view of development. He was proud to live in one of the development communities that was spreading out over what had been farm land. (The community, whose name I have since forgotten, was featured a couple of years later in a National Geographic article about urban sprawl.)

Couldn't help thinking of my friend and his McMansion while reading this excerpt from Robert Grudin's "American Vulgar":


Growth is not just a cultural obsession. Growth has become a theoretical model for economists, executives and even civil servants. The idea is that economic entities[...] cannot remain robust unless they keep growing, and that this growth imperative has no chronological limit[...]The most colossal and preposterous of all vulgarities would be a civilization that, in the course of its busy, growing ways, paved over its environment and destroyed its only source of sustenance.

2005/12/13

LAMP vs. Java

This year I joined a team which is building web apps to teach cheminformatics. We do use a little Java because one of our vendors implemented its toolset in Java. (And those tools include 3D chemical structure depictors.)

We got started in the springtime, shortly before the appearance of TurboGears. But we're using a similar set of tools: PostgreSQL, Python, CherryPy and CherryTemplate, jsolait, and a fair bit of custom JavaScript. And HTML. And CSS 2.1. And R, at least for prototyping. And we're managing it all, to the extent that we're managing anything :), with subversion and Trac.

As the Businessweek article suggests, this set of tools works well. I don't see any reason to use any more Java than we absolutely must.

2005/12/12

Wired News: Cut Emissions and Pump More Oil

Some good news for oil, for a change?

Just how much CO2 is produced during oil refining, anyway? The article claims that pumping the gas back into oil fields in Western Canada alone could reduce "CO2 emissions to the tune of pulling more than 200 million cars off the road for a year".

The lifetime of the field where testing has occurred has been extended for another 20 years. The subsurface rock in that field is sedimentary; the article claims that, if the technique were tried in basalt fields, the re-injected gas would be converted to calcium carbonate in less than 18 months. From volcanic rock to chalk -- who knew.

2005/12/11

Sanyo Xacti VPC HD1EX | Digital Camera Review

Will Sanyo make HD video affordable?

Next in the Xacti VPC line: 1270x720x30fps, MPEG-4 format, 5MP digital imager, 10x optical zoom, recording to SD memory cards.

2005/12/10

New Mexico to be Virgin space hub | CNET News.com

Las Cruces will be moving up in the world.

2005/12/03

Weeping Eye

Flickr Photo

The Weeping Eye, a feature in Upper Antelope Canyon.


Okay, this is really just a test of Flock on Mac OS X. Flock integrates web browsing, blog editing and (Flickr) photo management/reference.


technorati tags: ,

2005/09/06

Digital Web Magazine - Writing Semantic Markup

This is a nice, concrete explanation of semantic markup and microformats.

2005/09/05

Summer Storm, Santa Fe Ski Basin


Summer Storm, Santa Fe Ski Basin
Originally uploaded by Chitch.
Just testing Flickr's blog-editing facilities.

DARPA Walrus

RED HERRING | The Pentagon's Flying Walrus

Also here.

"The usefulness of such a vessel for non-military purposes was evident as New Orleans sank into chaos after Hurricane Katrina left thousands of people stranded, thirsty, and hungry."

"...even a 1-foot-wide hole in the fabric of a 140-feet long airship would not bring the thing down in less than an hour."

"...there is plenty of demand in the private sector for a bigger cargo carrier. The largest fuel-guzzling Boeing 747 cargo plane can only carry 400 tons.

There has to be demand for an airship that could haul 500 tons directly from a Chinese factory to a Wal-Mart parking lot somewhere in the United States."

2005/08/22

A Wave of Marine Extinctions?

Scientists Fear Oceans on the Cusp Of a Wave of Marine Extinctions

Combined with the environmental costs of raising cattle, this kinda argues for a vegan diet...

"In the past 300 years, researchers have documented the global extinction of just 21 marine species -- and 16 of those extinctions [have] occurred since 1972."

"The large-scale industrialization of the fishing industry after World War II, coupled with a global boom in ocean-front development and a rise in global temperatures, is causing fish populations to plummet."

"Large-scale fishing accounts for more than half of the documented fish extinctions in recent years... ocean fish catches tripled between 1950 and 1992."

Not only the intended catch species are threatened: "...accidental bycatch alone accounted for an 89 percent decline in hammerhead sharks in the Northeast Atlantic."

"...conservationists said NOAA officials are reluctant to classify fish as endangered because it conflicts with their agency's mission of promoting commercial fishing."


How do they produce these numbers? Accounting for catch sizes seems straightforward -- just look at the books for the fisheries. But how does one figure out the total decline in hammerhead shark populations, let alone the fractional causes for that decline?

Still, the article provides plenty of food for thought.

2005/08/18

Java Jar file manifests, and Class-Path

I've been having trouble building jar files. I'm using Apache ant on Mac OS X. I have been unable to create valid Class-Path values when using ant to generate my MANIFEST.MF files.

The solution: compose my MANIFEST.MF file manually (based on the broken MANIFEST.MF created by ant). It turns out that Class-Path can be specified as a series of space-separated paths extending across multiple lines, with leading indentation. F'rinstance:


Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.4
Created-By: 1.4.2-50 ("Apple Computer, Inc.")
Main-Class: JChemLoader
Class-Path: /usr/local/jchem/lib/batik-core.jar
/usr/local/jchem/lib/chart.jar /usr/local/jchem/lib/dom4j.jar
/usr/local/jchem/lib/jchem.jar
/usr/local/lib/java/postgresql.jdbc.jar


As long as no single Class-Path entry is more than 70-71 characters in length, this should work.

The problem with ant-generated Class-Path values was that the values, when written out, were being split at arbitrary points. (The value I was supplying to ant was a colon-separated sequence of pathnames. Maybe that was part of my problem?) ant was trying to satisfy the rules for jar file formatting, as specified by Sun:


Line length:

No line may be longer than 72 bytes (not characters), in its UTF8-encoded form. If a value would make the initial line longer than this, it should be continued on extra lines (each starting with a single SPACE).


Perhaps it's just my lack of familiarity, but I find Java, jar files, and CLASSPATH to be a vile combination. Python (PYTHONPATH) handles things much more cleanly. Even gcc and make handle library locations in a much more pleasant way.

2005/08/17

Green Car Congress: Solar-Power-Augmented Prius Takes the Grid Out of Plug-in

Green Car Congress: Solar-Power-Augmented Prius Takes the Grid Out of Plug-in

No greenhouse costs beyond those needed to make the PV array; ditto other environmental costs (e.g. poison leaching).

I wonder how much weight these things add? I wonder if they do anything at all to reduce the heating of the car interior? My Subaru is like an oven in the northern NM sun, just from heat radiating into the interior from the roof.

2005/08/06

Passing arguments to Mac applications

I'm building a suite of cooperating, cross-platform GUI applications. They're written in C++, using Qt. I'd like to be able to pass command-line arguments from one app to another, but on OS X I've had trouble doing so.

Mac GUI applications typically are launched via NSWorkspace (or, for non-Cocoa apps like the ones I'm building, via the underlying CoreFoundation functions). They're launched with no argv entries. Arguments typically consist only of pathnames to open or print, etc. Accessing them is no picnic.

The simplest solution I've found uses environment variables to pass the arguments around. It works on Unixes including OS X. It should work on Windows.

One gotcha is that you have to explicitly retrieve the environment arguments when your GUI app starts up, instead of having them initialized for you by the C/C++ runtime.

Another gotcha is namespace collisions. The names of the environment variables conveying the arguments must be chosen carefully to prevent them being used/modified by unrelated applications. Maybe some sort of Java-like "com.dmoonc.my_app_suite..." convention would be appropriate.

Anyway, this is probably good enough for now:

envargs.h


#ifndef ENVARGS_H
#define ENVARGS_H

#include <string>
#include <vector>

typedef std::vector< std::string > ArgList;

// Retrieve and clear the environment arguments
// passed to this process.
// Should be done as soon as possible
// after application launch.
void getEnvArgs(ArgList& args);
ArgList envArgs();

// Set environment arguments for passing
// to a process about to be launched.
void setEnvArgs(ArgList& newArgs);

#endif // ENVARGS_H


envargs.cpp


#include "envargs.h"
#include <iostream>
#include <sstream>
#include <stdlib.h>

using namespace std;

static const string C_NumArgsName("_appsuite_numargs");
static const string C_ArgPrefix("_appsuite_arg_");

void getEnvArgs(ArgList& args)
{
args.clear();

char *numArgsCStr = getenv(C_NumArgsName.c_str());
if (numArgsCStr)
{
istringstream ins(numArgsCStr);
int numArgs;
if (ins >> numArgs)
{
for (int i = 0; i < numArgs; ++i)
{
ostringstream argname;
argname << C_ArgPrefix << i;

const char *argnameCStr = argname.str().c_str();
char *argCStr = getenv(argnameCStr);
if (argCStr)
{
string arg(argCStr);
args.push_back(arg);
}
else
{
args.push_back("");
}
}
}
}
}

ArgList envArgs()
{
ArgList result;
getEnvArgs(result);
return result;
}

static bool cppsetenv(string name, string value)
{
bool result = true;
ostringstream spec;
spec << name << "=" << value;

result = (0 == putenv((char *)(spec.str().c_str())));
if (!result)
{
cerr << "Could not set environment variable:" << spec << endl;
// TO DO: Ditch the bool return value and throw an exception
}
return result;
}

static bool cppsetenv(string name, unsigned int ivalue)
{
ostringstream svalue;
svalue << ivalue;
return cppsetenv(name, svalue.str());
}

void setEnvArgs(ArgList& newArgs)
{
if (cppsetenv(C_NumArgsName, newArgs.size()))
{
for (unsigned int i = 0; i < newArgs.size(); ++i)
{
ostringstream name;
name << C_ArgPrefix << i;
cppsetenv(name.str(), newArgs[i]);
}
}
}

2005/08/03

RSS News Readers: Extrapolation

This claim is false:

"When people get an RSS feed, they need not go through standard Web site navigation patterns that we are accustomed to tracking. They look at just what they want, when they want."

The same claim could be made for the early web. The problem is not looking at what you want. The problem is finding what you want to look at.

What (I Hope) Is Next For RSS News Readers


RSS news readers help you find and read content which is of interest to you. They face challenges.

RSS Advertisements


News readers will become less useful if they cannot help you filter out RSS advertisements.

Redundant Articles


I already wish news readers could perform higher-order aggregation. My subscriptions reflect my interests, so they have significant content overlap. Just this morning, for example, I must have seen about ten different news items all providing roughly the same information about Mighty Mouse.

I wish my news reader could at least identify and group together "duplicate" articles such as these, so I could deal with them all at once. Click on one to read it, mark the others en masse as having been read, move on.

I wish I could use my system's standard search tools (Spotlight for me, who knows what for Longhorn^WVista users) to search through old feed articles.

Not to be a shill for Brent Simmons, but the full version of NetNewsWire seems to have begun to address these wishes.

It's nice that my most original ideas have already been had by others.

Soldier's Grove: Energy efficient public policy

WorldChanging: Another World Is Here: Disaster Recovery Done Right

"
Rather than rush to get buildings up and running as quickly as possible, the villagers took their time...

The village passed ordinances stipulating that new buildings be built to specific thermal performance standards and obtain at least 50 percent of their heating needs with solar systems...
"

2005/08/02

Eco-friendly foam increases shuttle foam shedding

Shuttle Foam Loss Linked to EPA Regs

'"NASA chose to stick with non-Freon-based foam insulation on the booster rockets, despite evidence that this type of foam causes up to 11 times as much damage to thermal tiles as the older, Freon-based foam," warned space expert Robert Garmong just nine months ago."'

2005/08/01

Successor to the Shuttle?

SafeSimpleSoon.Com

Seems pretty retro: a crew capsule sitting atop a booster, designed for automatic stability during re-entry and equipped with an escape rocket during departure. But it's supposed to be all new...

[update 2005/08/18]

Wired has a related article this morning, describing the progress of tSpace in their development of a new Crew Transfer Vehicle. They've used $6 million in NASA funding and have actually developed working hardware.

My favorite bit concerns new NASA administrator Michael Griffin, who according to the article said he "would buy rides for NASA astronauts on privately owned spaceships."

Inside Kyoto

Wired News: U.S. Spearheads New Climate Pact

"However, Kyoto excludes developing nations such as China and India, home to a third of humanity, from a first period of targets to 2012. Both have ratified Kyoto and promised to take part in talks to widen the pact beyond 2012."

2005/07/28

Behind Kyoto

New Scientist Breaking News - US-led emissions pact seen as Kyoto rival

"The world’s four largest coal-consuming countries have announced a pact to share technology for limiting emissions of greenhouse gases."

"The new pact ... allows the countries to set their own goals for emissions of greenhouse gases, with no enforcement measures."

According to the article, Australia pulled out of Kyoto even though the protocol would have allowed Australia increase its emissions by 8% between 1990 and 2010.

"[The signatory nations'] companies will now hope for increased access to Asian markets for their technologies."

"There is speculation that the new group will seek to reach a formal agreement with the signatories to the Kyoto Protocol. Such an agreement might allow companies from the new group who sell clean technologies to developing countries to gain carbon permits that could be traded with companies operating under the Kyoto Protocol."

2005/07/27

Beyond Kyoto

U.S. to announce 'Beyond Kyoto' greenhouse pact - Yahoo! News

"...the United States and Australia have never ratified the [Kyoto] protocol because it excluded major developing nations such China and India."

"Australian Environment Minister Ian Campbell said on Wednesday that the five countries had been quietly working on the pact for months.

'It's quite clear the Kyoto protocol won't get the world to where it wants to go ... We have got to find something that works better[...],' Campbell told reporters on Wednesday."

"...analysts say the protocol is of limited use because many signatories are already above their emission targets."

Nations as a whole may be exceeding their targets, but – just as there are pockets of low entropy in the universe – some places are producing lower emissions than others:

"Greenhouse gas emissions last year in Multnomah County, which includes Portland, dropped below the level of 1990, and per capita emissions were down 13 percent.

The city has also built 750 miles of bicycle paths, and the number of people commuting by foot or on bicycle has increased 10 percent."

2005/07/03

Sweden, Subobia, Kuwait: Civic Lessons

Treehugger: Biogas-Powered Train in Sweden

I worked in Linköping in the early 1990s. This small city in southeastern Sweden was remarkably different from my home of the time, Huber Heights, Ohio.


Miljö Vänlighet

Many of my coworkers in Linköping rode bicycles to work, even in the wintertime. They'd emerge from their offices in the afternoon darkness to stretch dry, warm cloth covers over the frozen bicycle seats. Then they'd strap their briefcases onto the cargo racks and disappear into the streets of hard-packed snow, trench coats tucked tight around them.

Those who didn't ride bicycles complained about their government's inconsistent social engineering efforts. "They have raised the price of bensin to encourage the use of public transportation. And now they have raised the price of public transportation."

We consultants, of course, had a rental Saab 900. In the summertime we might walk to work along the local canal, but in the winter we'd hustle a block to the parking lot, pile into the Saab, and enjoy the electrically heated seats during our ten-minute commute.


Outer Subobia

Back in the States my neighborhood was designed for cars, clotted with automobiles. It could take 20 minutes to get to the supermarket 2 miles away. Walking or bicycling anywhere seemed foolishly dangerous. Biking to work was out of the question. Far better to join the rush of semis and GM boatmobiles on the local highways.


Warped

Popular Science and the 1973 energy crisis had made a strong impression on me. So I had been delighted when my parents bought a 1976 Honda Civic, touted for its efficient CVCC engine (two combustion chambers per cylinder!) and top-notch engineering.

A few months later, after several blown head gaskets, a heat-warped aluminum head and a complete engine overhaul, my parents sensibly traded the Honda for a 1978 Ford Granada.

Unlike my parents I hadn't much regard for reality. And I had only contempt for the Granada, its hideous 3-box design and its crappy fuel economy. The car was disgusting then, and for the nearly fifteen years afterwards in which it ran without failure.

The CRX

Our family's experience with Honda automobiles had been bad. But I continued to admire Honda's efforts to produce fuel-efficient designs.

In 1983 rumors started circulating about a two-seat Honda design which would deliver 50 mpg on the highway and reach speeds of over 90 mph. The rumors proved true when the CRX HF appeared on the market. If I ever managed to buy a brand-new car, this would be the model.

In 1990 I got my chance. Lots of overtime and per diem from the Swedish contract had filled the bank account. In July I pulled out the yellow pages and called the local Honda dealerships.

It didn't take long to find a dealer with a CRX HF in stock. Within a few days the deal was done, and I started getting to know my new car.

Unlike the first Honda our family had owned this one lived up to its promise -- and then some: The EPA said the HF would get 52 mpg on the highway. It sometimes topped 60 mpg. It accelerated as well as my previous car, and had much better handling.

The CRX was all I'd hoped for. It fed my appreciation for design optimization. And, against the backdrop of continued visits to Sweden, it amplified my growing environmentalist-consumer smugness.

Kuwait

About a week after I bought the CRX, Saddam Hussein invaded Kuwait. Driving to work, I saw no signs of awareness. Hadn't anyone heard President Bush's warnings about the implications of the invasion for the U.S. oil supply? Vans and trucks and semis rammed the air aside, 10-15 mph above the speed limit, carrying only their drivers, blithely ignoring the cubic increase in power required to reach higher speeds.

You can imagine how smug I felt as they barreled past me :)

2005/06/18

Managing Finder Workflows

With the new Automator in Mac OS X 10.4 it's easy to add contextual menu items to the Finder. Just edit your workflow in Automator, Select "File->Save As Plug-in...", enter a name for the plug-in, and specify that the plug-in is for Finder. (Apple has posted some examples of how to create plug-ins.)

It's easy to add a workflow menu item. How do you remove one?

Intuition says that your personal workflows might be represented as files somewhere in your home directory. Finder's new Smart Folders should tell whether that's really the case.

Create a dummy workflow named "DeleteMe" and save it as a Finder Plug-in. Then switch to the finder and select "File->New Smart Folder". In the little brushed-metal "toolbar" which appears, select the "Home" folder. In the criteria list add the following criteria:

"Kind", "Any", "+"
"Last Modified", "Today"

Somewhere in the list of search results a Folder named "Finder" should appear. Hitting the info icon on that item doesn't tell much, but the "More Info..." button reveals that it's located in /Users/YourUsername/Library/Workflows/Applications/Finder. And lo, opening the folder shows an Automator Workflow named "DeleteMe".

Drag the workflow to the trash, right click anywhere in a Finder window, and select the "Automator" cascading menu item. The "DeleteMe" menu item should be gone.

The Short Form

Workflow menu items live in your ~/Library/Workflows/Applications/ folders. They can be removed from your context menus by dragging them to the trash.

There's probably a better way to discover all of this...

2005/06/16

Birds and wind farms

New Scientist News - Wind turbines a breeze for migrating birds

Migratory birds learn to avoid wind farms, at least in Denmark. But resident birds may not fare so well. For example, the wind farm in the Altamont pass in California has killed a lot of raptors.

The subsections in the reports on the Wind Power and Bird Studies page suggest there may be other environmental factors, e.g. grassland vs. desert vs. prey populations.

2005/06/12

Godfather of the Hybrid

According to TreeHugger, Victor Wouk has passed on.

I wasn't familiar with the name. Caltech, where he attended graduate school, provides more details. This year they hosted the inaugural Victor Wouk Lecture.

A Rich Life


The American Institute of Physics gives some idea of all the things Wouk accomplished.

He picked Caltech, in part, because they had open book exams. During WWII he worked on the separation of uranium isotopes. For the founder of Motorola, Russell Feldman, in the early 1960s he worked on designing a practical electric car. He eventually concluded that a hybrid vehicle would be more practical.

In 1970 the Clean Air Act was passed, following studies which showed the negative effects of smog. Wouk got a federal grant to build a hybrid electric vehicle. He built a Buick Skylark which got 30 mpg and could hit 85 mph. (But it didn't run on water. [1])

The EPA's Eric Stork opposed the hybrid approach. (I wonder why?) Only one car was built by Wouk and his company, Petro-Electric Motors.

Scientific American, Oct. 1997, pg. 71 makes reference to the Skylark.

The rest of his family has done alright, as well. His brother is author Herman Wouk.

[1] From the first season of "That 70's Show".
Hyde: "I heard about a car that runs on water, man."
Fez: "You mean a boat?"

2005/06/11

Dr. Sarah's Sum of Two Cubes Activity Sheet

Dr. Sarah's Sum of Two Cubes Activity Sheet

Obscure mathematics references may explain the demise of Futurama.

Installing PyOpenGL on Mac OS X 10.4.1

Update 2007/02/26



Mike Fletcher has been working on PyOpenGL 3, which uses ctypes instead of swig. As a result, installation and updating are a lot easier. See the SourceForge project page for more info, but here's a quick summary:

$ sudo easy_install PyOpenGL
Password:
Searching for PyOpenGL
Reading http://cheeseshop.python.org/pypi/PyOpenGL/
Reading http://pyopengl.sourceforge.net/ctypes/
Reading http://sourceforge.net/project/showfiles.php?group_id=5988
Reading http://cheeseshop.python.org/pypi/PyOpenGL/3.0.0a5
Best match: PyOpenGL 3.0.0a6
Downloading http://downloads.sourceforge.net/pyopengl/PyOpenGL-3.0.0a6.zip?modtime=1171556482&big_mirror=0
Processing PyOpenGL-3.0.0a6.zip
Running PyOpenGL-3.0.0a6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-9bs-Ie/PyOpenGL-3.0.0a6/egg-dist-tmp-1Y8vWy
Adding PyOpenGL 3.0.0a6 to easy-install.pth file

Installed /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/PyOpenGL-3.0.0a6-py2.5.egg
Processing dependencies for PyOpenGL


You can also install and run the demos:
$ sudo easy_install PyOpenGL-Demo


Once they're installed, how do you get at them?

$ cd /Library/Frameworks/Python.framework/Versions/Current/lib/python2.5/site-packages/PyOpenGL_Demo-3.0.0a6-py2.5.egg/PyOpenGL-Demo/
$ cd redbook
$ python movelight.py


Each demo pops up in its own lovely, top-level window.

Original Post



After upgrading to Mac OS X 10.4.1 I decided to install Python 2.4.1. Python made a framework install with no problem. But I ran into a small problem trying to install PyOpenGL-2.0.1.09.


I kept getting compile errors complaining about an incomplete definition for st_atimespec, et al. (Here comes another batch of extremely long lines...)





In file included from /Library/Frameworks/Python.framework/Versions/2.4/include/python2.4/pyport.h:155,
from /Library/Frameworks/Python.framework/Versions/2.4/include/python2.4/Python.h:55,
from src/config.h:1,
from _configtest.c:6:
/System/Library/Frameworks/Kernel.framework/Headers/sys/stat.h:225: error: field 'st_atimespec' has incomplete type
/System/Library/Frameworks/Kernel.framework/Headers/sys/stat.h:226: error: field 'st_mtimespec' has incomplete type
/System/Library/Frameworks/Kernel.framework/Headers/sys/stat.h:227: error: field 'st_ctimespec' has incomplete type





What was odd was that the build process was trying to include sys/stat.h from .../Kernel.framework/Headers, instead of from /usr/include.


I modified config/darwin.cfg and removed /System/Library/Frameworks/Kernel.framework/Headers from the list of include directories, and thereafter PyOpenGL built and installed without error.


The examples ran, too :)


Here's the context diff for config/darwin.cfg. Apologies, again, for the long lines -- I've tried to escape them using trailing backslashes.





*** darwin.cfg.orig Sat Jun 11 12:09:35 2005
--- darwin.cfg.new Sat Jun 11 12:19:42 2005
***************
*** 11,17 ****
[General]
build_togl=0
gl_platform=CGL
! include_dirs=/System/Library/Frameworks/OpenGL.framework/Headers:/System/Library/Frameworks/GLUT.framework/Headers:/System/Library/Frameworks/Kernel.framework/Headers
# Bob's OSX patch, comments out the library directories, adds -framework:GLUT
# for the *general* build parameters? Is that actually needed?
; Should make a 'frameworks= ' option!
--- 11,17 ----
[General]
build_togl=0
gl_platform=CGL
! include_dirs=/System/Library/Frameworks/OpenGL.framework/Headers:/System/Library/Frameworks/GLUT.framework/Headers
# Bob's OSX patch, comments out the library directories, adds -framework:GLUT
# for the *general* build parameters? Is that actually needed?
; Should make a 'frameworks= ' option!



2005/06/10

Trac, clearsilver and Python 2.4.1

Trac is an excellent web-based issue tracking system. It depends on clearsilver.

Clearsilver 0.9.14 doesn't like to configure with Python 2.4, due to changes in the internals of Python's site module.

The fix is easy enough, but for some reason it's hard to find via Google. (You can find it by searching for Python 2.4 within clearsilver's Yahoo Groups discussion forum.) Here's a context diff for clearsilver's configure script, showing the fix that worked for me. Apologies for the long lines...


*** configure Tue May 24 16:28:58 2005
--- configure.orig Tue May 24 16:24:45 2005
***************
*** 3084,3091 ****
PYTHON=$python_bin
PYTHON_INC="-I$python_inc"
PYTHON_LIB=$python_lib
! PYTHON_SITE=`$python_bin -c "import sys, os; print os.path.join(sys.prefix, 'lib', 'python%s' % sys.version[:3], 'site-packages')"`
! # PYTHON_SITE=`$python_bin -c "import site; print site.sitedirs[0]"`
BUILD_WRAPPERS="$BUILD_WRAPPERS python"
fi
fi
--- 3084,3090 ----
PYTHON=$python_bin
PYTHON_INC="-I$python_inc"
PYTHON_LIB=$python_lib
! PYTHON_SITE=`$python_bin -c "import site; print site.sitedirs[0]"`
BUILD_WRAPPERS="$BUILD_WRAPPERS python"
fi
fi


Here is the relevant discussion thread.

2005/06/09

Wired News: Tiger Tweaks Could Kill Folders

Wired News: Tiger Tweaks Could Kill Folders

A mantra from the late '90s: It's better to search than to browse.

"...he used Spotlight to find all the bulky QuickTime movie files scattered across many different folders. Then he created a Smart Folder for them so he'd always be able to quickly see which little-used files he could delete."

2005/06/07

WebObjects 5.3 is bundled with XCode

WebObjects 5.3 Release Notes

See previous post -- too much to learn.

Among others, Aaron Hillegass has praised WebObjects. He has held it up as a standard against which to measure recent changes to Cocoa (and its Controller layer), and has sometimes found the latter lacking.

Haven't yet had a chance to do much with CoreData and the modeling tools in XCode 2.0. Now XCode 2.1 may help me understand what the fuss was all about.

Fun times.

Webkit is wide-open

Surfin' Safari

My list of things to learn was big enough before reading this...

2005/05/15

Family Ties

This morning I was minding my own business, googling for my grandparents' cookbook, when I was reminded of a web of family ties.

My dad used to play in a country band in Columbus, Ohio. His musical talent was part of the reason he met and married my mom, whose parents were Smiley and Dallas Burnette.



My brother and I grew up in New Albany, Ohio. In the summers we used to spend a lot of time at Uncle Hank and Aunt Donna's house, which was next to their pizza place.

Uncle Hank and his brothers had once played as Hank Newman and The Georgia Crackers. His musical talent played a part in his meeting and marrying Donna, who was born Donna Albanese.

The Georgia Crackers
The Georgia Crackers -- The Newman brothers are the three in back. Left to right: Uncle Slim, Bob, Uncle Hank.


The Georgia Crackers had long since disbanded by the time I showed up. The only time I remember hearing them play was one night at Veteran's Memorial Hall, when I was maybe five years old. The high points of the evening for me were getting to stay up really late, seeing Uncle Hank and his brothers on stage (I'd never met Bob before, but it was funny when he picked up that huge bass violin and "threatened" to leave the stage), and Tex Ritter and his amazing blue cowboy outfit, studded with rhinestones. I never got to say a word to Mr. Ritter but remember staring, mesmerized, at the back of his jacket as he sat at the bar in Uncle Hank's den after the show.

[So much for memory. Dad says it was Uncle Slim who was fiddling with the bass.]

The Newmans had met Grandpa in the late forties, on the set of one of the Durango Kid movies. I guess they'd long been established in Columbus by that time.

Mom met Dad in Columbus, while she was driving Grandpa around the country on one of his road tours.

The mesh ties together. That's how my brother and I came to spend our summers with Uncle Hank and Aunt Donna.

Century of Country

Other references to the Georgia crackers are here and here.

2005/05/12

Google's Singularity machine

Epeus' epigone - Kevin Marks weblog, on Google's Singularity Machine


Map/Reduce

"Map/Reduce" evokes and . (Danny Hillis wrote about the CM architecture in the late 1980s.) Would there were time enough in the day to get hands-on with parallel and distributed algorithms.

Ceviche

What is ?

Sadly, this reminds me of my neighbor across the hall at Los Piñones apartments. He was not much older than me, in his early 40s I think. He was fond of seafood. In late summer of 2003, when my job and the health of my parents both took bad turns, he began to lose his life.

Suddenly taken ill, my neighbor was hospitalized with what was, for the first month, an unknown but deadly serious infection. The hospital staff in Albuquerque did what they could. Finally one doctor, after a flash of insight, walked in and bluntly asked whether my neighbor had recently eaten seafood.

From that point it was clear how to treat him, but it was too late. The infection had done too much damage. I can't remember all of the complications he suffered; I believe pneumonia and kidney failure were among them. Just before Thanksgiving, he died.

The restaurant was not shut down. As far as I know, they didn't even remove uncooked seafood from their menu, or add any cautions to it. Granted that would have been bad for business. And life is full of risk anyway. But some indication of regret would have been nice.

2005/05/11

2005/05/04

Wired News: Ethanol Grows as Gas Alternative

This article --

Wired News: Ethanol Grows as Gas Alternative

-- raises a few questions. It describes a process by which ethanol can be converted to hydrogen; and, separately, the current use of ethanol as a gasoline additive.

The most obvious question: what, if any, relationship exists between the conversion processes described in the article, and this research by Penn State researchers?

Is the hydrogen conversion technology being considered for use in cars, e.g. in fuel-cell vehicles? Or is it only for use in hydrogen "refineries"?

How does the carbon-dioxide by-product of the process affect the total environmental cost of hydrogen as a fuel?

Ethanol is made from grain crops, and the existence of the "corn belt" in which those crops is grown depends on certain climate conditions. Ongoing changes in global climate mean that the corn belt may move or disappear altogether.

It's easy to imagine a world in which we've become dependent on grain crops for both fuel and food (directly and indirectly, through consumption of meat and poultry). And it's slightly amusing to imagine a world in which, due to climate change, the "corn belt" has moved to Canada.

Much less amusing is a world in which that belt has disappeared.

Not to dismiss ethanol/hydrogen for the sake of an unlikely eventuality, but how likely is it that a drastic change in the grain supply will happen?

How likely is it to happen within the next 100 years? After all, you don't need to solve your problems once, for all. You need to solve them just long enough to buy time to find a better solution.

How long is long enough? Gasoline-powered vehicles have solved so many problems of transportation that we now have trouble replacing the extensive infrastructure which has grown up around them.

Ethanol/hydrogen is interesting as a possible fuel source. It's maybe more interesting for the questions it raises about climate and politics.

2005/04/29

Photoshop CS2 HDR

Photoshop CS2 HDR

A couple of years ago I saw an article on how to use Photoshop and exposure bracketing to create composite images that had good detail in both highlights and shadows. The article explained that digital had a smaller dynamic range than film, and that even film didn't have the range to cover some landscape scenes.

By the time I was done reading I had the impression that the author, Michael Reichmann, would be pleased if he didn't have to compress the dynamic range, but instead had a way to combine two images of 8-bit depth into a single image having, say, a 12-bit range.

Sure enough, the new Photoshop release can do it. And the same author has posted an article on how to use it:

http://www.luminous-landscape.com/tutorials/hdr.shtml

Naturally, now the problem is that neither computer monitors nor printers can handle 32-bit image data. And at the end of this article Mr. Reichmann suggests that camera manufacturers need to begin producing cameras that provide better control over exposure increments when producing bracketed shots.

But why stop there? Why not let the camera do its own sampling of light levels across the scene and then automatically produce bracketed shots which cover the scene's entire dynamic range?

Even better, why not perform the bracketing and merge in-camera, producing a final, high-dynamic range image with no effort on the part of the lazy photographer? (Me.) I can think of only three reasons: processing power, battery power and memory :)

2005/04/20

Wired News: People Are Human-Bacteria Hybrid

Wired News: People Are Human-Bacteria Hybrid

we are best viewed as walking "superorganisms," highly complex conglomerations of human cells, bacteria, fungi and viruses...we are somewhat outnumbered by the [microbes].


Nicholson's colleague, professor Ian Wilson from Astra Zeneca, believes the "human super-organism" concept "could have a huge impact on how we develop drugs, as individuals can have very different responses to drug metabolism and toxicity."


the human genome does not carry enough information on its own to determine key elements of our own biology.


2005/04/03

TortoiseSVN

Some of my co-workers dislike using the command-line to access Subversion repositories. For those running Windows, TortoiseSVN is looking good.

Once it's installed, subversion operations become available from the context menu of Windows Explorer. Checkouts, commits, configuration of TortoiseSVN, it's all right there.

When you're browsing a local checkout of an SVN repository, document icons are decorated with green checkmarks, red exclamation marks, etc. to show whether they are in sync with the repository, whether you have made local modifications, etc.

So far the only problem I've had with TortoiseSVN has been in figuring out how to do a checkout from a read-write repository. There may be better ways of solving the problem, but here's what has worked for me.

First, use svn+ssh to access the repository. In the URL, specify your username on the subversion host. And of course this means you need to use the absolute path to the repository in the URL:

svn+ssh://my_username@my_svn_server/abs_path_to_repository/my_project/trunk

Next, modify the TortoiseSVN settings to enable ssh tunneling. I'm not sure this is really necessary. But I did make the change, via the "Edit" button next to the "Subversion configuration file" label. Once notepad popped up with the contents of the config file, I uncommented the lines for ssh tunneling:

[tunnels]
ssh = $SVN_SSH ssh

2005/04/02

svn+ssh: Using Subversion with SSH

I've been trying to learn how to enable secure shell (SSH) access to Subversion, on both the client and server sides. It's kind of a pain.

The whole point of using SSH is to avoid sending your source code in the clear, so maybe the pain is worth it. Or maybe this is such a common-sense usage of Subversion that somebody (like, say, me) should put some effort into making it easier to do. But I digress.

To connect to an svnserve daemon via SSH you use this repository syntax:

$ svn co svn+ssh://.../

This requires some careful preparation. First, you need to have the following lines uncommented in your client-side ~/.subversion/config:
[tunnels]
ssh = $SVN_SSH ssh

Then, on the client, your URL must include the absolute path to the repository, followed by the path of the project you want to check out from the repository.

For example, suppose you ordinarily use this command to check out a project:
$ svn co svn://svn_server/project/trunk local_name

In order to perform the same checkout using an svn+ssh URL, you'd have to use this command:
$ svn co svn+ssh://svn_server/abs_path_to_repository/project/trunk local_name

You also need an account on the SVN server, with the same username as your account on the client machine. Or you need to specify the username when performing your svn checkout, like so:
$ svn co --username bubba ...

Or you need an entry like this in your ~/.ssh/config, to tell ssh as whom it should connect to the server:
Host svnserver
Hostname svnserver.blah.com
User bubba

On the server, you need to ensure that svnserve is in the path of the user account under which you run svnserve.

You also need to ensure that the account under which you run svnserve, as well as your user account on the server and any other userr accounts which need access to the repository, are all members of the same group. (subversion would be a good name for the group.)

You also need to make sure that your umask is set to 002 (group write-able). Otherwise other users of the remote repository might find themselves suddenly unable to change some file that you've added.

Got all of that? Good! Of course, I probably forgot a few steps...