Friday, June 8, 2012

She's nearly two?

Everytime I look at my so called "blog" I get this intense feeling of guilt in my stomach.  I was so sure I'd be able to keep up with this thing and document Fiona's development as well as my own as a father.  I realize now that with the addition of a child to the mix, finding motivation to spend time writing is tough.

Still, at the end of the day I'm able to forgive myself for not writing, because I know I've spent most of that time with my family.  That's really what's important, right?  My primary reasons for writing have always been to have an accurate representation of my feelings at any given time as my memory is terrible. I want to be able to look back and be reminded of the lessons I've learned.  Enough of the regret, I'm here, so I might as well talk about what's goin on with my life :).

Today is my birthday, and Fiona picked out the cutest fairy princess card I've ever seen.  It was so cute, she decided she didn't want to let it go ;).  I think her being a happy camper is a pretty good present in-and-of-itself, so I certainly don't mind.

My last post here was around the time that she was five months old.  She'll be two in exactly one month from today.  Five months...man, around that time, she was still what we'd kindof consider an unhappy baby.  After fighting with colic, and her not wanting to be held, I felt like she'd always be that way.  There were several days when that got to me and I remember being depressed about it.  I'm fairly certain Kim was too.  Still, we somehow managed to make it through Fiona's unhappy phase without any major drama, and today, I can't express how happy that little punk makes me ;).

Routines have become standard in our house.  That's right, I have routines now.  Crazy right?  Every week day is pretty much the same.  We wake up to Fiona laughing or talking over the baby monitor at around 6-7AM.  I used to think that was early ;).  I put on a pot of coffee and go upstairs to get her, while Kim makes her a sippy cup of milk.  We almost always end up playing a game of "night night" where Fiona pretends to go back to sleep.  When I finally get her diaper changed, we head downstairs and she almost always has her Tigger and "ki-ki" (blanket) in tow.  Then I sit her on the couch and she watches PBS cartoons while drinking her milk.  After I make myself a cup of coffee (and Kim when she's not pregnant...more to come on that later ;) ), I sit and watch PBS while drinking my coffee.  Did I say I watch PBS?  No, I mean I have intellectual conversations with Kim and I focus on those conversations without fail....right?  Yes..I'm a distracted person.  Still, those are our mornings and due to us getting up so early we have plenty of time to enjoy them.  Then, it's off to work before Dinosaur Train ;).

After work it's hit or miss.  Sometimes we go out, other times we stay in.  We always eat dinner at the table and always try to shoot for the same time.  Then it's playtime before bed.  I don't usually get many chores done during the week because I'd rather spend her awake time with her.  Then around 7:30 (now 8:00) she goes to bed.  That turned into something rather odd about a month ago.

For nearly a year her bedtimes were like clockwork.  One night, a switch flipped and she decided bedtimes weren't for her.  I'm not saying she cried a little, mind you.  Her butt hit the bed and she started screaming like she was dying.  We stayed with her for a little bit, because we thought it might be an ear infection, but eventually we just had to leave the room.  She finally settled down about 20-30 minutes later, but when I went to check on her, I realized she'd thrown up all over herself and was sleeping in it.  We felt terrible and immediately woke her up for a bath.  The next day we took her to her pediatrician, and got a clean bill of health.  The doctor's opinion was that she was playing us and simply decided she didn't want to go to bed anymore.  So for the past month bedtimes have been a struggle.  We've stayed strong, however, and she's finally getting better at them again.  For at least a week now I've noticed she hasn't really cried at bedtime even though she says she doesn't want to go.  Persistence has definitely paid off.

As far as Fiona's development goes, she is walking and talking now as she should be per most standards.  Most communication is simply one or two words, but she does understand a lot.  She helps her mother out in the kitchen with putting away dishes, and getting new trash bags.  She even picks up her toys...right before throwing them back out again ;).  She's also learned 20 out of 26 letters of the alphabet.  I don't think I knew my alphabet at that age, so I'm tickled that Kim is doing so well with her during the day.  Our favorite word for her to say is "Butterfly" because it's just about the cutest thing in the world.  That's second only to "CheeseBurger" which sounds more like "CheeseCoCo"...or something :P.

In other news, we have another one on the way.  Carter "Wave" McNeil will be with us on August 31st provided everything goes well with the planned C-Section.  We're super excited, though we're still trying to figure out the logistics of where he's going to go until Kim's body heals.  Stairs won't be easy/possible for her.

That's about all I have in my head for now.  I'm sure there could/would be more, but I won't make promises about keeping up with this thing.  It feels great just to get this much out.  Till next time.


Wednesday, December 15, 2010

Minecraft Multiplayer teleporting with a server-side script!

So I play Minecraft with a few buddies on a stock (currently updated) Minecraft server on my Windows 7 box.  One of my friends decided to build a house way out in the middle of nowhere and I couldn't figure out how to get back there.  I decided to dig around in the Minecraft server directory structure, and found the player.dat files.  I assumed they held the players' location and inventory, so I tried reverse engineering them with a hex editor to determine a player's saved location when they were logged out, but it wasn't as obvious as I'd hoped.  I decided to get a little crazy, and just copy the player.dat file over my own, and log into the game.  Low and behold, I was standing in his place with his inventory!

That got me to thinking about ways I could do this automatically as a sort of teleportation.  I ended up coming up with this script:

#!C:\Perl\bin\perl -w

use IPC::Open2;
use strict;
use warnings;

my $minecraft_server_path = 'c:\MineCraft';
my $world_name = 'blockatopia';

my $pid = open2(*OUTPUT, *INPUT, 'java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui 2>&1');

while (my $line = <OUTPUT>){
    print $line;

    if ($line =~ /(\w+) issued server command: ([\w\s]+$)/){

        my $player_name = $1;
        my $command = $2;

        if (defined $command){
            if ($command =~ /^save secret location ([0-9a-zA-Z_]+)\s*$/){
                my $save_point_name = $1;

                #Kick the player so their dat file gets updated
                send_command("kick $player_name\n");

                #give the sever time to perform the kick
                sleep 1;

                #Make sure the location directory exists
                unless ( -e "$minecraft_server_path\\$world_name\\players\\secret_locations" ) {
                    system("mkdir $minecraft_server_path\\$world_name\\players\\secret_locations");
                }

                #Make a copy of that user's .dat file and rename it to the save location listed above
                system("copy $minecraft_server_path\\$world_name\\players\\$player_name.dat $minecraft_server_path\\$world_name\\players\\secret_locations\\$save_point_name.dat");
            }

            if ($command =~ /^save location ([0-9a-zA-Z_]+)\s*$/){
                my $save_point_name = $1;

                #Kick the player so their dat file gets updated
                send_command("kick $player_name\n");

                #give the sever time to perform the kick
                sleep 1;

                #Make sure the location directory exists
                unless ( -e "$minecraft_server_path\\$world_name\\players\\location" ) {
                    system("mkdir $minecraft_server_path\\$world_name\\players\\location");
                }

                #Make a copy of that user's .dat file and rename it to the save location listed above
                system("copy $minecraft_server_path\\$world_name\\players\\$player_name.dat $minecraft_server_path\\$world_name\\players\\location\\$save_point_name.dat");
            }

            if ($command =~ /^be ([0-9a-zA-Z_]+)\s*$/){
                my $save_point_name = $1;

                #Kick the player so they'll have to load it when they log back in
                send_command("kick $player_name\n");

                #give the sever time to perform the kick
                sleep 1;

                #Overwrite the user's dat file with the player's dat file if it exists
                if ( -e "$minecraft_server_path\\$world_name\\players\\$save_point_name.dat" ) {
                    system("copy $minecraft_server_path\\$world_name\\players\\$save_point_name.dat $minecraft_server_path\\$world_name\\players\\$player_name.dat");
                }
                else {
                    send_command("tell $player_name That player does not exist.\n");
                }
            }

            if ($command =~ /^secret warp ([0-9a-zA-Z_]+)\s*$/){
                my $save_point_name = $1;

                #Kick the player so they'll have to load it when they log back in
                send_command("kick $player_name\n");

                #give the sever time to perform the kick
                sleep 1;

                #Make sure the location directory exists
                unless ( -e "$minecraft_server_path\\$world_name\\players\\secret_locations" ) {
                    system("mkdir $minecraft_server_path\\$world_name\\players\\secret_locations");
                }

                #Overwrite the user's dat file with the saved location dat file if it exists
                if ( -e "$minecraft_server_path\\$world_name\\players\\secret_locations\\$save_point_name.dat" ) {
                    system("copy $minecraft_server_path\\$world_name\\players\\secret_locations\\$save_point_name.dat $minecraft_server_path\\$world_name\\players\\$player_name.dat");
                }
                else {
                    send_command("tell $player_name That location does not exist.\n");
                }
            }
           
            if ($command =~ /^warp ([0-9a-zA-Z_]+)\s*$/){
                my $save_point_name = $1;

                #Kick the player so they'll have to load it when they log back in
                send_command("kick $player_name\n");

                #give the sever time to perform the kick
                sleep 1;

                #Make sure the location directory exists
                unless ( -e "$minecraft_server_path\\$world_name\\players\\location" ) {
                    system("mkdir $minecraft_server_path\\$world_name\\players\\location");
                }

                #Overwrite the user's dat file with the saved location dat file if it exists
                if ( -e "$minecraft_server_path\\$world_name\\players\\location\\$save_point_name.dat" ) {
                    system("copy $minecraft_server_path\\$world_name\\players\\location\\$save_point_name.dat $minecraft_server_path\\$world_name\\players\\$player_name.dat");
                }
                else {
                    send_command("tell $player_name That location does not exist.\n");
                }
            }
           
            if ($command =~ /^list locations\s*$/){
                my $save_point_name = $1;

                #give the sever time to perform the kick
                sleep 1;

                #Make sure the location directory exists
                unless ( -e "$minecraft_server_path\\$world_name\\players\\location" ) {
                    system("mkdir $minecraft_server_path\\$world_name\\players\\location");
                }
               
                my $files = `dir /B $minecraft_server_path\\$world_name\\players\\location`;
                my @files = split "\n", $files;

                foreach my $file (@files) {
                    $file =~ s/\.dat//g;

                    send_command("tell $player_name [$file]\n");
                }
            }
            if ($command =~ /^help\s*$/){
                #give the server time to finish it's help command
                sleep 1;

                #Now send our help information
                send_command("tell $player_name /save location name_of_place\n");
                send_command("tell $player_name /warp name_of_place\n");
                send_command("tell $player_name /list locations\n");
            }
        }
    }
    if ($line =~ /poop/g){
        send_command("say Not allowed to say poop!\n");
        print "[Wrapper sent]say You said poop!\n";
    }
}

sub send_command {
    my $command = shift;

    print INPUT $command;
    print "[Wrapper sent]$command";
}


This script is a wrapper around the actual minecraft executable.  It uses a module to read the output of the server (all of player's entered commands and chatting) and based on strings that it sees, sends commands back to the server along with copying and moving files around on the server side.  Once this script is running your minecraft server, you can execute the following commands in game by hitting 't' and then one of the commands below:

/save secret location name_of_warp_location
/save location name_of_warp_location
/secret warp name_of_warp_location
/warp name_of_warp_location
/be player_name
/list locations


Command Definitions are as follows:

/save secret location name_of_warp_location - saves the current location (and inventory) of the player under the name specified by "name_of_warp_location", but does not add this location to the public list.  (See the /list command below)
/save location name_of_warp_location - saves the current location (and inventory) of the player under the name specified by "name_of_warp_location", and adds it to the public locations list (See the /list command below)

/secret warp name_of_warp_location - teleports the current player to the location specified (and gives them the inventory saved at that location).  Only works with secret locations
/warp name_of_warp_location - teleports the current player to the location specified (and gives them the inventory saved at that location).  Only works with non-secret locations

/be player_name - teleports the current player to the last known location of player_name (and gives current player a copy of everything that was in player_name's inventory)

/list locations - lists all publicly saved locations on this server.  (Also lists the users currently logged on because this command piggy-backs the normal /list command)
NOTE:  All of the "save location" commands will perform a kick of the player that performs them in order to force the players location to be saved in the back-end file before it gets copied.  Don't freak out when you get kicked, just log back in and the location will be in /list locations.  Also, all of the "warp" commands will kick a player before copying their file because the login process is the only way that I know of to load a player.dat file back into a player :).

Now, the more complicated problem of making Perl run on your windows machine is a different story.  I used the Active Perl installation from the folks over at ActiveState.com in order to get it running on my machine and it was fairly straight-forward.  If not, well..there are plenty of howto's on the internet that can help you out with that ;).  Once Perl's installed, just modify these two variables to match your Minecraft server location and world name:


my $minecraft_server_path = 'c:\MineCraft';
my $world_name = 'blockatopia';


For those of you who have a nice Linux box that will run the Minecraft server worth a darn (Sadly, mine is in dire need of an upgrade) this script should work just fine for you as long as you reverse all of the \\ to //.  I didn't feel like putting the time into this to make it truly cross-platform... my bad ;).

Hope this helps you all enjoy Minecraft a little more.  It's certainly made my time more "productive"...wait...scratch that ;)

Sunday, December 12, 2010

She's five months old now...

...and boy has she changed.

I mentioned in my last post (yeah, two months ago) that I was hoping that the next post would be about Fiona laughing and playing more.  I'm proud to say that she absolutely is a happier baby these days. She can sit up on her own (after we put her there ;) ) but will eventually fall down.  Her legs are strong, (they have been for awhile) and she can hold up her own weight for a very long time as long as we're keeping her steady.  We're both wondering if she'll walk before she crawls.

She despises tummy time, but we've found that we can trick her into laying mostly on her belly with her new Tigger stuffed animal.  Nap times are much easier to get her into now, and we've become quite adept at telling when she needs one.  She's also an excellent sleeper at night.  Her bedtime is around 9:00 PM depending on our schedule and when she ate last.  Until two nights ago we were still tightly swaddling her in her crib.  We made the decision to stop based on her increasing ability to get her arms free.  It's been mostly un-eventful, except that she did wake up once each night a bit fussy.  We waited it out, and each time it only took about 60 seconds for her to fall back into a deep sleep.

Kim has officially stopped breast feeding which means Fiona managed to get almost 5 full months of breast milk.  It really broke her heart, and made her doubt herself as a mother (which was a silly thing to think in my opinion because it wasn't like she quit on purpose.  Her milk simply dried up. ;) ) but now Kim's able to sleep through the night instead of waking up to pump and we have much more freedom when we're out and about.  She's also enjoying her coffee and alcohol again..in moderation of course :). 

We recently got to experience our baby's first cold.  It wasn't severe, but it was definitely different to see how Fiona reacted to being under the weather.  Surprisingly, she wasn't fussy.  In fact, she honestly seemed to feel too bad to bother with being fussy.  Her facial expressions were blank a lot, and she just wanted to sleep.  Her poor stuffy nose was really difficult to work with.  It will be so much easier when we can just tell her to blow her nose when she's older.  We took the suggested precautionary steps that our pediatrician recommended for congestion which included buying a humidifier and keeping it in her room.  She may not have needed it, but I know from personal experience how dry air can turn a simple cold into bronchitus.  Thankfully, the little girl bounced back rather well, even with our holiday traveling and she seems to be much better now.

So those were the facts.  Here are the feelings.  Kim and I are both mentally exhausted.  We've not been comfortable allowing anyone else to babysit for us since Fiona has been born, and I think we're finally feeling the fatigue from not having any "us" time.  With my full time job, and Kim staying at home with her all day, we both feel like we work 100% of the time.  Weekends certainly don't mean what they used to, but with the two of us to split the load of caring for our daughter, the weekends ARE easier going than a normal work day. 

On an introspective note, I never really appreciated the extra load it puts on a person to be responsible for another human being.  Especially with one who's a bit higher maintenance than most.

The holidays certainly aren't helping our stress levels.  We're trying very hard to be aggressive about paying off debt so that we can move out of this house and into a new one that better suits our needs and wants.  Currently we're crammed into this one, and I think the tight spaces are getting to both of us.  Unfortunately, being aggressive about debt doesn't agree with holiday shopping, and we seem to have many more nieces, nephews, and cousins this Christmas to shop for.  It's got the two of us with pretty short fuses ;).  Thankfully we've been pretty good about talking our feelings out before either of us explodes.

We're trying to stay focused on the important things through all of this.  We want Fiona to participate in Christmas, even though we don't necessarily buy in on the same reasons that everyone else does so we have a Christmas tree up this year.  We also try to take her out to see family a lot, and we've started watching our language a lot more as I'm told she's a sponge at this stage ;).  We do our best to split up her day by playing with her directly, letting her play by herself, talking to her a lot, trying to make her laugh, and cuddling up close to her (which is what her and her mom are doing now ;) ) so that she experiences a wide variety of behaviors.  We don't want her to be co-dependent, nor do we want her to be a hermit, so we try very hard to balance her life out as much as we can and when we see a habit start to form that we feel is unhealthy (such as only wanting to nap in Mommy's lap ;) ), we do our best to nip it in the bud.  So far we're very happy and proud of her habits (especially her sleep habits ;) ).  I feel that Kim and I are a perfect match when it comes to how we want our children raised, and I'm very thankful that she and I are together to raise Fiona and our future children.

I won't make any empty promises that I'll post more frequently, because quite frankly it took some good timing to be able to write up this post.  Raising babies is time consuming and ever-interrupting.  Perhaps when she's old enough to entertain herself more I'll have more time to do frivolous things, but I'm not there yet so I don't know ;).

Thanks for reading...tune in next time :)

Wednesday, October 27, 2010

Web page slideshow

So I was tasked with making a web page slideshow for some community televisions at work, but after some research, all I was able to find were image slideshows.  Here's a simple page I threw together that uses a json configuration file to display multiple web pages for a defined period of time, and then slide to the next one.  Below is the html and javascript.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Slideshow</title>

<style>
body {
    overflow: hidden;
    cursor: none;
}

#page2 {
    display: none;
}
</style>

<script src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
    var slideshow;

    var iteration = 0;
    var timer;
    var slideshow_count = 0;
    var op;
    var fade_timer;
    var current_page = 1;

    //Initialize the slideshow settings from the json config file
    $(document).ready(function() {
        //This primes the loop and gets everything going

        //We're using the ajax method instead of getJSON because caching is automatically
        //turned off with the .ajax call.  Also, when specifying the dataType jsonp,
        //the returned json data is automatically placed into a script tag and executed
        //with the callback function.  Our data source here has a static callback called
        //slideshow_settings, so we don't have to pass anything extra in.
        $.ajax({
            url: "slideshow_settings.json",
            dataType: "jsonp"
        });
    });

    function get_next_iteration () {
        if (iteration + 1 >= slideshow_count) {
            return 0;
        }
        else {
            return iteration + 1;
        }
    }
   
    function other_page () {
        if (current_page == 1) {
            return 2;
        }
        else {
            return 1;
        }
    }

    function slideshow_settings (settings) {
        iteration = -1;

        slideshow = settings;
        slideshow_count = settings.dashboards.length;

        do_next();
    }

    function switch_pages () {
        $('#page' + current_page).fadeOut(1000, function() {
            $(this).css('display', 'none')
            $('#page' + other_page()).fadeOut(0, function() {
                $(this).fadeIn(1000, function() {
                    current_page = other_page();
                    $('#page' + other_page()).attr('src', slideshow.dashboards[get_next_iteration()].url);
                    timer = setTimeout(do_next, (slideshow.dashboards[iteration].duration * 1000));
                });
            });
        });
    }

    function do_next () {
        //Clean up after ourselves to prevent memory leaks
        clearTimeout(timer);

        //Loop has started anew.  Check our config file again.
        if (iteration+1 >= slideshow_count ) {
            $.ajax({
                url: "slideshow_settings.json",
                dataType: "jsonp"
            });
        }
        //Do the work
        else {
            iteration++;
            switch_pages();
        }
    }   
</script>
</head>

<body style="margin: 0px; scroll: off; background: black;">

<iframe id="page1" style="width: 1920px; height: 1080px; border: 0px;"></iframe>
<iframe id="page2" style="width: 1920px; height: 1080px; border: 0px;"></iframe>

</body>
</html>

Friday, October 8, 2010

Busy busy Daddy

I suppose this is the way all new parents feel.  The combination of contract work plus staying busy at the full time job keep me a very busy person.

Fiona is growing like a weed.  I noticed while Kim was holding her a few weeks ago that her legs were hanging down further than before.  It's weird how she can change so much when I see her every day.  Also, I'm not sure when it happened, but within the last month she has started sleeping through the night completely.  I feel fairly confident that it has to do with Kim's feeding schedule which was suggested by a book she read called Baby Wise.

The basic concept (that I've been able to glean from her discussions about it) is that the baby needs to get X number of ounces of milk a day.  As long as she's getting those ounces, you can slowly start giving her more during the day on a set schedule (meaning we have to wake her up if she's asleep) and at night, we don't bother waking her.  The result is that she eventually started sleeping longer at night.  I know for a couple of weeks that she was only getting up once at night and we were ecstatic about that.  Then, within the past two weeks (I think) we've had to wake her up at 7:30 to feed her.  After the horror stories I've heard about babies not sleeping through the night for the whole first year, I feel like we're very fortunate in the sleep department.

On the other hand, Fiona is still having some colicky symptoms during the day.  I think some folks think we're exaggerating about her fits of pain, but they're hard to ignore.  It got so bad that we took her to the doctor again a few days ago.  When we described the symptoms (Fiona's screams were blood curdling, she constantly clenched and unclenched her hands leaving scratch marks on herself and our arms and hands.  Her whole body was tensed and she thrashed around a lot.) the doc gave us a prescription for a medicine to help relax a spasmodic stomach and a new reflux medicine.  We've only had an opportunity to use the new anti-spasmodic drops a couple of times, but she seems to calm down immediately when we do.  I'm not sold on the idea, but anything that will relieve her pain is worth it.

She got to meet her grandmother and great grandmother on Kim's side a couple of weekends ago.  I'd met Kim's mother before, but had only heard about her grandmother and wasn't quite sure how the visit would turn out.  As it ends up, her grandmother is a riot and I ended up having a pretty good weekend.  I believe Kim's tension was higher than normal due to it being her family.  I get the same way with my family if I'm expecting a certain reaction and don't actually get it ;).

I should mention now that Fiona is smiling much more.  She doesn't even have to be on her changing table!  She's always in a good mood in the morning, and she gives mommy and daddy tons of big smiles.  I have to say, nothing makes my day more than to see her smile at me.  I can be in the worst of crap moods and instantly I'm better.  I long for the days of her laughing, talking, and running to see me when I come home from work.  I'm a sap like that.

And now....Pictures!!!

Super Fiona!

Package for you Daddy!

Mommy, that medicine is yucky.

Wearing down your defenses in 3...2...1...

It doesn't get cuter than this.


Going to try and update Facebook with all of the pictures I have of her, and upload any videos to Youtube.  Hopefully the next post will be about her laughing, or playing.  So far she doesn't do any of that...but any day now.

Wednesday, September 1, 2010

It's been a rough week so far, and only three days in...

Last week, Kim got in touch with Fiona's pediatrician to discuss her colic and options for making her more comfortable.  After an extensive round of questions about Fiona's behavior when she goes into her crying fits, the doctor recommended something called probiotic drops.  Apparently these are meant to help provide essential bacteria to a baby's digestive track to help with the digestion process and ease her symptoms.

It took us all afternoon to find someone who carried them, and when we finally did it was too late in the evening to go get them.  We seriously called/visited 10 different pharmacies.  About half of them normally had it, but claimed it was sold out.  Turns out this stuff is like $40 a bottle, and it's a tiny bottle.  Multiply a thimble times two and you'll get a good idea.  We were convinced it was some magical elixir for that price.

At any rate, by Friday night, we were able to give her some, and she slept nearly 6 hours then, and 7 hours Saturday night, and was remarkably much happier than normal.  Sadly, the peace was short-lived.  Though she definitely still tends to sleep well the first part of the night (averaging 4-5 hours, then 2-3 each time we put her back down), she still goes into screaming fits of pain most of the time when she's passing gas.  We're not talking about just a fussy baby...I mean I'm afraid that someone will walk up to our door and think we're beating her. 

According to the doctor, we've done everything we can do.  It's definitely the colic at this point, and it will simply have to run it's course.  We even discussed with her the home remedies that we've read about and heard from friends, and have been told adamantly to stay away from giving our baby Coca-Cola as a solution.  Apparently the caffeine can exacerbate the colic, and Coke is harsh on their digestive track anyways.

So here we are, halfway through the week, both of us doing our best to keep our patience.  Tonight, however, patience isn't my problem.  I'm at that point where you start to wonder if you're doing something wrong.  We see very few smiles from our baby, and if she's not sleeping, she's crying, save for the 5% of the time when she's just looking around the room.  I've actually had to calm her in her bed three times since starting this post.

I think the most frustrating part of this is that when I look at our little girl, I have a hard time picturing her ever giggling or laughing.  I know she will one day, but only because of what others have told me.  There is one small nugget of hope, and that's when we set her on her changing table.  I don't know what it is, but sometimes, even when she's fussy, we can put her there, and all is right with her.  She'll just lie there and stare at us occasionally making funny noises.  It doesn't last terribly long, but it is a light at the end of the tunnel.

For now, I just need to try and find spare moments like these, put my head down, and get this extra contract work finished.  Paying off debt, and preparing our family for a new home are high on the priority list.

Sorry if this post is a bit negative...gotta take the cons with the pros.

Wave

Tuesday, August 24, 2010

Not much new.

So there isn't much "new" to write about in the realm of fatherhood.  Fiona hasn't changed too much, and is still very much a sleep/poop/crying machine.

I can take a minute (since she's sleeping ;) ) to write about the "old" a bit.  It's been about 8 months since Kim layed the news on me that we were going to be parents.  As is normal with most folks, I ended up holding onto the kitchen table for a few minutes trying to catch my breath.  I was also nursing a slight hangover from the Thanksgiving party the night before.

It's amazing to me how much a life can change in a single day like that.  The night before I was living in a world of randomness.  I didn't know what I was going to be doing from one night to the next, and I didn't have any type of long term plan in regards to starting a family.  Spontaneous fun is great and all, but it tended to leave one a bit empty late at night.  Now here I am, nearly a year later, and I'm doing contract work with plans of paying off debt and moving into a more family friendly house.

I'm sure lots of folks would argue about our methods, and I'd be surprised to find out no one criticized us behind our backs.  We weren't married.  Hell, we were actually far from it.  Still, our feelings for each other have always been there, and we've always been close.  My real feelings came to me that day on Friday, November 14th, of 2009 when Kim told me that she was pregnant.  Though it took me a good full hour to grasp what she was telling me, neither of us hesitated.  My mind was reeling with thoughts of spreading the word and moving onward with our lives together.

I think both of us got a real kick out of telling our families, and everyone of them were overjoyed and extremely supportive.  I find myself anxious for holidays this year...unlike previous ones.  It seems children really do bring families closer together.  

Like I said, it's just crazy how much your life can change in a single moment. 

Ah well, I hear the little one stirring around.  Time for her late night feeding, and then sleep for her and her mommy and daddy.