Labeling Education and Nutrition Act of 2009

Congress is considering a new bill which would modify the Food, Drug, and Cosmetic Act with requirements for labeling of food in restaurants. I know that there are some requirements now, but I've only ever seen nutrition information at fast food places so I believe the laws only affect them. As I read this bill, it would apply to any business which makes and sells food at least 90 days of the year and which operates at least 20 locations under the same name. That eliminates one of my beefs with proposals like this, that they will unfairly burden small purveyors who can't as easily afford the nutritional testing or calculations required.

I'm still opposed to it however. If this bill became law, it would do nothing to stem the tide of obesity in this country. Nutrition information hasn't stopped Americans from eating far too often at fast food restaurants. Nor has it stopped people from buying pre-packaged meals at the supermarket. It won't do anything in sit-down restaurants either. It's a premise that's well worth some research, but is far from proven effective enough to be cast into law. My gut tells me that it isn't going to discourage anybody from ordering the "unhealthy" items, and as we know from Brian Wansink, "healthy" foods tend to be over eaten because we feel less guilt.

No, the real solution doesn't involve a food priesthood, as Michael Pollan calls it. We don't need nutritionists to tell us what to eat. Stressing about fat calories and daily allowances just causes stress, which won't help anything. Deep down we all know more or less what we ought to be eating, but we've lost it somewhere in our industrialized food economy. Just eat real food and don't eat too much of it. It's really just that simple.


Predictably Irrationally: The Hidden Forces That Shape Our Decisions

Title: Predictably Irrational: The Hidden Forces That Shape Our Decisions
Author: Dan Ariely
Published: 2008 by Harper Collins
ISBN: 978-0-06-135323-9

I can't exactly recall how this book got on my list of books to read, and that's a shame because whoever recommended it was dead on. This book is similar in many ways to one I reviewed previously, Mindless Eating, in that it sets out to show how our decision making process is much more complicated than we reason.

Let me start off with an example from the book. The author ran a study which asked students to perform a menial task for which they would be paid. On a computer they selected a virtual room and then were able to click on objects that would pay them a certain amount, based on which room it was. During one iteration, they spiced up the test by making rooms disappear if they were neglected for a certain amount of time. Users tended to waste their clicks keeping the doors open, rather than using them to earn money in a room.

Is this an efficient way to live our lives--especially when another door or two is added every week? I can't tell you the answer for certain in terms of your personal life, but in our experiments we saw clearly that running from pillar to post was not only stressful but uneconomical. In fact, in their frenzy to keep doors from shutting, our participants ended up making substantially less money (about 15 percent less) than the participants who didn't have to deal with closing doors. The truth is that they could have made more money by picking a room--any room--and merely staying there for the whole experiment!

The book is chock full of stories similar to this one, so it's a great read just for the humor. But it does have a number of lessons to be teach as well covering procrastinating, honesty, dieting, saving, and many more topics. It's an invaluable tool to look at how you make your own decisions. Occasionally I found myself thinking quietly, "well, duh!" only to remember a few moments later some choice I had made which was equally as flawed.

My one complaint I suppose is that he often answers questions with more stories, e.g. "how does that work? Well, let me give you another example that explains it." He does eventually come to a conclusion, so no need to fear being left hanging, and the stories are of course interesting so it's not a waste of time. I just found it somewhat humorous that he kept doing it over and over. I suppose that makes him predictably irrational. :)


Password Security

Great article here about poorly chosen passwords. I tend to stay away from simply relinking URLs that I find, but I think this one merits some attention. I recall when I was studying my tail off in college trying to learn everything about computers, especially security, that passwords were a rather common topic. The recommendation then was to use as a password difficult enough to not be guessed but still simple enough to be remembered. I'm pretty sure that advice fell on deaf ears as frankly it's pretty tough to do.

Any more I recommend using as long a string of random characters as possible. Mash on your keyboard if you have to, but also consider a random password generator. How will I remember that, you might ask. Don't. Use a password safe. Then all you have to do is remember one password. The rest are kept in a vault for easy access. And if you can't remember your master password, write it down and keep it in your wallet. Somebody steals that, well you've got bigger problems.

Once you adopt this new technique, you'll use passwords differently. Instead of reusing the same one, possibly with variations, you'll generate a completely different one for every website. Remember the old saying about keeping all your eggs in one basket? Once in a while at work we'll have accounts compromised because the user had the exact same password everywhere and some spammer nabbed it and then hijacked their email account to send spam. Sounds crazy, but you definitely do not want that to be you.

And while you're at it, stop using 6 letter passwords. It's all random and you'll just copy and paste it anyway, so why not go for broke? I routinely use 24 character passwords. It actually makes me smile to think of how ridiculous my password would seem to a snooper.


Super Sweet Cream Cheese and Berry Pie

On a whim last night I decided to make some tiny pies. Pie dough is easy; it's just flour, water, oil and salt (1 cup, 2 1/2 tsp, 1/4 cup, and 1/2 tsp respectively). I baked them blind for 15 minutes at 400°, then removed to a cooling rack.

Then I needed something yummy to fill them with, so I dug through the fridge and found some cream cheese. I also had some cream, which I figured I could whip and fold into the cheese. So far so good, but I needed to jazz it up a bit. I spotted some sweetened condensed milk in the pantry and then I was in business. (These measurements are approximations. Make sure to adjust for taste and texture.)

  • 4 oz cream cheese
  • 1/4 cup sweetened condensed milk
  • 1/2 cup heavy cream
  • sugar
  • 1/4 teaspoon cinnamon

Put the softened cream cheese into a stand mixer and whipped it real good. Drizzled in the sweetened condensed milk until smooth, about the consistency of mayo. In a separate bowl, whip the cream until soft peaks. Add the sugar during whipping until it's just sweet. Fold the whipped cream into the cream cheese mixture. Spoon into pie crusts and eat immediately, or store in the fridge for up to a few hours. Top with fresh berries, if you like.


Non-terrorist List

Congress passed a new law requiring the Department of Homeland Security to create a new terrorist watch list. This one is actually a list of people who are not terrorists, but have been mistakenly labeled as such. That would be thanks to the famous no-fly list that the TSA maintains which is riddled with inaccuracies but doesn't provide for any practical way to get yourself off of it, until now. So in a sense, this is a step forward. It addresses problems that the TSA has been burdening Americans with. Unfortunately, it's only a partial solution. The whole idea of a list of people so dangerous that they can't fly, but innocent enough that we can't arrest them is ludicrous. The fact that the list is poorly maintained and horribly inaccurate is just icing on the cake. The only sensible thing to do would be to dump it and spend our money (estimated at $100 million per year) on something much more effective.

Don't even get me started on the liquids ban.


Mencoder: "The selected video_out device is incompatible with this codec"

I've been trying, unsuccessfully, for the last week to re-encode a set of videos. The source material is a set of VOB files ripped from a DVD. The output needs to be a scaled XviD. I suppose it doesn't *have* to be scaled, but it's for my kids so why waste the disk space when they won't know the difference?

The problem turned out to be the fact that I had multiple source files. Mencoder doesn't like to scale them for some reason. I'm sure it's a simple reason, and probably a reasonable one even. Something about the files could have difference sizes or something. I don't know and really I don't care. The solution was to squish all the files into one and then encode that one.

First, the squishing:

mencoder -ovc copy -oac copy file1.vob file2.vob file3.vob -o bigvobfile

Next, the encoding:

mencoder bigvobfile -o output.avi -oac mp3lame -ovc xvid -vf scale=480:352


VoIP Routing Loop

The other day my boss and I managed to create a call routing loop between two of our phone systems. It was kinda fun, in one of those painful ways. Here's how it went down.

Phone system A has extensions in the range of 2XXX. Phone system B has extensions in the rage of 1XXX. The PBXes have an IAX2 trunk between them to allow direct dialing. The phones themselves have a dialplan which recognizes 1XXX and 2XXX as patterns, which allows for faster dialing. Users must dial a 9 to reach an outside line.

There was just a slight problem. Due to a misconfiguration on my part, B was set up to route any unknown 1XXX extensions back over to A. For a real extension, say 1000, the rule wouldn't match because B would know to send that call to the local user. But let's say that somebody's boss forgot to dial a 9 when dialing a long distance number. So the phone sees the first 4 digits, 1 + area code, and assumes it's an extension. A sends the call to B. Well, that extension didn't exist so B sent the call back to A. That would be the point when the fun began.

I would have thought that the PBXes would create a whirlwind of calls until the original call eventually timed out and broke the chain, thus bringing all the calls to a halt. But somehow that isn't what happened. The system stabilized at 400 or so active channels. Sat that way for a few hours I believe. What finally did stop it was my removing the rule to allow 1XXX over the IAX2 trunk from B to A. Within just a few seconds all the calls came to a grinding halt (in a good way).

I've decided then that having local extensions that start with a 1 is a less than desirable thing. It's not the end of the world, but avoiding it can relieve some potential headaches so I intend to eschew it where possible.


Absentee Voting

According to this AP story, about 1/3 of Idaho voters this election cast their ballot absentee. I'm actually surprised that it's that high, but not because I think it's a bad idea. Quite the opposite, in fact. See, I grew up in Oregon and cast my first ballot there via mail, as all elections have been for at least 15 years I believe.

In Idaho it's a bit harder than in Oregon, since voting by mail isn't the default. To mark my ballot I had to use a toothpick to punch out a paper ballot. But it wasn't terrible either and I think most people could manage it, possibly even some Floridians.

But also mentioned in that article is that some state representatives think the high number of absentee voters is a bad thing. These are the people we like to call "misinformed" and "crazy". Why would it not be a good thing? Instead of spending an hour of my business day in a school gym, I can vote at my home. Instead of trying to pawn my kids off somewhere, I can leave them be in the house. Instead of standing in long lines, I can vote whenever I've got time. Instead of being rushed to pick between two people I've never heard of, I can sit down and read about them on the Internet. That makes it a win-win-win-win.

I just don't understand why everybody hasn't moved to voting by mail.


Asterisk - Call Progress And Early Media

When you make a phone call, say to your grandma, you hear her phone ringing. It's called ringback and its purpose is fairly obvious. But have you ever wondered where it comes from? As a kid I assumed I was hearing grandma's phone ringing which, if you think about long enough, is kinda ludicrous. I haven't read up enough to know where it actually came from but I can tell you where it comes from in a SIP environment. There are basically two options.

First of all, the called party sends a 183 Ringing message to the caller. That's how your phone knows that grandma's is ringing. Your phone also then plays some sort of ring noise to let you know.

There's another possibility though. Instead of just saying 183 and being done, the callee can send back an RTP stream with the ringing noise of its choosing. I'm sure you've heard different types of ringback before (different pitch, different frequency, different volume) and that's because voice switches each have slight variations on the same theme.

Now, take that one step further and consider that an RTP stream is just an RTP stream and doesn't have to conform to some traditional ringing sound. It could be beeping, or honking, or whatever you want. Screeching monkeys, did I hear you say? Oh yeah. But probably more useful is the ability to send music. Here is how to set it up in Asterisk. (BTW, this will work with SIP, IAX2, or PRI. Basically any of the cool signaling methods, but it won't work with analog POTS.)

First we set up a music on hold class which is our ring noise. This can contain any file you want, but since Asterisk will play it from the beginning each time, best to be something that sounds cool immediately. Or pull it up in Audacity and trim out your favorite 60 seconds.



Then in our dialplan we use it. First we play a message to the caller that we're trying to find the user, otherwise they might get confused as to why they are hearing music. Then we pass the "m" option to Dial which specifies our music on hold class. It's really as easy as that.


exten => s,1,Progress
exten => s,n,Playback(followme/pls-hold-while-try)
exten => s,n,Dial(SIP/you||m(ring1))


Bluefin Tuna

The BBC is reporting that the bluefin tuna fishery in the Mediterranean may soon be shut down. That would be a Good Thing™. For full details I recommend watching the Deep Crisis episode of Scientific American Frontiers with the adorable Alan Alda or listening to this episode of Science Friday. The gist of it is that Mediterranean fisherman are harvesting way too many tuna and unless we make a change, we're bound to do to tuna what we did to atlantic cod. You've heard of Cape Cod, right? Just try to find a cod there and you'll understand the consequences.

I've been mulling over an essay about wolves which fits in very nicely to this topic, but I think it's deserving of a much longer post so I'll hold my tongue until then. I will just say that to date we as humans have been very ignorant of our place in our ecosystem. Somehow we imagine that because we're intelligent, we're immune from changes we make to our environment. Sadly we've been grossly mistaken and unless we learn to treat our resources wisely and with respect, we may not have them much longer.



Subscribe to RSS Subscribe to - All comments