Strict Standards: Only variables should be passed by reference in /home/public/fp-includes/core/core.fpdb.class.php on line 289
Unfinished Thoughts

Unfinished Thoughts

by William Flake

Brand New Habits

It’s been well over a month since I started my new regimen of taking care of myself. Over a month of finally working out on a regular basis. Over a month of watching what I eat and drink, making smarter choices about what I consume. Have I been perfect? No. (As it turns out, “Grape Juice Beverage” by Minute Maid is one of the most addicting substances on earth.) But have I already learned a lot? Yes.

If you had mentioned to me at Christmas that by spring break I would have settled into a regular exercise routine, I would have laughed. At the end of January, I would accused you of reading my thoughts and I would have promptly put on a tin-foil hat. Today, a little over 30 days since then, I have deliberately walked over 56 miles, done over 600 pushups, over 1800 situps, and lifted over 6 tons of steel. And throughout the course of all this, something amazing happened. I didn’t lose weight (that I know of) or build muscle (that I can see), but I completely changed a habit that was years in the making.

The first few weeks of exercise were tough. I had to force myself to get up and walk. The concept of getting on our hair-covered floor to do pushups disgusted me. But I slogged through them. The first few weeks of my diet were tough. I haven’t wanted caffeine so badly in my life. I had to take up chewing gum to convince my stomach that it wasn’t hungry at all hours. But now, none of that’s a problem. I look at the Coke machine in the basement and don’t even think about stopping. I see the tub of delicious peanuts under our TV, but they have long since ceased to call out to me. I get upset when homework takes me into the late evening, because my legs are begging me to go to the gym. It’s hard to be a lazy bum when your desire to be sedentary is gone.

It took a month. One month. In that month I have completely turned around two major facets of my life. Who knew it could be so simple?

Introducing: The Fridge

When kids are growing up, what is a sure-fire way to get them to do chores? Post a list on the refrigerator. The public humiliation of not getting smilie-face stickers for each day can act as a stick, and the pride of filling up every row, every day can act as a carrot.

To help me with my New Years’ resolutions, I decided that I needed a fridge to post my workout data to. However, the microfridge in the dorm room was not going to suffice. It’s too low to the ground and only three other people ever see it. Instead, I am creating a virtual refrigerator door, right here on this website. Right now, it’s very simple: a list of the things I’m supposed to do every day, and the results of those activities. If I don’t work out, you’ll know it. My performance can now be pushed by everyone walking past the virtual icebox.

In the future, I plan to make The Fridge much more robust. It’ll give you more data, make entry for me a LOT easier, and even let you join in. It hardly seems fair to consume an entire refrigerator door with only my stuff, so, if you so choose, you will be able to keep track of your goals. I’ll have more information about the specific features once they’re completed. I hope that you will find The Fridge as useful as I do.

So, what are you waiting for? Check it out, and be sure to stop by on a regular basis to help make sure that I don’t start slacking off.

Update (March 14): My workouts have been going well. My ability to keep up with this log has not. I greatly appreciate everyone’s help in keeping me honest until daily workouts became [a habit] rather than a chore.

Just in the Nick of Time

Here we sit, the last minutes of the first month of a new year ticking into oblivion.

And here I sit, working on the my first blog entry of said new year. Talk about procrastination.

“New” Year’s Resolutions

Although it’s probably a bit late to make resolutions for the year 11 months ahead, the entire month of January seemed to be a blur of non-productivity, and therefore, I’m working the resolutions in where I can. And that time is now.

As my roommates already know, I am going to make this year the year that I start taking care of myself again. My first three semesters at school saw my diet decline from healthy foods and milk to cheeseburgers and EVERYTHING THAT EXISTS IN THE ROOM. (Sorry guys…) The month of January saw my introduction of phase I of Operation Stop Being a Fat-ass, where I have worked to stop eating the stuff in our room. Every now and then I still slide back into garbage-disposal mode, but Daniel is always there to remind me of my goal. I really owe him a lot. Thanks.

Phase II, which I started the other day, is to fix my habit of drinking about 27.3 metric tons of sugar per meal (ed. note: there is a margin of error of approximately ±2.3%). So, to correct this, I am stopping drinking all sodas and sweet tea. It’s really hard, but necessary. Also, I am slowly starting a “workout” routine. As of yesterday, I now go on brisk walks around campus. They’re really tiring; I’m really out of shape.

Phases III through whenever I stop numbering them will extend these reforms to actually modify what I eat at meals, expand my exercising, and hopefully, make me less of a lazy bum. Only time will tell, but for now, I have forever inscribed this resolution in the stone tablets of the internet.

I have no other resolutions: I think what I’ve set on my plate is plenty.

Website Updates

Despite the dire lack of blog entries, things have not been completely quiet on the website front. The ePortfolio is slowly being fleshed out with actual content (all presented in such a way that all people, including the blind, will be able to read my documents.) I also have some new ideas for the site, as well as some old ideas to continue working on (such as hopefully getting my Salkehatchie-related pet project functional.) Stylesheets for mobile and print have been refined a bit. There’s a lot going on, but a lot more that still needs to happen. I hope to have the time.


In conclusion, it’s been a whirlwind month. My plan is to manage my time, manage my self, and manage my goals in a manner that allows me to actually do the things I love and the things I need to do, rather than just existing day to day. Wish me luck!

Of Squirrels and Men

CSSquirrel Logo Image by Kyle Weems
Logo of CSSquirrel.com

As some of you may have figured out by now, I like to consider myself a web designer. However, up until now, the extent of my online presence has stretched about as far as my bass performance skills have: playing around in front of my family and a couple of friends. Case in point: this website.

As part of my playing around, I follow the postings and thoughts of many notable members of the web design community. One such developer is Kyle Weems, also known by his online persona: CSSquirrel. On Saturday, he posted a blog entry describing how his site’s cool animated header works. It was an interesting read, but what stuck out in my mind was how simple the code was.

The Existing Code

As mentioned in his post, the entire code appeared as follows:

$("#branding").mousemove(function(e) {
    mouseX = e.clientX;
    $("#cloudLayer").css("background-position", Math.floor(mouseX / 4) + "px 0");
    $("#mountainLayer").css("background-position", Math.floor(mouseX / 3) + "px 0");
    $("#hillLayer").css("background-position", Math.floor(mouseX / 2) + "px 0");
    $("#forestLayer").css("background-position", mouseX + "px 0");
});

The gist of this code (written in jQuery) is that whenever the mouse is located in the main header, the script tracks the mouse’s position, and moves the 4 images which make up the header at different speeds. It worked really well, especially given how little code it took. In my view, though, it had one major problem: there was a rather unsightly jump as the mouse entered the frame. The reason for this was that the images are positioned based solely on the mouse’s position, with no respect given to the existing position.

My Changes

Inspired by the code’s simplicity, I started playing around with how to remove the sudden jump every time you started the animation. After about 25 minutes of tinkering, I wound up with this code:

cloud = 0; 
mountain = 0;
hill = 0;
forest = 0;

$("#branding").bind('mouseenter',function(e) {
    cloud = parseInt($("#cloudLayer").css("background-position"))*4-e.clientX;
    mountain = parseInt($("#mountainLayer").css("background-position"))*3-e.clientX;
    hill = parseInt($("#hillLayer").css("background-position"))*2-e.clientX;
    forest = parseInt($("#forestLayer").css("background-position"))-e.clientX;
});

$("#branding").mousemove(function(e) {
    mouseX = e.clientX;
    $("#cloudLayer").css("background-position", Math.floor((mouseX+cloud)/ 4)%800 + "px 0");
    $("#mountainLayer").css("background-position", Math.floor((mouseX+mountain)/ 3%652) + "px 0");
    $("#hillLayer").css("background-position", Math.floor((mouseX+hill)/2%800) + "px 0");
    $("#forestLayer").css("background-position", (mouseX+forest)%800 + "px 0");
});

With the new code added, the initial position captured in lines 6-11, is taken into account in the slightly rewritten lines 13-18, and the background simply follows the header’s motion without having to immediately adjust to the mouse’s literal position.

Aftermath

Once I had fully debugged this code, I prepared a test page and sent it to Mr. Weems. After a brief back and forth (in my excitement I accidentally left the links pointing to my computer, not the server), he replied that he liked it, and minutes later, my code was live on his site. I didn’t expect him to respond to my code suggestion, much less adopt it immediately. Better still, he even gave me credit in the code for writing it.

So, there you have it: my first “major” web design accomplishment. I’m thrilled. Check out the header at CSSquirrel.com.

Generosity

After returning from fall break, I am amazed by the generosity people have towards others.

First, a little background. I had been wanting to bring my car to school, because walking everywhere has severely limited me in some cases (that 3 mile walk to the church to get an Easter basket last spring nearly killed me). The only problem is, the car has been sitting dead on the driveway for years. With the help of my grandfather and a couple of phone calls to my uncle, we replaced the alternator and fixed the windshield wipers, the two most crucial repairs needed.

To get me all set to head back to school, my parents graciously paid for routine maintenance repairs on the car. All in all, I think every drop of fluid in the car may have been replaced, and with good reason, for they had probably nearly crystalized with all the time spent unused. My family was really looking out for me.

But, Of Course…

No amount of preparation in the world could prevent everything from going wrong, especially with a 20 year old car. As I got off the interstate on the last leg of my journey to Clemson, I heard a very quiet pop, and my power steering went out. I laughed a little, knowing that something had to go wrong, so at least it was something as easily fixable as power steering.

What didn’t cross my mind was that all of the fluids had been checked that morning, so it had not just run out of power steering fluid. I pulled into a shell station about 5 miles from campus to fix the car. I opened the hood to see the drive belt broken and laying across its pulleys. Now, I don’t know very much about how cars work, but I knew it was the “drive” belt and that without it, I could probably cause a lot of damage by continuing to “drive.”

So, I was stranded, on the outskirts of a small college town in the middle of fall break.

A Family of Angels

Not knowing who else to call, I dialed Brian’s number, hoping that he could at the very least pick me up and take me to the dorm. What I received instead was a blessing. It turns out he was at Kate’s house, and Kate, her dad, and Brian came to my rescue. They drove me to the auto parts store, helped me try to replace the belt (which ended up not working), helped me park the car in a better lot, took me home, and even gave me a home-cooked dinner.

In the course of a few hours, I went from feeling mature and self-reliant to feeling like a scared kid on his own to feeling loved by a family I had never even met before. I have truly blessed to know such wonderful people. Thanks to everyone who has been so generous towards me recently. You have no idea how much I appreciate it.