Weekend on Mulligan Part C - Northern Cliffs

After a full day of hiking yesterday at Deer Lake and Silver Lake Basin I slept in past the sunrise. When I finally woke up and made some breakfast I made the difficult decision to head home early. The original plan was to stay at Mulligan Plains for another full day, going on multiple hikes around the area, but I was running low on water (and energy) and was ready to be done with the high temperatures and bug swarms.

Foggy morning view of Mulligan Plains

Foggy morning view of Mulligan Plains

However, I did have enough water left for one more hike. I smothered my campfire and headed north along the cliff edge. My campsite was just off of the trail to Bob Lake on the tall cliffs north of Mulligan Falls, so I was just turned north and headed towards Stager Lake. This route offered some excellent views southwards of the plains and a glimpse or two back towards my campsite and the gorge of Mulligan Falls. Once I reached a prominent outcropping on the route I decided to cut west into the woods towards Stager Lake.

Making my way around a few swampy ...

read more »

Weekend on Mulligan Part B - Silver Lake Basin

The air felt uncomfortably hot as I walked down the trail, away from my campsite, in the early afternoon. My first Mulligan Plains hike seemed pretty easy, a simple trek around the Silver Lake Basin. There would be little bushwhacking with the lake levels still below normal from the burst of 2003. I carried a single water bottle with me, thinking that the hike would be easy and I'd be back at camp well before dark.

Uninviting upper Dead River landscape

Uninviting upper Dead River landscape

After crossing Mulligan Creek I continued south until I hit some recent logging activity. I headed right, westwards up the hill, wandering around the piles of brush and avoiding the ankle-twisting traps left by the loggers. They only made it a short distance up the hill but I was surprised to see even more logged-out areas at the top. A recently widened two-track from the south gave them access to the entire area at the top. Disappointed by the lack of untouched woods, I headed down the sandy road.

The hill I was on is one of the tallest points on the west side of ...

read more »

Weekend on Mulligan Part A - Deer Lake

With a three-day weekend over Memorial Day I wanted to try a different hiking experience. Camping is a recent addition to my Upper Peninsula adventuring, but I still frequently use my car up north to drive from one hike to the next (and to grab the occasional fast food meal). Though I don't have the right gear for true backpacking I decided to try something close: set up a site on day one and walk everywhere, avoiding the car (and civilization) during the entire trip. I arrived at my destination, Mulligan Plains, in the twilight to set up for the first night.

Morning sunlight on Mulligan Plains

Morning sunlight on Mulligan Plains

I didn't have time to change out of my clothes from work (shorts) and was attacked by mosquitoes the minute I stepped out of the car. A friendly local and his son was unpacking their truck for a weekend at his cabin, located on the other side of Mulligan Creek. We had a good chat about the area; he strongly suggested stopping by a number of lakes north of the creek for some good fishing. By the time he took off on his four ...

read more »

The Problem with Assuming

In the days of old (PHP 4) web programmers sometimes resorted to small shortcuts in their code. One of these was register_globals, which extracts the global arrays ($_REQUEST, $_POST, etc) into individual variables, allowing a programmer to write $name instead of $_POST['name']. This is an obvious security flaw - users can easily pass in custom parameters to overwrite variables in the code and cause unforeseen problems. In the below example, if register_globals was turned on in the PHP configuration, a tricky user can pass in a 'access' parameter and do some horrible things.

if($level == 'admin')
{
  $user = 'admin';
  $access = 'everything';
  $restrictions = 'none';
}

if($access == 'everything')
{
  // do some horrible things here
}

This is a good example of a bad programming practice - assuming that things will work the way you expect them to. That is, you assume that a level of 'admin' is the only way the 'access' variable could be set to 'everything'. The security-orientated approach would be to ...

read more »

Salmon Trout Point

Just north of Big Bay the shoreline makes a final reach north before curving westwards into Huron Mountain Club property. The land here is strangely flat, with an elevation of 120 feet above Lake Superior. Instead of rolling gently down to the water, the forest abruptly stops at cliffs that plunge straight down to the shallow water. Only a few cabins and roads dot the area, making it a large, flat, and empty area jutting into Lake Superior. I probably never would have visited it if it hadn't have been for a fellow hiker who pointed me towards an amazing hiking adventure.

Looking south from Black Rock Point

Looking south from Black Rock Point

My first visit to this area was with Katie and Logan. We had been out all day and were more than a little tired by the time we reached Big Bay. Parking where Sullivan Creek begins to turn left, we headed east to the water at Black Rock Point. A gated two-track took us right to a small camping spot near the small point. This point is really just a small dimple sticking out from the otherwise straight shoreline with ...

read more »

Why (some) Client-Developer Relationships Suck

Some web development projects don't turn out. The blame falls on both the web developer's and client's shoulders, though most developers will pine about the 'Worst Client Experience Ever'. It doesn't matter if the project is related to a full-time position or a one-time contract... things don't always work out. A combination of misunderstanding and miscommunication can ruin the best of working relationships, pushing back deadlines and frustrating both parties. There are two main causes for why this happens.

Web Development is New

The entire field is brand new, and whether a developer has been working for the past few months or the last decade, it's important to treat it as such. While the majority of people understand how to use the internet, there's a great deal of mystery about the experience. This goes beyond users not understanding the difference between Flash and Javascript and straight to developers themselves. Payment, expectations, and techniques differ greatly between individuals and projects. Also, it's far too easy for a ...

read more »