I have been flown…

Yeah, so I missed a day, but that’s because by the time I got home last night, after a day pretty full of AcroYoga, it was late and I was exhausted.

But I also got to fly, for real, yesterday and today. Video is forthcoming.

Mind you, I am now contractually unable to make fun of any of my flyers if, say, they can’t tell their right from their left when we’re working together–when you do some of this stuff, it is impossible to tell which way is up, down, sideways, whatever.
It was amazing.

Addressing the New York Times article about John Friend

The New York Times Magazine has a profile of John Friend up on the web (and presumably soon in print). As an Anusara-Inspired yoga teacher, who has met and studied with John many times, I was interested to read it.

Overall, I thought the piece was pretty good.

Most of the things that Ms. Swartz writes about John–and yes, everyone in the Anusara community calls him John; it seems like name-dropping until you meet him, and then it seems pretty natural–ring true to me. But not all.

I’ve attended 8 events with John, and while I certainly agree that he has his groupies, I’ve never seen anyone attempt to give him their hotel room key, which the article succeeds in making sound like a commonplace occurance.

I also diagree with the characterization of John as “an easygoing guy with an easygoing yoga — except when it comes to business.”

If you go to an Anusara Teacher Training with John, you will understand that he’s not really all that easygoing. His expectations of his teachers–especially of the Certified Teachers, but of anyone who is attending one of his teacher trainings–are very high.

He wants the people he trains to be teachers to be the best of the best.

I would be interested to have gotten more of the context surrounding Judith Lassater’s comments; they seem very negative, but I wonder if there was more to them that made a different point. I also wonder if they were specifically directed at John or were just about the commercialization of yoga in general.

Incidentally, that John draws a salary of $100K a year doesn’t bother me one bit. John’s been teaching professionally for a quarter of a century, and is internationally prominent. Prominent enough, in fact, to get profiled in the New York Times Magazine. I put to you the question: in what other profession in this culture would that salary be considered excessive for someone in his position?

More Beatles, I suppose

So, Jack White performed “Mother Nature’s Son” at the White House. Not my favorite rendition of it ever–Jack’s voice is great in other contexts, but doesn’t quite work here for me–but still a particularly gutsy move, when you consider who’s in the audience (look to the President’s right at about 1:45):

Why hasn’t anyone done the obvious?

So Kanye West samples King Crimson’s 21st Century Schizoid Man for his new single power. But while I was watching a documentary about The Beatles today, it occured to me that what someone really needs to sample or borrow is the drum track to “Tomorrow Never Knows.” That would beat the famous samples from “When the Levee Breaks” easy.

90 to 40

I am now 90 days from being 40 years old.

I think these decade birthdays always loom especially large because I’m a decade baby.

Over the last week I’ve been considering what I’m going dedicate myself to for the next 90 days, so that perhaps by the time I actually hit 40, they will feel more like habits and rituals and be easy to maintain.

One that I’ve actually already started on is blogging every day. It doesn’t have to be significant or insightful or, I suppose, even coherent. Perhaps it will just be a picture of the latte I have in the afternoon, or whatever coding problem I solved (or didn’t 😉 that day.

It’s more about the consistency of writing every day, because I also want to start keeping a (private) journal. For the last 40 years, I’ve mostly been able to operate off memory alone. But I know that’s not going to last forever, and I’ve probably already forgotten a lot of stuff I would like to have written down (though, of course, I can’t be sure). So writing daily, both for public and private edification.

A related desire is that I want to be more diligent in keeping track of what I get done. I have a lot of days where at the end, I feel like I haven’t gotten a lot done. Objectively, this isn’t true, but I don’t record it anywhere. In short, there’s no evidence, it’s totally ephemeral. So I want to be more diligent about knowing how I filled my days.

I need to reassert the habits of self-care. Eating well is an important part of that–I could stand to lose a little girth right at the moment–but even more importantly, I want to return to a daily meditation practice, a daily yoga practice, and other daily maintenance. I’ve gotten away from all of those in the last six months, and I’m very aware of it. 90 days is long enough to help me get over the hump in making these back into habits.

I want to get out of my music listening rut. It seems like I have a lot of music that has gotten short shrift–played a couple of times, and then dropped for more familiar things. Each day I want to find the time to listen to a whole album I don’t know well from beginning to end.

Perhaps other things will present themselves. Anyway, it’s going to be a fun time.

At the mercy of excessive choice

I want a new cell phone. In fact, my Treo 700p, at a solid 3 years old, may be old enough that I could say I need a new cell phone.

Apple isn’t even an option–with their hostile attitude toward non-Apple software interfacing with the iPhone, I will never be able to work with it effectively in Linux. So no go.

That leaves Android.

Normally I wouldn’t worry excessively about whether my phone was upgradeable, but the just-released Android 2.2 sees such a significant performance boost for so many applications, it becomes even more important on an older, slower phone.

In order to be sure, I’m only considering phones of a very recent vintage, since those are the only ones that seem sure to get a FroYo upgrade–phones from some manufacturers that are a mere six months old aren’t getting updates, so I am wary. I want to hear a commitment from the manufacturer first.

I happen to have Sprint right now, but I’m not wedded to them. They do have the cheapest data plans around, and I live in one of the first WiMAX areas in the country, so their 4G phones are attractive.

I’ll have to see–so far every phone I’ve looked at has had some wart that has kept me from committing to anything yet–but right now it looks like the Samsung Epic 4G (complete with real keyboard!) might be the phone I’m looking for. Only time will tell.

What really matters on the Internet

I’ve actually thought it for a while, but it took a post by John Scalzi to get me to write.

What really matters on the Internet–blogs, twitter, Facebook, what-have-you–is that it acts as a place we can remember what really matters to us.

I’ve read memorials for people’s pets–dogs, cats, what-have-you–parents, grandparents, unborn babies, friends I’ve never met and will never have a chance to meet, and they’ve all been worth all the spam and blink tags and chain letters combined.

To have a place to share our memories of those who were important to us–share them far and wide, digging deep into what they really meant to us without having to be so concerned about what people are going to think when they hear it–is a great gift, even if we don’t always recognize it.

Reconsidering…

As so often happens, we resist things we don’t understand, in favor of those we do, but if we only take the time to learn…

Geek-dom ahead, you have been warned.

I do almost all of my programming in Perl these days–in fact, for the last decade and a half or so. I’m not interested in getting into a langage war here–I know Perl’s weaknesses as well as its strengths.

Anyway, for the last three years or so, we at AnteSpam have used a Perl script to manage refusing connections from malign hosts and rejecting requests to send mail to non-existent addresses–generally at a sustained rate of several per second, occasionally peaking into dozens per second or more, per server (we have 16 production servers).

Perl has no useful multi-threading, and if we tried to service these requests using one script per connection, we would be screwed–in fact, when we first tried to manage this stuff ourselves, three years ago, our first implementation did just that, and the servers melted; they couldn’t take the load of all of those memory-piggy scripts running at once.

Back in 2007, looking for a solution to this, I found POE, a mature Perl framework that allows you to do event-driven cooperative-multitasking with asynchronous I/O and various other bells and whistles.

It is very good at what it does, and over the last few years I’ve become very conversant with it. We have several very important pieces of our infrastructure written with it, and they work very, very well.

Still, it has some issues, the biggest of which is that you have to write your code in a very particular style–short routines that queue events that are handled by other routines and things like that–things that mean that if you write code to integrate smoothly with POE, it’s going to look very weird if you try to use it outside the POE framework, and if you write your code outside the POE framework, it’s not going to play well with POE.

As a consequence, there are lots of libraries that don’t play well with POE–you can use them, but you loose the smooth cooperative-multitasking and asynchrony; basically, you lose the ability to handle many things at once, at least with low-latency. And people who aren’t used to POE end up looking at your code in bafflement.

Still, this has been a fine solution for us for years, and I’ve resisted changing it, because every time I’ve tried to work with something else–and here I’m thinking specifically of AnyEvent, I just couldn’t see the big benefit. The one time I tried reimplementing something with it, the code got a few lines shorter, but otherwise, it was 6 of one, half-dozen of the other.

And then I had my epiphany.

What I realized is that I could rewrite some code that was duplicated between the “regular” programs, and the high-performance daemons to use AnyEvent in such a way that I could use
the same code for both–when I needed high-peformance cooperative multitasking, I would have it, and when I didn’t need it, the code would look exactly the same.

In effect, I was going to be able to get rid of a huge chunk of duplicative code and use the same code everywhere, transparently. And once I got the basic libraries re-done, there was even more code I was going to be able to merge.

In the space of 24 hours, I rebuilt our low-level LDAP and Memcache access layers to transparently use AnyEvent. I didn’t change any code outside of those libraries, and all tests passed once I was done. That performance-critical daemon I talked about at the beginning–I’ve almost finished rewriting it in the space of a couple of hours.

By making this change, everything is looking cleaner and more straightforward than ever before.

When you have that moment of realization, everything can change.

When everything you know is wrong…

Despite growing up in the ’70s, I had no clear memory of the 10cc song “I’m Not in Love”; my first encounter (as far as I knew) with the song was on Tori Amos’ Strange Little Girls (and I’m going to try and ignore that this album is now 9 years old–where did the time go), where, frankly, it sounds like a musical rendition of a suicide note.

When BoingBoing linked to a documentary about the making of the song, I was intrigued enough to watch it.

Suddenly, I realized that, in fact, I did know the original version of the song, in all its treacly, soppy glory. I had just never connected that with Tori’s version.

What else have I missed?

Incidentally, there’s an interesting article at Sound On Sound about the making of the track.