HP laptop keyboard won’t type on Linux

Here’s another story from my “WTF, computer?!” files (and also my “oh I’m dumb” files).

As I regularly do, I recently updated my Fedora machines. This includes the crappy HP 2000-2b30DX Notebook PC that I bought as a refurb in 2013. After dnf finished, I rebooted the laptop and put it away. Then while I was at a conference last week, my wife sent me a text telling me that she couldn’t type on it.

When I got home I took a look. Sure enough, they keyboard didn’t key. But it was weirder than that. I could type in the decryption password for the hard drive at the beginning of the boot process. And when I attached a wireless keyboard, I could type. Knowing the hardware worked, I dropped to runlevel 3. The built-in keyboard worked then.

I tried applying the latest updates, but that didn’t help. Some internet searching lead me to Freedesktop.org bug 103561. Running dnf downgrade libinput and rebooting gave me a working keyboard again. The bug is closed as NOTABUG, since the maintainers say it’s an issue in the kernel, which is fixed in the 4.13 kernel release. So I checked to see if Fedora 27, which was released last week, includes the 4.13 kernel. It does, and so does Fedora 26.

That’s when I realized I still had the kernel package excluded from dnf updates on that machine because of a previous issue where a kernel update caused the boot process to hang while/after loading the initrd. I removed the exclusion, updated the kernel, and re-updated libinput. After a reboot, the keyboard still worked. But if you’re using a kernel version from 4.9 to 4.12, libinput 1.9, and an HP device, your keyboard may not work. Update to kernel 4.13 or downgrade libinput (or replace your hardware. I would not recommend the HP 2000 Notebook. It is not good.)

Blocking the AT&T/Time Warner merger

News outlets reported last week that the Department of Justice intends to block the merger of AT&T and Time Warner on antitrust grounds. Depending on who is talking, a condition of approval is the sale of either CNN or DirecTV by AT&T.

I’m no mergerologist, but this seems weird. I agree there’s a good argument for blocking the merger. But that argument is predicated on the lack of competition in the broadband space. Neither DirecTV nor CNN are broadband providers.

However, the president has very publicly decried what he views as unfair coverage by CNN. Of course it follows that the DoJ’s objections are perceived to be driven by political concerns from the White House. This is especially true given the “business friendly” moniker claimed by the administration.

I’m not inclined to give the White House the benefit of the doubt, but there’s an argument for this that I’d buy. There’s an inherent danger involved when the same company owns both the content and the delivery. This gives the company the opportunity to crowd out competitors in an anticompetitive manner.

What makes this confusing is the DirecTV part. TV and Internet are often combined. Adding in satellite doesn’t seem to materially change the landscape. It’s essentially the same service over a different medium. Cynically, it’s a cover to make it look like the CNN sale isn’t politically-driven.

I have a hard time taking that argument at face value. That may be my own distrust of the Trump administration, but it doesn’t seem to make sense. Even the parts of the argument where I agree with in the ends, the means don’t seem to mesh. It will be interesting to see how this proceeds.

Please don’t argue with the warning system

“Please don’t argue with the warning system”, Indiana University told a lecturer from its meteorology department as he rightly criticized their communications on Sunday.

Despite being wrong, the university continued to insist that they were making the right choice. Now as a Boilermaker, I’m normally in favor of Indiana University embarrassing itself. But this time, it’s just bad. Warning fatigue can kill people. The false alarm rate is already too high; telling people about warnings that don’t exist only makes it worse.

The “warnings affect the entire county until notified otherwise” statement is only a decade out of date. But I get it, our warning dissemination technology hasn’t caught up with how warnings are issued. You may recall I’ve written a few words on the subject.

The fact that dissemination technology is still (mostly) stuck in a county-based paradigm 10 years after the nationwide implementation of polygon-based warnings is an embarrassment. Emergency management is more than just weather, so I don’t expect emergency managers to know as much as meteorologists. I do expect them to not act silly when they’re corrected by experts. But most of all, I expect things to get better.

I don’t know why I expect things to get better. It’s hard to imagine the large public- and private-sector investments that are necessary to fix the issue. Storm deaths are relatively low, so there’s not even mass tragedy to spur action. It’s much easier to just work around the edges and pretend the glaring issues don’t exist. But if we’re serious about being a Weather-Ready Nation, we need to fix it at some point. Otherwise public institutions will continue making themselves look bad and misinforming the public.

Deleting the president’s Twitter account

Last week, President Trump’s personal Twitter account disappeared. It was restored 11 minutes later and Twitter said it was deleted by a rogue employee on their last day. Depending on your political leanings, this was either the best thing Twitter ever did or a part of the elitist campaign against the President. I happen to think that it’s an enforcement of Twitter’s Terms of Service, but Twitter has repeatedly proved that it doesn’t care what I think.

Of course, an action like this can’t be viewed in isolation. Even if you agree with the deletion of this account, it sets a bad precedent. Yes, I’m using the slippery slope fallacy, but it’s worth considering. We entrust social media networks to fairly handle problems according to the terms of service they lay out. This is probably a silly thing, but we do it anyway. We entrust social media networks with details of our personal lives, often ones we don’t want shared.

As a professional, I find this act to be a total violation of trust. It violates the System Administration Code of Ethics. But it’s also not the dangerous act some have made it out to be. I have seen comments on Twitter and news articles to the effect of “it’s not funny. What if they had tweeted ‘I just launched the nukes’?!” It’s true Trump uses social media in a way that no past president has and that a fraudulent post could have a tremendous impact. But there’s also nothing to suggest that just because a rogue employee can remove an account that they can also impersonate it.

I’m sure at some level it is possible to somehow insert a fraudulent post. But not only does policy prevent it, but it’s likely very technically difficult to do undetected as well. Frankly, I’m not that concerned about it. What I am worried about is the effects of vigilante ToS enforcement in a political sphere that seems ready to explode.

Using the ASUS ZenBook for Fedora

I recently decided that I’d had enough of the refurbished laptop I bought four years ago. It’s big and heavy and slow and sometimes the fan doesn’t work. I wanted something more portable and powerful enough that I could smoothly scroll the web browser. After looking around for good Linux laptops, I settled on the ASUS ZenBook.


The laptop came with Windows 10 installed, but that’s not really my jam. I decided to boot off a Fedora 26 KDE live image first just to make sure everything worked before committing to installing. Desktop Linux has made a lot of progress over the years, but you never know which hardware might not be supported. As it turns out, that wasn’t a problem. WiFi, Bluetooth, webcam, speakers, etc all worked out of the box.

It’s almost disappointing in a sense. There used to be some challenge in getting things working, but now it’s just install and go. This is great overall, of course, because it means Linux is more accessible to new users and it’s less crap I have to deal with when I just want my damn computer to work. But there’s still a little bit of the nostalgia for the days when configuring X11 by hand was something you had to do.


I’ve had the laptop for a little over a month now. I haven’t put it through quite the workout I’d hoped to, but I feel like I’ve used it enough to have an opinion at this point. Overall, I really like it. The main problem I have is that the trackpad has a middle-click, which is actually pretty nice except for when I accidentally use it. I’ve closed many a browser tab because I didn’t move my thumb far enough over. That’s probably something I can disable in the settings, but I’d rather learn my way around it.

The Bluetooth has been flaky transferring files to and from my phone. but audio is…well I’ve never found Bluetooth audio to be particularly great, but it works as well as anything else.

One other bit of trouble I’ve had is with my home WiFI. I bought a range extender so that I can use WiFi on the back deck and it to use the same SSID as the main router. The directions said you can do this, but it might cause problems. With this laptop, the WiFi connection becomes unusable after a short period of time. Turning off the range extender fixes it, and I’ve had no other problems on other networks, so I guess I know what I have to do.

One thing that really stood out to me is carrying it around in a backpack. This thing is light. I had a few brief moments of panic thinking I had left it behind. I’ve held lighter laptops, but this is a good weight. But don’t worry about the lightness, it still has plenty of electrons to have a good battery life.

Around the same time I bought this, I got a new MacBook Pro for work. When it comes to typing, I like the keyboard on the ZenBook way better than the new MacBook keyboards.


If you’re looking for a lightweight Linux laptop that can handle general development and desktop applications, the ASUS ZenBook is a great choice. Shameless commercialism: If you’re going to buy one, maybe use this here affiliate link? Or don’t. I won’t judge you.

Two months with the Davis Vantage Vue weather station

I’ve always wanted a weather station in my yard. Not one of those cheap “here’s the outdoor temperature” deals, but something I could really play around with. I finally decided I could treat myself a few months ago and I bought myself a Davis Vantage Vue.

Picture of a Davis Vantage Vue weather station mounted on a pole.

My Vantage Vue weather station mounted on a pole in my yard.

The Vantage Vue isn’t the top of the Davis line. To be honest, I’d have rather gone for a Vantage Pro, which has more sensors. But it’s also more expensive and I don’t have anywhere in my yard that’s a good site for a weather station. And it turns out that siting was the hard part of the whole setup.

The initial assembly and configuration was easy. The instructions were very well-written. Since I don’t have a Windows machine, I couldn’t use the Davis software for data logging. However, several open source projects fill that gap for Linux. I tried WeeWx first and it worked so well that I didn’t bother trying anything else. WeeWx pulls data, generates web sites, and provides a control interface for the console.

I left the station on my patio table overnight to make sure the radio signal was going to work well. It looked good, so I began the process of putting it on a pole. I attached the mounting pole to a fence post. The mounting brackets in the pole kit (sold separately) probably would have held it just fine. In the interests of over-engineering, I added a small ledge to the fence post for the pole to sit on.

With one pole kit, the station ended up about 7 feet above ground level. This seemed too low for both science and resistance to errant toys. I added a second pole and that raised it up a few more feet. It’s still a sub-optimal siting, but it’s the least-bad option I have.

In an ideal world, I’d set up the station two meters above an open field. That’s not an option in my yard, so I did what I could. The station is in the sun much of the day (at least this time of year). It’s as far away from trees as I can get it. It’s probably fine for rainfall, but I anticipate the wind readings will be not great. The direction seems to be pretty noisy, no doubt because of nearby obstructions. And I suspect the speed will tend to read low for the same reason.

Graph of temperature and dew point showing noisy data when the unit is in direct sunlight.

Daily temperature and dew point plot generated by WeeWx. The unit began receiving direct sunlight around noon.

One thing I did notice was that the temperature and dew point data got very noisy. The lines had been relatively smooth until about noon on August 30th. After a few days of keeping an eye on it and comparing to the official observations from the Purdue airport, I had a satisfactory answer. It seems that the noise happens when the unit is in direct sunlight and there is little or no wind. The solar shield that houses the sensors does not have a fan, unlike higher-end models. So in still air with direct sunlight, it may develop hot spots. I could build my own aspirator, but I’m not sure I care that much.

After two months, the Vantage Vue seems like a pretty solid weather station. Of course, the weather has been pretty uneventful the last two months, so I still have some unanswered questions.

  • How will it perform as the sun angle decreases? It will still get some direct sunshine in the winter, but less that it’s getting right now. This may test the limits of the built-in battery.
  • What will happen during a thunderstorm? We haven’t had any severe weather yet. I’m interested to see how the wind speed works. Of course, I don’t have a good way to verify it. I’m also curious to see if the unit gets lifted off the pole and flung into the back yard. I don’t think that will happen, but it’s a possibility.
  • How will it handle freezing/frozen precipitation? There’s no warmer on the tipping bucket as far as I can tell, so how well will snow melt to run into the tipping bucket?

I have a couple of projects I want to undertake now, too. I’d like to get a couple of small displays so I can have the basic conditions displayed by the door. I also want to modify a WeeWx template so I can make a web page that I can share that doesn’t have my lat/long prominently displayed.

One bad thing about the death of Flash

Adobe Flash is only mostly dead. That means it’s slightly alive. But the death of Flash is nigh. At least if you consider 2020 “nigh”. By and large, this is celebrated. Flash is notoriously riddled with vulnerabilities, it wrecks accessibility, etc. But losing Flash is still a little bit sad.

Not just because it pioneered interactive web content, as the Tech Crunch article above notes. But I think about all of the games and silly websites that will become unusable. Major projects will be converted to HTML 5. Sites that are mostly-video (I’m thinking Homestar Runner in particular) may end up as a recorded video that can be watched, but not interacted with.

But what about all of the little one-off sites? How much time did I spend in college playing miniputt.swf instead of studying for finals? (Spoiler alert: a lot) How many little educational games have been created that won’t get recreated?

Maybe the lost sites will be replaced by new projects. But it’s a concern we face with every file format: what happens when it’s no longer supported? We have centuries of printed records that can be analyzed by researchers. Centuries from now, will that be true of our digital artifacts?

This is an argument for using open formats instead of proprietary. But even that is no guarantee of future durability. An open format isn’t very helpful if no software implements it. I’m older than the JPEG and GIF standards. Will I outlive them, too? In the not-too-distant future, there may be a niche market for software that implements ancient technology for the purposes of historical preservation.

KDE immediately returns to the login screen: one explanation

Earlier this week, I bought a new laptop. More on that once I’ve had a little more time to use it. But I wanted to share two things that I learned while setting it up. The first is straightforward: I really regret not putting effort into getting key configs (like users) into Ansible so that I didn’t have to do stuff by hands. The second requires some storytelling.

I installed Fedora 26 (KDE spin) and everything seemed good. I created accounts for my wife and me and then called it a night because I was tired. The next day, I wanted to get a little more configuration done, so I tried to log in. My password was accepted, but it immediately returned me to the login screen. So I logged in to a text console. That worked fine. I tried logging in to KDE as root. It worked. It had to be something about my account.

So I asked the trusty journal what was wrong. I saw messages like this:

Oct 05 18:04:44 holton sddm-helper[2770]: Starting: "/etc/X11/xinit/Xsession /usr/bin/startkde"
Oct 05 18:04:44 holton audit[2787]: AVC avc: denied { write } for pid=2787 comm="sddm-helper" name="bcotton" dev="dm-3" ino=5242881 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=unco
Oct 05 18:04:44 holton sddm-helper[2787]: Could not open stderr to "/home/bcotton/.cache/xsession-errors"
Oct 05 18:04:44 holton audit[2787]: AVC avc: denied { write } for pid=2787 comm="sddm-helper" name="bcotton" dev="dm-3" ino=5242881 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=unco
Oct 05 18:04:44 holton kernel: sddm-helper[2787]: segfault at 0 ip 00007fc1e8f97b1e sp 00007ffc7a29d1e0 error 4 in libc-2.25.so[7fc1e8f25000+1c7000]
Oct 05 18:04:44 holton audit[2787]: ANOM_ABEND auid=47703 uid=47703 gid=500 ses=5 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 pid=2787 comm="sddm-helper" exe="/usr/libexec/sddm-helper" sig=11 res=
Oct 05 18:04:44 holton sddm-helper[2787]: Opening the Xauthority file at "/home/bcotton/.Xauthority" failed
Oct 05 18:04:44 holton sddm-helper[2770]: pam_unix(sddm:session): session closed for user bcotton

I checked to make sure my home directory existed. It did.

I checked to make sure I could write to it. I could.

I turned off Selinux. No help.

A forum post suggested removing the sddm package and using kdm instead. It didn’t help.

I created a new user. It could log in. What was going on?

Well at one point, I noticed that when I did an ls -l on /home, my home directory showed a numeric group ID instead of a name. Ah ha! When I created the users, I used KDE’s user management GUI. It auto-created a group with a GID that matched the UID of the account. But I didn’t want that group, so I deleted it and made another group my default. But by that point, the home directory had already been created, so it was owned by the group that no longer exists.

After I changed the group ownership, it worked just fine. I should have just used the useradd command to begin with since I could have made it work the way I intended. Or I could have used a configuration management tool to do it for me. Maybe that will be my next project…

Book review: The 22 Immutable Laws of Branding

As I move from tactical marketing work into more strategic work, my former CEO recommended several books. The first one I read is The 22 Immutable Laws of Branding by Al Ries and Laura Ries. This 2002 update of the original by Al Ries and Jack Trout includes The 11 Immutable Laws of Internet Branding.

I immediately liked the book for its easy readability and the fact that I agreed with what it said. But it’s a little bit dated. The world was different in 2002, particularly when it comes to the brands that dominate their fields. That doesn’t change the messages. After all, it’s the laws that are immutable, not the brand.

The passage of fifteen years is more evident and meaningful in the Internet section. The authors spend most of a chapter decrying the “vanity” of Jeff Bezos. Amazon, they say, should stick to books. Branching out into other markets will damage the brand in the long term. Yeah, about that…

Now the rule may be generally correct and Amazon is just a lucky exception. Certainly many other brands have outreached their grasps. But in a later chapter, they rail against the notion of convergence. Nobody would want a combination of a phone, camera, and music player. Strike two.

The future is hard to predict, so I don’t hold it against them for missing the mark. But if you repeatedly insist with great authority, you need to be proven right. The authors failed pretty miserably in that regard. This forces the skeptical reader to wonder if the rest of the authoritative statements are similarly wrong.

I’m inclined to think that the bulk of the advice is correct, but I would certainly caution the reader to not accept everything blindly.

This book is definitely focused on building a brand, not maintaining one. But if that’s what you’re after, I’d give The 22 Immutable Laws of Branding a read.

Drowning from the firehose

Frequent readers know that I recently changed jobs due to an acquisition. It’s a great opportunity, but this week has been rough for me. I’ve been sort of paratrooped into situations where I have to pick up things in flight that I don’t know how to address.

This isn’t because I have terrible coworkers or a terrible job. It’s just a fact of life when you start a new job. It doesn’t help being remote on a primarily on-site team. And it doesn’t help that my role means I’m in an entirely separate part of the organization from my old coworkers.

But mostly, it doesn’t help that I’m me. I internalize failure easily. I care about not letting the team down. I’m still trying to figure out how to manage my work in progress at a must larger scale than I’m used to. And this week I have not done well.

I can never tell if I’m physically ill because my mental state is bad or if physical illness makes me more succeptible to a bad mental state. It’s probably been both at one point or another. But the end result is that I spent two days not eating and three nights dreaming about work and then waking up thinking about work.

It was not good.

To my credit, I realized it wasn’t a passing thing and I raised a flag. To my colleagues’ credit, they were supportive. Not in a “rah rah you can do it” way, but in a “yes, you’re in a tough situation. How can we make it better?” way. My coworkers want me to succeed and they recognize that success is a long-term goal.

It was tough to ask for help. I didn’t care about “showing weakness” or anything like that. I just wanted to come in, be unbelievably successful, and wow my coworkers into such a state of wonder that I could just sit back and stare out the window all day. But I’m glad I did. It turns out that some of the things I was sweating are small potatoes.

I don’t share this story because there’s any grand lesson in it. I just don’t think we talk about this kind of stuff openly enough. Which reminds me, if you think this is important, go support Open Sourcing Mental Illness.