Linux/Kubuntu – Disable Network Printer Auto Discovery

I don’t know when Kubuntu started automatically discovering printers on networks and then adding them to my list of printers, but it is a problematic feature in certain environments – like universities (where I work).

I set up my home printer on my laptop easy enough. But, whenever I open my laptop and connect to my work network, this feature searches for printers on the network and then adds them to my list of printers. I now have hundreds of printers that show up in my printers dialogue:

I didn’t manually add any of those printers. They were added automatically and are causing problems. First, it’s a pain in the ass to find the printer I want. Second, when I shutdown my computer, the OS has to run through all of those printers and make sure they are disconnected, which makes the OS hang for a couple of minutes every time I want to close down.

This is obviously a great idea in principle, but problematic in this environment.

So, how to turn this off. I found a solution. In a terminal, edit the following file:

sudo nano /etc/cups/cups-browsed.conf

In that file, you should just have to uncomment the following line (remove the hashtag ‘#’):

BrowseProtocols none

So, from this:

To this:

Afterward, try running the commands:

service cups-browsed restart
service cups restart

After making this change, my computer no longer automatically adds shared printers on my network. Hooray!

Unfortunately, making this edit did not remove all the shared printers it had already installed. I still had to remove them all manually, which was annoying. But at least they won’t be reinstalled automatically.

Linux – Failing to Read Encrypted DVDs

Thanks to the fine folks at VLC and Ubuntu, watching DVDs on Linux is generally pretty straightforward. Install “libdvd-pkg” and follow the prompts and you’re generally good to go. That works for me almost all of the time.

However, I recently tried to watch a DVD and had no luck. I would insert the DVD and then wait. With most other DVDs, after about 30 seconds, I’d get a prompt that my Kubuntu 19.04 system had read the DVD and I had several options to proceed (view the files, watch it in VLC, etc.). But with this one, my OS couldn’t even detect that there was a disk in the drive. I tried multiple approaches.

Here’s what K3b indicated:

When I tried loading it in VLC:

And from the command line in VLC:

The problem is not my drive. I regularly load disks in the drive and they work fine, including many disks that have CSS encryption that the libdvd-pkg addresses. But, try as I might, I could not get my computer to even recognize that there was a disk in the drive.

I have a blu-ray player connected to my home entertainment center. Worried that the disk may just be bad, I put it in the blu-ray player and it opened fine. That convinced me that the disk was using some form of encryption that is still not addressed in the libdvd-pkg. I did one final check. I inserted the disk into an old laptop I keep around that has Windows installed on it just to see if this really is a Windows vs. Linux thing. Sure enough, Windows immediately detected it and opened it right up.

After spending a good 5 hours or so trying to find a solution (including installing lots of packages and reading through dozens of threads in Linux forums), I didn’t find a solution. I wrote this post basically just to inform other Linux users that there are some DVDs out there that have encryption that prevent them from being opened in Linux. I’m running the latest version of Kubuntu as of this writing (19.04 beta) with all the suggested packages installed to examine a DVD. But, regardless of what I tried, my OS could not read this disk.

Letter to the Editor: Government of the Corporations, by the Corporations, for the Corporations

While accepting “donations” for tens or hundreds of thousands of dollars from lobbyists, corporations, and special interests may technically be legal for Governor DeSantis, there is no question that is unethical. These are “bribes by another name.” And what they suggest is that our Governor is not the Governor of the people of Florida, but rather the Governor of Corporations based in Florida. Donald Trump has metaphorically set up a summer home in the “swamp” of corporate interests to personally enrich himself as President. Governor DeSantis is following his idol and has set up a metaphorical golf club in the swamp. Or, perhaps, by “draining the swamp” he really meant he was draining it right into his re-election coffers.

Letter to Stacy White, County Commissioner

Stacy White, Hillsborough County Commissioner, filed a lawsuit that is preventing Hillsborough County from improving its transportation infrastructure based on a ballot measure that was approved by 57% of voters in November 2018 (more about this here). Here’s the email I recently sent him:

Commissioner White,

I want to let you know that I’m really disappointed in you for filing the lawsuit that has held up improvements to our transportation system in Hillsborough County. I travel regularly for my work to conferences both in the US and around the world. In most major cities, when I arrive at the airport, I can easily hop on a train or subway and get to where I need to go.

I love Tampa’s airport. It’s my favorite airport perhaps in the world (though Zurich’s airport is pretty impressive as well). But I am appalled that we don’t have easy public transit from the airport to downtown Tampa. The transportation tax would have fixed that. And now, because of you, the entire process has been held up in stupid lawsuits.

I sit on the board of a professional organization that chooses where to hold conferences. One of the major factors in our decision-making process is public transit from the airport to the hotel. By not improving our transportation infrastructure, we are losing out on millions of dollars from such conferences every year. I hold you personally responsible for that.

I will be donating money to your opponent in the upcoming election to ensure you don’t have another term in office.


Ryan Cragun
Hillsborough County Resident

(NOTE: You can submit your own letter here.)

Letter to the Editor: Ashley Moody’s mixed up priorities

I find it more than a little concerning that Florida Attorney General Ashley Moody wants to kill a petition drive to ban assault weapons (Ban Assault Weapons Now) but hasn’t said anything about the secretive effort to restrict constitutional amendments that is possibly being funded by utility companies in Florida. If Moody cared about Floridians and the law more than she did conservative politics and big donors, her actions would be exactly the opposite of what she is doing. She would be calling for the donors of the Keep Our Constitution Clean initiative to be revealed and would be encouraging reform to gun laws. Based on her actions, our chief law enforcement official in Florida is nothing more than a Republican team member defending corporate and Republican interests.

(NOTE: This is another letter I sent to the editor of the Tampa Bay Times that was not published.)

Plex – Syncing Media to Devices

I love my Plex server. It works pretty flawlessly with devices like my Roku or allowing me to listen or view my media collection online. However, there are occasionally instances when I know I either won’t have internet access (e.g., on a plane or on a hike) and I want to have access to my media. Plex still has me covered with the option of “syncing” media to my phone. However, the process isn’t all that intuitive. So, here’s my guide to syncing audio and video to a phone/tablet.

First, choosing what to sync is done, from what I can tell, almost exclusively from the device (with some minor exceptions). Basically, you have to install the Plex app on your device, open the Plex app, log into your account on your device, then find the media you want to sync. (I’m not going to cover install, opening, or logging in with this tutorial, just synching.)

Let’s say I want to synchronize my Simon & Garfunkel albums to my phone so I can play their music when I don’t have internet access. I first have to open the Plex app:

This is how the app looks once it’s open and connected to your Plex server.

Make sure it has detected my Plex server (which is called NewPlex):

I circled my server in this image.

Then I have to find my collection of Simon & Garfunkel music in the Music tab (at the bottom of the screen):

To move between different collections, you click the buttons at the bottom of the app. In this screenshot, I was looking at my Music collection.
I have now selected my Simon & Garfunkel songs.

Once I have done that, syncing is pretty easy. Look for the “down arrow” and touch it:

When you do, you’ll get this screen:

You set your synching options on this screen.

You’ll have the option of adjusting the audio quality (this makes a lot of sense if you’ve got your files stored in FLAC on your file server but want to save space on your phone; if so, convert them). You can also dictate how many songs you want to synchronize. If you put a limit, I’m assuming Plex will just randomly select which ones will syncronize (you can also just download specific songs or albums). When you’ve made your decisions, you click on Save and the transfer process will start.

Here’s where things get kind of interesting. You can now open your Plex dashboard and look for your sync progress. To illustrate, I picked an album I have stored in FLAC on my server and started the conversion process:

Your “Conversions” page in the Plex server settings shows you the files that are being prepared to be transferred to your device.

Once your server has converted everything, it will be sent to your device and you’ll see a little arrow in the corner of synchronized albums, like this:

All the white arrows in circles indicate that these albums have been synchronized with my device – so they are stored on my device.

The process is similar for movies. Click on the “Movies” tab at the bottom of the screen to look through your movies. Once you find the one you want to syncronize, click on it. That same “down arrow” will show up:

Click on the down arrow to synchronize the movie to your device.

Click on it and you’ll get one of the same options as before to choose the quality of the synchronized file.

Once you click Save, the conversion process will start on your Plex server:

Here’s the Conversion screen showing my movie converting before transfer to my phone.

Once the conversion is complete, the file will be sent to your device and you’ll see, similarly, an arrow on the movie indicating it is synchronized with your device.

Finally, there are a few secrets to accessing your synchronized content quickly and easily. If/When you find yourself without internet access, or if you just want to see what you have synchronized with your device, you can click on your icon at the top left of the app and select “Offline Browsing”:

Once you do that, only synchronized content will show up in your tabs, like you see below:

You can also click on the “Downloads & Sync” option in that same menu and see the content that is currently synchronized with your device:

And you can check in the settings dashboard in your Plex server to see what content is synchronized with which device (you can synchronize with multiple devices):

This makes it easy to see what content is synchronized to which device

One last bit of advice. If you want to remove content from a device, you can do so on your phone/tablet or on your Plex server. On your phone, go to your Downloads & Sync list, then select the sync you want to delete. When you do, in the upper right corner there will be a trashcan. Click on it and you can delete the sync.

On the Plex server, in the “Sync” tab, hover over the sync and you’ll see a red X. Click on it, and the synchronized files will be deleted from that device

And if you want to remove a device from your account altogether and get rid of all the synchronizations tied to that device, that is done on the Plex server web interface as well. In the Settings menu, click on Authorized Devices, find the device you want to remove and click on the red X.

That will remove all the synchronizations and prevent it from being able to access your Plex server.

This website was helpful in figuring all of this out.

Linux – Setting Up FTP/SFTP Restricted Access for User

I run a server (Ubuntu 18.04) that hosts about a dozen websites using Linode. Most of the sites are run using WordPress and are my own or sites I manage for friends or family. I do, however, host one for a colleague who actively develops online content for that site.

As WordPress has developed, the ability to upload various file types has slowly been removed for security reasons. As a result, for certain types of files, it is now required to upload them using a different approach. I can do so using SSH, but GUI FTP/SFTP software was going to be easier in this situation as the person responsible for managing that site doesn’t have a lot of knowledge managing a website. I explained to this person, we’ll call her Sharon, that it would be possible for her to upload these files herself using FTP/SFTP. She was worried as she doesn’t know what that is or how to use it. But I explained it and, hopefully, she’ll grow more comfortable with it.

However, I don’t want a novice to gain access to all the files on my server. So, I was faced with the question of how to set up an FTP/SFTP account for someone that is restricted to just one folder – a folder where she can upload stuff and delete files, but with no access to anything else.

Here’s how I did it.

First, you should create a new user group on your server. This can be done with the following command:

sudo addgroup --system GROUPNAME

This will add a new user group called GROUPNAME (I called mine “ftpusers”). If this individual isn’t currently a user on your server, add them as a user as well:

sudo adduser --shell /bin/false USER

Replace “USER” with whatever name you’re using for this individual, for me it was “sharon.” You’ll need to create a password for your USER and fill in some additional information. Then add your USER to your GROUPNAME with the following command:

sudo usermod -a -G GROUPNAME USER

Or my command:

sudo usermod -a -G ftpusers sharon

So, you have now created a new group and a new user and added the new user to the new group. Of course, the next step is to restrict what your new USER can do. In particular, we want the user to have access to just a single directory. Here’s how that is done.

You can create a directory the user can use:

sudo mkdir -p /var/sftp/NEWFOLDER

This folder can be anywhere on your server. I put mine in a subfolder on their wordpress installation:

sudo mkdir -p /var/web/DOMAIN/public/wp-content/uploads/NEWFOLDER

Now, we need to tell the server to restrict USER to this NEWFOLDER when they login. First, let’s give ownership of that folder to the user with the chown command:

sudo chown USER:GROUPNAME /var/sftp/NEWFOLDER

We should also make sure the permissions for the new folder are what we want them to be – read/write for the user and group:

sudo chmod 755 /var/sftp/NEWFOLDER

If you navigate to that folder and check the settings, you should see that the owner is now the USER and the GROUPNAME (you can check with “ls -l”). It’s not a bad idea to also check to make sure that the folder above it is owned by “root” or your primary user, which will prevent your new USER from being able to make changes to that folder.

So far, we have a new USER and GROUPNAME and the user has a folder they can access. However, we need to tell the server that the user needs SFTP access and then need to force them to go to just that one folder when they login with SFTP.

To grant them SFTP access, you need to change the SSH settings:

sudo nano /etc/ssh/sshd_config

This will open the file “sshd_config” with a text editor (nano) so you can make changes. At the end of the file, you want to add the following text:

ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp/NEWFOLDER
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

This allows users in the group GROUPNAME SFTP access to the folder you created for them.

Before you close the nano session with “sshd_config”, you may have to change one other setting. Look for a line that says:

Subsystem sftp /usr/lib/openssh/sftp-server

Mine was not commented out, so that setting was active. However, given the settings we just added to the file, we need to change that. Comment out that line:

#Subsystem sftp /usr/lib/openssh/sftp-server

Below that line, add the following line:

Subsystem sftp internal-sftp

I’m guessing that the original line specified a location for the sftp-server to be used by the server but we want the server to determine the best location for the sftp-server it is going to use and that’s what the second line does. (Alternatively, in the text added to “sshd_config” the line “ForceCommand internal-sftp” could probably be left off, meaning you wouldn’t have to do the step I just described. I haven’t tried that, but it may work.)

Anyway, when you’re done editing the “sshd_config” file, save it and exit from nano.

Finally, to make sure that the new USER is forced into the specified folder when they login, you have to make one more change. This changes the home directory for the user so they are forced into that directory when they login. Here’s the command.

usermod -d /var/sftp/NEWFOLDER USER

This makes the folder you created (NEWFOLDER) the home directory for the USER so, when they log in using SFTP, they will be forced directly into that folder.

There you have it. You have a new user in a group with restricted SFTP access and the user will be forced directly into the folder you created where they can upload, modify, and delete content. They will not have access to anything else on the server, so the rest of your content will be safe.

Acknowledgments: I figured all of the above out with help from these sites: here, here, here, and here.

Plex – How To Create Smart (auto updating) Music Playlists

I love my Plex server. I stream my music basically around the world (I travel regularly). But it took me a while to figure out how to create playlists that automatically update (i.e., “smart playlists”) based on search filters. At home, I use a native music client (e.g., Strawberry or Clementine) to play my music. Clementine, in particular, has excellent smart playlist functionality, allowing me to create a playlist with all of my music in the “Folk” genre or published between 1970 and 1980. With how amazing Plex is, I figured the same functionality had to be possible. I knew I could simply add songs to a playlist manually, but that seemed cumbersome. I’d rather let the software do it for me. Once I figured it out, I thought I’d make the steps clear for others.

Counter-intuitively, the place to start is not in the “Playlists” option on the Plex dashboard, but in the Music panel.

Click on the Music pane, not the Playlists pane.

You’d think that you would create Playlists in the Playlists area, but you don’t. You create all the Playlists in the Music area.

Once you’re viewing your music, you need to look for a drop-down menu. It’s all the way to the left and says “All” with a little arrow next to it.

Click on the little arrow next to “All” to drop down the menu.

What you want to do is click on “Custom Filter.” That will open this option:

Here’s where you create custom filters.

Using that filter option, you can search for, say, all the music in the Genre “Alternative” or “Classic Rock.” Once you’ve entered your search criteria, click the “APPLY” button on the far right and it will apply your search criteria to your music:

Once you apply the search criteria, Plex will show you the music that fits the criteria.

Now, creating a “Smart Playlist” is just one more step. Look to the right of the window for an icon with four little lines and a plus sign. That is the icon for creating a playlist:

This is the icon you want for creating a playlist.

Clicking that button will open a prompt for you to name the new playlist. I typically name mine based on the search criteria, but you can call them whatever you want:

Now, with your Smart Playlist created, you’ll be able to see it in the Playlist area. Click on “Playlists” in the left menu and, assuming you’ve done everything correctly, you’ll see your newly created playlist there:

All of your playlists are in the Playlists area.

The little gear icon that appears in the top left corner of the playlist indicates that it is a “smart playlist” that will automatically update if you add new music to your library that meet your search criteria. Playing the playlist is as easy as hovering over it and then clicking on the play arrow that appears:

Hover over the playlist, then click on the play arrow to play it.

There you go. You can now create as many playlists as you’d like using filtering/search criteria. (This guide helped me figure this out.)

WY-Gannett Peak

Summit Date

August 3, 2019


Ryan Cragun and Tom Triplett (with logistical support from Mark Woolley, who almost made it)

Trip Report

Eighteen years after completing my first state highpoint (Utah’s King’s Peak), Wyoming is likely my last state highpoint – #49. While not the highest state highpoint, Wyoming is the longest hike as state highpoints go and is in very rugged terrain. As a result, we had to put a fair amount of planning into this hike.


The three of us met on July 31st to do a final gear check after having communicated for months about the equipment we would need. We were generally well-prepared for the hike with the relevant technical gear (e.g., harnesses, rope, helmets, ice axes, crampons, gaiters, crevasse rescue equipment, etc.). Tom had not picked up a few food items, but we were otherwise ready.

We also had a plan for the hike. Based on various trip reports, it looked like the “easiest” route (no route for Gannett Peak is easy) was the Glacier Trail from the east, entering through the Shoshone National Forest. Those trip reports also suggested that the hike was about 25 miles one way; 50 miles round trip. Thus, we had planned to hike about 10 miles per day, give or take a mile or two, to make for 5 good days of hiking.

Day 1 – August 1st

After a little debate about what time we were going to leave from Northern Utah for the trailhead, we eventually headed out around 5:30 am. The trailhead is just outside of Dubois, WY, which was about 5 hours away (see map below).

We stopped at the Wal-Mart in Evanston to pick up a few supplies along the way. We also had to make an emergency gas stop in Farson. We thought we’d have enough gas to make it to Lander but it seemed unlikely. Luckily, a gas station had just opened in Farson, otherwise, we probably would have run out of gas about 10 miles outside of Lander, which would have been a rough start to the hike.

We arrived in Lander around 10:30 where we topped off the gas. Mark picked up a fishing license. Tom stopped by an outfitter to pick up some crampons (the ones he had ordered hadn’t arrived). We then grabbed some lunch before heading to the trailhead, which was about an hour and a half outside of Lander. The turn off is about 4 miles outside of Dubois, WY and then roughly 9 miles on unpaved but well-groomed trails.

There were about a dozen cars at the Glacier Trail trailhead when we arrived. The weather looked great while we finished getting our packs ready. A family from France showed up just as we were getting ready to leave. They kindly snapped a photo of us before we hit the trail:

(left to right: Mark Woolley, Tom Triplett, Ryan Cragun)

Per my Garmin watch, the starting elevation was 7,598 feet. We left the trailhead around 12:50. The trail starts by working its way up and over a ridge, crosses a river, then continues along some fairly rocky terrain for about 2 miles. Miles 3 and 4 are in Bomber Basin, which is pretty level and has several wide, beautiful meadows. We got caught in a brief rainstorm here that forced Tom and me to pull out our raingear for about 30 minutes. Miles 5 and 6 are some pretty serious switchbacks that increase the elevation quickly. At the top of the switchbacks, things level out for a little bit and you actually have a little downhill to a stream crossing where we stopped to pump/purify some water. After crossing the stream, it’s a slow steady uphill across a meadow and plateau that just keeps going and going. It’s a solid couple of miles on that plateau (at least 1 1/2 until you reach Arrow Pass). You cross a pass that my watch said was at 10,850 feet and is above the treeline. After that, you start a slow descent back into another valley.

The plateau to Arrow Pass that never ends!

Mark goes to the Wind Rivers (the mountain range that Gannett Peak is part of) every year with family, so he had warned us about the bugs. They weren’t horrible, but they were bad enough in the lower valleys that Tom and I had already put on our bug head nets and gloves to keep them off us. We were also wearing long pants and long shirts. Above the treeline, the bugs were not as bad. That fact gave us an idea – why not camp right at the treeline on the other side of Arrow Pass to minimize the bugs? We could see from the pass that the trail dropped down into the trees just before dropping steeply in elevation. We could see some spots that looked like they would work.

Just before we got to the pass, we also ran into two other hikers – Jason and Joe – who were busy flying a drone. Jason was carrying a 75 to 80-pound pack with tons of camera gear. We stopped to talk to them for a bit then continued toward our desired campsite.

Sure enough, as we approached the treeline, the bugs started back up. We worked our way to the left of the trail and eventually found a spot that was nestled at the top of the treeline and was nice and flat to set up camp. We quickly set up the tent, got a fire going, and cooked dinner, which was dehydrated meals in bags. Mark also informed us that he wasn’t feeling very well. He had a dry mouth and felt like he was going to throw up. That wasn’t a good sign.

After dinner, Tom prepared his bear cannister while Mark and I set up our bear hangs before turning in for the night. A light rain started just as we were climbing into the tent.

Per my watch, we started at 12:49 and did 10.22 miles over 6 hours and 40 minutes. Here’s a chart of the elevation gain:

Elevation chart on Day 1.

Day 2 – August 2nd

Thinking we only had to cover 10 miles on day 2, we didn’t rush to get ready in the morning. We got up around 7:00 to 7:30, made breakfast, and slowly broke camp. We didn’t head out until 8:54.

From where we camped, the trail drops pretty steeply into a valley filled with mountain lakes. Mile 2 put us at Double Lake. Star Lake was at mile 3. Just after mile 4 we could see Honeymoon Lake, which you can see from the trail, but the trail doesn’t get very close to it. Just after you see Honeymoon Lake, there is a series of switchbacks going down. This drops a lot of elevation quickly.

Tom and Ryan with Honeymoon Lake in the background.

At the bottom of the switchbacks, we were running short on water (we hadn’t pumped since the day before). We found a small stream and decided to pump there and then have lunch. It was around mile 5 for the day and wasn’t a great spot. The mosquitos were really bad. Had we continued for another mile, we would have hit a great spot on the side of Dinwoody Creek (marked on the map below) that has beautiful views of the river and nice places to sit, plus fewer mosquitos and plenty of places to filter water.

Stop here for a break. It’s beautiful and the bugs aren’t as bad!

After lunch, we continued on, eventually crossing a river at Down’s Fork.

The trail was pretty flooded at this point, which meant some creativity in trying to avoid the water, but it was generally doable. From then on, the trail largely follows Dinwoody Creek, which is a beautiful, glacial river.

Just before mile 10, we found a spot where the creek widens and flattens out. It was late in the afternoon at this point and we were hot. Right at that spot (marked on the map on day 4 below), there is a nice, sandy beach on the side of the river. When Tom saw it, he immediately decided he was getting in. He stripped down and walked through the river. The side closest to the trail is only ankle deep, but on the far side it gets deep enough to dunk yourself under (maybe 3 1/2 feet). It’s freezing cold, but a good break on a hot day. (NOTE: There is a trail here that stays close to the river. Don’t follow it. Stay close to the mountain. The one that stays close to the river eventually goes into the river. The actual trail skirts the side of the canyon and avoids all the marshes.)

Stop here for a swim or a bath. It’s cold, but refreshing!

When we hit the 10-mile mark, we began to wonder how good the descriptions of the trail really were. We should have been about 5 miles from the summit of Gannett Peak at that point (we had gone 20 miles), but we couldn’t see the peak or the boulder field where we were supposed to spend the night. We had marked key indicators on our maps and Mark was using All Trails on his phone and could see that we still had miles to go. Given how Mark was feeling (and I was getting tired), we were getting a little worried. At 11 1/2 miles, we saw a camp across the river. We paused there and Tom went to see what it was. It’s an outfitter camp called “Camp Cowboy.” They take people up the mountain on horses. We found out from them that they had clients who had summitted that day. They camped at the boulder field, got up at 5:00 am, and made the summit by 10:00 am. But they didn’t tell us how far the boulder field was.

With the weight of the packs bearing down on us, we continued on. We crossed mile 12, then mile 13. By that point, it was close to 5:30 and both Mark and I were getting tired. Tom was willing to keep going, but it didn’t seem likely that we were going to make it to the boulder field that day.

As luck would have it, around mile 13, we took a bit of a wrong turn that walked us right through a beautiful campground. It was on a rise that had great views of the canyon. On the top was a ring of pine trees in a circle about 30 feet in diameter with a very nice, level spot for a tent. We eventually decided to make camp there for the night and came up with a plan for the next day.

Given how Mark was feeling (still quite sick), he had decided he was not going to try for the summit. Tom and I would leave most of our gear at the campsite with Mark and take just our technical gear, food, and water, and try to summit as fast as we could, returning to the camp hopefully in time to break camp and do a few miles back out on day 3. We couldn’t tell for sure at that point, but we thought the base of Gannett was only a couple miles away, which would go quickly with light packs.

So, we set up camp quickly. While Mark cooked dinner, Tom and I emptied our packs and repacked them for our summit attempt. We enjoyed a nice dinner, got everything situated, then hit the sack.

We covered 13.67 miles in about 9 hours. Below is the elevation chart for the day and the map:

Elevation chart for day 2.

Day 3 – August 3rd

The plan for our summit attempt was to get up early (5:00 am), head out by around 5:30, and move quickly. Thinking we only had a couple of miles to get to the base of the mountain, we figured we could be on our way up by 7:00 or 8:00 at the latest. We figured we could make it to the top in 2 to 3 hours, then get back off the mountain and ideally be back to our camp by early afternoon, late afternoon at the latest. We laid all of this out to Mark, who had our Garmin satellite communicator. He could start worrying if we weren’t back by 6:00 pm. We didn’t think it would take us that long to get back to our camp.

We were wrong.

We got up at 5:00 and headed out at 5:36. We made good time. We did our first mile in 26 minutes (just 229 feet of elevation gain), the second was just 24 minutes (150 feet of elevation gain). But we still were not to the boulder field. The third mile took us another 26 minutes (341 feet of elevation gain). At that point, we had crossed a couple of rivers and were climbing.

The fourth mile was 30 minutes with 417 feet of elevation gain. By the end of the fourth mile, we could finally see the boulder field.

We were way off in our estimate. The base of the mountain was about 5 miles from where we camped.

After 4 miles or so at the base of the boulder field.
The boulder field from above it.

Hopping across the boulder field took us close to 40 minutes. We paused to figure out a route up the mountain as well. Luckily, we spotted four climbers on the mountain working their way up a chute, which showed us where we needed to go. But we had no idea how they got there. We studied the mountain for a while and figured out a route that seemed to align with trails we could see, but it was definitely not the standard route up the mountain.

Tom on the glacier just as we were headed up to make our switchback. The summit is behind him.

Below is a photo of the summit from the top of the boulder field. I drew in two routes. In green is what we think is the standard route up the mountain. It heads to the left, cuts around a just of rock, then works its way up to a ridge before getting on the glacier and working its way up the chute and over the bergschrund (snow bridge), then following the ridge to the summit. In red is our route. We cut up the face, crossed a snow patch, then ended up on the glacier. We roped up and put on our technical gear and did a switchback up the glacier. Just as we were finishing our switchback, two guys came up the ridge on the standard route and passed us. It’s much faster to climb the rocks on the ridge.

Follow the green line up. You could follow the red line down if you want to glissade on the glacier.

Where the red and green lines meet, it’s time to get on the snow. You cut below the sharp, jagged peak there and then work your way up the first chute which is where the bergschrund is. Basically, there is a crevasse at the bottom of the chute that is often covered with a snow bridge. When we crossed it, the snow bridge was really soft and had almost melted all the way through. If it melts all the way through, getting over this spot would be quite challenging.

Me by the bergschrund. Tom shot this while standing on the snow bridge.

The chute is also quite steep, probably a 70 to 80-degree grade in spots. We short-roped our way up it. After we made it to the top of the chute, we followed a fairly clear trail that tracks to the top of the snow just below the ridgeline. You have to cross a couple of vertical ridges running down the mountain, but from the top of the chute, it’s pretty much a long, slow hike about another half mile to the summit, which you can’t actually see in the photo above (it’s hidden behind the snow-capped part of the mountain).

While we made good time before the boulder field, after the boulder field, our time slowed dramatically. The rough terrain and elevation really slowed us down (plus, we didn’t bring enough food – a few packs of gummies, some M&Ms, and a few granola bars). We finally arrived at the summit around 1:00 pm.

From our camp to the summit was 7.5 miles, 4,410 feet of elevation gain, and it took us 7 hours and 20 minutes. Here’s the elevation chart:

My obligatory panorama on the summit:

And Tom’s traditional handstand:

We chatted with some folks on the summit for a bit, ate a little food, and took a break for about 30 minutes. We snapped photos and I even got a signal on my phone, so I texted Mark that we’d be late and texted my wife that we had made it.

Summit photo with me (left) and Tom (right).

Then we headed back down. My watch was almost dead and I didn’t have anything to charge it, so I didn’t track our time back down, but we did pretty well considering how technical it was.

Tom just above the bergschrund on the way down. We short-roped this section.

We did take advantage of the fact that we had been on the glacier already and slid down a few spots:

That helped. But I was moving pretty slow on the boulder field on the way out. My reconstructed knee (ACL) was hurting and I didn’t want to aggravate it. We made it to the end of the boulders around 5:00 and had 5 miles to go to get back to our camp. It didn’t help that the upper valley is so beautiful that I stopped a few times to take pictures and videos:

We made pretty good time, but still missed our 6:00 pm deadline for when Mark could start worrying. We got back to our camp around 7:20. Mark had a fire going and quickly cooked us dinner as we described the adventure.

Our campsite was great. Occasionally, however, our fire decided to do its own thing.

Meanwhile, Mark had a nice, relaxing day exploring the area. By the end of it, he was feeling much better:

Mark at the campsite enjoying the scenic views.

Day 3 total distance traveled was 15 miles – 7.5 to the summit and 7.5 back to our base camp.

Day 4 – August 4th

Having a better sense of the route, we knew about how much hiking we had to do the last two days. We figured we didn’t have to get up super early and had to do about 11 miles on day 4 to get to Double Lake, where we wanted to camp. We ended up getting up around 6:30 and broke camp around 9:00 am.

The upper canyon is definitely the most beautiful part of the hike:

A couple of miles down the trail from our camp we returned to that beautiful spot in the river and took a bath – our first in nearly 4 days.

It’s too small to tell (on purpose), but that’s me, all the way across Dinwoody Creek, naked, slathered in soap, taking a bath. It was freezing cold but felt amazing to get clean.

We made pretty good time on the way down, stopping just a couple of times to pump water. We even made good time up the switchbacks by Honeymoon Lake. We made it to Double Lake by about 3:30, which was the goal.

Mark brought fishing gear and wanted to try his luck fishing. By 4:00, Tom had taken refuge in the tent (the bugs were really getting to him at this point).

Mark and I went out to see if the fish were biting. I actually followed Mark out without him knowing. I figured it would be a nice view while I read a little on my phone and shot some photos of Mark fishing.

Mark fishing on Double Lake

But that all changed on Mark’s second cast. I heard him grunt on the second cast and asked him if he’d caught something. That’s when he told me he caught a fish on his first one but had already let it go. He caught a fish on his second cast, and third, and fourth. Basically, the first 20 times he cast his line, he caught a fish about 16 of those.

Then, for the next two hours, it was about every third cast we caught a fish. Mark got tired of casting and asked me to cast. I was enjoying the view:

Panoramic view of Mark fishing on Double Lake

But I eventually agreed and ended up catching two of the three fish we kept and ate for dinner.

Our catch!

While we were excited to have something other than dehydrated food for dinner, we didn’t fully think this through. We had a way to cook the fish (on a flat rock on the coals of our fire), but we didn’t have a plate. Enter flat rock number two. Also, Mark broke out his fish seasoning, which he hadn’t told us he brought with him. The mountain trout was amazing!

Tom enjoying his fish.

Just as we were finishing up dinner, the temperature dropped a good 20 degrees and we realized a storm was blowing in. We quickly cleaned up our camp, doused the fire, set up our bear hang with the remaining food, and got into the tent. Sure enough, a good storm blew in. The rain wasn’t too heavy, but the heaviest on the whole trip and the wind was pretty strong. My super light, 3 man tent held up well. It was only about 7:30 when we got in the tent, so we ended up playing Risk on Mark’s phone for about an hour (Tom won) before going to bed.

Total mileage for the day: 10.38 miles in 6 hours. Here’s the elevation chart:

Elevation chart for day 4. The sharp incline is the switchbacks by Honeymoon Lake.

Day 5 – August 5th

We also didn’t plan to rush to break camp this day knowing that we had to do about 11 miles or so to get to the trailhead with most of it being down hill. But none of us were sleeping that well on the mountain, so we ended up waking up around 6:00 am (Mark and I are usually up before that at home as well). We broke camp at 7:30 and made pretty good time. It took us just 5 hours to cover the 11.26 miles from Double Lake to the trailhead. Here’s the elevation chart:

Elevation chart for Day 5. The peak is Arrow Pass.

We were off the mountain around 1:30. We drove straight to Lander and stopped at Gannett Grill for lunch. Here’s our route on Day 5:

Concluding Thoughts:

First and foremost, people need to realize that this route to Gannett Peak isn’t 50 miles round trip. If you add up all the miles, it was 31.39 miles from the trailhead to the summit (that probably includes about 1 extra mile of me pumping water and such while my watch was tracking distance). The distance on the way out is probably a more accurate approximation of the exact distance since we didn’t stop as much: 29.14 miles. In other words, the eastern approach to Gannett Peak via the Glacier Trail is really 60 miles round trip, not 50 miles. To do this in 5 days, comfortably, you should plan to hike at least 11 to 12 miles the first day (to Double Lake) and the same distance the second day (to the boulder field). The boulder field is a nasty place to camp. Unless your into rock falls and no vegetation, it’s not particularly beautiful, though it is surrounded by imposing mountains. I’d suggest camping at the boulder field on the second night, summiting the morning of the third night, then hiking down about 5 miles to our campsite to enjoy the views there. Then the hike out is about 11 miles each of the last two days.

If you’re into fishing, definitely take your fishing gear. Double Lake was incredible. Most of the fish were really small (maybe 8 inches), but we managed to catch two 12 inch fish and a 10-inch fish that we enjoyed for dinner. It still wasn’t a meal, but two fish probably would have been for me.

I hope my description of the route up the summit is helpful. We screwed that up and it would have probably saved us 30 to 45 minutes or more and probably cut some distance off our ascent.

Obviously, the lighter you can pack, the better. I was carrying a 55-pound pack for all but the summit day. That’s too much for me. If you can get your pack to 40 pounds, you’ll be much happier. We ended up hiking out food, but we probably should have eaten it.

That leads to my next point. I was running a calorie deficit the whole hike. While I snacked and ate three times a day, I was burning a lot more calories than I was consuming. I started the hike weighing about 165 (usually closer to 164). I ended the hike at 155. I lost almost 10 pounds. I didn’t have much of an appetite, but I should have eaten more.

Finally, visiting all of these states to hike state highpoints has been quite the adventure. I’ve spent weeks of my life on this and thousands of dollars. But it has been worth it. I have amazing memories and crazy stories. I’ve secured friendships and made new friends. It’s been a remarkable journey.

Letter to the Editor – Gun Control Laws

Attorney General Ashley Moody filed a brief with the Florida Supreme Court opposing a state constitutional amendment banning assault weapons on Friday, July 26th. That was two days before a young man opened fire at a festival in California, killing three people and injuring a dozen more with an assault rifle he purchased legally.

AG Moody’s opposition appears to be rooted in the definition of an assault weapon based on the magazine capacity. Why a hunter would need more than 10 rounds in a rifle or shotgun to take down a deer or turkey is beyond me. Perhaps there are some really terrible hunters out there. My neighbor is a hunter and he would mock anyone who required 10 rounds to kill a deer. Forcing gun owners to have to reload after 10 shots doesn’t seem to be particularly onerous… except when they are shooting people. Which is precisely the point.

The latest polling data suggest that more than 60% of Americans want stricter gun control laws. People are dying because politicians are unwilling to act (or stand up to the gun lobby). Ashley Moody, the Florida Attorney General, is refusing to let the people of Florida express their views on assault weapons.

I’m so frustrated with politicians and gun laws that I have taken to replacing what they say with what they really mean. President Trump said on July 29th about the Gilroy shooting, “We grieve for their families.” What he really means is, “We don’t care about these families.” And that’s what AG Ashley Moody is saying about the people killed at Stoneman Douglas High School and the people killed at the Pulse night club and the people killed at the Gilroy Garlic Festival. Politicians who oppose stricter gun laws don’t care about people dying. If they did, they would do what the American people want.