Static Star Rating System

This post assumes basic understanding of CSS and website images.

Following the rule of separation of content and design, most web developers will limit any design element images to page's stylesheet. This includes repeating header, footer, logos, and body images. You can do some tricks with these images while linked to the stylesheet by utilizing the background-position style.

A block element (div, table, or forced by display:block) on a webpage can be thought of a window with information in it. The window's size depends on either the html content within it or the CSS declared height and width. When you have a background image from your stylesheet for a block element, the div will not change its shape to fit the image. Instead, if the image is larger than the window, part of the image will be hidden. You can control what is visible by changing the background-position to force the image to float to a certain side (left v right and top v bottom) or specify how far to the left and top in pixels the image should appear.

Why is this ...

read more »

Getting Fired

I was hired to work for Michigan Technological University after a short, informal process immediately after graduating in the spring of 2008. Starting under the department of Auxiliary Technologies as a beginning web developer, I was the sole manager for dozens of websites and web applications. After ten months of complaint-free work, I was fired from my position in an extremely negative manner.

During my employ at Michigan Tech, I don't feel that I was the perfect employee. When a friend of mine was hospitalized after a camping accident, I took a week's worth of emergency leave after sending my boss and colleagues a brief e-mail explaining the situation. I usually showed up to work early, especially during the summer, so that I could leave early to work around the house or go hiking with my dog. There were several projects I worked on that fell behind schedule, sometimes due to my inability to keep up with a large workload. However, while I admit these shortcomings as an employee, none of them were listed as a reason for my ...

read more »

Topographic Images on a Google Map

This post assumes intermediate understanding of the Google Maps API.

While I was working on a personal project I bumped into the need to create a Google Map that included locations and driving directions of the different Keweenaw waterfalls. This gave me the opportunity to learn about the Google Maps API, including displaying driving routes, arrays of points, and custom markers/descriptions. After working with Google Maps for awhile, I decided to take my website's map to the next level and add USGS topographic maps to the features.

Google Maps already offers several premade maps automatically with neat features, like Satellite, Terrain, and Map view that can work with street routes, but I needed to go a step further for a good topographic view. The maps work by displaying different 'tiles', or images, based on your zoom level and position. While the premade maps do all of this behind the scenes, to add custom maps (either self-made or supplied by another web service), I needed to sort out what tiles were needed and where to display ...

read more »

A Keweenaw Hike

On several waterfall hikes in the Keweenaw during the summer of 2008 attempting to find Copper Falls, I became confused by different directions and descriptions of the drops along the creek. Owl Creek starts from a swampy lake on the top of Brockway ridge, heading downhill to the north past an old mine shaft (now covered) and mill before meandering through a swamp on the edge of Lake Superior. With a drop of six hundred feet, there are many unnamed drops along this creek, and it is difficult to differentiate the real waterfall.

Jacob's Falls

Jacob's Falls

In hopes to find this creek with actual water flowing down it, as it is usually close to bone dry during the summer, I headed north to the Keweenaw in the spring after a few very warm days. Also, I decided to add a few miles onto the trip by making Jacob's Creek to my route. Logan and I parked at Jacob's Falls, near the Jam Pot along M-26, and headed up a nice trail on the east side of the creek. The trail was very defined and used for the first half mile, where the ...

read more »

Using Mod Rewrite to Mask Variables

This post assumes that you are familiar with server side scripting, if/then statements, and basic website development.

When I first started working with web development, I always assumed that there was a one-to-one relation to a unique URL and file on the server. That is, every time a user clicks on a new link, they are taken to a different file and/or script on the server. This brings several problems to a web developer's plate, most importantly maintaining a consistent look across a wide range of pages, usually addressed by using a content management system or template product. If I want to update part of a website as a web developer, I probably want to update a single file as opposed to a multitude of pages to keep the main parts of a website (header, footer, navigation) the same.

It took a while to understand how to use $_GET variables to simplify a website. First used for html forms, $_GET variables are passed through the address bar from one page to the next. The best example of this is with Google. When you visit ...

read more »

Huron Mountain Range

The Upper Peninsula of Michigan isn't particularly known for its mountains. While the terrain is more rugged than the Lower Peninsula, there are no vistas that compare to the Rocky or Appalachian Mountain states. However, there is one group of peaks collectively known as the Huron Mountains worth mentioning for their height and rural setting.

The Huron Mountains stretch northward from Marquette following the curve of the land toward Skanee before dissipating south near Alberta. They circle the Yellow Dog Plains, a sandy plateau mostly owned by the Mead Paper Corporation, and the Peshekee Highlands just north of US-41. The roads are windy and unmarked, used only by outdoorsmen and logging companies, and is not plowed or maintained for most of the year.

Rocky outcroppings near the Yellow Dog River

Rocky outcroppings near the Yellow Dog River

There are three main portions of this range. Starting in the east, near Marquette, is the Sugarloaf range. These mountains are known for their two main peaks, Sugarloaf and Hogback, as well as numerous waterfalls from the Dead River, Yellow ...

read more »

Cross Site Status Updater

This post assumes semi-advanced understanding of PHP scripting as well as basic understanding of Twitter and Facebook.

When I started working on launching my personal website, an interesting problem came up. I wanted to have a feature that showed a current status on my site, similar to a Facebook status. Also, since I also have a Twitter and Facebook account, it only made sense to have a single place to update my Twitter, Facebook, and personal site status.

After doing a bit of research, I decided to use Twitter as the central updater. Twitter has many nice applications built into it, including the ability to update from a desktop or phone. Once my Twitter status was updated, the change would get carried down to my Facebook account and personal site through the Twitter feed.

The first step was with Facebook, and ended up being quite easy. There is already an application built for this that works quite well. Once you agree to use the application, all you need to do ...

read more »

Why I Write Complaint Code

A few weeks back a colleague presented me with an interesting question. He works with an Oracle database and PL/SQL (a programming language deeply tied to Oracle) to create website applications. As he wasn't too familiar with HTML and other modern web content trends, he often ran into issues with different browsers. He used the w3c compliance test as part of his troubleshooting process but never understood what compliance was useful for, especially as his HTML, which would display and work properly, rarely passed the test.

To begin, the term 'compliant code' is thrown around quite a bit. I'm using it in this post to describe xHTML/HTML with no open tags, correct tag names, and no outdated coding techniques or methods. Also, I tend to keep CSS and Javascript in external scripts to make my code easier to read and update, but this is not necessary to pass the w3c compliance test.

I have always made my code compliant and leaned towards xHTML transitional or strict with my website ...

read more »

Waterfalls of the Keweenaw

After graduating from Michigan Tech, I started to realize just how much free time I was going to have after a normal work day. The month of May was a bit hectic; moving into a new house, starting a new job, and adopting an 8 week old puppy was enough to keep both Katie and I occupied, but when my birthday rolled around in early June, we were looking for something new and exciting to do. Remembering a fun adventure in the late summer of 2007, where Katie and I had gotten lost near Skanee looking for the Mouth of Huron and accidentally found Lower Silver Falls, we decided to check out waterfalls in the Keweenaw Peninsula for my 23rd birthday.

Researching for waterfalls to stop at became more difficult then I had originally planned for. Though I found several websites with information, I also found inconsistencies, confusing directions, and poor descriptions of Keweenaw waterfalls. We finally picked out a route that included three waterfalls and several other local attractions, including the Gay Bar and Mt. Horace Greeley. We set off early in the ...

read more »

Current Programming Languages

I started learning about web development during the summer of 2006 when I took an undergraduate course at Michigan Tech involving basic xHTML and CSS. My professor was very strict on certain coding points, such as using valid, clean xHTML and the separation of content and style, which I still practice with my current coding projects. xHTML is the background code for almost all web pages today, containing the words and structuring the page. CSS designs the page, giving it color, special fonts, and images.

With the basics under my belt, I created my first website for the Inter-Residence Hall Council, a governmental student organization that I presided over. The site was basic but well-structured, even if it had no dynamic content. It wasn't until the next summer that I started learning a new language, PHP, partially to make updating my websites easier and partially out of curiosity. PHP is a server side language that creates xHTML - like pulling information from a database to display on a webpage. I also got a new job as a graphic designer and ...

read more »