Tuesday, January 29, 2008

Eggbeaters

I recently tried out Eggbeaters for the first time and have to say that I was quite happy with them. I made a great omelette using the Southwestern variety.

The website is a little kitsch and oddly 80's (at least to me) but there's nothing wrong with the product itself.

The point of Eggbeaters is that Eggs are a great source of protein and relatively low in calorie; however, they are ridiculously high in cholesterol which is almost entirely found in the yolk and not the egg whites (hence all the 'egg white omelette' orders you've heard.) Of course, because God has a sense of humour, virtually all the vitamin benefits of eggs are also in that cholosteral filled yolk. Eggbeaters makes their product out of the white but adds vitamins to make up for those lost in removing the yolks. This results in cutting the calorie count in half, eliminating all the fat and cholesterol.



I had mistakenly assumed that they were some sort of facsimile or vegan analog to eggs when in fact they're just egg whites fortified with things like beta carotene. (Beta carotene gives the Eggbeaters a normal yellow color as well.)


They come in flavored varieties as well: Garden vegetable, Southwestern, Cheese & chive. The sodium content is a touch high in some of the flavoried varieties, but not bad if you don't throw salt on your food (which you shouldn't need to if you're making it anyhow.)

Can someone please explain to me why Flash requires a zero byte terminator?

I ran into this years ago when adding network TCP/IP stream support for 3rd party clients and one of the companies wanted to use Flash to consume our AI and I couldn't understand why the damn thing couldn't receive responses (they were using XMLSocket in Actionscript) and there was zero information at the time because this was a new 'feature' of Flash. I only figured it out (luckily) when I noticed that n batched commands to the AI resulted in n-1 responses showing up in Flash. I figured we were missing a terminator. Why flash wouldn't need a terminator on multiple submissions but need one on a single submission is beyond me, anyhow, anybody out there understand the reasoning behind this? I'm consolidating some networking code and I really would like to eliminate this 'special case' in some fashion as I have two socket::send methods, one for normal properly behaving (imho) clients and one for flash that adds an extra zero byte explicitly into the TCP/IP stream. *** End Rant ***

Friday, January 25, 2008

When dwarves go bad...

Ananova carried a rather amusing 'quirky' today related to the growing incidence of long distance coach robberies being carried out by dwarves... Enjoy!

Sunday, January 20, 2008

New Toy Time!

Mein Rich undt mein self now both have new off road toys! Yeah! He's a vastly more experienced motocross/trail rider than myself as I've not ridden like this in decades, so he's got the 'tear your arms out of your sockets' KDX and I've gotten myself what I think is a good beginner's bike, a 2002 KTM 400 EXC. It's a four stroke (the KDX is a two stroke monster) so it's a bit more docile but it's got good torque throughout the power band so I'm sure I can enjoy this bike for a long while to come.


We're headed off to something-town next Saturday, stay tuned for pictures of damaged bikes/riders/egos then! :)

Friday, January 18, 2008

When gacutil /u goes bad (on Vista...)

Just a note to anyone using gacutil on Vista, make sure you start the command prompt with administrative permissions prior to trying to uninstall an assembly, otherwise you get the oh so informative "The process cannot access the file because it is being used by another process" message.

Monday, January 14, 2008

A pattern developing...

I forgot to mention, when blogging about my new t-shirt from the boss, that a friend and previous co-worker had awarded me a 'Happy Bunny' to display on the door to my old office.



He mentioned that I left that out when talking about how sweet I am as a person, so in the interest of complete disclosure, there's my bunny :).

A side note on the C# class I recently posted...

You need to be aware that some processes, such as internet explorer (iexplore.exe) will detect the privilege level at which they are launched and potentially relaunch themselves with different privileges (usually when a higher privileged process launches a process into the session of a user with lower default process privileges), therefore if you are tracking the created process id from the class I provided beware of this issue as the instance of (using iexplore.exe as an example) internet explorer you have created will self-terminate after launching another instance of itself.

When I get the chance I'll add a method to the class that overloads the current one for launching processes as a user which will accept an 'integrity level' in order to alleviate this issue. It isn't much of an issue currently; however, I'm not comfortable with processes running in user space with higher than default integrity levels. You would think this is a security issue but in actuality it appears to only effect iexplore.exe (I'm sure there must be something else that has this problem as well) because the DACLs and SACLs and process tokens security levels all match the user being impersonated so there's no apparent issue with a fear of security elevation (but you never know.)