2019/06/26: Just a few years ago, time series databases were somewhat niche in nature. Sure, if you were running a trading application within a financial services firm, you were devoted to your kdb+ (proprietary) database, but for most everyone else a general-purpose relational or NoSQL database was de rigueur. No more. The reason? The world increasingly demands that enterprises be able to query, analyze, and report on streaming data in real-time, not batch mode.
2019/06/29: Things aren’t too rosy at the ‘Linux’ Foundation where Linus Torvalds is increasingly being marginalised (thanks in part to Microsoft-friendly media) and propped up to replace him are those who worked on Hyper-V (proprietary software for Windows) and similar Microsoft-centric projects at the Microsoft-occupied Novell
2019/08/14: Some Internet service providers and corporate companies might have blocked most of the ports, and allowed only a few specific ports such as port 80 and 443 to tighten their security. In such cases, we have no choice, but use a same port for multiple programs, say the HTTPS Port 443, which is rarely blocked. Here is where SSLH, a SSL/SSH multiplexer, comes in help. It will listen for incoming connections on a port 443. To put this more simply, SSLH allows us to run several programs/services on port 443 on a Linux system. So, you can use both SSL and SSH using a same port at the same time. If you ever been in a situation where most ports are blocked by the firewalls, you can use SSLH to access your remote server. This brief tutorial describes how to share a same port for https, ssh using SSLH in Unix-like operating systems.
2019/04/26: KmPlot is part of the EDU suite of programs from the KDE project, and it was designed to plot functions and interact with them to learn about their behavior.
2019/04/17: I use Ansible as my personal notebook for documenting coding procedures—both the ones I use often and the ones I rarely use. This process facilitates my work and reduces the time it takes to do repetitive tasks, the ones where specific commands in a certain sequence are executed to accomplish a specific result.
By documenting with Ansible, I don't need to memorize all the parameters for each command or all the steps involved with a specific procedure, and it's easy to share the details with my teammates.
Traditional approaches for documentation, like wikis or shared drives, are useful for general documents, but inevitably they become outdated and can't keep pace with the rapid changes in infrastructure and environments. For specific procedures, it's better to document directly into the code using a tool like Ansible.
2019/03/18: We treat open source like it’s a poison pill for a commercial product. And yes, with an open source license it’s harder to force someone to pay for a product, though many successful businesses exist without forcing anyone.
I see an implicit assumption that makes it harder to think about this: the idea that if something is useful, it should be profitable. It’s an unspoken and morally-infused expectation, a kind of Just World hypothesis: if something has utility, if it helps people, if it’s something the world needs, if it empowers other people, then there should be a revenue opportunity. It should be possible for the thing to be your day job, to make money, to see some remuneration for your successful effort in creating or doing this thing.
That’s what we think the world should be like, but we all know it isn’t. You can’t make a living making music. Or art. You can’t even make a living taking care of children. I think this underlies many of this moment’s critiques of capitalism: there’s too many things that are important, even needed, or that fulfill us more than any profitable item, and yet are economically unsustainable.
I won’t try to fix that in this blog post, only note: not all good things make money.
Can we sell open source to other people? Can anyone else do anything with source code?
And so I remain pessimistic that open source can find commercial success. But also frustrated: so much software is open source except any commercial product. This is where the Free Software mission has faltered despite so many successes: software that people actually touch isn’t free or open. That’s a shame.
2019/02/21: The Bash Automated Testing System puts Bash code through the same types of testing processes used by Java, Ruby, and Python developers.
2019/02/14: On the surface, the open source software community has never been better. Companies and governments are adopting open source software at rates that would've been unfathomable 20 years ago, and a whole new generation of programmers are cutting their teeth on developing software in plain sight and making it freely available for anyone to use. Go a little deeper, however, and the cracks start to show. The ascendancy of open source has placed a mounting burden on the maintainers of popular software, who now handle more bug reports, feature requests, code reviews, and code commits than ever before.
At the same time, open source developers must also deal with an influx of corporate users who are unfamiliar with community norms when it comes to producing and consuming open source software. This leads to developer burnout and a growing feeling of resentment toward the companies that rely on free labor to produce software that is folded into products and sold back to consumers for huge profits. From this perspective, Heartbleed wasn't an isolated example of developer burnout and lack of funding, but an outgrowth of a systemic disease that had been festering in the open source software community for years. Identifying the symptoms and causes of this disease was the easy part; finding a cure is more difficult.
many users find a sense of pride in their unique configuration settings and want an easy way to share them with friends. That’s where rcm steps in.
rcm is a “rc” file management suite (“rc” is another convention for naming configuration files that has been adopted by some GNU/Linux programs like screen or bash). rcm provides a suite of commands to manage and list files it tracks. Install rcm using dnf.
2018/11/29: The behavior of cloud infrastructure providers poses an existential threat to open source. Cloud infrastructure providers are not evil. Current open-source licenses allow them to take open-source software verbatim and offer it as a commercial service without giving back to the open-source projects or their commercial shepherds. The problem is that developers do not have open-source licensing alternatives that prevent cloud infrastructure providers from doing so. Open-source standards groups should help, rather than get in the way. We must ensure that authors of open-source software can not only survive, but thrive. And if that means taking a stronger stance against cloud infrastructure providers, then authors should have licenses available to allow for that. The open-source community should make this an urgent priority.
2018/11/27: This model has won, FOSS is everywhere, companies not only use it, but even heavily rely on it, millions of devices run with it.
But at which cost? Open source developers are burning out. Some core libraries, on which basically everything relies, are maintained by very small teams of people working on their free time. We still have the right to study the software, but the most interesting parts are now in the user’s data, which is jealously guarded by a few huge companies.
This is not a tragedy, this is a fucking farce.
Let’s own up to the absurdity of talking about a personal freedom that depends mainly on hidden people working for free. Let’s add more ridicule to it. Let’s start using a new expression to describe it:
FOSS IS FREE AS IN TOILET
Nobody believes that a free toilet will be magically cleaned up and maintained, somebody has to do it, and that person would better get paid for it. Sharing a toilet means that you flush, clean up after yourself, and always leave some paper, it’s basic manners. And yet, like toilets, as FOSS gets used by more and more people, it gets more likely that you will see obnoxious people that shit all over your commons and then complain about it. And nobody will want to take care of it.
Treating correctly the people who work on the software you use is just basic FOSS hygiene.
2018/11/26: It’s a good question, and before you know the answer, Docker images can seem pretty mysterious. Not only do I want to give you the answer, but I want to show you how I got there.
2018/11/23: If you happen to prefer a good GUI tool, you’ll be happy to know there are a couple of outstanding graphical tools for SSH on Linux. Couple that with a unique terminal window that allows you to remote into multiple machines from the same window, and you have everything you need to work efficiently. Let’s take a look at these three tools and find out if one (or more) of them is perfectly apt to meet your needs.
2018/11/20: Parameter Expansion—that is, $var in its many forms. Don't be confused by the name though, it's really about parameter and variable expansion.
2018/11/04: A new, self-consciously commercial coalition in open source, operating at the level of the older permissive and copyleft coalitions we’ve known so far, would be something new. If we wanted to bet on the past, instead, we’d take reconciliation within the copyleft user base.
In other words, a new, even stronger copyleft license that both software freedom activists and competitive upstarts could rally behind, in mutual support. Probably another patch to GPL, like SSPL, but a patch the activist community could make its own. A Mongo GPL that FSF could make GNU Mongo GPL to close the API and container loopholes, as Affero GPL became GNU Affero GPL to close the ASP loophole.
There is cause for doubt in the details.
I don’t think the Free Software Foundation is of any mind to write a stronger copyleft license right now. It is headed in decidedly the opposite direction. More and more, the FSF has constrained itself to soft power, emphasized conciliation over enforcement, declined to make punitive examples, and accepted praise, attention, and stewardship of key but aging projects, rather than double down and scare off fellow travelers. Doctrinally, they’ve stuck to dogma on license drafting, notably freedom zero absolutism and private changes, that prevent them from closing the new loopholes robustly. Software freedom is a young, angry movement where widespread computing, and software freedom, are also new. But only there, far from the industry center of mass where SSPL is relevant, and FSF feels anachronistic.
More concretely, the Free Software Foundation doesn’t appear to share upstart business concern about API and container loopholes, as it once shared concern about the ASP loophole. FSF partisans point to activist users of AGPLv3 and see nothing wrong. In large part because activist projects under AGPLv3 don’t offer nearly the business bounty value that upstart projects do. They have succeeded largely within a niche activist community, appealing to its interests and style of computing. And in large part because activist AGPLv3 developers’ use case is different. The license was tailored to their needs, and will fit a while longer.
That’s not to say there’s no hunger for a more extreme, streamlined copyleft license among radical activists. There’s plenty of frustration with compromise. But here the cross-cutting nature of the new business-oriented licenses blocks the path.
I don’t perceive any activist demand for the peculiar combination of permissiveness and copyleft, and the specific line between, that upstart open source database developers crave. When software freedom activists want a permissive license, they use Apache 2.0. In vanishing edge cases, they use LGPL. The FSF position on “service as a software substitute” is that it’s pernicious. Why would activists want a license that allows making free code nonfree for the good kind of software—software you run for yourself—and requires keeping free code free for the bad kind—services substituting for software you run for yourself? Activists, independent and small-scale, aren’t living in the “new normal” of containerized, orchestrated service clusters deployed on rented infrastructure. They can’t afford thousands of dollars in service charges a month.
Overall, I’m sad to say that I think FSF has tightened its own bind. It knows it needs allies, but it’s keeping the wrong company, courting established business with lots of developers to spare, but no practical common interest. Software freedom activism has trusted that purity of message will create a groundswell of support sufficient to turn the tide of permissive alternatives, thin-client computing, and the relegation of free approaches to tooling, back-end components, and building blocks for proprietary end-user applications. It has optimized for taller pulpits from which to preach its message. But it’s drowned out as more economic interests join in and take over, and can’t match commercial volume. Unless or until software freedom reality comes to be felt as a crisis, and not just understood as one, I don’t think the Free Software Foundation has either a stronger license to give, or enough flexibility to accept someone else’s.
imgp, a Python-based command-line tool that lets you resize and rotate JPEG and PNG files. The software can resize (or thumbnail) thousands of images with a single command. The software is a standalone utility, it’s not tied to a file manager or other software.
2018/11/01: Conky and gcalcli are used to display your Google Calendar events on top of your desktop wallpaper:
Conky is a tool that displays information on your desktop. It can act as a system monitor, having some built-in functions to display the CPU usage, RAM, etc., as well as display custom commands output, among others.gcalcli is a command line interface for Google Calendar. Using OAuth2 to connect with your Google account, the tool can list your Google Calendars, add, edit and delete calendar events, and much more.
Lots of web developers want to achieve fast loading web pages. As more page views come from mobile devices, making websites look better on smaller screens using responsive design is just one side of the coin. Browser Calories can make the difference in loading times, which satisfies not just the user but search engines that rank on loading speed. This article series covers how to slim down your web pages with tools Fedora offers.
Once you set up Laverna, it’s easy to use and has just the right features for what I need to do. I’m hoping that the developers can expand the storage and syncing options to include open source applications like Nextcloud and ownCloud.
While Laverna doesn’t have all the bells and whistles of a note-taking application like Evernote, it does a great job of letting you take and organize your notes. The fact that Laverna is open source and supports Markdown are two additional great reasons to use it.
There are at least 4 Types of desktop (.desktop) files in Linux distributions: action type, application type, link type, menu type. Examples of application and link types are illustrated on the right. These two images can be used as templates for all .desktop files of these types. An action type was shown in Section 2 above and a menu type is illustrated by mb-menu.desktop from the madebits action collection described in Section 2 above. Anyone can construct a desktop file with any text editor (leafpad, geany, ...), and then move it (as root) to any directory. The significance of the contents is the following: