Author Archives: Jeff Mather

Criticizing Brainstorming

Friends, I think I might have something interesting say in the next couple of days. Until then, here are some more excerpts, this time from Cliff Kuang’s Fast Company article “The Brainstorming Process Is B.S. But Can We Rework It?”. And, yes, it also has that contrarian, all-those-ideas-from-the-forties-through-the-seventies-were-pretty-much-wrong flavor (with at least a hint of maybe-it-was-partly-right-but-we-know-better-now).

The business practice of brainstorming has been around with us so long that it seems like unadorned common sense: If you want a rash of new ideas, you get a group of people in a room, have them shout things out, and make sure not to criticize, because that sort of self-censoring is sure to kill the flow of new thoughts. . . .

[Alex Osborn, the 1940s ad man and inventor of brainstorming] thought, quite reasonably, that creativity was both brittle and fickle: In the presence of criticism, it simply couldn’t wring itself free from our own minds. We could only call our muses if judgments didn’t drag us down. Osborn claimed that this very brainstorming process was the secret to BBDO’s durable creativity, allowing his ad guys to produce as many as 87 ideas in 90 minutes—a veritable avalanche. “The brainstorm had turned his employees into imagination machines,” writes Jonah Lehrer in a long, excellent article in The New Yorker. But as Lehrer argues, the only problem with all this is that brainstorming is total bullshit. . . .

  • You’re More Creative Working Alone: “Putting people into big groups doesn’t actually increase the flow of ideas. Group dynamics themselves—rather than overt criticism—work to stifle each person’s potential.”
  • Criticism Improves the Brainstorming Process: “Usually, inventions often begin when an inventor spots a problem. Good ideas usually don’t hang by themselves, unattached. They come about as solutions. Thus, allowing criticism into a room full of people trying to brainstorm allows them to refine and redefine a problem.”
  • Creativity Is About Happenstance, Not Planning: “Too much familiarity bred groupthink. Too little meant that they didn’t have enough chemistry to challenge each other. The most productive groups were those with a baseline of familiarity but just enough fresh blood to make things interesting. . . . Studies have shown that the most successful groups of scientists also work in extremely close physical proximity. Just being around another creative person is vital to the process . . .”
Posted in General, Life Lessons, This is who we are | Leave a comment

Welcome to Herb Sutter’s Jungle

In an effort to keep posting something here until I’m in the right place mentally to write about things that probably interest you, my dear friends, family, and online diabetes peeps, here’s another computing performance excerpt and link. (Working on this stuff is the 9-5 part of your favorite international playboy’s life.)


A half-decade after Herb Sutter wrote that the “free lunch” of Moore’s Law is over, he’s back with his prophet’s wisdom about where we’re going in his January Dr. Dobbs article, “Welcome to the Jungle”. I’ll give you a moment to decide whether to get the Guns N’ Roses song out of your head or use it as a backdrop for this juicy quotation:

If hardware designers merely use Moore’s Law to deliver more big fat cores, on-device hardware parallelism will stay in double digits for the next decade, which is very roughly when Moore’s Law is due to sputter, give or take about a half decade. If hardware follows Niagara’s and MIC’s lead to go back to simpler cores, we’ll see a one-time jump and then stay in triple digits. If we all learn to leverage GPUs, we already have 1,500-way parallelism in modern graphics cards (I’ll say “cores” for convenience, though that word means something a little different on GPUs) and likely reach five digits in the decade timeframe.

But all of that is eclipsed by the scalability of the cloud, whose growth line is already steeper than Moore’s Law because we’re better at quickly deploying and using cost-effective networked machines than we’ve been at quickly jam-packing and harnessing cost-effective transistors. It’s hard to get data on the current largest cloud deployments because many projects are private, but the largest documented public cloud apps (which don’t use GPUs) are already harnessing over 30,000 cores for a single computation. I wouldn’t be surprised if some projects are exceeding 100,000 cores today. And that’s general-purpose cores; if you add GPU-capable nodes to the mix, add two more zeroes.

The big takeaway for software engineers like me is that we’d best be learning how to develop solutions using the emerging APIs so that we can harness all of those extra orders of magnitude of scalability. That involves figuring out how to . . .

  • Deal with the processor axis’ lower section [of Sutter's chart] by supporting compute cores with different performance (big/fast, slow/small).
  • Deal with the processor axis’ upper section by supporting language subsets, to allow for cores with different capabilities including that not all fully support mainstream language features.
  • Deal with the memory axis for computation, by providing distributed algorithms that can scale not just locally but also across a compute cloud.
  • Deal with the memory axis for data, by providing distributed data containers, which can be spread across many nodes.
  • Enable a unified programming model that can handle the entire [memory/locality/processor] chart with the same source code.

Perhaps our most difficult mental adjustment, however, will be to learn to think of the cloud as part of the mainstream machine — to view all these local and non-local cores as being equally part of the target machine that executes our application, where the network is just another bus that connects us to more cores. That is, in a few years we will write code for mainstream machines assuming that they have million-way parallelism, of which only thousand-way parallelism is guaranteed to always be available (when out of WiFi range). . . .

If you haven’t done so already, now is the time to take a hard look at the design of your applications, determine what existing features — or better still, what potential and currently unimaginable demanding new features — are CPU-sensitive now or are likely to become so soon, and identify how those places could benefit from local and distributed parallelism. Now is also the time for you and your team to grok the requirements, pitfalls, styles, and idioms of hetero-parallel (e.g., GPGPU) and cloud programming (e.g., Amazon Web Services, Microsoft Azure, Google App Engine).


p.s. — I can’t believe that it’s been almost four years since I took a course with Herb out in Washington. That was some hard-core learnin’.

Posted in Computing, Fodder for Techno-weenies, Software Engineering | Leave a comment

We Need a New Mindset

Guy Steele drops a truth bomb.

(From How to Think about Parallel Programming: Not!)

Posted in Computing, Fodder for Techno-weenies, Software Engineering | Leave a comment

Thinking Differently about Software Optimization

Yesterday morning while eating my “Free Wednesday Breakfast” chocolate croissant and fresh fruit with yoghurt, I watched an interview with John Nolan entitled “The State of Hardware Acceleration with GPUs/FPGAs, Parallel Algorithm Design.” In the spirit of giving back, I’m posting a few notes.

  • When optimizing code for GPU, FPGA, or CPU, definitely focus on pipelining and overall throughput, not just local optimizations.
  • There’s a trade-off between “faster” and “sooner.” It’s not always worth saving a few seconds (or even a few minutes) if the kernels take hours or days to compile. (Then again, sometimes it is.)
  • Try to reduce dependence on the language/compiler “stack” that removes inefficiencies. The optimizer does good work, but you can do things to help it. Think about the hardware or architecture format. It’s not a sin to reduce the amount of abstraction in the service of performance. Pay attention to things that affect processor pipelining and cache movement.
  • BTW, some languages and technologies exist to provide higher level programming that’s close to the hardware, but they’re proprietary, secret, or still in R&D.
  • Use algorithmic optimization techniques. Step back and find the shortest-time computation.
  • Avoid using if statements. The goto construct is considered harmful, but if is basically the same thing. Instead think about state machines and polymorphism. There’s no branch-prediction penalty to pay, since the system “just is” in the state it’s supposed to be in. The logic is clearer, because there are no switches, making it easier to test, too.
  • Don’t always assume that floating-point values are necessary. Integers can often be creatively used and are far faster for math than double-precision numbers.
  • Of course, there’s a compromise between speedy/efficient and readable/maintainable.
  • Aim to structure programs as “symbolic intent.” Mathematical descriptions are bad ways of expressing programs. Think about functional programming models instead of procedural.

If you want to know more, you should definitely watch the half-hour interview. And if your reaction was more along the lines of “Yes, yes; that’s all true, and it’s how I design my image processing code,” then I definitely hope you’ll consider applying for the GPU/multicore engineering position we have open.

Posted in Computing, Fodder for Techno-weenies, From the Yellow Notepad, Software Engineering | Leave a comment

Now Hiring Image Processing Software Engineers

My group at work—the Image Processing and Geospatial Computing Group at MathWorks—is hiring a couple of software engineers. One of them could be you.

We need someone with GPU and multicore programming skills. We’re looking for experience with CUDA, OpenCL, OpenMP, Intel’s Threading Building Blocks, or similar technologies. If you’re into making algorithms run wicked fast, you should definitely apply.

The other position focuses on image processing and code generation. If you like implementing image processing algorithms and converting MATLAB code to C code, then this is the job for you.

I’ve been at The MathWorks for almost fourteen years now, and it’s a really great company with an excellent corporate culture, competitive compensation, fantastic benefits, and lots of perks. Because everyone uses MATLAB and because we’ve made some very sensible business decisions over the last 28 years, it’s a very stable company to work for. (Did I mention that we’re putting up our fourth building in our Natick campus? And I think I also mentioned that the entire worldwide staff went on a cruise a few years ago.)

If image processing isn’t your thing, we have dozens of other positions open. Everything from web development to legal department work. Human resources to customer service. Technical writing to application engineering and consulting. Marketing to program management. QE, sales, usability, and more software development positions than you can shake a stick at.

Come, help us accelerate the pace of engineering and science worldwide. And if you do apply, tell them I sent you.

Posted in General, Software Engineering | Leave a comment

Age of Majority

Eighteen years ago today, Lisa and I had our first “official” date. We watched Bill Clinton give hist first “State of the Union” address to Congress. Aww . . .

Now, our love has finally reached the age of majority. It can vote, form contracts, go to the casino, and buy lottery tickets and cigarettes legally. It no longer has the luxury of being sent to juvie for minor infractions. In New Hampshire it can ride a motorcycle without a helmet. In Puerto Rico and the U.S. Virgin Islands, it can buy its own booze.

It’s a brave new world for our relationship.

Posted in General | 1 Comment

To Paula Deen

Hey Paula!

It’s true I’ve never watched any of your shows or tried any of your recipes, but I saw your picture on a magazine cover or two at the supermarket. Now that you’ve announced that you have type-2 diabetes, I feel like we’re definitely on a first-name basis.

Type-1, type-2, LADA, gestational—no matter the kind, diabetes sucks. I’m sad to hear that you joined our club. It’s a bummer, but there’s a really big supportive group of people online and in real life who are here for you.

I know there’s a brouhaha brewing about the how/why/when of your announcement, but I frankly don’t care. . . .

Except I will say this: You owe us.

You have a high profile because of your pre-diabetes life. And you have partnered with Novo Nordisk to promote pharmaceuticals, putting you squarely in the diabetes community. You best be using your influence to help people with diabetes. Here are some ways:

  • Promote understanding of the differences between type-2 (which you have) and type-1 (which I have), since so many people in the US think there’s just one kind.
  • Encourage healthy lifestyle choices for everyone, whether touched by diabetes or not. T-2 is more than diet and exercise, but we have to be honest about their role. There’s no guarantee one way or the other, but every little thing we do (within reason) makes a difference.
  • Help people with diabetes in your audience understand that they are more than their disease, that there will be better days and worse days, and that they can do this.
  • Work with CDEs (at Novo and elsewhere) to develop a message of empowerment that people with diabetes can use to improve their own self-management as they make choices and work with their family and healthcare providers.
  • Stress that there’s more to diabetes than Novo’s drug-of-the-day. Be holistic.

Remember that a bunch of people are watching you. The diabetes online community is watching, too. We’re nice people, but we look out for our own. Based on what I’ve seen in the past, we will cut you like a piece of pecan pie if we think you’re using diabetes for your own benefit and aren’t giving back.

Diabetically yours!

Posted in Diabetes | 3 Comments

The Post Where I Talk Myself out of Seasonal Affective Disorder

Winter does funny things to me.

Starting around Christmas time I start to feel a bit overwhelmed. New prezzies (usually) means new books to add to my reading list. Extra time off work means more opportunities to clean up the detritus of the previous year (or longer). That’s a mixed blessing: freeing up space in my brain to concentrate on the right things without actually getting to spend the time doing those things. I’m being much more ruthless about just chucking stuff this year than in the past, and I think I’ll be done soon.

Almost being done is very good, because I have goals. (I don’t go in for New Year’s resolutions. Anything worth doing is worth starting at any point in the year. Why wait for a particular date to have a clean slate?) I tend to keep my goals to myself, but I’m willing to say that one of them involves trying to pimp-slap my out-of-control bookshelf by reading a certain number of pages each week. I figure that even an incredibly slow reader such as myself should be able to average 15 pages/day.

This goal-thinking was (is?) getting me a little down this year. So much of what I want to do in 2012 involves feats of athletic prowess, but my feet were threatening to get in the way of those feats. Lisa, the awesome exercise psychologist of my dreams, is (slowly) helping me see that I am more than my goals and accomplishments, but I still missed running because I really like it.

The week before my injury, I had a wonderful 12+ mile run that took me to the end of one branch of our local rail-trail and then past it into the exurban farmland and acreages of the neighboring towns before picking up the start of the other branch of the trail and following it home. I am eager to get back to that.

For sure, I was was also stressing that not doing these long training runs might leave me ill-prepared for the Around the Bay 30K in late March . . . or possibly incapable of running it at all. Eventually I told myself that I had to stop worrying about whether or not I would be able to do ATB—or the NYC Tri in July or the half-Ironman in August—and just concentrate on getting well. I could still ride my shiny new bike in the basement, there’s always plenty of swimming to do, and on the last day of work in 2011 I got a personalized weight-training program, which I started last week.

Sometimes I need to be reminded to look at the “big picture.”

By the middle of last week my foot didn’t really hurt very much, although I noticed twinges now and again, especially when I moved my foot in particular ways. It kinda sounded like plantar fasciitis, and it kinda didn’t. Everyone I talked to about it had horror stories about how PF messed up a fellow runner for months or years on end, so I was determined to find out what was actually wrong with me before doing anything stupid. I also wanted to find out the right way to start back up when the time was right. I didn’t want to rush into anything, but I could feel myself losing the exercise-every-day-after-work-and-go-to-the-pool-a-few-mornings-each-week habit that I had developed by the beginning of December.

On Friday, I went to my podiatrist, who said (again), “Boy, your feet are eff’ed the fuck up . .  all loosey-goosey and flat and shit.” And then he went on to say, “You don’t have plantar fasciitis, but you’ve gone and slightly fucked up the long tendon that connects your calf to your big toe via your heel. It’s amazing you’ve been able to get way without this kind of shit for so long. You need expensive orthotic shoe-inserts to keep this from happening again. Now, let me teach you some calf stretches and recovery techniques. You should start popping Aleve like a fiend, too. I’ll tape up your foot, and you can go running tonight if you want. But don’t go for any PRs or bullshit like that for a little while.” (I’m paraphrasing just a wee bit here.)

So I’m quite relieved. I’ve gone running twice since visiting my not-at-all-potty-mouthed podiatrist. Each run felt good, foot-wise. The left one isn’t 100% in the hours afterward, but it’s 10x better than the days after I injured myself. The runs also felt shorter and more difficult than I remember them being a month ago. Even so, these short, difficult runs were awesome.

Speaking of amazing things. I’ve been out on my road bike twice this new year already, and each time I wore shorts. New Years Day was the first time I’d been out since early October, and the lingering chill on the thawing roads couldn’t bring me down. Saturday morning’s sunny, 50°F, 25-mile ride had no chill at all. By way of contrast, at this point last year we had more than 30 inches of snow on the ground, and we were in for 60 more.

So I guess there’s that, too.

Oh, and there’s swimming! The Friday before Christmas I got up super-early despite not needing to go to the office. The pool was open, and I had the chance to get a full hour-and-a-half swim, instead of my typical 40-or-so minutes. The last time I had this opportunity, I swam two miles, and I wanted to give it another go, testing my blood glucose along the way. The results were very much like last time—better actually. My BG stayed almost constant; my 250-yard split times were fairly consistent throughout; and I swam a quarter mile farther in the same amount of time.

Now that I’ve written this, I’m reminded how fickle I can be. Yes, winter can be a cold, dark, lonely, depressing, snowy, stir-crazy-making time of the year. But it seems that all I need is a good report from the doctor, a run or two, an outdoor bike ride, a nice swim, and the constant loving support of Lisa for me to feel like a good spring is just around the corner.


p.s. I guess I should add that last night Lisa and I watched a documentary about U.S. athletes in the Beijing Olympics. It wasn’t the best thing ever, but it sure looked beautiful on our new high-def TV. I can barely wait to see this year’s games. Hurry summer don’t be late.

Posted in Cycling, Life Lessons, Reluctant Triathlete, Running, Swimming | 4 Comments

QCon SF 2011 Software Engineering Conference Notes

It’s sometimes possible to forget when reading all of the posts here about travel, diabetes, triathlon, and photography that they’re just a small part of my life. I have a job to which I devote a whole lot more time. I don’t talk about it much because (a) discussing what I’m working on putting into the Image Processing Toolbox isn’t appropriate or allowed, and even if it were (b) talking shop probably isn’t that interesting to most of the people here. But—believe it or not—the majority of traffic to my site lands on the pages that are technical, so I don’t feel so bad about posting the random “fodder for techno-weenies” post. (It’s a term of endearment, I promise! :^)

This is another one of those posts. Every year between Christmas and New Years Day, I try to use the quiet week to get stuff done and tie up loose ends. Last year, I cleared out a bunch of notes. This year, I’m looking at presentations and slides from the QCon SF 2011 conference (wrap-up). Its focus on software architecture and project management is about 75% of my job, so many of the presentations seemed tailor-made for me. Here’s some of what I learned.


Erik Doernenburg. “Software Quality: You Know It When You See It” has a really good slide deck that got me thinking about some projects I might want to set up. It’s full of practical, usable suggestions:

  • View the code at the 1,000 view, rather than ground-level or 30,000 feet.
  • Look at the test-to-code ratio, not just code coverage.
  • Graph the change of metrics between versions and revisions, compare across different parts of the code, and look at them relative to industry standards.
  • Measure the “toxicity” of code by rolling up various quality metrics about a bunch of modules into stacked bar charts.

We should pose these questions during design and code reviews:

  • Is the software/change of value to its users?
  • How appropriate is the design?
  • How easy is the code/design to understand and extend?
  • How maintainable is the software?

It was full of some really great links to things like Metrics tree maps (a.k.a., pretty heatmaps for source code) as well as a few tools: SourceMonitor, iPlasma, and using Moose to visualize quality.


Joshua Kerievsky. “Refactoring to Patterns” — some notes:

  • Refactoring is like algebra’s equivalence-preserving manipulations. “Design patterns are the word problems of the programming world; refactoring is its algebra.”
  • Understanding the refactoring thought process is more important than remembering individual techniques or tool support.
  • Code smells have multiple refactoring options and often benefit from composite refactorings.
  • Look for automatable refactorings first. Consider changing the client of smelly code before the smelly code itself.


Guilherme Silveira. “How To Stop Writing Next Year’s Unsustainable Piece Of Code” was pithy and thought-provoking.

  • There is no value for architecture or design without implementation. That’s just interpretation of the software.
  • “New language. New mindset. new idiomatic usage. Same mistakes.”
  • Complexity and composition are natural and good, but if they’re invisible, they’re evil.
  • Start with a mess and refactor right away. Starting “right” is hard (and misguided thinking). Refactor for better, not just prettier.
  • Make complexity easier to understand and see.
  • Hiding complexity in concision hurts testability, since no one knows the complexity is there. Furthermore, if it’s hard to test, it’s also hard to use correctly.
  • “Model rules. Do not model models.”


Michael Feathers. “Software Naturalism: Embracing The Real Behind The Ideal” is a presentation that I would like to see/hear, since the slides seemed full of information but weren’t self-explanatory. Here are two things I could glean: 80% of software defects in large projects were in 20% of the files. In general, the more churn in a file, the more complex it tends to be.


Panel: “Objects on Trial” was perhaps the most unusual presentation, since it was a mock-trial. I use objects all the time . . . some of them are good . . . some demonstrably so. Even so, I never latched onto the idea of object-oriented (OO) design versus objects as types. The four panelists, in one way or another, basically said, “That’s the problem.”

One of the panelists drew an extended analogy between the space program and OO. The space shuttle (which we all love) was fixated on reuse but basically was a waste of heavy lifting; people don’t reuse the right stuff. In software, object reuse is largely accomplished by cut-and-paste copying of boilerplate code that does close to what you want. Of course, the panelist acknowledged that we do reuse the ideas in OO via design patterns, and no one seems to have much of a problem with that. Ironically, having a rich pattern language means that software engineers are in a better place than ever before to use objects correctly.

A key problem with our approach to objects is that we’ve failed (generally in software engineering) to handle complexity well, which was supposed to be the point of OO design. A conflation of beauty and OO design makes things worse. Internally, software is ugly, and beauty shouldn’t be a goal. Making a fetish of beauty makes code inflexible because people don’t want to extend the beautiful thing that works.

For other panelists, objects weren’t the problem at all. For them it’s static typing in “OO languages,” such as C++, Java, and C#. We’re at a place now where all of the good things about OO have been lost in an attempt to make OO languages as fast as C. This runs counter to the goal of having “ordinary,” understandable code. Generic programming using strongly typed (possibly template heavy) languages just makes everything complicated.

For me, it’s moot. C++ is what I use, and I don’t have a large proprietary object system that I can tap into for reuse. I’m in the camp that uses C++ objects to generate new types for data hiding and aggregation, as well as (to a lesser extent) reuse. But some of these types are generic, template classes that are hard to understand. I plead “no contest.”

Posted in Computing, Fodder for Techno-weenies, From the Yellow Notepad, Software Engineering | Leave a comment

Hurry, Christmas! Don’t Be Late!

I’ve been laboring all week under the impression that it’s the last day of the workweek. I actually awoke Tuesday morning when the alarm went off wondering (a) “Why is the alarm going off?” and (b) “Is today Saturday or Sunday?” And it’s just gone downhill from there. Everyday after work I’ve been positive that not only is tomorrow Saturday but that I would also be celebrating Christmas on the next day.

sigh

Anyway, here’s a few pictures and some updates . . . bullet-point style!



  • Last Saturday Lisa and I went to New York for the day to visit a few galleries. The “Calder 1941″ exhibit at Pace’s 57th gallery was amazing! And Nan Goldin’s “Scopophilia” show at Matthew Marks is worth a trip to Chelsea. Our day-trip occurred 52 weeks after the trip where we met Kim, Gina, Caroline, and Allison. Time flies!
  • Sunday we traveled into Cambridge to see “Tinker Tailor Soldier Spy.” Lisa had been looking forward to it for months, and it didn’t disappoint. It was our second trip into Cambridge in as many weeks. The previous weekend we attended an alumni event there, and I got a shout-out from the new president of the college. Evidently, we engineers from liberal arts schools are rare beasts.
  • I haven’t gone for a run since last Thursday, when I tested the waters with an easy three-mile treadmill workout. The next day my foot was a little cranky again, so I’m taking some more time off running. I’m still riding and swimming, but I miss my long runs and my speedwork sessions.
  • Speaking of swimming, I got a bit depressed Monday and yesterday when I realized that the “really good” triathletes in my races cover the same distance in half the time it takes me. So I talked to my sports psychologist (Lisa) who helped me with some perspective: I’m not a super-fast swimmer—as long as Dara is at the pool, I’ll never be the fastest—but I shouldn’t worry so much as long as I’m still making progress. If I put too much pressure on myself, then I won’t have any fun. And, even though it’s really hard for me to seek assistance, I need to ask some of my of peeps and/or a coach to look at what I’m doing and give me some pointers. (I find it difficult to work at something for a long time and not be as good at it as I believe I can be. It’s good that it keeps me motivated, but I’m trying to work on managing frustration.)
  • When I went to the pool this morning, I decided I was just going to swim without worrying about times or how much progress I am (not) making or other people’s abilities. Part of this involved changing the way that I talk to myself while swimming; if I can’t make the voices in my head say positive things, perhaps I can give them something else to talk about. My inner boatswain kept me going with this conversation: “We’re going to do three things today: stop dropping my glide arm so much after entry; roll from side to side better during the stroke; and pull through the whole stroke farther. Bup bup bup!” That seemed to work. Even though I wasn’t worrying about times, I was encouraged by the splits I saw. Turns out, I swam the fastest ever by almost a minute per mile. Yay!

What’s new with you?

Posted in General, New York, OPP, Photography, Swimming | 1 Comment

Progress Report

I went for a run today on the treadmill. (I like watching “The Walking Dead” while I run and go nowhere. It seems appropriate for the brainlessness of the treadmill.) It was my first run since I felt the pain of plantar fasciitis appear six miles into my easy, seven mile, recovery-week run on Sunday. Even though I didn’t feel any pain this morning when I got out of bed (the time when it’s usually worst) I only ran three easy miles. I don’t want to push my recovery.

And tomorrow morning, I’m going back to the pool for the first time since last Friday. I had such a great swim a week ago that I planned to write that evening about how awesome it was. Except, by the time the evening rolled around, I couldn’t raise my left arm high enough without pain to use the computer. After five days off, I probably could have gone back yesterday, but I didn’t want to push that either.

Being injured was hard. Being doubly injured was ten times worse. I’m so happy to be well enough to get back to training. *touch wood*

(I’m not a superstitious or magical-thinking thinking kind of person, though I am known to indulge in two things. When things are going really well, I don’t like to talk about it. Everything could suddenly change. Why? Hubris, of course. It’s best to just keep going quietly as long as things are going well, all the while expecting that bad things could happen at any moment. . . . I also throw salt over my shoulder when I spill some, because throwing salt is fun.)

Friends, I am not good at being injured. The first few days were the most difficult. On Monday, I definitely had my cranky pants on. I tend to arrive at the worst possible conclusions: I’ll be injured for a long time; I won’t be able to do the events that I’ve signed up for; I won’t be able to achieve my goals; I won’t be able to be who I want to be. I’m a very goal-oriented person, and I derive a lot of my self-worth from setting and meeting them. (Lisa and I debate whether or not this is not a good way of thinking. At any rate, I need to remember to take the long view.)

I’m trying to be better at handling the occasional injury, and I feel grateful that each of my recent issues were very minor in the great scheme of things. And I need to start working on my injury prevention.


So what was I going to write on Friday? Given that I already injured myself, there’s no fate to tempt by talking about how great my swim on Friday was.

I’m not very fast yet, but I’m consistent during my workouts. I also think I’m improving my technique: I have started to feel my catch more, and I’m starting to see how to generate power during my stroke. Despite these improvements—which may or may not have caused my shoulder problem—I was starting to wonder whether I was actually getting faster or not. After all, the whole point of working on technique is to reduce my times, and I was much faster in the open-water over the summer than I ever have been at the pool. But what about my times just at the pool?

I went back to the historical record (a.k.a., mapmyrun.com). Turns out, I am swimming faster—and not just a little. Last Friday, I swam a bit over a mile at 36:12/mile pace. That’s two minutes faster than on Halloween and more than three minutes faster than just before my first triathlon. At this time last year, I swam at a 43:00/mile pace . . . and I wasn’t even going a full mile. This is a great trend, and I hope to keep it going. (And for the record, the first time I went to the pool, I swam six lengths in twenty-five minutes. That’s 277 minutes per mile.)

See you at the pool!

Posted in General, Historical Record, Life Lessons, Reluctant Triathlete, Running, Swimming | 1 Comment

Outing

It’s beginning to look a lot like Christmas . . .


Yesterday, my work group went into Boston for an outing: lunch at Legal Seafood’s “Test Kitchen” and then a guided tour of the Institute of Contemporary Art. I had a great time. The food was delicious, and the art was “interesting.”

I know! Two contemporary art museum visits in three weeks. Crazy! It’s hard spending so much time thinking about art (mostly) on a meta-level: “What is the art saying about art?” But there were a few pieces that really spoke to me, and I got to spend part of the afternoon with my girlfriend, Maggie Cheung, while taking in Isaac Julien’s film nine-screen installation TEN THOUSAND WAVES. Fun fun fun!





Posted in 101 in 1001, Cycling, General, I am Rembrandt | 3 Comments

Floating Down the Amazon, Slowly

We have received new release date information related to the order you
placed on October 19, 2010 (Order# [snipped]). The item(s) listed below
will actually ship sooner than we originally expected based on the new
release date:

Alec Soth, John Gossage "John Gossage & Alec Soth: The Auckland Project"
Previous estimated arrival date: January 05, 2012
New estimated arrival date: December 15, 2011

You know, Amazon, I wouldn’t actually be crowing about the fact that you’re shipping something “sooner than originally expected” when the new delivery estimate was 420 days after the original estimate—so much longer that you had to send yet another e-mail telling me to enter new credit card information because the old one had expired in the interim. I especially disliked the way that you dribbled out little notices over the last fourteen months telling me to wait just a little bit longer and giving a new completely made up delivery date. (The aforementioned credit card e-mail is the only reason I have any confidence that you might actually have something to ship this time. Of course, I could have canceled, but that’s really not the point here.)

Don’t get me wrong; I still like you, Amazon, but you’re no longer seem as awesome as you were a couple years ago. For the first I’m starting to wonder about your supply chain and ability to fulfill orders. The main reason I keep coming back to you is price, but a large part is also trust. When you say something is in stock and available, I believe it will ship and arrive on the dates you listed. Normally you’re pretty good, but this isn’t the first time this has happened. (Usually, it’s for limited run art books like this one.) If more of this happens, I might have to reassess my position.

Now, I just wonder how long I’ll have to wait for my PhotoQuai 2011 book to arrive. . . .

Commande n° 	[snipped]
Date d'expédition : 	16 novembre 2011
Destination : 	Natick, MA, United States
Date de livraison estimée : 	6 décembre 2011

Suivez votre colis
Date 			Heure 	Lieu	 	Détails de l'événement
22 novembre 2011 	18:04 	Croydon 	Scan de départ
22 novembre 2011 	15:44 	Croydon 	Colis reçu par le transporteur

Updated 12 December 2011 — Hey hey! Both books arrived today. Since the original post last Friday, I have since read that if you’re ordering something from Amazon.fr, Amazon.jp, etc., it’s a good idea to use the somewhat more expensive expedited shipping option. It seems that returned deliveries after selecting the normal shipping method is somewhat de rigueur, on account of the super-saver shipping company not being very good at what they do when it comes to shipping to the USA. (Despite having the book in my hands, the DHL Global Alliance tracker still says that it’s in Croydon. Ha!)

Posted in Book Notes, General, Whining | 1 Comment

What (Kinda) Works Now

Chris sent me a message saying that someone might ask me about running with type-1 diabetes. I haven’t yet heard from him/her, but it got me thinking about what I’m doing now and how it’s going. It’s not perfect, of course, but I’m actually in a pretty good place.

Let’s start with the big disclaimers. First, this is what (kinda) works for me. Your diabetes may vary; it likely will. Second, this has only recently started working for me; it could all change tomorrow. Third, it assumes that you use an insulin pump and that your basal and bolus rates are correct-ish; mine are getting there. Finally, I can’t consistently reproduce what I do in training when I’m racing; something always seems to happen.

Remember, three big things impact BGs during exercise: insulin, food, and intensity. (There are other things, but these are the big ones that you can control.)

Active Insulin: I tend to workout when I have no (or, at least, minimal) insulin on board. For example, I swim and do my long running/cycling first thing in the morning before any boluses. And when I workout in the afternoon, it’s been 4-5 hours since my lunch bolus. This means that there’s very little extra insulin to bring down my blood sugar. When I do have rather high BGs (but no ketones) because I misjudged a meal, for example, I will sometimes give myself a little insulin. I’m really conservative doing this, though, since it usually brings me down more than I think it will.

Basal Insulin: I am starting to think that changing my basal insulin has less of an effect (for me) than I had originally suspected. This might be because my basal rates are fairly low now, or it could be that my body is better at using fat and carbs together than it was in the past. Who knows? Anyway, when I run or ride my bike, I set a 30% reduction 1-2 hours before I start. Usually longer in the afternoon and shorter in the morning, since I like sleeping. When I swim, I set a 0% basal rate (i.e., no insulin) starting 45-or-so minutes before I hop in the water. There are three reasons: (1) I’m skittish when it comes to insulin and water, (2) it’s similar to what happens during triathlons, where I need to detach from my pump to leave it in transition before hopping in the water, and (3) it seems to work.

Food Before: Food is not the best part of the three for me. I want to eat more before I train, because food is fuel, and I hate running out of steam. (We’re remarkably like people without diabetes in this respect.) Food normally means insulin, which violates that whole “minimal insulin on board” thing. But I’m working on getting myself in a mindset where I can experiment with small amounts of insulin to cover pre-athletic carbs. High glycemic foods still spike my BGs when I’m working out, often more than I would like. Lower glycemic things do better, but quantity counts; 20g of carbs from Greek yoghurt about 10 minutes before I did a two-hour run worked well yesterday, the first time I tried it. Be careful here.

Food During: I tend to eat like I don’t have diabetes when I bike or run. It’s just how it works for me. I eat an energy gel every 45 minutes to keep up my energy. I also carry a full tube of glucose tablets with me, just in case. And I drink water. Water is important.

Food and Insulin After: I find that I always need to give myself insulin after I’m done exercising. I haven’t yet figured out how much to give, but I usually bolus the full amount of any correction I would need (or enough to bring me down 25 mg/dL [1.5 mmol] if my BGs are in range). After really hard workouts, I like a protein-rich snack with carbs. (Odwalla’s Chocolate Protein Monster is my favorite.) These carbs and protein are important for recovery, and I find it necessary to bolus the full amount for this snack, even though I will eventually be more insulin sensitive for the next 24 hours after big workouts.

Frequency: It helps to have a regular frequency, usually three or four times per week (or more). If I workout at least this often—although I can’t remember the last time I did less—my insulin sensitivity stays much more “normal” than if I don’t. Consistency is key.

Supplies: I bring these things with me on my workouts.

  • A full tube of glucose tablets
  • My pump (enclosed in a Zip-Lock bag to keep perspiration from killing it)
  • My BG meter when I go on longer runs or when I’m curious about what’s happening on shorter outings. I use the OneTouch Ultra Mini just for exercise.
  • Energy gels. I’m not very brand-loyal; I like vanilla and chocolate Gu and Clif Shots and just about any Hammer Gel flavor.
  • Water (in a FuelBelt Sprint Palm Holder)
  • I also carry about $10-15 with me in case I need to buy some extra food.

There are some other things I like, but they don’t have anything to do with diabetes preparedness. I have a Petzl Tikka headlamp, which is great for running on these dark afternoon; I’ve never had a jacket as nice as my Asics one; and I need shorts and pants with pockets . . . and a drawstring. (Without the drawstring, all of the extra stuff in my pockets makes ‘em fall right off.)

Good luck! And just remember, do whatever works; there’s no single right way.

Posted in Cycling, Diabetes, General, Life Lessons, Reluctant Triathlete, Running, Swimming | 7 Comments

All Politics is Horse-racing

I’ll confess. I bought my first e-book over the weekend.

See, it was like this. Saturday night Lisa was out singing her big, wonderful heart out in the second of three holiday concerts. I stayed home, since some friends and I were going to take it in on Sunday before going to a post-concert dinner and Muppet movie viewing together with Lisa. So there I was sitting on the sofa (with the cat sleeping on my lap) catching up on a week’s worth of snail mail, writing odds-and-ends and worry and bullshit in my journal, plotting out my 12-mile running route for Sunday morning, and watching TiVo’ed “BBC World News” and “Charlie Rose” episodes.

I go back-and-forth between liking and loathing Charlie’s show.

Shoulder Jeff #1: “He’s the voice of the American, white, male, moneyed, center-right Washington/NYC-based establishment. While his guests have a variety of opinions, they helped talk you into supporting the 2003 invasion of Iraq . . . or, at least, not opposing it.”

Shoulder Jeff #2: “True, true. But his guests also talk about all of those things that interest you. And since you don’t read as much as non-diabetes/triathlon stuff as you used to, he’s bringing those opinion-makers opinions to you. Besides, you only seem to write in your journal when you’ve been reading the New York Times, watching Charlie, or traveling. Clearly you need him and his guests for inspiration. Plus, you still have Terri Gross’s daily NPR show/podcast/tumblr Fresh Air for balance. Anyway, it’s good background noise while Lisa is away.”

Shoulder Jeff #1: “Okay, well at least be careful. Especially of his guests with ties.”

All true, little shoulder Jeffs.

The last episode I watched had three 40-to-60-something guys (all wearing neckties . . . except maybe John Meacham) sitting around his table talking about the GOP presidential clown parade candidates. It was not a great interview, but it made me want to read their little book: Playbook 2012: The Right Fights Back. It’s one of those “insiders traveling with the candidates tell you about the presidential sausage being made” works that I always like reading in Newsweek after the election.

Except this wasn’t a real book at all. It was one of those “electronic” books. Did I really want to buy a bunch of bits to read on my iPod?

Shoulder Jeff #1: “Why don’t you start, Jeff’s reactionary psyche voice?”

Shoulder Jeff #2: “Oh goody! Okay, I have a list. You won’t actually own anything. What if the forces enabling DRM decide one day that you aren’t licensed to read it anymore? And you won’t be able to lend it out after you’ve read it. And when you’re done where will it go? There’s no bookshelf-able “thing.” If your hard drive crashes, it will be gone. (Well, okay, not gone gone . . . gone-until-you-redownload it gone.) And *gasp* it will be hard to read page after page on a smaller-than-a-notecard sized thing. Plus you’re going to encourage the publishers not to sell real books anymore.”

Shoulder Jeff #1: “WTF, man? It’s not like the words are going to be different. And do you really want to keep this 73-page gem around for your never-to-exist grandchildren to pick up randomly off the bookshelf. ‘Oh look, that Michelle Bachman person sounded cray cray forty years ago.’ Riiiight. Or maybe you’re ‘going to need it for part of a major research project’ in the future? Yeah, okay. Listen. You’ve been buying virtual iTunes music for the last seven years, *and* you still buy CDs when you come across amazing whole albums. Plus it’s just $2.99.”

So I bought the e-book.

(That last paragraph was actually supposed to be the majority of this dispatch, but I got carried away. Sorry.)

Posted in Book Notes, General, Hoarding, This is who we are | 2 Comments