BRCK in violation of the GPL

Update (2015-05-19): BRCK has responded and put up an open-source compliance page on their website. During a recent meeting of the Nairobi GNU/Linux Users Group we discussed BRCK, the Kenya-based makers of a slick, “rugged”, battery-powered-GSM-router thing of the same name, and their apparent violation of the GNU General Public License (GPL). The lively discussion […]

Simultaneously pushing to two remotes in a git repository

Sometimes you need to push commits to two remotes in a git repository — either for a cheap “backup” of sorts, or for some public / private repository scheme you may have in your organization, etc. Let’s say you have a repository hosted on GitHub and BitBucket (hey, GitHub is king today, but you never […]

Ramping up the Ethiopia LUG

Today I had the pleasure of participating in a rare meeting of the Ethiopia GNU/Linux Users Group at the iceaddis co-working space in Addis Ababa. In all the years I’ve lived in Kenya, and all the times I’ve been to Ethiopia, I’ve never heard anything about Linux or open-source software groups in the community. But […]

Finding the nginx gzip_comp_level sweet spot

When a web server creates a web page it generally pulls loads of crap from the database/disk and stitches together some ginormous hodgepodge of raw markup hundreds or thousands of kilobytes in size. As HTML is literally just a heap of embarrassingly compressible plaintext, turning on nginx’s gzip compression filter is a no-brainer. gzip on; […]

Leveraging the Ansible Python API for infrastructure reporting

A few days ago I had to get some basic information from a handful of servers for an inventory report; just basic stuff like hostname, IP address, storage capacity, distro version, etc. I already manage all of my servers with Ansible, and there’s a wealth of information available in Ansible’s setup module, so I knew […]