Skip to main content


Linux LVM is a disaster

I just got done converting my last LVM enabled system to non-LVM. Not by choice, mind you, but because Linux LVM is a disaster and creates disasters. Every system I've ever deployed Linux LVM to (servers mostly because Ubuntu Server LTS edition "recommends" it), I've encountered nothing but problems. I've got a decade of experience deploying and running Linux servers so it's not a competence issue. LVM is a technology that simply isn't ready for real production environments. LVM also lacks mature community support when things go sideways. RedHat created and barely maintains LVM, which is all I need to know since anything RedHat touches usually winds up a convoluted mess.

What is Linux LVM (that's lvm2 to the initiated)? In short, LVM is a set of user and kernel space modules that give greater control over partitioned space. To that end, it works pretty well. You can partially assign partition space on a drive and leave the extra storage avai…
Recent posts

Dear Google: Follow your own demands/recommendations!

Google has a problem with following its own rules. Here's how you can prove it: Start a web browser on a desktop, visit and search for something, and now shrink the window to the smallest possible size.

Notice anything unusual? Well, the page, for one, does not follow Google's own rules for their own search engine indexing. Webmaster tools says that website operators that run websites without responsive designs will get a reduction in PageRank. Yet Google Search results, probably one of the blandest pages to make responsive, is not actually responsive. Google: You don't get to dictate rules if you aren't willing to follow them yourself (just try plugging in a search URL into that box) for all screen resolutions (including desktop browsers). So either make your search results pages fully responsive or back down from your position.

Dear HP, Canon, Lexmark, Brother - fix your printer drivers

I don't do a lot of printing (but I currently own four printers...). When I do print things on paper, I expect things to work. Unfortunately, none of the major brands of printers out there actually work on Linux over Samba network shares to Windows with any reasonable measure of consistency. It is, however, a reasonable expectation that such things work out-of-the-box. Trust me, I've tried and I give up. My current solution is to use the free version of this software:

VirtualHere USB over IP

I currently have to SSH into the Linux box, start up VirtualHere server, run the VirtualHere client on my Windows machine, attach the printer I want to connect "locally", and pray that it works without any issues. Unlike Samba, which didn't work at all, doing all of that generally works but sometimes I'll have to reinstall the printer drivers because attaching a device to a major OS is apparently too much to ask for.

Two of my printers come with a WiFi hub built-in…

I, um, broke stuff

While I had a lot of fun putting that comic panel together, I'm not planning on getting into the webcomic business. I keep getting told to "keep my day job" as if I'm not hilarious or something. The comic does provide a nice lead-in to a more serious topic whereby firewalls are able to be circumvented in unusual, hard to detect ways.

This story begins with "needing" the ability to connect two clients together. Since I don't generally operate in web browser land, I'm not constrained to whatever features are only available in a web browser. Since that's not a restriction, I could use whatever protocol I came up with/wanted to use. Since ports 80 and 443 are most commonly accessible through even the craziest of firewall setups and I had previous experience writing my own HTTP and WebSocket clients and servers, I knew very well how those protocols worked. My main issue with just using WebSocket is that it transitions into a framing protocol…

What is wrong with European/German law?!

About two to three times per month, some random business in Europe will come out of the woodwork and e-mail me wanting to use one of my open source software products and say something to the effect of:
Please send me a quote, an agreement, or contract in order to use [open source software product XYZ]. It's open source under an open source software license. In the case of open source CubicleSoft software, I generally offer TWO licenses that you can choose from! Every time I see that type of silly e-mail, I'm reminded of a joke article I read a long time about shooting oneself in the foot with various programming languages that started off with C:
You shoot yourself in the foot. And ultimately devolved into 370 JCL:
You send your foot down to MIS with a 4000-page document explaining how you want it to be shot. Three years later, your foot comes back having been deep-fried in duck fat. Trying to communicate that open source software is open source to a business that will only…

Running cron scripts every minute is a waste of system resources

If you've ever done this in a crontab file to handle a user-initiated event that rarely happens:
* * * * * /path/to/script Then you are definitely doing it wrong. I know I'm guilty of doing that but only because until recently I didn't have a viable solution for the problem. That type of cron line is lazy and running a script every single minute for a process that only happens on rare occasions is pretty wasteful of system resources. A much better solution is to use either Cloud Storage Server /scripts or /feeds (or both) with their associated SDKs. I've been using both options on production systems for a while now and they provide several significant benefits over traditional cron:
The script is only run when there is something to do. The SDK makes the API call to Cloud Storage Server, which, in turn, kicks off the process.The ability to safely pass information to the target process without requiring intermediate file storage.Users don't have to wait for cron …