jump to navigation

maxcompression revolution 25 Febbraio 2008

Posted by Calogero in Bash, Debian, GNU/Linux, Gnome, Informatica, Mac OS X, Programmazione, Scripting, Sistemi Operativi, Ubuntu, Unix.
Tags: , , , , , , ,
add a comment

Come al solito i miei script sono vulnerabili nella gestione dei file il cui nome contiene degli spazi. Ecco una versione dello script di compressione che non è afflitta da tale vulnerabilità:


#!/bin/bash

# maxcompression2.sh
# Copyright (C) 2007 Calogero Sanfilippo   sanfilippo.calogero@gmail.com
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 

function usage(){
    echo -e "\nmaxcompression: usage: maxcompression [-p] output_filename.7z input_filename1 input_filename2 ….."
    exit 1
}

if [[ $# -le 1 ]];  then
    usage
fi

password=""
output=""

if [[ "$1" == "-p" ]]; then
    password=$1
    output=$2

    shift
    shift

else
    output=$1

    shift
fi

for i in "$@"; do
    if [[ ! -f "$i" && ! -d "$i" ]]; then
        echo "$i is not a valid file/directory"
        exit 1
    fi
done

7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on $password $output "$@" 2>/dev/null

if [[ $? -ne 0 ]]; then
    echo "Error while compressing files"
    exit 1
fi

Riotta non le fa vedere queste cose 22 Febbraio 2008

Posted by Calogero in Berlusconi, Politica, Riotta, Senza Categoria, porno.
Tags: , , , , , , , , ,
2 comments

King Crimson - Frame by frame 20 Febbraio 2008

Posted by Calogero in Adrian Belew, Bill Bruford, Greg Lake, King Crimson, Musica, Pat Mastelotto, Poesia, Robert Fripp, Rock progressivo, Tony Levin, Trey Gunn.
Tags: , , , , , , ,
add a comment

Una delle canzoni più belle dei King Crimson, Frame by frame, tratta dall’album Discipline del 1982.

Nuova incarnazione dei King Crimson, nuova musica. Questa volta Fripp si presenta con la new wave nelle orecchie e la rivisita a modo suo, creando musica “cubista”, “picassiana”, multisfaccettata.

Buon ascolto

Usare Graphviz e DOT per stampare un albero binario 20 Febbraio 2008

Posted by Calogero in Algoritmi, C, C++, DOT, Debian, GNU/Linux, Gnome, Informatica, Mac OS X, Programmazione, Scripting, Sistemi Operativi, Ubuntu, Unix.
Tags: , , , , , , ,
2 comments

Graphviz è un pacchetto di software open source sviluppato dagli AT&T Research Labs per la rappresentazione di grafi descritti mediante il linguaggio di scripting DOT.

DOT è un linguaggio abbastanza semplice ed immediato. Per esempio, il codice DOT che mi ha permesso di realizzare l’immagine della rotazione di un albero, presente nel post sugli alberi AVL, è il segunete:
(more…)

Alberi AVL 19 Febbraio 2008

Posted by Calogero in Algoritmi, C, C++, Informatica, Programmazione.
Tags: , , , , , , ,
1 comment so far

Gli alberi AVL sono degli alberi binari bilanciati in altezza. Un albero binario si dice bilanciato in altezza se, per ciascun nodo dell’albero, l’altezza del sottoalbero sinistro differisce dall’altezza del sottoalbero destro al più di una unità.

Per gli alberi AVL si parla anche di fattore di sbilanciamento di un nodo e lo si definisce come la differenza tra l’altezza del sottoalbero sinistro e l’altezza del sottoalbero destro. Banalmente, in un albero AVL il fattore di sbilanciamento di ciascun nodo è, in valore assoluto,  \leq 1.

A differenza di un albero binario “tradizionale”, un albero AVL mantiene la proprietà di bilanciamento in qualsiasi circostanza, sia dopo un inserimento di un nuovo valore che dopo la cancellazione.

Si può dimostrare che l’altezza di un albero AVL di n nodi è sempre O(\log n) e quindi tutte le operazioni di gestione dell’albero (ricerca, inserimento e cancellazione) hanno costo O(\log n).
(more…)

aac2mp3 revolution 17 Febbraio 2008

Posted by Calogero in Bash, Debian, GNU/Linux, Informatica, Mac OS X, Musica, Programmazione, Scripting, Sistemi Operativi, Ubuntu, Unix.
Tags: , , , , , , , ,
add a comment

Usando il titolo “aac2mp3 revolution” non intendo dire che il mio script rivoluzionerà il mondo :D; sapete, dopo “aac2mp3 reloaded” non poteva che esserci “aac2mp3 revolution”.

Lasciamo stare queste scemenze.

Ho ulteriormente migliorato la versione precedente dello script di conversione da aac a mp3, in modo tale che sia in grado di gestire pure i maledetti files il cui nome contiene degli spazi.

Ecco il codice:
(more…)

NeoOffice 15 Febbraio 2008

Posted by Calogero in Informatica, Java, Mac OS X, NeoOffice, Sistemi Operativi, Unix.
Tags: , , , , , , , ,
6 comments

Tutti gli utenti di OpenOffice.org su Mac OS X avranno notato che l’integrazione col sistema lascia molto a desiderare. OpenOffice.org si richiede ad X11 e non è esattamente il massimo per lavorare più o meno seriamente.

Da poco ho scoperto l’esistenza del progetto NeoOffice, un porting di OpenOffice.org che utilizza strumenti software native come Carbon, Cocoa e Java.

NeoOffice ha la completezza di OpenOffice.org ed è perfettamente integrato nel sistema. L’unica pecca è il fatto che è implementato quasi totalmente in Java, il che lo rende particolarmente avido di risorse.

Nonostante questo, vi consiglio di scaricarlo

aac2mp3 reloaded 14 Febbraio 2008

Posted by Calogero in Bash, Debian, GNU/Linux, Informatica, Mac OS X, Programmazione, Scripting, Sistemi Operativi, Ubuntu, Unix.
add a comment

Ho migliorato lo script bash che avevo postato precedentemente, rendendolo leggermente più completo e funzionale.

Ecco il codice:
(more…)

Uno script bash per convertire un file M4A in MP3 11 Febbraio 2008

Posted by Calogero in Bash, Debian, GNU/Linux, Informatica, Mac OS X, Musica, Scripting, Ubuntu, Unix.
Tags: , , , , , , , ,
add a comment

Prendendo spunto dal post di Emanuele, ho cercato di automatizzare il processo di conversione di più file M4A in mp3 con un semplicissimo scriptino di shell.

E’ ancora in versione 0.000001 ed è molto scemo: si limita a prender tutti i file M4A della directory corrente e a convertirli usando faad e lame. Occorre eseguirlo nella directory che contie i file da convertire

Ecco il codice:


#!/bin/sh

for i in $(ls *.m4a)
do
    name=${i//.m4a/}
    wav="$name.wav"
    wavmp3="$name.wav.mp3"
    mp3="$name.mp3"
    faad -d $i

    lame $wav

    mv $wavmp3 $mp3

    rm -v $i
    rm -v $wav
done

Appena avrà un poco di tempo ne farò una versione più “intelligente”.Enjoy……

Nude - Radiohead 7 Febbraio 2008

Posted by Calogero in Musica, Pop, Radiohead.
Tags: , , , ,
add a comment

Il nuovo album dei Radiohead mi ha stregato completamente.

Ecco Nude, altra canzone bellissima, corredata da un particolare video slow-motion: