Other writing: May 2020

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

Stuff I wrote

Fedora

Stuff I curated

Fedora

Other writing: April 2020

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

Stuff I wrote

Fedora

Opensource.com

Stuff I curated

Fedora

Cherrytree updates in COPR

For Fedora 31 users, I have updated the cherrytree package in my COPR to the latest upstream release (0.39.2). For Fedora 32 and rawhide users…well, there’s a problem. As you may know, Python 2 has reached end of life. And that means most of Python 2 is gone in Fedora 32. I tried to build the dependency chain in COPR, but the yaks kept getting hairier and hairier. Instead, I’ve packaged the C++ rewrite as cherrytree-future.

cherrytree-future is available for Fedora 31, Fedora 32, and rawhide. I have packages for x86_64 and aarch64 for all three versions and for armhfp on Fedora 31 and 32 (the rawhide builder was out of disk space, oops!).

Because cherrytree-future is still pre-release I intentionally did not have the package obsolete cherrytree. If you’re upgrading from Fedora 31 to Fedora 32, you will first have to remove cherrytree and install cherrytree-future.

I have been using cherrytree-future in the last day and it’s working well for me so far. If you encounter any problems with the package (e.g. a missing dependency), please file an issue on my GitHub repo. If you encounter problems with the program itself, file the bug upstream.

Once upstream cuts an official release of the rewrite, I’ll work on getting it into the official repos.

Working from home: my advice

There are as many articles about working from home as there are people who work from home. But I’ve been asked by a few people about my experiences, so looking back on the last nearly seven years, here’s what stands out.

Let’s keep a few things in mind first. Not everyone has the privilege of being able to work from home. In the midst of a pandemic, I feel for them. Also, working from home for a few weeks as an emergency is different from doing it all the time. Routine work from home you plan ahead for. It probably doesn’t involve having your partner and children around all the time while you also worry about a global pandemic and economic collapse. Just do the best you can and understand that your best now probably looks a lot different than your best a few months ago.

Your environment

Ideally, you’ll want a separate room that’s walled off from the rest of the house. This gives you the ability to focus and sets boundaries for you and others. If that’s not possible, get yourself the most secluded space you can. Make sure you have enough space for your laptop and any additional equipment you might need. Make sure there are power outlets available. I also ensure there’s space for mug of coffee or a cup of water, depending on the time of day.

When it comes to noise, you might not get much choice. If you like having chaos in the background, that’s great. With a partner, pets, or kids at home, you’ll probably get that. Noise canceling headphones are a good thing to have, but keep in mind that “noise canceling” means “the hum of your HVAC” not “the shriek of your toddler”. I personally tend to listen to podcasts. I’m generally not paying active attention, but the background talking helps. If I’m reading intently or writing, then I’ll shut it off.

Also consider what’s behind you. You’ll probably be on video calls a lot. Does the background send the message you want? Most people will understand a messy room, but if it bothers you, now’s the time to address it. Be particularly careful if someone can walk into frame unexpectedly. Years ago, I’m pretty sure I saw someone walk out of the shower in the background of a call with a coworker. That was awkward. You may consider having some kind of visual indicator: a flag or a light or something. Anything that will make it clear to those around you that you’re “on air” can help them avoid being in the meeting unexpectedly. But also consider that everyone else is going through this and a cute animal or kid can help everyone relax for a minute.

If you can help it, don’t work from a bed or couch. They’re too comfortable and I’ve found it’s really hard to maintain focus. The only time I’ve worked from bed is when I’ve felt particularly unwell but couldn’t bring myself to not work. (That is a personal failing, not an admirable trait.)

Try to find somewhere with sunlight, too. Especially in winter, having some sunshine really helps my mood. Consider where it will come in, though. You probably don’t want it directly in your face as you look at the screen, nor directly over your shoulder.

Your communication

Get ready to embrace your employer’s video platform of choice. I work in an open source community where a lot of daily communication happens through text-based chat. But video calls add an important human dimension. The in-person conversations you used to have? They happen on a webcam now!

If you have multiple monitors, put the thing you’re looking at on the one with the webcam. That might be the chat application, but it also could be a shared document that you’re looking at. But I can say from experience that it’s really disorienting to be looking at someone in profile the whole time.

On a similar note, try to find a good angle for your webcam. It’s best if it can catch you straight on. Up-nose shots are no fun and looking-down-on-your-forehead shots seem weird.

If your bandwidth isn’t up a video call, disable the video. It’s better to have the audio than nothing. If you’re not normally working from home, you might not have paid for the bandwidth you need, especially if others in the house are streaming movies or something. Also keep in mind that some providers throttle the upload bandwidth, which means that you might be receiving the call clearly, but your video or audio might be on the strugglebus. A business-class connection will generally not have that limitation, so it may be worth checking with your provider on that.

One thing you won’t get working remotely is the random water cooler chatter. That can be really helpful for team bonding. In previous jobs, I’ve done things like pair people up with randomly-selected coworkers and say “schedule a 15 minute call in the next two weeks to talk about anything you want.” I have a script that will draw names out of the hat for you. If you have a chat tool like Slack, IRC, etc, have a channel devoted to chit-chat. People can pop in and shoot the breeze without worrying about bothering someone who is in the zone.

Your self

Dress for success. Or at least for work. In cold weather, I put on jeans. In the summer, I wear shorts. What I don’t wear is pajama pants. I’ve found that I just can’t motivate myself to get work done on days I stay in my pajama pants. Not everyone has that problem, so if you find it works for you, great!

You might also want to shower. Or not. I won’t say how often I shower, but I can assure you it’s not daily. A lot depends on how I feel. If I feel like I need a shower, I take one. Sometimes that’s in the morning, but it’s usually at night or occasionally midday. You may find that you need to do your whole morning routine in order to feel motivated for work. That’s fine, but don’t expect that everyone else will.

Try to get some exercise if you can. I’m really bad at this myself, especially when I’m busy or the weather is bad. But when the weather is nice, a 20 minute walk around the neighborhood is a good chance to get away and think for a few minutes. A standing desk or treadmill desk can help too, or even some hand weights that you use during a call.

You know what’s great? Naps! It’s hard to do this at an office, but one of the things I really like about working from home is that I can go lie down for 20 minutes. “But, Ben!” you say “isn’t that like stealing from the company?!” I look at it this way: I could spend 20 minutes taking a nap, or two hours sitting at my desk but just sort of mindlessly staring at my screen. Which one seems better?

At some point, you’ll want to eat. I see a lot of advice that says “don’t eat at your desk”, but I do that almost every day. I did that when I worked in an office, too. For me, it was a way to shorten the work day a bit. For you, do what works best for you. Experiment a little bit. For me, I also know that I should not keep food within arms reach because I will eat it. All of it. Having a little bit of physical separation from food goes a long way.

Perhaps the most important thing is to give yourself some slack. Being a human is hard, and being a human in the time of pandemic is harder. You have a lot on your mind, and it’s okay if you’re not always at your best. Especially if you’re working from home in a suboptimal situation.

Your boundaries

You should have them. Working from home can really blur the line between work and home. It’s okay to step away for a few minutes to load laundry or run the vacuum. It’s not okay to keep working until 11pm because suddenly your living room is now your office. This is where having a separate office space helps. If you can make it happen.

Communication boundaries with coworkers are important, too. Don’t send an IM if it could be an email or a message in a broader channel. In a previous job we set up an escalation process for help requests in Slack:

  1. Ask in a product- or customer-specific channel with no tagging names, @here, or @channel
  2. If sufficient (use your judgment, based on the urgency) time goes by and you haven’t gotten an answer, repeat the message with @here to alert folks who are available
  3. If that still doesn’t get a response, send an IM to the person you think could help

Your routine

Like I said above, some people find they need to go through the whole routine in order to get motivated for work. That might mean doing makeup and hair and getting dressed in your “grown up” clothes. I’ve even heard of some people who drive their car around the block once just to have that mental routine of a morning commute.

I, on the other hand, do none of that. The closest thing to routine I have is making coffee before I sit down at my desk. For me, I love that I can be out of bed and at work five minutes later. I am not at all a morning person. What I do miss is having a commute home. Especially if you have kids, it can be hard to go straight from work stress to kid stress with no break in between. I don’t really miss the act of commuting, just the time to switch gears. For me, I found that was a good time to do 10 minutes of meditation. It helped me calm down after work and it gave me just enough of a break to be less frazzled with the kids.

Your distractions

I love working from home, but it’s not all great. Being able to step away for 5 minutes to get house work done is a great mental relief. But it’s also possible to get carried away, especially if you’re trying to avoid a hard problem at work. Unloading the dishwasher is fine. But don’t let it snowball into then cleaning out the fridge and scrubbing the stove top and and and.

If you have roommates, spouses, children, etc, they need to know when you’re working and that you should be left alone except in emergency. Find a way to signal that, like wearing your headphones when you walk through the house.

You can do this

Whether you’re making work-from-home a permanent thing, or you’re just work-from-home-during-a-pandemic-oh-god-what-is-happening-in-this-world, I hope some of the advice here helps. If you only take away 12 words, let them be: set boundaries, do what works for you, and go easy on yourself.

Other writing: March 2020

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

Stuff I wrote

Fedora

Stuff I curated

FedORA

Other writing: February 2020

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

Stuff I wrote

Fedora

Stuff I curated

Fedora

Letter to Mayor Roswarski about the Loeb Stadium bid

On Friday, I was contacted by my friend Dave Bangert at the Lafayette Journal & Courier to offer my opinion on the city’s open bid for baseball teams to play in Lafayette. The city is rebuilding the stadium and has decided that it should open a bid process. I mailed this letter to Mayor Roswarski earlier this week.

As a long-time Lafayette resident, I appreciate your desire to ensure the city gets the best value out of the money invested into the Loeb Stadium rebuild. But as a sports fan, I know that while it may be a business, it’s not just transactional. Sports fandom is built on tradition and loyalty, and it becomes a key part of the fan’s identity.

When I was a boy, I collected baseball cards as many youngsters do. With two younger sisters, I always dreamed of having a brother. You can imagine how thrilled I was when I ended up with cards for both Cal, Jr. and Billy Ripken—brothers who played on the same team! Not much after that, Cal broke Lou Gerhig’s consecutive game streak and suddenly I was a lifelong Baltimore Orioles fan. I had never been to Baltimore, I had no family ties to Maryland. But I made a connection and a fandom was born.

Now my kids have had the chance to form their own ties with a baseball team. The Lafayette Aviators have become an important part of their summers. But they don’t have to hope their local newspaper a thousand miles away carries updates. They get to go to games with their dad. They can run the bases. They experience what makes Lafayette not just the place we live, but the place we call home.

When the Aviators came to town, summer baseball had been gone from Lafayette for almost two decades. With the town in a baseball drought and a stadium that had history and not much else to offer, this team built something that the city can be proud of. For 30 days every summer, Lafayette gets affordable, family-friendly entertainment. When they’re on the road, we have a group of young men who represent our city well across the Midwest.

In my time as a ticket holder, I’ve made friends with those I see at Loeb stadium—fellow fans, concessionaires, club management. My kids love Ace the Aviator, and frequently ask me when he can come over for dinner.

I have lived in the Lafayette area for your entire tenure as mayor, so I know you will do what you feel is best for the city. But I implore you to remember that value is more than figures in a ledger. When all of the bids are in, I hope the city will evaluate them fairly and come to the conclusion that the Aviators aren’t a team that plays in Lafayette, they’re Lafayette’s team.

Other writing: January 2020

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

Stuff I wrote

Fedora

Stuff I curated

Fedora

Other writing: December 2019

Stuff I wrote

Red Hat/Fedora

Opensource.com

Stuff I curated

Red Hat/Fedora

SysAdvent

[solved] Can’t log in to KDE on Fedora 31

Earlier today, I ran dnf update on my laptop, as I do regularly. After rebooting, I couldn’t log in. When I typed in my user name and password, it almost immediately returned to the login screen. Running startx from the command line failed, too. I spent an hour or two trying to diagnose the problem. There were a lot of distracting messages in the xorg log.

The problem turned out to be that the startkde command was no longer on my machine. It seems upgrading from version 5.16 to 5.17 of the plasma-workspace package removes startkde in favor of startplasma-x11. Creating a symlink fixed it as a workaround.

This is reported as bug #1785826, and I’m sure Rex and the rest of the Fedora KDE team will have a suitable fix out soon. In the meantime, creating a symlink appears to be the best way to fix it.

Why the symlink works

When an X session starts, it looks in a few different places to see what should be run. One of those places is /etc/X11/xinit/Xclients. This file checks for a preferred desktop environment. If one isn’t specified, it works through a list trying to find one that works. It does this by looking for the specific desktop environment’s executable.

Since startkde no longer exists, it had no way of checking for KDE Plasma. I don’t have any other desktop environments installed on this machine, so there was no other desktop environment to fallback to. I suspect if GNOME were installed, it would have logged me into GNOME instead, at least when running startx.

So another fix would be to replace instances of startkde with startplasma-x11 in the Xclients file (similarly if you have that file in your home directory). However, this leaves anything else that might check for the existence of startkde in the lurch. (I don’t know if anything does).

There’s probably more options for fixing it out there; this is very much not my area of expertise. I’d have to say that this was the most frustrating issue I’ve had to debug in a long time, in part because it took me a while to even know where the problem was. The fact that moving my ~/.kde directory didn’t result in a new one being created told me that it was pretty early in the process.

What distractions did I see?

In trying to diagnose the issue, I got distracted by a variety of error messages:

  • xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
  • /dev/fb0: permission denied
  • gkr-pam: unable to locate daemon control file
  • pam_kwallet5: couldn't open file