I can’t stand it anymore, I need to write something about the abuse of tar(1) I constantly see around the web. It hurts my eyes, it bothers me because of its abuse of the UNIX philosophy, and most importantly, it teaches bad practices to new (and older) users of GNU tools.
Most often I notice this usage of tar in instructions given at download pages of open-source software, where a user needs to download a bundle of code and needs instructions how to extract it, build it and install it.
I would like to write down an unknown, yet very useful, usage of xargs(1).
In short, if I want to run a command on a list of files stored in a file, I could simply go for:
$ xargs -n1 ls -lh < files.lst
It is amazing how poor or absent is the documentation at Gnome 2.x, yet it can be operated by anybody without any doubts or second thoughts. Amazing! I’ve just recently needed to disable some Keyboard Shortcuts at the gnome-terminal application. The settings can be found at “Edit | Keyboard Shortcuts…” menu option (how obvious). I very easily spotted the required command I wanted to change. By clicking at the command’s shortcut you’re given with the option of changing this option. But, how can I disable it? Searching the relevant document text, it is only mentioned how somebody can actually view this information! Unbelievable!!!
All developers, sooner or later, need to create an isolated and well-known environment for their work, which won’t affect or be affected by the hosting environment where the user works on.
This is a standard case that happens quite often while developing on Python. There are many elegant solutions for this problem, and one of them is Virtualenv. Read more…
This tip is not Linux-specific (since is available at so many platforms) but it is surely useful, at least to me, for daily programming or other editing activities that take place on Linux. I leave here this note, since this Vim’s feature is one that I always forget how to access and use it: I want to format paragraphs having a left, hanging indent.
The following staff can be found at Git‘s contrib directory and in Bash‘s completion directory, which of course is copied from the first one. I’ve put it here just for easy and quick reference of the relevant information. Further customization of Bash’s prompt is, of course, desirable. Read more…
In this excellent article, the author exposes problems of ldd
and loader of Linux. It’s something that I need to check in the future!
Certainly, everybody has his habits in every aspect of his life. Editing a text or source file is no different. My case in this post is about using the Replace commands and facilities found at almost every modern editor or IDE. After reading this article, I finally realized how useless is the Global Substitute command found in Vim, the so called :%s//g
command, an artifact of the old, line-oriented editors like ed.
In fact, it’s much easier and safer to find first the text to replace, edit it, and then by pressing n
(find next) and .
(repeat last change) to apply again the last editing change. This way it is possible to inspect each replace and perform this procedure very fast, when the changes are few. Most of the times this is the case. If the changes needed are more, then the global substitute command can be used as a last resort.
Another note about Git: how I can easily insert a commit in the past or before another commit. Of course, all such changes to Git’s history must take place only in the local (non-publish) history or repositories.
I had a Git repository and needed to rewrite my local history by inserting a new commit somewhere in the past. Read more…
In this article (which I reproduce for future reference) of Linux Magazine two common solutions are presented for running an appropriate Git server.
Although it is possible to run just a plain git server
command, many issues arise after this move that need to be arranged. Actually, I have the feeling that this operation of Git is similar to Mercurial‘s internal, local HTTP server. In other words, it’s mostly for quickly exchange and collaborate 2 developers in contact. Furthermore, it provides the groundwork for building other, more robust frameworks for this task, as is Github.
I was always wondering if it’s possible to create a filesystem on a file instead of a disk partition. Finally, I just discovered that it’s not only possible, it’s really very easy and intuitive procedure. In fact, one could even create a swap partition and mount this one instead of a physical one!
In this article of Ryan Tomayko I’ve found a nice trick for Subversion. when there are changes at current working directory that belong to at least 2 different changesets. What is easily achieved in Git using the git add -i
(or the more straightforward and short git add -p
) command, in Subversion another approach is necessary.
In an article I recently read, Monitoring with Xymon, the author presented an excellent and simple in usage and presentation monitor tool, Xymon.
The great thing is that in its web site one can find a live demo of the tool using real data from author’s systems.
I’ll certainly have a look on this project for the future.
In an introductory article Carla Schroder gives a brief overview of using virtualization in an Ubuntu system using the KVM technology.
Of worthy notes are the necessary packages (qemu-kvm, libvirt-bin, virt-manager, bridge-utils) of achieving KVM virtualization, some useful commands and further links.
$ kvm-ok $ virsh -c qemu:///system list $ virt-manager -c qemu:///system HOST
Further study can be found at:
- Ubuntu Server Guide, Ch.19
- RedHat Enterprise Linux 6 Virtualization Guide
- Man pages of virt-manager, virtsh and qemu-kvm
The rest of the article is simple a guide and demonstration to a GUI tool that I don’t have to repeat here.