RIP Anthony Grimes

As some may have already seen on Twitter or other channels, our friend Anthony Grimes (Raynes in #clojure IRC and elsewhere, @StRaynes on Twitter) has passed away.

The most immediate announcement of this came via Lance Bradley, one of Anthony’s closer friends from the Clojure community:

Anthony’s family set up a fundraiser to help with his final expenses, but people are going well beyond the target set there; in any case, the family would certainly appreciate any help you can offer:

If you don’t know of Anthony, he was a constant inspiration and helping hand in Clojure’s earlier days, especially in #clojure IRC where he tutored and encouraged people daily for years. He was also the creator or a significant contributor to dozens of Clojure projects, some of which I guarantee you still rely upon every day.

Anthony himself wrote about some of his history in the Clojure community, and also happened to recount at length the most significant memory I’ll have of him, when we all helped to get a kind 16-year-old to the first Clojure Conj in 2010:

I have other memories of and about Anthony that I’d like to share, but not now, not yet. Of course, the family will be having a local service for him in their time and way. Because so many people around the world knew, worked with, and called Anthony a friend, I’m hoping we can all have an online/remote memorial (maybe an any-comers Hangout or something). That’s just an idea at the moment, details TBD.

If you’d like to talk a bit about how Anthony influenced or inspired you, please feel free to; maybe on the clone of this blog post I put on the Clojure Google Group, maybe on Twitter (tack on #RIPRaynes maybe), or pop in to #clojure IRC, where Raynes first made us smile and think and learn.

Rest easy, dude.


— Chas

A humane Real Names Policy

I found myself with occasion to tell the same story multiple times in the past couple of days, so it seems appropriate to publish it somewhere for easy reliable reference:

Years ago at a programming language conference, I finally met in person someone I’d interacted with regularly on IRC and Twitter. In those contexts, he used a handle of his choosing, and naturally, everyone referred to him by it.

I noticed that everyone was addressing him by his initials. I played along, but eventually asked him directly — in a minute when others were occupied elsewhere — if the use of his initials was his choice.

You see, my friend was from Elsewhere: the conference was in the U.S., while he and his name are not “American”, nor Western. Many people seem to balk at saying names that they are not already familiar with, either because of pronunciation anxiety, or much less benign reasons. Dale Carnegie is often quoted on this topic, so I might as well follow suit:

Using a person’s name is crucial, especially when meeting those we don’t see very often. Respect and acceptance stem from simple acts such as remembering a person’s name and using it whenever appropriate.

So, I asked, and my initialed friend indicated that he’d prefer it if I used his given name when speaking with him, but that it was apparently tough for some to pronounce. I asked him to say his name a couple of times, I got it right on my second try, and I used his name as he preferred it in every interaction we had thereafter. It wasn’t hard, and he seemed glad that someone was willing to take 60 seconds to show him that respect.

This is simple stuff that is easy to get right and costs nothing.

Some obvious corollaries to the above story:

  • Always address people by the name that they prefer. (Everything else follows from this.)
  • Default to their given name if you know it, but don’t deputize yourself as proxy of whatever faceless bureaucracy stamped their birth certificate.
  • Don’t be so lazy as to let your own bias — cultural, geographical, or linguistic — prevent you from respecting someone else.
  • None of this changes online: if someone has chosen a name for themselves in some context, use it to refer to them. It is especially careless to refer to someone in one channel by the name they use in another.

Someone’s “real name” is whatever they say it is.

Living with yaks

A “yak shave” — the performance of a task solely in order to continue one’s “real work” — has traditionally been a pejorative term in the software and programming world. Much like “real life” yak shaves (fixing the garage door so you can get the car out so you can go to the store so you can make dinner, each task discovered only in service of the one it depends on), shaving programming yaks is typically not considered enviable work. It’s all stuff you reluctantly attend to in order to get on with the thing you wanted to do in the first place.

Such a perspective makes taking stock of my professional life an equally grim business: the overwhelming majority of my technical work has been in shearing wooly yaks, some more cleanly than others: vast savannahs of code for extracting data from PDF documents, libraries for authentication and authorization, AWS APIs, byzantine dependency resolution, and teststeststests; then there’s tools everywhere I look, including more REPL guff than you can shake a stick at, contributions to programming languages, and too many little bits of glue code to enumerate in any comprehensible way. (Let’s not speak of yaks kept away from the harsh lights of github and open source in general.) All of this was done in order to do other things. More often than not, I’ve let my hands linger far longer than necessary on those shears, rarely ever moving on to my original plans and projects.

Being busy is the most perfect form of procrastination, so that’s one explanation. I also think the yak-shaving tendency is an affordance of modern programming, with its deep cravasses that are sooooeasy to slip into, only to emerge 15 years later with a lot of experience in SOAP and WS-$WHATEVER. Why did I learn about OpenId in the first place? No one knows. Why do I still remember the Swing APIs with such exactitude that I’m confident I could knock out a moderately-complex Java GUI without looking at docs? Please, let me find blissful forgetfulness.

It’s too easy to gripe and grumble about this, though. We all have this experience of yak shaving, and occasionally regret for the time spent with such noble creatures, but I now think it’s disingenuous to lament. These computers we pound and tap on are things of our own creation: we choose our own legacy through our use and abuse of them.

When I look back on the computering I’ve done, I’m much more forgiving of my follies than I used to be. I can’t say I’ve accomplished what I originally set out for myself; but then, I can’t judge the work that was done too harshly, either. Most of it works well, most of the time, and many have found good use in it. I can’t ask for too much else, and I think I see now that hardly any other programmers (and perhaps, any other creative folk in general) are any different in this respect: we all struggle with whether we did good work yesterday, whether what we’re working on now is what we want to be working on, and whether it’s a stop on our path to something else, or a place where we might rest for a while.

Being at ease with this ennui puts the long years I hopefully have ahead of me in a much more pleasant light. It’s easier to be more thoughtful about the work I plan for, as well as more forgiving of the yaks that lay in wait for me along the way.

I talked about all of that so I could tell you a little story:

While idly twittering recently, a friend asked if I was talking about one of my “pet” yaks (I keep a number of forever projects around the house, their foraging is good for the lawn and they keep critters at bay):

The idea and visual of a World Yak stayed with me. Half-serious as it is (anyone even vaguely familiar with the workings of these stupid machines would recognize the truth in the sentiment), I couldn’t stop giggling about the visual. I eventually commissioned a wonderful artist to bring the meta-yak to life:

meta-yakI don’t know what exactly I’ll do with this burdened animal, but and @metayaks is a fun start.

Empathy and optimism

When talking with others over the past year or so, I’ve occasionally mentioned how I’ve been “working on my empathy”. This usually prompts confused, awkward moments, but I’ve meant it wholeheartedly. The most basic way I’ve found so far to describe what this means is I’ve been attempting to be as mindful as possible in my interactions with others, and in my apprehension of their stories and personal testimony. My objective isn’t just to comprehend what I’m reading, watching, or being told, but to do my best to re-experience, at least as much as is possible within my own head.

(Amusing, telling anecdote: after watching an “original series” Star Trek episode [or maybe it was an early movie?] featuring Spock successfully suppressing his baser human and Vulcan impulses, I said to my mother, “Wouldn’t it be great if we could all be like that?” She told me years later that my posing that rhetorical question worried her deeply for some time afterwards.)

Far from some kind of wispy daydreaming exercise, this is a laborious process. Since our phenomenology is apparently automatic (“System 1” thinking, in Kahneman’s terminology), assessing the uncountable set of signals and flashes that makes me feel like me is effortless, an instant-on flow state. Working on appreciating others’ experience as more than an abstract intellectualization of circumstances demands the careful, conscious construction of a completely different mindset, replacing as much of the sinewy underpinnings of my own identity as much as possible, and allowing myself to slip into the result like a bath filled with ice water.

Working on being empathetic in the way I’ve described is intense (how could it not be?), but one of its more surprising effects on my day-to-day life has been how it’s challenged my bias towards optimism. This bias has many roots; an impartial list might include the doctrine of American exceptionalism that I’ve been steeped in all my life; pop culture history of western society and technology that usually generalizes into a vector of ever-improving conditions for humanity at large; and my engineering and creative profession that is premised on the notion of individuals and small collectives being able to affect significant, tangible positive change.

There is truth in these influences, but each is a narrative better suited to providing comfort than actual enlightenment, like a fluffy, cozy blanket, so frail that the smallest poke or stretch yields a hole. The American project has always been fraught, its history pocked as it is with us repeatedly, collectively falling short of its promise. The postwar narrative of societal progress largely marks time on the backs of people overcoming adversity, usually spending far too little time on the fact that those adversaries should have been their brethren. The software engineering world I inhabit traditionally espouses a strictly technocratic problem-solving approach, fabulously appropriate when one’s objective is to build a bridge, but yielding catastrophic (yet ironically, invisible) consequences when applied to qualitative effect.

I knew all of this before, in the same way that I had previously coldly intellectualized others’ experiences. But the more I “worked on my empathy”, the less I could wave at the footnotes to my optimistic bias as incidental, temporary hiccups on the way to The Future, akin to having to break a few eggs in order to make an omelet.

In hindsight, this isn’t surprising: being as fortunate as I am, being empathic inherently requires trying to inhabit the stories of people that are or have been less so. Getting even a hint of the experience of people that have been failed by the American ideal (whether on its shores or abroad), people that are or have been treated as sub-human by their neighbours, people that have been ignored or personally injured by well-meaning but narrow-minded technologists…this made me question deeply those beliefs that previously sustained me so reliably. It seemed my optimism was a false idol, and I was despondent for a while.

What broke the malaise was my returning to the stories of people that embodied an eyes-wide-open sort of optimism, and trying to capture some of what made them push forward. Martin Luther King, Jr. remains front-of-mind for me, especially his last speech at the Mason Temple in Memphis on April 3, 1968 (multipart video), popularly remembered as ending with King prophesising his assassination the next day. Much of the speech is occupied with the particulars of that time and place, but some other passages spoke to me. In particular, King talked about the parable of the Good Samaritan, emphasizing the exercise of empathy in performing good works:

He got down from his beast, decided not to be compassionate by proxy. But he got down with him, administered first aid, and helped the man in need. Jesus ended up saying this was the good man, this was the great man because he had the capacity to project the “I” into the “thou,” and to be concerned about his brother.

And later:

And so the first question that the priest asked, the first question that the Levite asked was, “If I stop to help this man, what will happen to me?”

But then the Good Samaritan came by, and he reversed the question: “If I do not stop to help this man, what will happen to him?” That’s the question before you tonight.

Here Dr. King is imploring Memphis’ black community to stand together, and not just pass on by those among them that needed aid. I found the fact that he felt the need to do this remarkable; a modern reader or listener might think that, in that time and place, poor blacks would do anything to support each other, but doing so was itself an act of protest, carrying risk to prospects and body. In the scheme of things, Dr. King’s plea here was both critically important and an incredibly modest goal relative to his broader cause, but he agitated for it with all the vigor and determination he exhibited when discussing his grandest visions of peace and equality among races. His solemn, unyielding commitment to an unlikely cause even when facing his own demise overwhelmed me.

Now when I think of “real” optimism, I think of projects that demand a compassionate perspective, and recognition of those most different than I as my kin. It is our flawed human nature that such projects are more likely to fail than they are to succeed, their objectives so lofty and their opponents so tawdry and powerful that simply having an opportunity to work another day is a step forward: the Good Samaritan may just as well have been betrayed by the man on the road, who could have been luring him for ill cause, just as Dr. King was ultimately betrayed by his neighbours even while he worked towards ensuring that his country fulfilled the ideals it set out to live up to centuries prior.

We live in brighter times today, and so it is harder to see the stars. Maybe this is why I was lulled into adopting a triumphant, up-and-to-the-right flavour of optimism, a just-so Schoolhouse Rock tune of potential and incessant progress that is easy to bop to but impossible to build upon without maintaining an improbable naiveté. By working on my empathy, I feel like I have finally learned what optimism looks and feels like, and simultaneously gained the tools to practice it, too.

My Mom has Multiple Sclerosis, and needs a new wheelchair van

My mom has been battling secondary-progressive Multiple Sclerosis over the last 30 years (I’ve written about her a bit before). Over that time, she went back to school in her 30’s and graduated from the University of Massachusetts, worked as a substitute teacher and home health aide, and raised a son throughout. Unfortunately, she’s been quadriplegic for the last several years; despite this, she lives at home with the help of family and a number of personal heath aides, and maintains an independence and level of energy inspiring to everyone around her, even managing to continue pursuing her greatest passion, writing, now about her day-to-day experience living with MS.

Her current wheelchair van is shown in the photos below. While it’s never been much to look at, it has over the last 10 years been essential in allowing my Mom to go about living her life to the fullest: enjoying concerts and movies, going shopping for food and clothes, seeing doctors of all sorts, and visiting family, especially her mother and her new grandchildren (twin girls, if you hadn’t heard :-)).

This slideshow requires JavaScript.

The van was already very used when it was purchased, but my father (a skilled auto mechanic) has thankfully been able to keep it in reasonable running condition. It’s at the end of its road now, though: it needs a new transmission (it can’t go in reverse anymore!), the air conditioning has failed (a serious thing during the summer for someone with MS), and the body has rusted beyond any hope of repair.

So, my mom needs a new wheelchair van. To make this possible, we have set up a fundraising page, aiming to raise $10,000:

We hit our fundraising goal! Read the updates below…

Brand-new wheelchair-accessible vans often top $30,000, but we don’t need anything so fancy. We’re looking to purchase a new-used van in good shape that will last for a long while. We don’t have a particular van in mind yet (though we have been keeping an eye out), so the exact cost is not entirely clear yet. If any funds are left over after purchasing a van, they’ll be used to defray the costs of insurance, taxes, and repairs over the coming years.

(It kills me that I can’t simply take care of this myself without such a public appeal; while my wife and I will absolutely be helping her with this purchase, the realities of recently having bought a house and having twins makes doing so on our own impossible at the moment.)

I, my family, and my mom will be grateful for any little bit you can spare to help!

Update 2015-03-22

My mom’s birthday was a few days ago, but we all gathered to celebrate today. She knew about the fundraiser before, but didn’t know how far we had gotten until this afternoon (60% toward our goal!). She wanted to record a few words to pass along to everyone that had helped so far, whether by giving generously, or sharing the fundraiser via Twitter, Facebook, and other channels:

Update 2015-03-25

In just four days, we’ve reached the goal for our fundraiser! It will be hard to sufficiently thank everyone that helped, either by donating, or by sharing the effort with others on Twitter, Facebook, etc. I’m incredibly grateful to the various communities that pitched in, moreso than I can readily express at the moment. Of course, my mom is similarly amazed, and looking forward to being able to get around far more easily and comfortably!

We will be shutting down the fundraiser properly later today, pending tying up a few loose ends with the site that’s hosting it. We’ll also be periodically putting out updates, especially once we have found and acquired a suitable van.

Thank you so, so much. <3

My Mom has Multiple Sclerosis

She’s likely had it since at least ~1983; the first sign was a temporary bout of optic neuritis that left her half-blind for a month or so.  All was well for years, until 1996: we were walking out of the DMV — we went so I could get my driver’s permit — and she suddenly stopped walking in the parking lot…and couldn’t move any further.  After a minute or two of my asking what was wrong, and her looking a bit panicked and not knowing what to do, her legs started working again.  Turns out, I had gotten my driver’s permit just in time; I drove home that afternoon.

In the years since, a lot has happened: diagnoses (“secondary progressive multiple sclerosis”), various attempted treatments, the walker, then the wheelchair, then full quadriplegia.  My father, my wife, and a cadre of part-time nurses (thanks, everyone, for your contributions to Medicare/Medicaid/MassHealth) have helped her remain as independent as someone in her position can be.

No doubt, it’s been hard on everyone involved, but I think we’ve done okay, and made the most of a genuinely shitty situation.  Of course, it’s been hardest on my Mom.  I can’t imagine what it’d be like to be in her position (though believe me, I’ve tried), but — understandable dips in the road aside — she has remained remarkably upbeat, engaged, rational, and hilariously concerned with others’ well-being.  Courageous, that’s what she is, and I’m so proud of her for it.

But, I write all this not to share my perspective, or tell my story, but to suggest that you should listen to her tell hers: she recently started a blog, Living with Advanced Multiple Sclerosis.  If you’ve gotten this far in this post, you should go read it.

One thing that did decline as her disease progressed was her interest in her most fervent passion in life, literature and writing.  She was an English major in college, and along with helping me become the language pedant I am today, she helped cultivate my love of rhetoric and the written word.  While it was sad to see her stop reading and writing for so long (it can be hard to keep up with it when neither your arms or eyes work well, or at all), it made seeing her start to write again that much more joyful.

So, check out her blog, and pass it along to anyone that you think might appreciate it.  I know she’d love to know that other people are following along, especially if they are also on a journey with a degenerative neurological disease like Multiple Sclerosis, Parkinson’s, Muscular Dystrophy, and so on.  It’s no Shakespeare (something she’d readily admit; since her nurses type for her, she can’t meticulously edit and fret over every word for hours like she once did).  No, it’s better: her unvarnished voice talking about life, something I love seeing on the “page” again.

Mostly λazy…a Clojure podcast

Recorded November 12th, 2011, the fourth and final recording in a series of conversations from Clojure Conj 2011.

Chris Houser (usually known as chouser online) has been working with Clojure longer than nearly anyone else; he started tinkering with the language in early 2008, and was a fixture in #clojure irc and on the mailing list for years.  His contributions to the language, early libraries, and community through his always genial and insightful presence are hard to overstate.  More recently, he has coauthored the excellent Joy of Clojure along with Michael Fogus, and is now working with Clojure daily over at Lonocloud.

It’s been my privilege to know and work with Chris a bit over the years, and, as always, it was great to talk with him in person.



Or, download the mp3 directly.

Discrete Topics

  • “Everything I learned, I [learned] on irc?!”
  • Macros…

View original post 111 more words

Mostly λazy…a Clojure podcast

Recorded November 12th, 2011, third in a series of conversations from Clojure Conj 2011.

I caught up with Hugo Duncan and Antoni Batchelli (everyone calls him Toni ;-) during one of the lunch breaks at the Conj.  These guys have been on a tear with Pallet, an open source Clojure project that Hugo started in early 2010 to shave one of the hairiest yaks around, the automation of provisioning and management of computing infrastructure.  The result is a tool and library that provides a classically Clojure abstraction for controlling nearly any environment, from cloud nodes to virtual machines to the rackmounts you have downstairs.  Since it is their full-time job — Toni and Hugo have built a business around the project — most of our discussion centers on Pallet, its history, and how people are using it.

Near the end, Hugo and I talk some about his other…

View original post 270 more words

Your life is a vector

I drew something like this in my notepad a few months ago while thinking about the progression of life, what it means to achieve and attain satisfaction with one’s life.

I’ve started to find it useful to think about different decisions as adding another N-dimensional vector to my running sum to date.  Does this choice nudge my aggregate in a positive direction?  Can I bring enough magnitude to it to have a meaningful impact?

I’m probably reinventing the most obvious parts of ages-old conceptualizations of these things, in a soporific way at that. If so, links and references would be most appreciated.


Right now, I’m sitting across a table from my grandfather. He’s remarking for the hundredth time today that he can hardly see, though he’s spotting specks of planes flying in the sky and clearly enjoying bathing in the sunlight streaming through the westerly huge windows of the dining room of the rehab/nursing facility he’s moving into today. Sitting in a wheelchair, he seems content for the moment.

Meanwhile, I’m exhaling in the relative peace.

This is the man who first exposed me to electronics and soldering when I was so young, maybe five or six years old. I remember him having a sharp, skeptical mind, a vigorous devourer of news and debater of politics. The youngest of a huge brood of first-generation Russian immigrants that fled when things went south there in the early part of last century, he was a World War II veteran in Europe, using his fluency in Russian and German as a field translator. An electrician by trade, he worked on “high steel” helping to build many of the largest buildings that still stand in downtown Hartford and Denver. He survived the war, the job (which was ended by a 30-foot fall), a heart attack, and a series of strokes about ten years ago. Throughout it all, he’s been my Opa (German for “grandfather”).

Now, he’s barely recognizable. Those strokes that caused aphasia for a few months were the starting shot for a slow, inexorable decline. He lost interest in news and politics. His short- and long-term memory slipped away, bit by bit. His default reservations about others grew into something approaching xenophobia. And bit by bit, especially as I became more and more involved in his care, I learned about this other man who was more and more separate from the kind Opa I knew when I was younger.

I suspect my failure – or, perhaps, unwillingness – to integrate those two personas is simply a self-defense mechanism. Surely I want to preserve the better memory I have of Opa, separate entirely from the husband of my grandmother that so irredeemably slipped into irrationality and disablement through the ravages of unexercised, untended old age.

In some ways, it is far more important to me to understand the process by which he got where he is now, rather than the end state he has settled into. Recalling it now, the occasional odd behaviour and inappropriate comments over the years that only in hindsight were laid bare as hints of what was to come, I’m forced to consider, contemplate, and recoil from the prospect of my own decline, presumably (hopefully!) many decades from now. As much as I have ever prized my own mental state, I’d like to think I now have a more nuanced appreciation for it as well as a thoroughgoing awareness of how fleeting it may actually be. And, in the background, terms like dementia, dignity, and end of life have shifted from comfortable abstractions to present conundrums and likely permanent riddles.

Why talk so publicly about what is a usually shrouded in silent time away from work for caregivers, greeted with sympathetic, impotent condolences from friends and coworkers? Because nearly everyone must face these or similarly challenging circumstances, but our glossy collective expectations have little time or patience for the grit of real life and the grim choices and hard work that it demands, except perhaps as a gaudy spectacle. It’s too easy to fall into the trap of thinking that success and satisfaction must come from hustle and deals, a Series A and a smiling spread in BusinessWeek – and, if we stray from that plastic, purely linear path of ambition, we are somehow sullied. Through the course of the last weeks, I’ve discovered that I have far more constitution than I ever dreamed possible, allowing me to care and provide for family through thick and thin, and keep pushing ahead, inch by hardscrabble inch, in my business, its products, and my book, never sacrificing one part of my life in a gambit to attain glory in another.

Next time I see him, I think I will silently thank Opa for his part in this.

– Written on or around March 17, 2011

Update, September 1, 2011

My grandmother (I call her Oma) wanted to have her husband’s obituary published in the local paper.  It was, but that seems like quite a memory hole to me — the paper’s website only retains obituaries for 2 months (!).  So, here it is, hopefully in a place that will have a little more permanence in the world than that.

Daniel Agayoff, 89, of Hadley, MA, husband of Anna Marie (Döebberin) Agayoff, passed away on Wednesday, July 6, 2011 at Hadley at Elaine surrounded by loving family.

Born in 1921 in Fall River, MA, youngest son of the late Daniel and Mary (Opanacenko) Agayoff, he lived in Canterbury and Enfield, CT; Denver, CO; and Santa Barbara, CA before moving to Hadley four years ago.  A veteran of World War II, he attained the rank of Seargeant within the U.S. Army Signal Corps before being honorably discharged in 1948.  Daniel was then a union electrician for 30 years, working to help build many of the largest buildings that now define the skylines of Hartford and Denver before retiring in 1983.

After retirement, Daniel found joy in various hobbies, including a continued interest in electronics (such as installing custom-built remote controls into the family television before they were widely available), classical music, current events & politics, and a newfound love of painting inspired by Bob Ross.

Daniel is survived by his wife Anna, beloved daughter and son-in-law Darleen and Charley Emerick, and grandson and granddaughter-in-law Chas and Krissy Emerick.  He was predeceased by three sisters, five brothers, and his two sons, Daniel and Jerry.

There are no funeral services or calling hours. Burial will be at the convenience of the family.