Thoughts on the Brave browser
[Fri Jan 31 15:18:29 CST 2020]

A couple of days ago, I ran into a video put together by Luke Smith on the Brave browser where he explains that it is now his browser of choice, and it works as well for normies and geeks:

Since I trust Luke Smith's opinion on quite a few things, that piqued my curiosity, and I gave it a try. While I must say that Brave is, indeed, a pretty good browser, in the end I decided against running it for reasons that have little to do with its technical merit. But let's discuss, first of all, the good. Brave is fast, solid and, as far as I can see, with the features that we have come to expect from any major browser. As a matter of fact, since it is based on Chromium (i.e., the open source engine behind Google Chrome), all Chrome plugins will just install fine on Brave too (at least, I didn't come across any problems doing so). The overall experience is that of a clean, fast, reliable, solid browser. And, on top of that, it is itself open source. So, what's not to like, then? Well, I'd say the whole approach taken by the folks who wrote it is, at the very least, ethically ambiguous. Perhaps the main reason why Brave is so fast is that it blocks all ads from the pages you visit. What's so bad about that, I hear you say? After all, don't we all run ad blocks anyways? Well, yes, but Brave goes a bit further than that. Although they block the ads from the websites you visit... they have ads of their own. Yes, sure, these ads are not forced down your throat. You have to opt-in and, once you do, you will collect what they call "Basic Attention Tokens (BAT)", which is a cryptocurrency that can then be converted into real money. You can either keep that real money, or use it finance the websites you visit. Once again, I hear you say, what is wrong with that? Well, for some reason that I cannot fully explain, I find it a bit ethically dubious that they first block the ads from the websites that truly provide the content (i.e., the ads that pay for that content that the user views), and then go ahead and play their own ads. The business model strikes me as somehow cheeky, as my Irish friends would say. Granted that that is not the only problem I see with it. I also feel that relying on a browser developed by a startup company is a bit shakey, especially when there are open source browsers out there that have been running for a long time and have a proven track record. I'm not sure I want to migrate all my plugins, bookmarks, etc. into a piece of software that may just be totally gone in year as soon as the company behind it runs out of money, just like the old web startups in the previous dot-com bust.

On the other hand, I must also say that, at least, Brave made me reconsider something else. It made me reconsider a position I've held for quite sometime now. At least since the mid to late 1990s, I have been running, first, Netscape, and then, Firefox, in part because I started in the industry by supporting the Netscape browser back in the mid-1990s. Let's just say that I have a sentimental connection to the project. But also because I didn't want to see the web falling into the hands of Microsoft in the form of a de-facto Internet Explorer monopoly. Let's be fair. If it weren't for the folks at Mozilla, that's what we'd have by now. Chrome came into the picture much later. So, my concern for the past 20 years or so has been that we should avoid a single company, browser, or rendering engine to control the web. Yet, perhaps things are a bit different now. After all, the engine behind Chrome is open source. Lots of other browsers are using it. Perhaps the browser, which is definitely part of the infrastructure now, would benefit from consolidating into a single, open rendering engine, which can then be incorporated into multiple projects that provide different alternatives to the end-user in a manner similar to how Linux works. For the time being, I will continue using Firefox. But I'm beginning to worry less about the fact that the Chromium engine may end up winning the race. After all, it is open, and there are plenty of browsers built on top of it, including Microsoft's own Edge browser. If anything, the difference is that I'd still feel more comfortable with a rendering engine promoted by a foundation, such as Mozilla, rather than a company. For the same reason that I feel more comfortable with Debian than with Red Hat, in spite of the fact that the latter definitely plays by the open source book. {link to this entry}

EFI problems due to "No space left on device"
[Mon Jan 27 14:01:07 CST 2020]

Just a short note on an annoying problem I ran into when installing Debian 10 (buster) on my laptop. For whatever reason, the installer failed at the point where it was trying to install GRUB on the disk. If I remember correctly, at that point it only showed a generic error, and I chose to continue with the next (few) steps left on the installation, and reboot. Needless to say, the system failed to boot correctly. Nevertheless, it did show a GRUB rescue prompt that I could use to boot manually. So, that's what I was using for a few days while I continued investigating the problem. And what a problem it is! I did find plenty of ideas all over the Web, but nothing that truly fixed it. At one point, I decided to use the command efibootmgr to change something in the boot order, and it showed an error message that perplexed me: "No space left on device" (?!). What? There was plenty of space left on the disk. None of the partitions were even close to using 50% of the space available. Now, that was a bit confusing. The answer? Well, I found it here. The problem is not truly with any of the disk partitions, but rather with the /sys/fs/pstore directory. For whatever reason, it was full of files with timestampts that preceded even the moment when I installed the OS. All I had to do was delete the contents of that directory, and grub-install ran to completion without showing any errors. Also, the command efibootmgr now worked as expected. I rebooted, and GRUB worked as expected. {link to this entry}

The end of independent, non-corporate web browsers?
[Fri Jan 24 13:21:07 CST 2020]

Yesterday, while reviewing the latest news on the Linux Today website, I noticed a link to a blog post titled The End of Indie Web Browsers posted by Samuel Maddock that is worth reading. Basically, Maddock's main point is that, once the W3C introduced Encrypted Media Extensions (EME) into the world wide web standards, their decision may as well have signaled the beginning of the end of independent, non-corporate web browsers:

No longer is it possible to build your own web browser capable of consuming some of the most popular content on the web. Websites like Netflix, Hulu, HBO, and others require copyright content protection which is only accessible through browser vendors who have license agreements with large corporations.

But why not? Because this form of Digital Rights Management (DRM) applied to the browsers imply that anyone developing a browser will have to embed a Content Decryption Module (CDA) to their code, and obtaining those appears to be quite difficult or expensive. As a consequence of this, only browsers developed by companies or large organizations may have the ability to obtain CDAs and, therefore, allow their users to access online streaming services. {link to this entry}

Enabling 3D hardware graphics acceleration on VMware
[Thu Jan 9 15:19:50 CST 2020]

After my most recent Debian and VMware upgrade, I encountered an error about 3D hardware graphics acceleration whenever launching the Windows 10 VM. This document explains very clearly how to configure that. Basically, you just install the package mesa-utils, and then run the following command to make sure your graphics card has 3D hardware acceleration capabilities:

$ glxinfo | grep "direct rendering"
After you confirm that, simply edit the file ~/.vmware/preferences to add the following line to the bottom of the file:
mks.gl.allowBlacklistedDrivers = "TRUE"
{link to this entry}

Two more lessons: .xsessionrc and configuring border for active window in bspwm
[Wed Jan 8 13:19:03 CST 2020]

Two other lessons about Debian and bspwm configuration learned during the recent upgrade of my laptop. First of all, if you need to run certain commands upon initializing the X Window system on Debian (e.g., keyboard settings, or color settings for different apps), you may be better off adding them to the file ~/.xsessionrc. Here is a good explanation of the differences between .xinitrc, .xsession, and .xsessionrc. Also, here is a Reddit discussion on how to configure bspwm so that the active window will show a colored border. In my case, this is what I added to the bspwmrc file:

bspc config active_border_color '#000000'
bspc config normal_border_color '#000000'
bspc config focused_border_color '#3f07f7'
{link to this entry}

Installing the +clipboard functionality for vim on Debian 10 (buster)
[Mon Jan 6 14:55:26 CST 2020]

I just upgraded my laptop to Debian 10 (buster), and decided to use the moment (as I do every now and then) to also switch to a different window manager (bspwm), get rid of the key bindings I had been using for mutt for over 20 years, and clean up all the cruft I had been piling up on my home directory for more than two decades. Or, to put it another way, instead of a simple upgrade from stretch to buster, I just decided to reinstall and do some major clean-up along the way. It's something I like to do every now and then to dislodge old habits. It's always a good idea to force oneself to accept new challenges and adapt to change. In any case, one of the (many) issues I encountered was the fact that I was unable to use the following key combination to copy the full contents of a file from vim to the clipboard:

:%y+
It just showed the following error:
E850: Invalid register name
As it turned out, the reason why it didn't work was that I needed to install a vim package that included the +clipboard registers, which tend to be, as it sounds reasonable, the vim packages put together to be used with the GUI. So, in my case, on Debian buster, I just had to do this to get things working as expected again:
# apt install vim-gui-common
The answer came via the AskUbuntu forum. {link to this entry}