Why do I hike 4Ks?

September 9th, 2009

As I write this entry, I have climbed 47 of the 48 4,000′ers in New Hampshire. (To make the list, a mountain has to be over 4,000′ tall, and the col – the lowest point – between it and each of its neighbors must be at least 200′ deep.) Sometime soon, I’ll climb Mt. Garfield and “complete the list”. But why did I start?

My father started me on hiking, when I was young, and I hiked with an elementary school teacher and at summer camp. But life got busier and it wasn’t something I kept up with. In my 30s I meant to find a hiking buddy and start hiking again, but somehow it never happened. Then I bought Mike Dickerman’s book, Why I’ll Never Hike the Appalachian Trail, and that reminded me again how much I loved the outdoors. (Oddly, Bill Bryson’s A Walk In The Woods was a fun read but didn’t get me outside.)

I finally realized that if I kept waiting for someone else to start me hiking, it would never happen. I decided to do a trial hike on Stratton Mt in Vermont, and see whether I still liked it. (Stratton is where both the Long Trail and Appalachian Trail were conceived.) And I decided that if it went well, I would get back into hiking – by section-hiking the Long Trail.

The day I climbed Stratton was cloudy, and I got no views. But it was great to be out in the woods again, and out-of-shape though I was I made the longer loop off the far side of Stratton and then back to the road. While I was up on the peak – after chatting with the GMC caretaker – I ran into another hiker. We got chatting and he told me that if I wanted hiking companions, I should check out this web site “Views From the Top”. I never got his name.

On Views From the Top (VFTT), I found an enthusiastic community of peakbaggers, mostly NH-based (although there’s a vocal NY contingent). And from them I learned about the 4,000′ers, and saw pictures they shared of their hikes. And I found my target shifting: when spring rolled around I went off to hike Mt Hale, one of the easiest 4,000′ers, on a soggy grey day with almost no views – and I got hooked. Since then, over about 4 years, I have climbed 46 more NH 4K peaks. I’m not exclusive – I’ve climbed in the Wapacks nearer home, and various smaller peaks, and even once or twice gone out hiking with no peaks at all. But I’ve organized around the NH 4Ks because it’s good to have a goal, and it’s mostly because of a hiker I bumped into on Stratton, and the enthusiasts on VFTT.

And the Long Trail? It’s still waiting for me.

Great Meadows

September 7th, 2009

We chose to celebrate Labor day with a stroll through Great Meadows. There were plentiful birds – including a Merlin I didn’t get a good shot of – and of course there were plenty of Herons and Egrets:

Great Egret

Great Egret

[caption id="attachment_111" align="aligncenter" width="150" caption="Great Blue"]Great Blue[/caption]

This fellow was perched on the edge of the small channel that still runs through the right-hand pool. The water levels were pretty low on both sides.

Great Blue

Great Blue

It was a lovely day to be outside:

A beautiful day at Great Meadows

A beautiful day at Great Meadows

On the way out we saw some frogs – here’s the bigger one:

Frog at Great Meadows

Frog at Great Meadows

and we also saw a turtle:

Turtle at Great Meadows

Turtle at Great Meadows

Pushing buttons

September 5th, 2009

The setup: I have a PC that’s a MythTV client (kind of like a Tivo, but open-source) in my living room. All the recording is done on the server in the basement, but to add verisimilitude I wrote a little script that polls the server, and when the server is recording, it turns on a blue LED on the client – actually it flashes a few times, then turns on solid.

The rest of the setup: M is a confirmed button-pusher, and always likes to know how to make the little lights go on and off.

So M was sitting near the MythTV – listening to music – and a recording came on. She noticed the little blue LED flash and turn on, but how to turn it off? She pushed the RESET button on the MythTV, rebooting the PC, and of course the light went off. In a little while, the PC had rebooted, and my script ran again, and noticed that a show was being recorded downstairs. So it flashed the LED, and so M pushed the RESET button.

PC: LED off, reboot, run script, flash LED. M: push RESET.

This went on for a while before I redirected her…

Separate LANs under OpenWRT

August 31st, 2009

A friend runs two separate subnets at home: one is for home computing/entertainment, and the other is work-related. It’s important to keep the entertainment users off the work LAN. We recently replaced his aging firewall with an ASUS WL-520gU running OpenWRT, so I had to work out how to create separate LANs under OpenWRT.

We picked the the 520gU because it has 1 WAN port, 4 LAN ports, and a USB port, and becuase it runs OpenWRT well. We set up the root filesystem on an external USB stick (see previous posts). Then we had to work out how to have two separate networks on the LAN side.

OpenWRT sets up networks by tying together ports into VLANs (see fuller discussion on the OpenWRT site). Each of these groups of ports becomes a separate sub-interface of the master ethernet interface. For example, the standard configuration on a 520gU has (as I said) 1 WAN port and 4 LAN ports. But all of those ports are connected to the same switch: the only difference between WAN and LAN is that they’re on different VLANs, and some labelling onthe outside of the box. The master ethernet interface is eth0; the standard OpenWRT LAN is eth0.0, and WAN is eth0.1.

All of this is set up on the OpenWRT Network / Interfaces configuration page, which manipulates the file /etc/config/network. I’ll show you the examples in /etc/config/network, partly because it’s easier to have text examples and partly because there are 2 admin UIs for OpernWRT (LUCI, which comes with OpenWRT, and X-WRT, a parallel project that I use). Here’s the default setup:

config 'switch' 'eth0'
        option 'vlan0' '1 2 3 4 5*'
        option 'vlan1' '0 5'

vlan0, as I said, is the standard LAN, and vlan1 is WAN. But wait, I said there were 5 ports (1 WAN and 4 LAN) but the ports here are numbered 0-5. What’s the 6th port? Well, it’s the internal switch connected to the CPU, and it’s included in every group of ports. If it weren’t then OpenWRT couldn’t see the packets.

Here’s the configuration with two different LANs:

config 'switch' 'eth0'
        option 'vlan0' '1 2 5*'
        option 'vlan1' '0 5'
        option 'vlan2' '3 4 5'

vlan1 is still the WAN port, but now vlan0 is one LAN network, and vlan2 is the other. Next time I’ll show how we did the firewall rules to complete the job. But before we tackle the firewall rules, I need to set up the WiFi.

WiFi is different, and isn’t on the 6-port ethernet switch. Instead, WiFi works with its own master interface, and sub-interfaces for each WiFi network that you’re either a client on, or an access point for. Then you can bridge the WiFi subinterface to a LAN subinterface, to create a network with both WiFi and LAN access types.

The standard OpenWRT configuration bridges the LAN to wl0, the default and first WiFi subinterface. We were able to use this same configuration to bridge wl0 to the first LAN, eth0.0.

Persistent /var for OpenWRT

August 28th, 2009

In other posts I talked about booting my OpenWRT routers off an external USB stick. In this post I’ll describe how to make the /var directory tree persistent across reboots.

On a standard OpenWRT system, /var is a link to /tmp. This simplifies setup, but it means that /var gets wiped out on each reboot, because /tmp is a tmpfs (in-memory). Why do I care? Well, when you reboot you lose:

  1. The package lists downloaded by opkg update
  2. DHCP leases that OpenWRT handed out
  3. Web pages that polipo, a caching proxy, has already loaded
  4. System-specific Bluetooth configuration, especially paired devices

And I care about all of these. Also, the tmpfs is kind of small, which makes web caching harder.

Unfortunately, the assumption that /var is /tmp has leaked into a number of places, so you’ll need to fix those. Start with the USB Storage howto to setup your external filesystem, and with my pivotroot scripts as well. Make these changes when you’re booted off internal flash – don’t make them to your live filesystem.

I’ll assume your external USB stick is mounted on /mnt.

  1. Undo the link. cd /mnt; rm var; mkdir -p var/etc
  2. Fix the bootup scripts. Exceprts are below, but you need to fix references in etc/init.d/syslog and etc/init.d/boot on your USB stick

diffs for etc/init.d/boot:

--- /etc/init.d/boot    Sun May 10 21:09:45 2009
+++ boot        Sat Jan  1 00:08:59 2000
@@ -38,10 +38,14 @@
        config_load system
        config_foreach system_config system

-       mkdir -p /var/run
-       mkdir -p /var/log
-       mkdir -p /var/lock
-       mkdir -p /var/state
+       mkdir -p /tmp/run
+       [ ! -f /var/run ]   && ln -s /tmp/run   /var
+       mkdir -p /tmp/log
+       [ ! -f /var/log ]   && ln -s /tmp/log   /var
+       mkdir -p /tmp/lock
+       [ ! -f /var/lock ]  && ln -s /tmp/lock  /var
+       mkdir -p /tmp/state
+       [ ! -f /var/state ] && ln -s /tmp/state /var
        mkdir -p /tmp/.uci
        chmod 0700 /tmp/.uci
        touch /var/log/wtmp

diffs for etc/init.d/syslog:

--- /etc/init.d/syslog  Fri Jun 12 08:16:26 2009
+++ syslog      Sat Jan  1 00:09:22 2000
@@ -11,7 +11,7 @@
        local cfg="$1"
        local type file size ipaddr port IPCALC_CMD SYSLOG_CMD
        local DEFAULT_type="circular"
-       local DEFAULT_file="/var/log/messages"
+       local DEFAULT_file="/tmp/log/messages"
        local DEFAULT_size=16
        local DEFAULT_ipaddr=""
        local DEFAULT_port=514