Welcome, Guest | Sign In

Submit - Cancel

Blog Updates and Comments

This blog was started in March of 2009 during a pivotal moment of my life. I had recently been fired from Michigan Tech, my first post-college job, and was using my free time to create a website to allow me to both market and develop myself professional. With the new site's blog I hoped to discuss web development, hiking, and personal stories in a manner that was both professional and helpful for other people.

Since its creation in March the blog has already had several major looks. I first planned for it to be part of my major website, with similar layout and designs used in the blog pages as my portfolio. After working with this for several months, I soon realized that this was restricted both the opportunities for the blog's development and affecting my search engine ranking. Starting in mid-July I broke my main site into subdomains, which eventually helped the page rank for each section and allowed me to expand both the front and back end of the blog. The current look for my blog was rolled out several weeks ago, and though I already have a more object-orientated view for the backend already, I've grown quite fond of the layout.

Since the latest blog design has been rolled out I've been able to develop a few different tools more customized for a blog then my...

read more »

AJAX Dynamic Template Solution

One issue I've always had with the typical templating methods over the years is the waste of bandwidth. Even with smart functionality on the backend combining the dynamic and static information on each page, you're still sending an entire new html page for each URL requested by the client, with a good portion of it's content duplicated from the last page they were on. If there was a way to only send the new information, the body of the page, it would save on bandwidth and could provide a better user experience.

I had the opportunity to create such a system with one of my previous clients. They had specifically requested a Flash-like loading feature on each of their pages, so I suggested using AJAX to load the data and refresh the page. There were several problems that I had to address with this system, though.

  1. Links would be controlled by Javascript, not the browser. Since the address bar wouldn't change between pages, bookmarking and history wouldn't work correctly.
  2. Non-Javascript browsers (robots) wouldn't see the content.
  3. Users might get confused by the lack of 'new page flash'.

To solve these problems, I had to build the backend in a particular way before starting on the Javascript. I created a single static template...

read more »

Red Road Cliffs

Most visitors to the Keweenaw Peninsula will remember The Cliffs by their name alone. A sudden up thrust of stark rocky cliffs stretching from Mohawk past Phoenix along US-41 with towering trees and large piles of poor rock is hard to miss, and for those adventurous enough, rewarding to climb. A variety of waterfalls and old mine ruins are located near this area, and an easy climb yields views from several hundred feet of rolling hills to the south. Far away to the southwest near Marquette is a similar treasure, much less known to tourists and adventurers: the Cliffs of Red Road.

I first got interested in Red Road during a hiking adventure in mid-July 2009. I was driving from Clark Creek to Mulligan Plains along the Dead River Basin (north of Ishpeming) when I glanced to the north and saw dark, towering cliffs. It was far too wet that morning for a side trek, so I pushed off this adventure to late August.

Cliffs of Red Road

Cliffs of Red Road

There's not much historical information regarding the highlands north of the Dead River Basin. It was heavily logged at one time, but...

read more »

Basic Tag Cloud

This post assumes basic understanding of PHP, HTML, and CSS.

Creating my blog by hand gave me the opportunity to work with many features that come standard with online blogging software. I developed tag clouds, post filtering, and the search functions based on the visual functionality that other blogs appeared to have. With this post, I'm going to explain how to make a tag cloud using PHP and CSS that can be implemented on any type of article- or post-based environment.

Most blogs that use tags allow multiple tags per post and tags being placed on multiple posts. The tag not only helps explain what the post is about, but also gives basic navigation based on tag for users interested in a specific blog category. A tag cloud provides the navigation with an additional feature: tags that are used more often in the blog are increased in font size, giving them more weight compared to less-used tags.

The first thing that you'll need is a PHP array of all your blog tags. The creation of this array is wholly dependent on your blog setup - I have all my tags in a separate table, so I just did a SQL select command and pulled out an array. If your blog is basic, you may have a manual array or have to loop through a larger table setup. The important thing is to have a...

read more »

Volcanic Plugs of Ottawa Forest

The Ottawa National Forest includes almost one million acres of lakes, rivers, waterfalls, and forested hills of the Western Upper Peninsula. Stretching from the Peshekee Highlands north of Champion to the Michigan-Wisconsin border, the forest contains the Sturgeon River Gorge, McCormick Tract, and Sylvania Wilderness Area. Among its treasures are some unique geologic features to Michigan - three volcanic plugs.

Google image of three Volcanic Plugs

Google image of the three Volcanic Plugs

A volcanic plug is the remains of an ancient volcano. Once a volcano becomes dormant and succumbs to the powers of erosion, only the toughest rocks, the hardened volcanic plug, will remain. The size and condition will depend on the type and age of the volcano, and chances are that it will not be in an ideal chimney shape.

The most popular volcanic...

read more »

Excel Amortization Table

I recently purchased a new car - a 2006 manual Saturn Ion. As with any good car purchase I had to take out a hefty auto loan for most of the car's worth. Thanks to a large amount of student loans and a short work history, the interest on the car loan was quite bad. I began to wonder if and how I could pay less interest on the life of the loan.

There are two main options I decided to explore. First, I wondered how much increased payments would affect the life, and interest, of the loan. Second, I wanted to look at the amount I would save by refinancing the car after a year under a lower interest rate. I was also interested in the gap of my loan (the difference between the trade-in value and loan principle), which would also be the amount I would owe the bank if I totaled my new car.

The only numbers I had to do a bit of research on was the rate of depreciation and the value of my car. I did some guess and check for the depreciation, but later found out that twenty percent is pretty standard for vehicles. Also, I based all of the rows under the data tab on the life of the loan, not when the principle drops below zero (in case of refinancing or increased payments).

When I had finished the sheet, not only could I view the remaining loan amount due and experiment...

read more »

Rocking Chair Lakes

Perched high above Mulligan Plains are the two small Rocking Chair Lakes. A rustic camping site of the Escanaba River State Forest, these lakes offer scenic views and a peaceful escape for the adventurous. Ever since I first visited Mulligan Plains in the October of 2008, I hoped to have the chance to visit the lakes, and I got my chance almost a full year later.

It was a cool, rainy July morning in 2009 when Logan and I headed to Mulligan Plains after a night of camping on the Yellow Dog Plains. While the official route to the lakes involves driving up County Road AKC, I doubted my vehicle could make it more than half a mile on the poorly maintained route. I headed up the unnamed but well-kept county road on the west side of Mulligan Plains and cut over on a convenient driveway near the lakes. As the plains are only two thousand feet wide or so, this route got me close to the start of the trail without damaging my car more than necessary.

Fog rising off the eastern cliffs

Fog rising off the eastern cliffs

I had to double back to find the remains of County Road AKC as...

read more »

Dynamic Template Methods

Ever since I started working on websites during the summer of 2006 I made sure to keep dynamic and static information separate on my projects. Certain things in the website's content should remain the same, or similar, on separate pages: header, footer, navigation, etc. (I'll refer to these similar pieces as 'static' and the content that is unique to each page as 'dynamic'). However, when you work on a website with multiple pages, it becomes difficult to update the static information the same on all pages. This is where a templating system comes in handy.

A templating system allows the developer to separate the content to ease updating. When I first started with websites, I used Dreamweaver templates for this, which is a classic example of a templating system. You create a document in Dreamweaver with the header, footer, and any other information you want to remain the same across all the pages on your site and save it as a template. You can create new pages based on the template and Dreamweaver will 'lock' the template structure and only allow you to edit the dynamic, or unique, area of the page. If you want to change the static information, you can open the template separately, edit it, and save it. All of the pages created with the template will automatically update...

read more »