Hex Mountain on Snowshoes

Jenny coming up the "Ridge from Hell."

Jenny coming up the “Ridge from Hell.”

Happy to be in the snow together!

Happy to be in the snow together!

First clear view of Hex Mountain's summit.

First clear view of Hex Mountain’s summit.

Looking northwest from about 4000 feet.

Looking northwest from about 4000 feet.

Jenny on the last push before the summit.

Jenny on the last push before the summit.

Looking towards Mt. Rainier. My phone's camera couldn't capture it, but I don't think I've ever seen Little Tahoma this clear from that far away.

Looking towards Mt. Rainier. My phone’s camera couldn’t capture it, but I don’t think I’ve ever seen Little Tahoma this clear from that far away.

Looking north towards Mount Stuart, Sherpa Peak, Colchuck Peak, Dragontail Peak, and Little Annapurna.

Looking north towards Mount Stuart, Sherpa Peak, Colchuck Peak, Dragontail Peak, and Little Annapurna.

On the summit of Hex Mountain, with Rainier out!

On the summit of Hex Mountain, with Rainier out!

Approximate route to the summit and back. We went clockwise. The part just west of Point 3501 was the hardest part.

Approximate route to the summit and back. We went clockwise. The part just west of Point 3501 was the hardest part.

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Guye Peak GPS Track

Here’s the GPS track for our winter scramble of Guye Peak, courtesy of our climb leader John.

Guye Peak track

Guye Peak track

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Capturing a Runnable with JMockit and Executing It

At work, we use JMockit. I’m far more comfortable with Mockito, which made it very easy for me to understand how to capture a Runnable passed in, execute it, and then check that certain calls were made. I have always struggled with doing that with JMockit, but I think I finally figured it out:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class DemoWithRunnable {
    public interface Dependency {
        int someMethod();
        void otherMethod(int i);
    }

    private final Dependency dependency;
    private final ExecutorService executor;

    public DemoWithRunnable(Dependency d, ExecutorService e) {
        this.dependency = d;
        this.executor = e;
    }

    public void doSomething() {
        executor.submit(new Runnable() {
            public void run() {
                int i = dependency.someMethod();
                dependency.otherMethod(i);
            }
        });
    }
}

What I want to do here in a test, of course, is:

  1. Check that we call ExecutorService.submit
  2. Run the Runnable that was passed to submit
  3. Mock someMethod and return some value, and
  4. Check that otherMethod was called with the returned value.

And I think this is how you do it in JMockit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class DemoWithRunnableTest {
    @Mocked DemoWithRunnable.Dependency d;

    @Mocked ExecutorService e;

    @Test
    public void testDoSomething() {
        DemoWithRunnable impl = new DemoWithRunnable(d, e);

        impl.doSomething();

        List<Runnable> r = new ArrayList<>();

        // capture the Runnable
        new Verifications() {{
            e.submit(withCapture(r));
        }};

        // add new expectations for code in the Runnable, with return values
        new Expectations() {{
            d.someMethod(); result = 42;
        }};

        // run the Runnable
        r.get(0).run();

        // verifications for the code in the Runnable
        new Verifications() {{
            d.otherMethod(42);
        }};
    }
}
Posted in Programming | Leave a comment

Print This Print This   Email This Email This

Guye Peak Winter Scramble with the Mountaineers

Jenny and I went on a winter scramble up Guye Peak with other Mountaineers on Saturday. It was the first new peak of the year.

It was a beautiful day, but very cold: 13 Fahrenheit/-10 Celsius. There was no wind and a lot of deep powder snow. We wore snowshoes basically from the trailhead. We roughly followed Commonwealth Creek up toward Cave Ridge and then hooked back around to the summit of Guye Peak.

We noticed, though, that our snowshoes, purchased cheaply at Costco, are unsuitable for climbing. As soon as there is any elevation, we can’t kick steps or plunge-step, we basically float, almost as if on skis. Everyone else had MSR snowshoes. I think we’ll have to check if we need some of those.

Guye Peak from below.

Guye Peak from below.

On the Guye Peak summit, looking down toward Chair Peak and Source Lake.

On the Guye Peak summit, looking down toward Chair Peak and Source Lake.

Mount Rainier from Guye Peak.

Mount Rainier from Guye Peak.

Jenny on the summit cornice of Guye Peak.

Jenny on the summit cornice of Guye Peak.

I made it to the summit too!

I made it to the summit too!

After coming down from the summit, about to have a bite.

After coming down from the summit, about to have a bite.

Jenny, about to descend the crux.

Jenny, about to descend the crux.

All smiles. I knew the crux wouldn't be too bad (contrary to the the snowshoe descent).

All smiles. I knew the crux wouldn’t be too bad (contrary to the the snowshoe descent).

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Toyota Corolla 2017 Loaner Car

At the end of 2016, I had a 2017 Toyota Corolla loaner car while my own 2011 Toyota Camry was being repaired (a damaged wheel speed sensor from getting stuck in deep snow, which rendered ABS and traction control inoperable).

The 2017 Corolla had a lot more gadgets than my own car. Most significantly, it was equipped with adaptive cruise control, lane departure warning, Bluetooth calling and text-to-speech messaging, and voice control.

I didn’t do much highway driving, but I could see that the adaptive cruise control would be useful. In city traffic, or even on Seattle’s congested freeways, it wasn’t that useful: Many times, a car merged in ahead of me, because the distance was relatively large, and then the cruise control slowed down. But at longer distances, in the country, I think it would work well.

Lane departure warning was also interesting. IT could beep at the driver or even steer a little to stay within the lane. In city traffic, again, though, I often found it a little over-reactive. And often it didn’t pick up the lanes in the city, because they were faded, or the curb was a little far away, or there was a raised median. But again, I think on freeways it would probably be useful.

I did like the Bluetooth integration. The car had all my contacts on my phone, the call history, and I could even dial by voice. It also asked me if I wanted text messages read out aloud. One of the possible ring tones included saying the caller name, if it was in the contacts list. Very useful.

Voice control, on the other hand, aside from making calls, seemed pretty useless, though. And the voice recognition was far worse than that of Alexa in Amazon Echo devices.

The Corolla was also much louder, the engine jerkier, and the controls less intuitive than those of my 2011 Camry. I will never understand, for example, why people choose up/down controls for temperature or fan speed, with a numeric display. Knobs you can turn are so much faster and simpler to use while driving, without looking. And that’s important in a car.

All in all, I’m very glad that I have my old car back now.

Posted in Uncategorized | Leave a comment

Print This Print This   Email This Email This

Hike 40 of 2016: Another Trip Up Mount Si

Yesterday, on December 30, we were kicked out of work because we were moved from one building to another. Forced day off. I took the opportunity to complete hike number 40 of the year. Unfortunately, Jenny couldn’t get the day off from work, and I had to go by myself.

The avalanche forecast predicted considerable danger, which limited my choices a bit. I also didn’t want to stay out for too long, since we had planned to have a friend over in the evening.

I therefore defaulted to Mount Si, the old Mountaineers treadmill. But it was a gorgeous day. Starting at about 1.6 miles, there was snow. I don’t have microspikes, only full crampons, and that seemed like overkill, so I moved a bit more cautiously just in my boots. Mount Teneriffe and a very snowy Mailbox Peak showed off their beauty.

I’m quite happy that I made it to 40 hikes this year. That’s 12 more than in 2015, and 2015 was my most active year before.

20161230_100130

20161230_101505

20161230_102633

20161230_104925

20161230_110924

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

CodeColorer codecolorer-core.php for PHP 7

Actually, there were four more lines that needed to be edited in codecolorer-core.php to make the CodeColorer plugin work for PHP 7.

To make it easier for other people, below is the code in its entirety.

Continue reading

Posted in Uncategorized | Leave a comment

Print This Print This   Email This Email This

Update to PHP 7

I updated the PHP version that my website uses to PHP 7. I ran into two problems:

  1. I had to disable the db-cache-reloaded-fix plugin. I’m not even sure if it did any good anymore.
  2. I also ran into an error with the CodeColorer plugin. This one I needed to patch, because I have a bunch of code snippets in many blog posts. Fortunately, someone had solved this problem already.

If you notice anything else, please let me know.

Posted in Uncategorized | 1 Comment

Print This Print This   Email This Email This

Samsung Galaxy S4 “SIM Card Removed” Problem

I still have a Samsung Galaxy S4. It’s old and slow, the (second) battery is bad, and the magnetometer is probably completely broken, but at least it doesn’t explode. And it’s paid off.

For the last few months, however, I’ve had the problem that the Galaxy S4 “forgets” that it has a SIM card inserted, necessitating a reboot. This got so bad that it only lasted a few minutes between reboots. Heat and movement seemed to make it worse.

I tried something similar to what was suggested in this blog post: i wedged a folded up sticky note between the phone, just above the battery, and the back. My case holds it nicely in place.

I don’t want to jinx it, but in the last five days, my phone hasn’t crashed. After fixing the USB connector, yet another win over planned obsolescence!

Posted in Uncategorized | Leave a comment

Print This Print This   Email This Email This

More Putrid Pete’s Pictures!

Here are a few more pictures from our scramble to Putrid Pete’s Peak, Webb, and Mount Defiance. Fellow Mountaineer Barb took these pictures.

Scrambling up towards Putrid Pete's.

Scrambling up towards Putrid Pete’s.

On the summit of Putrid Pete's Peak, high above I-90.

On the summit of Putrid Pete’s Peak, high above I-90.

Running the ridge to Mount Defiance.

Running the ridge to Mount Defiance.

On the Mount Defiance trail

On the Mount Defiance trail

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Three-Peak Day: Putrid Pete’s Peak, Web Mountain, and Mount Defiance

On Sunday, Jenny and I joined a 10-mile Mountaineers scramble to three peaks along the I-90 corridor. We ascended to Putrid Pete’s Peak, then scrambled to the west to Web Mountain, came back to Putrid Pete’s, ascended the ridge to just below Mount Defiance, and hiked up to the summit of Mount Defiance. We took the easy Mount Defiance trail back to the trailhead.

Hiking up above the I-90 corridor.

Hiking up above the I-90 corridor.

Scrambling up towards Putrid Pete's Peak.

Scrambling up towards Putrid Pete’s Peak.

On top of Putrid Pete's Peak.

On top of Putrid Pete’s Peak.

Scrambled west to Web Mountain.

Scrambled west to Web Mountain.

From just below Mount Defiance, we could see the ridge we had just traversed from Putrid Pete's.

From just below Mount Defiance, we could see the ridge we had just traversed from Putrid Pete’s.

On Mount Defiance. Views were great.

On Mount Defiance. Views were great.

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Love the Light on Mount Rainier

I found another picture of Mount Rainier from the Pinnacle and Castle climb, and I just absolutely love the way the light falls on the mountain. It looks like a painting.

My Olympus camera stopped working five pictures into the climb, and I had to switch to my phone’s camera. Hopefully just a battery issue.

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

More Pictures of Pinnacle Peak and The Castle

Here are a few more pictures of the Pinnacle Peak and The Castle climb, courtesy of Julie and Stephen, and our route, recorded by Ben.

14034905_10206945583105737_6119699563647629750_n

14053997_10206945581265691_1254954085297614449_n

Julie-IMG_4431

Julie-IMG_4444

Julie-IMG_4446

Julie-IMG_4448

Julie-IMG_4451

Julie-IMG_4466

Julie-IMG_4468

Julie-IMG_4472

14141944_10100232748487004_830503051304075852_n

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Pinnacle Peak and The Castle Climb

Together with a group of Mountaineers, I climbed Pinnacle Peak and The Castle in the Tatoosh range south of Mount Rainier. This was our second attempt, after getting so close to Pinnacle Peak in June.

The summer trail was a lot easier than the winter approach, although it was probably a bit longer to get to Pinnacle Peak. We scrambled up on the southwestern side, and there was only a short section that was a bit difficult. Downclimbing for the most part was easy too.

The Castle, which we hadn’t even looked at in June, was a lot of fun. We approached from the south and scrambled over a ridge. From there, we could get to the East face. It was an easy climb with, I believe, two pieces of protection. Most of us prusiked up on a handline. After that, an easy rappel down the same way.

We returned a slightly different way, that was parallel to the winter route and rejoined the main trail close to the road.

One of the most exciting parts of the vista were the clouds. We saw a very strange cloud with multiple lenticular formations, and watched as a lenticular cloud developed and slowly engulfed most of Mount Rainier.

20160827_082540

20160827_083658

20160827_090253

20160827_103952

20160827_110412

20160827_121019

20160827_124159

Posted in Pictures | 1 Comment

Print This Print This   Email This Email This

Mountaineers Trip to Maintain Mount Pilchuck Lookout

One of our climbs got cancelled, so Jenny and I were looking for something else we could do on a Saturday. We found a Mountaineers maintenance trip to the Mount Pilchuck lookout. I had been there in 2015, but Jenny had not.

We didn’t need a stewardship activity, we graduated already, but it was a nice hike in the sun. From the lookout, we could see Baker and Shuksan, Glacier Peak, Rainier, and also Sloan Peak, “the Matterhorn of the Cascades”, which Jenny had just summited. And by maintaining the lookout, it became “our lookout.”

20160820_131416

20160820_124646

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Mount Adams Videos

Here are the three videos I shot while climbing Mount Adams.

On the summit:

Descending below Pikers Peak:

Forest fire damage:

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Rerun: My favorite pictures of 2016

With the WTA Northwest Exposure 2016 photo contest coming up, here are the five pictures I’ve taken in 2016 that I like the best:

Unicorn Peak:

Whistler Mountain:

Mount Adams summit:
Sunrise near the summit.

Mount Rainier, from the summit of Mount Adams:
Tallest mountain in Washington, as seen from the second tallest mountain.

Scrambling up Cathedral Rock:

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Mount Adams Climb

Friday evening we drove out to Hood River, OR, where we stayed at a hotel for a last night in a bed and a gear check. Saturday morning, we ate warm breakfast, drove to the Ranger Station in Trout Lake and self-issued climbing permits. By 8:30, we were at the trailhead, which was quite packed with cars. The last mile of the road was quite rough for my Toyota Camry.

We started hiking on Saturday at about 9 AM and 5500 feet elevation. There was very little shade because of the wildfire last year. We crossed Morrison Creek at about 6800 feet elevation, but weren’t in need of water yet. We just dipped our hats in the water for a quick refreshment. We reached the first bit of contiguous snow at about 7250 feet elevation, at the southern edge of the Crescent Glacier. Since the snow was rather slushy already, we opted to stay on the rocks and do a bit of a scramble to the west instead of ascending directly on the snow.

At about 8500 feet elevation, we switched to the snow and more or less angled directly to the waypoint I had set for the Lunch Counter. We got to our camp site just before 1 PM. The camp site was at 9400 feet elevation, which is higher than Jenny had ever been. I had been at slightly above 10000 feet, but only for a few minutes. There were plenty of available camp sites encircled by rock walls, and we picked a fantastic one at the northeastern edge of the Lunch Counter, just feet from running water and the snow field that we would have to ascend at night. We cooked food and rested.

On Sunday morning at 2:30, we started hiking up from our camp site. We left the tent, sleeping bags, and all the other heavy things there, so our backpacks were a lot lighter. We knew we would get hot with the climbing we had to do, so we wore shorts with gaiters — fashionable! It took us a little under four hours to get from 9400 feet to 12280 feet. For the first hour, we hiked in the dark, because we wanted to see the sky and the shooting stars. When it got a bit steeper and the moon had settled behind the mountain, we turned our head lamps on and climbed with light. We got to the summit just at sunrise. It was an unbelievably beautiful moment.

We stayed on the summit for maybe 30 minutes. It was pretty cold, just barely above freezing, but not windy, fortunately. Then we descended. It took us longer than expected, because the snow was so hard that we couldn’t glissade down on it. We tried at one point, a little ways down from the top, where it was safe, but the snow was so hard, we got bruises on our butts. So we had to hike three hours down to camp. The last bit we were able to glissade again. There, we cooked some noodle soup, took a 20 minute nap, and then packed everything up.

We hiked three more hours with full packs back to the car. Fortunately, we were able to avoid the rock ridge that we scrambled up by glissading down the last 1000 vertical feet of the Crescent Glacier. Note that the main, deep glissade chute was blocked with rocks. Generally, of course, it’s not safe to glissade if you can’t see or know the entire way. We glissaded down the slope a little to the west of the main chute.

It was a wonderful adventure, something I had wanted to do ever since I climbed Mount St. Helens for the first time in 2013.

On the trail from the Cold Creek trailhead.

On the trail from the Cold Creek trailhead.

Crossing Morrison Creek.

Crossing Morrison Creek.

Above the Crescent Glacier.

Above the Crescent Glacier.

At 9000 feet, just below the Lunch Counter.

At 9000 feet, just below the Lunch Counter.

Camp at 9400 feet.

Camp at 9400 feet.

Mount Hood and Mount Jefferson to the South.

Mount Hood and Mount Jefferson to the South.

Panorama of our view up the mountain from camp.

Panorama of our view up the mountain from camp.

Just below Pikers Peak at first light.

Just below Pikers Peak at first light.

Jenny on Pikers Peak.

Jenny on Pikers Peak.

On Pikers Peak, the false summit of Mount Adams.

On Pikers Peak, the false summit of Mount Adams.

Mount St. Helens to the west.

Mount St. Helens to the west.

Sunrise near the summit.

Sunrise near the summit.

Successful summit of Mount Adams at 12280 feet. The only higher mountain in Washington is in the background.

Successful summit of Mount Adams at 12280 feet. The only higher mountain in Washington is in the background.

Jenny at the USGS summit marker.

Jenny at the USGS summit marker.

Mathias at 12280 feet.

Mathias at 12280 feet.

Mount St. Helens and Mount Adams' own shadow on the ground.

Mount St. Helens and Mount Adams’ own shadow on the ground.

Summit panorama.

Summit panorama.

Mount Rainier, as seen from the summit of Mount Adams.

Mount Rainier, as seen from the summit of Mount Adams.

Tallest mountain in Washington, as seen from the second tallest mountain.

Tallest mountain in Washington, as seen from the second tallest mountain.

View back up to the true summit of Mount Adams.

View back up to the true summit of Mount Adams.

On the way down to the ledge below Pikers Peak.

On the way down to the ledge below Pikers Peak.

Sun above Pikers Peak.

Sun above Pikers Peak.

Snow field down to camp.

Snow field down to camp.

Route of the Mount Adams climb

Route of the Mount Adams climb

Route of the Mount Adams climb

Route of the Mount Adams climb

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Olympic Peninsula Trip

This past weekend, Jenny and I went on a trip to the northwest edge of the Olympic Peninsula.

We took the ferry from Seattle to Bremerton, had dinner on the bay, and stayed at a hotel. Early on Saturday, we had breakfast and started driving northwest. We stopped at the Dungeness National Wildlife Refuge, walked in the sand, and watched little crabs scurry sideways.

After coffee in Port Angeles, we drove out to Shi Shi. Google actually took us to someone’s backyard near Lake Ozette, though. So after that de-tour, we drove back around to the Strait of Juan de Fuca and through the Makah Indian Reservation to Shi Shi Beach.

Saturday night, we camped at Shi Shi Beach. Note that the self-issue permit box isn’t at the trailhead anymore. Instead, go to the NPS in Port Angeles. We camped only over night and never left our camp site unattended, but if you do that, you need an approved bear canister.

On the map, it had looked like Shi Shi Beach was outside the reservation, so we hadn’t purchased a recreation permit from the Makah. Since we were parking on the reservation, though, and then hiking about 2 miles to the coast, we had to get one. I dropped Jenny off with her pack and the tent and then drove away to buy the permit. The closest place that sold the permits turned out to be the Hobuck Beach Resort.

It took me about half an hour to get the permit and get back to the trailhead and grab my pack and gear, so shortly after I started hiking, Jenny already arrived at the beach and started setting up the tent. She got it done in 10 minutes and was starting to settle down in the sunny sand just as I arrived. We enjoyed the sunset with champagne from Nalgene bottles.

On Sunday, we went to Cape Flattery (it’s a great cape!), had brunch at Port Angeles, and then enjoyed a free jazz concert in Kingston as we waited for our ferry back.

Leaving beautiful, sunny Seattle.

Leaving beautiful, sunny Seattle.

Dungeness Bay

Dungeness Bay

Dungeness Bay

Dungeness Bay

Shi Shi Beach sunset

Shi Shi Beach sunset

Shi Shi Beach

Shi Shi Beach

Cape Flattery

Cape Flattery

Cape Flattery

Cape Flattery

On the ferry to Edmonds. Mount Rainier dwarves Seattle.

On the ferry to Edmonds. Mount Rainier dwarves Seattle.

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This

Eldorado Peak Summit Video

Here’s the video I recorded on the summit of Eldorado Peak. Our knowledgeable climb leaders are pointing out many of the peaks that were visible: Mount Baker, Shuksan, Glacier Peak, Rainier, Forbidden Peak, and many, many more.

Posted in Pictures | Leave a comment

Print This Print This   Email This Email This