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?

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.