Saturday, December 25, 2010

apple and sausage stuffing recipe

Made this recipe for the family: http://www.epicurious.com/recipes/food/views/Apple-and-Sausage-Stuffing-107288 (go to the link to get a nicely printable version). It was a big hit.

  • 2 tablespoons vegetable oil
  • 1 pound spicy pork bulk sausage
  • 1 cup diced celery
  • 1 cup diced onion
  • 1 cup diced peeled cored apple
  • 2 garlic cloves, minced
  • 1 tablespoon chopped fresh parsley
  • 2 teaspoons minced fresh sage
  • 1 bay leaf

  • 8 cups 1-inch cubes French bread with crusts (from 1-pound loaf)
  • 1 cup whole milk
  • 1 cup low-salt chicken broth
  • 2 tablespoons (1/4 stick) butter, melted
  • 3 large eggs, beaten to blend

Heat oil in heavy large skillet over medium heat. Add sausage; sauté until cooked through and brown, breaking into pieces with spoon, about 8 minutes. Using slotted spoon, transfer sausage to large bowl. Add celery and next 6 ingredients to drippings in skillet. Sauté over medium heat until vegetables are soft, about 5 minutes. Discard bay leaf. Add mixture to sausage. (Can be made 1 day ahead. Cover; chill. Reheat to lukewarm before continuing.)


Preheat oven to 350°F. Butter 13x9x2-inch glass baking dish. Add bread to sausage mixture. Whisk milk, broth, and butter in bowl to blend. Mix into stuffing; season stuffing with salt and pepper. Mix in eggs; transfer to prepared dish. Bake uncovered until cooked through and brown, about 50 minutes.




Details:
  • doubled recipe
  • used granny smith apples.
  • didn't find any good fresh parsley, so left it out
  • added some ground thyme
  • used 2% instead of whole milk
  • substituted apple juice for half the broth
  • used Johnsonville bulk mild italian sausage (for this crowd, that was teetering on the edge of too spicy for some)
Next time:
  • Double the apples. There wasn't a ton of apple flavor, despite following the proportions in the recipe and adding apple juice.

Sunday, October 24, 2010

further pointless reviews

Movies:
  • Hurt Locker. Wuh? Why did people love this so much?
  • The Lovely Bones. Way too long and nowhere near as good as the book
Books:
  • Finch, by Jeff VenderMeer. Fun, interesting, and a little gross at times. Reminded me of China Mieville
  • The Dead-Tossed Waves, by Carrie Ryan. Zombie goodness. Teenage-angsty badness. Meh.
I've actually been listening to podcasts lately, rather than doing much reading or movie watching...

Podcasts (in alphabetical order):
  • Being a Dudecast
  • Chuck & Tina Spread TB & VD
  • Comedy Death-Ray Radio
  • Creeping with Armstrong
  • Doomhouse
  • Doug Loves Movies
  • The Geek Show Podcast
  • The Grandma's Virginity Podcast
  • MicrobeWorld's Meet the Scientist Podcast
  • The Nerdist
  • NPR: Wait wait... Don't Tell Me! Podcast
  • The Pod F. Tompkast
  • The Robot's Pajama Party
  • Savage Love Podcast
  • Television Zombies
  • This American Life
  • Today in the Past
  • WTF with Marc Maron Podcast
Looking at the list... The majority are either geeks talking about geeky stuff, or comedians talking about comedy.

Saturday, September 25, 2010

Zucchini Bread

Made this tonight. Brought back lots of childhood memories.

Zucchini Bread

wet ingredients:
3 eggs
2 cups sugar
1 cup oil
2 tsp vanilla
2 cup grated zucchini

dry ingredients
3 cups flour
1 tsp baking soda
1/4 tsp baking powder
1 tsp salt
3 (heaping) tablespoons cinnamon. That's not a typo. 3+ Tablespoons


Beat eggs until light and frothy
Combine rest of wet ingredients with eggs
Combine dry ingredients and whisk together
Combine dry mixture with wet
Split into 2 greased loaf pans

bake at 325' for 1 hour
remove from oven when inserted toothpick comes out clean
cool on rack outside of pans

Freezes very well, I remember how happy I'd be when months after baking it my mom would pull a loaf out of the freezer for dessert after Sunday dinner.

Be sure to be the one to slice the bread, that way you can be greedy and get the crunchier heels. Mmmmmmmmmmmmmm.

Wednesday, July 07, 2010

latest developments

Books read:

  • Forest of Hands and Teeth -- Like someone mashed up The Village with Zombies. Pretty good, except for the teenage angsty bits.
  • Ariel -- Post-apocolyptic, technology-fails, SCA members finally feel superier, boy-meets-unicorn story. You know, that old chestnut. Enjoyed it more than S.M. Stirlin's Dies the Fire.
  • Boneshaker -- Zeppelins, Zombies, Zteampunk. Fun and exciting.

Movies:

  • Valkrie -- Interesting story I'd heard bits of before. Unrealistic-sounding, preachy dialog about their motives kind of took you out of the story. Not that the end result of what they were trying for was bad... just that at least the politician's motives seemed more realistic, while the military guys were more pie-in-the-sky. But, maybe that's how it actually went down.
  • Undead or Alive -- Chris Kattan and James Denton as cowboys during a zombie outbreak. Suprisingly good and funny in a shut-off-your-brain kind of way. The zombies were too unkillable, but still fun. Navi Rawat was as annoying as ever.

Tuesday, March 16, 2010

roomba: better than jesus?

Had a Roomba 550 for a month now. In non-Roomba online forums, read a few bad reviews
about shoddy parts and difficulty with returns on the 5XX series. Decided to get it at
Costco since their return policy is ludicrously good.

So far, so good. It deals w/ electrical cords and rug tassles without any issues. It also
doesn't appear to have any problems transitioning between rug and hardwood floor. Only
have one extra-fluffy bathroom rug that it has trouble with.

The scheduling feature is great. I can schedule it to clean up automatically while we're
at work. I come home and it's waiting for me on the charger, ready to have its bin
dumped. Typically, I'll clean it out, then set it loose in the basement while we're
spending the evening upstairs. And when I go to bed I clean it out again and put it back
on the charger for its automated run the next day.


On the whole, really really like it. We'd typically only vacuum once a week, and with the
dog and cat that meant big dusty hairballs at the end of the week. Roomba's taken care of
those.

Definitely still need our other vacuum, since roomba's just bouncing around
semi-randomly. But, I don't have to worry about neighbors popping over and getting
swallowed by a dust bunny.

Friday, March 12, 2010

UnitTest++ == teh awesome

Been using UnitTest++ for the last couple months on my work project. So far, enjoying it. Very simple to:
  1. set up
  2. add new tests
  3. explain to the other developers
  4. ?
  5. profit

Our unit tests are part of our project's Visual Studio solution file. Each unit test's project is setup to run the unit test as a post-build step. So far, it's caught a number of 'simple' fixes that broke some.

I've also setup a Hudson server to automatically build our project... But, I didn't want it to fail the build if the tests failed. And, I wanted to collect the XML reports when it's built from the continuous integration server.

So, rather than always just blindly calling UnitTest::RunAllTests() in the unit tests's main() function, I made a utility library that'll look at an environment variable to determine how it should run the tests.

In the unit tests's main() :



int main(int, char const *[])
{
return myUnitTest_runAllTests("my_test");
}

The utility function:




#include "cstdlib"
#include "fstream"
#include "iostream"

#include "boost/filesystem.hpp"

#include "UnitTest++/UnitTest++.h"
#include "UnitTest++/XmlTestReporter.h"


namespace bfs = boost::filesystem;

struct True
{
bool operator()(const UnitTest::Test* const) const
{
return true;
}
};



DLLExport int myUnitTest_runAllTests(const char* const testName)
{
char* xmlDir = 0;
size_t len;
errno_t err = _dupenv_s(&xmlDir,&len,"UNITTEST_XML_DIR");

if (err || len == 0)
{
// env var not set, just run the test w/ standard mechanism
return UnitTest::RunAllTests();
}
else
{
bfs::path p = bfs::path(xmlDir);

// free memory from _dupenv_s
free(xmlDir);

// if necessary, create output directory
if (! bfs::exists(p) || ! bfs::is_directory(p))
{
if (!bfs::create_directories(p))
{
std::cerr << "Problem creating directory " << p << std::endl;
return -1;
}
}

std::string fname(testName);
fname += ".xml";

// use / operator to append filename onto path
bfs::path fpath = p / fname;

std::ofstream f(fpath.file_string().c_str());
UnitTest::XmlTestReporter reporter(f);

UnitTest::TestRunner runner(reporter);

// if we're outputting to XML, don't return failure as return code
// this way tests can fail without it making the automated build think the build failed.
int ret = runner.RunTestsIf(UnitTest::Test::GetTestList(),NULL,True(),0);

return 0;

}
}


And then you just point Hudson's xUnit plugin at the generated reports. Came together suprisingly easy

Tuesday, March 09, 2010

movies

Stayed up waaaay too late last night watching movies...

  • Balls Out: Gary the Tennis Coach. Bizarre. Funny. If you enjoy Sean William Scott acting goofy, you might like this movie.
  • Boondock Saints. Meh. Not sure if I can say I watched this since really I fast-forwarded through most of it... especially parts with Willem Dafoe chewing up the scenery.
  • No Country For Old Men. Tense. Exciting. Good
  • The Reader. Good thing I saved this feel-good hit for last... OMG. Downer. But very good.

won't you please help... provide a MILF-related punchline

We got the following notice at work today

Subject: Mountain Lion Warning

The following warning has been issued for the Research Park area:


Building management has recently noticed unusual wildlife activities around the Williams Building property. Specifically several mountain lions have been sighted in and around the parking deck. Building management is working with the Utah Division of Wildlife Resources with regard to this activity however we want to make you aware of the following guidelines from Wildlife Resources should you encounter a mountain lion when entering or leaving the facility:

  • Do not panic. Most lions will try to avoid confrontation.
  • Raise your arms to make yourself appear as large as possible. Lions prefer smaller prey.
  • Slowly back away. Never run and never turn your back toward the cougar. Yell at the lion and wave your arms as you back away.
  • Do not make direct eye contact. Lions perceive eye contact as aggressive behavior.
  • If you are attacked, fight back. Try to prevent the lion from getting behind you.

Please let us know if you notice any unusual wildlife activity in & around our parking lot.

Tuesday, January 19, 2010

dust of dreams

Feels like I've spent the last 2 months catching up on all the plot threads by reading the last handful of books in the Malazan series, all in preparation for book 9.

Finished said book #9 last night. Dust of Dreams by Steven Erikson last night. Very good. A few huge cliff hangers for the final book. And a very exciting ending.

It's going to be a long wait for the next book.