Lillo's blog

Un uomo sulla luna non sarà mai interessante come una donna sotto il sole

Mi sono trovato di recente a dover estrapolare da una grande massa di file soltanto quelli con dimensione superiore ad una certa cifra, per dividere alcune foto fatte a risoluzione alta con altre jpeg recuperate da un’hd.

Ho realizzato quindi un piccolo script in ruby che prende 3 paramentri: la cartella da cui tirar fuori i file (è ricorsivo, quindi agirà anche sulle sottocartelle), la cartella di destinazione e la dimensione in byte minima sopra cui spostare.

Non credo servirà mai a nessuno, ma chi lo sa!


#!/usr/bin/ruby
require "find"
require "fileutils"

if ARGV[0] == "-h" or ARGV[0] == "--help" or ARGV.length != 3
p "usage: sposta.rb <directory to monipulate> <destination directory> <min size to move (byte)>"
exit
end

if !File.exists?(ARGV[0])
p "target directory #{ARGV[0]} doesn't exist"
exit
end

ARGV[1][-1,1] == "/" ? dir = ARGV[1] : dir = ARGV[1] + "/"
Dir.mkdir(dir) if !File.exists?(dir)

Find.find(ARGV[0]) do |f|
if File.file?(f) and File.size(f) > ARGV[2].to_i
FileUtils.move(f, dir)
end
end

Tempo fa mi sono trovato a dover realizzare, come elaborato per l’esame di telematica, un How-to sull’utilizzo di Maven, un tool per la compilazione java e non solo.

Visto che la guida mi pare fatta decentemente, ed è veramente “for dummies”, ho pensato che potrebbe essere utile metterla a disposizione per tutti.

Trovate qui la guida e qui la presentazione

Mi son trovato a dover fare delle prove su irb, modificando via via un file “libreria”, che dovevo quindi ricaricare ognivolta: ho quindi cercato un modo per farlo più velocemente. L’idea è: come faccio a scrivere, al posto del classico:

qualcosa del tipo:

?

La soluzione è aggiungere poche righe all’interno del file .irbrc nella nostra home:


def l(file_name, rl = nil)
 file_name += ".rb" unless file_name =~ /\.rb/
 @@last_file = file_name
 load "#{file_name}"
 return "#{file_name} #{rl}loaded"
end

def rl
 l(@@last_file, "re")
end

E il gioco è fatto

Siccome sono un pasticcione, mi capita spesso, nei miei raptus di smanettamento, di installare pacchetti da repository non sicuri, con pacchetti spesso non stabili che mi introiano ogni bene.

Alla ricerca di un modo per “ripulire” la mia installazione, ho trovato che la soluzione migliore è probabilmente creare un file, situato in /etc/apt, che forzi la versione dei pacchetti ad una ben definita tramite un singolo comando apt.

Ma vediamo come fare per una ubuntu lucid lynx: prima di tutto, disabilitiamo tutti i repository aggiunti “non ufficiali”, quindi commentiamo le righe corrispondenti in /etc/apt/sources.list e verifichiamo in sistema –> amministrazione –> gestore aggiornamenti che non siano presenti righe strane.

A questo punto creiamo il file preferences in /etc/apt:

sudo vim /etc/apt/preferences

ed inseriamo il seguente testo:

Package: *
Pin: release a=lucid
Pin-Priority: 1001

Package: *
Pin: release a=lucid-updates
Pin-Priority: 1001

A questo punto, basterà lanciare un:

sudo apt-get update && sudo apt-get dist-upgrade

per ripulire la nostra distribuzione

Girovagando per la rete alla ricerca del modo di inserire un’immagine nel titolo di un documento latex con il comando \maketitle, mi sono imbattuto in questo bel pacchettino: titlepic.

L’utilizzo è molto semplice: basta inserire il file .sty all’interno della cartella radice del nostro documento latex, inserire il più classico degli\usepackage{titlepic} e quindi inserire, prima del comando \maketitle, qualcosa del tipo:

\titlepic{\includegraphics[width=\textwidth]{picture.png}}

Et voilà! Il gioco è fatto!

Per il sito della mia squadra di calcetto cercavo il modo di far apparire delle widget (ad esempio dei sottomenù) soltanto in alcune pagine, e mi sono imbattuto in widget logic, un plugin per wordpress che fa esattamente quello che volevo.

Questo potente plugin rende veramente facile ed immediata la possibilità di scegliere in quali pagine una certa widget viene visualizzata, rendendo la personalizzazione delle sidebar wordpress molto più comoda. Agisce aggiungendo ad ogni widget un campo “widget logic” che prende come valore una qualsiasi espressione che restituisca un valore booleano.

Ad esempio, se vogliamo che la nostra widget venga visualizzata soltanto nella home page, basterà aggiungere is_home() in questo campo ed il gioco sarà fatto.

Alcune delle espressioni più comuni sono, ad esempio:

is_home() – se ci si trova in home page
!is_home() – se non ci si trova in home page
is_page(‘about’) – se ci troviamo nella pagina “about”
!is_category(array(5,9,10,11)) – se non ci si trova nelle categorie 5,9,10,11

Per ulteriori informazioni, è possibile consultare il file readme sulla pagina del plugin

Navigando un po’ per la rete, ho trovato questo table sorter, ovviamente javascript, molto molto carino, che sfruttando le regexp effettua l’ordinamento di tabelle html in maniera veramente cicalosa!

Da dire non ho moltissimo, sul sito del suo realizzatore troverete tutte le info necessarie al funzionamento, dagli esempi ai parametri che potete passargli, quindi direi che potrei anche farla finita qui :P

Cercando in rete un convertitore per file mkv, il formato in cui si trovano la maggior parte di divx in alta definizione, ho trovato questo bel software freeware e multipiattaforma, che fa perfettamente al caso mio.

Tsmuxer, infatti, permette di convertire file con un sacco di formati, tra cui gli mkv, in ts o m2ts, formati perfettamente riconosciuti dai televisori Panasonic Viera, dalle Playstation3 ed altro.

Permette inoltre di creare dischi blu-ray e avchd: per completezza, riporto dal sito le Main features

  • Automatic or manual fps adjustment while mixing;
  • Level changing as well as SEI, SPS/PPS elements and NAL unit delimiter cycle insertion while mixing H.264;
  • Audio tracks and subtitles time shifting;
  • Ability to extract DTS core from DTS-HD;
  • Ability to extract AC3 core from True-HD;
  • Ability to join files;
  • Ability to adjust fps for subtitles;
  • Ability to convert LPCM streams into WAVE and vice versa;
  • Track language information injection into blu-ray structure and TS header;
  • Ability to cut source files;
  • Ability to split output file;
  • Ability to detect audio delay for TS/M2TS/MPG/VOB/EVO sources;
  • Ability to remove pulldown info from stream;
  • Ability to open Blu-ray playlist (MPLS) files;
  • Ability to convert SRT subtitles to PGS;
  • Tags for SRT subtitles support – tags for changing font, color, size, etc.; tag’s syntax is similar to HTML;
  • United cross-platform GUI – Windows, Linux, MacOS.

Circa una settimana fa è arrivato a casa un nuovo bambino: un Panasonic Viera  tx-p50v20e, televisore al plasma dalle dimensioni tali da fare invidia a Rocco Siffredi.

Oltre ad una qualità dell’immagine veramente eccezionale, il televisore ha un sacco di funzionalità aggiuntive particolarmente interessanti, ad esempio il supporto allo standard dlna. Riporto da wikipedia per chi non sapesse cos’è:

La Digital Living Network Alliance (DLNA) è una collaborazione internazionale fra industrie di computer e compagnie di apparati mobili, con l’obiettivo di sviluppare uno standard comune per la comunicazione su rete locale di molteplici dispositivi audio e video. Lo standard DLNA è attualmente adottato da oltre 250 aziende

A questo punto mi son trovato con il problema di trovare un server dlna valido per linux: il mio primo tentativo è stato con twonkymedia, e devo dire che ho trovato subito un ottimo prodotto. Scaricando l’installer da qui, infatti, è possibile provare una versione trial della durata di 30 giorni, per rendersi conto delle qualità del prodotto.

Appena completata l’installazione, è possibile configurare il nostro server dlna visitanto la sua comoda interfaccia web, che possiamo trovare su localhost alla porta 9000. Come vedete è tutto molto semplice.

Unica pecca rimangono i 39 dollari, costo del software, ma per un programma ben fatto non sono poi un’enormità…

Mi riprometto comunque di aggiornare il post non appena avrò provato altre alternative opensource…

Aggiornamenti 14/08/2010

Ho provato qualche altro server dlna per Linux, ed alla fine per le mie esigenze forse il migliore è risultato essere minidlna.

Come dice il nome stesso, il programma è veramente mini, nel senso che è composto da 2 soli files, un eseguibile da copiare in /usr/sbin (minidlna) e un file di configurazione da mettere in /etc (minidlna.conf). A questo punto basterà modificare con un editor di testo qualsiasi quest’ultimo per poter impostare le cartelle da condividere, il nome del nostro server, le porte e altre preferenze del genere. Ovviamente sarà necessario lanciare il server, eseguendo il comando minidlna.

Per Windows Xp, invece, ho provato Tversity. Funziona abbastanza bene, basta scaricare l’installer da sito e più o meno farà tutto lui, compreso aprire le porte necessarie nel firewall di windows e robette del genere.

Appunto importante: per farlo funzionare con il mio Panasonic, nella sezione di configurazione ho dovuto selezionare “Play station 3″ nel primo menù a tendina, con “Auto” non funzionava.

Segnalo con soddisfazione che da oggi questa pagina è presente negli indici di Smilla, un aggregatore di blog molto ben fatto e carino.

Riporto dal loro sito la presentazione:

SMILLA è un magazine che offre una rassegna stampa quotidiana degli articoli pubblicati su siti di informazione e blog inerenti il mondo della tecnologia e del web in generale.

SMILLA estrapola per ogni articolo uno snippet o breve riassunto che dir si voglia, fornendo così una notizia incompleta, che può essere letta nella sua versione integrale, seguendo il link apposto alla fine di ogni testo.

SMILLA in sostanza è uno strumento informativo per orientarsi velocemente attraverso la giungla di novità che provengono dal world wide web in un comodo formato “blog style”.

E’ inoltre un prezioso mezzo per accrescere la popolarità di ciascun blog citato poichè include sempre un link diretto al post originale generando visibilità, popolarità e traffico. Ogni articolo aggregato appartiene al legittimo autore e ne viene comunque indicato il link per risalire al post originale. In nessun caso SMILLA pretende di rubare contenuti altrui, ma spera di offrire un servizio d’informazione organizzata e sistematica per velocizzare la diffusione e la propagazione dei contenuti stessi.

Facendo ciò SMILLA ha creato un utile strumento per aumentare il numero di visitatori verso i blog iscritti concorrendo ad accrescere la loro popolarità

Link a Smilla: Smillamagazine.com