New Horizons for me (Music and Fedora)

sons_newhorizons_planet.png

Well, it’s been a long time since I posted on this blog…

The reason is that my time is always strict; in the previous months, I’ve been busy testing the pre-releases of Fedora and helping out Italian users on FedoraOnline.it.

Overall, volunteering for the Fedora Project is exciting, entertaining and always useful. Not only I’ve got the chance to contribute to the overall stability of the OS, but I also keep on improving my individual skills. That’s really important, since my daily job is really far from IT, which is the kind of “science” (subject) I love the most. Yes… Being a part of the modern processes around Fedora, is always interesting.

…But that’s not enough…!

Recently, I discovered that, besides IT, music is my REAL passion. I’ve tried to dismiss and forget it, because I thought it’s not as important as studying/learning new things about Fedora/Python and other “geeky stuffs”. I can’t really describe my feelings: I think I lost my way and ended up being too nervous, anxious, self-constrained.

So… I started – once again – to slap the strings of my bass guitar. Then, I tried to remember and follow some exercises learned during some singing lessons I took them around three years ago (or so). Most importantly, I kept on writing down my own songs, especially when it comes to lyrics.

The result is the one-man band project called “Sons Of New Sins“, where I produce music, using Fedora and Open Source software only. I’ve uploaded two – instrumental – songs until now, but I hope to release more bits as soon as possible. Also… I chose YouTube for now, but I hope to find a more suitable platform. And, by the way, here’s the link for “Gone”:

Well… If you like this kind of  “Rock ‘n’ Roll” and “Trance” mixture… And if your Open Source project needs a soundtrack… Feel free to contact me!

Gnome-like activity overview in other desktop environments

How to easily emulate shell’s most famous feature in a different environment with Xfdashboard

xfdashboard_overview

Part 1 – Xf… Whaat?
The activity overview is, probably, the most revolutionary feature introduced with the birth of Gnome Shell. While not every user loves this innovation, it clearly provides a new way of using our workstations. By pressing the “Meta” key, we can now have the opportunity to navigate through windows, installed applications, and active workspaces.
Since Gnome is not the only one choice we can take nowadays, the project ‘xfdashboard’ tries to recreate the same user’s experience inside Xfce. Moreover, this is nothing but an application, so it’s not bound to a specific DE and can be easily used elsewhere.

On Fedora, we just have to pick it from the standard repos:
$ dnf install xfdashboard xfdashboard-themes

The second package consist in additional themes which can be applied to this tool.

Part 2 – Xfdashboard: how does it look, anyway?

xfdashboard_appslist
Stop dreaming. The overall look isn’t as pretty as Gnome Shell’s one. It looks simpler, less modern and way rawer. Is this a problem? No, not really. In my opinion, it surprisngly matches with the window manager I’m using at the moment, which is ‘my dear old friend’ Fluxbox. I tend to use it because of its functionality. Well… If I’d want something like Gnome, I’ll indeed use Gnome, don’t you agree?

Part 3 – Xfdashboard: features

xfdashboard_search
As I said some lines ago, xfdashboard is an application. It’s not an applet, a plasmoid, a screenlet, a widget, a whathehelldoyawant, that is strictly coupled with a specific environment. I bound it to “Meta+Z” on Fluxbox. On my laptop which keeps using the ‘powersave’ cores’ governor, the waiting time for the interface to appear, lasts about three seconds. After that, xfdashboard is completely ready. Without touching the mouse, we’re able to search for the desired software. It’s also trivial to switch the foucsed window nor the active workspace. Last but not least, there is a simple list of favorites, which can be easily managed through ‘drag and drop’.

Part 4 – Ehm, ok Giulio… But… Why?!?!1!?!one!? Ya know, I’ve been using Xfce since Gnome 2 was replaced by that kind of crap…
I might understand (no, not really) this point of view, but, as little as I know, xfdashboard is not an official part of the Xfce project itself. It’s just an add-on, a handy tool worth knowing of, which can customize the user’s experience. Nobody is actually forced to use it.

Exploratory Testing and Fedora

1) What is Exploratory Testing?

As Wikipedia notes, “Exploratory Testing” is a term coined by Cem Kaner back in 1993. There are tons of material worth reading around the net about this topic, but the key point is that it’s somehow a different approach to software testing. Instead of following specific steps, the tester should try to go behind the obvious. Imagine, for example, a pioneer who needs to walk through an unexplored part of territory, or a tourist visiting an unknown city. They certainly have some ideas and documentation about the places they are seeing for their first time, but they might not be aware of the most dangerous places nor some “hidden gems” which are worth seeing.

2) How do I intend Exploratory Testing?

The mysterious mechanisms behind an IT Project are not really so different from these scenarios we’ve just imagined. While some sheets describes pragmatic techniques (I’m thinking about James Bach’s interesting “Testing procedure for Microsoft Windows Logo”, for example) and some books explains other useful schemes (Elisabeth Hendrickson’s “Explore It!” is a highly recommended reading) the concept is that we need to use our imagination. We should try to avoid our comfortable patterns, open our eyes and just be curious. I also like to take notes whenever I am testing an unstable release and I’ve found that it’s useful in order to reproduce formerly unexpected bugs. But, again… The effectiveness of Exploratory Testing depends on how we try to look into the software with different points of view. I remember a recent report by Fedora’s proven tester Kamil Páral (kparal), who discovered a hidden issue of gnome-keyring. Then, even if we are precise, experienced and certified developers, our grand-parents might probably be better explorers than us, for example. That’s because strange, unexpected and wrong behaviors tend to trigger strange, unexpected and wrong events.

3) Exploratory Testing and Fedora

Being Fedora what we could define “a bleeding edge distro”, whenever we perform Exploratory Testing, we certainly have the opportunity to raise the quality of the shipped packages. I’d also say that this process must not substitute automated/scripted testing, which is a fundamental aspect of software development. Modern approaches like Test Driven Development and Behavior Driven Development can assure that the key parts of the application works as intended. Moreover, the Test Cases designed by Fedora QA are handy procedures that check whether the release criterion are met or not and assure that the main features aren’t affected by severe bugs. Indeed, Exploratory Testing is always helpful in order to highlight surprises which aren’t currently covered by common situations and recommended steps.

4) Resources:

A month in QA

During the evening of 24th March, I’ve decided to join Fedora Project’s QA Team.
At first impact, I was really unsure. Actually, I really love testing new pieces of software, but I’ve always been a lone-wolf while building my computing experience. Since my daily job in the field of accountancy tires me because there are lots of deadlines, I thought that this new task could have driven me crazy. But… After my first month… I’m really glad I applied for it! Might this interest you too? So, try to read the following paragraphs and join us!

Felling as a part of a community
What I really enjoy, is that every folk works as a part of a big project. Feeling that the next Fedora will contain at least a simple 0,00000001% of my efforts, is a pleasant satisfaction. I’ve also had the chance to chat with lots of experts on IRC, including adamw and satellit, for example. Although they are power users and experienced testers, they also are always nice, they helped me a lot and provided lots of information. Yes! Learning new things and contributing to Fedora at the same time, is an activity worth doing.

Use of English
While reading, chatting and mailing, I’ve now also the chance to exercise my use of English. Since it’s not perfect, I hardly have the chance to improve it here in Italy. Writing with people which share common interests with me, but live around the world, sounds like a great enhancement for my skills.

QA Activity
I’ve filled some bug reports on Bugzilla in order to get in touch with maintainers when things didn’t seem to work properly. I’ve learned a lot during this activity: honestly, it’s the first time I’ve got the chance to see how a big IT Project is organized. The goal is, however, always the same: testers, developers and engineers contribute together in order to improve Fedora’s quality. Getting involved in TestDays, following cases for the various composes and giving karmas for new updates are other tasks I’ve enjoyed and played with. Every bit offers the chance to perform some nice exploratory testing, uncovers details, highlights strange behaviors and, overall, makes me learn something new!

If you are thinking about joining the Project… Stop wondering and JUST DO IT! I promise it will be an interesting and attracting experience!

Gnome Shell – How I fixed graphic flickering

After years of KDE, I recently switched to Gnome because I really enjoy the working environment it offers “out of the box”.

One issue I encountered with my ATI card, was the presence of annoying visual artifacts which was affecting my workflow. Being a programmer for hobby, the graphic flickering of my LxTerminal’s tabs was a problem I wanted to solve.

Luckily, after messing around with dconf-editor (as unprivileged user, not as root), I found what seems to be the right solution for my chipset.

gnome_shell_disable_animations

Gnome Shell – How to disable animations

While browsing “org->gnome->desktop->interface“, I found that unchecking the “enable-animations” CheckBox did the trick. Restarting the Shell applied the setting and saved my eyes.

I don’t really need an eye-candy DE: I was just seeking something useful in order to write lines of Python code without worrying about the rest. So… Even if the interface lost some of its charm, the overall experience surely improved after that change.

Is creating a new distro worth the time?

Today I’d like to write about a critical part of Open Source.

While learning from tutorials and improving others’ snippets are obviously awesome practices, the Open world often suffer from schisms. Perhaps that’s even the cause why hardware’s manufacturers don’t always support Linux well.

Actually, instead of working on existing projects, lots of users insist on what I call “reinventing the wheel”. Nowadays it’s easy to create a “new” operating system:  lots of distros actually offer powerful tools for building a customized version.

This software is certainly helpful. For example, we can simply deploy our own copy of Fedora on a USB stick. We could also write a live of Ubuntu for testing hardware we don’t know. Open Suse also has a site which showcases users’ creations. I’m sure many more out there offer similar chances.

To stay on top and offer a reliable system, top-distros have rules (especially for new packages to be submitted). I think that too many people don’t like to learn how a serious and well organized team works. Starting a new project is maybe simpler: but will it reach the popularity and the nowadays numbers of – for example – Debian?

It’s a pity that lots of ideas don’t reach the light because they only works on a single system and aren’t accessible for people who use different technologies.

The point is… In 2014, do we need a new Bill Gates? How many benefits does the community get from a Steve-Jobs-wannabe? Wouldn’t be better and more constructive to contribute to an existing project with people all over the world?

Fedora: how to switch from KDM to LXDM

LXDM

The DM (Display Manager) is an application shown at the end of the boot process which allow users to log in, with an eye-candy interface. Typically every DE (KDE, Gnome etc.) has got a DM shipped and configured by default.

KDM is the default DM of KDE. It’s themeable and configurable via the standard KDE’s graphical tool. However, there are lots of alternatives for people who seek a simpler behaviour.

The piece of software explained here is called LXDM. Even though it has been developed for LXDE, it doesn’t need lots of dependencies. In order to apply LXDM, we have firstly to install it by root.

# yum install lxdm

Since it’s ready, we can customize it a bit. lxdm-config it’s an application which creates available results system-wide, so we must use root again.

# lxdm-config

lxdm-config is an useful tool to customize the login screen

lxdm-config is an useful tool for customize the login screen

As every LXDE’s app, this tool is simple, clean and easy to use.

Clicking on the icon (the pig on the screenshoot) we are able to change the user’s face. In the same row, we can also enable the automatic login

We can also change wallpaper clicking on the folder under my name (giulio). We are far from KDE’s themes, but this time the configuration is not an needle in your eye.

So… We customized the look and feel of our DM. Now, we have to get rid of the previous one and setup LXDM. Most of the tutorial which I have found are deprecated, since systemd changed Fedora’s way of living a lot. The steps are the following:

# systemctl disable kdm.service

# systemctl enable lxdm.service

Once rebooted, we can admire our new, lightweight and customized login screen!

How to change theme in Plymouth

https://i1.wp.com/www.unitbit.it/sites/default/files/field/image/800px-Tours_Fedora10_012_Plymouth_Boot.png

Plymouth is the default bootsplash in Fedora, since version 10.

Standard repos include some additional themes, so we can change the graphical behaviour of our distro.

Since we are making changes to the whole system, all the following input must be typed by root.

First of all, we are able to know which theme is running at the moment:

# plymouth-set-default-theme

We could also know which themes are already installed:

# plymouth-set-default-theme –list

As I said before, Fedora’s repo include some alternatives:

# yum search plymouth-theme

I love the solar theme (the on of the image on the top of this post), which was the default of an old release. If I want it again, I have to install it:

# yum install plymouth-theme-solar

Then, I should set it up with the following command (the -R parameter is important because we have to rebuild the initrd):

# plymouth-set-default-theme solar -R

Scegliere il DNS più veloce per noi

 

Recentemente ho trovato un’interessante guida relativa a Chakra.

Questo che segue è una adattamento per *buntu e derivate. Il tutto è stato testato su una liveusb contenente Linux Mint 13 Maya.

In sostanza, Namebench è uno script python che confronta vari server DNS per indicarci quale sia il più adatto per la nostra connessione.

Per prima cosa, installiamo tutto l’occorrente, eseguendo i vari comandi in sequenza:

sudo apt-get install python-tk
wget http://namebench.googlecode.com/files/namebench-1.3.1-source.tgz
tar xvfz namebench-1.3.1-source.tgz
cd namebench-1.3.1
./namebench.py 

 

Se siamo in una sessione grafica, il programma si avvia mostrando una spartana (ma efficace) finestra creata con le librerie tk di python

 

Dopo aver scelto il browser preferito (nel mio caso Firefox), occorre lanciare il benchmark. Non serve impostare nient’altro. Dopo qualche minuto necessario al test, sul terminale vedremo queste righe:

> Saving report to /tmp/namebench_XXXX-XX-XX_XXXX.html
> Saving detailed results to /tmp/namebench_XXXX-XX-XX_XXXX.csv
> Opening /tmp/namebench_XXXX-XX-XX_XXXX.html

Successivamente il browser si aprirà con l’interessante risultato:

 

I server DNS migliori sono quelli evidenziati in alto a destra (10.10.10.10, 11.11.11.11, 12.12.12.12 nel test preso in esame).

La via più semplice per impostare questi indirizzi, è utilizzare l’applet di Network Manager normalmente presente in basso a destra. Nella gestione delle connessioni, selezioniamo la nostra preferita, clicchiamo su “modifica” e navighiamo nella tab “Impostazioni IPv4” .

Qui occorre semplicemente cambiare il metodo in “Automatico (DHCP) solo indirizzi” e incollare gli ip dei DNS separati da virgole, come da esempio qui sotto:

 

L’ultimo passaggio sta nel riavviare il servizio network-manager e a controllare che tutto sia andato a buon fine:

sudo service network-manager restart
nm-tool | grep DNS

 

Quest’ultimo comando, se tutto è andato per il verso giusto, ritornerà l’indirizzo corretto dei DNS precedentemente impostati:

    DNS:             10.10.10.10
    DNS:             11.11.11.11
    DNS:             12.12.12.12


Local backup with rsync

rsync is a very powerful and versatile tool for managing your backups.

The algorithm is its main feature: this piece of software can recognize the updates you did on the original files. The backup’s speed is increased because it transfers only the changes that have been made. In this tutorial, we’ll learn how to perform a simple backup of our /home using an external drive.

WARNING: THIS METHOD IS AMAZING BUT ALSO DANGEROUS. AN IMPROPER USE COULD DESTROY YOUR DATA PERMANENTLY, SO PLEASE USE IT CAREFULLY AND AT YOUR OWN RISK.

Anyway, the basic syntax is extremely easy to understand:

rsync [OPTION…] SRC… [DEST]

OPTION = optional parameters

SRC = source of the data

DEST = destination of the backup

If the source has got an EXT-4 filesystem, I would recommend this way:

rsync -avHu –delete –progress –stats /home/juliux /run/media/juliux/ExtDisk

Let’s analyze the syntax:

/home/juliux is, obviously, the directory where my data are normally stored.

/run/media/juliux/ExtDisk is the path of my external hard drive.

a = archive mode: rsync works in a recursive way inside the directories. It also preservs symlinks, permissions, dates, groups, owners, devices and special files. So, this parameter tells rsync to save the Unix’ attributes of our files.

-v = it throws some details about the whole process

-H = tell rsync to preserv Hard links too.

-u = omit the files which are newer in the destination

–delete = delete the destination’s files which are no longer present in the source

–progress = it shows us the “on going” of the whole process

stats = rsync summarizes some stats at the end of the backup

If the source has got a FAT32 filesystem, This way works way better:

rsync –progress –delete –modify-window=1 –update –recursive –times –size-only –stats /home/juliux/ /run/media/juliux/FatDisk

Obviously, this filesystem doesn’t support the Unix’ standard for permissions and ownership.

/home/juliux is, again, the directory where my data are normally stored.

/run/media/juliux/FatDisk is the path of an external drive with a FAT32 filesystem.

–modify-window and —times are required because FAT32 threats dates in a different way than Unix’ one.

update it’s the same as “u“, explained with the other method.

size-only = with this parameter, ryncs omits files which haven’t changed size.

That’s all for now! I still recommend to use this tool carefully. My advice is to try and learn how to use it with small directories first. PAY ATTENTION, as an improper use could destroy your data.