2006/12/26

M-am mutat

M-am mutat la liber.bloghost.ro.

2006/09/05

Smooth-scrolling în AbiWord

Îmi place AbiWord. Îl prefer în locul OpenOffice.org când am de deschis repede nişte fişiere, deoarece AbiWord porneşte foarte rapid.

Un lucru mă tot zgândărea şi nu-mi dădea pace la AbiWord: smooth-scrolling. Smooth scrolling e frumos. Prima dată. Apoi devine o pacoste. Până derulezi o pagină de document îţi creşte barbă. De câte ori deschideam AbiWord, îl închideam la loc când vedeam cât de greu se mişcă derulatul paginilor. Am căutat prin meniuri şi prin dialogurile de configurări, dar n-am găsit nimic. Astăzi însă i-am venit de hac. Am găsit pe mailing list-ul abiword-user un mesaj în care se explică cum se poate dezactiva smooth scrolling. Iată ce trebuie făcut: trebuie deschis fişierul ~/.AbiSuite/AbiWord.Profile, căutaţi secţiunea <Scheme name="_custom_" şi adăugaţi opţiunea EnableSmoothScrolling="0".

Phew. Ce uşurare. În sfârşit pot să mă bucur de AbiWord la adevărata lui valoare.

2006/08/26

TECHKILLA drum & bass netlabel

Astăzi creierul mi-a dansat pe drum & bass-ul celor de la TECHKILLA. Aveţi grijă, s-ar putea să săriţi involuntar de pe scaun şi să dansaţi ca nişte nebuni.

2006/08/15

Sistemul meu de organizare a muzicii

De-a lungul timpului mi-am dezvoltat un sistem de organizare a muzicii care-mi permite să găsesc orice artist, album sau melodie de care am nevoie la un moment dat. Vreau să explic acest sistem în caz că-l vei găsi folositor. Consider că este un sistem bun şi merită folosit şi de tine.

Iată în ce constă sistemul:

În directorul /home am un subdirector muzica. În directorul muzica am două subdirectoare: neselectata şi selectata.

Nu sunt adeptul organizării muzicii după genuri deoarece încadrarea unui artist modern într-un anumit gen este destul de subiectivă şi inexactă. Din experienţa personală artiştii moderni nu se mai pot încadra strict într-un anumit gen de muzică. Sunt mulţi artişti care experimentează mai multe genuri de muzică de-a lungul carierei lor, un album putând fi încadrat într-un gen, alt album putând fi încadrat în alt gen.

Directorul "neselectata" conţine toată muzica pe care o descarc de pe Internet, o copii de la prieteni, sau o obţin prin alte mijloace. Am denumit acest director "neselectata" pentru că în principiu muzica de acolo nu este organizată în nici un fel. Când obţin muzica, caut să obţin albume complete. Formatul fişierelor prefer să fie ogg şi nu mp3. Prefer ogg în primul rând pentru că este un format audio fără restricţii şi în al doilea rând pentru că fişierele codate ogg se aud mai bine ca cele mp3 la rate de codare comparabile. Întotdeauna muzica pe care o obţin nu este organizată după gusturile mele, de aceea prima dată se duce în acest director.

După ce am obţinut muzica, încep să ascult din "neselectata" rând pe rând albumele. La cele care-mi plac le editez tag-urile cu EasyTag. EasyTag este un program extraordinar, n-aş putea trăi fără el. Ştie să editeze tag-uri la fişiere mp3, ogg, flac, mp4/aac, MusePack şi Monkey's Audio Files şi are o interfaţă foarte uşor de folosit. Caut să completez toate câmpurile tag-ului cu informaţii cât mai corecte. Completez titlul melodiei, artistul albumului, numele albumui, anul apariţiei, genul, numărul melodiei din album, eventual URL-ul paginii oficiale a artistului, casa de discuri producătare. Pentru a căuta informaţii verific Wikipedia, AllMusic, Discogs, pagina oficială a artistului, eventual alte site-uri. Deasemenea caut să obţin imagini cu coperţile albumelor. Site-urile pe care le folosesc să caut coperţi sunt mega-search şi albumart.org. Ambele sunt motoare de căutare pentru coperţi de albume. EasyTag permite în cazul fişierelor mp3 incorporarea unor imagini în interiorul tag-ului. Dacă deţin imaginea coperţii atunci introduc o variantă micşorată la dimensiunea de 200x200 pixeli a coperţii. După ce am editat tag-urile redenumesc fişierele şi directorul albumului. Fişierele le denumesc după următorul şablon: %n - %t (unde %n - reprezintă numărul melodiei, iar %t - reprezintă denumirea melodiei). Directoarele le denumesc după următorul şablon: %a - [%y] %b (unde %a reprezintă artistul, %y reprezintă anul apariţiei albumui, iar %b reprezintă numele albumului). Dacă deţin mai multe albume ale unui artist, toate albumele le grupez ca subdirectoare într-un director numit după numele artistului. Dacă directorul albumului mai conţine alte fişiere în afară de fişierele muzicale şi imaginile coperţilor (cum ar fi fişiere txt cu review-uri, comentarii, nfo-uri, playlist-uri pls sau m3u, etc.), aceste fişiere sunt şterse. În directorul albumului păstrez numai fişierele muzicale şi imaginile coperţilor.

După ce am realizat toate aceste operaţii directorul artistului (în cazul în care deţin mai multe albume de la el) şi directoarele albumelor le mut în directorul "selectata". În acest fel sunt sigur că în directorul "selectata" am numai muzică ce-mi place, care e organizată corect şi pe care o pot scrie pe CD-uri sau DVD-uri fără să-mi fac probleme.

Iată un exemplu de organizare al directorului "muzica":
muzica
|-neselectata
| |-artist_album_nfo
| |-album_release
|-selectata
|-artist
| |-artist - [1999] album_1999
| |-artist - [2000] album_2000
|-artist2
| |-artist2 - [2004] album_2004
| |-artist2 - [2005] album_2005
|-artist3 - [2001] album_2001

2006/08/10

Selgros cu RedHat

Am vizitat şi eu vestitul Selgros Cash & Carry care tocmai s-a deschis în Bacău, oraşul meu mult iubit. Nimic impresionant. E mai mare decât Metro, produsele sunt în mare parte diferite faţă de Metro (ceea ce e bine). Ce mi-a plăcut a fost ecranul de login al distribuţiilor RedHat (aş fi preferat Ubuntu, dar na... RedHat dă bine la corporaţii că, vezi doamne, RedHat oferă suport) care erau afişate pe monitoarele de acolo. Încetul cu încetul lumea se dă pe brazdă.

Behold (te rog scuză calitatea. Poza e făcută cu noul meu Motorola RAZR v3):


2006/07/17

Cum se configurează un UPS Apollo seria 1000F pe Linux

Dacă aveţi un UPS şi vreţi să-l folosiţi împreună cu un sistem de operare Linux, cel mai probabil va trebui să utilizaţi suita de programe Network UPS Tools, prescurtat NUT. Suita de programe se doreşte a fi "ultima soluţie" în materie de monitorizare a UPS-urilor pe Linux, având drivere pentru o multitudine de UPS-uri produse de diferite firme. Orice fel de UPS aţi avea, probabilitatea ca NUT să funcţioneze cu UPS-ul dumneavoastră este foarte mare.

UPS-ul meu este un UPS ieftin Apollo, seria 1000F, produs undeva prin Taiwan. Cel mai probabil este că sunt mulţi dintre dumneavoastră care deţineţi un astfel de UPS, deoarece se găsesc foarte uşor la magazinele de specialitate din România şi sunt foarte ieftine. Problema este că acest UPS nu deţine drivere pentru sistemul de operare Linux. S-a dovedit că funcţionează decent cu NUT configurat cu driverul genericups. Sper ca acest tutorial să vă folosească să vă configuraţi UPS-ul Apollo (şi nu numai; procedura explicată aici poate da rezultate foarte bune şi pentru alte UPS-uri noname de pe piaţa Românească) pe sistemul de operare Linux.

Eu am configurat UPS-ul pe o distribuţie White Box Enterprise Linux 3.0, care, la fel ca CentOS reîmpachetează pachetele de la RedHat Enterprise Linux astfel încât să fie 100% compatibilă cu RedHat şi 100% liberă. Este practic o distribuţie RedHat Enterprise Linux liberă. Pentru distribuţiile bazate pe Debian (Debian, Ubuntu, Mepis, etc.) nu cred să fie mari diferenţe de configurare; cel mult locaţia fişierelor s-ar putea să fie puţin alta. Pentru configurare, m-a ajutat foarte mult un articol de pe fedoranews.org.

Instalarea pachetelor

Instalarea pachetelor am realizat-o foarte uşor cu yum:
# yum install nut nut-client
Amândouă pachetele sunt necesare. Pe distribuţiile bazate pe Debian este suficient să instalaţi pachetul "nut":
# aptitude install nut

Configurarea NUT

Fişierele de configurare ale NUT se află în directorul /etc/ups:
În plus faţă de aceste fişiere, RPM-urile pentru White Box Linux mai conţin un fişier, /etc/sysconfig/ups, în care se pot configura câteva opţiuni cu care să fie pornit daemonul upsd (sunt de fapt opţiuni pentru linia de comandă).

Configurarea /etc/sysconfig/ups

În acest fişier se configurează modelul UPS-ului şi portul unde este conectat. Driverul pentru UPS-urile Apollo, seria 1000F este genericups, deci modelul va fi genericups, iar în cazul meu este conectat pe portul serial 1 (/dev/ttyS0). Iată cum arată fişierul de configurare /etc/sysconfig/ups (am îngroşat modificările pe care le-am făcut faţă de configurarea implicită):
# If the UPS is locally attached set it to "yes"
SERVER=yes
# Model of the UPS (filename to call for it, without path)
# Example - one of
# apcsmart - APC SMartUPS and similar
# fentonups - Fenton UPS
# optiups
# bestups
# genericups
# ups-trust425+625
# upsdrvctl
# You MUST change this, or set SERVER to "no"
# To support multiple drivers, set MODEL=upsdrvctl
MODEL=genericups
# UPS device - needed if UPS is locally attached
DEVICE=/dev/ttyS0
# Any options to pass to $MODEL
# ex. for my TrippLite UPS, use
# OPTIONS="-t 5"
OPTIONS="-a apollo"
# Any options to pass to upsd
UPSD_OPTIONS=
#
# [End]

Corectarea drepturilor pe fişiere

În articolul de pe fedoranews este precizat că drepturile pe fişier implicite nu sunt tocmai corecte. Eu am urmat sfaturile de acolo înainte de a porni serviciul ups, aşa că nu ştiu dacă serviciul porneşte cu setările implicite sau nu.

Pentru a corecta drepturile trebuie să daţi următoarele comenzi:
# cd /etc/ups
# chown root:nut ups*
# chmod 640 ups*

Configurarea fişierului /etc/ups/ups.conf

Acest fişier conţine setările pentru driverul specific UPS-ului. UPS-urile Apollo nu sunt trecute în lista de UPS-uri suportate de NUT, dar după câteva încercări nereuşite, am reuşit să aflu că Apollo 1000F funcţionează foarte bine cu driverul generic, genericups. Dacă UPS-ul dumneavoastră nu se află pe lista de UPS-uri suportate, nu disperaţi, încercaţi driverul genericups în diferite configuraţii. Există o probabilitate foarte mare să funcţioneze. Manualul driverului (man genericups) conţine informaţii detaliate despre cum să determinaţi configuraţia corectă pentru UPS-ul dumneavoastră.

Setările mele sunt următoarele (am afişat numai ceea ce am adăugat la fişierul /etc/ups/ups.conf):
[apollo]
driver = genericups
port = /dev/ttyS0
upstype = 4
desc = "Apollo 1085F UPS"
"apollo" este un nume dat de mine. Dumneavoastră puteţi da orice alt nume, numai că trebuie să aveţi grijă să configuraţi acelaşi nume în fişierele /etc/sysconfig/ups şi /etc/sysconfig/upsmon.conf.

Cel mai greu a fost să determin valoarea pentru upstype. Am luat-o prin trial & error. Prima dată am pus upstype = 0 şi am monitorizat UPS-ul cu comanda upsc (watch upsc apollo@localhost). Am scos alimentarea de la UPS, astfel încât să funcţioneze numai pe baterie şi am urmărit să văd dacă se modifică valoarea ups.status: OL. Trebuia să se modifice în OB (on battery). Nu s-a modificat, aşa că am configurat upstype = 1 şi am repornit serviciul ups: /etc/init.d/ups restart. De data asta, maşina şi-a dat restart. Tot la fel s-a întâmplat şi când am configurat upstype = 2 şi upstype = 3. Abia la upstype = 4 am observat că nu se mai restartează şi am început iarăşi monitorizarea valorii ups.status. De data asta ups.status s-a schimbat în OB când am deconectat cablul de alimentare de la UPS. Am mai aşteptat o vreme până s-a consumat bateria să văd dacă maşina îşi dă shutdown când bateria este pe terminate. Spre bucuria mea, maşina şi-a dat shutdown când statusul ups.status s-a modificat în OB LB. Astfel am dedus că valoarea corectă pentru upstype din fişierul /etc/ups/ups.conf este 4: upstype = 4.

Configurarea /etc/ups/upsd.conf

Acest fişier conţine ACL-uri pentru accesul din reţea la daemonul upsd. Eu nu am folosit caracteristicile de reţea ale NUT, deci setările implicite prin care se permite accesul de pe maşina locală mi-au fost de ajuns. ACL-urile seamănă foarte mult cu ACL-urile din squid proxy deci nu ar trebui să aveţi probleme în configurarea lor.

Iată şi cum arată fişierul (am omis comentariile, întrucât ocupă mult spaţiu):
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32

ACCEPT localhost
REJECT all

Configurarea fişierului /etc/ups/upsd.users

În acest fişier se configurează utilizatorii cu care clienţii (upsmon, comanda upsc) se vor conecta la daemonul upsd. Utilizatorii configuraţi aici nu au nici o legătură cu utilizatorii sistemului, din /etc/passwd. Aceşti utilizatori există numai pentru upsd.

Iată cum arată fişierul meu:
# --- Configuring for upsmon
#
# To add a user for your upsmon, use this example:
#
# [monuser]
# password = pass
# allowfrom = bigserver
#
# upsmon master (or upsmon slave)
#
# The matching MONITOR line in your upsmon.conf would look like this:
#
# MONITOR myups@myhost 1 monuser pass master (or slave)
[monuser]
password = parola
allowfrom = localhost
upsmon master

Configurarea /etc/ups/upsmon.conf

Fişierul /etc/ups/upsmon.conf conţine configurări pentru daemonul de monitorizare, upsmon (acest daemon iniţiază procedura de shutdown în caz că bateria de pe UPS e pe terminate; upsd monitorizează legătura serială cu UPS-ul şi la el se pot conecta daemoni upsmon - de pe aceeaşi maşină sau din reţea).

Iată fişierul de configurare:
# Examples:
#
# MONITOR myups@bigserver 1 monmaster blah master
# MONITOR su700@server.example.com 1 upsmon secretpass slave

MONITOR apollo@localhost 1 monuser parola master
Numai o singură linie MONITOR este necesară. Aceasta precizează numele UPS-ului (apollo în cazul meu) şi numele hostului pe care se află upsd-ul la care se va conecta upsmon, numele utilizatorului ("monuser"), parola acestuia ("parola"), "master" sau "slave" (de obicei "master"). Aceste setări corespund celor din /etc/ups/upsd.users.

Folosirea upsd

Pornirea upsd

După ce aţi făcut toate aceste configurări, este momentul să porniţi serviciul ups şi să speraţi că porneşte fără probleme:
# /etc/init.d/ups start
După ce aţi dat această comandă, verificaţi dacă serviciul a pornit cu succes uitându-vă în /var/log/messages:
# grep ups /var/log/messages
Ar trebui să vedeţi ceva asemănător:
Jul 17 11:58:18 server upsd[19017]: Connected to UPS [apollo]: genericups-ttyS0
Jul 17 11:58:18 server upsd[19018]: Startup successful
Jul 17 11:58:18 server upsd: Connected to UPS [apollo]: genericups-ttyS0
Jul 17 11:58:18 server upsd: Network UPS Tools upsd 2.0.2
Jul 17 11:58:18 server upsd: Synchronizing...done
Jul 17 11:58:18 server ups: upsd startup succeeded
Jul 17 11:58:18 server upsmon[19022]: Startup successful
Jul 17 11:58:18 server upsd[19018]: Connection from 127.0.0.1
Jul 17 11:58:18 server upsd[19018]: Client monuser@127.0.0.1 logged into UPS [apollo]
Jul 17 11:58:18 server upsmon: UPS: apollo@localhost (master) (power value 1)
Jul 17 11:58:18 server upsmon: Using power down flag file /etc/killpower
Jul 17 11:58:18 server upsmon:
Jul 17 11:58:18 server ups: upsmon startup succeeded
De asemenea mai puteţi verifica procesele:
# ps ax | grep ups
19014 ? S 0:00 /sbin/genericups -a apollo /dev/ttyS0
19018 ? S 0:00 /usr/sbin/upsd
19022 ? S 0:00 /usr/sbin/upsmon
19023 ? S 0:00 /usr/sbin/upsmon
19031 pts/0 S 0:00 grep ups
Puteţi observa că sunt două procese upsmon. Acesta este un comportament normal şi nu trebuie să vă faceţi griji.

După ce aţi verificat că totul funcţionează corect, probabil veţi dori să adăugaţi ups la lista de servicii care pornesc la bootare:
# chkconfig ups on

Verificaţi starea UPS-ului cu comanda upsc

Comanda upsc vă dă câteva informaţii despre starea UPS-ului. Puteţi vedea starea bateriei, dacă funcţionează pe baterie sau la linia de alimentare, etc. Pentru unele UPS-uri pentru care există drivere sunt prezentate mai multe informaţii (cum ar fi temperatura, voltajele - de intrare şi ieşire, încărcarea bateriei, etc.).

Pentru UPS-urile Apollo sunt prezentate numai informaţii referitoare la starea conexiunii la linia de alimentare (dacă este conectat la linia de alimentare sau funcţionează pe baterie).
# upsc apollo@localhost
driver.name: genericups
driver.parameter.port: /dev/ttyS0
driver.parameter.upstype: 4
driver.version: 2.0.2
driver.version.internal: 1.30
ups.mfr: Generic
ups.model: Generic RUPS model
ups.status: OL

Legături utile

Cam asta a fost. Sper ca acest tutorial să vă ajute să vă configuraţi UPS-urile ieftine şi noname pe care le puteţi cumpăra din România.

Iată şi câteva legături utile:

2006/07/09

Cum să schimbaţi iconiţa meniului GNOME

În căutarea mea pentru desktop-ul GNOME perfect m-am întâlnit cu problema de a schimba iconiţa meniului GNOME, deoarece cea cu care vine Ubuntu nu se potriveşte cu culorile generale ale desktop-ului (culorile dektop-ului meu sunt predominant gri şi verde, iar culorile logo-ului Ubuntu sunt portocalii).

Rezolvarea am găsit-o pe Wiki-ul ArchLinux. Iată ce trebuie făcut:
  1. deschideţi Configuration Editor (ar trebui să fie în meniul System tools);
  2. în Configuration Editor, navigaţi la apps->panel->objects şi găsiţi obiectul care reprezintă Meniul dumneavoastră (căutaţi obiectul care are "Main Menu" la proprietatea tool tip;
  3. configuraţi calea către iconiţa dorită la proprietatea custom_icon;
  4. bifaţi use_custom_icon.
Gata. Iată şi o captură de ecran cu Configuration Editor:


Ubuntu peste tot

Acum câteva zile am primit pachetul cu CD-uri Ubuntu Linux 6.06 LTS. A fost o foarte plăcută surpriză să găsesc printre CD-uri şi 10 stick-ere cu Ubuntu Linux. Deja mi-am lipit un sticker pe laptopul meu ca să arăt că sunt mândru că folosesc Ubuntu Linux.

De când a apărut Ubuntu, de la versiunea 4.10 i-am urmărit evoluţia, dar niciodată nu m-am încumetat să-l instalez pe vreun calculator de-al meu. Am încercat Live CD-urile şi totdeauna am rămas impresionat de detecţia hardware şi de software-ul care "pur şi simplu merge". Când a apărut Debian 3.1, am preferat să-l instalez în locul versiunii de Ubuntu de atunci. Am aşteptat să apară "The biggest and the best Ubuntu ever" şi nu-mi pare rău de aşteptare. Pot spune că Ubuntu 6.06 este "The biggest and the best Ubuntu till now".

Săptămâna asta am descărcat ISO-ul cu Ubuntu 6.06, l-am scris pe un CD reinscriptibil, am şters complet Windows XP de pe laptop-ul meu IBM Thinkpad T23 şi am pornit să instalez Ubuntu. Instalarea a decurs fără probleme; a fost chiar plictisitor pentru că nu prea am avut ce face, singurele întrebări mai complicate pe care ţi le pune programul de instalare sunt legate de partiţionare şi utilizatorul principal şi parola acestuia. După reboot am fost întâmpinat de ecranul de conectare al Ubuntu în care trebuie să introduc numele de utilizator şi parola. M-am conectat şi am intrat în desktopul Ubuntu. Arată foarte bine. Se vede că s-a investit foarte multă muncă pentru a crea iconiţele şi tema implicită din Ubuntu. Desktopul Ubuntu mi se pare prea portocaliu pentru gustul meu, aşa că am început să caut o temă care să mă satisfacă. După mai multe încercări am ajuns în final să folosesc tema Outdoors cu iconiţe GNOME, desktop-ul având foarte multe nuanţe plăcute de verde. Deasemenea, nu-mi plac cele două bare cu care vine GNOME. Bara de sus e pur şi simplu inutilă, încurcă lucrul cu ferestrele şi ocupă spaţiu degeaba, aşa că m-am apucat să şterg bara de sus şi să las o singură bară, jos, în final foarte asemănătoare cu bara din Windows (nu am nimic cu Windows şi faptul că desktop-ul meu seamănă foarte mult cu Windows nu înseamnă că-mi place mai mult Windows, ci doar că găsesc modul de lucru foarte eficient pentru un desktop. Nu-i nici o ruşine să recunoşti că desktop-ul Windows este unul foarte eficient din punctul de vedere al productivităţii şi uşurinţei de a lucra cu aplicaţiile). Iată cum arată în final desktop-ul meu:


Pentru partea multimedia, am urmărit instrucţiunile de pe UbuntuGuide. În principal am instalat EasyUbuntu şi l-am lăsat să-şi facă treaba. Totul a mers strună şi în 10 minute aveam un desktop Linux cu capabilităţi multimedia complete (pot să ascult mp3-uri, să văd orice fel de filme, să folosesc flash în browser, etc.).

Power managementul pe laptop merge impecabil. Fără să fi făcut nimic special. Totul a mers din prima. Laptop-ul intră în suspend şi iese din suspend fără probleme (când iese din suspend funcţionează totul corect: sunet, reţea, grafică. Pe Debian m-am chinuit foarte mult să-l fac să iasă din suspend fără probleme - de cele mai multe ori nu mai mergea reţeaua când ieşea din suspend). Hibernate funcţionează impecabil deasemenea.

Am instalat Ubuntu 6.06 şi pe calculatorul desktop. La fel, instalarea a mers impecabil. Pe desktop am o placă video NVIDIA GeForce MX400 (e veche, e drept, dar eu mă joc foarte rar, şi atunci joc jocuri care nu necesită resurse grafice prea multe). Ce vreau să spun este că am fost impresionat cât de uşor am instalat driverele nvidia. Am urmărit tot instrucţiunile de pe UbuntuGuide şi totul a mers perfect. A fost prea uşor. Dubios de uşor chiar, dar driverul nvidia era instalat corect, glxgears şi aplicaţiile OpenGL pe care le-am încercat au mers fără probleme la viteză mare.

Per total, sunt foarte impresionat de Ubuntu 6.06 şi-l voi recomanda tuturor prietenilor mei.