Tuesday, November 1, 2016

GNU Emacs vs. Vim

I've decided to give GNU Emacs a try once again. I've been a happy Vim user for the last 3-4 years; now I think I'm a quite proficient vimmer. However, for the last 2 years, I've given some tries at GNU Emacs, but I've always ended up going back to Vim.
I've always been curious about GNU Emacs, mostly because its links with the GNU  project. It's one of their flagships, along with GCC, GDB, and the core utils I think. I feel inclined to use GNU Emacs because of they GNU  philosophy, because I think using GNU Emacs is kind of political activism. So you are not just using a tool out of some others, you're using a tool that carries a lot of values and history with it. And also, GNU Emacs is a very powerful tool, so I would not be sacrificing functionality because of ethics, which is always good.
For some reason, as I said, 4 years ago I started to use Vim, so I became a proficient vimmer. However, now I'm starting to feel tired of always switching modes back and forth. I know this is one of Vim's most valuable features: being modal let's you issue commands without using modifier keys, and thus avoiding to bend your fingers over to Ctrl, Alt, ...
Now I'm starting feel the pain of using Vim. While it does not rely on modifier keys as heavily as GNU Emacs, it does rely on the Shift key, which is not nicely placed on modern keyboards. I press Shift with the pinky, and I've to do that quite often, e.g. for every Ex command. Thus I'm giving GNU Emacs another try.
What I love from GNU Emacs is the philosophy, the editing/programming capabilities, and Org mode. I'd love to use one single tool to do programming and to organize my daily work. I do not like very much that now GNU Emacs is GUI-based by default, so it tends to rely sometimes on the mouse. Also, the fact that Vi is the standard editor on POSIX systems does not help, i.e. EDITOR is always set to vi. I know that GNU is different from POSIX, but their install base is really different.
What I love from Vim is its minimalistic text-based interface, and its wide-range of editing commands. I do not buy the text filtering feature, i.e. relying on system utilities to format text. This comes in handy when your system does have those utilities. However, you cannot expect the same utilities set to be available on different systems, e.g. GNU/Linux and macOS.
Let's see how it goes with GNU Emacs...

Monday, January 5, 2015

Gnome 2048 is now usable

Finally I managed to finish a usable version of Gnome 2048!! [0] There is still much work to do [1], so any help is much appreciated.




[0] https://github.com/juanrgar/gnome-2048
[1] https://mail.gnome.org/archives/games-list/2015-January/msg00000.html

Tuesday, December 30, 2014

On making money from free software

'Free software' is certainly bad marketing. It produces the illusion of software being gratis, that you must receive it for free. However, software, even free software, is obviously not gratis. At least, it takes time to build a piece of software, and time is money, therefore the cost of building any piece of software is greater than zero. In addition it also takes effort and talent, but we can agree these does not necessarily translate to money. But the most amazing free software packages (I'm thinking of Firefox, Gimp, Inkscape, LibreOffice, ...) do not request you to purchase them prior to downloading. How is that?

Well, the thing is that if you want to reach a wider audience, giving your product for free is the easiest path. Although this could mean that you will not get as much revenue as if you gave it in exchange for something. Take the Netscape case as an example: they wanted Microsoft not to end up dominating the web browser market, and they created the Mozilla project. They do not only provided a high quality web browser for free, but they made it free as in freedom. Therefore there is nothing bad in distributing software for free because that way you increase your user base.

Downloading free software for free is just the beginning. Once you have a piece of free software, you can distribute it freely (again, as in freedom). That is, you can distribute it gratis or in exchange of something, and you can distribute it to whoever you want (please note that distribution of some kinds of software may be prohibited by your country's law). When we do this in exchange for nothing we use to call it sharing; and we all know sharing is good.

Free distribution is therefore an intrinsic part of free software. Free software gives you freedom, and that is also good. We could say that free software is superior to proprietary software. Then why it is so difficult to make money from free software? Is the free thing the problem?

The problem is actually users. In the digital era, we have educated people to ask them this question: 'why would a pay for something I can get for free?' That's the very problem. The problem is not that software is free; free is good. The problem is they way users think. Users may not know how to write a program, but they most certainly guess that it takes time. Therefore, why wouldn't users pay for something that takes time to build, even if it is given for free? The fact that, e.g. LibreOffice, is distributed for free is not because they spend no resources in building it, it is because that way you can reach a broader audience.

Sharing is always a good thing, but we only get the most of it when we all participate. If LibreOffice developers share free copies of LibreOffice, then why wouldn't users share a part of their money with them? This mechanism empowers users because they can decide on their own how much they want to spend in software.

Here I would blame software companies more than individual users. Individual users usually also wouldn't pay for Microsoft Office, Photoshop, ... If they use Gimp and LibreOffice is just because they are tired of downloading proprietary software copies that could contain malware. However, software companies pay Microsoft, Adobe, Mathworks, ... a lot of money in software licenses. Most these companies use the GNU Compiler Collection, but I have no notice of any of them devoting time, effort, money to the GNU Project yet. Ok ok, when you buy a GNU/Linux distribution you supposedly donate money to a lot of free software projects. However, how many distributions a company buy? Because obviously they make copies internally, which is perfectly permitted. I think if companies would donate to the GCC project as much money as they spend in licenses from Microsoft, Adobe, ... by now we would have meaningful error messages from the C++ compiler...

Monday, August 26, 2013

Fedora+GNOME back into my MBP

After some failed tests, I think that finally Fedora and GNOME are going to stay for a long time on my MBP. I've tried many times: installation finishes successfully, user experience is good at the beginning, but then everything starts to go wrong. Now I'll be stronger than them, they will stay. I'm back to the beauty of GNOME, but also back to the recurrent problems of Linux as a whole.

Monday, January 7, 2013

Ubuntu Phone to Appear in 2014

The announcement of the Ubuntu OS for mobile phones is a great thing. First devices will be shipping in early two thousand and freaking fourteen. This is horrible. Mobile phone market is dominated by iDevices, which is quite fair since it's a good platform and iOS was the first OS to appear. Android is quite good, although customer satisfaction depends on what device it actually runs on; I mean Google and Samsung devices are good, others are not that good.

Android has a major problem: it's slow and project butter seems to be a giant patch rather than a decent fix. Ubuntu Phone OS follows the same open philosophy of Android, so it could eat a big share of Android's market if it's fast enough. Ubuntu Phone OS is based on Qt and QML which are really fast, although QML is an interpreted language. But here is the thing, it won't appear until 2014. By that time Google probably has rewritten the entire Android graphics stack to make it fast. My foresight is, therefore, that Ubuntu Phone OS will fail, exactly the same as others libre operating systems like Jolla, Meego, Mozilla's OS, etc.

I really like Ubuntu Phone OS: it has a desktop counterpart (I hope this means perfect integration) and it's based on a C++11 framework, Qt, that is complete, modern and open. Qt is comparable to first-class frameworks like Cocoa; with the addition of QML development is made easier and productivity is increased. I know that Qt is not the only thing that affects speed: it's placed at the top of a complex stack of libraries. I'm assuming here that Canonical will end up with a graphics stack that performs better than its Android counterpart, which probably is not very difficult. The fact that it will not ship until 2014 is definitely going to make the project fail, I think. Although if Google doesn't fix Android's graphics stack it will be a serious contender in the fight for getting more mobile market share.

To sum up, another opportunity missed...