Wednesday, March 29, 2017

Brief recap: The Wrightsville Beach Half Marathon

Last weekend I ran the race that was supposed to get me in to the New York Marathon. I've been trying to qualify for New York for years, not so much because I am obsessed with that particular race but because the NYQ time has consistently sat tantalizingly at the edge of my ability level for more than five years now. They have adjusted the qualifying times twice during that period, with the half-marathon qualifying time for my age group starting at 1:30 (when I managed a 1:31), tightening to 1:25 (when I PRed with a 1:26), then loosening again as I moved into a new age group to 1:32.

To hit a 1:32 I'd need to average exactly 7:00 per mile over 13.1 miles. I decided to try to start off at a 6:55 pace, to give myself a bit of a cushion in case my Garmin read the course wrong. On Saturday morning as I awaited the start with Joey and Dustin, the conditions seemed pretty good but not quite ideal. The temperature was about 54 and the dew point wasn't much cooler, which meant it was very humid. I wished Dustin and Joey well and then lined up at the start between the 1:30 half-marathon pace group and the 3:05 marathon pace group, about 6 rows back. At 6:40, in the still darkness, we started off. I was able to get up to pace quickly and checked my watch: 6:50/mile, just about perfect.

I passed the Mile 1 marker as my watch clicked 7:00, so I picked up my pace a bit, only to run Mile 2 in 6:40. Whoah boy, slow down! The next mile was 7:07, then 6:57. It seemed like each mile marker was just a bit off, as the pace on my watch didn't vary nearly as much. By Mile 5, however, I could tell that this probably wasn't going to be my day, regardless of how accurate the mile markers were. I completed the mile in 7:16 and didn't feel like I could possibly pick things up. Now it was a matter of hanging on. With 8 miles to go.

Each successive mile was just a touch slower. It didn't help that there was a 2.7-mile stretch with no aid stations from mile 4.1 to 6.8. I was definitely beginning to heat up, and when I finally reached the aid station at Mile 6.8, I dumped the first cup of water over my head before grabbing for another one to drink.

Mile 6-7: 7:19
Mile 8: 7:36
Mile 9: 7:55

During Mile 10 I saw my pace dip to slower than 8:00 and told myself enough was enough. I pushed harder. "Cmon Munger, there's less than 4 miles now. You are not running this mile slower than 8 minutes!" I managed a 7:34.

The next mile, I slowed even more, and registered a 7:53. Finally during Mile 12 I felt like I could pick up the pace, and saw my watch's pace indicator grind down to the 7:40s. I passed a friend from Wilmington, Drew Coombes, a very solid ultrarunner, and gave him a high-5. This buoyed me for a while, until I was passed by a little boy who hardly looked to be exerting an effort at all. He was running with a man, possibly his father, and a couple of other guys who probably just didn't want to get beaten by a 9-year-old. I was happy to be beaten by this kid, who clearly was headed for star status on whatever middle-school cross-country team landed him! I checked the results later and saw that Caden Livingston ended up running a 1:34, good enough for third place in the 18-and-under age group!

When I clicked my watch at the end of Mile 12, I had run an 8:06 for a mile my watch measured as 1.05 miles long. I had actually picked up the pace here according to my watch, and I felt good enough to pick it up even faster for the final mile. We were on the campus of UNC-Wilmington now and folks were telling us "you're almost there!" Somehow a half-mile still didn't feel like "almost," but I didn't slow down. I passed an official photographer and managed to look pretty good for the photo:

If only I was feeling as good as I look....

I chugged my way to the finish, logging a 7:22 pace for the final 1.1 miles. My official time was 1:37:15 on a course my watch measured at 13.3 miles long. This worked out to an average official pace of 7:27, good for 8th in my age group. My watch calculated an average pace of 7:18, which I felt very good about. I hadn't made my primary goal of qualifying for New York, but I was in the ballpark.

Soon Joey came across the finish line, followed by another DARTer who I didn't even know was at the race, Tracey DeForest. Here we are at the finish:

Tracey was disappointed in her time but actually snagged 3rd in age group!

Joey and I hung around until the marathoners finished; we were waiting for Dustin to complete his first marathon. In the end he cramped up, stopping for 30 minutes at Mile 22 to try and stretch out. But he willed himself to the finish in a time that was disappointing for him — but he still completed the race, which is more than 99 percent of Americans can say they did.

My 1:37:15 is actually my fastest half-marathon since I PRed with that 1:26 in 2013, more than four years ago. I feel like I've got the speed to do a 1:32, and just need to work on building the endurance to stretch that speed out for a full 13.1 miles. For now I'm going to take my time to recover from the race, then start to build up again and give it another shot. I'll get it one of these days!

Details of my race are below.

Tuesday, February 28, 2017

Race recap: The Ellerbe Half Marathon

When my running buddy Chad asked if anyone would like to try the Ellerbe Marathon or Half Marathon this year, I wasn't so sure. My main goal over the last several years in half marathons has been to try to qualify for the New York Marathon. I've failed every time, twice by just a minute. The Ellerbe Marathon is notoriously hilly, and the half option — new for this year — is just as hilly: the full marathon just repeats the half course twice. But when I learned my wife was going to be busy that morning anyways, I figured it was a nice opportunity for a road trip and a race with no pressure. I figured I could treat it like a training run for the flat-and-fast Wrightsville Beach Half four weeks later. I'd just pick a relatively flat section of the course and pick up to goal half-marathon pace for 5 miles or so.

Fast forward to Saturday morning. During the two-hour drive to the start, Chad asked if I've had a look at the elevation profile. I hadn't so I pulled it up on my phone:


As you can see, there's not a lot of flat in the race. The closest approximation to a flat section is the first three miles, which are followed by a long, gradual downhill. If I was going to test my legs at race pace, it was going to have to be at the beginning of the event. Before long, Chad, Dave, and I arrived in Ellerbe, got our packets, and got ready to race:

The race was a small, casual affair, with fewer than 100 runners in each event (there would be just 61 half-marathon finishers). With little fanfare, the race director said "ready, set, go!" and we were off. My half-marathon pace for Wrightsville is 7:00 / mile, so I picked up the pace quickly as we set off. Soon I found myself next to one runner who looked to be a bit older than me, with just one other runner ahead of us. I could see from the older guy's bib that he was running the half. "Do you think he's running the half or the full?" I asked, gesturing towards the runner ahead of us.

"I don't know," the older man said, "I think probably the half."

To me he looked too relaxed to be running a half. My bet was that he was doing the full and that Old Guy and I were leading the half. After a couple miles running side by side, Old Guy took off to catch up with the leader. I could hear him shout "are you running the half" to the runner up ahead, but I didn't hear his response. No big deal, I figured, I wasn't running this race all-out anyways.

I was able to maintain a 7-ish pace through the first five miles and actually felt pretty good at that point. Then I got to the first big hill. I decided that I'd try to keep my pace under 8:00 / mile on the uphills, hoping to finish with an average pace of around 7:30 / mile. Old Guy and Possible Marathoner were still visible ahead of me, but they were now perhaps 200 yards away.

I managed to keep my pace under 8:00 until we hit the turnaround just past Mile 7, where I could see that the runner ahead of me and Old Guy was indeed doing the full marathon. I was in second place! From my recollection of the elevation profile, the course leveled off for a bit here. In reality the course was a series of fairly steep descents and climbs for the next two miles, when we'd begin our last big climb. I held around a 7:30 pace here. Meanwhile, a few runners passed me, including one half-marathoner. So much for second place — but maybe I could hang on for third.

As I plodded up the big final hill in Miles 10 and 11, I could see the younger half-marathoner pass the Old Guy, and occasionally it looked like Old Guy was taking walk-breaks. Maybe I could catch him!

The final two miles of the course backtracked on the road we had started out on. On the way out they had seemed basically flat, but now they felt like they were mostly climbs. Looking back at my Garmin record after the race, Mile 12 was mostly flat, but there was a touch more uphill than downhill in Mile 13. Old Guy took a couple more walk breaks, but then pulled away as the finish approached. I tried to pick up the pace for the last mile, but my legs wouldn't cooperate and I rolled in for a relatively comfortable third place. A race volunteer got a photo of me approaching the finish:

Looking strong-ish!

In the end I did get that sub-7:30 pace, at least according to my Garmin, which showed a 7:28 pace. My official finishing time was 1:39:35, a 7:35 pace. Either way, I was the third finisher in the half marathon, which meant I won an awesome piece of pottery:

I thought this was a beer mug but my wife declared it to be a vase

Not bad for a last-minute decision! I had successfully run a quick 5 miles at half-marathon pace, then finished strong and got some nice hardware. After that the weather heated up considerably, so Chad and Dave had tough work to finish their full marathon. But Dave won his age group and Chad came in second in his group, so we had a great day all around. Fun way to spend a Saturday morning on a challenging course!

The Garmin record of my race is below.

Tuesday, January 31, 2017

Geeking out on mileage data

This morning I was taking a look at my total mileage for the month and noticed that Garmin Connect allows you to subtotal its reports by month or year and export the file to a spreadsheet-compatible format. A new opportunity for running geekery! So naturally I decided to look at all my running data from 2012 to the present. I even made a graph:

As you can see, the most dramatic event on the graph is my injury in February of 2015. My mileage has only recently begun to approach what I routinely ran before that date, as I finally seem to be genuinely recovering.

All my big PRs occurred as I was peaking in mileage (my marathon PR was set in 2011 and isn't on the graph). You might be tempted to conclude that that high-mileage, intense training also led to injury, but I'd say that was only the case for the second injury (the first one was just a bruise from a fall and I recovered quickly). The other things that seem to correspond to reduced running mileage are travel and triathlon training. It's hard to squeeze running in in both of those cases!

This year my plan is to steadily increase my mileage to get close to what I was doing in 2012/13, while decreasing the frequency of my most intense workouts to hopefully reduce the risk of injury. I've started to follow a training plan inspired by the book Fast After Fifty, which recommends adopting a 9-day training "week" instead of a typical 7-day week (not-so-coincidentally, I turned 50 yesterday). The big race I'm training for is the Chicago Marathon on October 8. Because my training program for Chicago uses a long training week, it will take much longer than a typical 18-week cycle. In fact, it will start on March 27, 195 days before the race, and two days after my next big race, the Wrightsville Beach Half Marathon. For Wrightsville, I don't have the time to do a full training cycle, so I will see what I can do on a reduced cycle.

If all goes well, by October I should be in good enough shape to once again qualify for the Boston Marathon, my monthly mileage will once again look like what it did in 2013 and 2014, and I might even be able to take a shot at one of those long-standing PRs.

Tuesday, January 17, 2017

Race Recap: Houston Half Marathon

A few weeks before the Houston Half Marathon, a friend posted a long-term weather forecast that looked dire: Temperatures in the mid-70s with near-100% humidity. This is very nearly the worst weather to race in, but my previous experiences with weather-stalking convinced me that this was WAY too early to be concerned. Sure enough, as race day approached, the forecast changed more than once. For a while it looked as if conditions would be nearly perfect, low fifties and lower humidity. Unfortunately this forecast was still too early, and by a few days before the race it was clear that temperatures would be in the high 60s with nearly 100% humidity. I've raced in these conditions before, and never with a good result.

I had chosen to race Houston partly because it's a flat and fast course (Ryan Hall set the US record here), but mostly because I wanted to meet up with online friends I had known for years. We had formed a close-knit group while losing weight on the MyFitnessPal website and now we get together in person whenever we get the chance. This group was where I got the idea for Brolympus, my running alter-ego who populates social media with terrible running advice. We have all seen so much bad decision-making, both by ourselves, and by other runners, that there is a never-ending supply of fodder for Brolympus's memes.

I arrived on Friday for Sunday's race, and shenanigans began almost from the get-go. After a beer-soaked reunion Friday night, we reconvened Saturday for a shake-out run in the form of the Brolympus 5K Marathon:

Are we having fun yet?

Conditions during the shake-out, where the weather was about what had been predicted for the marathon, actually didn't seem too bad. I got a little sweaty but felt like I might be able to go ahead and give my Plan A a shot: Run the whole race at a 7:00 pace and qualify for the New York Marathon with a 1:32.

Revelry was more restrained on Saturday night, and we all headed to bed early enough to get a reasonable amount of sleep before our 4 a.m. wake-up call for the race. I had a bagel and tried some of a friend's beet concentrate as a pre-race supplement. Then we walked to the start in the early-morning darkness:

Beautiful Houston morning...but how will the race go?

Once again, the conditions didn't seem bad. It almost felt a bit chilly, and a light breeze cooled us even more. But race-morning temperatures were in the mid 60s, the humidity was high, and neither figure was expected to decline before the 7 a.m. race start.

At the race start, our whole group got together for a photo before heading out to the race corrals. 

Air-conditioned optimism

Team Brolympus!

The "A" corral, where I'd be lining up, closes at 6:40 a.m., so it was important to get out there early. I was assured there would be porta-potties in the corrals, and this proved true. The lines weren't long either, and I had plenty of time to take care of pre-race business. All signs were pointing to a good race. I made my way to the position marked "7:00/mile" pace, along with several hundred other optimists. Here I am lined up and ready to go:

After 20 minutes or so of nervous waiting, the race got under way right on time. For the first mile I struggled to get up to race pace, my watch stubbornly indicating I was below target. Meanwhile I had to be conscious of the runners around me. Some folks clearly hadn't gotten to the position they wanted at the start, and so were zipping past as they tried to make up time. Others were moving very slowly, at what must have been an 8- or 9- minute pace. Didn't they see the signs in the corral telling them where to line up? By the end of Mile 1 my pace was 7:17, almost where I wanted it.

I tried to pick things up a bit more for Mile 2, and willed myself to a 7:05 pace. Still too slow, but every step was a struggle. The humid air seemed to close in on me, and the pack of sweaty runners around me didn't help keep things cooler. I grabbed two cups of water at the aid station, drank one and dumped the other over my head. This cooled me momentarily, but I was still feeling overheated. My A goal of 7:00 miles was beginning to seem nearly impossible.

For Mile 3 I decided to back off the pace a bit. Maybe all I needed to do was run a couple miles at a 7:20-ish pace, then pick it up again as I got used to the conditions. For a mile or so, it almost seemed like it would be possible. Mile 3: 7:22.

But by Mile 4 I knew this simply wasn't going to be my day. Every step was harder than the last, and more and more runners were passing as my pace slowed. 7:53 was all I could manage.

In Mile 5 I started doing some mental math: Only 8 miles to go! Actually 8 miles seemed like a really long distance. But maybe I could keep my pace below 8:00 for the rest of the race and salvage a shred of decency. I ran a 7:58 for this mile.

Surely Mile 6 would be where I was finally able to pick up the pace again, right? Wrong. 8:15.

But now I was through 10K! Almost halfway done. I figured out that Mile 6.55 was the actual halfway point and tried to focus on that. After the halfway point, 6-plus miles still seemed like an awful long way to run. I had one gel left, and began negotiations with myself as to when I'd get to eat it. Mile 7, 8:22.

Somehow I did managed to go slightly faster for Mile 8, 8:07. But I made up for this in mile 9 with a lethargic 8:46. Ugh.

With 4 miles to go I allowed myself to eat the my second gel. I sped up slightly to 8:27. At this point I wasn't even sure if I'd be able to manage a 1:45 half, an average of 8:00 miles for the race. But at least I was in double-digit mileage, with only 5k to go.

Mile 11 may have been the worst. My feet were aching from my lightweight racing shoes on the concrete pavement. I had no more gels, and I couldn't even run a lousy 8-minute mile. 8:39.

Finally, somewhere in Mile 12, my body seemed to spark a bit with the knowledge that there were only around 2 miles left. My pace improved to 8:17. Only 1.1 miles left!

The race clock at Mile 12 read 1:37 and change when I passed it. If I could run the last 1.1 in less than 8 minutes I might be able to finish under 1:45. How much time did I have, exactly? I tried to remember how long it had taken me to cross the start line after the gun. Was it 20 seconds? 30? I focused on my stride and picking up the pace. My watch was reading 7:20, 7:15, 7:10 pace for the current lap. If I could run under a 7-minute pace for this last 1.1 miles, I just might make it. We were now running on the same course as the marathoners, and I passed the 26 mile marker. Only 0.2 to go!

But then, somehow, the 13 mile marker didn't appear. It should only be 1/10 of a mile past the Mile 26 marker, but it was taking ages to reach it, even as my watch showed me running a 6:58 pace. At that rate, it should only take 42 seconds to get there. This was taking much longer. Finally, after an excruciating 7:57, I finished Mile 13. There was no way I was breaking 1:45 for the race.

I cruised through the finish line at about the same pace, finishing in 1:45:28. Ugh. More than 13 minutes slower than my goal.

As I wandered through the finish area I tried to figure out what had gone wrong. I really couldn't figure it out, other than my body simply not being acclimatized to the heat. The past two weeks have been cold and snowy, so I guess that's all it was. It's little consolation when you run a flat half-marathon and finish slower than you have in five years.

I still believe I have a 1:32 half in me. In the meantime, I was still able to enjoy a great weekend with some awesome friends, many of whom I met in person for the first time on this trip.

Details of my race are below.

Wednesday, January 11, 2017

Shalane Challenge, Day 3: The pinkest thing I have ever made

Runners have a thing about beets. Beets are supposed to improve endurance, and what runner doesn't want that? Still, I haven't really bought into the whole beet thing. First off, I don't like beets, and second, I have been at a bit of a mystery as to how to prepare them. But since this week I'm challenging myself to prepare all my meals from Olympic Marathoner Shalane Flanagan's cookbook, I figured now was a good time to give beets a try.

The thing about beets, though, is that they are really, really red. You might say they are "beet-red." Their juice gets on anything within a ten foot radius. I wanted to make Shalane's "Can't Get Beet Hummus," though, so I needed to confront my beet-phobia straight on. The recipe calls for a cooked beet.

Problem number 1: Our grocery store only sells beets in bunches. Fine. I'll cook four beets. Surely I can figure out something to do with the other three.

I decided to try trimming the roots and greens off the beets with kitchen shears to prevent getting beet juice all over my cutting board. This backfired as juice spattered all over my kitchen! I wrapped them in foil and placed them in the oven on a baking dish for an hour. Even just checking them to see if they were done led to beet "blood" all over my fingers.

Finally they were done and I chilled them overnight. But to make the recipe, I still had to peel the one beet I needed. More "bloody" fingers:


Finally I got the beets and all the other ingredients (mostly chickpeas, tahini, and lemon) into the blender. Instantly the mixture went from beige to the most intense shade of pink I have ever seen. I'm not sure I can adequately convey in words precisely how pink this concoction is. It is so pink that the Barbie aisle at Toys R Us looks muted by comparison. It's pinker than a Hawaiian sunset or a California Pride parade. It's pinker than an embarrassed piglet.

After turning a spatula and half my kitchen counter pink getting it out of the blender, I was finally able to serve it. Here's what it looks like on the plate:

Shalane says this will "impress" your dinner guests

I'm still not sure the photo quite does service to precisely how pink it is. Now all that was left was to try it:

Still pink!

Shalane claims that once you have made your own hummus, you'll never go back to store-bought. My verdict: This tastes fine, but it's definitely not better-tasting than store-bought. I've had much better, frankly. While I've enjoyed most of the things I've made from this book, this recipe is disappointing.

But perhaps this is more about the beets than the hummus (she does provide a more "standard" chipotle hummus recipe). On that count, I'm still not that impressed. I probably ate a quarter of the hummus I made, which is a lot of food, but that means I only consumed a quarter of a beet. I'm pretty sure that's not going to get me a BQ. Given that the athletes who use beet juice regularly are typically using 500 ml or so before a race, there's simply no way this much beet is going to offer much benefit at all. Not sure I'm even going to finish this hummus, and as someone who LOVES hummus, I think that's saying quite a bit.

The Shalane Challenge: Day 2

I'm challenging myself to prepare all of my meals this week using Shalane Flanagan's cookbook. I've been so busy cooking over the past two days that I've fallen a bit behind in the blogging department.

Yesterday I was busy catching up with Monday's meals, so today I'll consolidate all of Tuesday's meals into a single post.

Breakfast. I had an easy run + strength day yesterday. I'm not usually as hungry after this workout as I am after a swim (my Monday workout), so just one bowl of Shalane's Ginger-Molasses Granola (which I had prepared on Sunday) was plenty satisfying. As you might expect, the granola holds up well after two days, tasting just as good as it did on Monday.

Snacks. I had plenty of leftover Spelt Banana bread, which I kept in the fridge after making it on Monday. Monday's bread was delicious, but I was a little disappointed with it on Tuesday. Normally banana bread stays nice and moist if you keep it in the fridge, but this bread seemed quite a bit dryer. I don't know if that's due to the cold storage or just that it doesn't have a great shelf life. Today I will try letting it warm up for an hour or two before I eat it to see if that makes a difference.

I also made a snack that wasn't in the book, a staple of mine that I modified to fit Shalane's philosophy. I like to puree frozen bananas in the blender to make an "ice cream." Normally I put a little chocolate syrup on it but in the spirit of her book I put maple syrup and walnuts in the mix instead. It was delicious!

Lunch. I had another serving of the Carolina Chicken Tarragon Salad I made Monday. This held up very well! I added another diced avocado and that gave it just the level of unctuousness I felt it was missing yesterday. Normally I have a Diet Coke with lunch but I substituted some mint tea I bought in India last year, and that was great on a cold afternoon.

Dinner. Despite having plenty of leftover meatballs, I decided to make a new meal for Tuesday -- Shalane's Breakfast Meets Dinner Bowl. This is a bowl of brown rice topped with sauteed kale, black beans, and a fried egg. The book suggests adding some "Avocado Cream," a separate recipe which is basically guacamole. The recipe says you can wilt the kale in a little olive oil, but I wasn't getting the results I needed, so I added some chicken stock and was able to cook it down. I opted for canned Goya black beans (the book suggests making them from scratch), and I poached the eggs instead of frying them (the recipe calls for one per serving but I made two). I thought it tasted great but wanted a bit of an extra kick so I added some black pepper and Tabasco:


Shalane's dinners so far have been fairly carb-heavy. One serving includes a half-cup (before cooking) of brown rice. I like this and don't think it's too much food, but my wife would probably not agree; I think she'd probably take about half this much rice. Then again, she doesn't work out as much as I do, so it only makes sense for her to consume fewer calories.

I've been cutting down on my drinking this week but I did allow myself to indulge in a beer to accompany dinner. It was great too! 

I'm pretty sure I could convince my wife to try both the dinners I've prepared so far. I think she'd feel the other items were too much food for her, but I don't think she'd disagree that they taste pretty good. In terms of taste, so far everything tastes just about as good as what I'd normally eat, with a couple of exceptions mentioned above. What remains to be seen is how this diet affects my weight and fitness. We should get a better sense of that as the week progresses.

Tuesday, January 10, 2017

The Shalane Challenge: Day 1 Dinner

I'm challenging myself to prepare all of my meals this week using Shalane Flanagan's cookbook. Last night for dinner I made her Bison Meatballs with marinara.

The recipe calls for 1 cup of minced kale, bound with the buffalo meat using an egg, almond meal, and parmesan cheese. One cup of kale, the book says, is about 4 leaves. It looked like my leaves were a bit scrawny, so I started with 6. That may have been a mistake. I ended up with a huge pile of minced kale, much bigger than a cup. But once I'd put in the work to chop up all that kale, I was damned if it wasn't going in the recipe! I mixed everything together with some spices according to the recipe, forming into 2-inch meatballs that looked quite green. But they were holding together, so I decided to press on.

Next I was supposed to brown them on all sides in about 5 minutes using a Dutch oven. I don't have a true Dutch oven but I do have a nonstick pan with tall sides and a thick bottom, so I figured that was an adequate replacement. Despite the pan being nonstick, the meatballs stuck. They were also taking much longer than 5 minutes to brown. Eventually I got them partially browned and removed them from the pot as directed.

Then I was supposed to make a marinara sauce in the same pot, sort of deglazing the stuck bits from the meatballs. I had decided that was too much work, so I used a jar of store-bought Classico sauce. Then the meatballs got put back into the pot with the sauce, to simmer for 30-40 minutes. The meatballs were not even close to being covered with sauce! Looking back at the recipe, I saw that I had about half the volume of sauce needed. I found a container of crushed tomatoes and added those in with some oregano and red pepper flakes, and now the meatballs were mostly submerged. By rotating the meatballs every 10 minutes or so I was able to get them cooked through in the sauce.

Meanwhile I prepared store-bought rigatoni to match the photo of the recipe in the book. The recipe says it makes 4 servings using 12 ounces of pasta but I decided that I'd make about 1.5 servings of this for myself, so I weighed out 5 ounces of pasta to cook. Then I plated with 3 of the 8 meatballs and some sauce. This being winter I didn't garnish with fresh basil like the book does, but I think it looks pretty good with Parmesan. It looks to me like whoever made the recipe in the photo cooked the pasta with some of the sauce before plating. I didn't do that because the directions don't say to, but in hindsight that would have tasted better!

My effort next to the food-stylist's version in the book

That said, this was a tasty and satisfying plate of meatballs. I think if I did it again I'd use 4 leaves of kale, no matter how puny they looked, and that might have helped the meatballs stick together a bit better. The recipe isn't much different from one Greta and I have made for years using spinach and turkey, but it is definitely heartier with the kale and buffalo, which I like. I think the recipe is a keeper!