Twitter interactions are not a polling mechanism

Way back in the day, clever Brands tried to conduct Twitter polls by saying “retweet for the first choice and favorite (now like) for the second choice.” This was obviously very prone to bias. The first choice’s fans will spread the poll, so virality favors the first option. But it was also the best choice available, other than linking to an external poll site (which means a much lower interaction rate).

Then Twitter introduced native polls. Now you can post a question with up to four answers. It even makes a nice bar chart of the results. Twitter interactions are not a polling mechanism, so why are you using them?!

The answer lies in the word “interaction”. Social media interactions are a way for Brands to measure the success of their social media efforts. Conducting polls via interactions instead of the native polling mechanism are a cheap way to drive up interactions. It’s a good indication that you’re not interested in the answers. People who want actual answers can use polls.

This concludes today’s episode of “Old man yells at cloud”.

Date-based conditional formatting in Google Sheets

Sometimes a “real” project management tool is too heavy. And spreadsheets may be the most-abused software tool. So if you want to track the status of some tasks, you might want to drop them into a Google spreadsheet.

You have a spreadsheet with four columns: task, due, completed, and owner. For each row, you want that row to be formatted strikethrough if it’s complete, highlighted in yellow if it’s due today, and highlighted in red if it’s overdue. You could write conditional formatting rules for each row individually, but that sounds painful. Instead, we’ll use a custom formula.

For each of the following rules, apply them to A2:D.

The first rule will strike out completed items. We’ll base this on whether or not column C (completed) has content. The custom formula is =$C:$C<>"". Set the formatting style to Custom, clear the color fill, and select strikethrough.

The second rule will highlight overdue tasks. We only want to highlight incomplete overdue tasks. If it’s done, we stop caring if it was done on time. So we need to check that the due date (column B) is after today and that the completion date (column C) is blank. The rule to use here is =AND($C:$C="",$B:$B<today(),$A:$A<>""). Here, you can select the “Red highlight” style.

Lastly, we need to highlight the tasks due today. Like with the overdue tasks, we only care if they’re not done.=AND($C:$C="",$B:$B=today(),$A:$A<>""). This time, use the “Yellow highlight” style.

And that’s it. You can fill in as many tasks as you’d like and get the color coding populated automatically. I created an example sheet for reference.

Other writing – June 2016

What have I been writing when I haven’t been writing here?

Stuff I wrote

Red Hat/Fedora

Microsoft

Stuff I curated

Microsoft

 

Solved: ports on ThinkPad Thunderbolt dock doesn’t work with Fedora

I got a new ThinkPad X1 Carbon laptop for work. Of course I immediately installed Fedora 28 on it. Everything seemed to work just fine. But the laptop came with a ThinkPad Thunderbolt dock and when I went to go use it, I noticed the Ethernet port didn’t work. Then I noticed the USB ports didn’t work. But at least the HDMI port worked? (Full disclosure: I didn’t try the VGA port).

It turns out the solution was really simple, but I didn’t find a simple explanation so I’m putting one here. (Comment #17 of Red Hat Buzilla #1367508 had the basic solution. I hope this post becomes a little easier to find.)

The dock uses Thunderbolt which includes some security features. A package called bolt provides a management tool for this. Happily, it’s already in the Fedora 28 repo.

First, I installed it

# dnf install bolt

Then I examined the connected device


# boltctl list
● Lenovo ThinkPad Thunderbolt 3 Dock
├─ type: peripheral
├─ name: ThinkPad Thunderbolt 3 Dock
├─ vendor: Lenovo
├─ uuid: 00cd2054-ef95-0801-ffff-ffffffffffff
├─ status: connected
│ ├─ authflags: none
│ └─ connected: Fri 29 Jun 2018 03:13:10 PM UTC
└─ stored: no

Finally, I enrolled the device

# boltctl enroll 00cd2054-ef95-0801-ffff-ffffffffffff
● Lenovo ThinkPad Thunderbolt 3 Dock
├─ type: peripheral
├─ name: ThinkPad Thunderbolt 3 Dock
├─ vendor: Lenovo
├─ uuid: 00cd2054-ef95-0801-ffff-ffffffffffff
├─ dbus path: /org/freedesktop/bolt/devices/00cd2054_ef95_0801_ffff_ffffffffffff
├─ status: authorized
│ ├─ authflags: none
│ ├─ parent: cf030000-0080-7f18-23d0-7d0ba8c14120
│ ├─ syspath: /sys/devices/pci0000:00/0000:00:1d.0/0000:05:00.0/0000:06:00.0/0000:07:00.0/domain0/0-0/0-1
│ ├─ authorized: Fri 29 Jun 2018 03:19:39 PM UTC
│ └─ connected: Fri 29 Jun 2018 03:13:10 PM UTC
└─ stored: yes
├─ when: Fri 29 Jun 2018 03:19:39 PM UTC
├─ policy: auto
└─ key: no

After that, everything worked as expected. I’d like to thank the people who did the work to discover and implement the fix. I hope this post means a little less Googling for the next person.

It’s hattening!

Pretend I wasn’t too lazy to edit the text.

Remember how I told you I quit my job? Well as this post publishes, I’m starting my new job. I’ve joined Red Hat as the Fedora Program Manager. I’ve been a Fedora user and contributor for a long time, so it’s great to be paid to be a part of the community. And Red Hat is a great company. I’m really excited about what’s to come.

Stay tuned here and the Fedora Community Blog for more updates on what I do as the FPgM.

Reinforcing unintended consequences

I heard a story on NPR last week about how the oil industry is changing in Alaska. Specifically, it is adapting to climate change. You see, as air temperatures warm, the permafrost becomes less perma- and less -frost. This presents challenges for energy extraction operations.

Of course, entrepreneurs have stepped in with solutions to help. Not to mitigate the effects of climate change, but to allow the industry to better cope with it. For example, one company deploys sensors to determine when construction of ice roads can begin. These roads made out of literal frozen water are an important part of getting materiel to and from drill sites.

But what really struck me was the company that’s helping oil sites keep buildings cold. Thawing permafrost means the buildings shift. This leads to cracks in walls and ceiling, stuck doors, etc. So what is their solution? Pipes filled with coolant extract heat from the ground and release it into the air. This, of course, requires the input of additional energy (probably derived from fossil fuels).

I get it. Energy is a complicated problem with no easy solutions. A sudden stop to petroleum usage, while good for carbon dioxide levels, is ruinous to Alaska’s economy. But it’s an important reminder that we sometimes deal with unintended consequences by reinforcing them. And that is not sustainable.

Book review — A Lawyer’s Journey: The Morris Dees story

It’s easy to see the modern Ku Klux Klan (KKK) not as the domestic terrorism organization that murdered and oppressed black and Jewish people for decades, but as a small group of impotent ragers making noise on the fringes of society. And it’s equally tempting to see this diminished stature as the direct result of society coming to realize that the KKK’s views are abhorrent. But for as much as we might like to think that American society marginalized the KKK on its own, credit also goes to the Southern Poverty Law Center (SPLC). The SPLC’s novel suits against KKK organizations helped bring legal constraints and financial ruin to prominent KKK organizations in a time when they were feeding off the resentment festering in the wake of the civil rights movement.

At the center of the suits was SPLC co-founder Morris Dees. In his book, co-authored with Steve Fiffer, Dees tells his story. He talks about how his upbringing as the son of a poor Alabama farmer shaped his life and his resulting career as a private attorney and the leader of a prominent anti-hate-group non-profit.

I received a copy of A Lawyer’s Journey after making a donation to the SPLC. If I knew I was going to receive a copy when I made the donation, I had certainly forgotten by the time it showed up. The title hardly suggested an exciting read and I didn’t know who Dees is. Nonetheless, I picked it up. Within a few chapters, I had a hard time putting it down.

As a white person who grew up in the (nominally) not-South during the time many of the cases in question were tried, I had very little knowledge of the efforts the SPLC and others made to stop the KKK in the 1980s. I assumed that the KKK went away because polite society realized it couldn’t tolerate white supremacy. Instead I learned how a few very motivated lawyers (and their brave clients) went toe-to-toe with the KKK using legal strategies that had never been tried.

As interesting as the content is, this book is not great from a literary point of view. The timeline jumps around without a clear reason. As with any autobiography, readers are obliged to read with a critical eye. Even if Dees is entirely truthful in what he tells, he presents only what he wants the reader to see. He mentions his divorces in passing, but his personal life beyond his teens years is largely absent. Apart from describing the time he and his daughter fled to a panic room (and her subsequent attendance at a major trial), we don’t know what effect the lawyer’s journey had on his family’s journey.

Given the recent resurgence of nationalism and white supremacism, this book deserves a read. People can fight hatred in many ways, and Morris proved that civil suits can be effective.

International House of Brand mistakes

Last week, restaurant chain IHOP (fully known as “International House of Pancakes”) teased a name change. They’re going to flip the “P” and become IHOb. But what does the “b” stand for? Breakfast? Biscuits? Blockchain? Belly aches?

On Monday we learned it stands for “burgers”. It’s a temporary name change to promote their new Ultimate Steakburgers. And I think it’s pretty dumb.

IHOP has a well-known brand. They’ve sold non-breakfast-food for as long as I’ve been aware of them, but — as the name suggests — breakfast food is their bread and butter. They got a lot of free publicity out of this stunt, but that doesn’t necessarily mean it was beneficial. The reaction I’ve seen has mostly been negative, including this scathing take:

You can get a burger in just about any restaurant in America. Even a temporary abuse of the brand to go after a crowded space seems cruel to a brand that has served so well. As The 22 Immutable Laws of Branding points out, products aren’t sold anymore, they’re bought. And they’re bought because of branding. A brand can be a company’s most valued asset.

Maybe this works out for them, but I expect that it doesn’t give IHO* any long-term benefit. What would be more interesting to me is dropping the non-breakfast menu entirely. There’s something to be said for simple food menus. The more items on the menu, the less often they get made. This means less skill in that recipe for the cooks and more ingredients that need to be stocked (and potentially sit for a while). With a simple menu, you can do a few things really well.

McDonald’s has learned this lesson over and over again over the years. Every time they expand their menu, quality and customer satisfaction seem to go down. So they simplify the menu a bit for a little while, until it’s time to chase a new customer segment. In comparison, Chick-Fil-A has a relatively small menu that they execute well. Restaurants don’t need to be everything to everyone, and I think there’s space for a “we only serve breakfast, you’ll just have to like it” chain. Let’s face it: few things are as popular as breakfast foods at not-breakfast times.

But if IHO* is really serious about competing in a crowded burger space, there are better ways to go about it. “Burgers are like pancakes made of meat!” is a slogan that just came to mind. It’s not great, but it could be worked on. Sure, it might get less attention than changing the name to “IHOb”, but attention doesn’t necessarily mean increased sales. Sometimes it’s not how many people you reach, but which people you reach and what message you reach them with.

But at least other brands are having fun:

Microsoft bought GitHub. Now what?

Last Monday, a weekend of rumors proved to be true. Microsoft announced plans to buy code-hosting site GitHub for $7.5 billion. Microsoft’s past, particularly before Satya Nadella took the corner office a few years ago, was full of hostility to open source. “Embrace, extend, extinguish” was the operative phrase. It should come as no surprise, then, that many projects responded by abandoning the platform.

But beyond the kneejerk reaction, there are two questions to consider. First: can open source projects trust Microsoft? Secondly, should open source (and free software in particular) projects rely on corporate hosting.

Microsoft as a friend

Let’s start with the first question. With such a long history of active assault on open source, can Microsoft be trusted? Understanding that some people will never be convinced, I say “yes”. Both from the outside and from my time as a Microsoft employee, it’s clear that the company has changed under Nadella. Microsoft recognizes that open source projects are not only complementary, but strategically important.

This is driven by a change in the environment that Microsoft operates in. The operating system is less important than ever. Desktop-based office suites are giving way to web-based tools for many users. Licensed revenue may be the past and much of the present, but it’s not the future. Subscription revenue, be it from services like Office 365 or Infrastructure-as-a-Service offerings, is the future. And for many of these, adoption and consumption will be driven by open source projects and the developers (developers! developers! developers! developers!) that use them.

Microsoft’s change of heart is undoubtedly driven by business needs, but that doesn’t make it any less real. Jim Zemlin, Executive Director at the Linux Foundation, expressed his excitement, implying it was a victory for open source. Tidelift ran the numbers to look at Microsoft’s contributions to non-Microsoft projects. Their conclusion?

…today the company is demonstrating some impressive traction when it comes to open source community contributions. If we are to judge the company on its recent actions, the data shows what Satya Nadella said in his announcement about Microsoft being “all in on open source” is more than just words.

And in any acquisition, you should always ask “if not them, then who?” CNBC reported that GitHub was also in talks with Google. While Google may have a better reputation among the developer community, I’m not sure they’d be better for GitHub. After all, Google had Google Code, which it shut down in 2016. Would a second attempt in this space fare any better? Google Code had a two year head start on GitHub, but it languished.

As for other major tech companies, this tweet sums it up pretty well:

Can you trust anyone to host?

My friend Lyz Joseph made an excellent point on Facebook the day the acquisition was announced:

Unpopular opinion: If you’re an open source project using GitHub, you already sold out. You traded freedom for convenience, regardless of what company is in control.

People often forget that GitHub itself is not open source. Some projects have avoided hosting on GitHub for that very reason. Even though the code repo itself is easily mirrored or migrated, that’s not the real value in GitHub. The “social coding” aspects — the issues, fork tracking, wikis, ease of pull requests, etc — are what make GitHub valuable. Chris Siebenmann called it “sticky in a soft way.

GitLab, at least, offers a “community edition” that projects can self-host. In a fantasy world, each project would run their own infrastructure, perhaps with federated authentication for ease of use when you’re a participant in many projects. But that’s not the reality we live in. Hosting servers costs money and time. Small projects in particular lack both of those. Third-party infrastructure will always be attractive for this reason. And as good as competition is, having a dominant social coding site is helpful to users in the same way that a dominant social network is simpler: network effects are powerful.

So now what?

The deal isn’t expected to close for a while, and Microsoft plans to seek regulatory approval, which will not speed the process. Nothing will change immediately. In the medium term, I don’t expect much to change either. Microsoft has made it clear that it plans to run GitHub as a fairly autonomous business (the way it does with LinkedIn). GitHub gets the stability that comes from the support of one of the world’s largest companies. Microsoft gets a chance to improve its reputation and an opportunity to make it easier for developers to use Azure services.

Full disclosure: I am a recent employee of Microsoft and a shareholder. I was not involved in the acquisition and had no inside knowledge pertinent to the acquisition or future plans for GitHub.

It looks like you’re writing a resignation letter, would you like help with that?

I just signed out of my @microsoft.com accounts for the last time. I never thought I’d end up working there, but the company has changed since the “GPL is a cancer” years. I saw it from the outside and after they acquired Cycle Computing, I saw it from the inside, too.

I want to be clear: the problem isn’t Microsoft. In fact, it’s a great company to work for. But the role I was placed into after the acquisition was not a good fit for me and I was not a good fit for it. I tried to find a more mutually-agreeable position within Microsoft, but then an external opportunity came along. I couldn’t turn it down.

So for the next two weeks I’ll be funemployed. I have so many things I want to get done and I expect a full two-thirds will remain on my to-do list when I’m done. And I’m totally okay with that. I’ve never taken time off between jobs before, and I think I’ve earned it. And even if I haven’t earned it, I’m doing it anyway.

But as excited as I am for the time off and the new role that follows, I’m pretty sad about leaving great coworkers behind. I met some awesome people at Microsoft, and I will miss working with them. And even more than that, I’ll miss the great Cycle Computing team, with whom I’ve worked very closely over the last five years. It wasn’t always easy being a bootstrapped startup, but we did awesome work together and I’ll miss the team. I hope I can stay in touch.

My next role isn’t a national secret, but you’ll understand if I don’t talk about it publicly until I start in a few weeks.