Saturday bokken work

October 11th, 2003 | 12:17

Some notes on the kata:

In terms of stance, the weight is shifted forward, knees bent, on balls of feet. This is different from open-hand, where the weight tends to be 50-50 on each feet.

For shomen, the wrists should break on the cut. The leading hand is actually the pommel hand. When chambered, the point should be pointing up, not down.

For 3 and 4, keep the bokken pointing at uke as long as possible, while the bokken’s movement is being led by the lower hand. In fact, the point of the bokken should be a fixed point until it gets pulled back by the leading pommel hand. In the parrying position, the hands should be above your head, so you can see uke through your arms, i.e., vision isn’t occluded by the hands and handle of the bokken.

In all of these, and 7 and 8 in particular, any foot movement is small. The smaller the better, since you don’t want to create space from uke, which uke can take advantage of with a full cut. It’s also very easy to subconsciously move side-to-side instead of towards a back corner; definitely move to the corner. It’s not necessary to switch feet when counterattacking on 7.

For 9 and 10, the bokken, sort of like in 3 and 4, should be kept pointing at uke’s throat, and the bokken’s point should be fixed while it rotates to parry. Again, the counterattack should be forward, without stepping back.

Shadow Illuminator

October 9th, 2003 | 18:40

I found the Shadow Illuminator through Metafilter.

From the comments to the Metafilter posting, the Shadow Illuminator apparently implements a simple to use web-based contrast mask: quite possible in Photoshop, and probably not as good looking compared to what a Photoshop guru can do.

Of course, I’m not a Photoshop guru — I don’t know much more than tweaking gamma — so I’m inclined to go along with this website to correct the worst of the digital photography mistakes (or at least the photos with unintended chiaroscuro). The drawback is that the sample photos look a bit “flat” — omnidirectional light sources aren’t really natural. If I register, I can apparently control the amount of filtering actually applied.

Organic Yogurt

October 2nd, 2003 | 08:39

The Atlantic‘s October issue has a short article — unfortunately not available online — on “big organic, small organic”. It’s a compare and contrast between the small Butterworks Farms and the almost industrial Stonyfield Farms. It’s a battle of the organic yogurt producers!

The article’s lead point is that

Flavor, in fact, seems to have fallen fairly far down the list of what motivates consumers and producers of organic food: health concerns and simple market share are taking priority, not only over flavor but also over the environment.

Butterworks is hailed as the small company where you can still taste the grazing season of the cows in the yogurt. It’s only distributed on the East Coast, down to about Raleigh-Durham, because there are no additional additives like pectin to give it greater stability during transportation. Stonyfield is depicted as the company that has brought organic yogurt to the masses, and donates part of its burgeoning market share to good causes. Making and distributing organic yogurt this widely requires compromises, though: it adds sugar, markets flavors with mass market appeal, uses pectin and other stabilizers.

All this isn’t that remarkable: interesting local flavors are attenuated when marketed widely, partially for logistical reasons, partially because mass tastes are geared towards a (possibly lower) denominator. Unlike, say, some of the French, I’m neither here nor there on this issue: I think it’s great we have tomatoes and oranges in the dead of winter. And relatively cheap, too. Ultimately, the choice of whether one buys the local produce or the vegetables shipped across continents from industrial farms is one that takes place in the market. At least we have the freedom to pick one or the other, depending on what our needs and tastes are for that day.

Anyway, the main thing that caught my eye about Stonyfield’s yogurt is that they’ve bred their bacteria over time to be less sour, less acidic. This fact may explain a problem I had last month when I was making yogurt and used some plain Stonyfield as my starter. For two weeks, repeated attempts at yogurt fermentation failed miserably. Everything got back to normal after that, and I’ve been using the whey from the previous batch as starter for the next batch. The difference is that when my yogurt was failing, I had opened the Stonyfield container and ate that for a few days before trying to make my own — I was using the yogurt left at the bottom of the container for the starter — and when it succeeded, I took the starter from the top, right after opening the container. Possibly, I kept contaminating the starter. If Stonyfield yogurt is engineered to be less acidic, then it’ll be less resistant to stray bacteria. The reason it’s OK to let milk sit at 110 degrees on your kitchen counter for half a day is because L. acidophilus and bifidus lower the pH of the milk enough to kill off their competitors. Presumably, my way of using Stonyfield as starter left the yogurt environment at a knife’s edge, where successful fermentation depending on the chance that bacteria won’t land on the yogurt before I got to it.

I should pick up the Butterworks yogurt to give it a try. If only to see what difference the more acid bacteria would make for my own yogurt production. It’s available at Fairway. I can give it a whirl with whole organic milk also, but, I don’t see the need with local store-bought milk. It’ll all be pastuerized anyway.

Entertainingly, that issue of the Atlantic also has a discussion about whether “frankenfoods” will save the world: genetically modified foods lead to reductions in pesticide use, soil depletion, erosion, etc., whereas traditional farming methods, such as those practiced by organic farmers who eschew GMO crops, can have a relatively heavy footprint on Mother Earth. Given that world population isn’t going to peak for the next fifty years, where is all that food going to come from? Without GMOs, it means that forests will have to be cut down, low quality farmland exploited, and so on. Go GMOs!

Mapquest does longitude

September 30th, 2003 | 07:49

My friend Itai’s sailing the South Pacific right now on a three month sabbatical. He’s been sending occassional updates by email: in the little villages of Fiji, the tentacles of the global Internet reach into local cafes.

The Subject lines of these emails describe his location in time and space: presumably localtime, with map coordinates. I finally got around to Googling for a way to display a map of an area, given coordinates, as opposed to the usual thing where you put in a street address or intersection.

After a few missed attempts and wandering around in K-12 webpages that teach children what a map is, I finall came across this About.com page that linked me over to a MapQuest page that lets you search by coordinate. About.com is more useful than I’ve given it credit for.

Anyway, Itai’s latest location is: 17’06.77S 179’05.57E. There’s a minor conversion for decimal seconds, and you may have to zoom out a few levels on he MapQuest page to get a better view of the area, but the tool works nicely.

I should check to see if he wants his emails posted on his website, perhaps with MapQuest links to illustrate where he’s been. I also came across Confluence.org, which seeks to obtain photographs of every map coordinate in the world. There’s nothing at Fiji right now.

Jury Duty 2003

September 29th, 2003 | 16:44

I was called to Jury Duty last week on Wednesday. Since the late 1990s, New York City draws it’s jury pool from every list of residents it can get its hands on: driver registration, voter lists, Social Security, who knows what else. Automatic exemptions were removed at that time, so now, with more or less everyone serving (including, we’re told, a former US Attorney General), we’re only called to serve every four years or so. For almost everyone, there’s no getting out of jury duty; there’s only postponing it if it was particularly inconvenient. And, almost like clockwork, I served a bit more than four years ago.

I was at 100 Center Street, the Criminal Court building, like last time. I don’t believe the jury pool waiting room has changed, except now the signs have URLs at the bottom in addition to phone numbers. We still turn in our paper jury duty summons cards when we check in, and the cards are put into a rotating lottery bin to pull out the several dozen cards used for each trial’s pool. One difference: after watching a lot of Law & Order these past few years, I now know that “Part” is court system-speak for a particular court room in the building, presumably with its own set of judge’s chambers, baliff’s desk, deliberation room, and whatever else constitutes the suite of facilities used for trials in the city. There were a bit more than a dozen parts active in the building. I don’t know if judges share parts, or if they’re apportioned on a rotating basis, or if each part handles several trials simultaneously.

The clerk in charge of the jury waiting room is an old veteran, who fully understands that the vast majority of potential jurors waiting around would rather be elsewhere. He made our stay there easier with vaguely ironic jokes about the facilities and our service there. Whenever a trial needs juries to go through voir dire, the clerk puts all our cards into the rotating bin, spins it a few times and pulls out handfuls of cards. Names are read off, and the selected group is sent off with a bailiff, who has the cards in hand. It’s all very paper driven, with little cards flowing from one part of the system to another. There doesn’t seem to be a particular need to computerize this visible part of the process (the invisible parts have to do with bar codes on the cards, that records our terms of service), as these cards are exactly sufficient, and the bailiff sneaker net transporting cards from clerk to trial works fine, and constitutes a chain of custody. The rotating bin is also a symbol of randomization: names are selected through these physical means, not through an inscrutible computer screen. In this case, the symbols of random selection are probably more important than the mechanism, even though the mechanism may have more imperfections than electronic means. Note that the randomization isn’t for our, the jurors, benefit, so we can feel fairly selected vis-a-vis the guy sitting next to us in the waiting room: the randomization is to guarantee that the jury pool prior to voir dire is random. It’s for the benefit of the defendent.

Lucky me, I got called into a trial on the first lottery of the day. After we filed into the court room and took our seats in the specators benches, the judge, attorneys and defendent made their formal introductions. It was a cocaine possession trial. The defendent looked like a nice guy, saying, “Hi” to us with a shy wave. Never underestimate the power of nicely saying hello to strangers, especially ones who are going to judge your guilt.

Our juror cards went into a lottery bin kept by the part’s clerk, just like the larger one down the hall. Round and round for another random drawing. I was the tenth person called into the jury box for voir dire. The judge ran through the standard questions — do we know the ADA, the defendent, the defense attorney? do we know the area in question? are we related to anyone involved with the justice system? — and so on. After every few questions, a couple of people basically said that they couldn’t pass judgement on another person, or couldn’t put aside their biases to render a fair verdict. They were dismissed, and replacements were called in to take their place in the jury box. After the judge’s questions, the ADA and then the defense lawyer asked their questions.

Both the attorneys went out of the way to say that this was real life, not “Law & Order”. Lives actually do hang in the balance, and there won’t be any surprise twists or emotional confessions. It won’t be like TV.

Because this was a drug trial, the ADA’s primary questions were about how we felt about drugs, and reminded us that, no matter what we felt about decriminalization and the severity punishment, the law is still the law, and cocaine possession is against the law. Can we render a fair verdict, no matter what our political beliefs are? From her questioning, it appears that Manhattanites support pot legalization to varying degrees.

Because this was a drug bust, the defense attorney’s questions focused on whether or not we believed police officers could lie on the stand, and whether we would think negatively of anyone who didn’t take the stand in his own defense (which people do on TV, but not in real life). Apparently, the trial will revolve around the testimony of police officers, and the defendent isn’t testifying. We were reminded that her client is innocent until proven guilty, and it’s up to the prosecution to build a case beyond reasonable doubt, not for her to present an active defense. We the jurors generally agreed that cops were fallible humans, though a few jurors tended to think that it was necessary for the defendent to testify, “to hear his side of the story”. I’m not sure if this last part shows a need for more civics classes in this country, or an admirable desire to try to get the complete story. Or maybe both.

After voir dire, all the potential jurors, in the jury box or not, were asked to step outside into the hallway while the attorneys and judge conferred. After ten minutes, the bailiff came out and called all of back in. The judge read off three names — these would sit in the jury once the trial started — and let everyone else go to lunch. I wasn’t one of these three names.

Lunch near Chinatown for me means Vietnamese food, mainly because Vietnamese restaurants on the Upper West Side are relatively rare and relatively expensive. I went to the standard noodle shop across the street from the court building, got a bowl with random seafood in it as well as a Vietnamese-style coffee with condensed milk. I wanted to try out this $2 sandwich shop that was mentioned in the NY Times, but I didn’t have the address handy. It turned out to be on the next street over. Which was just as well, as the soup was good, and I needed the coffee. I was able to get to the sandwich shop the next day, and I picked up two shrip Vietnamese summer rolls with dipping sauce for about $2.75. It was yummy.

One other difference between four years ago and today is that bubble tea arrived on these shores, bringing with it Hong Kong-style snack shops in its wake. There’s one on the corner of Walker and Center that servers “healthy” mango-based snacks. I got a mango-coconut sago drink from there to go with my soup for lunch.

Heading back to the waiting room after lunch, I was stopped at the security checkpoint when the screener noticed that I had a digital camera in my bag. Cameras aren’t allowed, apparently, and mine was held until I left for the day. The screener in the morning hadn’t noticed it. Four years ago, the morning screener didn’t notice my Leatherman, which is considered a weapon, and was similarly held. There’s probably something to be said about the screeners in the morning needing more coffee/training.

When I picked up my camera in the evening, I noticed there were a bunch of phones at the security desk, too. They filtered out camera phones during screening. I’m not sure if they’re looking out for Sony VAIO laptops with the cameras mounted on the case, but I doubt it. I’m not sure what they’re going to do in the future, as cameras get smaller and ubiquitous. Presumably, they’ll have to punish the act of illicit courtroom photography, rather than try to intercept every picture taking device as they enter the building. I suppose the difference between the cameras and the weapons is that no one will likely die if a camera is snuck into the building, whereas that’s not the case with weapons. The other thing to note is that in the future, I should stay with GSM on my phone service, and keep a non-camera phone handy so I can just move the SIM chip if I need to take a phone somewhere where cameras are prohibited.

The first day ended uneventfully. The second began the same way, with the sitting around and not being called, reading and napping. I found the small jury room near the clerk’s office has nicer chairs and was warmer, especially in the sun. A few hours after lunch, the clerk called out around twenty names. I was one of them, and the clerk said we were to go to a different building. We followed him out the door, and down one floor, where he had us line up. I thought there might be some sort of bridge between buildings, but it didn’t look like there was anything like that there.

The clerk said we were all free to go, and that he had our service receipts with him. We were told to basically sneak out: don’t go back upstairs to say goodbye to your neighbor in the waiting room. I guess they had more jurors than they needed for the remainder of the week. I had already gone through a voir dire, so I had already sat in the jury box. The subterfuge was presumably so that he wouldn’t have to answer any “we can leave?” questions from the people still waiting upstairs. I’m not sure about the others, but we all rushed to the nearest elevator and got out, at least for the next four years.

It was still early, so I headed back to the office. But not before stopping for some mango pudding to go.

Base64 email MIME decoder

September 19th, 2003 | 14:04

Finally, I have (simultaneously) the need and the opportunity to find a perl script to decode the base64 MIME attachments in a set of email.

The script is used for GNATS (the GNU bugtracking system) to handle attachments and can be found here. It takes an email file from standard in and writes the message’s decoded components to an output_path subdirectory ($output_path has to be set, of course).

The necessary Perl modules aren’t all found on a standard Red Hat distribution; the one that has to be built is MIME::Parser. Luckily, someone has made a source RPM for perl-MIME-tools (which contains MIME::Parser as well as other things) available over at www.rpmfind.net. Note that perl-IO-stringy is required to build perl-MIME-tools.

Note that for relatively simple, one-shot decoding, the default Red Hat distro comes with MIME::Base64. With some file editing to get the base64 parts out of an email message, one can run a script like this without installing extra modules:

#!/usr/bin/perl

use MIME::Base64;

$infile = ‘test.b64’;
$outfile = ‘test.out’;

open(FH, “< $infile"); undef $/; $input = ;

close FH;

#$encoded = encode_base64($input);
$decoded = decode_base64($input);

open(FH, “>$outfile”);
print FH $decoded;

The Hakama

September 16th, 2003 | 08:36

Putting on and folding the hakama isn’t that suited to blog entries. It’s a matter of repetitive tasks that don’t conform well to written notes. However, I’ve brought my hakama back home for laundry, and I’ll need to figure out how to fold it (neatly) on my own.

Google results don’t seem to be that helpful, since the same drawing has been copied on from one kendo or aikido website to another, like a piece of Xerox-lore. The folding diagram is generally what we do, but it misses a few tricks of movement, in terms of how to get a neat bundle before the final ribbon tying. This kendo site seems to have an extra tuck underneath the himo that, at least from the description, makes an easier to carry package. The way we fold the hakama, the ribbons are nicely tied, but you can’t pick it up by the himo, since the bulk of the hakama will just unravel, and this extra tuck seems to fix that. I’m not sure if you’re supposed to pick it up by the himo in the first place, though, and the way these kendo people do it leaves a wider-than-expected package.

The main tricks that are left out of the folding diagrams have to do with lifting the hakama up in the early stages to help resolve out the worst crumpling. There’s also a need to pay a lot of attention to straightening the pleats before folding the “wings” over them. These are the subtle nuances left out of the first three pictures; everything has to be neat before working on the himo. Tying the himo is actually relatively easy.

I think I have a good idea on how to put on the hakama securely now, after being dressed by other people a half dozen times. The available diagrams either presume some sort of weird suspenders arrangement or tie it front to back. Both appear to leave out the crucial trick of looping the himo, so that the hakama is pulled up as the himo passes from above to below the belt; everything hangs off a securly tied the belt. In the first diagram, they use some weird suspenders thing so presumably it doesn’t matter. In the second, I don’t know how everything stays up. We also put the hakama on from back to front, with the himo tied below the obi knot. This works well, as the hakama hasn’t come apart, even through the vigorous chaos of sparring and multiples.

Third Watch filming

September 16th, 2003 | 07:44

I recently discovered that my building swipe card works for opening the back entrance to the lobby. So, I have a choice when I get out of the subway in the morning: be marginally more lazy and go through the back, or go up to Broadway and around to go through the front. The old newspaper stand in the lobby has moved into more spacious quarters located in the front of the building, and I usually stop by there on Monday mornings to pick up a new bottle of water. Yesterday was Monday.

So, I turned the corner on Broadway, and see a big sign behind the bull: “Filming Third Watch”. On the other side of Bowling Green, I could see a small crowd of spectators and a line of police cars, red lights flashing. I never watch Third Watch, so there wasn’t that much interest in seeing what was going on.

Imagine how surprised, startled and concerned I would have been if I had gone through the back entrance that morning and didn’t see the sign. About half an hour after getting to work, we hear gunfire from outside the building: bang, bang, bang. Looking out the window, you could have seen the line of police cars and a squad of ESU cops clustered just outside the Bowling Green subway station. Bang, bang, bang. But, no worries, I knew they were filming, and mentioned this to coworkers as they went to the windows.

A little while after that, people in the office noticed that there was a film crew on the roof of the building next to us (and an additional camera across the way on a ledge of 26 Broadway). They were filming a sniper shooting down on Bowling Green, with the camera behind his head and pointing down along the gun to the scene on the street, and, later, the reverse angle on a makeshift wall. With the windows open, you can hear the direction: “Action!” BANG “Action!” BANG and so on. Then the arms master has to reload the gun with blanks while the guy in black with the tattoos and do-rag — an almost archetypal bad guy, if only the good guys wore white — loitered around waiting for the next shot. And they’d do it again.

I’m not sure when they’re showing this episode, Third Watch’s big ripped-from-the-headlines sniper story.TVtome.com doesn’t have episode descriptions for the upcoming season yet. I guess from the filming schedule, it’ll be shown in the second month of the season, presumably October.

Four tests

September 16th, 2003 | 07:13

The dojo had a total of four brown belt tests on Friday and Monday. A little bit of a scheduling pile-up, but everything went well. The testees were did great — Friday had ikkyu and nikyu promotions, and Monday had two sankyus — with an entertaining time had by all.

Here are the photos. There aren’t too many, since my digital camera reacts too slowly to be useful in getting action shots. It fires off anywhere from half a second to a second after the button is pushed, leaving me with plenty of shots of the back of the gi:

Unfortunately, there weren’t more shots of the spectator reactions, particularly in the second test. One of Elizabeth’s friends was in cover-your-eyes mode when the knife came out.

The last photo in the set is of a weird bicep bruise I got after Friday. I have no recollection on how it happened, nor can recall any circumstance where a bruise like that would appear. I should start a gallery of weird-and-unexplained-jujitsu-bruises. Beyond that, no injuries on my part except a stubbed toe; the couple of glancing blows across my face over the two test nights haven’t left a mark.

My RSS viewer

September 13th, 2003 | 11:31

I just put together an easy RSS portal package. Here’s the overview section of the README:

This package provides a personal protal for RSS syndicated newsfeeds. The goal of this project was to provide myself with a personal portal off of my website that I can go to when I want to catch up on a number of sites I like to read during the day. Instead of visiting all these places, I can go to one page and see if there are any interesting stores that have recently been posted.

One inspiration for all this was a recent Slashdot article on how RSS feeds may replace mailing lists because of spam and the subsequent discussion on RSS readers. This tidaka.com/board posting on b2 and RSS pointed me in the direction of a PHP class for RSS. The fase4 RDF class is the basis of this package.

One remaining question was how one manages the RSS links in a reasonable way. A database, of course, is probably the best way to do this, and Mike Little’s b2 Links hack was perfect for the job. b2rss_viewer looks for its RSS feed names and URLS based on a link category in the b2 Links database. As coded, the category has to be named ‘RDF’, but this is trivial to change.

One quibble with the whole thing: a lot of the blogs I read are based on Blogspot/Blogger, which doesn’t have RSS feeds for the bulk of the blogs. It’s unfortunate. I’ve had to leave the Blogger entries available on the right sidebar instead of moving them into the link manager/rss viewer setup. A few of the other blogs with RSS feeds also provide relatively poor feeds, in particular Instapundit and ScienceBlog. Oh, well. Presumably the feeds will improve over time as RSS becomes more widely used.

Anyway, the .ZIP package for the first version of the viewer is available at http://www.cjc.org/blog/files/b2rss_viewer.zip.