I’m putting this here since I haven’t seen it mentioned elsewhere and it took me forever to figure out:

I was getting timeouts on two different NVME drives, 2 different motherboards and two different CPUs, until I extended the timeout and after that I was just getting stalls. The fix was to disable ASPM:

This is an Apache config sanitizer, it checks to make sure there are no orphaned files in the Debian style sites-available/sites-enabled type setup and checks to make sure each virtual host has a valid DNS.

Something I’ve been wondering but have yet to see a good explanation for is if there is a difference between the way GCC handles const and static const. Now in theory the compiler should handle them the same way but does it? My web search didn’t really come up with much so I decided to test for myself.

Weak passwords are still by far the most effective way to break into a system and even though many people think they have clever ways to obfuscate their passwords, they often fail badly either by inadvertently making something guessable or by coming up with something so hard you have to write it down somewhere or use a password manager just to use it. How bad is it? I have had 3 different techs assign me the same login “Gerhard” with password “G3rh4rd” and at an additional time someone even tried to be even more clever “G3h4rd!” This is bad. I know from experience that I can expect a password guessing script to hit my personal server at least 4 times daily. Originally the scripts all hit the ssh port until I took countermeasures but now they check every open port for possible password combinations from FTP to SASL to web logins and even with my countermeasures I can expect to have 1 or 2 accounts on my system cracked per year forcing me to disable someone’s website until they change their password again.

How can we come up with a password that is both hard to guess and easy to remember? Thankfully it is easy.

Take a couple of lines from a song you like but not the first lines and not the chorus. For example take this verse from a Election–The People’s Right[1] written in 1801:

We should support and pleasure take
In frequent Free Elections.

Now take the first letter of each word. “wssaptiffe” and there you go. The password is not an actual word so not likely to be hit by a dictionary attack but if you know the song you know your password so it’s easy to remember. One important note though: if ever the password was used on a website that got broken into you must assume the password is now added to several dictionaries for future attacks.

[1] I selected this song because it was the first one I could find that was both out of copyright and readable.

I feel this is important enough that I grant permission to republish this article provided a link to news.innerfire.net stays with the article.

I’ve been doing some work on my Debian Linux laptop lately and I have some nightly maintenance (disk check, btrfs tree balance) I want to do that will simply suck my battery dry if I’m not plugged into the wall. I did a quick web search to see how to check from a script to see if the system is on battery power or not and what I found was:

Using outdated interfaces.

fragile

More complicated than it needed to be.

So I ended up writing something that took far less time than the original search did. How did I do it you ask?

Enter the acpi comm and. On old systems it uses proc and on new systems it uses sys. It cares so we don’t have to. It is not designed to be used in the way I want but writing a wrapper around it is easier than browsing either the proc or the sys interfaces on their own so I made this simple wrapper around it.