Greg Baugues

GB

exercism.io

As iron sharpens iron, so one person sharpens another.
-Proverbs 27:17

Back when I was first learning to use a chef’s knife, I would pick up a five pound bag of potatoes on my way home and practice knife work for an couple hours before going to bed. The potatoes inevitably went in the trash — I never had any intent of eating them.

It wasn’t until I read The Clean Coder a few years ago that I realized the value of writing code that has nothing to do with the project at hand. Since taking the developer evangelist job at Twilio, I’ve been trying to write at least a little bit of code every day, and trying to be intentional about improving my craft through practice and study.

To that end, for the last couple weeks I’ve been doing Katrina Owen’s exercism.io. The gist is that you get a set of tests, make them pass, then submit the solution to the community for “nitpicking.” Based on the feedback and seeing others’ solutions to the same problem, you’re encouraged to submit revisions.

I’m writing this post because I’m tickled pink at the difference between my first solution to a problem:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Hamming

  def self.compute(a, b)

    hamming = 0
    (0..shortest_length(a,b) - 1).each do |i|
      hamming += 1 unless a[i] == b[i]
    end

    hamming
  end

  private

  def self.shortest_length(a,b)
    a.size < b.size ? a.size : b.size
  end

end

And my fifth:

1
2
3
4
5
6
7
class Hamming

  def self.compute(a, b)
    [a, b].min.size.times.count { |i| a[i] != b[i] }
  end

end

Shoutout to Alex Clark for his iterative feedback. Comments with this mix of encouragement and instruction are so rare:

Damn near perfect. Now it’s time to start looking at the enumerable methods. Originally you had an each; that’s a good sign that there is a perfect enumerable method for what you want to do. See if you can get rid of the hamming variable.

Perfect. One last question, how do you feel about shortest_length taking an array? I’m not sure how I feel about it myself; but it is one less argument and therefore more flexible.

Now, the single line implementation probably isn’t the “most correct” version. I’ve been reading Sandy Metz’s Practical Object-Oriented Design in Ruby and she would argue that this violates Single Responsibility Principle… and she would be right.

But exercism.io isn’t about finding the “most correct” to solve a problem. It’s about discovering different ways to solve a problem and discussing the merit of each without fear of striking up a pedantic flame war. It’s about being confident enough to say “There might be a better way to do this… what do you think?” and being rewarded for your humility.

It’s about sharpening one another.

Rachel’s Pregnant

So, this happened last Saturday:

We found out four days before Rachel’s 30th birthday party, which proposed a dilemma because we had a lot of smart friends coming out who would notice Rachel nursing a Shirley Temple, and we didn’t want to lie to them as to why.

Somewhere along the way, our society got the idea that if you go through a miscarriage, you should go through it alone. I’ve been trying to be careful about saying “Rachel’s pregnant” and not “We’re having a baby” because we don’t know yet if we’re having a baby. Conventional wisdom says that we’re not supposed to disclose our pregnancy until the second trimester. There’s about 1,000,004 things that can go wrong, and two months from now that number drops to 400,004.

My brother and his wife miscarried just days after their pregnancy became Facebook official. (They’ve since had a beautiful baby boy, Evan Carter Baugues.) The typical reaction is to cringe at the timing, but because their loss was public, they experienced an outpouring of love from their church. Five couples came out of the woodwork to say, “We went through that too.” Meals were delivered. People showed up just to be present. Jon and Allison were enveloped in a feeling of “We’re not alone.”

We’ve got at least a dozen friends who have had a hard time getting pregnant. My guess is that for every couple we know of, there’s two more struggling quietly because we’ve been taught not to talk about infertility either. It’s been eighteen months since Rachel and I pulled the goalie. I wouldn’t say that we’ve been trying to have kids, but we stopped trying to not have kids. I think we’ve convinced ourselves that, “Hey, this dual income, no kids, lots of sleep thing ain’t so bad.” But, in the back of my mind at least, I was starting to worry that it wasn’t going to happen.

We got a puppy back in July as a form of parental training wheels. Now, we can’t sleep past 7am. We can’t leave the house for more than five hours without making some kind of non-trivially expensive arrangement. I can’t really work from home because of the constant vigilance required to preserve shoes, papers, and socks.

Most annoying of all, my iPhone is constantly running out of space because of all the damn pictures I take of Kaira’s overwhelming cuteness.

Having a puppy is kind of a pain in the ass, and yet life is unequivocally better because she’s in it. Kaira’s brought so much joy into our home. She’s made us better spouses by teaching us to subjugate our selfishness to the responsibility of keeping another being alive. She’s granted us access to this secret society of dog owners that we didn’t know existed. She’s brightened even the darkest of days simply by wagging her tail when we come home.

So while we are as aware as we can be of all the ways in which having a kid is going to totally wreck the comfortable existence to which we’ve grown accustomed, the best evidence we have that we would love being parents is the 35 pounds of fur that occasionally takes a dump on our carpet. We can only imagine that the feelings we have for Kaira will be amplified a thousand-fold for our own child. Even the people I know who have had kids under the most undesirable of circumstances say that it’s the best thing that’s ever happened to them.

There’s a verse in James that says:

Come now, you who say, “Today or tomorrow we will go into such and such a town and spend a year there and trade and make a profit” — yet you do not know what tomorrow will bring. What is your life? For you are a mist that appears for a little time and then vanishes. Instead you ought to say, “If the Lord wills, we will live and do this or that.”

Lord willing, Rachel and I will have a baby on November 15th ± 2 weeks. We are so excited, and we want our friends and family to participate in that excitement with us. And if it doesn’t go well, we want them to know that too so that they can be there for us as we grieve. There’s no part of this process that goes better by going through it alone.

Not Because It Is Easy

The harder the conflict, the more glorious the triumph. What we obtain too cheap, we esteem too lightly: it is dearness only that gives every thing its value. Heaven knows how to put a proper price upon its goods.

– Thomas Paine

Chicago is a bipolar city. For seven months, we hibernate. We endure. We struggle. And from Memorial Day til Labor Day, we celebrate making it through another winter. Festivals. Beer gardens. Movies in the park. Baseball. Beach volleyball. The lake front.

When I first moved to Chicago nine years ago, I hated the winter. When I started working at Table XI, I lived a block away from CEO Josh Golden and we’d ride into work together. Every morning, I’d complain. Winter was painful for me. Physically painful. Emotionally painful.

Josh, being from Canada, would tell me that the winter isn’t too bad if you dress properly. He’d say that to get through the winter, you need two adjustments: an adjustment of your gear, and an adjustment of your attitude.

For the gear, I learned to treat getting dressed as putting on a suit of armor to go out to battle. Next to a good wife and mood stabilizers, long underwear is the third most important contributor to my general happiness during the winter.

I grew up in Indianapolis, and while our climates are similar, in Indy you’re afforded more margin to not take the winter seriously. It’s a commuter culture — you get into your car that’s been sitting in your garage, drive to the plowed parking lot, and walk fifty feet to the front door of your office, grocery store, or Applebees.

In Chicago, you’re more exposed. Even if you drive, you probably parked overnight on the street, and you’re probably going to park a couple blocks from your destination and trudge through a quarter-mile of unshoveled sidewalks to get there. If you’re lucky, you’ve arranged your life so that you don’t have to drive much, but now you’re walking to the train and waiting for the bus and, for an hour every day, winter is actively trying to kill you.

So, you get yourself a heavy pair of gloves, and a hat that covers your ears. You layer up — long sleeve t-shirt, fleece or a sweater, and a well-insulated coat with a hood. Get a pair of waterproof boots, put on wicking socks, maybe two pair. You tie a scarf to protect your neck, and on the really cold days, you pull it over your mouth so you can still breath.

And then you go make Winter your bitch.

In warm climates, it’s too easy to take shit for granted. But in single digit temperatures, six inches of snow, and blinding, breathtaking wind, going to the grocery store becomes a worthy accomplishment. If you can manage to leave the house, make it to work, and feed yourself in the middle of a Chicago February, that’s a day you can feel good about.

This has been a particularly tough winter. When it started, we’d look at the forecast and say, “Oh man, it’s going to get down to single digits next week…” Now, we just call those days “Wednesday,” and we’ve still got three more months to go.1

In his 2008 essay on Cities and Ambition, Paul Graham wrote:

Great cities attract ambitious people. You can sense it when you walk around one. In a hundred subtle ways, the city sends you a message: you could do more; you should try harder.

The surprising thing is how different these messages can be. New York tells you, above all: you should make more money… What I like about Boston (or rather Cambridge) is that the message there is: you should be smarter…

As much as they respect brains in Silicon Valley, the message the Valley sends is: you should be more powerful… The big thing in LA seems to be fame… In DC the message seems to be that the most important thing is who you know. At the moment, San Francisco’s message seems to be the same as Berkeley’s: you should live better.

Chicago was absent from Graham’s musings, but I propose that her message is: “You should earn it.”2

There will be a day soon in March or April when temperatures will rise to the low 50s. The sun will shine, the snow will melt. It won’t last — it will be just a glimpse of what’s to come later on in May or June. But on that day, Chicagoans will emerge onto the streets and strangers will high-five each other, rejoicing in the reprieve from their collective struggle. In San Francisco, it would be just another Wednesday.

We earn our summers here. Every sunny day above 70 is so much sweeter because of the frigid grayness that came before it. There is a cost of admission to be a citizen of this great city and Chicago knows how to put a proper price upon her goods.3

To borrow from JFK, we choose to live in Chicago not because it is easy, but because it is hard.


  1. NPR: Just How Bad is this Chicago Winter?

  2. This jives with Chicago’s tech scene which seems better suited for bootstrapping than for accepting large sums of money for revenueless webapps.

  3. Rachel and I moved this year and found that rent had jumped 20% in two years. I partially blame our recent mild winters and am hoping that this year’s brutality will stabilize rent via lowered demand. There are people who, because of this winter, will leave Chicago and never live here again.