Saturday, August 23, 2008

Wedding Day Post 3

After the wedding, Mrs. At Home and I had a good laugh about not being introduced as a married couple, then were shuffled quickly back in for pictures. Pictures with the bride's family, pictures with the groom's family. Pictures with the bridesmaids. Pictures with the groomsmen. Pictures with the bridesmaids and groomsmen. Pictures with the groomsmen with the bride's family. Pictures with the bridesmaids and the grooms family. The picture I still keep around from all of that is the one with her hand and mine with the rings on an open Bible. At the moment, it wasn't open to anything specific, but some friends of ours claim Ecclesiastes 4:12 as their marriage verse. I like to think of that picture as somehow representative of the same.
After all the pictures, we went to the reception where we boogied down. Actually, this was a Baptist church, so dancing was strictly prohibited. But we had cake, nuts, mints, and punch. I was mean and shoved cake into Mrs. At Home's mouth and it made it into her nose instead. So she tortured me beyond belief. The groom's cake had fresh, chocolate-covered strawberries, and she made me eat one. I like strawberry jam, strawberry preserves, strawberry shortcake, and this morning had some amazing strawberry bars. But I don't like fresh, whole strawberries. After that moment, Mrs. At Home never did anything mean to me. She's just like that.
During the reception, one of the odd traditions I wasn't familiar with was when the groom takes the garter off the bride's leg. I also wasn't aware that she had to sit on my best man's lap to do this. So all this is going on, photographer taking pictures, and I have no clue what to do. So I bend down to take the garter off, and there's just this enormous mound of doily over her feet. Of course, we're in a place where dancing is prohibited, and my groomsmen have already embarrassed me in front of the pastor, and I'm not aware that in this place, it's not okay to dance, but it is okay to expose your bride's leg up to the knee. So I was ridiculed for that for awhile. (I got over it - I can see her legs up to the knees in the privacy of my own home now).
After the discomfort of undressing my bride in public, I had to turn my back to all the unmarried guys (all my friends at that point were unmarried), and snap the garter over my shoulder. I didn't see what was going on, but the pictures show that the garter went straight to Mrs. At Home's kid brother (who was 11 at the time), and my pal A was diving over brother A to rescue the garter from hitting the ground. Right after he rescued it, he immediately handed it to brother A. Friend A was not the first of the men married after that point, but I got to be a groomsmen at his first wedding (grumblegrumblegrumble).
After snacking, pressing palms, and so forth, it was off to a quick change operation to prepare for the exit.

Thursday, August 21, 2008

Wedding Day Post 2

Link

After the reception, we got all dressed up and made our way through the parade of onlookers with birdseed. My oldest brother whom I trusted had taken very good care of my keys - I suppose he promptly passed them on to the guys I hung out with in college. And for any ladies who read this, these are not the types of guys you take home to dinner. Guys, these are not the kind of guys you want your daughters marrying.

Anyhow, my brother, whom I trusted (silly me) passed the keys on, so my college buddies did their best. This is a PG blog, so we'll just leave it at that. Confident that my new father-in-law was going to revoke his approval of his daughter's hand, I raced my new bride to the car, and we sped away. I honestly don't know any other details of the parking lot - just that we needed to get to a car wash - and quickly.

So our first stop on our honeymoon was to the spray-n-wash in Forney, TX. I suppose I had enough cash to make change for quarters, because we got most of the shoe polish off. The stuff on the headlights remained there until we sold the car before a trip to San Antonio a couple of years later.

As we started down the highway, Mrs. At Home reminded me that she had eaten nothing that day, and nor had I. I had begun feeling ill that morning, and never really bothered to eat until the reception, and even then, it was just a strawberry after all. So our first dinner together as a newlywed couple was at Jack 'n' the Box.

Somehow, she's forgiven me. I've not acquired any grace yet for special occasions, but I think that's one of the reasons she likes me - I'm her "work in progress".

Wednesday, August 20, 2008

Wedding Day Post 1

Since Mrs. At Home gets to post our adoption story, I thought I'd post about our wedding day. But I thought I'd do it in reverse order.

About 9pm, we pulled into San Antonio in our Ford Escort, got checked into the La Quinta (I was a college student, after all), and headed out to the Riverwalk. The hotel was alright, but it was a Saturday night on Memorial Day weekend, so it was hard to get a place. The following night, we would check into the Emily Morgan.

After getting checked in, we made the dangerous walk past Denny's, down toward the Alamo, then hopped onto the Riverwalk. San Antonio is one of our favorite places to vacation, and the Riverwalk is such a great place to walk (hence the name, I guess), relax and unwind. We walked the Riverwalk for quite awhile, stopped of to get something to drink, and I had started my first vacation married to the most amazing woman you'll ever meet.

Tuesday, August 19, 2008

LT

It was the NFC championship game. The 49ers are down by a touchdown with seconds to go against the New York Football Giants. Joe Montana was 18 for 20 on the day, throwing two touchdown passes, but the 49ers still found themselves behind. With under a minute left in the game, Montana had constructed a masterful march down the field, but were still only on the Giants 40-yard line.

With seconds left in the game, the 49ers were out of time outs, and had failed to move the ball on first down and had to spike the ball on second down to stop the clock. It was third down (because fourth down with only seconds remaining would just be too dramatic).

Out of the huddle, Montana had control of the entire stadium. He got under center, barked out the count, the ball was snapped, and Jerry Rice juked left, then right to shake his defender. Montana threw a perfect spiral right over Rice's left shoulder, and Rice watched the ball straight into his hands - hitting him in his dead sprint. The ball was perfectly tucked away, then....

BAM!!!

From out of nowhere, Lawrence Taylor blindsided Rice, forcing him out of bounds, dashing the 49ers hopes of reaching the Superbowl for the year.

Actually, my best friend and I were playing football in the back yard. We were pretending to be the players in question. And LT was replaced by a very mature oak tree in Clint's back yard. My face was scarred for weeks. It was a beautiful pass, and a great catch, though.

Monday, August 18, 2008

CHESS: 2008-08-18

White pieces handled by: K-athome
Black pieces handled by: willathome

  1. h4 e6
  2. Nc3 Bd6
  3. d3 Nf6
  4. Bg5 Bb4
  5. Rh3 c5
  6. Re3 h6
  7. Bf4 Na6
  8. a3 Bxc3
  9. bxc3 Qa5
  10. Re4 Qxc3+
  11. Qd2 Qxa1
  12. Qd2 Qxa3
  13. Rc4 b6
  14. g4 Nxg4
  15. Rxg4 e5
  16. Rxg7 d6
  17. Bg7 Nd4
  18. Bxc8 Bh3
  19. Nxh3 Qd4
  20. Be3 Qxh4
  21. Qa1 Qxh3
  22. Qxa7 Qh1+
  23. Kd2 Qb7
  24. Qxb7 h5
  25. Qb8+ Ke7
  26. Qxb6 Kf6
  27. Bg5+ Kxg7
  28. Qxc5 Kxa8
  29. Qxb4 Ra2
  30. Qxd6 Ra1
  31. Qxe5+ Kf8
  32. Qxa1 Ke8
  33. Qb2 Kf8
  34. Bg5 Ke8
  35. Qb8#

White wins! First time K has actually beaten me. (She's stalemated before, but never checkmate).

Sunday, August 17, 2008

CHESS: 2008-08-17

It took me several tries to record this right, so I apologize if there are some mistakes in here. I've replayed this version, and it finally seems to be right.

White pieces handled by: Willathome
Black pieces handled by: K

  1. d3 a5
  2. Nf3 c5
  3. Nc3 Ra6
  4. a4 Nc6
  5. Be3 b6
  6. Ne4 Nf6
  7. Ra3 Nxe4
  8. dxe4 Nb4
  9. c3 Bb7
  10. cxb4 axb4
  11. Rb3 c4
  12. Rxb4 Bxe4
  13. Rxc4 Bd5
  14. Qxd5 Ra5
  15. Qe4 f6
  16. Bxb6 Qxb6
  17. Rb4 Qd8
  18. Qf4 Ra8
  19. b3 g6
  20. e3 Rg8
  21. Bd3 Bh6
  22. Qxh6 e5
  23. Qhx7 Rf8
  24. Qxg6+ Rf7
  25. Bc4 Qe7
  26. Qg8+ Rf8
  27. Bf7+ Qxf7
  28. Qf4 Rc8
  29. 0-0 Rh8
  30. a5 d5
  31. Qxc8+ Ke7
  32. Rb6 Qg7
  33. Rd1 Rh6
  34. Rc1 Qh7
  35. Rc7#

The New Work Situation

I get asked a lot "where do you work?" Not as in "for whom do you work", but physically where I work. When I try to explain it, it gets a little confusing, so I thought I would clarify how work is working out now for those who are interested.

The company I work for is a great company. In order to reduce their expenses in leased space in expensive areas, they're allowing many of their associates to enter a program whereby they can work "in a variety of locations". In order to do this, employees who voluntarily enter the program give up their office space and cubicle and permanent location. Yes, I'm a wanderin' man - but not a Ronin.

Now, at this point most people assume I work from home. Or that because I have my employer's blessing in working from home that I choose to do so. Don't get me wrong, I love working from home sometimes, but in our current situation (read: third-grade and pre-K classroom in the same house) it's difficult to work from home. Many people who enter the program work from home most of the time. I only work from home a couple of days a week, and that's assuming there's not construction in the parking lot or some reason to meet teammates face to face in the office. When we move into the new house, I'll work from home more often.

My employer rents space in buildings here in the suburbs of our beautiful city. In those spaces, they set up cubicles with phones, network connectivity, and all the supoort needed for a normal office environment. But the cubicles are not assigned. Those are called "satellite locations". I can work out of a satellite location if I choose, but I have to reserve my cubicle in advance - or find one that nobody else has reserved.

Also, for those who did not enter the program to work from a variety of location, the company has opened a floor for my department out here in the suburbs as well - in a different building about 300 meters from the first one I mentioned. That one is mostly "traditional" space with assigned seating and you can keep family pictures around and stuff like that. I don't work in one of those.

On that same floor that is reserved for my department are more of those cubicles that belong to nobody, but must be reserved in advance. Also, since those cubicles are on a floor designated for my department, the people who reserve those cubicles can only come from my department.

So, with all that introduction out of the way, here's where I work - BB&BetiHixonHills. And yes - my cell phone carrier works there.

The two buildings where I reserve a spot and visit are only 10 minutes away (8 with no traffic and if I catch the lights just right), and all the local eateries there are far too expensive to eat on a regular basis, so I've been much better about packing a lunch. The days I work from home, if the girls are here, I have lunch with them. I need to force myself to take a walk after I quit work so that I have a clear line between being "at work" and "at home". Sometimes I get up from the computer early but go back and back and back to it well into the night.

So there you have it. If you ask me where I work, I'll just tell you "a variety of locations" and hopefully you'll understand. I love the program, and I don't really miss having a cubicle I can call my own. (Although, I do miss having two screens most of the time).

I Don't Know How She Does It

Mrs. At Home is amazing. If you ever hear me say anything to the contrary, shoot me.

The one example I have today is just running some errands. You could probably surmise from My 25 Things that I don't do too well with crowds, either. Tonight, we went to the library, the local game store, and to Target. All of them were crowded, and when I get in a crowd, I get really frightened.

As much as I love K and L, they complicate my fear of crowded places. They did nothing wrong tonight, so there was nothing to correct them for. But they seem to be incapable of looking out for other people or staying out of the way of carts, stock persons, clerks, or large moving equipment. They never collided with anybody, but just walking through the store with them, I'm constantly watching out for them, knowing that at some point I will have to yank one of them out of the way of somebody who was just practicing defensive shopping. But then again, this is America - if you've ever seen the traffic on (and off) the streets of any city in China, the same disorder exists in any retail store here in the US.

I know it seems like such a small thing, but how does a stay-at-homeschool mom deal with hundreds of events like that in a day? The last thing I want you to think is that I'm daughter bashing - on this trip, they did nothing wrong, nothing for me to complain about or correct. But adding them to my fear of crowds makes things tougher.

Publishing Chess Games

During Summer Tour Stop 2, JMMM spent quite a bit of time teaching K how to play chess. She enjoyed it very much, and I played JMMM a few times and got slaughtered each time. K and I determined that we would begin playing so that the next time we get together with the MMM's we'd be more of a challenge for JMMM.

As I understand it, one of the best ways to get better at chess is to record your games so that you can review them later. In that spirit, I intend to begin recording the games that K and I play, and I thought I'd add a web-ish twist to it and post those on my blog so that the two of you who actually read this can have something more regular to read - although it won't be of much interest to you. I also have selfish motives - that maybe somebody who actually plays chess will happen by and see the recorded games and offer help.

So if you see them and want to play them out yourself, feel free - particularly if you're willing to offer suggestions on how to improve our games (unless you're just trying to sell us a book).

Wednesday, August 13, 2008

On Bad Code in Books

I saw this in a book that's not yet been published. Can you find any security or code correctness flaws with it?

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) 
{ 
  FILE *wordFile = fopen ("/tmp/words.txt", "r"); 
  char word[100]; 
  while (fgets(word, 100, wordFile)) { 
    // strip off the trailing \n 
    word[strlen(word) - 1] = ‘\0’; 
    NSLog (@"%s is %d characters long", 
        word, strlen(word)); 
  }
  fclose (wordFile); 
  return (0); 
}
For now, we'll disregard the trustworthiness of /tmp/words.txt - we'll just assume we trust that it is indeed a normal file.

What is the code flaw? fgets() reads at most size bytes minus 1, but will stop reading at a newline. Then it appends a null byte to the string it read. Pretty safe, right? Well, not if you care to keep all the bytes of your data. Suppose you have a line greater than 99 characters long - what will happen? fgets will read 99 characters, and put a null byte in slot 99 - so far so good. Except now, the length of the string is 99, and we always assume that the last char is a newline, so by replacing that last char, we lose some of the user's data. Yes - this works in all cases but the unexpected ones.

Just goes to show that even the books can use a good code review.

Friday, August 8, 2008

My 25 Things

Link

As seems to be the trend, I'll tell you 25 things about myself you probably already knew, but never read in a list of 25 things about me. Since this one is boring, be sure to read Mrs. At Home's.

  1. I snore. Bad
  2. I'm OCD about using certain words correctly. Many people call a list of 25 things about yourself a "meme", but they'd be wrong. If 25 things about you were a meme, we'd all know all 25 of them just by being members of a common society.
  3. I'm a compulsive non-shopper. Many times, I'll load up a shopping cart of shiny computer gear, make my way to the register, then think "naaahhh, it can wait."
  4. I'm fairly good at a lot of things. I'm not really good at any.
  5. I'm claustrophobic. On airplanes, I prefer a window seat so I can look out the window and feel like I'm flying the friendly skies all alone.
  6. I'm either the seventh of seven children or the second of two in a "second family". My parents had a child-bearing drought of 10 years between child number 5 and child number 6.
  7. I learn computer languages very easily. I just need a good reason to.
  8. I learn human languages with better-than-average ease. In my trips to China, people ask how long I've studied Mandarin. I've not seriously studied Mandarin yet.
  9. I'm scared of meeting people. I have very few friends - all of them are very close.
  10. I don't talk about work when I'm not at work.
  11. I see patterns and odd relationships with numbers. Think The Number 23 or Rain Man, but not quite as scary. We were watching Rain Man the other day, and in the toothpick scene, he said "82, 82, 82 - 246 toothpicks". It was immediately clear to me that he was able to see sets of 82 like you and I see sets of 6 or 8 and automatically know how many there are. I also noted that three sets of 82 is 246 and that 82 is the number of games in the NBA and NHL regular seasons, which is why the number 82 probably stuck out for him. Mrs. At Home said something sarcastic about the observation.
  12. I have an addictive personality. It's dangerous for me to pick up anything new because I tend to obsess about it for awhile (but generally don't get very good at whatever it is).
  13. I can't stand hot (as in over 70 degrees) weather. Anything below like 40 is great, even sub-zero temperatures.
  14. One of my favorite things to do is sit outside and watch and listen to the rain.
  15. My favorite song is probably Samuel Barber's Adagio for Strings, although I love loud cacophony, too.
  16. My mother once took me to audition for a play. I got on stage, and the director asked me my favorite name. I said "Tommy" (probably from 8 is Enough). The director told me to pretend that Tommy was moving away, and that I was asking him to come back. I couldn't do it, so I didn't get to be in the play.
  17. I love almost all manner of sport, except for American Football and NASCAR, both of which I loathe. But I'm not a very good athlete.
  18. I like to cook every once in awhile, and my family sometimes tells me I'm pretty good at it. I think it's just average and they want me to keep it up.
  19. I had a root canal once, and the dentist had televisions in the ceiling and headphones. I had laughing gas, so I was watching some show about Hitler, and I was laughing uncontrollably at something so tragic. I love History Channel now.
  20. After K, I swore we were done with children, then got exited about adopting L. Then I knew we were done. In the past several months, I've secretly harbored thoughts that if God chooses to bless us with another child, that'd be okay.
  21. I hate the telephone. I think it was a necessary evil step on the way to Twitter, but I can't stand talking on the phone. I'd much rather email - I'm more likely to give you a meaningful response online than on the phone.
  22. I don't value stuff. Unless it's somethng that's actually useful, I just don't collect things. I feel bad turning down or getting rid of pictures, love letters, trophies, family heirlooms, but I just don't know what valu a thing has if it's in a box taking up space. The only token I really have from my parents or childhood was a windbreaker my Dad wore that I just couldn't give up. I think I finally left it on a bus somewhere.
  23. I have a peculiar birthmark. It's two large red spots and a divot on my left thigh just above my knee. I don't know if I've had it since birth, but as long as I can remember
  24. I don't have perfect pitch, but I do have a very good pitch memory. Mrs. At Home has good relative pitch, but she sings songs in whatever key is comfortable to her - it always bugs me because I'm actually not able to do that
  25. I keep ranked lists of dumb things. My ten favorite movies. Lists of actors and actresses who are always typecast. Ten things I never want to do. And on and on. Oh - and 25 things you probably didn't know about me (but do now).