Today, my official CD of Ubuntu 9.10 (Karmic Koala) arrived. I’d like to thank Canonical for the gift. It will be very useful when installing Ubuntu on friends’ computers because people trust official CDs and that will make my work as a GNU/Linux evangelist easier.
20/11/2009
19/11/2009
HP Deskjet F2480 in GNU/Linux
Today, I bought a HP Deskjet F2480 printer. It’s an all-in-one printer (print, copy & scan) to print a few documents at home. It works nicely in GNU/Linux (both printing and scanning) and its driver is free software. Just download it from here (“Download HPLIP”) and run it using: sh hplip-*.run. After that, answer a few questions (AUTOMATIC installation mode) and that’s all.
I recommend it if you are looking for a cheap GNU/Linux-friendly all-in-one printer.
18/11/2009
Wikipedia’s 2009 fund-raising campaign
Wikipedia’s 2009 fund-raising campaign has started. I have already donated some money, as I did last year. I encourage every Wikipedia reader to do the same if we want to support and maintain it.
13/11/2009
Upcoming book: ModSecurity 2.5 by Magnus Mischel
I’m pleased to have been chosen to review an upcoming book called “ModSecurity 2.5” by Magnus Mischel. It’s going to be published this month by Packt Publishing.

As I explained in my previous post (Installing ModSecurity for Apache in Ubuntu Server 9.04), ModSecurity is a web application firewall that can work either embedded or as a reverse proxy. It provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis.
I’m looking forward to reading the book and reviewing it, because I think ModSecurity is a great tool and very useful if you work in web-based environments.
09/11/2009
How to create and manage a Git repository
Description: “Git is a free distributed revision control, or software source code management project with an emphasis on being fast. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server.”
All the documentation about Git could be found here.
Installation:
- Ubuntu & Debian:
apt-get install git-core - Fedora:
yum install git
Configuration:
Git searches for its configuration files using this order (if one file is found, the rest are ignored):
.git/config: Repository-specific configuration settings~/.gitconfig: User-specific configuration settings/etc/gitconfig: System-wide configuration settings
You can edit them directly or using the git config command. Examples:
git config --global user.name "Jaime Frutos Morales"
git config --global user.email "acidborg@gmail.com"
You can see all your current configuration settings using git config -l .
Creating a repository:
- To create a repository in your current directory:
git init
It will create a directory called .git in your current directory which contains the repository.
Adding and removing files:
- To add a file or directory to your repository:
git add file_name - To add all the files and subdirectories of your current directory to the repository:
git add . - To remove a file from the repository:
git rm file_name - To commit changes to the repository:
git commit. In Git, adding a file to the repository and committing it are different actions, so after adding files to your repository, you have to commit them to save the changes. You will be asked to enter a short description of the commit in order to track the changes on the repository. - To see the status of your repository (files added, removed, committed, etc):
git status
Viewing commits:
- To list all the commits made to the repository:
git log - To see the details of a specific commit knowing its ID (the sequence of letters and numbers after the commit word):
git show commit_id - To list the changes made by the last commit:
git show - To list a short description of all commits:
git show-branch - To show the differences in files between two commits:
git diff commit_id1 \ commit_id2