Pages

    Friday, November 27, 2009

    Toys R Us - Minutes to Midnight


    Linkin Park's song "Minutes to Midnight" would have been a fitting accompaniment as Dalynn and I were preparing to rush in to the Virginia Beach Toys R Us tonight at the stroke of 12 am. My heart was pumping and I was curious as to whether or not I would have to do battle to get through the door and claim our spoils.

    Yes, Dalynn and I went to a midnight Black Friday event at Toys R Us, and boy, was it something!

    Waiting in line was an event all in itself and quite festive. There were a ton of teenagers in line, all waiting to secure their $199 iTouch 8GB with a $50 gift card attached. There were a lot of parents mine and Dalynn's ages. There were also plenty of people missing teeth. Quite an eclectic crowd.

    And the smoke! Seemed like every 5th person was puffing away, one after the other. I've never been outside and felt like I was in a pool hall before.

    Then the line started to move and in we went! It was a bit like going over the drop on a roller coaster. As we rolled through the front entrance we realized that the line actually wrapped completely around the building, back to the front entrance. This is basically a strip mall, the line was ginormous!

    I did not, in fact, have to do battle to claim my spoils. Being prepared to wait was more the order of the day. We waited in line outside (see above) from 10:45 til 12, then waited in line inside the store (see below) as people piled up trying to get to one thing or the other. The biggest traffic jam occurred at the electronics station and it backed traffic up to the front of the store.

    The layout of the store was completely insane. Imagine the main aisles of a Toys R Us being turned into one-way streets and you might have a good approximation of what it was like. Everyone was funneled in the same direction, with people branching out to claim a prize then merging back in to the main flow. And nothing was moving quickly. You basically had one chance to grab what you wanted and then hunt for the checkout.

    And hunting for checkout was the truth! Once you had claimed your spoils you had to venture against the flow of traffic, back to the middle of the store. The exact middle. From there a line ran out to the front of the store where you could pay for your spoils. I've never seen a bigger cluster in my life!

    We made it out, having paid half of what we would have, to see that a rain storm had passed while we were inside. The line still wrapped around the building and people were soddenly and vainly hoping to make it inside for the real deals.

    It was actually really fun! I imagine that we might do it again.

    Wednesday, November 25, 2009

    Shifts in Perspective - Addiction

    Addiction is an insidious thing. It worms and weasels its way in, altering how someone thinks. Because so much of it is taking place in the mind it is often not apparent to the one that is addicted how their perspective, how they see things, has been altered.

    Though I am no expert here, simply having been a passenger on this boat, I see that there are two ways in which something can be addicting: physical and mental. I don't intend to address the physical portion here, but by physical I mean the way in which the body gets used to, and consequently needs, the addicting substance. It is a physiological response with physiological repercussions. Anyone who has attempted to quit smoking will have experienced physical addiction and withdrawal. The physical portion of an addiction is often most apparent to the addicted individual.

    The mental aspect of addiction is often not realized until much later, if at all. As I sank deeper and deeper into my addiction I was unaware of what the substance was doing to me. I was not cognizant of the aggression and moodiness, the anti-social behavior, the sheer arrogance that I was exhibiting. Those that were around me saw it writ boldly and clearly, especially Dalynn, but these changes were happening to my mind. How I thought was being changed, I was completely unaware of the changes because I couldn't see them, it was as if I was blind to them.

    Imagine, if you will, that your ability to see a color, let's say green, is changing over time. There's no one time you can point to where you can say "Here I can see green, there I can not", it just goes over time. After a while, you can be looking at green and not know it is there, or not realize that that gray color you see is actually green. So it is with addiction. Your mental self-image changes over time and you become blind to all of the changes that are taking place within you. Some of this blindness is due to your obsession with whatever you're addicted to, some of it is due to the changes that are taking place in your mind as you start to think differently. After a while, you just lose the ability to tell that anything at all has changed.

    Except, there are some times where you are shocked back into a realization that something is wrong. Times of misery, times of hurt, times where you suddenly wonder how you came to this terrible, lonely place. It is during these times that a shift in perspective, how you see the world and yourself, can take place.

    Truth be told for many it will probably take countless times of misery to drive home the point that something is wrong! I know it did for me. It took losing my family as Dalynn left me and took Cole with her, due to her fear of me, to drive home to me that something was wrong. But, even that wasn't enough! I had to suffer through endless days of loneliness and contemplation of the unimaginable before I realized how perversely my mind had been altered, to see how shockingly my thoughts were warped. It was like looking in a mirror after thousands of days without seeing myself and finding a wretched, wan reflection of who I thought I was.

    These are times of shifts in perspective. These are saving moments, when reality can reassert itself. These are horrible moments that the Lord in all His mercy lets us experience. The worst thing that can be done for an addict is to save them from the consequences they have inflicted on themselves!

    A shift in perspective need not always be a horrible thing, though it often is. It need only be a life-altering thing (as if those come along all that often). The birth of a child, for instance. During these times I think we all can step away from ourselves and introspect on to what we are, but for the addict, this time can lead to realization.

    Seeing what I had become gave me the will to fight the addiction and ultimately conquer it. Self-realization, looking in a mirror, did for me what my wife had been praying so diligently for. That led me down the road to breaking the addiction and then recovering my life, piece by piece, that has brought me to where I am today. By no means complete, but in a much better place.

    Had someone stepped in during that time and attempted to "rescue" me, I doubt I would be recovered today. Had I not been able to partake of the consequences of my actions I don't believe I would have ever changed. It is a terrible thing, but then again, so is addiction.

    Wednesday, November 11, 2009

    Two Years of Cancer


    November 12, 2009 marks the second anniversary of Cole's diagnosis of ALL (leukemia). In light of this Dalynn and I have spent the last several days preparing to post an update for this momentous yet silent event. In that time, we have spent many hours looking through pictures we have taken over the last two years. The effect it has had on me, personally, is profound.

    It's amazing what you remember, and how you remember it. I don't remember Cole as looking sick. I remember him much as I see him now, vibrant, alive, talkative and energetic. In my memories, I place the Cole of now back into the settings that we were in back then. Cole chatting away in a hospital bed, hooked up to an IV. Cole, picking at food and talking to me on Christmas day.

    The reality, especially of those first few months, is very different and much grimmer. My little boy was so sick. He was swollen to near-unrecognizability from steroids. He was so weak. He talked very little and had to have help to eat. His legs were mere sticks and if he could walk at all it was with a pitiful gait, dragging his legs almost behind him. I cannot believe that I lived through that time and have forgotten so much of the detail.

    But, perhaps, it is that same forgetfulness that is a blessing. I remember that things were hard, I remember that it pushed me to my breaking point, but it's a bit like remembering facts. Oh, it has left an indelible mark on my soul, I have been forever changed by this tangle with cancer. But I don't remember these events in crystal clear detail, and thank the Lord for that.

    Cole has fought long, and he has fought hard. As I have said, marrying the images of the Cole of then with the Cole of now is almost impossible, and oh, how thankful I am for that. For, you see, Cole is more than winning this fight, he is thriving in the midst of it. He is facing it with an indomitable spirit that does not even recognize that the option of surrender exists. I can see in his actions a heart that will continue to strive for life regardless of what the circumstances say. In looking back at these pictures I am amazed by what an inspiration my little boy is.

    I was telling a friend the other day that I am hopeful that Cole will remember his fight. I hope that he always carries with him the realization that if he can overcome this heinous demon he can overcome anything. So much better for him to draw strength from this later in life than for him to forget.

    Yet, at the same time, I can also say I hope he does forget. I hope he forgets the pain, the suffering, the terrible days of misery. I hope that he can continue to live life as a normal little boy, vibrant and fully certain of the safety and continuance of life. It would be terrible for cancer to have taken away his sense of security in his childhood. So many children lose that so young, how much better if my boy is not one of them.

    For all of my hopes and aspirations, though, I must leave them, and indeed Cole, in the hands of the Lord. God will shape Cole and mold him as he grows older, into a "big boy", into an adolescent and finally into a man. I can only pray that the Lord will allow me to instill in him the values and character that will see him in good steading later in life. As a fallible man, one who is so utterly human and ultimately inconsistent I know that it will be the Lord that shapes and molds Cole, not I. Let Him make of him what He will.

    Please join us on this wonderful day in saying a prayer of thanksgiving for the gift of Cole's life that the Lord has given to us. I cannot remember what life felt like before him and I hope that I never have to experience life without him. He is truly a blessed boy and I am a blessed father.

    Join with us in thanking the Lord for all the good that has come out of cancer. We are a stronger, tighter family than ever before. We are each individually stronger. We have a reference on what tough times truly are and the certainty that we will make it through the tough times ahead. Most of all, pray with us that the Lord will use this to His glory, to carve a path straight to Him. What better way could Cole's illness serve the world?

    Tuesday, November 10, 2009

    Git vs. SVN (I know, right, another one?!?!)

    I've been endeavoring to set up a code repository (or even a document repository, if that need should arise) and have been weighing the merits of both Git and SVN.

    At the very heart of the comparisons lies the manner in which Git and SVN operate. SVN is a central repository. When you "checkout" a file in SVN, you get only the most recent version. Should you need to do backwards comparisons you must communicate with the server for this. You get no history, either. SVN relies on the availability of the central repository to operate.

    Git, on the other hand, is fully distributed. There is generally a "blessed repository" from which everyone will start and ultimately commit to, but when you "clone" that repository you get a full copy of it. Backing up a Git repository with many contributors is actually trivial as there are countless copies of that repository floating around.

    Branching

    Another major difference revolves around branching. In Git, branching is a way of life (as is the subsequent merging of branches). You want to develop a new feature? Branch on your local box and work on it there, then merge it back into your local main repository before committing back to the blessed repository.

    This is not so in SVN. Branching is not done as often (nor as easily). Branching must occur in the central repository and is not a way of life. In this area Git outshines SVN.

    Client Tools

    One area where Git does not outshine SVN is in the client tools. SVN has been around forever (in digital terms). There are very elegant clients for SVN (such as TortoiseSVN) which allow for an incredible ease of use when working with repositories. Further, most modern IDEs have SVN repository manipulation as a core capability. There are several options for working with SVN in Eclipse, for instance, one of which is core to Eclipse itself.

    Git, on the other hand, is young. The tools out there are not nearly as elegant nor are they as wide-spread. What's worse, Git is incredibly Linux centered. There are two Windows clients for Git (with the advent of JGit, that will climb to three), all of which require one to work with the command line. Some GUI projects, such as TortoiseGit, are in the works but will not be ready for prime-time for a while. The last issue here is that there is only limited integration with IDEs. With time, these situations will change, but for now it is a major draw-back to adoption by those other than the most determined.

    Ease of Setup

    To the end that I would like to work with both systems I decided to set up both on our Windows Server 2003 server. I chose to use Cygwin and OpenSSH, along with Gitosis (a Perl mod for Git), for Git. I used Shannon Cornish's tutorial to set things up (along with a little help from scie.nti.st on matters Gitosis). This turned out to be a rather easy and relatively painless way to go about things.

    The basic gist is that you install Git when you install Cygwin then install and setup OpenSSH (by far the most difficult part). At this point you can connect to the server using SSH and clone any repository you would like. Installing Gitosis on top of things (recursively using Git, no less, which is so cool in my book) allows you to use public/private key pairs to authenticate users. You can then use Git to clone the control repository of Gitosis and admin the system remotely. Very elegant and one which doesn't require the anticipated user to have to input a password or create an account on the server.

    Setting up SVN was more difficult. The differences, though, are myriad. While the above Git scheme works on SSH the method I chose to use for SVN works over HTTP/HTTPS, which has advantages all of its own. I worked off of several tutorials, but the most significant was this tutorial.

    The real difficult part here is that you have to rely on Apache. It seems a bit overkill to have to install Apache and get it running in order to serve up your repository, but this is the accepted way of doing things. Once you have it running you must still log into the server to create a username/password combo for any user that wants to use the system, and you must also log in to the server in order to administer the repository.

    The Best of Both Worlds

    I have to say that the thing which gets me most excited about Git is the notion of branching it carries with it. I really like the thought of creating a local branch for every new feature. It seems natural to me.

    On the other hand, I don't think that I want to saddle everyone else around me with command line tools and vi if they want to work with our repositories. So, can a compromise be made?

    In fact, it can! Git has the wonderful ability to clone and commit to SVN repositories. The real details are outlined here by Clinton R. Nixon. In this way, I can take the pain of the command line on myself without foisting it on anyone else, but I also get all of the wonderful features Git brings with it.

    Conclusion

    In light of all of this, we will be hosting our repositories using SVN. However, I will be keeping an eye towards the maturity of the Git clients. If they should ever advance to the level where any "power user" can attain them, then we very well might switch.