Monday, October 19, 2015

The Spam Filter Apocalypse

Spam filters almost prevented these gorgeous photo ops.
A few weeks ago, a friend and I were planning to go apple-picking when I noticed she was curiously silent in the group planning email thread. I texted her to inquire. She immediately texted back, "What thread?"

I forwarded her the thread and, after checking that it had included her, asked if perhaps the message had gotten caught in her spam filter. She said no.

The next day in the car, she revealed that the message had gotten caught not in her university spam filter, but in her Gmail spam filter.

This was troubling. University spam filters were widely known the usual culprit for missing emails. In university-land, the best excuse for failing to respond to an email is to say the message "somehow" got "stuck." Who knows what decade the technology was from? Who knows what kinds of dark corners there are, waiting to eat important work emails and social invitations alike?

Gmail, on the other hand, is another story. It is generally acknowledged to be the state of the art when it comes to spam filters. Occasionally I will check my "spam" folder to see what has gotten caught, but in general it does a good job. If Gmail spam filters were categorizing important social emails as spam, then surely it was beginning of the end.

A few months ago, I would have filed this as another piece of evidence that the Robot Apocalypse is not coming anytime soon. When Reddit founder Alexis Ohanian interviewed a couple of computer scientist friends and me for the Upvoted podcast, I had been surprised that he asked how afraid we should be about the Robot Apocalyse. We had all laughed and said that the current state of artificial intelligence is not sufficiently sophisticated to produce robots who will take over the world.

What I have been coming to realize, however, is that unsophisticated robots have already taken over the world. Tethered to our emails, we are at the mercy of the less glamorous, but no less scary, spambots and spam filters. On the way to apple-picking, my friends and I wondered whether it is possible to prevent someone from ever having their emails received again if everyone collectively spam-filtered them. It turns out this depends on the sophistication spam filtering algorithms. It should be terrifying that this is possible--and that this can seriously compromise someone's standard of living.

Fortunately, there are measures that prevent the current robot situation from being more apocalyptic. We more or less trust Google to live up to their promise to "do no evil." We have some degree of trust that if technology creators abused their power, regulators would step in and protect us. And, importantly, we still live in a culture where we give people the benefit of the doubt when technology seems to fail. Behind most important decisions there remains a human to make the final call.

When things become too dangerous is when we begin to trust the algorithms too much. In The Fires, Joe Flood describes how a liberal city government caused New York City's poorest neighborhoods to burn down in the 1970s. The well-meaning government placed trusted the algorithms of RAND corporation to fairly allocate resources. What ended up happening was that, in the poorest neighborhoods, infrastructure was not well maintained and insufficient firefighting resources were allocated. Buildings became prone to fire and firefighters were slow to respond. These algorithms, like humans, were biased. Because the government trusted so much in the algorithms, however, there was too little oversight for too long.

The way to prevent the full Spam Filter Apocalypse is to avoid giving the robots too much power. As consumers, we have the responsibility to educate ourselves about what our technology is doing, think critically about how it could affect our lives, and push back when algorithms are doing too much without oversight. Protecting ourselves is as much a social engineering problem as it is a technical one. It involves educating ourselves enough that, as a society we can establish policies, both informal "best practices" kind and ones that are legally enforced. A first step is to stop regarding the Robot Apocalypse as a nebulous inevitability and to start seeing it as something that is already happening, but whose trajectory we can control.

As software comes to run our lives, the Robot Apocalypse we should fear is not the one that comes about because the technology become too advanced. We should instead worry about what happens when we place too much trust in technology that is not quite ready for the task at hand. The Spam Filter Apocalypse is perhaps less glamorous than what the futurists of times past may have hoped, but it certainly is no less scary.

Tuesday, October 13, 2015

Work is (Not) a Four Letter Word

I recently finished reading comedian Mindy Kaling’s second memoir, Why Not Me? What I found most empowering was her openness about hard work.

In the book, Mindy is refreshingly honest about being a “workaholic.” In the Glamour excerpt of the book, Mindy cites hard work as the path to “killer confidence.” She writes, “...the truth is, I have never, ever, ever met a highly confident and successful person who is not what a movie would call a ‘workaholic.’” Mindy describes herself as a “vampire” following a daily routine consisting of 5am wakeups and days so long in the studio she never sees the sun.

Amidst this discussion, Mindy acknowledges that her honesty about work is in opposition to how we are socialized. She describes how we are taught to work hard until we finish school and then, all of the sudden, people seem to regard work as something harmful. We live in a society that values achievement but not the work required to get there.

Yes, Mindy Kaling. YES. I have long felt caught between pressures for my achievements to appear effortless yet well-deserved. This tension is particularly fraught because of the connection between work and social identity. To some people, I work “all the time”--and to only a subset of these is this a good thing. Others have asked me, “Do you ever work?”--some with admiration and some with disdain. Why is it that my attitude towards work seems to matter more than the work I produce?

Increasingly, narratives around work have become a means for reinforcing current structures of power. In Privilege: The Making of an Adolescent Elite, Shamus Khan writes about how attitudes towards work serve as a gatekeeping function for socioeconomic status. The elites, Khan writes, value hard work and appearing busy as a way of justifying their superior status. It is, however, important to maintain an air of effortlessness. True elites need not work.

Race plays a role in narratives of work. In his New York Magazine piece “Paper Tigers,” Wesley Yang writes about the phenomenon of Asian-American families placing a higher value on academic work--and thus schools requiring Asian students to, on average, score 140 points higher on the SAT for college admissions. Throughout their careers, Asian-Americans continue to be penalized for the perception that they are predisposed to be hard-working, facing the “bamboo ceiling.” Asian-Americans must work harder while maintaining the facade of effortlessness, lest they be labeled as one of the one who knows little else than hard work.

Unsurprisingly, narratives on work also have a gendered element. People have told me, “But you’re a woman. Don’t you want to have a family?” While men have the freedom to be “obsessive” like Judd Apatow or “cocky” like Jerry Seinfeld (okay, I have been reading a lot of comic memoirs), there are fewer equivalent roles for women. The hard-working woman is often vilified, portrayed as cold and distanced from the ones she could love. There is no doubt that this perceived incompatibility between being female and hard-working contributes to the glass ceiling. I have all the more respect for Mindy Kaling for being among the few celebrity women who talks openly about hard work.

In “Is Food the New Sex?," Mary Eberstadt argues that food has replaced sex as the dominant mechanism for maintaining social hierarchy. It is fitting that Mindy Kaling is as open about loving McDonald’s as she is about working hard. If we are to promote inclusiveness and equal opportunity, we need to talk openly about work--and be critical of our fascination with the narratives around work, rather than the work that is done.

Sunday, January 11, 2015

My Week at Hacker School

I first heard about Hacker School last summer. I had run into my friend Lindsey Kuper at a conference in Edinburgh. She told me that she had been a resident and that I should do it too.

"You’ll like it," she said. "I can put you in touch with the people.”

I like being told I'll like things--makes it so much easier to decide. I needed to finish my thesis and get a job, but I also like to say "yes" and deal with the consequences later. One "yes" led to another and I found myself booking travel and accommodations for a week in New York in November.

Since I was busy working on my thesis and getting a job, I did not try too hard to figure out what to expect. Plus I was told I would like it. I had opened a tab with the Hacker School website and skimmed Phil Guo’s blog post on his residency. When people asked me about it, I would say words like "immersive," "free," and "retreat for programmers" and then change the subject.

When the time came, I made my way to my Soho room and then to the address they had emailed me. The second-floor open office space of Hacker School was abuzz with all the chaos and excitement of the first day of summer camp. The beginning of my residency, they told me, coincided with the first day of a new "batch." Every six weeks, a group of new students begin their twelve-week Hacker School experience, joining a group of more seasoned Hacker Schools finishing their experience. Residents are given the unique opportunity to insert ourselves for one or two weeks at a time and observe the unfolding of this social experiment.

A hidden advantage of starting with a batch was that I was initially anonymous. After I acquired my key I took my place by the breakfast spread of pastries and fruit. My PhD has trained me well for standing next to free food: smile politely; introduce yourself; do not take too much food at once. The first person I met was student who had quit a math PhD program (which he had begun at an impressively young age, I later learned) and spent the last year programming and traveling the world. The second person I met was a student who started teaching herself Lisp while working in a bar. She had just quit her dog-walking business to do Hacker School.

After the fifth person it was time for orientation. Here I finally learned the key facts. While Hacker School has hours of being "in session," students and residents all have a key to the space at all hours. Outside of check-ins at 10am and weekly presentations on Thursdays, students are responsible for their Hacker School experiences. The students decide what they want to learn and how they want to go about it--the faculty are there only for guidance and check-ins. Hacker School differs from many of these other 12-week programs in that it is not focused on teaching a specific skill (unlike, for instance, the Ruby on Rails boot camps). In addition, there is a focus on learning skills (functional programming; cryptography) rather than completing specific projects. Some students have a project or direction in mind when they arrive, but many seem to just show up and see where the experience takes them. (You can read more about why they started Hacker School here.)

Orientation kicked off a fun and perspective-changing week. On the first day, I introduced myself, stated my interests (programming languages and functional programming among them), opened “office hours” and waited to see what would happen. I advised some people on learning Haskell and Scala--and also “paired” with them for periods of time. I talked to one student who had gotten into programming through activism and organizing (I later read online that he had been quite involved with Occupy Wall Street) and introduced him to a friend working with city data. After I gave talks about the history about programming and about my work, some people asked me about programming languages and also programming languages research (verification; static analysis). One morning by chance I sat next to a student, Pedro, and we struck up a collaboration to create the Markov Tweet generator that now powers @MarkovRMS. Pedro was eighteen, from Sao Paolo, and had the coolest development environment of anyone I'd ever met.

Pedro, Libby, Fernando and I had dim sum for lunch one day.
And Pedro was only one of many fascinating people I met that week. There were students who were teenagers and students in their fifties and sixties, with grown children. Some had not gone to college; other had PhDs--one woman had studied Computational Geometry and coauthored a paper with MIT professor Erik Demaine, one of the most well-known people in our field. Some people hoped to transition into a programming job: some from non-programming backgrounds and some from having taken breaks from programming to do startups focused on other things. (From the placement of alums, it seems that students are quite successful in getting the jobs they want.) Perhaps because Hacker School gives a second chance to people who have not been programming since birth, the program is far more diverse than the typical tech company.

At Hacker School I was impressed not just with the individual students, but with the community that Hacker School has created. The students are respectful and supportive of each other while working on problems together and also while doing social activities--of which there are many. One reason this is impressive is because tech and programming culture are infamous for being "macho," "aggressive," and unwelcome to women and other minorities. In addition, it is quite an achievement to create a safe environment when the students do not have the built-in trust that comes from having superficial similarities. While many companies leverage “like me” bias to build trust in their teams, the only thing Hacker Schoolers often have in common is a baseline level of programming ability and the fact that they have left their jobs, families, and friends to focus on programming.

Photo from alum Laura Bledait's blog.
While careful student selection accounts for part of the healthy community dynamics, Hacker School’s social rules play an important role in maintaining the safe environment:
  • No feigning surprise. This is when someone will say something like "I've never had sushi before" and someone else responds with, “Really? I didn’t know there were people like that.” This exchange makes the second person feels superior and the first person self-conscious.
  • No well-actuallys. A "well-actually" is when one person states a fact and someone else jumps in to correct the person on a minor technicality. Especially when people feel vulnerable and/or struggle with Impostor Syndrome, well-actuallys are much more harmful than they are productive.
  • No backseat driving. Nobody likes backseat drivers.
  • No subtle "isms." Hacker Schoolers are discouraged from engaging in sexism, racism, classicism, homophobia, etc. To avoid flame wars, people are also encouraged to take someone's word for it--without discussion--if they say an "ism" has occurred.
There is something to be said honest and open discussion and feedback, but these often require a level of trust and respect--both of which take time to build. Given that Hacker School brings together such a diverse group of people for such a short period of time, these rules are surprisingly effective in establishing an environment where people feel safe and supported.

The other aspect of Hacker School's culture that impressed me was how much the students were able to learn and produce despite the lack of curriculum or explicit goal structure. The weekly presentations--and job placement of the candidates--suggest that emphasizing learning and collaboration over specific projects and deadlines can be effective. I was amazed by the diversity and quality of the projects students showed during the weekly presentations. One guy had built an app that tells you where to get a cab based on previous cab pick-ups. Two students had built a simple web framework and then built some websites on top of it.  In addition to having fun work to show, it seemed like people had fun doing the projects in the first place.

The no-pressure atmosphere of Hacker School gave me the opportunity to finally try pair programming, a practice where one person does the typing and the other person reviews each line of code. To help with motivation and to prevent students from getting stuck, Hacker School encourages all students to "pair" on projects. Due to deadline pressure and perceived effectiveness of splitting up tasks my partner(s) and I had always agreed on interfaces and worked separately. With Pedro I discovered how productive it was to have two people look at code at the same time: for catching syntax errors, for finding deeper bugs, and for discussing how to construct the program. Working on code with someone else also allows you to finally have inside jokes about your code with someone besides yourself.

In short, Hacker School is a magical place. For those in a position to get involved, I highly recommend it. For everyone else, it's worth keeping up with what Hacker School is doing--how they are questioning our assumptions about how we learn and work. Hacker School showed me the value in being intentional about culture. It also showed me the value of taking time from my deadline-driven, task-driven life to learn--and play. Also, when I have my own research group, I am definitely going to encourage people to pair on programming and other projects.

Perhaps it was for the best that I did not try to understand what Hacker School was before I experienced it. There is nothing else quite like it. And it might be just what we need to build a more inclusive tech culture.

Saturday, January 03, 2015

Hello 2015!

When I was younger, I had no clue what it would be like to be in my 20s in the mid-2010s. I’d like to report that I never thought life would be so fun.

For me, 2014 was a year of growth. I did some things I’m proud of: supervised a Masters of Engineering thesis, published my first articles outside of my blog (for instance this Wired opinion piece), and started giving public talks about both computer science and technical privilege. I also started journaling again and have a better framework for reflecting on how I feel about my life. Here are some things I’ve been working on in the last year.
  • Building my personal community. Surrounding myself with like-minded people interested in similar things is important not only to my happiness, but also my personal growth. In the last couple of years, many of my friends have graduated and moved away. I’ve also moved on from actively contributing to building other communities, for instance Graduate Women at MIT. This has all left a bit of a lonely void, but it’s also given me a chance to think about how I want to focus my time—and social energy. I’ve been thinking about how my interests in computer science and technology fit in with my desire to more directly engage with and contribute to society. To explore this, I’ve been adding more people with writing, journalism, and civic participation interests to my personal community. I’ve also been exploring this through running NeuWrite Boston, a workshop for scientists and science writers. I feel incredibly grateful to learn from and grow with the brilliant fascinating people who are part of my world!
  • Taking breaks. After spending years trying to find work/life balance on a daily or weekly level, I’ve realized that I’m better at sprinting and resting than moving along at a consistent pace. (Also, in many cases, work/work balance is good enough for me.) Rather than limiting myself to 8-10 hour workdays I’ve given myself permission to go harder when I’m in the middle of something good. Afterward, rather than just pretending I haven’t overworked, I’ve also been more conscious about giving myself the appropriate amount of time to recover. As part of this, I experimented with taking longer—and different—breaks. I spent more time on beaches this year than I did in previous years. I also traveled for my longest consecutive block of time yet: following a conference in Edinburgh in the beginning of June, I traveled around until a friend’s June 28th wedding in Croatia. (Part of this was work/work balance, with research visits I had arranged.) When I came back I was shocked at how relaxed I felt--and about the new ideas I had formed about my life and work. (Sara Watson also wrote this fun article about what I learned about my Android phone.) Even though I'm taking longer "breaks," it doesn't seem like I've been getting less done--and I've been appreciating how changes of scene and pace has left me feeling more rested.
2015 is supposed to be a year of change: I’ve applied for Assistant Professor positions and I’m supposed to finish my PhD. Depending on how many interviews I get, this spring could get quite busy. By the end of the spring I will have made some decisions that constrain my life’s possibility space for the next few years—but it will still be a large space with many exciting things. I’m a bit nervous because I’ve seen other people I respect and admire struggle with this time in their lives, but I also have some great examples of people who managed to really enjoy their final years. Given all that’s about to happen, here are my resolutions for 2015:
  • Know my priorities and keep them in perspective. While it’s important to play the game to be able to keep working on the problems that I find most interesting and challenging, it seems all too easy to get consumed by the game. There are real pressures involved in obtaining and doing the job of an Assistant Professor: you may be familiar with the reported long hours and poor mental health of young academics. It will be important to remember why I want to be in academia in the first place: for the problems, for the people, and for the platform for improving access to computing—not necessarily for the prestige or for things that other people might want. It’s also important to remember what’s important to me about being a human as opposed to a disembodied virtual research-generating entity: my health (physical and mental) and my relationships with other people. Regular reflection is important for keeping all these priorities in perspective. Towards this I would like to meditate and journal at least once a week. Continuing to take the appropriate breaks will also help with this.
  • Embrace uncertainty—rather than fearing it. It feels comfortable and it feels safe to know that good things are going to happen. I spend a good amount of time wishing I could know what would happen. (Knowing where I’m going to be geographically is a big one.) On the flip side, it’s incredibly exciting not to know what is going to happen. In addition, I am lucky enough that nothing really bad is going to happen. In the words of my friend Alison, I know I’m going to have “a roof over my head and food to eat.” Even if I don’t end up getting something I want at the time, any outcome will provide opportunities for growth. Whenever I’m thinking about how I wish I knew what was going to happen, I would like to remember how exciting the possibilities are—and how they are all good. Keeping things in perspective will help. :)
Because people are more likely to achieve things if they publicly announce their intentions, I’ll also say some of the things I’d like to work on this next year. After finishing my thesis I’m excited to work on some of my future research ideas. I’d also like to keep reducing the gap between my professional and personal interests. I’d like to keep thinking about how my interest in programming languages can be combined with my interests in civic participation and social justice. (In this theme, Ari Rabkin and I are writing a piece for the first 2015 issue of Model View Culture about how social biases manifest as biases against programming languages.) Part of this involves thinking about how to make computing accessible to more people. I remain deeply interested in thinking about empowering people through the design and dissemination of programming languages as well as through promoting equal opportunity in computing.

Something I didn’t always realize was that rather than becoming your Final Self at some point, you keep growing—and if this is something important to you, you can get exponentially better at it every year. I’m liking my Current Self better and better every year. I can’t wait to see how we grow in 2015!

Sunday, October 05, 2014

Technical Privilege Reading List

People have been asking about the books I mentioned during last Friday's Challenging Technical Privilege Symposium at MIT. (The symposium was fantastic. So many people came and asked great questions. The video should be up soon!) Below I list the books I mentioned, along with some other books for people interested in the topic. Enjoy. (These are heavy topics, but these books are well-written, engaging, and provide actionable solutions.)

Essential Reading
  • The Curse of the Good Girl (Rachel Simmons, 2010). About how we socialize girls to self-censor. An important read for parents and educators of girls, and also for everyone else to understand why women behave more conservatively than men. (The question of whether this is a "curse" is up for discussion, but it certainly holds women back in a man's world.)
  • Talking from 9 to 5: Women and Men at Work (Deborah Tannen, 2001). Georgetown sociolinguist talks about the "cultural" differences between the way men and women speak and how this affects workplace dynamics--and evaluations. She observes, for instance, that men aim to achieve dominance in conversations, while women aim to prevent their conversation partner from being subordinate. Men assert facts; women give compliments. Because of these dynamics, observers will agree that men "win" workplace conversations.
  • Unlocking the Clubhouse (Jane Margolis and Alan Fisher, 2003). Talks about the authors' research about why women tended to shy away from studying computer science and why women leave. They give concrete explanations for how women are socialized to have less interest: for instance, in families the computer will much more likely be in a son's room than a daughter's room. They also talk about phenomena such as how women cite poor performance as the reason they leave computer science, but in fact they are doing better than men who stay. (Curse of the Good Girl!)
  • Why So Slow? The Advancement of Women (Virginia Valian, 1999). I learned so much from this book! It is full of useful facts and explanations. Psychology professor Valian talks about studies that show there is bias against women: for instance, when people are shown resumes with women's names, the resumes need 1.5x the achievements to be assigned the same title. She talks about everything from work to clothing (how men have a uniform whereas all women are "marked") to physical traits (hypermasculinity is associated with competence, whereas hyperfemininity is associated with incompetence) to misconceptions about gender and emotional stability (people talk about women's monthly cycles, but men have both a daily and a yearly cycle). Understanding these gender biases and difference is an important first step towards improvement.

Other Reading

A related thing I also mentioned is the Representation Project's movie The Mask You Live In, coming out in 2015, about American constructions of masculinity and how it's limiting to men. I highly recommend watching the trailer!

Sunday, September 21, 2014

Some Cooking Updates from the Kitchen-Field

I've been making some slow and steady progress in expanding my cooking repertoire. I even got some plants to aid in cooking! Here are some reports from the kitchen-field (because there are plants now, see) covering the main advances. With thanks to Aliza Aufrichtig and Loris D'Antoni for their expertise and consultation.

Here are some things I've started keeping around my kitchen:
  • Ginger root. I use this with onion or garlic as a base flavoring in stir-fries. I also use it to make ginger lemon tea, which pretty much cures all ailments. (Lazy person's amendment to the recipe: just cut the ginger coarsely and cook it for a really long time instead of grating it.)
  • Dried shrimp. Great for various easy-ish Chinese gourd dishes, for instance bitter gourd and winter melon.
  • Sichuan peppercorns. These little numbing things are great for putting in stir-fries (at the beginning is when I do it), broths, and probably other things. You can use them whole or grind up them up to distribute the flavor.
  • Parsley. Okay, I was late to the party with this universal garnish. I've started getting it more and I even tried to have a parsley plant for a while. The plant didn't go well; Loris made me feel better about it by saying that parsley plants don't regenerate that much anyway. Loris told me about the trick of freezing parsley into ice trays so you have exactly the right amount to use later. (I am not that fancy; I freeze my parsley all together loosely in a container and then shake out a handful at a time.)
  • Basil. Late to the party on this one too obviously. I didn't start using it a lot until I tried having a basil plant, since I had trouble keeping fresh basil around. (This plant didn't go well either.) In preparation in harvesting all those leaves from my basil plant (that actually wilted before anticipated harvest), I bought a lot of basil from the store and practiced using it. I learned how to freeze it--a real innovation! I also invented a great snack: Greek yogurt, blueberries, honey, and BASIL.
  • Thyme. I only recently learned how to cook with thyme, but it seems to go great with tomato pasta sauces and meats. Loris tells me thyme is a good herb to have fresh in my kitchen, so I recently acquired a thyme plant. Fingers crossed that this plant lasts longer.
  • Turmeric, coriander, cumin, and various other Indian-related spices. (I got a masala dabba to hold them!) They're useful for Indian recipes, obviously. I've also started playing around with putting these spices into stir-fries in small amounts.
  • Thai fish sauce. This one is pretty pungent, but I've started using it to put on noodles (along with sesame oil) and also to flavor stir-fries. It look me a couple of days maybe to get used to the taste and smell, but I really like it now.
I've also started keeping around Sauvignon blanc or Gruner Veltiner (white wines) for the purpose of cooking pasta sauce. I've tried using it with vegetables as well (as well as capers with vegetables), but I haven't entirely gotten the hang of that yet.

Here are some favorite recipes that have proven to be easier than I anticipated:
Here are some snacks and other things I've recently invented:
  • Well, that snack with Greek yogurt, blueberries, honey, and basil.
  • This other snack that involves dicing up a pear or nectarine, heating it with maple syrup, and then adding a couple spoonfuls of Greek yogurt. Optional oatmeal makes it more cobbler-like.
  • This sauce for baked salmon with chopped up capers, parsley, basil, vinegar, and olive oil. Salt and pepper the salmon to your liking, bake at 350 degrees for 15ish minutes, and then put the sauce on.
Also food-related: coconut oil is great for maintaining bamboo cutting boards and sesame oil is a great hair and body moisturizer. Who knew? Jump on; it's trendy to use oils for everything now.

Thursday, September 18, 2014

Experiment: Daily GitHub Checkins

I've been doing a lot of relatively mindless but decently labor-intensive code-related work (colloquially known, especially in the brogrammer community, as "coding bitch work"). I've been building up some web-based case studies in my Jeeves programming language. I've also had to take over some student code. Taking over this code was particularly painful because of all the managerial regret I felt: regret about not having made them document better, about not having made them do more work. The takeover process has involved a lot of commenting, test-writing, and the occasional small extension to test that I really know What's Going On.

Anyway, to try to mitigate the pain of these various tasks, or to spread it out and prolong it, I've decided to break from my usual model of nothing-nothing-nothing-OMGdeadline and do a small task every day that I work (which, note, does not include all days), big enough to warrant a GitHub checkin. (For those on the outside, being a computer science PhD student, at least if you're me, involves a lot of paper-reading, talk-preparing, writing, thinking, and "thinking" in addition to coding.) I hypothesized that this would be good for me to make incremental progress on some things that just aren't fun to do, as well as improve the general documentation state and cleanliness of my code and tools. I get pretty obsessed with arbitrary routine, so it's worked out decently well so far. (Check me out.) This policy has definitely made me write some documentation and tests I otherwise would not have written. (Although my pseudo-officemate Joe would argue that this is not "real work.") I'll report on things after we hit "OMGdeadline" and let you know how well it worked.

In the spirit of doing things in smaller increments, I'm also making it a goal to do smaller blog posts instead of the Blog Essays (also see my profile on Medium) I've gotten into a habit of doing. I've dramatically curbed my email habit (I wrote a thing here), so maybe these more frequent blog checkins will give my pent-up words somewhere to go.