« | » Main « | »

My Mom got married!

Wednesday 25 July 2012

On Monday, my mother Eleanor Batchelder got married to her longtime partner Fumiko Ohno. Being a pragmatic couple, they went into it with protestions of, "it's just a formality, don't make a fuss!" But on the day, they were as happy and bubbly as any newly married couple, their 25-year history together notwithstanding.

They live in Toronto because Fumiko is not a US citizen, but came to Massachusetts to get married, because of an issue with my mother's divorce that I don't understand. I was really proud that my home state gave them the legal recognition they deserve.

Of course, we made a cake, our first with tiers:

My mom"s wedding cake

The supports are big wrapped stick lollipops, sawn to the proper lengths. The M&M's were custom-bought so we could include violet in the rainbow. On top are two Lego minifig avatars, in white wedding dresses.

After the ceremony, we had a small party for them, and my twin sister happened to be close enough to attend with her family. Two of my mom's local friends joined us, so it was a great celebratory event.

Here are the two brides arriving, with me throwing rice (from a box) on them:

Me showing my mom the box of rice I was throwing at her

Later, Eleanor and Fumiko cut the cake:

Mom and Fumiko cutting the wedding cake

It was only later I realized I now have (another) step-mother! I guess that doesn't matter as much when you're 50 as it did when you're 10.

My mom is a big influence on me, of course. She was a software engineer before over 40 years ago, and my first exposure to computers was through her books, before I ever touched an actual computer. Her nerdiness runs through me to my kids. In the '70s she took a career detour to open Womanbooks, a prominent feminist bookstore. Her independent spirit has helped me to find my own path, and to encourage those around me to do the same.

It was really great to see my Mom so happy about the "formality" of getting married. Official recognition of her relationship is important, and now she's got it.

Congratulations, Mom and Fumiko!

Bad answers on Stack Overflow

Friday 20 July 2012

I answer questions on Stack Overflow a lot, and also in the #python IRC channel. There's a common dynamic in both environments, I'll describe it by giving aliases to three participants:

  1. BaffledNewb asks a simple question, but the question itself strongly hints at a misunderstanding of his problem, or of the best possible solution.
  2. HelpfulNewb answers the question literally, giving BaffledNewb what amounts to bad advice, and missing an opportunity to help him understand the big picture.
  3. GrizzledExpert chides HelpfulNewb for answering the question "wrong," and tries hard to get to the bottom of BaffledNewb's real problem, or makes an assumption about what he really wants, and gives that answer instead.

At this point, the conversation can go a few different ways, sometimes all at once. Popular next steps are:

  1. HelpfulNewb insists he was merely answering the question, and wonders out loud why GrizzledExpert has to be so obnoxious.
  2. BaffledNewb is outraged that his motives would be questioned, gripes about not being able to get a simple answer, and wonders out loud why GrizzledExpert has to be so obnoxious.
  3. HelpfulNewb points out that of course his answer is usually a bad idea, but perhaps BaffledNewb has unusual, valid, but undisclosed circumstances that makes it a reasonable answer.
  4. HelpfulNewb claims that he never said his answer was a good idea, just a technically correct answer.

All this came to mind again a few days ago when three questions and answers fitting this description appeared on Stack Overflow in quick succession:

There's really no excuse for giving simplisitic, bad, but technically correct answers to mis-guided questions. I understand the desire to give an answer, to be the helpful knowledgable one. And Stack Overflow in particular inadvertently rewards speed.

But answers like these only cause damage. At the very least, wrap them well with a thick layer of bubble-wrap in the form of cautions, caveats, pointers to likely better ways to solve the problem, and so on.

If the questioner really had one of the unusual circumstances that meant they needed a literal answer to their oddball question, they tend to mention it up front. In my experience, doubting questions like these pays off much more often than it turns out to have falsely accused a curious expert of being a newb, though of course that sometimes happens.

The #python IRC channel on freenode has a bit of a reputation for being full of grizzled experts who can't answer any question no matter how straightforward without grilling the questioner about their motives and needs. I myself have argued for less of this, and being more trusting of the questioner. (Actually, as I'm editing this, I just answered a question in #python in a way that other grizzleds didn't like!)

But if you do this kind of answering long enough, you will learn to recognize the misguided question, and push back on it. I don't feel at all bad about downvoting the answers and calling people on it.

A common failing among GrizzledExperts, though, is being too blunt. When a beginner asks a question, it's almost never useful for them to get this in response:

Why?

That's too short, too blunt, and is interpreted (perhaps correctly!) as, "you are wrong," setting up a conflict right from the start. More words always help:

That's an interesting question, it sounds like having more context would help us answer it well. Can you tell us more about what you are building?

Helping intelligent but lost beginners is not easy, it requires a healthy mix of technical know-how and interpersonal skills. The GrizzledExpert definitely has the first, but often not enough of the second.

My advice:

  • Use more words to fully express what you mean to say.
  • Resist the urge to give the simple but dangerous answer.
  • If the forum allows it, ask questions to get a deeper understanding of the questioner's need.
  • Don't be shy about calling a bad answer bad.

Julython

Sunday 8 July 2012

As anyone knows who has heard me lament the time I spend on Stack Overflow, I am a sucker for silly artificial point systems. And if you know me from Boston Python, you know I am also a huge champion of local Python efforts.

So Julython is a double-whammy: you get points for making commits to your Python-project repos, and there's a location-based scoreboard to see which cities are making the most commits. Boston is currently second!

However artificial it is to count commits per-city, it has gotten me to blow the dust off a few repos and make some commits to keep the state of the world moving forward, and that was the whole point. I closed all the tickets (both!) in Cog. That forced me to finally figure out the docs for how to register a custom setup command in fixtar, though I am still fuzzy on some details there. And I am trying to get coverage.py onto a more-standard testing paradigm.

Go register your repos with Julython, especially if you live in Boston! :)

« | » Main « | »