CA TTBR Document Review Reports are Published

elections, certification/testing, vendors, standards, news, privacy, research, policy, legal


(Sorry, running out of the office.)

Script to move a file to a new directory named after its hash

hacks, open source, friends, education

Someone the other day asked me about a link I sent... I frequently will put stuff up on my webserver and put files in directories named after the hash of the file. This same someone wondered if I had an automated way of doing this... the answer is yup. Below is a bash script that moves a file into a directory named after its hash.

(you can copy this to a file named mvmd5dir, make the file executable (chmod gou+x mvmd5dir) and then move the file to somewhere like /usr/bin/ so that you can just run it from anywhere at the command-line.)

# mvmd5dir (Time-stamp: <2007-09-28 00:20:24 josephhall>)
# This script accepts filenames from the command-line, then
# calculates the md5sum hash of the file, creates a directory
# named after the md5sum and finally moves the original file
# to the new directory. (This script is public domain yo.)
#wrap in a for loop handle multiple files
for oldName in "$@" ; do
    #store the md5sum hash value in a variable
    #NOTE: the "cut" command extracts the hash value
    md5print=`md5sum ${oldName} | cut -f 1 -d " "`

    #create the new directory using the hash value
    mkdir ${md5print}

    #mv the file to the new directory
    mv ${oldName} ${md5print}

    #report out to the user what we've done
    echo just moved ${oldName} to ${md5print}/${oldName}

Some comments and corrections to "Clarity on 'Software independence' in voting systems"

elections, certification/testing, standards, policy, legal

(If you're a regular reader, this will probably be boring... so skip it.)

The Election Technology Blog recently wrote a post entitled, "Clarity on 'Software independence' in voting systems" (presumably authored by Chris Backert who I had the pleasure of meeting at EVT'07). Since comments are closed there, I'll post some comments and a couple corrections here... below the fold.

UPDATE [2007-09-24T13:50:36]: Chris has posted some more thoughts and all I can say is that I'm glad there are people like him keeping such a close watch on things over there.

Full story »


wine, tasting notes

A few of us went out last night to Bourbon and Branch... a seriously cool bar that goes to great pains to replicate a speakeasy atmosphere. They even go as far to have a slew of rules that, if you break, can get you kicked the hell out. There's no sign in front of the place, you have to have reservations and there's a great little library room in the back that you enter through a trick bookcase-door. Too Cool.

I had two fine bourbons: a Black Maple Hill small batch bourbon (~8 years, probably) and the most amazing 23-year old Vintage Rye from Kentucky Bourbon Distillers. The BMH was good and tasty (about $14) but the rye (much, much more expensive) was truly out of this world amazing. As the bartender explained, 23 years is about the limit for aging in-barrel of a bourbon... but rye whiskey seems to hold its spice and sweeten up right up to 23 years (and, apparently, there is quite a bit of lively debate about how long is too long to age this stuff). Needless to say, the Vintage Rye was mellifluous, slightly sweet and the taste was so complex that it was inexplicable, in a Lovecraftian kind of way.

Sequoia Grove's new Cabernet Franc Oh yeah, I just got my shipment from Sequoia Grove's wine club and, surprise!, it's their first attempt at a vintage Cabernet Franc varietal from the vineyard on the Napa site (where they do bottling, tasting, etc.). I can't wait for an excuse to try it.

I've got a lot of respect for Sequoia Grove. Their wine is consistently amazing, they're in no way snooty about it and they're not afraid to do things a bit different. I highly recommend their rosť from syrrah and their cabs and chards are kick ass... btw, there are a whole slew of wines that they only sell out of their Napa location. And, if you take me along, we get free tasting and a discount!

Sesame Ginger Chicken with Beans and Mushrooms

recipe, family, food

This is tasty recipe. As you can tell, I've been making more chicken dishes... yum. With good chicken, beans and mushrooms, this dish is out of this world in terms of just the right garlic, ginger and sesame ratio with a little lingering heat.

This recipe is a stir fry, so it takes a good chunk of time to prep and then to cook. I like to do this dish in about 100 minutes total with a chunk of non-cooking time in the middle. The mimics what my Dad and Sherrie do where they prepare the meal right up to the cooking stage, have a "beverage hour" and then cook it all when they first start to get hungry.

This recipe is a bit different than one of my normal recipes. I've tried to orchestrate it such that everything is ready to be served at once. In this spirit, I have ETA notation by each step... that is, "S-45" means 45 minutes until the meal is served.

Sesame Ginger Chicken with Beans and Mushrooms

(Serves: 4)



  • 1 c. rice (basmati)
  • 2 c. H2O

Chicken & Marinade

  • 1/4 c. soy sauce
  • 1/4 c. cooking sherry
  • 1 c. H2O
  • 16 oz. chicken breast
  • 2 tbsp. sesame oil
  • 1 tbsp. cornstarch
  • 1 tbsp. AP flour

Stir Fry

  • Peanut oil for stir-frying
  • 1/2 c. chicken broth (low-sodium)
  • 3 tbsp. soy sauce
  • 2 tbsp. cooking sherry
  • 4 tsp. Vietnamese chili sauce
  • 4 tsp. sugar
  • 1 tsp. cornstarch
  • 1 tbsp. sesame seeds
  • 2 tbsp. sesame oil
  • 3 cloves garlic, minced
  • 1 tsp. ginger, minced
  • 1 lb. green beans
  • 8 oz. shitake mushrooms


  1. (S-97) Put chicken in freezer for 20 minutes to ease slicing. While the chicken is chilling, combine soy sauce, sherry and water for marinade in medium bowl.
  2. (S-77) Remove chicken from freezer and slice in 1" x 1/4" strips and place in marinade. Cover and put in fridge for one hour.
  3. (S-72) Next, we will prep veggies and such for the stir fry:
    1. (A) In a snack cup or other tiny bowl, combine 1 tbsp. each of cornstarch and flour.
    2. (B) Toast the 1 tbsp. sesame seed in a small skillet (no oil!) for 7-10 minutes, until golden or slightly fragrant, set aside.
    3. (C) Press or mince three garlic cloves, set aside.
    4. (D) Mince 1 tsp. ginger root, set aside.
    5. (E) Wash green beans. Trim ends and then cut into 1" pieces on the bias, set aside.
    6. (F) Wash shitakes. Remove stems and slice into 1/8" pieces, set aside.
    7. (G) Add 2/3 garlic and ginger to 1 tsp. peanut oil in a small bowl, set aside.
  4. (between S-72 and S-35) Get a drink, hang out... the chicken can be marinated for a bit longer than 60 minutes, but you might want to drain it and put it back in the bowl, covered, in the fridge.
  5. (S-35) Start heat on water for rice. When boiling, add rice, stir, cover and reduce to a slight simmer.
  6. (S-17) Make stir fry sauce by adding chicken broth, soy sauce, sherry, chili sauce, sugar, cornstarch, 2 tsp. sesame seeds, 1 tsp. sesame oil and 1 tsp. garlic in small bowl.
  7. (S-14) Mix (A) and 2 tsp. sesame oil in a medium bowl until smooth. Drain chicken in strainer. Toss chicken in cornstarch/flour/oil mixture, set aside.
  8. (S-12) Now we start to fry. Heat 2 tsp. peanut oil in large skillet on medium-high until smoking. Add half of the chicken in 1 layer flat and cook without stirring for about 1 minute, until golden brown on bottom. Flip the chicken with a spatula and let cook for 30 seconds more. Put cooked chicken in a clean medium bowl. Repeat with 2 tsp. peanut oil and remaining chicken.
  9. (S-7) Add 1 tbsp. peanut oil to empty skillet, heat until smoking. Add green beans and cook for one minute, stirring occasionally. Add mushrooms and cook, stirring constantly (stir-frying!) for another 3 minutes. While stir-frying, remove rice from heat, remove cover and fluff rice, return cover loosely.
  10. (S-2) Push mushrooms and green beans to sides of skillet. Add mixture from (G) above (garlic-ginger mixture) to center of skillet and cook, mashing for 30-45 seconds. Stir into beans and mushrooms and stir-fry for 30 seconds.
  11. (S-1) Add chicken to skillet, stir. Whisk the stir-fry sauce in its bowl quickly to remix and then add to skillet; reduce heat to medium and cook for 30 seconds to cook the sauce down just a bit and cook chicken through.
  12. (S-0) Place stir-fry on serving platter and drizzle with 1 tsp. sesame oil and remaining sesame seeds. Put rice on four plates or in a covered serving bowl. Eat.
Contact / Help. (cc) 2021 by Joseph Hall. blog software / hosting.
Design & icons by N.Design Studio. Skin by Tender Feelings / Evo Factory.
And a few words about the structure of the eye . Everyone " retina ". Especially often we hear it buy clomid online in the phrase " retinal detachment ." So what is the retina ? This - the front edge of the brain, the most distant from the brain part of the visual analyzer. The retina receives light first , processes and transforms light energy into irritation - a signal that encodes all the information about what the eye sees . The retina is very complex and in their structure and function . Its structure resembles the structure of the cerebral cortex. The shell of the retina is very thin - about 0.14 mm.