Sep 09

I’ve been listening to the news lately, and what’s most struck me is that we (as a society) are only listening to the most extreme statements on any issue. What this means is that we never even hear calm rational people. Problems and controversy can be created by anyone willing to jump up and down and lie in an entertaining way.

In the US, this has created many false problems out of thin air. Many people believe there is a ‘debate’ about evolution. People are refusing to vaccinate their children (which is killing people). A speech to encourage kids to stay in school has turned into a national controversy.

Worse, real problems that need to be addressed simply can’t even be discussed in ways likely to lead to workable solutions. Major issues that come to mind include the Iraq War, global climate change, health care reform. In each of these cases, small groups that shout loudly enough can freeze the rest of us into near inaction (perhaps symbolic gestures that solve nothing).

I think that solving this could move our society forward a long ways. Sadly, I don’t think there are any simple solutions.

Tagged with:
Jun 19

I’ve recently heard a lot of bad news from friends of mine, much of it health related, and this has started me thinking. When we hear something horrible (your friend X has cancer), our instinct is to try and help. This is obviously a good thing.

However, our first instinct is to try and do this in a dramatic way, to show how much the we care, to show how much this upsets us, to rail about how we wish that we could make it better. Most of this is focused on us, not on the people that are really in trouble. We are trying to reach out that extra mile just to show how much we care.

I’m starting to think that it’s much better to handle news like this in a bland and boring way. Just listen, offer your sympathies, and don’t really do much else unless you can think of a real way to make a difference. This probably just means waiting and being ready to help AFTER your friends are ready to for it. In the mean time, show you are there for them, but give them enough space to deal with things in their own way.

By staying calm and controlled you can help your friends and family stay in control and deal with the real issues. This is the exact opposite of trying to show how upset we are, and so doesn’t seem as natural. However, I think it does more actual good.

May 19

My home network is a bit odd. The DSL runs to the refrigerator, and the wireless base station on top of it. Almost everything else plugs into a wireless bridge on my desk. This means most in-house networking is wired, but internet traffic goes through a wireless hop.

I spent a long time trying to get that wireless hop to work well. Eventually, I bought a pair of Linksys WRT54GL base stations and loaded the open source firmware Tomato. This got things to work in the way that I wanted, including functional encryption for the link. The firmware added a lot of assorted perks (like nice bandwidth usage graphs).

However, one of my old stability problems was still happening. Every once in a while, something in my neighborhood starts spewing radio noise. This is enough to kill all network connnections on that frequency. Sadly, this noise’s frequency moves around from time to time.

The pattern was that every two weeks or so, I’d have to carry the laptop into the kitchen, plug into the wireless base station and pick a new frequency. Then things would work fine…. until next time. It would, of course, usually break just during the intense part of some online game.

After a while, I realized that this process could be automated, AND I’m running this nice open source software that I can modify myself without permission from a big company that doesn’t care how often I have to get up to go fix my network.

This led to some investigation, and two small scripts. Once per minute, my base station tries to ping the wireless bridge. If it can’t reach it, it rotates the frequency by one. The base station was already smart enough to auto-reconnect on a different frequency if the base station changed. Since then, my network has been wonderfully stable! Online gaming bliss, broken only by an actual DSL failure that knocked me offline for a week.

init.sh (to create the cron job to run the real job):

/bin/sleep 60
/usr/sbin/cru a ChannelRotate "* * * * * /jffs/channel.sh"

channel.sh (the real job):

# If the other side of the bridge can be reached... we're happy!
ping -c 3 desk > /dev/null && exit

OLD_CHAN=`nvram get wl_channel`
NEW_CHAN=$(( ($OLD_CHAN % 14) + 1 ))

nvram set wl_channel=$NEW_CHAN
nvram commit
kill -sighup 1

This is exactly how things are supposed to work for geeks! We run across something broken, and invent a custom solution, implement, and move on.

Tagged with: