Saturday, February 20, 2010

The... "Recipe"...

I have applied some interesting tags to this post, so I should define exactly what I am talking about here, I don't want there to be any confusion:

The point of this post is to provide my AMAZING recipe for red beans and rice.

However, I am hoping to kickstart some discussion about programming processes. For me this is an intersection of things, we are at a nexus so to speak, between how my brainz applies thing I learn to reality. Welcome to my worldview. First things first, here's the recipe:

Red Beans and Rice
--GB Hoyt style--

(feeds 8, maybe more)
ingredients:
  • 2lbs red beans, dried
  • 1 cup all purpose flour
  • 1 cup olive oil
  • 2 32oz boxes of chicken broth
  • 1 head of celery
  • 1 green bell pepper
  • 1 red onion
  • 1 bunch green onions.
  • 2 tsp rubbed sage
  • 2 tsp white pepper
  • 2 tsp black pepper
  • 4 cloves of garlic
  • 3-6 bay leaves
  • garlic salt (to taste)
  • Tiger Sauce brand hot sauce
  • Sausage, something with flavor, traditionally, andouille



NOTE:
To make really good red beans and rice, that will feed about eight adults all the beans they want, you need a two pound bag of dried beans. That is important. Early iterations containing canned beans were judged to be definitely inferior to later iterations containing more labor intensive dried beans.

30 hours prior to serving time: in a large bowl, start soaking the beans, cover them with about 2 inches of water.
Right before bedtime: Drain and refill bean water.
Right after waking up: Drain and refill bean water.
The previous steps will help eliminate the 'aftereffects' of eating beans, but it's not fool proof, I understand the Amish let their legumes sprout for the same reason before cooking, I haven't tried that yet.

About five hours prior to serving time:
Make a roux:
in a black skillet, or pot you will cook beans in, heat the olive oil to about the temperature you would cook hotcakes at.
combine flour with black pepper, white pepper, and sage. Slowly add the flour mix to the hot oil, stirring often, try to evenly add it across the bottom of the pan. There should be enough flour to make the mixture thick, but not gloppy. It's an art, making roux. Let the flour darken until it's a dark brick color. you don't want to scorch the roux, so cook it slow, only turning the heat up if you have to.
If your Red beans are to be cooked in a different pot, you can go ahead and start warming up the chicken broth, adding the bay leaves, garlic, and a little more sage. When the roux is brown enough, add it to the broth, stir well, turn the heat up and bring to a rolling boil. If you are cooking the beans in the same pot as you make the roux (this is ideal, dutch oven to be 'authentic'), add your broth and spices to the roux. When the broth/roux mix starts to boil, drainthe beans and add them to the pot. boil on high for about 15 minutes, then turn heat down to a low boil. It should be about 4-5 hours till serving time. Two hours before serving time, dice the onion and bell pepper, and slice the celery to the mix, stirring each into the mix. then slice and add your sausage, let cook for about two hours. If you add the celery, bell pepper, onion, and sausage too soon, it will break down into flavourless goo, too early, and it won't marry. I find that dicing the onion and bell pepper, and leaving the celery in bigger chunks marries all three flavors, and adds great texture. Cook 4 cups of dry rice about half an hour before serving time. I also make cornbread to go with this meal. Shortly before serving, chop the green onion, and let each person add to taste to their dish. This is a functional garnish. Not only does the onion look pretty on top of the dish, but it is what really sets the flavor off.
enjoy!

Now, what does this have to do with agile development? Namely, this recipe was developed using Behavior Driven Development (BDD)
It contained "Domain Driven Design" where the domain is the collection of people eating at my house on Friday nites that I am off.
It contains "Acceptance test driven planning" because if the Domain disapproves of the flavor, it must be modified!
It also contains "Test driven development" because certain assumptions were made like "The red beans and rice should be slightly pasty when served", early iterations were too watery, then too gooey, finally, the magic ingredient (the roux) emerged when an older recipe was perused. I know you don't see but what one recipe here, so this is where I pose a question to the group, What's the next test? Where goes the next iteration? Should I codify the sausage, and say "always use this sausage", should I detail out the roux? The right roux has definitely played the biggest part of making this dish right. That, and waiting till the end to add the green onion.

l8rz!

Friday, February 19, 2010

Yes, It's True.

I should be in bed.
It's red beans and rice day, officially, and it always is that I work really hard at delivering this meal on friday nite. going to try some new sausage in the recipe, maybe some kielbasa, nothing too spicy, although if I think I can get away with it, I would like to try a little andouille, or something equally "Louisiana" flav0red.

I tried to listen to a conference yesterday, and that was full of FAIL.

ok, so I have an idea, and as far as I can tell, no one is doing it yet, so I am now left with that dangerous conundrum, to collaborate, or to not collaborate? Basically, I am not looking to do anything new just yet, just trying to do something in a new way, synthesizing some goodness into an otherwise dreary outlook, and having some fun learning about Eclipse. Such as that is, I am trying to put a little jruby on machine(s), maven, some Android dev stuff, all in an attempt to tidy up my brainz and get to hacking my way around a Motorola fone, like say a Droid (snicker snicker), maybe I will own one by the summer. My Bro-in-law has a droid now, and I am trying to think of a good app to write for him, he's in the landscaping industry, so I've gots a few ideas. right now, I have a couple of ham radio ideas also floating around my noggin, but in order to really work them all out, I must first attain some knowledge of how exactly everything fits together.

I ain't gonna lie, Eclipse got a learnin' curve, I mean, POM, Java, all this java junk is weird to me right now, I admit, it scares me, but I see in it all a potential to take me to the next level. I have got to do it! Been a while since I've had a case of the "got to"'s like this.
So,
I have goals.
Goal 1. Learn some Java.
Goal 2. Learn some Eclipse.
Goal 3. Develop useful app for Android using BDD.

n'om sayin?

Thursday, February 11, 2010

lots of random things...

... continually happening in the world. I don't know why, exactly, yet they happen. I like the idea that I can write programs for my fone, if only I could think of something interesting to write about. And then charge A WHOLE DOLLAR! for it. millions will buy, few will be disappointed, and I will move my family to a goat farm in the country.

I like me for me!
GB Hoyt