13 ian. 2011

27 nov. 2010

Mai avem timp...

   Iată că au rămas mai puțin de 24 de ore până la startul alegerilor parlamentare anticipate în R.Moldova. După o campanie electorală pe alocuri mai grea sau mai murdară, putem trage careva concluzii și merge la vot în data de 28.

   În timpul campaniei electorale, tinerii au creat diverse activități în a motiva populația să iasă la vot. Una din cele mai cunoscute a fost campania Contăm, deci VOTăm care creat câteva spoturi video ironice foarte nice după părerea mea.

   Toate circumstanțele cred că te-au convins deja că trebuie să mergem și să folosim dreptul unic de a alege liber. Nu fi indiferent, mergi la vot! Numărătoarea inversă deja a început!

   ps. Odată cu campania electorală s-a sfârșit și toamna de afară... Vai, ce frumos ninge la Chișinău! Natura se purifică de murdăriile rămase din campania electorală.

25 nov. 2010

Posting with GoogleCL Tools

aekamon! it works! :D
Google Command Line tools rawks ;D
Get it here, or simply install binaries from your repository, aka python-gdata & googlecl.

9 oct. 2010

(Bash) Divizarea fișierelor audio lossles și conversia lor în format mp3

   Iată că într-o bună zi am copiat toată discografia formației Pixies în format mp3, o calitate strașnic de proastă. Nu m-am gândit mult și am făcut rm -rf ./Pixies\ Discography de pe calculator. Am copiat în schimb aceiași discografie în format lossles, și anume flac sub forma de imagini .cue cu referință la un singur fișier flac per album. Pe device-urile mobile flac e imposibil de folosit, plus că și are o dimensiune alogică pentru un aparat de buzunar, deci ieșirea din situație e conversia. În cazul nostru o simplă conversie din flac în mp3 e imposibilă pentru că toate piesele dintr-un album sunt comasate într-un singur fișier.
   Însă ăsta nu e sfârșitul, ne vin în ajutor mai multe instrumente special concepute pentru divizare/editare a tagurilor/conversie a formatul lossless. Avem nevoie de următoarele tools-uri: cuetools, shntool, flac, lame, mp3info, și altele (gen: grep, sed, id3v2) care deja la sigur sunt instalate.
   Studiind man-page-urile acestor tools-uri am creat un mic scriptuleț în bash pe care l-am numit flac2mp3 și se execută ca ./flac2mp3 /calea_spre_flac /calea_spre_cue și își face treaba singurel mai departe.
#!/bin/bash
F_FILE=$1
C_FILE=$2

if [ ! -r "$F_FILE" -o ! -r "$C_FILE" ]
 then 
  echo "Can't read file $F_FILE or $C_FILE" >&1
  exit 1
fi

cuebreakpoints "$C_FILE" | shnsplit -o 'cust ext=mp3 lame -b 320 --vbr-new -V 0 --quiet - %f' "$F_FILE"

cuetag.sh "$C_FILE" split-track*

for i in split-track*.mp3
 do TITLE="`id3info "$i" | grep '^=== TIT2' | sed -e 's/.*: //g'`"
 TRACKNUM="`id3info "$i" | grep '^=== TRCK' | sed -e 's/.*: //g'`"
 mv -v "$i" "$TRACKNUM - $TITLE.mp3"
done

echo "Done!"
   Lucrul lui constă din câțiva pași foarte simpli, pe care o să încerc să-i explic mai jos:
- scriptul încearcă să determine dacă fișierele .cue și .flac există și dacă există permisiunea de a le citi;
- cuebreakpoints determină intervalele pe care sunt plasate piesele;
- shnsplit divizează acel fșier .flac și îl convertează automat în mp3 prin tool-ul lame;
- cuetag.sh extrage id3 info din .cue și o distribuie fișierelor mp3 proaspăt create
- și în sfârșit, pentru a nu lăsa denumirile urâte gen split-trackXX.mp3, încercăm să le redenumim folosind informația din id3 tags. Numele finale e de forma tracknum - title.mp3
   În cazul meu am băgat încă 2 linii în script pentru a determina timpul de execuție a lui. La început: start_time=$(date +%s);, ce ia valoarea numărului de secunde începând cu 1970-01-01 00:00:00 UTC ;] și la sfârșit am băgat echo "Script execution time: $(($(date +%s) - start_time)) secs.";. În 85 secunde am convertat un flac de 140MB și am obținut 8 fișiere mp3 pe un netbook. Un rezultat foarte bun, IMO ^_^
ps. Noapte bună ;D

20 aug. 2010

Restaurarea cablului de date pentru iPhone/iPod

   Ehm... Mi-ați simțit lipsa? Sper că nu... Am fost la odihnă ceva timp. Deci, fiind înafara țării, din lumea tehnicii moderne aveam cu mine doar un iPhone, care mă ghida datorită GPS-ului și busolei magnetice integrate. Într-o bună dimineață, m-am trezit cu cablul de date deteriorat la ambele capete de către un copil mic. Ehh, copiii, ce să le zici, doar am fost și noi ca ei... :) Plus că acel cablu, nu era unul original apple, și nu m-am supărat tare.
   În acel moment am rezolvat problema procurând unul nou, nu de alta, dar nu aveam nici un instrument cu care aș fi putut să-l restaurez pe acel deteriorat. Ajungând acasă, însă, am hotărât să încerc să-l fac.
   Am început desigur cu determinarea schemei, adică ce cablu și unde trebuie conectat ;D și schema nu s-a lăsat mult căutată. În imaginea atașată, portul usb are următoarele proprietăți: 1 -> +5V, 2 -> data-, 3 -> data+, 4 -> GND.

   Pe lângă toate detalile tehnice, acuratețea a fost un factor destul de important în realizarea acestei restaurări. Deci protecția gumată de pe portul USB l-am tăiat atent cu lama dintr-o parte laterală, pentru ca mai apoi cu niște adeziv să pot pune totul la locul său. În imaginile de mai jos ve-ți vedea pașii care i-am făcut și rezultatul final :)

   Well, în rezultatul final, vedeți că am întărit un pic "codița" USB-ului. Am făcut-o cu ajutorul la câțiva centimetri de filament pentru pescuit.
   M-a costat vreo 15 minute doar. Cablul arată bine, se ține trainic :)

Update: O metodă interesantă propusă de Dirtyrobotic de a păzi cablurile de la uzura în apropiere de stecker: [Vezi Imaginea] plus o metodă creativă de a personaliza cablurile UTP: [Vezi Imaginea].