How can we communicate in a Trump/Clinton world?

“Listen to me. I’m talking.”
“No, you listen to me.”
[1st person not listening to what 2nd person is saying]
[2nd person not listening to what 1st person is saying]

We all have something to say. But while we’re listening to the response, we’re too busy preparing the next thing we want to say to really hear what the 1st person is saying. Everyone is talking, no one is listening.

I see my direct and extended families being torn apart by political differences. We “can’t even imagine” what the other is thinking. And I know this is happening to so many.

Moved and troubled watching this 60 Minutes piece – very experienced moderator trying to get people with different perspectives in a room to hear each other, and it was almost impossible. The only thing they really agreed on was that vast majority voted against a candidate, rather than for. Beyond that, it was chaos. Moderator has been doing this for 20 years, says he’s never seen anything like it. People used to take turns listening and talking – now everyone talks at once, over and through each other.

Can we fix this? How has your family handled it?

On Losing to Donald Trump

The gut-level feeling I’ve experienced all day, and the one that I’m hearing so many people share, is PHYSICAL. I literally feel nauseous, like I could throw up, as if I just experienced a death in the family. It is not just the feeling of losing, and it is not just the feeling of losing to Republicans. It is the feeling of losing to Donald Trump.

In Trump we have not just a person we disagree with on some or most issues, but a walking embodiment of everything we work so hard each and every day to evolve beyond as a society and as a nation. By electing Trump, we give up any claim to moral high ground on any matter of importance, and any claim to being a nation that others can look up to. We become the laughing stock of the world, rather than a trusted ally. With Trump we doom the economy, the environment, the constitution, and human rights all in one go. It is the feeling that America has sunk to its lowest point in our lifetimes.

A relative told me today, “It’s not like it’s the end of the world or anything.” No, it’s true, earth didn’t just get hit by an asteroid. But at 52, I can say that there is not a single event in my lifetime that has filled me with more despair or fear for the future of my country (and my child’s future) than the election of this man. I have never felt more ashamed to be an American. And after all of the late nights discussing the 384 Reasons Why Donald Trump Must Never Be Allowed to Become President, it feels like all of that effort was wasted. Which, in turn, makes talking about anything that matters feel pointless.

Because this is not just about one man. It is about the fact that *millions* of people are A-OK with what this one man represents, and apparently have no understanding or appreciation for the threat(s) he represents to them. It is the sudden awareness of how profoundly broken we are as a society that we collectively decided “This is OK.” The PHYSICAL feeling of illness I am experiencing right now is a direct result of that despair. It is so tempting to throw in the towel and just stop trying. I see some of you coming around already to messages of hope, calls to keep fighting, etc. I’m sure I’ll get there. But right now I just want to hurl.

FlowHive

It’s harder to put a simple honey tap on a bee hive than you’d think. Brilliant evolution in bee-keeping technology – so elegant.

Morro Bay Lighthouse Century

A summer of hard bicycle training finally paid off! I had done several metric century (65 mile) rides over the past decade, but both of my previous full century attempts had been thwarted. Two years ago, I overtrained and developed a tendon problem behind the knee that could have resulted in serious/permanent damage if I had pressed on. Then the next year, an illness in the family resulted in a logistical problem that forced me to do yet another metric.

IMG_6666

This year, I wasn’t going to be stopped. Started serious training in the spring, ramping up slowly from 25 miles to 40, then 65, then a couple of 75 mile days toward the end of summer. Also focused on elevation, tackling both Mt. Tam and Mt. Diablo in August and September.

IMG_6669

Started to learn more about the importance of sodium and electrolyte replacement too, trying half of the ride supplement packets on the market. And I introduced a weekly time trial into the mix, doing exactly the same 8-mile, 1000-ft sprint after work twice a week.

IMG_6707

Continue reading

Why It’s Time to Repeal the Second Amendment

Orlando is kind of a perfect storm of American hot-buttons. Terrorism, homophobia, racism, politics, mental health, and guns all in one monumental tragedy. The gay issue is complicated by the fact that there are so many homophobes on the right who are secretly (or not so secretly) happy to see gay people slaughtered. The Islam issue is complicated by the fact that the shooter is an American. The mental health issue is complicated because so many people “on the verge” aren’t identified even by those closest to them. The gun issue is complicated because it always is. There is an element of exhaustion – we’ve all been down the Mass Shooting road too many times, and all of our arguments are all worn out. We each rant and plead in our own ways, but nothing ever changes. And this time, we’re having ten different arguments at once. But we can’t stop talking, because the alternative is apathy.

Meanwhile, we’re not even focused on the bigger part of this tragedy. 50 people all in one place is horrific, yes, but people are overlooking the larger fact that, on average, we lose 91 people per day to gun violence. That’s almost two Orlandos every freaking day.

zero

One of the reasons we end up focusing so hard on guns is that it’s something concrete we can address with the force of law. We can’t “fix” mental health by throwing money at it. We can’t “fix” religious extremism by closing our borders, because it grows in our own soil and is fed by the internet. But we can, at least potentially, “fix” the gun situation by recognizing that the Constitution is a fluid document that was designed to adapt to the times. We can stop thinking of gun ownership as an “inalienable” right and treat it as a privilege instead – one that has to be earned or bestowed (to hunters and law enforcement), not one granted willy nilly to every bozo who wants a human-killing machine for “reasons.”

angerx

The current interpretation of the 2nd Amendment is not one the Founders would ever have imagined or wanted. Better background checks, banning assault rifles… all well and good, but I think that’s splitting hairs, and won’t have much impact in the long run. I’ve been ranting for the past year about how it’s time to repeal or rewrite the 2nd Amendment. The sentiment is finally gaining traction. Thank you, Rolling Stone, for this excellent piece by Constitutional scholar David S. Cohen: Why It’s Time to Repeal the Second Amendment

score

Just think of what would have happened in the Orlando night-club Saturday night if there had been many others armed. In a crowded, dark, loud dance club, after the shooter began firing, imagine if others took out their guns and started firing back. Yes, maybe they would have killed the shooter, but how would anyone else have known what exactly was going on? How would it not have devolved into mass confusion and fear followed by a large-scale shootout without anyone knowing who was the good guy with a gun, who was the bad guy with a gun, and who was just caught in the middle? The death toll could have been much higher if more people were armed.

mental

Please read: Why It’s Time to Repeal the Second Amendment

RIP Olaff Itoff

Just lost someone special who hovered on the periphery of my life. Diagnosed with cancer in April, told he had a few weeks to live, gone by the end of May. Life is so fleeting. He was a geocacher who went by the name Olaff Itoff (“Oh, laugh it off!”). He once gathered me and five other people who had had trouble finding a cache together for a group hike and discovery. A few weeks later, he and his son went out caching with me and my son. For years after, we kept seeing each other’s names in logs, leaving little notes for each other. The other day I published a new cache, and the first finder’s log entry said “RIP Olaff Itoff 2016.” Contacted the finder and heard the sad news. So sad, so unfair. Wish I’d gotten to know him better.

Maker Faire 2016

Our tenth annual father-son excursion to the world’s largest convention of inventors, sculptors and weirdos. Different every year – both as the fair changes and as we change. Spent more time this year having conversations with makers, which makes it so much richer. Unfortunately, the trend of making the fair safer every year also makes it a bit less exciting every time. Still, this trip is always one of the highlights of our year, and has become an important bonding time. Here’s to the next 10!

Flickr set

Django template tag to display latest git commit, date and tag in template

I found a few references to bits and pieces of this in various places, but this snippet ties all three bits of information together in a single string, and accounts for calling the path to the git repo from anywhere (which tends to work “magically” on localhost but breaks on servers).

If you don’t use git tags, season to taste.

@register.simple_tag
def git_ver():
    '''
    Retrieve and return the latest git commit hash ID and tag as a dict.
    '''

    git_dir = os.path.dirname(settings.BASE_DIR)

    try:
        # Date and hash ID
        head = subprocess.Popen(
            "git -C {dir} log -1 --pretty=format:\"%h on %cd\" --date=short".format(dir=git_dir),
            shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
        version = head.stdout.readline().strip().decode('utf-8')

        # Latest tag
        head = subprocess.Popen(
            "git -C {dir} describe --tags $(git -C {dir} rev-list --tags --max-count=1)".format(dir=git_dir),
            shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
        latest_tag = head.stdout.readline().strip().decode('utf-8')

        git_string = "{v}, {t}".format(v=version, t=latest_tag)
    except:
        git_string = u'unknown'

    return git_string

Then, in your template, you can simply:

{% if user.is_superuser %}{% git_ver %}{% endif %}

GoPro Time Lapse: Stinson Beach

Last weekend at Stinson Beach I attached a GoPro to a tree and had it shoot one image every 5 seconds for a couple of hours. Later compiled the image into a 29fps half-speed video in GoPro Studio. Not sure why I enjoy making these so much; something oddly satisfying about the process.