Today started out pretty relaxing, Lorien fell asleep on the couch because she wasn't sleeping well last night, and I woke up early and continued reading my book (Conceptual Blockbusting: A Guide to Better Ideas). She finally got up and left, and I started refreshing my own sourdough starter I started last year (not the one I normally use). I'm bringing it up to full activity to test its flavor; it has one chance to be tasty or I throw it out in favor of another one I have lined up (still, aside from my normal go-to Giza starter).
So after I refreshed the starter, I made bread. Eight pounds of bread dough. I soon realized that my 8 quart container isn't big enough for that much bread to rise in, as it began a Napoleonesque expansion war. I had to tap it down several times before it blew the lid off my container. Even after I put it in the refrigerator. Eventually I decided to just bake a one-pound loaf.
Just as that came out of the oven, Lorien came home and asked me to start on another Strawberry Cream Cake like I made a couple of weeks ago. I just took that cake out of the pan and it is in the final cooling stages.
So I did a lot of baking today, and it was all from scratch. I even organized some of my dry goods into sealed containers. I moved both my cake flour and masa harina out of their rolled-up open bags into sealed containers. Also, it's time to get rid of my bread machine. I haven't used it in a very long time…
This morning I went to the office early to make sure the new website rollover went smoothly. I got there just after 7am to find the phones down because our T1 PRI was offline. Fortunately, most of the right steps had already been taken to resolve the problem and I just had to make a few phone calls. Well, after the heat from that died down, the website switch was green-lit. It took me about 12 seconds to change the Apache config.
Most everything else was solving small problems. A week or so ago I wrote a PHP script to handle importing data from an online database to an internal server, but due to the complicated nature of the data, it was difficult to test. I took a long time to set up an environment to test against, and even then it still wasn't really conclusive. But it looked good, so I deployed it and it runs fine. The only thing that worries me is that it worked without any bugs at all. It always makes me nervous when something just works, it makes me wonder what nasty bug I haven't found. Anyway, I had to fix an issue, and the entire fix was implemented by adding the number '6' to the file at a certain spot. One-byte change. It's great to crank something like that out once in a while, but I'd rather have something I know had bugs and was fixed…
- Wife is having an Avatar: The Last Airbender marathon today. I've only been half-watching though. #
- I90 and coeur d'alene is backed up for miles. #
- Stupid cleaning crew stole my trash can! I should throw things on the floor in protest, but I won't because I'm not that mean. #
- Apparently some bozo thought 8am day after a holiday would be a good time to close off a lane of freeway traffic to sweep rocks. Morons. #
- Oooh,Test Kitchen AND ThinkGeek!! @cpkimball links to @thinkgeek product! http://twitter.com/cpkimball/status/15200421933 #
- Netflix has the entire Invader Zim series available for streaming now. Just FYI. And GO TO @InvaderCON!! #
- Netflix recommends Ant Bully and Scooby Doo for Invader Zim fans. I beg to differ. Neither are so darkly funny as #invaderzim #
- Welcome home, Expedition 23! http://bit.ly/9kamhy #
- Dear AT&T: Please die in a house fire. "Sure, you can tether, FOR $20 MORE Mwahahaha!" Android here I come. #
- It's raining outside and I'm having an allergy attack inside my office? How is this happening?? #
- Bit twiddling in C++. Fun times. #
- Awesome t-shirt: http://www.despair.com/bp.html #
- BP: We're bringing oil to America's shores. Haha! #
- Writing documentation. The less-fun side of coding. I prefer to use Doxygen and write it as I'm going... #
- Just ran in to Heidi G. At Costco. Haven't seen her in a while! #
- My next coding project, which I was told this morning I had several weeks to complete, was just upgraded to "do it in 3 days." #
- Oof. Our Perforce server is using 3Gb of memory right now and p4 monitor show is empty. I think it's time for a reboot, or a switch to linux #
- Stopped and restarted Perforce. Memory usage back to normal. #
- It's a gorgeous clear Saturday morning. The pollen's going to roll in like a dense fog any time now... #
- Making breakfast burritos. Homemade flour tortillas, onions, eggs, sausage, cheese, potatoes. Yum! #
- Went to a nice class at Wishful Kneads about making "Old World Breads." It was fun. I have new ideas now! #
- Picked up Season Three of Burn Notice today. The girl at the checkout counter said it was her favorite show too! #everybodyLovesBurnNotice #
- I wish Michael Ironside had more of a part in Burn Notice season 4 opener. He's a great actor... #
Means I'll have a nicer day inside while it's still Spring…
Stupid allergies.
I would pay money for a Porkins is my wingman t-shirt. Someone should make one so I can buy it.
I fixed a small but annoying (to me, anyway) bug in my blog theme just now. If you were to view my custom theme in a very wide window (greater that 1400 pixels or so) the main body text would start to "underlap" the right-hand sidebar. By imposing a maximum-width limit to the content area I fixed the issue to my satisfaction.
Well if you stopped by yesterday you may have read my post about Boost::Spirit 2 and the trouble I had converting to the new Spirit 2 library. Fortunately, Hartmut Kaiser, one of the Boost::Spirit authors must have a Google blog notification when Spirit is mentioned in a blog, because he left a comment with a suggestion for me earlier!
Unfortunately, I still can't seem to get qi::phrase_parse to work right. The problem is that I'm trying to match one of a set of increasingly complicated grammar structures (perhaps starting at the most complicated and working backwards would fix this issue…). So, here is my problem in gruesome detail:
I'm implementing a get command for a MUD, an online text-only game system. Since I'm writing it from scratch, I decided to use some of the most up-to-date tools I could find to do so, and Boost has some terrific libraries that make this possible. As far as I can discern, the get command can come in the following forms:
- get hammer
- get 20 nails
- get hammer 2 (the second hammer)
- get 20 nails 3 (20 of the 3rd type of nails visible)
- get hammer from toolbelt
- get 20 nails from bucket
- get hammer from toolbox 2 (the hammer from the second toolbox)
- get 20 nails from bucket 3 (you get the idea)
- get hammer 3 from toolbox 2
- get 20 nails 2 from bucket 3
The problem comes when using phrase_parse with an empty space skip-parser. Given the two rules:
bool res = qi::phrase_parse(first, str.end(), ( +qi::alpha ), ' ', item );
And
bool res = qi::phrase_parse(first, str.end(), ( +qi::alpha >> "from" >> +qi::alpha ), ' ', item, container );
If I check the phrase get hammer from bucket it matches rule one, because after you remove all the spaces from the string it's just one long word! This is an unexpected result, and even if I check rule two before rule one I only match rule one!
And now I'm really lost. I imagine there's a better way to do this, but I can't seem to figure it out. Also, since my allergies are going crazy, I've got to take the night off anyway. Anybody out there know of a solution?
This shirt is awesome: Mind of a Ninja