Modules and self in Ruby

technical, ruby

December 06, 2016

I love modules in Ruby: they’re like little folders for your code (ok, well, sometimes they are actually representative of folders in your code). It took me awhile to get comfortable using them, particularly because the concept of self can be difficult to understand at first. Here’s a quick overview of extend, include, and self as they pertain to modules in Ruby.

Testing common functionality across Ruby modules (and classes)

technical, ruby, testing

December 05, 2016

One of my favorite things to do when writing tests is find little ways to write fewer tests but still have the same test coverage. While working on Cryptozoologist, a Rubygem I use to teach gem writing workshops, I utilized a few simple tricks to do this.

Configurable Ruby gems: Custom error messages and testing

technical, ruby, gems

March 31, 2016

Previously, I’ve written about writing a Ruby gem with options for configuration. This is a really great thing to offer your gem users for a number of reasons, but how can we make the interface more helpful to our users? Things like custom error messages for configuration errors and solid testing are two easy ways to get started!

Rails: Using Active Model Serializer with POROs (without Active Record or Active Model)

technical, rails, active model, serializers

February 07, 2016

Recently I was working on a Rails application with non-persisted models (aka plain old Ruby objects). We didn’t need a database, which means we didn’t need Active Record either. We opted not to use Active Model, either. We didn’t need most of the stuff...

A different side of the mic: being a conference MC

speaking, conferences, MC

January 31, 2016

Last year I was lucky enough to be an MC for a conference in Barcelona, Spain - Full Stack Fest, a combination of Barcelona Ruby Conf and Future JS. While I have hosted single-day events before, this was my first time being an MC for such a big event...

Creating a configurable Ruby gem

technical, ruby, gems

January 30, 2016

I love Ruby. I’ve also, unrelated to my love of Ruby, had a paralyzing fear of sharing my Ruby with anyone else. Probably because I’m so emotionally attached to it? Anyways. I got over it and started publishing my first Ruby gem: a Ruby wrapper for the Ravelry API. Here’s the basics of how I set up and published my first gem, as well as a step-by-step guide for making it configurable.

CFPs, women, and technical talks

me, speaking

October 02, 2015

I’ve been getting a lot of emails lately from conference organizers asking me to submit a technical talk. The nice ones go something like “we really want to see more submissions from women, especially technical talks”, and the demanding ones are a little more “we want more technical talk submissions from women.”



August 11, 2015

There are two primary conversations happening around diversity in tech:

  1. How the industry is failing and how we should fix it
  2. How specific companies are how failing at diversity and how they should fix it

It’s unavoidable: a broken industry leads to broken companies.

These conversations are happening in isolation, and they shouldn’t be.

How I prepare conference talks

career, resources, conferences, speaking

May 05, 2015

When I was little and you asked me what I wanted to be, I always said a teacher. As a result, I never thought of public speaking as public speaking, I always thought of it as teaching.

Practical career advice: resources

career, resources, education

April 13, 2015

The following resources serve as a followup for my talk “Practical Advice for Establishing Your Engineering Career”.

Getting hired without getting burned: Sniffing for culture smells

hiring, interviewing

July 24, 2014

It is incredibly difficult to find a good place to work. With companies that fire women after they announce that they’re pregnant, intimidate women into leaving, hire people who think it’s ok to compare women to programming tools, and have abysmally low diversity numbers (although at 10% women in tech, I am no longer surprised by Twitter’s terrible block policy), it’s surprisingly easy to end up working in a toxic environment.

"We only hire senior engineers."


June 19, 2014

It’s a pretty good time to be an engineer, but it’s an even better time to be a senior engineer. In the economy of engineering jobs, there’s an increasing demand for senior talent, but no one is working to increase the supply because senior talent can’t be made, it takes time.

Deploying Rails 4.1 apps with Resque to Heroku

technical, rails, heroku, resque

June 02, 2014

The Heroku guides for deploying Rails apps encourage you to do so using a Procfile and Unicorn. Not being super deployment savvy, I tend to follow the instructions provided to me.

… that is, until they completely, totally, and utterly fail me.

Too big to test: combating test apathy in legacy code

technical, testing

May 14, 2014

Originally written for the Instructure techblog.

Writing tests for large Rails apps with lots of dependencies and complicated modeling is, without question, a complete nightmare. We often spend more time wrestling with tests than we do writing code. The end result of writing tests for legacy code is unfortunately predictable: a test suite full of holes, poor coverage, and tests that aren’t actually testing the thing you think they are. Bugs begin to pile up, technical debt is avoided like the plague, and quick-fix bandaids are applied instead of addressing the problems head on.

An apology: I'm done being 'acceptable.'


April 24, 2014

Since I joined the tech community, I have worked very hard to be acceptable. I have tried to be the “acceptable feminist,” and I’ve done this because I thought it would protect me from the problems present in tech. I really thought that if I was a nice, “reasonable”, friendly, middle-ground person, I’d be safe.

Turns out that isn’t how it works.

A year ago today, I started doing this crazy thing that I love.

April 14, 2014

Since I became a co-leader for Girl Develop It Chicago in January, I introduce myself in much the same way at every workshop, class, and event. It goes a little something like this:

Words I hope to regret someday: 'I'm glad that I didn't give a technical talk.'

confs, talks

March 18, 2014

When I decided to speak at my first conference, I picked a topic that I knew would be safe. I picked something not threatening, not overly opinionated, and not technical. In short, I picked something I didn’t think I would get aggressive questions about. I picked something feminine: I talked about teaching kids how to program.

So, you think you want to be a web developer?

February 27, 2014

About once a week, I get an email, chat, tweet, or other electronic communication asking me about some aspect of my job or how I made the transition from a non-technical career. The majority of the time, it’s because that person is considering applying to (or has already been accepted to) an intensive bootcamp-style web developer training program. This is what I say to those people.

Why I'm here

December 20, 2013

I am here because I love what I do. I love working with Ruby. I love tinkering with JavaScript. I get an absolute thrill over the legitimately amazing things I can do with programming. I’m stoked to learn Clojure. And maybe Scala. Or Python? More things. I’m excited to learn more.

Renaming 'soft' and 'hard' skills


October 01, 2013

People in the development community tend to throw around the phrase “soft skills” to describe things that are not directly related to writing code. This isn’t exclusive to the development world; lots of people use the term “soft skills” to describe traits that can’t be directly attributed to certifiable/measurable skills and specialities.

Thoughts on hobbies and gender, revisited

gender, hobbies

September 20, 2013

It’s no secret or a surprise that knitting is a gendered hobby. Most knitters are women and there is nothing offensive or factually incorrect about that statement. While knitting as a hobby is growing and there are more men and boys participating in the craft, it is still primarily women that pick up the needles and work with yarn.

Theory vs. practice and my first days as a developer

September 01, 2013

This has been the start of my first week as a Software Engineer. I work at a real company doing things with code that people actually use. It is awesome, terrifying, thrilling, challenging, and hands down the coolest thing I’ve ever done. I’ve only been poking around in the code base for a few hours a day, but I’ve come to realize that I am going to learn more at this job than I expected.

Why I wear dresses


August 22, 2013

Since graduating college, I’ve only had one job that required “business casual” attire. I hated that job, partly because a dead-set-in-her-traditional-ways HR representative made snide comments about my wardrobe everyday (“I wish I wasn’t a professional woman so I could wear jeans!”). It was never “business casual” enough for her.

Going to Hogwarts

August 20, 2013

One of my favorite ways to explain how passionate I am about coding is to compare it to the world of Harry Potter. To me, learning to code is the closest I will ever get to boarding the train to Hogwarts, taking my O.W.Ls, and crushing my N.E.W.Ts. Picking out a new computer and configuring Vim (new obsession) are akin to selecting a wand at Olivander’s. I could continue with the comparisons, but I think you get it.

Interviewing Women


August 19, 2013

One of the things I learned from the interview processes I went through is that the presence of women is important. I present you with two different scenarios.

Women Are In Everything

August 15, 2013

A lot of the time when I describe myself and what I’m passionate about, I end up talking about women in programming or women in engineering. Taking about concepts such as power, oppression, injustice, equality, objectification, etc has been a common theme in my life since I started college.

On being new

July 22, 2013

Last week I had the pleasure of having lunch at Table XI and taking part in their round table talk for the day, where I gave a Pecha Kucha presentation on what it meant for me to experience being new.

Conversations about wizardry, gender, and diversity

June 22, 2013

Earlier this week, I ran into a brick wall of sexism. What happened after that was infinitely more interesting than the event itself.