August 2006
Monthly Archive
Thu 31 Aug 2006
Filed in
General
Add your comments
I heard a story on NPR this morning about the importance not only of breakfast but of the right breakfast. Of course this is one of those seasonally relevent pieces that’s timed to go with kids returning to school, but there was an angle I’m personally interested in.
The upshot was that oatmeal improved academic performance in one recent study. It sounds like it relates back to the glycemic index of the food. The lower glycemic index of oatmeal seems to be more common in foods that have less processing after they’re pulled out of the ground.
What’s more, oatmeal eaters don’t experience a steep drop in blood-sugar levels, and that’s a good thing. A dip in blood sugar can bring with it a release of hormones that affect mood. In some children, the hormones seem to affect concentration and memory.
When I was a kid, I used to eat cereal for breakfast every day: Frosted Flakes, Froot Loops, Captain Crunch and what-have-you. I’d always notice that i was starving an hour later. Read the rest of “This Just In: Eat Food for Breakfast”…
Wed 23 Aug 2006
Filed in
General
3 Comments
I actively avoided using any form of todo list for about the past year or so until just a couple weeks ago. The problem I kept running in to is that every time i started a to do list it would immediately grow overwhelmingly large. At that point things start falling off the end of the list - some things lose their relevence and others just don’t matter anymore. Should “send a birthday card to an old friend” become “send a belated birthday card” or just get scratched out (not crossed off like those good tasks that got done but scribbled on until it’s illegible so you can’t be reminded how calous you could’ve been)?
Jeff and I were chatting about this just now and I realized that this is a subject that I’ve really built some strong feelings about. My latest return to the todo is in the form of another ugly text file called “big todo.txt” wherein I’ve resigned to note things I have to do or want to get done but i can’t hold myself accountable for the results or expect their won’t be overlap, discontinuity or redundancy.
I’ve thought a lot about this and my fundamental belief is this: the creation of a todo list implies that we expect ourselves to be able to complete all of these items. There is no guard to prevent me from putting any thing at all on the list. I could say:
- clean hall closet
- do laundry
- cure cancer
- wash car
- buy groveries
I think the key to success here is not to expect success. Take what you can get and don’t beat yourself up when something sits on the todo for too long. Allow yourself a do-over. Don’t set yourself up to beat yourself up. How else can I say this in a more clichéd way? The list is there to remind you: when it reminds you of something you can’t do just ignore it like your mom nagging you to take out the trash. Those things you couldn’t get done aren’t going to get reversed and you’re not going to make things better by doting on what you should’ve done. If the time is passed then it must have been filled. Enjoy the results of doing something that was more important or enjoy the memories of doing something that was more compelling but don’t waste your time regretting what’s passed.
Think of your todo list like a credit card where the balance is measured in time. If you had the time to do the job, you’d do it now. If you write something on the list it’s because you don’t have the time to do it now. You’ve borrowed some time from your future self, just as a credit card allows you to borrow money from your future self. At some point you’ve got to pay that time back by doing whatever it was you had to put off. If you don’t look at the cost before you start piling stuff on to that list then you’re bound to have a list that you can’t complete. The cost in time isn’t as clear as a price tag in a store, but the only one that can estimate it is you. The better you get at estimating and the more attention you give to what you allow to go on your list, the better you can do at bringing that time credit back down to zero. If your estimates are off then you’re always going to carry some time debt forward. At some point you have to clear that off either by doing what’s on the list (which may not even be doable) or clearing your list and dealing with the consequences of whatever you didn’t get done (namely: a messy closet, wearing your boxers inside-out, some cancer, a dirty car and a bright fridge). The consequences are the same consequences you had when you put that job on your todo list but now you’ve got to accept them as a fact of life since they’re not something you’re “going to get to soon.”
Thinking in terms of time economy, my “big todo.txt” is bound to fail. What a list like that produces is a huge catalog of things I could do, not a list of things that I really intend to do. Maybe I’ll take my own advice here and only keep track of tasks I really think I can get done. At the same time it’s important to remember that there are many times before that I’ve thought I could get those things on the list done and failure is not the end of me. Failure is just feedback for the next try.
This one just blew me away: I spent a while trying to figure out how to turn this month’s date into last month’s date in a Bash script. In the script (okay, it drives AWStats reporting) I want to make a summary file for last month. To do this I want to check if a file exists with last month in it’s name and if it doesn’t exist I want to create it.
I started with the date command. This is a quick way to get the current date and time at the command prompt in Linux, just type “date”. The date command also takes formatting parameters with an option like +%Y-m, so the command
rob@ruby:~> date +%Y-%m
Predictably answers “2006-08″ for me today. To get last month’s date I assumed I’d have to work with that last number, subtract one, accomodate the zero padding, yada yada yada. Yuck. Nonetheless I set to work and had a little success with turning a 08 into a 7 with expr and some backticks like expr `date +%m` - 1.
I figured I’d stuff something back into date --date="$f" with $f as my calculated date from last month. Then I started looking at the --date parameter in the man and info pages for it. All it says is
-d, –date=STRING
display time described by STRING, not `now’
So I tried “now” for STRING and sure enough it was the same as no --date parameter. Interesting. How about yesterday? Does date believe in yesterday?
rob@ruby:> date --date="yesterday" +%Y-%m-%d
2006-08-16
It sure does. So anyways, here’s the one that really blew me away (and solves my problem):
rob@ruby:> date --date="last month" +%Y-%m
2006-07
Knowing that the string can be so complex I googled it just now and found this date reference (which looks like a much more detailed man page than the one in my current SuSE 10.1 install). Specifically, it says that
DATESTR can be in almost any common format. It can contain month names, timezones, ‘am’ and ‘pm’, ‘yesterday’, ‘ago’, ‘next’, etc.
And there are also many good examples of usage. So I guess I need a better manual installed, but then I suppose that would’ve spared me the joy of guessing the right answer.
From Trolltech’s announcement:
Greenphone will be offered as part of a complete software development kit (SDK) and includes Trolltech’s Qtopia Phone Edition, a comprehensive application platform and user interface for Linux-based mobile phone. Although not intended as a commercial mobile phone, Greenphone has many of the communication functions and features found in today’s sophisticated smartphones. Developers can exploit these features and functions in developing their own unique applications.
Pretty exciting stuff. Personally, I’d love to see phone built on Open Source software (all the way down to the drivers) become available. I know I’d pay extra to actually be able to get my code running on it. I’ve bought programming cables for a Motorola J2ME phone in the past and was wildly disappointed. I mean it seems as though manufacturers go to every effort to make sure I can’t fully use the hardware I bought - from the unnecessarily complex SIM cards to the proprietary (and ever-changing) connectors on the bottom. Is it really that existing consumer formats for flash devices and USB ports don’t meet the requirements of the phone or is it that they’d rather I didn’t see what was going on in there?
The software that ships on my midlevel phone is a joke. If programming it were as simple as connecting the USB port on it and installing an SDK then there’d be a whole lot better software out there and more people using it.
As much as I hope this advances Open Source for mobile phones, I have a hard time being optimistic about it. Generally to do the really good stuff you have to have access to the carrier’s network and they have complete control over who gets on and what they do. For some reason it’s insanely restricted compared to Internet access that the average application can do on a personal computer with unconsious effort.