Goodbye for now, Oswego

Solstice Sunset 2013

I’m all moved into a new town and its time to say goodbye to a place I lived 26 of the past 28 years of my life. It’s a beautiful little city and I’ll miss the people there and my family. Being 2 hours away is a good distance to see some new things but still be close to family. There are new horizons and opportunities for me in the southern tier of New York. So far I’m really enjoying the change of scenery. There are rolling hills every direction you look, I just need to find some good hiking trails near Binghamton to really see the beauty of the area.

On another note, I love being closer to Wegmans! The Wegmans in Johnson City, NY is far superior to the one I’m used to in Clay, NY.  The Market Cafe is amazing and the amount of healthy, organic foods is very exciting. Here’s to a new chapter of my life!

Excuse me while I go unpack. 🙂

Simple Sticky Footer Using jQuery

I was recently working on a project that required a sticky footer. I needed the footer to always be aligned flush with the bottom of the screen. This was no problem when there was enough content to push the footer against the bottom edge. But what happens when there isn’t enough content? You end up with a floating footer and that’s no fun.

I immediately Googled the problem and found a bunch of various jQuery and CSS solutions. When I tried them though, none of them seemed to do exactly what I wanted them to do. Plus my code was structured a little differently than the examples. I decided to just try to come up with my own solution using jQuery. I’ve had enough of dealing with IE’s quirks, IE understands JQuery so it seemed like the easiest solution.

In order for this to work, the footer can’t be in a wrapper class. The code would have to be structured like this example:

<div id="page"></div>
<footer id="colophon"></footer>

Also, it is required that you set margin and padding for body to 0. These are the only requirements as far as I know of that have to do with CSS.

body {
    margin: 0;
    padding: 0;
    }

The idea behind the jQuery was pretty simple. Check the height of the element, then check the height of the viewport. If the viewport height is greater than #page’s height, then we need to set some CSS on the footer. That CSS will just absolutely position it at the bottom of the frame. It’s a good idea to make sure your footer’s width is 100% so it looks right.

I brought in jQuery and inserted the code.

<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script><script type="text/javascript">
$(document).ready(function() {
  var bodyHeight = $("body").height();
  var vwptHeight = $(window).height();
  if (vwptHeight > bodyHeight) {
    $("footer#colophon").css("position","absolute").css("bottom",0);
  }
});
</script>

In order to make this work with older versions of IE (< IE9), include Google's HTML5 shiv. [html] <!-- Add conditional for IE7 + 8 support --> <!--[if lte IE 8]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> [/html]

See the demo

Worked like a charm for my purposes. Feel free to modify it for your own use. If you have any questions or comments, feel free to leave a comment! 🙂

It is all over, but there’s a new chapter ahead!

After 2 1/2 years, it is finally over- I went back to school and actually finished it!  It has been a 10 year road from start to finish, but I am officially a college graduate from SUNY Oswego with a major in Information Science and a minor in Computer Science.  I learned so much during my time at Oswego and have grown so much as a person.  The field of CS definitely changed the way I think about things.  It enabled me to be a more effective problem solver and it equipped me with many skills that I am very grateful for including Android app development, PHP/MySQL web applications, as well as learning 5 languages in 1 semester (C, LISP, Scala, Prolog, Python)!

Am I completely done with school?  I don’t know.  I can’t throw out the possibility of one day getting my master’s degree, but for now that isn’t something I’m thinking about.  The notion of starting “life” (i.e. get a job, house, etc), is pretty scary.  One thing I know for sure is that I got an extremely quality education at SUNY Oswego.  If you’re reading this and thinking about attending SUNY Oswego in either Information or Computer Science, I can’t recommend it enough.  It is extremely challenging, but what you leave with is worth the stress.

The soon to be demolished Snygg Hall.
The soon to be demolished Snygg Hall.
Spring at SUNY Oswego
Spring at SUNY Oswego
I enjoyed my time at SUNY Oswego
I enjoyed my time at SUNY Oswego

So what is next?  After applying for multiple jobs in the arena of web development, I am extremely excited to say I received a job offer from Binghamton University as a full-time web developer.  My wife and I will be moving there as soon as we can find a place and we will start a new chapter of our lives.  Thank you SUNY Oswego and here I come, Binghamton!