GitHub printability

Certain complex GitHub Markdown documents don’t render well—or especially, print well—with the whitespace gutters on either side of the screen. This is especially true when there are complex tables in a document.

I use the following userContent.css stylesheet in my browser to override the use of gutters. This renders complex tables much better:

@-moz-document domain(github.com) {
 .container-lg { max-width: none !important; }
 .container-xl { max-width: none !important; }
}

Some tables are so complex that they still spill off the edge of the page even in portrait mode. To counteract this I adjust the print scaling, or print in landscape mode, or both.

Firefox exits full-screen mode when you press Esc

I’m switching back from Google Chrome to Firefox as my primary web browser. One thing that annoys me with Firefox is that it exits full-screen mode when you press the Escape key.

You can change this behavior with the following steps:

  1. Type about:config in the address bar to access Advanced Preferences
  2. If Firefox displays a warning message, click “Accept the Risk and Continue”
  3. In the search box, type “escape”
  4. Firefox should display a configuration item named browser.fullscreen.exit_on_escape
  5. If this item’s value is false, you are good to go. If it is true, click the toggle button (⇌) on the right hand side to set it to false.
  6. Close the Advanced Preferences tab.

How to bring your team back to the office (3)

[not]

I think of my job often as being a translator between executives, managers, architects, developers, testers, customers, writers, etc. My favorite work projects have been those we conducted war-room style or in an open landscape, yet now it is almost two years since I’ve been in the office. We’ve filled in the gap a little bit with some team outings. Today I went in to the office to collect my belongings, before my vaxx-leper status kicks in and my physical access is deactivated. This is such a stark contrast with my experience at church where we worked hard to find some way to meet, at times even with our fussy government’s disapproval. What a joy and encouragement that fellowship was, and what a missed opportunity these two years have been for camaraderie at so many anxious companies and churches!

See also: How to bring your team back to the office (2)

How to bring your team back to the office (2)

I wrote previously on bringing your team back to the office.

Aaron Renn (you should follow him) makes an interesting point about remote work:

Of course this is only one consideration among several. For a long time I have been keen to return to the office; I miss the productive and rewarding personal interaction with my local teammates (although my team is spread around the world). And until 2020, for a long time my employer expected software teams to be generally present in the office, recognizing the real benefits of face to face collaboration.

However, I really appreciate the affordances of remote work, and I would be glad to have a hybrid approach. My company is still silent on how and when teams will return to the office.

I found this fascinating:

The linked article reveals quite a contradictory mess among employers. I think this proves Taleb’s point well. The whole system is a ball of anxiety in the sense that Edwin Friedman uses. Employees and especially employers are locked in an anxious state, and creating a corporate culture by soliciting employee engagement simply perpetuates this situation; anxiety is only amplified when it is solicited and coddled.

There are some truly impressive actors out there, but the crises of the past year have revealed the fear behind the mask. This kind of anxiety among leaders will metastasize if it is not done away with. Decisive leadership is willing to undergo a little short term pain for the sake of long term health.

deGoogling, part 1b

In my previous post I summarized my move from Gmail to Fastmail. After making this move, I noticed from time to time my iPhone battery drained quickly, with background activity by the Calendar application by far the biggest user of battery life.

The Fastmail team took a look at what was going on and indicated that, strangely, my macOS client was frequently changing the order of calendars. This explained why I saw the phone battery drain only from time to time: when my Mac was awake.

The macOS configuration doesn’t provide a lot of insight or control into this. I am no expert on iCalendar, but this doesn’t prevent me from fashioning two naïve theories about what was going on: first, possibly the Fastmail implementation doesn’t handle ordering of shared calendars well. This theory seems unlikely since I share a calendar with my wife and her phone was unaffected. Second, possibly macOS doesn’t handle calendars with duplicate names well (I had ended up with two calendars named Birthdays).

I condensed my list of calendars significantly and no longer see the issue.

deGoogling, part 1

I’m engaging in a slow effort to decouple from Google.

My first step was to decouple email, calendar, and contacts. For a long time I’ve been using Fastmail as a mail server for my non–Gmail domains, and then fetching this mail into Gmail. Before deciding to reverse this flow, I briefly considered ProtonMail and Mailbox.org. While I appreciate the data residency and security of ProtonMail, it seems that the added security creates some connectivity challenges. As for Mailbox.org, there were no compelling features that motivated me to switch from Fastmail.

Fastmail provides direct integration with Gmail to import mail, contacts, and calendars. Before doing this, I first disabled Gmail’s email import from my Fastmail account. When I first attempted to import my Gmail content into Fastmail, I was surprised by the storage estimate. Google reported that Gmail was using about 4GB of my Google storage, and this matched the size of email data when I downloaded all of my email from Google Takeout. However, Fastmail reported that there was an estimated 116GB of email that would be downloaded from Google using IMAP. This was quite disconcerting to me, partly because Google indicates that they may throttle IMAP downloads to 2.5GB per day, and partly because Fastmail charges based on my storage usage.

The Fastmail import from Gmail may create duplicate email messages for any emails that have multiple tags, so my first thought was to ensure that I had no emails with multiple tags. However, this did not affect Fastmail’s download estimate. My second thought was to sift through old archived emails that I no longer needed, and while this helped, it did not help significantly.

After working with Fastmail support, it turns out that the IMAP import size estimate is based on the entire storage usage that Google reports, which includes Google Drive: and I currently have over 100GB of data on my Google Drive (stay tuned). After crossing my fingers, I went ahead and imported my email. Google’s 4GB of email was fully imported in just under an hour, after which Fastmail reported that I had about 4GB of email.

When I imported my own email, for some reason the Gmail Sent and Spam folders appeared as custom folders within Fastmail, and I had to move the emails to Fastmail’s equivalent folders. However, when I did this for my wife’s email, these two folders transferred seamlessly.

I appreciate that the keyboard shortcuts in Fastmail’s web interface generally match those of Gmail. I also appreciate how easy Fastmail makes it to configure Apple devices. So far the experience has been relatively seamless for me, and I haven’t noticed any problems at all with my contacts or my calendar.

Complex

I’ve joked for awhile that EDR and similar systems like CrowdStrike or Carbon Black would become Skynet. Or, more likely, a tool of international espionage and cyber–warfare. It doesn’t feel good to be vindicated. (Now imagine someone accomplishing this with a major browser or password manager application.) Complex and highly interconnected systems are difficult to make stable, resilient, or secure; and cannot possibly be made anti-fragile. (This is a lesser reason why I miss my old pickup truck.) I’m not very excited about Kubernetes for the same reason. It’s also partly why I’m not very excited about artificial intelligence; but additionally because analysis of data, whether by machine or by human, does not automatically involve either wisdom or decisiveness (see also Edwin Friedman and Nassim Taleb).

Crossposted on I gotta have my orange juice.