<![CDATA[Daniel Wilson]]>https://daniellytle.github.io/https://daniellytle.github.io/favicon.pngDaniel Wilsonhttps://daniellytle.github.io/Ghost 5.74Tue, 30 Apr 2024 13:54:27 GMT60<![CDATA[Indoor Cycling Training using Free Open Source Tools]]>We'd all love to always ride bikes outside but mother nature doesn't always make that possible and so most cyclists spend a serious amount of time training indoors. Thankfully indoor cycling has become more enjoyable through products like Zwift and TrainerRoad. These offerings have training plans,

]]>
https://daniellytle.github.io/indoor-cycling-training-using-free-open-source-tools/662fc8ad46375a4d7d3cc835Tue, 30 Apr 2024 13:47:46 GMTWe'd all love to always ride bikes outside but mother nature doesn't always make that possible and so most cyclists spend a serious amount of time training indoors. Thankfully indoor cycling has become more enjoyable through products like Zwift and TrainerRoad. These offerings have training plans, immersive virtual worlds to cycle in, and workouts to help build your fitness. They are great options if you have a few dollars to spend. If you don't want to pay for these apps, there are ways you can get lots of the best features for free.

Flux

Recently I discovered Flux. A free open source app that can pace you through workouts, control your cycling trainer, and create .FIT files of your workouts for upload to Strava.

Flux has built in workouts for all types of training: Sweet Spot, Threshold work, Recovery rides, and more. You can also upload custom .zwo workouts. It tracks your power and cadence data so you can ensure you're hitting the right numbers. It can also connect to Heart Rate monitors and track and display this data as well.

Cycling-Workouts.com

After using Flux for a while I started wishing I had workouts with more variability to choose from so I started to build cycling-workouts.com. This app is meant to be an expansive workout directory where you can find any workout you like from an FTP test to a pro team training ride session.

You can find workouts from classic Zwift rides like Orange Unicorn to ones used by team INEOS Grenadiers. Just download the .zwo file and upload it into Flux and you're on your way.

How I go about an indoor training ride today

I'll search cycling-workouts for a ride that suits my feeling. If I'm feeling fatigued I'll look for a longer endurance ride. If I'm feeling fresh I'll look for something with some intervals and intensity. Once I've found something I like, I'll download that workout .zwo file and upload it into Flux.

Before I start I'll make sure my trainer is connected to my laptop via bluetooth. Then I'll click the start button and begin the workout, usually they start with an easy warmup. Once I'm finished I'll stop the workout, save the .fit file and upload it to Strava along with some commentary about how the ride went!

What I like about this the most is that all these tools are built by cyclists for cyclists. If you're curious check them out!

]]>
<![CDATA[Software Engineer Interview Questions]]>I intend to keep this as a reference of all the interview questions I have experienced in my career.

Coding Challenges

These challenges are often posed in a live coding environment like coderpad. Often they can be found with a large test suite on leetcode or hackerrank.

Maximum Profit in

]]>
https://daniellytle.github.io/software-developer-interview-questions/661d4bd646375a4d7d3cc7adTue, 16 Apr 2024 20:53:16 GMTI intend to keep this as a reference of all the interview questions I have experienced in my career.

Coding Challenges

These challenges are often posed in a live coding environment like coderpad. Often they can be found with a large test suite on leetcode or hackerrank.

Maximum Profit in Job Scheduling

https://leetcode.com/problems/maximum-profit-in-job-scheduling/description

Naive Solution - Recursion
Base Case - No more future jobs, return current profit
Recursive case - Return the max of two calls:

  1. Including the current job profit in the call and finding the next schedulable job
  2. Excluding the current job and call with the next starting job

First call this function on the first job with 0 profit.

Better Solution - Dynamic Programming
Keep an array of the maximum possible profit at index X of the jobs array sorted by end_time

  • Sorting by end_time lets us use our DP array to track maximum possible profit at that jobs end time.

Write a loop through the 1…end of the jobs sorted by end_time and set the maximum profit at the current jobs end_time to be the max of:

  • (include the job) current job profit + possible previous profit
  • (exclude the job) max profit of the job before

possible previous profit is found by finding the latest job ending at or before the start time of the job we are currently looking at.

Max profit of the job before just means dp[x - 1]

# @param {Integer[]} start_time
# @param {Integer[]} end_time
# @param {Integer[]} profit
# @return {Integer}
def job_scheduling(start_times, end_times, profits)
    # combine data and sort by end_time
    jobs = start_times.map.with_index{|st, i| [st, end_times[i], profits[i]]}.sort{|a, b| a[1] <=> b[1]}
    start_times = jobs.map{|x| x[0]}
    end_times = jobs.map{|x| x[1]}
    profits = jobs.map{|x| x[2]}
    # initialize
    sorted_end_times_to_inputs = end_times.map.with_index{|e, i| [e, i]}
    max_profits = [0] * start_times.length
    max_profits[0] = profits[0]
    # dp loop
    (1...(start_times.length)).to_a.each do |job_index|
        previous_job_index = latest_possible_previous_job(job_index, start_times[job_index], sorted_end_times_to_inputs)
        previous_max = previous_job_index != nil ? max_profits[previous_job_index] : 0
        # set max profits to max of include and exclude
        max_profits[job_index] = [
            profits[job_index] + previous_max, # include + max before chosen
            max_profits[job_index - 1] # don't include
        ].max
    end
    max_profits.last
end

def latest_possible_previous_job(index, start_time, sorted_end_times_to_inputs)
    # puts sorted_end_times_to_inputs.reverse.map{|s| s[0]}.join(" ") 
    i = sorted_end_times_to_inputs[0, index + 1].reverse.bsearch{|end_time| end_time[0] <= start_time}
    return nil if i == nil
    # puts "index: #{index}, start_time: #{start_time}, output: #{i[1]}"
    return i[1]
end

Minimum path sum in a 2d grid

Solution: Dynamic Programming
min sum path of a square is the minimum of the two square to the up and left of it. Iterate through all squares computing the min sum path for each. O(squares)

# @param {Integer[][]} grid
# @return {Integer}
def min_path_sum(grid)
    # initialize
    max_sum_dp = [[0] * grid[0].length] * grid.length
    max_sum_dp[0][0] = grid[0][0]
    # dp loop
    (1...(grid.length * grid[0].length)).to_a.each do |i|
        x = i % grid[0].length
        y = i / grid[0].length
        up_val = y > 0 ? max_sum_dp[y - 1][x] : nil # up
        left_val = x > 0 ? max_sum_dp[y][x - 1] : nil # left
        max_sum_dp[y][x] = [
            up_val,
            left_val
        ].filter{|v| v != nil}.min + grid[y][x]
    end
    max_sum_dp.last.last
end

Question 3 - Implement serialization/deserialization for a tree data structure.

https://leetcode.com/problems/serialize-and-deserialize-binary-tree/description/

Rather Tough: BFS to serialize pushing output into array

Deserialize by doing BFS and lookups into the array

# TODO

Followup: Do the problem with N-ary trees

Question 4 - Given a restaurant name, find other restaurants in the list that are k-anagrams with each other.

A name is a k-anagram with another name if both the conditions below are true: The names contain the same number of characters. The names can be turned into anagrams by changing at most k characters in the string For example: name = "grammar", k = 3 and list = ["anagram"], "grammar" is k-anagram with "anagram" since they contain the same number of characters and you can change 'r' to 'n' and 'm' to 'a'. name = "omega grill", k = 2 and list = ["jmega frill"], "omega grill" is k-anagram with "jmega frill" since they contain same number of characters and you can change 'o' to 'j' and 'g' to 'f’

Solution:

def get_char_map(str)
	char_count = {}
	name.chars.each{|c| char_count[c] = (char_count[c] || 0) + 1}
	char_count
end

def k_anagrams_in_list(name, k, list)
	# find names in list with same # of chars
	same_len_names = list.filter{|n| n.length == name.length}
	# process some name data
	char_count = get_char_map(name)
	name_set = Set(name.chars)
	# find k-anagrams
	same_len_names.filter{|n|
		diff = 0
		candidate_count = get_char_map(n)
		name_set.each{|c|
			diff += (char_count[c] - (candidate_count[c] || 0)
			if (diff > k)
				break
			end
		}
		return diff <= k
	}
end

Question 5 - Binary Tree Maximum Path Sum

https://leetcode.com/problems/binary-tree-maximum-path-sum/description/

Solution is to use a recursive helper function that does the following

  • Base Case: Node nil? return 0
  • Compute the max path at current node
    • max (0, left side recursive call) + max (0, right side recursive call) + node.val
  • Compare against global maximum (this might be the root node of our max path)
  • Return the sum of the greatest path connecting current node to parent
    • max (left_side + node.val, right_side + node.val)

Call the recursive function on the root node and your global max will be updated to the max path value.

# Definition for a binary tree node.
# class TreeNode
#     attr_accessor :val, :left, :right
#     def initialize(val = 0, left = nil, right = nil)
#         @val = val
#         @left = left
#         @right = right
#     end
# end
# @param {TreeNode} root
# @return {Integer}
def max_path_sum(root)
    # ruby hack to pass by reference
    data_hash = { 'max' => root.val }
    max_path_subtree(root, data_hash)
    data_hash['max']
end

def max_path_subtree(node, data_hash)
    if node == nil
        return 0
    end
    # calculate max sum at node
    left_sum = [0, max_path_subtree(node.left, data_hash)].max
    right_sum = [0, max_path_subtree(node.right, data_hash)].max
    sum = left_sum + right_sum + node.val
    # update global max
    data_hash['max'] = [data_hash['max'], sum].max
    # return max path that connects node to parent
    return [left_sum + node.val, right_sum + node.val].max
end

Min Time Path

There is an n x n map where grid[i][j] represents the number of obstacles in the position (i, j). In every unit of time, the number of obstacles in every position will be decreased by one. Every position with one or more obstacles is not accessible.
Assume you are a dasher at DoorDash. You can drive from one position to another 4-directionally adjacent position (up/down/left/right) if and only if the position is accessible. You will start at the top left position (0, 0) and your goal is to reach the bottom right position (n-1, n-1). Assuming you can drive infinite distances in zero time, what would be the least time that you can reach the destination?

# Example
# 0  1  2  3  4 
# 24 16 22 21 5 
# 12 13 14 15 23
# 11 17 18 19 20
# 10 9  8  7  6 

# Input: grid = [[0,1,2,3,4],[24,16,22,21,5],[12,13,14,15,23],[11,17,18,19,20],[10,9,8,7,6]]
# Correct Path: 0, 1, 16, 13, 12, 11, 10, 9, 8, 7, 6
# Output: 16

Since you can instantly move along the first path that opens to the end spot on the grid, the problem can be better understood as finding the path with the smallest maximum value of the individual spaces. When this maximum value of time passes this path opens up and we can instantly move to the finish.

This is accomplished by doing priority BFS from our start node. Since our queue of spots to visit will be sorted in increasing order, we can keep one rolling maximum of the highest value seen yet along our search. Once we've hit our finish grid, this rolling maximum will be the highest value seen yet on a path from the start to the finish.

require 'set'

def min_time_path(grid)
  seen = Set[[0, 0]]
  # BFS using priority queue by value
  queue = [[grid[0][0], 0, 0]]
  max = grid[0][0]
  while !queue.empty?
    val, x, y = *queue.shift
    max = [max, val].max
    # Are we at the bottom right?
    if grid[y][x] == grid.last.last
      return max
    end
    # Add unseen neighbors to queue
    unseen_neighbors = get_unseen_neighbors(seen, x, y, grid)
    unseen_neighbors.each do |neighbor|
      n_x, n_y = *neighbor
      seen.add([n_x, n_y])
      n_val = grid[n_x][n_y]
      index = queue.bsearch_index{|item| item[0] >= n_val }
      if index == nil
        queue += [[n_val, n_x, n_y]]
      else
        queue.insert(index, [n_val, n_x, n_y])
      end
    end
  end
end

def get_unseen_neighbors(seen, x, y, grid)
  [[x - 1, y], [x + 1, y], [x, y + 1], [x, y - 1]].filter{ |x, y|
    !seen.include?([x, y]) && inbounds(x, y, grid.length)
  }
end

def inbounds(x, y, boundary)
  x >= 0 && x < boundary && y >= 0 && y < boundary
end

System Design Problems

These problems are usually discussed with an engineer. Interviewers are looking for candidates to challenge assumptions, refine system requirements, and explain tradeoffs when making system design decisions.

Design a 3-day Promotional Event

Say if DoorDash along with other partners across US is sponsoring for 3-day charity event where huge participation of more than 3 million customers are expected to participate and simply donate money. You were responsible to design an app for this. How would you go about it?

Design an Image File Sharing Service

Design a system where users can log in, upload photos, and create albums.

Design a Task Scheduler system

Design a distributes scheduler-as-a-service. The schedule exposes an API to schedule tasks based on a cron format (can be one-off or periodic tasks). The tasks are described in the form of a REST call (URL, method, body) to a service endpoint that will ultimately execute the logic. The schedule will not have single points of failure and will be highly scalable (should be able to execute hundreds of millions of tasks per day).

Behavioral Questions

These questions are often posed to get a data point on how a candidate deals with cross-functional collaboration and how they communicate. It's a good practice to memorize a few technical highlights from your career to draw on when answering these questions

Describe a project that you think went very well...

Follow up: "How could it have gone even better?"

Describe a time you received feedback. How did you respond to that feedback?

Describe a time you experienced a conflict with someone. How was it resolved?

Describe a bad mistake (taking down production etc). How was it remedied? What did you do to make sure it didn't happen again.

There is an issue with a delivery system and missing items (store didn't have it, deliverer forgot it, it was never added to the order). How you would go about solving this issue?

]]>
<![CDATA[5 Days of Rafting on the Zambezi River]]>Some of the first friends I met in Colorado were ex-raft guides. It's a profession for those drawn to the thrill of whitewater and willing to put up with clumsy clientele that fund their adventures. Over the years, the guides I knew moved into different careers and started

]]>
https://daniellytle.github.io/rafting-the-zambezi-river/656d8926200bed0759ea4d78Sun, 10 Dec 2023 01:38:49 GMT

Some of the first friends I met in Colorado were ex-raft guides. It's a profession for those drawn to the thrill of whitewater and willing to put up with clumsy clientele that fund their adventures. Over the years, the guides I knew moved into different careers and started rafting and kayaking on their own as a hobby. Most of them had taken large multi day river trips or experienced the pinnacle of American whitewater, the Grand Canyon. Now they had set their sights on a far more exotic river, the Zambezi in Africa. They had planned a five day trip and asked if I wanted to come along.

The Zambezi (zomb-AY-zee as the locals called it) river flows East through central south Africa until it meets the Indian ocean. The whitewater we would be navigating lies just below Victoria Falls on the border between Zimbabwe and Zambia. Richard Bangs was the first to officially descend the rapids in 1980, in oar-crafts not much different than ours.

5 Days of Rafting on the Zambezi River

Our group would eventually fit into three rafts, two fully paddling and one half-oar rig. A fourth raft would follow the group with the camping and cooking supplies. This boat, the "gear boat" was by far the heaviest. Watching all our critical supplies crash through the rapids after us was always great entertainment, especially seeing the head cook hold on for dear life on top of it all.

Setting off

After meeting the guides, doing a practice float, and a few very hot nights in tents we were ready to take off. Our starting point would be just under the Victoria Falls bridge. As we descended down some metal steps into the Batoka Gorge where the rafts were being inflated, we could hear the roar of the white water already. We noticed groups from Zambia preparing to make their descent from the other side of the river. They would need to cross a jet of whitewater coming directly from the falls before starting the rapids.

5 Days of Rafting on the Zambezi River
Victoria Falls is just around the corner, Zambia on the right bank and Zimbabwe on the left.

After jumping in the cool water we were ready to rock. We wouldn't have to wait long for whitewater action, inside a minute we were dropping into the first rapid.

Day One: Big Water

We planned to camp after rapid 24. A few class V rapids and potentially nile crocodiles would need to be survived before we could rest for the night. Rapids 1 though 4 provided a nice warm up to the real spicy stuff. I found myself in the masculine boat, intent on flipping the boat by accident or not. Unfortunately, our guide "OG" was too skilled to allow this to happen and we found ourselves through the fifth rapid "Stairway to heaven" unscathed. We had led the group through the rapid and now turned our heads to watch the other boats enter the fray. The oar boat was not as lucky. After hitting the main wave at a funky angle, she flipped and dumped her crew into the water.

5 Days of Rafting on the Zambezi River
The oar boat moments before the flip in Rapid 5.

Boaters from most anywhere in the USA know the proper way to swim rapids, hands and feet up looking downstream. This is to avoid getting caught on any shallow objects in the river. Our guides told us this was not a worry on the Zambezi as the water depth ranges from 30-80ft. With this in mind, we could relax and swim back to the boat after getting dumped out by a rapid.

This group mostly contained seasoned guides in sturdy 18 foot rafts, but there were some wild card elements that set our party apart from others. Joe, a veteran guide was piloting a Hyside PaddleCat, which he occasionally let folks hop on when they wanted to go through a rapid in a wilder style.

5 Days of Rafting on the Zambezi River
Joe's PaddleCat bucking hard in rapid 4

Another wildcard was our sole kayaker Eric, who navigated the rapids "read and run" with only the few guide kayaks to show him the way.

5 Days of Rafting on the Zambezi River
Eric in the madness of Rapid 5.

Rapid 5 had produced the first mass carnage of the trip. As the kayakers got everyone back to their boats the adrenaline was high and finally the river we had been thinking about for months had us in its clutches.

5 Days of Rafting on the Zambezi River
Joe and Keagan entering Rapid 5 - "Stairway to Heaven"

Our boat was feeling a bit antsy having witnessed multiple boats flip while we were relatively dry. Little did we know OG had plans to put us in the water soon after in Rapid 8 aka "Midnight Dinner". When a raft guide lets the rest of the crafts pass before a rapid, they very well may be preparing to dump everyone into the water.

"Midnight Dinner" is a rapid with a menu, spice levels differ depending on whether you go right, center, or left. As we cruised down the center of the rapid, a monster hole big enough to eat an 18ft boat emerged right in front of us. Soon we were stuck in the hole and the boat started to keel over sideways. I was on the high side and got a great top down view of my boat-mates being devoured by the rapid before I myself went down.

5 Days of Rafting on the Zambezi River
Flipping the boys boat in Rapid 8 - "Midnight Dinner"

Rapid 9 was called "Commercial Suicide", meaning any company trying to run it with clients would have a bad time. It was a long frothy rapid that probably dropped 30ft with menacing rocks jutting out from either side. The plan was to pull out and walk around the rapid. Our guide's policy was to make the younger guides ride the rapid and paddle the boats over to an eddy at the bottom.

5 Days of Rafting on the Zambezi River
Joe being lowered into Rapid 9

To most everyones surprise, Joe was squaring up to run the rapid. Before anyone could blink, he was bouncing around down river as the jets of water tossed him around. He arrived at the eddy unscratched and much to the admiration of the guides.

We spent the rest of day one paddling through flat water, hitting the occasional class IV rapid, and watching for crocs on the banks of the river. Splashing each other to stay cool went from being a fun prank to being a necessity as the heat was punishing. I learned after that first day to diligently work bring my body temperature down. Coming from rivers consisting of cold mountain runoff this was a strange change but it was soon engrained that river water was the only way to keep cool in the gorge.

We ended the first day at a sandy beach spot on the Zimbabwean side of the river. While we were all very tired, soon the party begin with Zambezi lagers and the groups favorite game Kubb.

5 Days of Rafting on the Zambezi River
Camp 1

At night, most of us would sleep outside as the tents were too hot. The moon was shining bright, lighting up the whole campsite. This was my least prepared night of camping and I spent most of it wandering the camp looking for stray items I could use as bedding. If you've discovered this post in preparation for your trip, I'd highly recommend bringing a lightweight chair and an inflatable sleeping pad.

Day Two: The Stuck Raft

As soon as the sun rose on the second day the temperature started to climb and we were eager to get back on the river. We knew the day would include a few class Vs but also a good deal of paddling. One of the first class Vs we took on was a relatively calm rapid but required a very technical line as lots of rocks were exposed.

5 Days of Rafting on the Zambezi River

After our boat had gone through it we turned around to watch the next boats go through. All of a sudden, one of the other paddle boats was stuck in the rapid. The boat had gotten pushed over a small water fall and was lodged in between the lower bit of the fall and a large rock further down stream. Water was rushing over the boat pinning it down. Thankfully everyone in the boat was alright and they began to get out of the boat and climb onto the rock to lessen the weight on the boat in hopes of pulling it loose.

5 Days of Rafting on the Zambezi River

All hands were helping as first the folks on the rock swam down through the rapid and rejoined the boats below. Then we offloaded all the bags to lighten the boat even more. Everyone on the trip with guiding experience immediately got to work setting up ropes to pry the raft free. They would use a technique called a "z-drag" which uses a carabiner like a pulley to try and pull the boat out of its position.

5 Days of Rafting on the Zambezi River
Multiple Z-drag lines working to free the stuck boat

With the boat slightly deflated and all hands pulling, we were finally able to rip it free. The whole ordeal took two hours and we would have to alter our camp location due to the lost time.

Nevertheless, the sun was out and moral was high. We paddled hard to make up time against a stubborn headwind. When we stopped for lunch the crew was relieved, but we still had some of the biggest rapids of the trip ahead. As we paddled further some clouds rolled in and a warm drizzle began.

The final challenges of the day were two class Vs:"Chemamba" and "Upper Mowemba", a massive wave train that dropped 50ft or so.

5 Days of Rafting on the Zambezi River
The Oar boat navigates Upper Mowemba.
5 Days of Rafting on the Zambezi River
Our chef holds onto the gear boat through Upper Mowemba.

Just above "Lower Mowemba" we would set up our camp. My favorite spot of the trip, it was a huge sandy lagoon with flat sand a bit up from the shore. Here we'd play some more Kubb and have a birthday celebration for Marty, one of the main planners of the trip.

5 Days of Rafting on the Zambezi River

Day Three: Portage Party

It was late November on the Zambezi and that meant low water. Our guides told us how much the rapids can change in low vs high water. During the high water season, the company won't run the first five rapids as they become too dangerous. Some rapids however would become much calmer in higher water. Our next obstacle downstream was one of the these rapids that in low water became a massive waterfall.

5 Days of Rafting on the Zambezi River
Scouting Lower Mowemba the night before.
5 Days of Rafting on the Zambezi River
A typical breakfast spread. Cereal and instant coffee.

We had a lazy morning and played some games in the water before starting our portage mission. The plan was to pull out just before the falls on the boaters left side and lower the boats down. While it was pretty nerve wracking paddling above such a huge drop, our guides new the water well and we had no problem getting into the eddy.

5 Days of Rafting on the Zambezi River
Preparing to lower the boat down below Lower Mowemba.

Soon we were on our way and OG mentioned we were approaching the proposed site for the Bokota Dam, a hydroelectric project on the Zambezi river.

The Proposed Bakota Gorge Dam

Before arriving in Zimbabwe, we had heard about the potential for this dam to be built in the near future with devastating effects to the rapids we had just run. Originally proposed in 1990, the dam would be placed about 50km downstream from the falls and flood every in between.

While I think hydroelectric projects are a good solution, it was sobering to think about all the locals involved in the whitewater industry that would be affected as well as the many fisherman we saw down in the gorge. It is a joint project between Zambia and Zimbabwe as it would sit between the two. While it sounds like there are still major hurdles and significant opposition to the building of the dam, I'd recommend you experience the Zambezi whitewater before it's permanently changed.

Portage Time

The next portage was a considerable effort. Each boat had to be fully unloaded and carried over some tricky terrain. This included the gear boat and every piece of food we had. Thankfully, the company had a small army ready to help us accomplish this when we arrived at the portage. I couldn't believe how fast six Zimbabweans could carry one of these boats across the rocks without stopping. Eight of us Americans carried the last boat across in probably triple the time. We would have to stop almost four times to rest and high five each other for our progress.

5 Days of Rafting on the Zambezi River

The rapid we went around looked like it might be runnable at higher water but currently required a serious drop.

5 Days of Rafting on the Zambezi River

We continued on paddling into the wind, on occasion a song would break out from one raft and be joined by the others. We would scour the shoreline for crocodiles and other wildlife. The sandy beaches became more and more common, on some of them you could see the prints where crocs had climbed out of the water to enjoy the sun.

Hippos and Crocodiles: The hazards of the Zambezi

Before coming to Zimbabwe, we knew that the Zambezi had crocodiles and hippos but didn't really know the extent of the danger. We had heard stories about someone losing a leg here or there, hippos charging rafts, etc. but didn't really know when we would need to be aware of the danger. The behavior and communication of our guides made me feel perfectly safe the entire trip. The policy was this: If you see a hippo, go around it giving it the most space you can. If you are in rapids or fast moving water you're generally safe from crocodiles, if you're in flat water, keep all limbs inside the boat.

Our guides also knew certain spots where crocs or hippos were known to be. We learned that the fisherman had started to kill the crocs that were eating their fish, tangling them up in their nets and bashing them with rocks. One less crocodile in the Zambezi is alright with me!

Our final portage was simple and involved sending the rafts through the rapid empty. The guides would then pounce on them and paddling them into an eddy. I had the bright idea of jumping into the rapid to slingshot myself down to the eddy instead of walking along the rocky shore. This resulted in me doing an all-out swim to get back to the shore. I couldn't believe the current, it pulled on every bit of loose clothing and my sandals.

Pulling into camp was a relief and the flat sand it provided was ideal for relaxing. After some serious Spikeball we settled in to enjoy the stars on a clear moonless night.

5 Days of Rafting on the Zambezi River

You can tell from the photos, the banks of the river were much flatter now, no more the steep rocky walls just below Victoria Falls. I liked this gradual change and it added to the feeling of progressing through a journey.

Days Four and Five: Flat, Flat, Flat

The final float days were a good chance to relax and socialize. At times we were paddling hard against an upstream wind. Rafters call it "W" as saying its name might bring bad luck.

The river widened and the current became full of confusing boils and swirling water. Our guides OG, JB, and Terrance were experts at avoiding this strange eddys and keeping us moving in the main current. Any white water was a welcome sight as it meant we would be able to stop paddling for a bit. At times we would line up the boats and take turns on the oars pulling the flotilla.

5 Days of Rafting on the Zambezi River
Lining up the boats and taking turns at the oars.

Our final camp was on an elevated sandy spot next to a calm section of the river. We could hear a heard of Zambian cattle roving along the shore across the water. We watched quietly to see if any crocs would try their luck when the cows went to drink at the bank.

Lindsey and Marty had set up some superlative awards for members on the trip and we roared with laughter while those were given out. I ended up winning the princess award for falling into the water the most times.

5 Days of Rafting on the Zambezi River

Looking Back

I'm so grateful to our guides OG, JB, Terrance, Pumba, Silent, and everyone at Shockwave Rafting for an incredible trip. It was a great experience I'll never forget. I'm also grateful to an incredible Colorado crew that made for fun days and crazy nights.

Gear

Looking back I wish I had brought following:

  • Lightweight chair - There were suprisingly few places to comfortably sit down in the gorge.
  • Headlamp - It got incredibly dark quite early and relying on my phone for light was not sufficient.
  • Sleeping pad - Especially if you're a light sleeper or have one that you're accustomed to.
  • Light long-sleeve sunshirt - The sun was so intense, even after applying enough sunscreen I was always most comfortable when fully covered.
]]>
<![CDATA[Costa Brava Bikepacking]]>Written by my friend Nate Schneider

Bikepacking may ruin future travel for me. The convenience, adventure, and speed allow for a deeper environmental intake

These words were exchanged over claras on one of our last evenings in Catalunya. They stuck with me as we polished our final days of thrill-seeking

]]>
https://daniellytle.github.io/costa-brava-bikepacking/655b467045974fb11e41874eFri, 05 Aug 2022 12:07:00 GMT

Written by my friend Nate Schneider

Bikepacking may ruin future travel for me. The convenience, adventure, and speed allow for a deeper environmental intake

These words were exchanged over claras on one of our last evenings in Catalunya. They stuck with me as we polished our final days of thrill-seeking riding. I am excited and humbled to share my perspective of an adventure of a lifetime. Thank you Danno for allowing me the space to put pen to paper.

Costa Brava Bikepacking

When I achieved my work sabbatical, I knew I wanted to do something alternative. So many are spent at the beach or exploring the metropolitans of the world. There is nothing wrong with this as we all find refreshment in different experiences, however I knew I wanted something big. The idea of taking on a longer bikepack was something that my mind marinated on for years. I had been inspired by the Lachlan Mortons and Lael Wilcoxs of the world. They could inhale a space at such a more intimate level than what can be experienced by car or even by foot. From the countless hype videos I watched, it seemed as though the adventure never ended. Once the day’s ride was over, the thrill continued in the form of exploring new villages, enjoying foreign foods, or connecting with people from different walks of life. It was inevitable that I would be doing a trip, but where and with who were major question marks.

Towards the end of 2022 I began sending out feelers to a few friends. After much research, I narrowed my gaze to the famous Pyrenees mountains of Spain and France. The rugged mountains paired with the slow beach life of Spain’s Costa Brava seemed like the perfect offset of send and relaxation. In a way to experience as much as possible in limited time, I designed a route that was a point-to-point with neither pole being within Barcelona.

This presented major logistical challenges, however the additional experiences available offset the extra hurdles. Alright, a loose route was planned, but who to bring? Well I am fortunate to have surrounded myself with incredibly keen and like-minded friends. After some Zoom syncs, text threads, and Strava route building, our roster solidified to the following:

Nate Schneider - A couple years of bike racing experience, loves riding uphills, chocolate addict, over plans and over packs which don't mend well with spontaneous bikepacking.

Costa Brava Bikepacking

Dan Wilson - Charger, dives head first into whatever he sets his mind to, experience with smaller bikepacks, very tall, beautiful mullet, great dancer, diesel engine.

Costa Brava Bikepacking

Brian Chorksi - Day 1 friend from my hometown in Wisconsin, incredibly talented photographer, A1 banter, frustratingly fast for someone who doesn't have proper cycling training, appreciates taking things slow and enjoying the small experiences of everyday life, stoke is always high

Costa Brava Bikepacking

With this group, we constructed such a fun combination of cycling experience and adventure drive. We were all like-minded, but brought something unique to the table that was leaned on at different times through the adventure. With this in mind, we continued to tweak the route to fit our goals. Lourdes could no longer be our starting city as the trains were fully booked out. Tourmalet could not be climbed as the time investment to get to the base was too much of a sacrifice. Through all the challenges, we adapted and came up with something special. Unbeknownst to us, these initial adaptations and challenges were foreshadowing of what was to come. Enough of the background, let's get into the adventure. I chose abbreviated bullet lists as my 6 hour layover isn't a long enough time for me to highlight everything that happened.

Logistical Hurdles

Of course our adventure began with logistical challenges. Despite all the hard work we did ahead of time, not everything can be forecasted. Danno and I made some last minute pivots to store our luggage at a hostel across town. After a daunting expedition across Barca with fully loaded bikes, empty bike bags, backpacks and duffle bags, we were off to a bus station to take us to La Seu d’Urgell. We attempted to board the bus, however the driver gauffed at us and would not allow us to board with unbagged bikes. I gave us a 2% chance of boarding and had already committed to finding a train, blabla car or car rental when Danno came sprinting down the track with 3 bike ‘drapes’. We had 2 minutes to get them packed to the driver’s liking. He towered over us and tapped his watch as we scrambled. We threw the bikes under the bus, unsecured to anything, protected by the thinnest microfiber material available. The ‘bag’ was a formality but served no protective purpose. This buzzer beater effort by Danno got us on the bus and headed to the start line.

Costa Brava Bikepacking

Route snafoozs are bound to happen with a route this big, but overall things went pretty smoothly. We had a route malfunction at the base of Port du Bales (causing a hike-a-bike up a 30% grade), then some gravel that required some walking around Costa Brava. The last challenge was during our push from Cadaques to Begur. We were supposed to ride through a national park that was randomly closed due to wildfire concerns. We debated ducking the rope for the couple miles of riding we had planned. Fortunately, we elected not to and as we were turning around, some park rangers pulled up. We had to navigate our way around the city via Google Maps which still led us to multiple gravel sections, however we avoided a fine or worse.

We all had fun journeys to and from Barcelona. Unfortunately mine is still ongoing at the moment, but hoping it is uneventful as this morning provided enough challenges to last me awhile. UPDATE - Made it home safely and on time, however BCN airport threw everything it could at me, including: waiting in wrong ticket line for 1.5 hours, needing run across the airport atrium twice to drop off my bike, finally checking in but being notified I’d be flying standby, needing to go through security twice, having to navigate a passport check that had 2 separate queues, being brought into a fogged-windowed room and asked questions while a thorough search of my bags was completed….again, finally receiving a boarding pass / seat assignment but being stopped on the bridge by another agent who asked to do a 3rd thorough search of my bags (my stamped boarding pass allowed me to proceed without interference).

Misfortunes

On Stage 1, Chorski suffered a flat tire on his tubeless setup. We were about 5 miles from our destination of Valencia d’Aneu when we spotted a cute mountain village where we wanted to stop. When trying to snag a photo of us riding the narrow streets, he rolled over a sewer drain that was just enough to create a side puncture on the edge of the rim. Our many prayers to the sealant gods were answered, at least enough to get him the next 5 miles, but we needed professional help. After 3 trips and multiple attempts from a local bike shop, a new tire and tube had us rolling again.

Costa Brava Bikepacking

Chorski wasn’t the only one to suffer a mechanical. Danno rolled over something sharp as we pulled into Argeles Su Mer (a bustling tourist trap that felt like a crappy Floridian city (no offense)). The quietness of the mountain villages was immediately replaced by children screaming, spring break-esque kids blaring music, and trashy boardwalk / flea markets trying to sell you funnel cakes and graphic tshirts. It was the worst time to get a flat not because we were in a pickle, but we were truly taken back as our previous 7 days had felt so incredibly different. Kudos to Danno though because his bacon strip maneuver had us up and running just a handful of minutes later.
On our last day in Girona, we met some Catalan women on top of the Rocacorba climb. This was a challenging, curvy climb where the world’s best would flock to complete their annual fitness tests. On the descent, one of the women went down and landed some gnarly road rash. She was able to roll back to Girona after a cafe stop and some first-aid work. An unfortunate event for her (luckily she was tough), however it allowed us more time to chat with them which led to a very fun final night in Spain. Oh yeah, the bike was ok too (for the cyclists out there wondering about its status).

Costa Brava Bikepacking

Riding Highlights

Being a lover of anything uphill, I adored our Hors Categorie climbs (aka really stinkin hard climbs). We summited the following mighty climbs: Port de la Bonaigua, Col du Portillon, Port du Bales, Col de Mente, Col de Portet d’Aspet, Port de Lers, Goulier Neige, many unclassified highway climbs and tons of steep kickers along the Costa Brava. All presented different challenges based on how the legs felt, where they fell during the day, and other environmental factors. Climbing hits different when you are slugging around an extra 30 pounds of gear. The diversity of the riding was truly incredible. Each day we were treated to different ecosystems, weather conditions and vistas. Some days we’d start in a scorching hot mountain town then climb up well above tree level and descend through the thickest fog imaginable. Other days we’d wake up and cruise the rolly hills of the coast while making consistent stops for papas bravas. Some days were heads down as we viewed them as transition stages. Others we stopped at every opportunity to fully breathe in the moment. We’d pass seaside villas, mountain top castles and fairytale villages that each had stunning churches and drinkable water springs that saved our butts many times. It’s truly hard to describe all the incredible views we were treated to.
Lastly, just the overall accessibility via bikes is unmatched. We never hesitated when wanting to go check something out. Whether it was a trip to a neighboring town, the beach for a quick dip, or just running across town for food, the bikes always provided us a means of transportation with 0 wait time.

Food

One of my favorite things we did was mid-ride grocery heists. Chorski may be the goat of adventure grocery shopping. We’d send him in with some requests and he’d return with a delicious shmorgishborg of healthy food. He ensured we had fruits and veggies as so many of our other meals consisted of bread, cheese and some form of ham.

Costa Brava Bikepacking

Some foods were daily deletions for the guys. Everyday we’d eat multiple croissants (usually with chocolate), espressos, prosciutto sandwiches and claras (a ½ beer, ½ lemon fanta mix). This carb bomb was incredibly convenient and kept our engines running, but the diversity of our fancier dinners made them taste that much better.

The most foreign thing to me was their mountain top refugees. We’d climb the mighty Port du Bales, a 10 mile climb of unforgiving grade, only to find a cute summit cafe serving up charcuterie boards, crepes, wine, espressos and baked goods in the parking lot. We finished the killer Col de Menthe which zapped the life out of all of us, only to find a small cafe at the summit with beers and cheap crepes. These were life savers and made the harder days that much more enjoyable.

Costa Brava Bikepacking

Lastly, you can’t hit Costa Brava / Catalunya without some incredible seafood. We splurged on octopus, calamari, ceviches, tartars, different fish filets and mussels.

Extras

Our first rest day happened in Bagneres du Luchon, a small town just on the French side of the border. It was surrounded by massive mountains and ski resorts. The neighboring Pseyroudes played host to a Tour de France stage that we attempted to attend via hitchhiking, however no one wanted to pick up 3 raggedy looking Americans, shocking right? Since we missed out on the Tour, we took the extra energy into our rest day and rode to the base of a hike to Lac d’Oo. We hammered the steep hike and were rewarded with Pandora-esque views of an alpine lake surrounded by steep walls and waterfalls. Without hesitation, the boys jumped in and began swimming in its ‘refreshing’ water. Again, it’s hard to describe its beauty without some photographic support.

The running joke of ‘Are the boys going out tonight?’ seemed like it’d result in an utter flop, however a spontaneous final night in Girona led us to a discoteca. The Girona girls and their Argentinian flatmate played tour guides and took us to a local: restaurant for a traditional jagermeister-like drink and long-distance wine drinking, tavern for foosball and darts, then a discoteca for some dancing. We ended up getting pretty toasty and I’m pretty sure my shoes are still cooling off from tearing up the dance floor (at least I thought I did in my drunken stuber). It was an awesome time and something I was hoping to experience at least once on the trip. We finished the night with a 4am run through town as a way to speed up our arrival to the bnb as our 8am alarm was looming.

Costa Brava Bikepacking

Lodging Issues

It was truly incredible at how many weird lodging things happened to us. It almost seemed as if every place was great, however we’d just be waiting for the ‘but…’ that always presented itself. From multiple places not having wifi or power, to having to schedule check-ins / walkouts without wifi, to needing to rent bedsheets, to actually being physically locked out of our bnb for 6 hours and ‘forced’ to go hang at the beach, to being accused of losing bnb keys…. twice, neither of which actually happened. We always found solutions to make things work.

Costa Brava Bikepacking

Lastly, I just wanted to touch on a few of my favorite moments from the trip. Ones that will never leave me, no matter how big or small:

  • During our first climb on stage 1, we ran into a bike tour with riders from Miami. We rode with them momentarily, leapfrogging each other as we continued our way up and down the mountains. Then stopping at the tiniest bar imaginable that had some epic views off its back patio. The most athletic moment of the entire trip may have been seeing Chorski get in an incredibly low sumo squat to take some photos of his drinks on that back patio.
  • Climbing a ribbon of switchbacks on Port de la Bonaigua which led us to a ski resort summit where we were treated to incredible vistas of raw peaks and cows dotting the mountainside. We briefly stopped to take in the summit views as well as some calories. As we crested, we realized we’d be descending through layers of moody clouds until we hit the valley floor. The energy became absolutely electric. Yips of excitement bounced off the mountain walls as we plunged and disappeared into the clouds below.
  • The multi-cafe stop at Lac d’Oo where Chorski was just chopping it up with our server. We hit pre and post hike food. The rest-day wasn’t so restful, but the alpine lake was unforgettable.
  • Somehow always finding hilltop hotels at La Solayan and Goulier where we’d have to make one final ascent after already being put to shambles.During our climb of Port de Lers, we met a woman from Rice Lake, WI who had moved to Santiago Chile. We hung out at a paragliding launch spot and watched her partner run off the edge of a mountain.
  • Having a truly eventful evening / morning in Quillon which we expected to be a quiet time. This included swimming at a local water hole, having a ‘lack of dinner’ scare with a Vietnamese restaurant being super slow and thinking no other food was available in town (ended up getting their appetizers and a pizza), then having an incredible breakfast cooked for us the next morning.
  • Exploring Cadaques: snapping photos of it’s incredible beauty, swimming in the Mediterranean, eating at Celeste and jamming out to some locals playing on some alley.
  • Hitting the incredible beaches that surrounded Begur. We visited multiple places where we swam, did some minor cliff diving, juggled some footy, watched locals throw backflips and drank diy claras. Chorski’s stoke really showed here.
  • Exploring Girona’s old town and really soaking up their crazy bike culture. We hit multiple bike cafes in La Fabrica and Hors Categorie. Then the crazy night that ensued where we really let ourselves go for the first time. Danno really tore up the dancefloor and his sunglasses were a hit at the discoteca.
  • Just all the fun cafe, restaurant runs where we just had great conversations. Sometimes we’d get deep and talk about relationships, career goals and dreams. Sometimes we just talked about soccer or about how tired we were. All were cherishable moments.
  • The many people we met along the way. Hard to highlight all, but here are some memorable ones: bike tour from Miami, awesome waitress in Valencia d'Aneu + hotel owner, bikepackers met at summit heading to Bagneres du Luchon, bikepacking duo of father/son from Germany, waiter at Lac d’Oo who hooked us up, Rice Lake woman and a saxaphone player who had a gig that night, hotel owner up Goulier, our bnb host at Quillon who was so sweet, Dutch rider on our push to Begur, dinner with the Creative Director from Black Sheep and his awesome ex-pro turned Black Sheep savant wife, and the Girona girls who played tour guides.
  • For the sake of brevity and not being too much of a time commitment, I am going to wrap up this lengthy report. Many thanks to everyone who made this such a memorable experience. Special thanks to Danno and Chorski as these memories will last a lifetime. I have a feeling this is just V1 for the Brava Boys. Excited for whatever is next. The boys got on a sick one.
]]>
<![CDATA[The Silver Couloir]]>The Silver Couloir is a popular ski line of the north east side of Buffalo Mountain in Summit County, CO. Famous for being included in the 50 Classic Ski Descents in North America, it offers skiers a chance to link themselves to the famous book with just a quick tour

]]>
https://daniellytle.github.io/the-silver-couloir/655b3f3145974fb11e418731Mon, 06 Jun 2022 11:14:00 GMTThe Silver Couloir is a popular ski line of the north east side of Buffalo Mountain in Summit County, CO. Famous for being included in the 50 Classic Ski Descents in North America, it offers skiers a chance to link themselves to the famous book with just a quick tour from the car.

The last Saturday in April had offered perfect weather: bluebird skies and warm temperatures. Knowing this we had planned to get to the summit early before the snow warmed too much. Just when we were about to set off up the trail I realized I had forgotten my avy beacon back in Denver. I had carpooled with my friend Zach who agreed to wait until one of the sports shops in summit county opened and I could grab a beacon.

At 8:30am we were back at the trailhead and transmitting strong beacon signals. The skintrack wasted no time getting up the east side of buffalo mountain and soon we were skinning up steep switchbacks nearing the treeline.

After about an hour of ascent we had reached treeline and were out on the east face of Buffalo Mountain. The view of Summit County was incredible and we could see the ski runs of Keystone and the soaring peaks of Grays and Torreys across the valley. We had plenty of company as it was the perfect weekend to ski the Silver Couloir. We met splitboarders, a guy in alpine boots, and a couple on their third date (All normal for a Colorado classic).

Once the skinning leveled off we cruised all the way to the summit, unknowingly we had cruised right past the entrance to the couloir. It was nice to hang for a bit at the summit, get a bite to eat, then have a short warm up ski before dropping into the couloir. Usually my first few turns after skinning a long way are a bit awkward.
The snow at the entrance to the couloir did not look good and I expected the chunky snow to be difficult skiing. Thankfully it was so late in the day, the sun had had a long time to heat things up and the snow felt soft underneath. Near the top of the couloir was a punchy crust which would grab your skis if you weren't careful when making turns. As we descended further the snow became noticeably softer and we could relax and make faster turns. The couloir offered a few good safety spots on the way down to wait for a partner.

About 2/3rds the way down, the couloir comes to a choke point then opens up to the runout apron. At this point the snow was very slushy and we could feel the afternoon heat warming everything up. We knew a short skin awaited us at the bottom of the couloir but hadn't paid much attention to it. It turned out to be a bit of a slog. After traversing around back to the East a ways we lost the skin track and had to forage our way through the forest using our phone GPS. Eventually we met back up with the trail and we're finally able to ski back to the car.

Exhausted from the heat, we sat at the car and looked at the East face of Buffalo Mountain that we had just ascended. I couldn't believe how warm it was in the mountains! All in all, a great day and a great line that every Colorado skier should check off.

]]>
<![CDATA[Skiing the Haute Route]]>The first time I heard about the Haute Route I had just gotten into ski touring. I was living in Denver, CO learning about avalanche safety and skiing powdery lines while gaining uphill fitness. It seemed like a dream trip for ski tourers and at the end of 2021 I

]]>
https://daniellytle.github.io/skiing-the-haute-route/655a57ea1c9e6b7eaf070251Mon, 04 Apr 2022 18:46:00 GMT

The first time I heard about the Haute Route I had just gotten into ski touring. I was living in Denver, CO learning about avalanche safety and skiing powdery lines while gaining uphill fitness. It seemed like a dream trip for ski tourers and at the end of 2021 I decided to go for it.
The Haute Route is a journey from Chamonix, France to Zermatt, Switzerland through some of the most incredible terrain on earth. Folks from all over make this journey through all seasons, hiking, skiing, even biking their way through the alps. Nights are spent at a variation of mountain huts situated along the route (we learned later that our guide snow-camped the route when he was 18).

The Shakedown Day and Gear

The first day of the trip was a test. Our guide wanted to know did we have all the gear required to make the journey and did we know how to use it. We toured around the Grand Montets ski area just above the first glacier we would cross when we set off for Zermatt.

Skiing the Haute Route

We skinned hard uphill, learning later our guide had been pushing the pace to see how fast our group could move. To my surprise our group was very fit and capable and I found myself working hard to keep up most of the trip.
Coming from Colorado, I felt confident my experience at higher altitudes would bail me out of gear mishaps and pack weight. I soon realized the alps are very different from the rockies and the gear I had interpreted as optional was really essential.

Ski Crampons

In my experience when the slope got icy you made do. Coloradans love proper skinning technique and don't like to rely on metal blades to secure footing when heading up an icy slope. The Alps were a whole new level of ice however, and when doing kick turns on a steep slope above a ravine or crevasse I was grateful the guide made me purchase them.

Merino Wool Base Layers

I didn't have much backpacking experience before this trip and after spending a few days in a sweat soaked polyester t-shirt I understood why many long range tourers only trust this material. I don't think I'll ever head back out on a long trip with anything but merino wool.

Lightweight Pack

Expecting to be skiing massive lines in deep snow I brought a long a large pack that had an avalanche airbag attached. I was proud that I had the extra safety measures in place. Looking back, I probably could've gone without it. The extra weight brought along with an airbag battery or canister is substantial and I received plenty of flak from my team over it. I couldn't help but marvel at our guides pack and how tiny it looked compared to my monstrosity. In hindsight I would've brought a lightweight pack, with 2 pairs of socks, a merino wool baselayer and a single change of clothes for hut time.

Day 1 - Argentiere to Trient Hut

Skiing the Haute Route

We started day one riding the Grand Montets lift as high as we could then headed for the Col du Passon. Booting up the Col was our first crampons-on bootpack and we roped up before ascending.

Skiing the Haute Route

From here we made our way across the Glacier du Tour towards the next Col that would take us across the border into Switzerland. What started as a ecstatic ski descent turned into a hot slog across the flat glacier. I striped down to my t-shirt and began eating snow to cool off. It's worth mentioning how bright the glacier environment is. I barely got by with casual sunglasses but would certainly comeback with full side covered glasses or proper "Glacier glasses".
Hiking up the next Col we were rewarded with a fun ski descent and the first view of a mountain hut! A short skin and we were at the Trient Hut, a member of the Swiss mountain hut system. Below the Swiss flag flies the flag of the Canton (Valley Region) of Valais.

Skiing the Haute Route

A bit about all the huts

A few things were consistent in all our hut stays on the trip: 1. All huts had an in-house collection of Crocs for you to wear when inside the hut. We would arrive at each hut and immediately look for our Crocs. The earlier you arrive the better chance you have of finding ones that fit! 2. If you arrived during the lunch hour, most huts offered a lunch options. I was introduced to Rösti, a heavy hashbrown dish that tasted amazing after a full day of skiing. 3. Dinner was included in your hut reservation and consisted of a three course experience: soup, main course, then a dessert. This was always and exciting time as the hut was buzzing with activity and groups discussing plans for the next day.

Day 2 - Trient Hut to Praflueri Hut

Skiing the Haute Route

Morning starts at 5:30AM when the first headlamp clicks on and the mad dash to organize ones gear gets underway. We had been prepared for a critical early morning by our guide. Just beyond the Trient hut was a rocky bootpack bottleneck that can become seriously clogged by skiers heading east from the Trient hut.

Skiing the Haute Route

Luckily, our group was first to the base of the climb, with other groups scraping down the icy slope close behind. With bits of loose rock coming down around us, we scampered up the incline and headed down the valley into Champex.

Skiing the Haute Route

From Champex we took a taxi to Verbier and relaxed for a bit before taking the lift up toward where we would start out climb. After skinning up 2 Cols and a few wide glaciers we arrived at our extra credit opportunity, climbing the Rosablanche, which the group unanimously agreed to undertake. From the summit we could see the Matterhorn and Mont Blanc.

Skiing the Haute Route

From here we had an easy ski down to the Praflueri hut, located down the valley. The snow was a bit crusty but the path was wide open and our group toughed through burning quads to shred the whole way to the hut.

A much more vibrant hut greeted us at the bottom. The Praflueri hut is a privately owned hut (not in the official swiss system) and a more relaxed vibe was welcome.

Skiing the Haute Route

Day 3 - Praflueri Hut to Dix Hut

This was a difficult day of traversing across icy slopes and through avalanche debris. After climbing the first Col we'd hang along the high slopes above Lac du dix until we would climb up and out onto the glacier towards the Dix hut.

Skiing the Haute Route

The benefits of a lightweight pack were amplified as the group did multiple hours traversing almost only on skiers right. A very steep skin at the southern end of the lake was welcome as at least it would inflict balanced suffering on the body.
We were lucky to have great weather, each day we awoke to blue skies and warm temperatures. Towards midday the snow turned slushy and being on the glacier felt like being in a microwave. The final climb to the Dix hut is especially demoralizing as the route curls almost directly beneath the hut. The group was very relieved to drop our packs after a short but tricky day of touring.

Skiing the Haute Route

Securing a premium picnic table on the deck, our group enjoyed a Rösti (my first of many) and a few beers. The view was maybe too spectacular as I had to fully close my hood to prevent all the glacial light from overwhelming me.

Skiing the Haute Route

Day 4 - Dix Hut to Vignettes Hut

Our fourth day was short but challenging. Our guide told us we were entering some of the more serious glaciated areas and we would rope up on the ascents.

Skiing the Haute Route

We split into two rope groups of 4 and 3. It was tricky keeping the right amount of slack between skiers while switchbacking up the slope but our group got the hang of it quickly.

Skiing the Haute Route

Once we had come over the steepest bits we climbed to the Pigne d'Arolla which offered great views of the valley and an even closer view of the Matterhorn.

Skiing the Haute Route

From here we had a tricky ski down to the Vignettes hut. There was a lot of crevassed terrain and a very narrow/rocky path through it all. Our group took it slow and smooth and was quickly looking at one of the more dramatic huts in the world. Perched near a sheer drop on both sides, the Vignettes hut is incredible to witness.

Skiing the Haute Route

We had arrived quite early and our legs still had a bit of juice in them so the group decided to unload our things then do a group ski down the slope to the north of the hut. The run was wide open and the snow was starting to soften. It felt crazy to do extra work that wasn't needed for the route but the group was so excited to do a bit of pure skiing you didn't think about it at all. I felt right back at home doing some "earn your turns" skiing, although something about going down then up is a little harder to swallow.

Skiing the Haute Route

Dinner in the Vignettes hut was exciting as we had decided to go for Zermatt the next day. Some itineraries divert to the town of Arolla due to the conditions of the glaciers on the approach to Zermatt. Our guide had been very cautious and trusted his information that the way would be safe and our group could handle the risk.
It turns out the massive ski touring race the Patrouille des glaciers was approaching and in preparation, the Swiss army had examined and marked the safe areas on the route down to Zermatt, the route the racers would be coming up on their way to Verbier. With this stroke of luck we were bound for Zermatt!

Day 5 - Vignettes hut to Zermatt

Day five was a fittingly epic final day to an epic trip. It involved three main bits: A skin to a reasonable Col, a long skin to a solid bootpack, then a long steady climb to our perch above Zermatt and the Matterhorn.

Skiing the Haute Route

By the fifth day our group was beginning to show signs of wear. I had a neat little rash on my shoulder from wearing a polyester shirt, a few had skins kept on by ski straps and bits of wire, a few poles were bent, and the blisters were starting to open up again.

Skiing the Haute Route

All that washed away as we came over the crest of the Col near the Tete Blanche and saw the Matternhorn directly ahead. In the distance we could see red poles, driven into the snow by the Swiss army, directing the way down to Zermatt.

Skiing the Haute Route

We enjoyed great skiing down the glacier into Zermatt while making sure to stay close to the red poles that symbolized safety from crevasses. The snow was softening up and it seemed like the descent would never stop.

Skiing the Haute Route

Eventually the snow ran out and we hit the dirt. From here we bootpacked to a road, which then led us to the Zermatt piste. Thankfully we still had a bit of elevation and were able to pole push our way to the base of Zermatt where we enjoyed a well deserved beer.

Skiing the Haute Route

I'm extremely thankful to our guide Mike and my group: Allis, Tom E, Tom J, Amicia, and Pete. It was hard work but they all made it an absolute pleasure. Now it's back to Colorado to scrape all the snow left on the Rockies before the season ends!

]]>