Introduction About Site Map

XML
RSS 2 Feed RSS 2 Feed
Navigation

Main Page | Blog Index

Archive for the ‘Linux’ Category

The Sunny Days of GNU/Linux

Summer

We are fortunate enough to live at a time when many (if not most) phones run Linux and the overwhelming majority of Web servers do too. Those who say that GNU/Linux is “not ready for the desktop” hardly exist anymore. So for those who insist on running it on their desktop/s, there is rarely a major barrier. Videos work just fine (increasingly with HTML5 and free codecs, not Flash), a lot of applications are Web based, and some of the world’s best Web browsers are available for GNU/Linux, so how can one complain? Among developers and producers, there is no real pitfall associated with GNU/Linux (those that are brought up can easily be defended against, e.g. “fragmentation”).

Earlier this week I had the pleasure of installing the latest Debian GNU/Linux on my home server. I used an SD card mounted onto a USB converter to pass a small ISO image which in turn bootstrapped the system, brought up the network card, and fetch all the remaining packages over the Internet. This made a multi-functional server with KDE4 and GNOME on top of it for some administration. It all started with an SD card and the installation was simple enough for most people to walk through. When even Debian becomes an easy distribution to install it ought to become clear that GNU/Linux continues to mature not only in that little corner called “Ubuntu”. The same components are shared and reused to make the optimal system.

Despite technical competition and also illegal, anti-competitive practices, GNU/Linux now thrives, so all that Apple or Microsoft can do is build a cartel around software patents. They currently go after Android more than they go after GNU/Linux. But Google is wealthy enough to counter this, e.g. with the purchase of patents. It means that, in the long run, the patent angle is not enough to impede GNU/Linux or Java/Linux adoption.

To a lot of us who are staunch advocates of GNU/Linux and proponents of software freedom, the reality of this irreversibility is a true pleasure. It means that we can sit back and watch Linux take over more and more aspects of our lives, slowly demonstrating the merits of software which is free. Apache does something similar, but fewer people out there are aware of what it is. Little by little we’ll be seeing more Free software in more places. Just like Wikipedia, it spreads too fast to ignore.

2011 has been an important year for Linux. This kernel turns 20 this year (depending on which milestone is celebrated). Let us celebrate.

Review of Puppy Linux on an Old Server

Puppies

Puppy has become familiar to many as a Live CD option for aging PCs that sit on people’s desktops at home, maybe even at some offices. Puppy recently became more of a derivative of Ubuntu (arguably, depending on the definition of “derivative”), but its legacy and/or its strength was mostly associated with its version that I used. It contains JVM and it can also use other lightweight desktop environments.

For this review, I have used Puppy for a period of 5 days, first as a desktop (ish) on a server machine and then, briefly, as a development environment (it did not get very far). The way I will structure this review will be compartmentalised and it will focus on items that are more or less unique to Puppy. For example, I will ignore GRUB.

Puppy, by default, runs in a mode similar to root and it appears to be quite strictly a single-user OS. It comes preinstalled with a lot of valuable and lightweight applications. It also has Firefox, which is probably the exception when it comes to this defensible ‘weight’ criterion. Chromium is made available through the repositories and it works very well. I tried it and it was perfect. Puppy comes with a variety of themes (about half a dozen) and more can be added in a user-friendly way which, as I unfortunately found out, can lead to a system dependency Hell (it is not entirely clear what caused this). In order to effectively assess Puppy, there ought to be a separation between the boot process, which is fast but lacks polish, the desktop environment, and the applications, some of which are unique to Puppy. The menu which contains these applications is divided into sections that group related items. The problem is, this menu is cumbersome to edit, it is not clear how to create shortcuts on one’s desktop or task bar, and sometimes it is hard to find the category under which is application of interest was placed. Even finding a terminal window application took me minutes of manual searching (no simpler mechanism is available). Configuring the behaviour of the environment is in general very cumbersome compared to newer and heavier desktop environments. This may not be a huge deal when striving to just use this environment to merely host Firefox or OpenOffice.org. It does, however, give little justification to using Puppy on a machine with decent specifications (such as the one I tested Puppy on).

Puppy is generally easy to use and it contains many technical tools in the appropriate menus. It comes preloaded with OpenSSH and other front ends to such “Swiss army knives” that would help advanced users and make it almost suitable for some servers. The problem is, when something is missing (GCC for example), it leaves the user dependent on package managers that do not always succeed at installing desired applications, especially KDE applications and even GNOME applications. The package manager in this release of Puppy offers a gateway into Ubuntu repositories, but there is no guarantee that these would work. And worse — under some of the Puppy packages there are items that explicitly say that they are broken or may break something else. Why even include them? The last thing a user would want is a hosed system; it’s better not to have some software (or having to compile it from source) than to not have the operating system (e.g. in case it gets rendered unbootable). If a package is known to be sensitive and prone to issues, then Barry should probably omit it altogether, leaving the user with something which is not self-nuking. But anyway, I digress.

Here are some of the nice things that I can say about Puppy. Apart from booting fast it is also fast enough while in use, although it may depend greatly on the hardware used and it might scale a lot worse with old processors and deprivation of RAM. This would require another test on a different machine. The selection of themes that Puppy comes with by default is quite pleasing considering the fact that there are no X Composite effects. The task bar (includes more than just user tasks/windows) is not cluttered and the menu cannot baffle any user. Even the names of applications are usually self-explanatory,which is important.

Screenshots would have complemented this review had I still been able to start X. The thing is, Puppy was a challenge to set up properly on a widescreen display. It offered some low-level tools for X configuration and display setup, but these never achieved the required display mode, even after 2 hours of persistent attempts (I have a lot of experience with X, so the fault is not purely mine). In command line mode, Puppy has a lot of the tools one might expect to find (editors, file system repair, rsynch and so on). It would probably benefit from a better terminal application which is visually richer and more customisable (the one it currently has offers no customisation at all and it is rather rudimentary). For those who are into the command-line oriented work, Puppy is not a good choice and perhaps it is possible to install a better terminal to make up for it in the future (or at present from the repositories). Good terminal emulators need not take up much space, so this is an area worthy of expansion in the future.

One thing that occurred to me is that the GUI is not always consistent and does not behave in the best of ways. For example, when installing packages, they get installed upon a single click on the package name and it is not possible to tick several for simultaneous or queued installation. Then installation gets very verbose and distracting. Another example is, when trying to change the number of virtual desktops (for pager size) there is a request for keyboard input of a number between 1 and 8, using a textbox without limitation on length. Why not use a slider or a set of buttons to restrict and validate the user’s input? This might be a JVM-only issue, but either way, even Fluxbox does not have such issues (Fluxbox runs on my old laptop). Openbox and IceWM I have not used for a long time, but they too did not have such fragmented and unexpected settings structure. These are both available for Puppy, but I did not get around to testing them.

Now we come to remarking on Puppy as a server. In short, it is not. Puppy’s task bar gives way to the stereotype that it’s a browser-based distribution, as it links only to two browsers, Puppy’s browser and Firefox. If this machine is to be used as a monitoring server, than maybe with a browser up and some terminals it is suitable for the task. But otherwise, given the lack of necessary applications (preinstalled or in the repository), aspirations to run Puppy on a server are a dream pipe. I gave up on this pretty fast, before I even managed to compile a mail server package (too many dependencies and packages were missing).

I wish there was more to tell and I wish I could recommend Puppy for anything other than very old computers, but based on 5 days of use, Puppy is a niche product and it does what it’s intended to do pretty pretty well. A friend warned me over at Identi.ca about dependency nightmare and he was right. It was only days later that I started to experience those myself. At first I failed to install some KDE/Qt applications, but later it was the addition of many more packages that should be ‘safe’ that led to the “nightmare” I had been warned about.

Puppy is available for free download from its well-established Web site. it packs a lot of power in very small size and it is available for use in live mode too, meaning that one can try without committing by full installation. This is probably one of the strengths of this GNULlinux distribution.

Thank you, Puppy. And thank you, Barry, for Puppy.

GNU/Linux on the Server Side Helps ‘Desktop Linux’

The Network Effect in action

Network spheres

The myths about “desktop Linux” are mostly associated and tied to “easy of use”. Many people, mostly ones with next to zero experience when it comes to GNU/Linux, have blindly decided that the slow growth of GNOME and KDE is due to an inherent problem other than marketing. But perceptions are changing when people discover that they are surrounded by GNU/Linux, even if their own client machine does not run a Free/libre operating system.

Whenever I perform scientific experiments, I entirely separate my work machine from the computational machines, which are dedicated to a particular task and are optimised for uptime, resilience, and good memory management. These machines exclusively run GNU/Linux, for technical reasons of course. In addition, soon enough one of the Windows clusters will be converted into dual-boot, permitting even more computational power to be amassed from remote nodes, provided one is not a Windows drone. In this modern age when just about any large cluster or computational server runs GNU/Linux, what can a Windows or Mac OS X user do to justify a choice of non-homogeneous platforms, wherein there is basically disharmony and inconsistency between the back end (server) and the desktop/workstation? There is a time penalty associated with moving a program from a proprietary desktop environment to GNU/Linux at the back room. It is not surprising that more and more people in my field are moving to UNIX or Linux on their desktop.

To what extent might the rise of Android impact people’s feelings towards GNU/Linux on the desktop? It does seem like iPhone has already managed to persuade some users to replace a Windows desktop with an OS X desktop. I see examples of this all the time, although as proof it’s merely anecdotal, not statistical.

GNU/Linux Saves Old PCs, Not Just Money

It’s not e-waste until the hardware is dead

PCB

A LOT of PCs that were perfectly fine 5 years ago were made obsolete not by dysfunctional hardware but by resource-greedy monopolistic and monolithic operating systems such as Windows Vista. This was bound to be a blessing to GNU/Linux, said one member of the Manchester LUG around 2006 when Vista was being finalised. He was right. Several years down the line, machines which were back then acceptable cannot possibly run the latest Windows, leaving GNU/Linux to fill the gap with its many distributions (suiting old and new).

Some machines, such as this one, come with Puppy Linux by default (I’ve just bought one to serve as a services monitor). There are other such machines that typically run GNU/Linux.

So yes, I’ve been checking about an extra unit to run a third monitor on. What strikes me as important is that the only two sites that I found so far [1, 2] both indicate that OpenOffice.org is a hot item even on Windows. With ODF and all, how would Microsoft feel? And to what extent will GNU/Linux benefit?

Thunderbird: My Most Used Application

My most used and highly valuable applications are probably Kate, which I wrote about some days ago, and Thunderbird. KNode and Firefox used to be used a lot before I found ThunderBrowse.

Here is a sort of overview of how I used Thunderbird, in case someone ever thought of it as a weak application. Click on the image below for an explanation of my workflow in desktop 2.

Thunderbird

Efficiently Working With Text Files in KDE (or GNU/Linux in General)

Working with text

Several years ago in this Web site I explained how I work with KDE. It was so long ago that it was KDE 3.1 and I also worked with 4 or 8 dual-head workspaces (now I have 10 that are actively used). But today I would like to share some working tips that are based on adaptations I made over the years in order to increase efficiency in workflow. The short story is, just as activities should be divided conceptually based on some criteria of commonality (e.g. which window needs to be near which other windows), so should text files. It sounds very obvious, but let’s have a better, more detailed explanation.

My favourite text editor is Kate (I use xbindkeys to launch a new instance of it with CTRL+ALT+W). It is very powerful for both development and for writing. It has syntax highlighting for loads of languages/markup, on-the-fly spellchecker, indentation, etc. It also can manage sessions, where basically one can save program state with settings and then load everything from a profile. This includes plugin settings, e.g. tabbed interface for text files. I started using this feature extensively years ago, especially with tabs. Some months ago, however, I found that sometimes I needed text to be in other desktops where it can be adjacent to the windows that correspond to it. For example, development I do in workspace 8, monitoring work in desktops 5 and 6, and news/research mostly in desktops 1 and 2. So I basically broke down my editor into 4 separate sessions, each of which containing particular text files of relevance. In the picture above, shown are two text editors in tandem. One has an archive of my past posts for quick lookup that requires little browsing/navigation, just text search in an enormous text file (tens of megabytes). The top part has about 4 files open, ranging from posts in progress, links that are accumulated, quotes I commonly use, and also some templates of value. There tends to be more in there.

The bottom line is, if you work a lot with text, consider working with raw text and a powerful editor. Putting the whole thing through an HTML-based piece of software like WordPress or even LaTeX-powered software/front ends like LyX is always possible to do at the end. But the real power is in words; the lighter and faster, the better. To improve access to files and information of interest, divide the text editors/sessions into separate desktops. This reduces movement between desktops and enables focus on particular activities, leaving distractions aside. If you have to open the file manager a lot, then perhaps a better workflow is being missed. Shortcuts too can help.

By the way, my KDE session as shown above has run for over two months without even a second login. The desktop’s robustness sure is impressive! The tips above apply not only to KDE. Other editors can achieve something similar.

Reflections on Permanently Moving From KDE3 to KDE4: 2 Years Later

KDE3 and KDE4

My last KDE3 desktop on the left and the current KDE4 desktop on the right

MY FIRST experience with KDE4 was KDE 4.1. I had not had a reason to abandon what I was using back then (no upgrade treadmill). I finally started using KDE4 (full time) when 4.3 came out. From that point onwards I could not really go back to KDE3 and be happy. There was nothing in KDE3 that I really did not have in KDE4.

GNOME seems to be going through a similar phase of transition right now. Linux Mint is clinging onto GNOME2 and some users abandon GNOME altogether because of Unity or Shell. Eventually, however, it will probably stablise and users will come to accept change. It can take time (maybe years) and despite minor changes that take some time getting used to, KDE3 does everything substantial that KDE3 could do and it actually does a lot more with decent performance (comparable or better than) w.r.t. to KDE3 on the very same hardware.

All improvements come with a learning curve.

Retrieval statistics: 21 queries taking a total of 0.088 seconds • Please report low bandwidth using the feedback form
Original styles created by Ian Main (all acknowledgements) • PHP scripts and styles later modified by Roy Schestowitz • Help yourself to a GPL'd copy
|— Proudly powered by W o r d P r e s s — based on a heavily-hacked version 1.2.1 (Mingus) installation —|