I’m midway through a small project to migrate some old utilities I originally wrote many, many years ago for FreeBSD and that I’ve migrated from system to system over the years with small tweaks and various cross-platform improvements. It’s been a while since I’ve done any real programming so I’ve been reading some refreshers on things like documentation best practices and I stumbled across a good article, that’s aged quite well I thought was worth sharing.
It appears to be an IBM document from back in the day when they were making a big effort to enterprise-ify Linux and improve the level of documentation and tools for developers, but somebody at Harvard saw fit to host a mirror.
Peter Seebach: The art of writing Linux utilities
No big editorial, just a note for folks who have reason to use any of my GitHub projects and read the blog…
From here on, I’ll be maintaining any public software over here: https://gitlab.com/gmobrien
As a follow up to this post two weeks ago, it’s pretty obvious that the issue I was experiencing was caused by Bitdefender. Since switching back to using Kaspersky I’ve not experienced any slowdowns or abnormally high CPU or interrupt usage.
This is unfortunately since until I ran into this problem I had been quite happy with Bitdefender. I’d read some of the horror stories about Bitdefender’s quality control but I had chalked them up to the usual combination of overblown edge cases with wonky configurations and disgruntled fanboys. I can’t say for certain when this issue was introduced and I have to assume that it doesn’t manifest on every system or else it would be much more widely reported, but either way it’s serious enough for me to abandon paid software and buy a competing product.
I’ve been having some audio issues with Windows 10 for the past couple of months, they consist of occasional clicks and pops which appear to get worse the longer the uptime of the system. After extensive digging and quite a bit of testing involving installing and uninstalling software, verifying all of the hardware connections, replacing the discrete audio card (Asus Xonar Essence STX) with an external USB DAC and amp, as well as reinstalling the operating system several times, there was still no significant improvement.
The only data I was able to gather that was much beyond trial and error testing was that there seemed to be excessive CPU usage by the “System and compressed memory” service which could spike as high as 100% at times when I was experiencing more serious audio problems. These more severe audio glitches were definitely correlated to heavy CPU utilization, but after extensive research I was unable to determine any plausible course of action beyond the usual random suggestions on popular tech forums.
I was getting to the point of exasperation and even considering just giving up and replacing the computer.
But I was thinking about the problem this afternoon and I started thinking perhaps this was a result of antivirus software, Bitdefender in particular. It has somewhat of a reputation of being fast, effective and a bit buggy so I’m surprised I hadn’t thought of this sooner.
After a bit of digging I did come across some evidence that Bitdefender has been associated with excessive system interrupts. This could be a possible root cause. I’ve removed Bitdefender from my system and, though it required a reboot which tends to clear the problem temporarily, I haven’t heard a click in the past 2 hours.
I’ve grabbed a trial of Kaspersky Internet Security and I’m going to run that through the 30 day trial to see if the issue has resolved itself. I’ll post again if there is any change and whether or not this test is successful.
Below are my system specs for anybody who is interested:
- Intel Core i5-4670
- Gigabyte Z87MX-D3H
- Gigabyte GTX 980 G1 Gaming (GV-N980G1 GAMING-4GD)
- 32GB Mushkin Enhanced Stealth DDR3 SDRAM
- 512GB Samsung 840 EVO SSD
- Schiit Bifrost DAC
I received notification that the Let’s Encrypt closed beta has started yesterday. As of this morning this domain is now running using the beta version of the client and service.
It’s looking pretty good so far, it’s a bit wonky to integrate with a site that is already running with HSTS since I don’t have a web server listening on port 80. (This is required for the verification step of certificate generation.) But thankfully the client comes bundled with a standalone webserver you can run to complete the setup.
The certs only last for 90 days (by design) and I’ll be interested to see how painful or painless the cert regeneration will be when the time comes, but otherwise it was trivial to get all of the other features I use up and running.
So far, so good!
I have whatever the most minimal unit of Internet based notoriety might be for having originally been a bit of a naysayer on HTTP/2 due to my irrational bias against binary protocols! Well, I’m over it.
It’s good news to see that the future beginning to arrive. For a real Internet geek like me this is one of the biggest technological changes in my life!
I was having a conversation today with a colleague about API usage and why it’s a key to success when building complex systems. I tried to track down the original post from Steve Yegge regarding his thoughts from his time at Amazon and how they applied to the Google context and was a bit surprised that I couldn’t actually track down the original any longer.
For the sake of posterity I want to make sure I keep a copy rather than rely on G+, so with all credit to Mr. Yegge, here it is. Continue reading
I’ve been using WordPress for this site for about 6 years and am generally quite happy with the fact that it “just works”. I’ve been using a simple default theme (Twenty Twelve) for much of that time as well. Recently I’ve been trying to be a bit more active on the blog and there are few (very minor) issues and personal taste differences I have with the theme which I’ve hacked out it of it.
I was doing some reading on how best to integrate SmugMug with the site since I’m on the verge of switching from Flickr for my personal photos and while I was doing this reading I discovered that there is a correct way of modifying themes for WP! It’s actually quite elegant and avoids several potential problems.
I give you WordPress Child Themes.
A while back I joined the World of Warships alpha test. Unfortunately part of the deal is that I can’t say anything about the testing prior the the beta phase that recently started, but now that the NDA is lifted, I just wanted to say that it’s been pretty fun so far. The game itself seems to be in fairly good shape considering that it’s still under heavy development.
One of the best things about closed testing games is that the community tends to be much more pleasant than the average players in most online games these days.
I’m not as much of a gamer as I once was, but these semi-realistic shooters (Wargaming also makes the popular World of Tanks game as well as the sadly less popular Warplanes game as well) are good fun and a pretty decent mix of realism and playability. This means there are plenty of departures from historical accuracy, but that doesn’t mean that there isn’t a certain sense of immersion that you get. The last time I had this much fun in a naval game was probably during one of the first few Silent Hunter games.
So far there are ships from the Japanese and US navies implemented in the game and eventually all of the major WWII navies are supposed to be implemented. Maybe I’ll see you in-game!
I just learned something about OS X that I didn’t realize was a feature. Then again, sometimes these days the difference between a feature and a bug is marginal!
At work I routinely run my Macbook connected to a second monitor, either at my desk for extra screen space while preparing the latest round of paperwork or when presenting at a meeting. From time to time, the dock (which I just keep at the bottom of my screen) seemingly snaps to the second monitor. This can range from mildly amusing to completely enraging depending on my state of mind and or caffeine level at the moment.
I just learned that this is actually a feature that I’ve been accidentally triggering with sloppy mousemanship. It turns out that you can move the dock on OS X to another display device simply by briefly holding your mouse cursor at the bottom of the device in question.
Now that I know this, what used to seem like a really annoying desktop environment bug has become a cool feature!