Writing Again

Today marks 2 months since I was laid off from my job at DataRobot. It was part of a 25% reduction that was made in anticipation of the business slump from the COVID-19 pandemic, and having just been there for 6 months, I was one of the ones let go.

I have spent the last two months like most of you largely confined to my home, with only an occasional trip to the grocery store. Since I was home with all this newfound free time on my hands, I decided to work on a lot of projects that I’ve had to put off. Now that those are largely complete, I need to find a new outlet to occupy my time. So today I’m going to start on a program of writing every day; you’re reading the first entry.

Not to brag, but I’ve always been pretty good writer. The biggest problem that I have is perfectionism: I want to edit/rewrite until it can’t be tweaked any more. As an example, I was stuck for 10 minutes just coming up with a title for this post! I mentioned this tendency in the very first post of this blog: I was about to travel to Australia, and wanted to have a way to record my impressions. I had hardly ever traveled outside the US, so this was a really big deal for me.

I kept it up for a short while, but soon fell back into my old ways: starting a post, and then abandoning it because it didn’t feel good enough. When I joined IBM in 2014 as an OpenStack developer, part of my role was to be outspoken, and writing blog posts was one way to do that. So for a while I was posting fairly regularly. This time, though, it was the blowback from those posts that caused me to lose interest in writing. You see, the OpenStack developer hierarchy is designed to discourage change and alternate approaches, both of which were the frequent topics of my posts. It discouraged me because I was publicly criticized by many of the “core” developers, who seemed to take my ideas as threats to the way they were doing things. It was even more discouraging that I received at least as much private thanks and praise from others, all of whom were not comfortable expressing support publicly, less they lose political capital with the core developers. I have a post I started and never finished on this toxic atmosphere; maybe one of these days I’ll finish it as part of this new effort.

So I’m now going to reiterate my initial pledge: I will limit myself to a one edit rule: after the post is written, I’ll go over it once for typos, etc., and then publish it. I’m also setting a minimum of 30 minutes per day to write, and to publish it no matter how good I feel it is. There will be no set topic; one day it may be my thoughts on photographic composition, the next may be a tirade about the latest Trump atrocity. But I do hope that what I write is as interesting for you to read as it is for me to go through the process of writing.

Damned If You Do

The recent spate of canceled conferences, sporting events, etc., due to concerns about spreading infection of the coronavirus COVID-19 has made me think about what will happen if these efforts are successful.

Back in the late 1990s, people realized that a lot of software written in the mid-20th century had a problem: due to the expense of storage, programmers shortened the way years were stored, so that something like 1978 would be stored as 78, with the century assumed. This was fine, but as that software aged, and the coming change of century approached, it was realized that many critical software problems would go from December 31, 1999, to January 1, 1900. This was the Year 2000 problem, commonly abbreviated as Y2K.

Having recognized the issue, most software companies invested heavily in updating their software to use full 4-digit representations for the year. It was tedious work; I personally had to write a series of tests for my projects that verified that things would continue to work in the year 2000. But because the warning was heeded, by the time that January 1, 2000 came most software had been updated. As a result, all of the doomsday scenarios (such as planes dropping from the sky) had been avoided. Yes, there were some billing glitches that were missed, but because of the intense efforts to address this problem, there were no serious problems.

What was the public’s reaction to this? Did they laud the developers for successfully averting a potential problem? Of course not. Instead, they reacted with disdain: “I thought this was going to be the end of the world! Nothing happened!”.

And that’s the point: because the warnings were heeded, and action was taken, nothing catastrophic happened. It didn’t mean that the problem wasn’t real; it just meant that the tech community understood the problem, and addressed it head-on.

So I’m wondering what will happen if the common-sense steps we are taking now to avoid spreading this virus ends up that not that many people get sick or die: will the Fox News people start complaining that it was all a politically-inspired hoax? That the liberal media tried to make Trump look bad by crying wolf? It almost makes me think that if there is a terrible body count, people will be ridiculed for taking ineffective steps, but if there isn’t such a terrible outcome, the steps that were taken will be ridiculed as overreaction, or, even worse, a political stunt.

Damned if you do; damned if you dont.

Why Go to a Tech Conference?

Good question! It does seem unnecessary, especially since most major conferences record every talk and make them freely available online. PyCon has been doing this for many years, and are so good at it that the talks are available online shortly after they are finished! So there’s no real penalty for waiting until you can watch it online.

I suppose that if you look at tech conferences as simply dry tutorials on some new tool or technique, the answer would be “no, you should save your money and watch the sessions at home”. But there are much bigger benefits to attending a conference than just the knowledge available at the talks. I like to think of it as pressing the restart button on my thinking as a developer. By taking advantage of these additional avenues of learning, I come away with a different perspective on things: new tools, new ways of using existing tools, different approaches to solving development issues, and so much more that is intangible. Limiting yourself to the tangible resources of a conference means that you’re missing out. So what are these intangible things?

One of the most important is meeting people. Not so much to build your social network, but more to expand your understanding of different approaches to development. The people there may be strangers, but you know that you have at least one thing in common with them, so it’s easy to start conversations. I’ve been to 14 PyCons, and at lunch I make it a point to sit at tables where I don’t know anyone, and ask the people there “So what do you use Python for?”. Invariably they use it in ways that I had never thought about, or to solve problems that I had never worked on. The conversation can then move on to “Where are you from?”; people usually love to brag about their home town, and you might learn a few interesting things about a place you’ve never been to. Many people also go out to dinner in groups, usually with people who know each other, but I always try to look for people who are alone, and invite them to join our group.

Another major benefit of attending in person is what is known as the “hallway track”. These are the unscheduled discussions that occur in the hallways between sessions; sometimes they are a continuation of discussions that were held in a previous talk, and other times they are simply a bunch of people exchanging ideas. Some of the best technical takeaways I’ve gotten from conferences have come from these hallway discussions. When you’ve been to as many PyCons as I have, there are many people I run into who I haven’t seen since the last PyCon, and we can catch up on what’s new in each other’s lives and careers. Like the lunchtime table discussions, these are opportunities to learn about techniques and approaches that are different than what you regularly do.

Closely related to the above is the “bar track”. Most conferences have a main hotel for attendees, and in the evening you can find lots of people hanging out in the bar. The discussions there tend to have a bit less technical content, for obvious reasons, but I’ve been part of some very technical discussions where the participants are all on their third beer or so. But even if you don’t drink alcohol, you can certainly enjoy hanging out with your fellow developers in the evening. Or, of course, you can use that time to recharge your mental batteries.

Yet another opportunity at a conference is to enhance your career. There is usually some form of formal recruiting; if you’re looking for a change of career, this can be a valuable place to start. I’ve heard some managers say that they won’t send their developers to conferences because they are afraid that someone will hire them; it makes you wonder why they think their developers are not happy with their current job! But even if you’re not looking to make a career move at the moment, establishing relationships with others in your field can come in handy in the future if your job suddenly disappears. You can also learn what companies are looking for skills that match yours; I was surprised to learn that companies as diverse as Disney, Capital One, Yelp, and Bloomberg are all looking for Python talent. As an example, back at PyCon 2016 I met with some people recruiting for DataRobot, and while I didn’t pursue things then, they made a good impression on me. When I was looking for a change last year and got a LinkedIn message from a recruiter at DataRobot, I remembered them well, and this time I followed up, with the result that I’m now happily employed by DataRobot!

Unfortunately, I’ve seen people who arrive to a conference with a group of co-workers, attend the sessions, eat with each other at lunch, and then go out to dinner together. By isolating themselves and confining their learning to the scheduled talks, they are missing out on the most valuable part of attending a conference: interacting with your community, and sharing knowledge with your peers. If this sounds like you, I would advise you to try out some of the things I’ve mentioned here. I’m sure you will find that your conference experience is greatly improved!

Deep Dish Pizza

OK, cards on the table: I’m a New Yorker, and I have a very strong attachment to pizza (and bagels too, but that’s another post). So I find myself in Chicago, staying one block from Gino’s East, so I figured it was time to finally try Chicago-style deep dish pizza.

I sat at the bar, and asked the bartender for his recommendation for the best intro to deep-dish pizza for a non-meat-eater. He recommended the O.M.G. pie, which has mushrooms, green peppers, and onions, so I ordered that. They offered a 9″ and 12″ version, and as I was by myself, I got the 9″.

My 9″ OMG pie

AS you can see, the pie came in its own pan, and the first piece was cut out for me. Subsequent pieces (I can’t call them “slices”) required cutting out with the spatula.

I was familiar enough to know that ingredients are upside-down compared to pizza, with “toppings” on the bottom, followed by cheese, and then the tomato sauce. It certainly looked tasty enough! So I dug in.

The first thing that’s odd is that you need a knife and fork to eat it. No self-respecting New Yorker would ever use a knife and fork to eat a pizza. But hey, this is Chicago, not New York, so I embraced that approach. And I must say, it was very tasty: the tomato sauce was fresh and bright, the cheese was rich and stringy, and the veggies were also good. But the crust?

A split-personality meal

It’s very odd: there is little or no crust underneath all the other good things. Instead, it’s all bunched up on the edge. And it isn’t anything like a pizza crust; rather, it’s a dense, cake-like bread. So as best as I could figure out, you eat the sauce/cheese/fillings, and then are left with a bunch of dense bread.

A hunk of dense bread

And the crust itself was good, but man oh man was it filling. I was barely able to finish half the pie. Contrast that with a 9″ thin-crust pie, which leaves room for dessert.

So what can I say? It was enjoyable, but it wasn’t pizza. I’d like to think of it as a tasty bread-based casserole. Now I can’t wait to get back to New York to experience the real thing once more.

Towel Theory

A popular way of looking at the effort that someone with a chronic illness must expend to get through the day is Spoon Theory. It came about when the author, who has lupus, was in a restaurant trying to illustrate to her friends how she must ration her efforts to avoid exhaustion. She gathered spoons from nearby tables, gave them to her friend, and asked her to list the activities for a typical day. As her friend recited the activities she would have a spoon taken from her. Once those spoons were used up, any further effort that day would be nearly impossible.

This metaphor for expending limited resources has become very popular in communities for those with such chronic illnesses; some even refer to themselves as “spoonies”. I’ve also heard Spoon Theory applied to introverts, who can be in social situations for a much shorter time than others. I am an introvert, and I guess I could never quite feel that Spoon Theory was an accurate description of what my exhaustion felt like. I’m also a bit too literal at times, so the concept of somehow your spoons getting replenished didn’t seem realistic – is there some spoon delivery service? Spoons also don’t lend themselves to division: how would you spend half a spoon? Yes, I understand that this is all a metaphor, but effective metaphors should have clear connections to the reality they are describing. For it wasn’t just the simple passing of time that recharged me; it was how that time was spent made a huge difference in how quickly I could handle more activity among others.

One day I was hanging up a towel after a shower, and I thought about the cycle of use for a towel. A fresh towel can dry off a person who has just bathed, but there is a limited capacity any towel has for this. Once it has absorbed enough water, it can’t absorb any more. So after drying the person, the towel has to dry itself out. And it isn’t just the passing of time that is needed, but also proper placement of the towel. Leaving the towel balled up on the floor would require a very long time for the towel to fully dry; it would probably get mildewed first! But if you were to hang it up so that air is able to circulate around it, it will be dry much more quickly. And if you hung it on a clothesline outside in the sun on a breezy day, it would be dry in no time at all!

Towels also come in different sizes and materials, both of which affect its capacity to absorb water. The drying task that the towel is used for also affects its usefulness: drying a hand here and there would never saturate it, but being wrapped around someone stepping out of a pool soaking wet would test its limits.

8pc Cotton Bath Towel Set - image 1 of 6

Introverts are like smaller towels that more quickly reach their limit absorbing social interactions. My experience attending tech conferences seems to mirror the cycle of towels. If I’m listening to sessions, with only occasional interactions, I can go all day. If I’m involved in lots of discussion-type sessions, I can’t go nearly as long. If I’m giving a talk, that’s even more draining. And when I’m staffing a booth, where I need to be constantly talking with all sorts of people, I run out of energy much more quickly. For a towel, that would be like being held under a running faucet: it loses its ability to dry very quickly.

How I “hang myself up” also determines how quickly I recover. I can sit in a corner of the conference and work on my laptop, but it’s much better if I can work in my room where there are no other people walking around. And what seems to work best for me is to go outside and walk around: the movement, the fresh air, the different visual scenery – all that helps me feel more energized. The last few years I have made it a practice that, weather permitting, I find a block of time toward the middle of the day, and go outside walking with my camera. Being a photographer, I can often get some good opportunities, no matter where the conference is held. And it seems that focusing my brain on creativity for an hour or so allows me to feel energized and able to immerse myself back into the conference events. It’s like a clothesline in the sun for my towel!

So I hope that Towel Theory does as much to help people understand what the introvert experience is like as Spoon Theory has done to help illustrate the situation of people with chronic illnesses.