19 October, 2008

Software liber la Radio Guerrilla

Nu degeaba e Guerrilla postul meu preferat de radio. Tocmai au avut o prezentare despre Ubuntu la secțiunea Internetologie. Viva la revolución!

16 October, 2008

Software liber peste tot

Săptămâna trecută mi-am cumpărat un router nou după ce l-am făcut cadou pe cel vechi mamei mele. De data asta n-am mai cumpărat la nimereală (am ales D-Link pentru că pe cutie scria că suportă Linux) ci m-am documentat. În final m-am hotărât pe Asus modelul 500gP v2 (P de la Premium).Deși are un procesor puțin mai lent decât predecesorul (240 MHz față de 266 MHz) pentru mine ar trebui să fie mai mult decât suficient și l-am găsit și la un preț mult mai bun decât mă așteptam. Planul este desigur să instalez Debian pe el, dar deocamdată am înlocuit softul original (bazat tot pe Linux) cu DD-WRT pentru că aveam probleme de conectare și stabilitate. Cu noul soft este foarte stabil și suportă funcții pe care softul original nu le avea. Debian urmează când voi avea și un adaptor de sunet USB.

07 October, 2008

Din nou compiz și Xfce4

Astăzi m-am gândit că e timpul să încerc din nou să folosesc compiz. Doar dispun de o configurație mult mai puternică (deși era utilizabil și pe P4 1,6GHz cu placă integrată Intel). Pachetele erau deja instalate de mai de mult deci tot ce a trebuit să fac a fost să modific ~/.config/xfce4-session/xfce4-session.rc astfel încât să includă ceva de genul:
[Failsafe Session] Count=5 Client0_Command=compiz Client0_PerScreen=False Client1_Command=gtk-window-decorator Client1_PerScreen=False Client2_Command=xfce4-panel Client2_PerScreen=False Client3_Command=Thunar,--daemon Client3_PerScreen=False Client4_Command=xfdesktop Client4_PerScreen=False
Desigur nu am scris toate astea singur, ci doar le-am copiat din /etc/xdg/xfce4-session/xfce4-session.rc și am făcut mici modificări:
  1. am înlocuit managerul de ferestre xfwm4 cu compiz
  2. am renumerotat clienții de la 1 la 3 astfel încât să pot include un nou Client1 pentru gtk-window-decorator.
Totul bine și frumos, compiz pornește fără diverse comenzi din terminal, dar parcă ceva nu e în regulă, se mișcă prea încet! Desigur, așa se întâmplă dacă nu este instalat pachetul libgl1-mesa-dri...

09 September, 2008

Pachetul zilei (candidat pentru incearca.softwareliber.ro)

Pur întâmplător am aflat de un program incredibil: synergy. Vă las în compania descrierii din Debian:
Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware. It's intended for users with multiple computers on their desk since each system uses its own display. Redirecting the mouse and keyboard is as simple as moving the mouse off the edge of your screen. Synergy also merges the clipboards of all the systems into one, allowing cut-and-paste between systems. Furthermore, it synchronizes screen savers so they all start and stop together and, if screen locking is enabled, only one screen requires a password to unlock them all. Packages for Windows/MacOS/RPM and Sources can be found at http://sourceforge.net/project/showfiles.php?group_id=59275

07 September, 2008

Changing terms

After switching to LXDE a few days ago I've been experimenting with other terminal emulators. For pretty long time my default terminal emulator (the one behind x-terminal-emulator) has been mlterm because:
  • it's fast (start time as well as use)
  • has support for UTF-8
One could say that I shouldn't care about the speed on my new laptop, but there are still noticeable differences even though I'm now running a Dual Core 1.6 GHz with 2 GB of RAM. But why would I ditch mlterm? It has trouble displaying some characters (fortunately not from my native language) and there are strange (but anoying) artifacts when using aptitude. As I see it there are three categories of terminal emulators:
  1. heavy: lots of features, but slow (konsole, gnome terminal)
  2. lightweight: some features, but still slow (xfce4-terminal, lxterminal, roxterm)
  3. minimalistic: fewer features (or different implementation), but fast (mlterm, rxvt, ...)
Category 1. I didn't even try. I don't really need all the stuff they can do. I even don't need tabs, I prefer to have many terms open, because sometimes I work with two (or more) in paralel. From category 2. I tried all three enumerated above. From the features point of view roxterm would have been good for me, but all three of them have noticeable latency when scrolling around in mutt for example. From category 3. I had to dismiss a lot of them after a very simple test: drawing characters in mutt or mc. Most of them just show strange characters... In the end the only contestant left was urxvt (Debian package rxvt-unicode), which eventually replaced mlterm. Pros:
  • no trouble with aptitude
  • the integrated Perl interpreter which brings additional features like URL detection (via the „matcher” perl extension)
Cons:
  • I had troubles with some colors being too bright, but I think I solved that now
  • I had to write its config from scratch
Let's see how long I'll stay with this one.

06 September, 2008

3G și Debian GNU/Linux (pe scurt)

Cred că articolul meu despre instalarea modemului Huawei E220 (cel folosit de Vodafone) pe Debian e cam lung așa că m-am gândit să scriu și o variantă scurtă: 1. Se descarcă pachetul vodafone-mobile-connect-card-driver-for-linux de la betavine. Pachetul este disponibil pe sit doar pentru Debian 4.0 (Etch), dar eu l-am folosit pe Lenny. Nici variantă pentru 64 biți (arhitectura amd64) nu pare să existe, dar eu bănuiesc că se poate folosi cel pentru i386. 2. Se încearcă instalarea cu „dpkg -i”. Probabil v-a eșua din lipsa unor dependențe. 3. Se folosește „aptitude install” (fără nici un nume de pachet) pentru a completa instalarea. Aptitude ar trebui să detecteze tentativa de instalare și va oferi soluții pentru rezolvare. Probabil prima soluție oferită de aptitude nu va fi cea corectă, așa că va trebui să refuzați. A doua ar trebui să fie cea corectă. 4. Se adaugă utilizatorul (sau utilizatorii) care au voie să folosească programul în grupurile „dialout” și „dip”. Cel mai simplu este un simplu „adduser nume_utilizator dip” respectiv „adduser nume_utilizator dialout”. Pentru ca această modificare să aibă efect trebuie ca utilizatorul respectiv să se reautentifice. 4. Se pornește programul. Pe Xfce4 (probabil și pe GNOME sau KDE) poate fi găsit în meniul principal la categoria „Network”. 5. La prima pornire programul va mai face niște configurări care trebuie confirmate de utilizator. Mai întâi va afișa o poză cu modemul unde trebuie confirmat cu [OK], după care va cere confirmare pentru a folosi datele specifice rețelei Vodafone Romania (citite probabil de pe SIM). Se confirmă din nou după care trebuie salvat „Profilul” cu datele respective. 6. Un simplu clic pe butonul „Connect” ar trebui să vă conecteze la internet. Notă: Programul va cere la un moment dat și codul PIN (în mod normal codul este 1234). Dacă doriți să nu mai întrebe există opțiune în meniu, sau, dacă nu funcționează, cartela SIM se poate băga în orice telefon și dezactiva opțiunea respectivă.

03 September, 2008

3G și Debian GNU/Linux

Astăzi am reușit în sfârșit să conectez laptopul mamei mele folosind 3G de la Vodafone. Acum procedura pare extrem de simplă, dar totul a fost mult mai complicat datorită faptului că ne aflăm în localități diferite, deci sunt limitat la telefon și o conexiune internet printr-un router cu SNAT. Teoretic instalare de programe se poate face relativ simplu, dar deoarece laptopul respectiv rulează versiune de testare de la Debian (nume de cod Lenny) am preferat să execut personal instalarea de software. Pentru asta aveam nevoie de acces ssh. Acest lucru s-a realizat destul de simplu cu un tunel inversat. Comanda, deși relativ lungă se poate dicta prin telefon :) Având acces ssh mai trebuia doar instalat programul de conectare. Teoretic se poate realiza și cu wvdial, dar am preferat programul vodafone-mobile-connect-card-driver-for-linux (mai lung nu se putea?) de la betavine. Mai întâi am descărcat varianta pentru Debian și am încercat să o instalez direct cu dpkg. După cum mă așteptam, nu a funcționat, dar am aflat pachetele lipsă. În loc să le instalez pe fiecare în parte am încercat un "aptitude install". aptitude (manager de pachete) a detectat tentativa mea de instalare manuală și a început să caute soluții. Prima soluție (cea mai conservatoare) ar fi fost să șteargă orice urmă a noului pachet deoarece lipseau prea multe pachete necesare. Am refuzat și aptitude mi-a oferit o altă variantă: să instaleze toate pachetele necesare din arhiva Debian și să încheie instalarea pachetului nou. Zis și făcut, 2 min. mai târziu totul era instalat corect. Acum urma partea cea mai grea. Programul dispune de interfață grafică pe care eu nu o mai văzusem niciodată, iar cu utilizatorul nu pot comunica decât prin telefon... Prima încercare: programul pornește și afișează un mesaj de eroare (iar cititorul nu știe engleză). Se solicită ca utilizatorul să fie membru al grupului "dialout". Un simplu "adduser utilizator dialout" și problema s-a rezolvat. După logout și login (pentru ca noua apartenență să-și facă efectul) o nouă încercare. Acum programul afișează o poză a modemului și solicită confirmare sau introducerea datelor despre modem. După câteva neînțelegeri se pare că există și butonul [OK] pentru confirmarea opțiunii implicite (și corecte). Mai departe programul anunță că a descoperit (probabil pe SIM) setări pentru țara "Romania" și cere confirmare. Aici mama a preluat inițiativa și a confirmat fără să-mi mai ceară sfatul. Astfel s-a rezolvat cea mai dificilă problemă, pentru că nicăieri n-am găsit publicate valorile necesare pentru utilizator, parolă și APN (Momentan nu am acces, altfel le publicam eu acum). Ce a mai rămas? Să încercăm o conectare. Butonul [Connect] deschide o mică fereastră care arată că se lucrează, dar nu se întâmplă nimic :( Chiar când totul părea să fie în regulă! S-a făcut târziu așa că amânăm pe a doua zi. O nouă zi, o nouă strategie. Modificăm comanda de tunel ssh pentru a permite aplicații X (pentru cei care nu sunt foarte familiari cu sistemul grafic din Linux, acesta permite ca un program să ruleze pe un calculator și să afișeze pe altul, o facilitate extrem de utilă în multe situații). Acum pornesc programul direct, trec prin pașii de mai sus (doar sunt alt utilizator), dar nici o schimbare. Singurul mesaj afișat în terminal este o avertizare legată de dbus, dar nu pare gravă. Totuși folosind completarea automată din terminal am observat că există o variantă -debug a programului. Să încercăm. Uau! Programul a început să "scuipe" o mulțime de informații referitor la toate acțiunile sale, inclusiv comunicațiile cu modemul. Totul pare în regulă, în afară de... nu poate accesa /usr/sbin/pppd, programul responsabil cu conexiunile PPP (Point-to-Point Protocol). Un simplu "ls -l" arată că pppd poate fi utilizat de membrii grupului "dip". Mama devine imediat membră a grupului, logout, login și... VICTORIE! Avem conexiune :) Concluzia? Deși mama mea e un caz mai special (studia programare la puțin timp după nașterea mea), consider că programul e utilizabil de mame/tați/etc. Cine spune că Linux e greu de folosit?

02 July, 2008

Building a package from source (the Debian way)

I've had some troubles with my favorite music player moc. Now it finally seems to work and the maintainer has asked me to test. Let's see if lurking in debian-user and debian-devel has improved my compile-fu :) First I have to find the source: $ apt-cache show moc | grep VCS $ Hhm, no go... Let's try a websearch... Ok, I finally found the maintainer's message looking for a sponsor, so I got some files to download: an .orig.tar.gz, a .diff.gz and a .dsc file. I put them all in a moc folder under ~/src/. Next I unpacked the source with dpkg-source -x *.dsc This created a directory containing the unpacked source. Then I tried to build the package with dpkg-buildpackage, but failed because of missing build dependencies. An apt-get build-dep moc will take care of this (as long as I have a deb-src line in my sources.list ;). Uggh, 49 packages! Well I'll be reinstalling soon (to my NEW LAPTOP), so I'll swallow it. Ok, let's try again: dpkg-buildpackage -rfakeroot -b Still nothing. I'm missing some build-deps. Maybe they changed for this new version? I'll install them by hand. Ok, now the package builds. I installed it with dpkg -i (actually there are two packages, one with the main player and the other one with the ffmpeg plugin) and... it doesn't work! What is going on? I look through the output during the build, no errors. Dependencies are the correct ones (and not the ones from debian-multimedia), but then I think of something intersting. moc will always display some info when starting, but now it didn't. It's just as if it was already running in the background (one of moc greatest features). This would mean I was still running the old version! Start moc, close with Q (which also shuts down the server) and start again, and... IT WORKS!!! Thanks a lot to Elimar Riesebieter, the maintainer of the package, who has been very pacient with me despite bugging him about this bug (this doesn't sound very well) and was able to find the problem and fix it.

01 July, 2008

This is my first blog, mainly to test the posibilities of blogger. Default Font (seems to depend on the layout) Arial Font (ok) Curier font (useful for computer output) Verdana (better) Let's try some Romanian text: un bun exemplu de diacritice este „șurubelniță” :) One of my favorite quotes:
If you can't explain it simply, you don't understand it well enough -- Albert Einstein
Things I like
  • Science fiction
  • Japanese anime
  • mountaineering
  • computers
Regards, Andrei