March 8, 2009
Homemade Crackers
Ok, so it’s a little more work than buying a box of wheat thins, but it was worth it! These crackers are crunchy and flavorful, and bake up fast.
Whole Wheat Crackers
Y=275
1 1/2 c. all purpose flour
1 1/2 c. whole wheat flour
1 T. vital wheat gluten (optional)
1 t. kosher salt
1 c. warm water
1/3 c. olive oil
In the bowl of a stand mixer fitted with the dough hook or food processor fitted with the dough blade, combine all ingredients. Mix on medium to blend all ingredients. Once the ingredients have come together into a dough, run the mixer for 3-5 minutes, until the dough is smooth and elastic. Add a bit more water or flour if you need to to get it to that consistency. You can do all this by hand, too, if you prefer.
Lightly oil the surface of the dough (I spritz it with vegetable oil spray), cover with plastic wrap, and leave it to rest for 30-60 minutes.
Preheat oven to 450.
Pull off a lemon-sized hunk of dough – about 1/5 of the total dough. Using a rolling pin or pasta machine, roll the dough very thin – about 1/8″. This is the #4 setting on my KitchenAid pasta roller. Lightly flour a cookie sheet or line it with parchment or a baking mat. Lie the sheets of dough on the cookie sheet. Prick all over with a fork (prevents the dough from bubbling). Sprinkle with your desired toppings – we like garlic salt or kosher salt, but experiment and see what you like! You can cut the dough using a knife or a pizza cutter; or, leave the dough sheets whole, and break into pieces after baking.
Bake the crackers until golden brown – about 10 minutes. Resist the urge to remove them while still pale – they won’t be as crunchy. Remove from the cookie sheet and cool on a cooling rack.
January 2, 2009
Age old question answered
How many siblings can you cram in a photo booth at the zoo?
Christmas 2009
All of us except GTB were able to gather in Seattle for Christmas this year.
December 17, 2008
warning C4005: ‘MIDL_DEFINE_GUID’ : macro redefinition
Scenario:
- ATL COM project.
- You changed the location of the MIDL outputs.
- Then you added the IID/CLSID definition file (Blablabla_i.c) back into the Generated Files directory of the project.
Now, to eliminate the warning and subsequent fatal error, you need to turn off precompiled headers for Blablabla_i.c. It is on by default for files newly added to the project.
December 4, 2008
PRJ0050: The REAL reason.
error PRJ0050: Failed to register output. Please ensure you have the appropriate permissions to modify the registry.
I’ve encountered this error about 87 times in the last 3 weeks and not once has it been a permissions issue. This is a list of the things that have caused it for me to refer back to the next 87 times it happens.
1. The DLL being registered has an unresolved dependency. For example, it relies on a third-party DLL that is not colocated. Run depends.exe on your DLL to determine the missing DLLs.
2. The DLL’s DllRegisterServer calls code (probably yours – custom registration code?) that is failing.
3. The DLL’s DllRegisterServer calls CAtlDllModuleT::DllRegisterServer and that is failing.
3a. CAtlDllModuleT::DllRegisterServer is called with the default argument, TRUE, which attempts to register a type library, but you have turned type library registration off.
The errors that Regsvr32 returns are marginally more useful than PRJ0050. So if you encounter a registration failure, try manually registering from the command line to see if you get any more useful information.
November 26, 2008
Turning off Type Library Generation in VS 2005
By default, ATL projects are configured to generate and register a type library. It’s a bit of a nuisance to turn it off – here are the steps required:
1. In the project’s properties, browse to the MIDL node, Output sub-item. Set “Generate Type Library” to “No (/notlb)”. This keeps the project from outputting a physical TLB file. Don’t forget to do this for all configurations.
2. In the Resource View, right click on the RC file and select “Resource Includes”. In the “Compile time directives” box, remove the line that says ’1 TYPELIB “myobj.tlb”‘. This prevents the typelib from being compiled into your resources.
3. Find the CPP file that contains your DLL’s exports DllRegisterServer and DllUnregisterServer. If you are inheriting from CAtlDllModuleT these should be implemented to call something like _AtlModule.DllRegisterServer and _AtlModule.DllUnregisterServer. Change both calls so that they pass FALSE instead of using the default argument of TRUE. This ensures that these functions don’t attempt to register your now-non-existent type library, which would cause DLL registration to fail.






