24 de desembre del 2012

BdeBooks i els e-llibres en català: la decepció final

Un cop més, torno a Amazon per veure com va el tema de BdeBooks, que vaig enunciar fa un any com una gran iniciativa, i que després es va desinflar per la manca de presència del català (no hi ha pàgina en català, i el número de llibres en català va avançant a poc a poc). Avui, el resultat ha estat el següent:



Únicament 10 llibres en català en catàleg, mentre que fa mig any n'hi havia 16. En canvi, en castellà han augmentat fins a 437 (344 a finals de juliol). Els llibres en català  representen poc més del 2% del total publicat per aquest segell que, no ho oblidem, depèn de Edicions B (ubicada a Consell de Cent, Barcelona).

El pitjor, però, és que mentre que en castellà el catàleg s'ha incrementat en 93 llibres, el número de llibres en català ha disminuït en 6.

Per desgràcia es confirma la mala impressió que ja tenia, i no trobo paraules per expressar el meu desencís amb BdeBooks.

Crec que aquest serà el meu darrer article sobre aquest segell. No paga la pena dedicar-li més temps.

5 de desembre del 2012

PHP Warning: json_encode(): Invalid UTF-8 sequence in argument [SOLUCIONAT]

Si mai us trobeu que en accedir des de PHP a una base de dades MySQL i codificar el resultat en JSON per retornar-lo us surt un error tipus "PHP Warning:  json_encode(): Invalid UTF-8 sequence in argument", està clar que teniu un problema. Possiblement algunes de les dades que esteu retornant estan buides, són invàlides o contenen caràcters estranys. Per sort, la solució és senzilla.

En primer lloc, comproveu que la base de dades utilitza codificació UTF-8 (p.e. amb phpMyAdmin):


Llavors, en accedir a la base de dades des de PHP afegiu l'opció "SET NAMES utf8" a l'atribut MYSQL_ATTR_INIT_COMMAND. Per exemple, utilitzant PDO podria ser similar a:
$DBH = new PDO("mysql:host=$server;dbname=$dbname",
            $user, $pass, 
            array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
I ja veureu com l'error desapareix dels vostres logs, i les dades s'obtenen correctament.

1 de desembre del 2012

LibreOffice Calc: obtenir els elements únics d'una llista

Sembla que estigui fent una sèrie d'articles sobre el LibreOffice. Ja he parlat de com afegir taules al Writer des del Calc per després donar-les-hi format propi, de com tenir llistes desplegables al Calc i, finalment, de com tenir valors amb salts de línia dins una cel·la en el Calc. I encara segueixo: avui explicaré com obtenir una llista d'elements únics d'una llista amb elements repetits.

Partim d'una llista de dades que conté elements repetits. El procés a seguir és el següent (veure la imatge de sota):
  1. Seleccionem la llista original, que conté els elements repetits.
  2. Obrim el menú Dades -> Filtre Estàndard i s'ens obre una finestra d'opcions.
  3. A la condició del filtre indiquem que volem tots els valors (no buits).
  4. Obrim les opcions addicionals pel filtre.
  5. Aquí hem de marcar que no volem els duplicats. Aquest és el secret :-)
  6. Indiquem que volem copiar els resultats...
  7. ... a una cel·la o fulla concreta.

I ja ho tenim. Acceptem, i obtenim el resultat final que es pot veure a la imatge de sota (després de canviar el títol de la columna per indicar que ja no hi ha repeticions).

Tal com podeu comprovar, un truc ben senzill. Però si no el saps, li pots donar força voltes. Us ho ben asseguro.

28 de novembre del 2012

LibreOffice Calc: salt de línia dins d'una cel·la

En el darrer article parlava de com inserir llistes desplegables en el LibreOffice Calc. Avui comentaré un altre petit truc, que de vegades es desconeix, i que permet inserir salts de línia dins d'una cel·la.

De fet, la cosa no té gaire història: en entrar les dades normalment en la cel·la, premem Ctrl i Retorn al mateix temps, enlloc de Retorn (que ens faria sortir del mode edició). El resultat el podeu veure en la imatge següent:


També podem veure en la imatge:
  1. Una petita fletxa que permet desplegar o tancar l'àrea d'entrada (2).
  2. L'àrea d'entrada, on prement Ctrl + Retorn introduïm salts de línia sense canviar de cel·la.
  3. El resultat, amb les dades alineades a l'esquerra. Podem canviar-ho des del menú contextual (botó dret sobre la cel·la), opció "Formata les cel·les", pestanya "Alineació", "Horitzontal".
  4. També podem canviar l'alineació vertical de les cel·les adjacents des del menú contextual (botó dret sobre la cel·la), opció "Formata les cel·les", pestanya "Alineació", "Vertical", tal com es pot veure a la imatge de sota.
Un truc senzill quan el saps, però que si no, pot complicar-se força per aconseguir el mateix efecte. O no?

25 de novembre del 2012

LibreOffice Calc: llistes desplegables

Seguint amb els articles sobre com inserir taules al LibreOffice Writer des del Calc i donar-les-hi un format propi, avui us parlaré de com utilitzar llistes desplegables per seleccionar entre un rang d'opcions al LibreOffice Calc.

Si només tenim uns quants valors coneguts, ho podem fer de forma molt senzilla:
  1. Ens situem sobre la cel·la o cel·les que volem que continguin la llista.
  2. Anem al menú Dades -> Validesa... i ens obrirà una finestra d'opcions.
  3. Indiquem que volem generar una llista, si permetem valors en blanc, si els volem ordenar...
  4. Posem les diverses opcions que ha de contenir la llista.


I jo ho tenim. El resultat és una llista desplegable amb els valors que hem indicat:

Però si tenim llistes més complexes, on potser haurem d'afegir o modificar valors més endavant, podem fer el mateix a partir d'un rang de cel·les. El procés seria similar a l'anterior, però ara els valors de la llista s'obtenen del contingut d'una regió del full:
  1. Ens situem sobre la cel·la o cel·les que volem que continguin la llista.
  2. Anem al menú Dades -> Validesa... i ens obrirà una finestra d'opcions.
  3. Indiquem que volem obtenir les dades a partir d'un interval de cel·les, si permetem valors en blanc, si els volem ordenar...
  4. Seleccionem l'interval de dades que conté les diferents opcions que ha de contenir la llista.
L'avantatge d'aquest mètode és que, si hem seleccionat un rang que conté cel·les buides com a l'exemple, podrem afegir valors nous un cop creada la llista.

I si ho voleu personalitzar encara més, podeu indicar un missatge d'entrada en el moment de crear la llista (es faria de manera similar per un missatge d'error, escollint la pestanya adequada):


Aquest missatge es mostrarà com ajuda al costat del desplegable de la llista:

Bé, ja veieu com sense gaire esforç podeu fer més fàcil l'entrada de dades en el vostre full de càlcul. Ja direu si us ha estat útil!

21 de novembre del 2012

Presentacions amb LaTeX Beamer

En el màster de la EOI que us comentava fa uns dies, a més del vídeo, ens tocava fer també una presentació clàssica.

Tot i que podia haver optar pel LibreOffice Impress, ja fa temps que vaig decidir que preferia utilitzar el LaTeX i, concretament, la classe Beamer. A mi, el que més m'agrada és que et permet concentrar-te en el que vols dir, i no en anar movent les coses un xic més cap aquí o un xic més cap allà.

Si voleu, podeu veure la presentació final que vaig fer, que anava sobre el hardware lliure:



En Beamer és molt senzill canviar de tema: barra de navegació, colors, tipus de lletra, etc... N'hi ha una bona colla de predefinits per escollir. Si us en voleu fer una idea, podeu anar a la pàgina de Ian Blanes, de la UAB, que manté una matriu de temes i colors disponibles per Beamer:


Si ja domineu mínimament el LaTeX, utilitzar Beamer és ben senzill. Pràcticament només cal incloure la classe Beamer. I els resultats, ja veieu, no estan gens malament.

Si us hi animeu, ja em comentareu el què. I si necessiteu un cop de mà  per començar, aquí em teniu pel que necessiteu.

18 de novembre del 2012

Vídeo amb eines de programari lliure

Fa uns dies vaig acabar un màster a l'EOI. No pregunteu.

El cas és que com a treball final calia fer un vídeo de presentació sobre algun tema. Jo vaig escollir: "el programari lliure (o de codi obert) com a font d'innovació". Si us animeu, aquí teniu el resultat:



La base del vídeo és una presentació feta amb Prezi, que és una eina que permet fer presentacions dinàmiques. Segurament n'heu vist alguna a "Singulars" o en altres programes d'entrevistes. Últimament està molt de moda.

Tot i que Prezi està pensat per fer presentacions en línia, també disposa d'una opció per poder-les descarregar i executar-les sense connexió a internet. No cal ni dir-ho: només per windows o Mac. En realitat, es tracta d'un visualitzador de flash de la presentació generada per Prezi.

Sigui com sigui, a partir d'aquí he pogut generar el vídeo final. I tot plegat, utilitzant una bona col·lecció d'eines de programari lliure:
  • Ubuntu: és el sistema operatiu de base amb el que he treballat.
  • Firefox: navagador utilitzat per fer la presentació de Prezi en línia.
  • LibreOffice Calc/Writer: per generar les gràfiques que apareixen a la presentació.
  • Wine: per visualitzar la presentació a l'ordinador a pantalla completa a partir del visualitzador per windows i així poder-ne fer la captura en vídeo.
  • ffmpeg: per fer la captura del vídeo pròpiament dita.
  • OpenShot: per editar el vídeo de manera senzilla: retocar temps, afegir música i generar els crèdits finals.
  • Inkscape: per editar les imatges SVG en els crèdits finals dels vídeo.
  • Shutter: per fer captures de pantalla.
  • Gimp: per editar alguna imatge (bàsicament retallar).
  •  ... i potser encara me'n deixo alguna més!
I, per si algú ho necessita, la comanda per fer la captura del vídeo amb ffmpeg que he utilitzat (no necessitava àudio) és la següent:
$ ffmpeg -y -f x11grab -r 25 -s 1280x1024 -i :0.0 -vcodec libx264 \\
-vpre lossless_ultrafast -crf 22 -threads 3 ~/Vídeos/video_prezi.mkv

Tot plegat amb eines de programari lliure o de codi obert. Què me'n dieu?

14 de novembre del 2012

LibreOffice Writer: taules amb format propi

Fa uns dies comentava com afegir taules al LibreOffice Writer usant dades del LibreOffice Calc. I de passada, comentava que els formats predefinits del Writer per a les taules deixen força que desitjar. Bé, anem a posar-hi remei.

En primer lloc, donem format a una taula en el Writer, al nostre gust:


Però aquesta taula no ens serveix, ja que el format automàtic només admet un format especial per una fila inicial i una de final, una columna inicial i una de final, i cel·les alternatives. En aquest cas hi hauria dues files de títol i, a més, la fila s'estén sobre totes les columnes.

La solució passa per separar el títol i deixar només una fila a la taula:



Tot seguit, farem que aquest format estigui disponible entre els predefinits. Per fer-ho, ens situem sobre una cel·la de la taula (1) i anem al menú Taula - Formatació Automàtica i seleccionem el botó Afegeix (2), escollim un nom i guardem (3).



A partir d'aquí, ja podem utilitzar el nou format per altres taules:

L'únic que no es preserva és la mida de les columnes, però la resta queda fàcilment al nostre gust.

Si necessiteu posar taules als vostres document de LibreOffice Writer, val la pena dedicar una estona a definir un format al nostre gust, per després reutilitzar-lo cada vegada que necessitem una nova taula.

11 de novembre del 2012

LibreOffice Writer: taules des del Calc

Una manera còmode d'entrar taules al LibreOffice Writer és generar-les amb el LibreOffice Calc i després enganxar-les al document de text. Això és important si les taules contenen càlculs, com ara en un pressupost.

Per exemple, suposem que tenim en el Calc la taula següent, on els totals es calculen automàticament a partir dels valors a les diferents cel·les:

A l'hora d'enganxar-la en el Writer tenim dues opcions:

1. Donar-li format en el Calc i després enganxar-la al Write com objecte.

En aquest cas, primer li donem el format que volem en el Calc:


Tot seguit, seleccionem les cel·les de la taula en el Calc, copiem, anem al Writer i enganxem directament sobre el document:



Tal com es pot veure, el resultat és un objecte. Si fem doble clic en ell, el podem editar, i les fórmules actualitzaran els totals com si estiguéssim en el Calc.

Aquest mètode, és ideal per taules petites amb fórmules. Però té l'inconvenient que l'objecte no es dividirà en diverses pàgines. Així, si la taula és molt gran, reduirà la mida de la lletra per encabir-ho a la pàgina i el resultat no serà el desitjat.

2. Enganxar-la al Writer com a text RTF i donar-li format.

En aquest cas partim de la taula original, seleccionem les cel·les en el Calc i les copiem. Tot seguit anem al Writer i fem un Enganxament especial, Text amb Format (RTF). El resultat es el següent:


Tal com es pot veure, ara tenim una taula normal de Writer, a la qual podem donar format normalment. L'inconvenient és que no s'actualitzen les fórmules, però en canvi, podem usar els format predefinits i la taula es pot dividir en diverses pàgines normalment.


Per exemple, podem utilitzar la formatació automàtica i obtenir:


La veritat és que els formats predefinits deixen força que desitjar, pel meu gust, però això seria tema d'un altre article.

24 d’octubre del 2012

Jelly Bean (Android 4.1) arriba al Samsung Galaxy S3

Fa uns dies us indicava que el Jelly Bean estava arribant al Samsung Galaxy S3. Bé, al final m'he cansat d'esperar que m'activessin l'actualització per xarxa i, malgrat la mandra que em feia arrencar el PC amb windows, he actualitzat amb Kies.

Amb una bona connexió d'ADSL el procés és ràpid (el que més ha trigat ha estat en fer la còpia de seguretat, sempre recomanable abans d'una actualització). Tot plegat el procés haurà durat un quart d'hora i l'actualització pròpiament dita uns minuts.

El resultat és l'Android 4.1.1 (Jelly Bean) instal·lat:


No he tingut molt temps de provar-lo, però sembla que va molt fluid. S'ha canviat una mica la pantalla d'ajustaments, modificant la disposició de les icones, afegint la data i hora a la barra superior, l'operadora a la inferior, però sobretot afegint-hi opcions per gestionar els comptes en línia:



També la gestió les notificacions ha canviat força i ara dóna més informació sobre els correus que arriben, les captures de pantalla, etc...

De moment, molt content.

22 d’octubre del 2012

Robot bípede caminant per la corda fluixa !

Recordeu el vídeo de l'eixam d'helicòpters en formació que vaig posar fa uns mesos? Doncs avui he trobat un altre vídeo interessant.

Ja fa temps que hem pogut veure robots bípedes caminant amb més o menys gràcia. Algun, fins i tot fet amb LEGO, com aquest:



Bé, no està malament, però si voleu veure una cosa espectacular, espereu a veure això: un robot bípede caminant per la corda fluixa !


Si fins i tot fa una bona salutació final al públic !

Què me'n dieu?

19 d’octubre del 2012

Jelly Bean (Android 4.1) arribant finalment al Samsung Galaxy S3?

Sóc dels que de tant en tant provo si hi ha una actualització nova disponible pel Samsung Galaxy S3. Aquest cop, enlloc del clàssic missatge indicant que no hi ha actualitzacions disponibles, m'ha sortit la imatge que teniu a sota:

Aquest avís acostuma a sortir quan s'ha començat a distribuir una nova versió i els servidors estan saturats. Qüestió d'anar provant, però espero tenir l'actualització disponible en un parell de dies.

I no cal dir que més val que sigui cap a Jelly Bean (Android 4.1). O em sentiran.

11 d’octubre del 2012

Teclat Android en català: accents, ç i altres caràcters especials

Ara que l'Android està per tot arreu, segur que alguna vegada us han preguntat com posar el teclat en català, ja que no hi ha manera de trobar els accents ni la ç. Jo fins i tot he arribat a veure teclats en francès, o múltiples aplicacions de teclat instal·lades "per provar si hi ha els accents i la ç".

Res d'això no cal. El teclat d'Android permet entrar tots els caràcters especials que necessitem. Simplement cal saber com fer-ho: deixar premuda la tecla en qüestió un parell de segons (p.e. la c per obtenir la ç, les vocals per obtenir tota mena d'accents). Fent-ho així, ens apareix una caixa on podem seleccionar entre les diverses possibilitats per la lletra, tal com es pot veure en la imatge, per la A:


I d'aquesta manera tan senzilla, ja tenim el teclat Android en català...

7 d’octubre del 2012

Captura de pantalla al Samsung Galaxy S3

Una opció interessant dels telèfons amb Android és poder fer captures de pantalla, sobretot si voleu publicar imatges amb qualitat en el vostre bloc, per exemple per indicar pas a pas com saber si un Samsung Galaxy S3 és lliure o no, :-)).

La captura de pantalla es pot fer des de l'Android Gingebread (2.3). Amb Ice Cream Sandwitch (4.0), que és la versió que porta ara mateix el Samsung Galaxy S3 a l'espera de la famosa actualització a Jelly Bean (4.1) que no acaba d'arribar, es pot fer combinant les tecles de "pantalla d'inici" i "engegar" durant un parell de segons.

Però el S3 ofereix una altra opció molt més divertida per captura la pantalla. En primer lloc, hem d'activar-la des de "Ajustaments", "Moviment". Anem cap al final de la llista i ens assegurem que està activat "Despl palmell capturar", tal com es veu a la imatge:


Ara, només cal posar el costat de la mà sobre la pantalla (en un angle de 90 graus) i desplaçar-lo d'esquerra a dreta o a l'inrevés per fer la captura de pantalla. També ho podeu fer amb la mà plana sobre la pantalla, però és més fàcil que arrossegui la pantalla i no faci la captura.

Proveu-ho. És divertit.

26 de setembre del 2012

Samsung Galaxy S3: lliure o no?

Si teniu la sort de gaudir d'un flamant Samsung Galaxy S3 que no té signes de l'operadora, potser tingueu sort i, efectivament, sigui lliure. Els terminals venuts per Yoigo durant el Juliol i primers d'agost d'aquest 2012 ho solen ser.

Però per estar-ne segurs, podeu provar el codi que es veu en la imatge següent:


De totes maneres, si teniu el telèfon actualitzat, podria molt ben ser que el codi ja no us funcioni (a mi em va funcionar l'agost, però avui no me l'acceptava).

En aquest cas, podeu descarregar l'aplicació gratuïta SGS Secret Codes, com es veu a sota a l'esquerra. Al executar-la us sortirà un llista com la de la imatge del mig. Premeu el botó de Lock Status i us apareixerà una pantalla com la de la dreta.


Si com a la imatge us surt tot a OFF, llavors el vostre terminal és lliure. Proveu-ho i ja em direu !

I, per cert, aneu amb compte amb la resta de codis que teniu a l'abast a l'aplicació. No els utilitzeu si no sabeu molt bé què fan i teniu molt clar que els necessiteu.

23 de setembre del 2012

*ERROR* Hangcheck timer elapsed... GPU hung [Solució en curs]

Finalment, sembla que hi ha molt bones notícies respecte al famós error que estic ajudant a depurar des de fa mesos i pel qual només teníem una solució temporal des de juny.

Seguint les indicacions dels responsables de la depuració de l'errada, he pogut compilar i provar la versió 3.6-rc6 del nucli amb les darreres correccions per a targetes Intel. I sabeu què? Funciona !!!

Estic treballant amb aquesta versió des d'ahir i, tal com es pot veure a la imatge, sense cap símptoma de l'error fins ara. Finalment !



Encara queda un llarg camí fins que arribi als nuclis de la distribució, però espero que Quantal estigui lliure d'aquesta errada des de l'inici.

7 d’agost del 2012

Inkscape error: "UniConvertor failed" [SOLUCIONAT]

Avui m'he emportat la desagradable sorpresa que en obrir el inkscape (magnífic editor de gràfics vectorials i de codi lliure, per cert), i fer un simple copiar i enganxar em saltaven tot un seguit de finestres d'error, tal com es pot veure:


De fet, es van obrint finestres fins al punt que es fa impossible treballar.

He vist que hi ha diversos informes d'error relacionats, i en algun d'ells es suggereix que el problema pot venir de tenir corrent en segon pla un programa que estigui monitoritzant el portapapers.

Efectivament! He desactivat el programa que monitoritza el portapapers i problema resolt!

3 d’agost del 2012

Diferents projectes web en el servidor local

Hi ha diferents motius pels quals podem voler tenir diferents projectes web en el nostre ordinador, que actuarà com a servidor en la xarxa local: per desenvolupar projectes per diferents clients, per poder provar diferents gestors de continguts (Drupal, Joomla, etc...), o simplement per tenir un conjunt de servidors de continguts (fotos, música, etc...) sense que s'interfereixin.

Sigui com sigui, anem a veure com ho podem configurar de forma senzilla en el nostre Ubuntu Precise. En primer lloc, instal·lem el servidor web Apache i el PHP:
$ sudo apt-get install apache2 libapache2-mod-php5
En el meu cas, tenia una instal·lació prèvia que m'ha donat problemes amb el PHP (no executava els codis). M'ha calgut reinstal·lar amb:
$ sudo apt-get purge libapache2-mod-php5
$ sudo apt-get install libapache2-mod-php5
$ sudo a2enmod php5
$ sudo /etc/init.d/apache2 restart
Ara, caldrà definir els servidors virtuals que volem utilitzar:
$ gksudo gedit /etc/apache2/sites-available/vhosts
Amb un contingut semblant a (canvieu els noms dels servidors i el que volgueu):
# Use name-based virtual hosting.
#
NameVirtualHost *:80

# "fotos.localhost" VirtualHost:
#
<Directory "/var/www/fotos">
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 Allow from all
</Directory>

<VirtualHost *:80>
        ServerAdmin webmaster@fotos.localhost
        DocumentRoot "/var/www/fotos"
        ServerName fotos.localhost
 ErrorLog ${APACHE_LOG_DIR}/fotos_error.log
 CustomLog ${APACHE_LOG_DIR}/fotos_access.log combined
</VirtualHost>

# "web.localhost" VirtualHost:
#
<Directory "/var/www/web">
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 Allow from all
</Directory>

<VirtualHost *:80>
        ServerAdmin webmaster@web.localhost
        DocumentRoot "/var/www/web"
        ServerName web.localhost
 ErrorLog ${APACHE_LOG_DIR}/web_error.log
 CustomLog ${APACHE_LOG_DIR}/web_access.log combined
</VirtualHost>
 
I l'activem amb:
$ sudo a2ensite vhosts
$ sudo /etc/init.d/apache2 restart
En principi, amb això ja estaria. Només ens queda afegir els noms dels servidors virtuals al fitxer de noms coneguts:
$ gksudo gedit /etc/hosts
Només caldrà afegir una línia:
...
127.0.0.1 fotos.localhost web.localhost
...
I per provar que tot ha anat bé, afegim un fitxer 'index.php' a cadascún dels nostres projectes. El contingut pot ser un simple 'Hola món' en PHP:
<?php echo 'web.localhost diu: Hola a tothom!';?>
I comprovem que efectivament hi tenim accés i ens respon, anant a l'adreça http://web.localhost:

I ja ho tenim. Dues estructures de directoris separades per poder fer el que necessitem, sense que s'interfereixin. Objectiu assolit.

27 de juliol del 2012

Sobreviure a BdeBooks: e-llibres en català (2)

Avui he tornat a donar una volta per Amazon per veure com va el tema de BdeBooks, que vaig enunciar als seus inicis com una gran iniciativa, i que després es va desinflar per la manca de presència del català (la pàgina en català ja la van deixar córrer i en els llibres van avançant a poc a poc). Avui el resultat ha estat el següent:



Fent números, tenim 16 llibres en català i 344 en castellà. Els llibres en català segueixen representant menys del 5% del total publicat per aquest segell que, no ho oblidem, depèn de Edicions B (ubicada a Consell de Cent, Barcelona).

Tenim 8 llibres més en català que la darrera vegada, fa quatre mesos. Això afegeix dos llibres en català cada mes. En el mateix temps, en castellà se n'han afegit 119 en el mateix període (30 al mes, o si voleu, 1 cada dia).

Que cadascú en tregui les seves pròpies conclusions.

24 de juny del 2012

Compilant un nucli Linux per aplicar un pedaç

Tot i que de moment hem trobat una solució temporal a l'error del "GPU Hung", cal veure si es pot solucionar d'una vegada per totes. Per això, els desenvolupadors proposen pedaços, que s'han d'aplicar al nucli base del Linux. I aquest és el motiu de l'article, comentar com es pot compilar un nucli de Linux, tot aplicant-li un pedaç.

El procés pot ser relativament senzill si no volem crear branques en les quals fer els nostres propis canvis mentre seguim els desenvolupament principal del nucli. Si només volem provar un pedaç, com és el cas, ho poder fer tal com us comentaré tot seguit.

En primer lloc, hem d'instal·lar un conjunt d'eines de desenvolupament:
$ sudo su -
$ apt-get install kernel-package fakeroot build-essential devscripts
$ apt-get install crash kexec-tools makedumpfile kernel-wedge
$ apt-get build-dep linux-image-$(uname -r)
$ apt-get install git libncurses5 libncurses5-dev libnewt-dev
$ exit
Potser no caldrien totes per fer una compilació simple, però val més instal·lar-les per si més endavant ens animem a tocar coses més complexes.

Un cop fets els preparatius, hem de descarregar el codi. Inicialment pot semblar una bona opció baixar-lo amb un fitxer comprimit (és més ràpid), però per si més endavant volem fer canvis o actualitzacions, jo aconsellaria baixar-lo amb el git:
$ mkdir ~/Kernel
$ cd ~/Kernel
$ git clone \
  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git \
  source
$ cd source
La descàrrega trigarà una bona estona. Un cop fet, ja podem aplicar els pedaços que siguin necessaris (prèviament descarregats). Ho farem amb una comanda similar a:
$ patch -p1 <0001-drm-i915-Imp-w-a-for-sporadic-read-failures.patch
Finalment, si els pedaços s'han pogut aplicar correctament, ja estem a punt per a la compilació pròpiament dita:
$ cp /boot/config-$(uname -r) .config
$ make oldconfig
$ fakeroot make-kpkg --initrd \
  --append-to-version=-custom kernel-image kernel-headers
A l'executar la segona línia ens anirà preguntant per un munt d'opcions noves del nucli. Normalment n'hi ha prou d'anar prement el retorn per acceptar les opcions per defecte.

La tercera línia és la que engega la compilació pròpiament dita, cosa que durarà una bona estona. Si tot ha anat bé, acabarem amb un parell de paquets *.deb que contenen el nostre flamant nucli compilat, al directori ~/Kernel, tal com es pot veure en la imatge:


Només ens resta instal·lar-los al sistema i provar si el pedaç ha anat bé o no. En el cas de l'error del "GPU hung", el primer intent ha fallat. Què hi farem. S'haurà de tornar a provar. Us mantindré informats.

19 de juny del 2012

Pinta: editor d'imatges senzill a l'estil Paint.NET

De ben segur que de vegades us han demanat consell sobre un editor d'imatges senzill, per fer quatre retocs o simplement retallar una foto. Jo de seguida penso en el Gimp, però de vegades se m'espanten. I és que s'ha de reconèixer que d'entrada resulta un xic complexe.

Per sort, hi ha alternatives, i algunes de molt bones. Com ara el Pinta, que s'inspira en el Paint.NET per oferir una eina senzilla, però eficaç (fins i tot és multicapa i gestiona un historial per desfer les operacions anteriors).

Des d'Ubuntu el podem instal·lar fàcilment, ja que està present en els repositoris oficials:
$ sudo apt-get install pinta
Tot seguit ja la podem invocar des del Dash:


I de seguida podrem veure la seva interfície:


Com es pot observar, l'aplicació és senzilla però suficient per moltes de les operacions del dia a dia. La versió disponible a Ubuntu es la 1.1 (a la seva web hi ha la 1.3) i, tal com es pot veure, no està del tot traduïda al català.

Però segur que hi haurà algú que agraeixi aquesta alternativa al Gimp. No creieu?

14 de juny del 2012

*ERROR* Hangcheck timer elapsed... GPU hung [Solució Temporal]

Per fi bones notícies respecte al famós error que estic ajudant a depurar des de fa dies. Després de provar més d'una vintena de nuclis i opcions, hem pogut establir que el problema es va introduir entre els nuclis:
  • 3.4.0-030400rc1-generic (funciona)
  • 3.4.0-030400rc2-generic (falla)
Això ha permès que Daniel Vetter, un dels desenvolupadors, recordés que justament entre aquestes dues versions es va tocar el valor per defecte d'una opció relacionada amb l'estalvi d'energia en les gràfiques d'Intel.

Efectivament, arrencant el nucli amb l'opció i915.i915_enable_rc6=0 l'error ja no apareix. Per tant, a faltar de poder acabar de solucionar el problema real, aquesta pot ser una solució temporal vàlida.

Si heu seguit les meves recomanacions prèvies i teniu el carregador gràfic Burg instal·lat, editeu les opcions de càrrega del nucli amb:
$ gksudo gedit /etc/default/burg &
Heu d'afegir l'opció i915.i915_enable_rc6=0 a la variable GRUB_CMDLINE_LINUX_DEFAULT, just a l'inici, tal com podeu veure en l'imatge:


Tot seguit, cal regenerar els fitxers d'arranc amb:
$ sudo update-burg
I si no teniu el Burg, no patiu, que podeu fer l'equivalent en els fitxers del Grub:
$ gksudo gedit /etc/default/grub &
  ( editar igual que abans )
$ sudo update-grub

Bé, encara no està solucionat del tot, però finalment tenim una manera senzilla de poder carregar els nuclis problemàtics. Són bones notícies, no creieu?

10 de juny del 2012

Canviant la mida del buffer del registre de missatges en el nucli

Encara estic depurant l'error del "GPU Hung", i molt em temo que en tinc per dies... De moment, m'ha calgut ampliar la memòria que el sistema destina per guardar els registres (logs). Es pot fer directament en arrencar el nucli, afegint-hi el paràmetre:
log_buf_size=4M
Enlloc de 4M, podem posar el que creiem convenient, però penseu que per defecte hi ha 256K. Ho podem comprovar amb:
$ grep CONFIG_LOG_BUF_SHIFT /boot/config-`uname -r`
El resultat el podeu veure a la imatge de sota. Com que no hi ha unitats, el resultat és una potència de 2, és a dir, 2^18 = 256K.
 

Si volem que el canvi sigui permanent, sempre podem editar el fitxer de configuració:
$ gksudo gedit /boot/config-`uname -r` &
En fi, aquí ho deixo escrit, per si ho torno a necessitar.

30 de maig del 2012

Versió base del nucli Ubuntu

A estones lliures, segueixo depurant l'error del "GPU hung" del qual us vaig parlar ja fa uns dies. És un procés llarg i pesat...

El cas és que m'ha calgut conèixer en quina versió està basada cada nucli d'Ubuntu (ja que estic provant nuclis de Linux, i la numeració no es correspon amb la d'Ubuntu). La manera més senzilla és fer:
$ cat /proc/version_signature
En el meu cas, el resultat el podeu veure a la imatge:


El valor que ens interessa és el final (3.0.22) que ens indica la versió base del nucli que podeu trobar en el mainline. Alternativament, podeu obtenir el mateix resultat consultant aquesta taula.

Espero no haver-ho de fer servir gaires més vegades, però en tot cas ho deixo apuntat. Per si de cas.

23 de maig del 2012

Ubuntu Precise: *ERROR* Hangcheck timer elapsed... GPU hung

Jo vaig ser dels valents que ven instal·lar la Beta 2 del Ubuntu Precise, cosa que em va portar algun maldecap amb el controlador ATI en un dels ordinadors. El que no havia tingut temps de comentar encara eren els problemes, més greus encara, en el meu PC principal (un i5-2500k).

Es tracta d'un bug que encara és present, i que provoca diversos salts a pantalla negre durant 2-3 segons per tornar a la normalitat durant 10-20 segons fins que es produeix, o bé una penjada total del sistema que requereix apagar l'ordinador, o bé la mort del gestor de finestres (desapareixen les decoracions de les finestres, el panell del Unity, i fins i tot els menús apareixen amb la mida correcte però totalment en blanc; la imatge de sota n'és un exemple). L'error passa prou sovint com per fer impossible treballar normalment amb el sistema.


Si l'ordinador no s'ha penjat del tot i podem fer un cop d'ull al resultat del dmesg veurem el missatge d'error:
[drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed...GPU hung
[drm] capturing error event; look for more information in \
      /debug/dri/0/i915_error_state
Tal com us comento, l'error encara està present en la versió definitiva, fins i tot en el darrer kernel v3.2.0-24. Per si us hi heu trobat i podeu comentar alguna cosa o sí simplement voleu seguir-ne l'evolució, he posat un informe al Kernel Bug Tracker.

La bona notícia és que hi ha una solució temporal: podeu arrencar amb un nucli antic del Oneiric i ja no tindreu aquest problema. Jo utilitzo el kernel v3.0.0.17 des de gairebé fa un mes, i sense problemes.

19 de maig del 2012

Gimp 2.8 a Ubuntu Precise

Gràcies a un article dels amics de GNULinux.cat m'he assabentat que el Gimp 2.8 ha estat alliberat. Evidentment, encara no està disponible als repositoris oficials d'Ubuntu Precise, però es pot instal·lar fàcilment afegint un PPA:
$ sudo add-apt-repository ppa:otto-kesselgulasch/gimp
$ sudo apt-get update
$ sudo apt-get install gimp
Però aquest cop m'ha sorgit un problema, tal com podeu veure en la imatge de sota:


Mirant en detall el missatge d'error, es pot veure que es tracta d'un paquet trencat. El que cal fer és eliminar-lo i acabar d'instal·lar el Gimp:
$ sudo apt-get remove gimp-plugin-registry
$ sudo apt-get install gimp
Aquest cop ja no hi ha errors, així que tot seguit invoco el Gimp des del Dash. En la imatge de sota es pot veure una de les novetats més destacades: el Gimp treballant en una sola finestra (activeu-lo des del menú Finestres -> Mode de finestra única):


També es poden apreciar fàcilment els canvis en la interfície: per exemple totes les imatges obertes en mostren en miniatura a la part superior, i les eines mostren les opcions més clarament. En fi, una versió molt esperada, de la qual espero treure'n força profit.

26 d’abril del 2012

Ubuntu: proxy a la xarxa local per a les actualitzacions

Al llarg del temps he pogut anar convencent amics i familiars de fer el pas cap a Ubuntu (sense gaires queixes, superades les reticències inicials, tot sigui dit). El cas és que ara em trobo gestionant una petita xarxa d'ordinadors domèstics que volia actualitzar a Precise Pangolin (Beta 2, per impacient), i amb una ADSL de pena (això donaria, no per un article, sinó per un bloc sencer; però en tot cas és una altra història).

Vaig mirar quines opcions hi havia per poder utilitzar el meu PC com a servidor i després de descartar fer un mirall sencer dels repositoris d'Ubuntu, vaig optar per una solució simple però efectiva: muntat un proxy per a les actualitzacions (que també em servirà per anar mantenint els ordinadors al dia sense haver de descarregar els paquets un vegada i un altra en cada ordinador).

Vaig optar per una solució senzilla, especialitzada en les actualitzacions, i no per un proxy complet, que tampoc volia carregar el meu ordinador més del necessari i són més complexos de configurar i gestionar. En fi, sense més xerrameca, indico directament el procés a seguir, que és molt senzill.

En el servidor:
$ apt-get install apt-cacher-ng
Amb això n'hi ha prou i no cal configurar res de res. Totes les descàrregues aniran a la carpeta /var/cache/apt-cacher-ng, així que assegureu-vos de tenir més de 5Gb disponibles (jo us recomanaria un mínim de 10Gb).

En els clients (i també en el propi servidor):
Cal editar un fitxer de configuració per indicar on està el servidor. Ho podem fer amb:
$ gksudo gedit /etc/apt/apt.conf.d/02proxy
I posant-hi (cal substituir l'adreça IP per la que utilitzi el servidor):
Acquire::http { Proxy "http://192.168.0.10:3142"; };
Evidentment, l'inconvenient és que no podrem fer actualitzacions amb el servidor apagat, però a canvi, si ja tenim els paquets descarregats, la velocitat serà impressionant:


No us sembla? He vist puntes de 50Mb en la meva ASDL de 3Mb fluctuants. Gens malament.

21 d’abril del 2012

HP dm1: eliminant el controlador ATI propietari

Avui m'he decidit a actualitzar la versió d'Ubuntu del HP-dm1 a Precise Pangolin (Beta 2). Un xic agosarat, potser, tal com s'ha demostrat. Per cert, que ho he fet utilitzant un PC com a proxy local (vegeu-ho en l'article).

Per a fer-ho, des del terminal (o amb ALT+F2) teclegeu:
$ update-manager -d
Ens apareixerà el gestor d'actualitzacions amb una nova opció per actualitzar la distribució, tal com podeu veure a la imatge:


Acceptem i seguim les passes habituals. Un cop completat tot el procés, arriba el moment de reiniciar l'ordinador. En fer-ho, em trobo que no puc entrar en mode gràfic. No és la primera vegada que tinc problemes amb el controlador propietari d'ATI interferint amb el sistema, així que després d'unes infructuoses proves ràpides, he fet una cerca al respecte.

La solució l'he trobada als ubuntuforums.org. Consisteix en entrar en mode terminal, eliminar els controladors propietaris i tornar a instal·lar els de codi obert. Ho poso tot seguit per no haver-ho de tornar a buscar mai més. O això espero.
$ sudo apt-get remove --purge xserver-xorg-video-ati \
  xserver-xorg-video-radeon
$ sudo apt-get install xserver-xorg-video-ati
$ sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri \
  xserver-xorg-core
$ sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
$ sudo rm -rf /etc/ati
Fet això, he pogut reiniciar ja en mode gràfic sense cap més problema.

4 d’abril del 2012

Reanomenant fitxers en un arbre de directoris des del terminal

Fa uns dies us comentava com reanomenar fotos usant dades EXIF. De vegades, però, ens trobem que hem de fer un petit canvi de nom en molts fitxers diferents en tot un arbre de directoris.

M'hi he trobat en adonar-me que una de les càmeres s'havia quedat sense la bateria interna que manté el rellotge i tinc tot un conjunt de carpetes amb fotos anomenades "2036-*". Evidentment, puc utilitzar pyRenamer, però aquest cop he volgut provar de fer-ho des del terminal, amb find.

En primer lloc, i abans d'executar la comanda real, m'agrada veure exactament quins fitxers es veuran afectats. Així m'asseguro que no hi haurà efectes no desitjats. En aquest cas, vaig a l'arrel de la carpeta de fotos i teclejo:
$ find . -name '2036-*' -print | more
La llista és correcte, pel que ja puc fer el canvi de nom real:
$ find . -name '2036-*' -exec rename 's/2036-/2012-/i' {} +
Fixeu-vos com ara executo una comanda de canvi de nom, substituint el '2036-' per '2012-' per cada fitxer localitzat amb el find. Les cometes simples en la comanda serveixen per evitar l'expansió de l'asterisc per part de la shell.

En fi, aquí ho deixo anotat, per recordar-ho més endavant. De vegades, no hi ha res més eficient que la línia de comandes, no trobeu?

29 de març del 2012

Sobreviure a BdeBooks: e-llibres en català

De tant en tant miro com segueix el tema de BdeBooks, que vaig enunciar als seus inicis com una gran iniciativa, i que després es va desinflar per la manca de presència del català, tant a la pàgina com en els llibres publicats (fa un parell de mesos, un de sol).

Avui hi he tornat a donar una volta. Res a fer respecte a la pàgina en català. Diria que ho podem donar per perdut. En canvi, he trobat algun llibre més en català. Difícil de dir quants, perquè no hi ha cap manera de poder fer una cerca de llibres només en català. Tant costaria, fer ni que fos una categoria de llibres en català, com a Amazon?

De fet, mentre pensava això, se m'ha acudit la solució: fer la cerca directament a Amazon. He entrat a la seva pàgina i m'he mogut pel menú de l'esquerra amb:
  • ‹ Tienda Kindle
  • ‹ eBooks Kindle
  • ‹ eBooks en catalán, gallego y euskera
  • eBooks en catalán
Aquí he fet la cerca "B de Books" i el resultat el podeu comprovar a la imatge de sota:

Com es pot veure, hi ha 8 llibres en català. Una cerca similar, però ara sobre tota la col·lecció Kindle ha donat el següent resultat:

Fent números, tenim 8 llibres en català i 225 en castellà. Els llibres en català representen menys del 5% del total publicat per aquest segell que, no ho oblidem, depèn de Edicions B (ubicada a Consell de Cent, Barcelona).

En fi, ho aniré seguint. Si més no, ara ja he trobat una manera senzilla de trobar els llibres en català publicats per B de Books. Ni que sigui en una altre pàgina.

25 de març del 2012

Canviant el número d'escriptoris a Unity

Des que gaudim de Unity, l'Ubuntu ens ve amb una configuració de 2x2 espais de treball. Si bé en general n'hi ha mes que suficient, de vegades ens pot interessar tenir oberts múltiples documents o aplicacions i s'ens pot quedar curt. Cap problema. Podem canviar els valors !

Per fer-ho fàcil, en primer lloc instal·lem el gestor gràfic, des del terminal:
$ sudo apt-get install compizconfig-settings-manager

Tot seguit, cridem l'aplicació des del Dash:


Un cop oberta la finestra del programa, anem a la Categoria General, opció General Options, i pestanya Desktop Size, on posem els valors que desitgem:


En el meu cas, he posat 4x2, el que duplica el número d'espais de treball, tal com es pot comprovar amb la imatge de sota:


I ja ho tenim!

De fet, el programa que acabem d'instal·lar ens permet modificar tot d'opcions de l'entorn gràfic, com ara la gestió d'efectes de les finestres,  temes d'accessibilitat, el famós cub de l'escriptori, etc... Interessant, veritat?

10 de març del 2012

Canviant el nom a les fotos usant la data EXIF (amb pyRenamer)

Les càmeres digitals anomenen les fotos sense gaire gràcia. Per contra, si mireu les propietats d'una foto, veureu que hi ha moltes dades disponibles: la data i l'hora de la foto, la càmera utilitzada, l'obertura, etc... És l'anomenada informació EXIF.

A mi em sembla bona idea anomenar les fotos segons la data en què es van fer. A Ubuntu, hi ha molts programes de tractament de fotos, alguns senzills, altres més complexos, però per aquesta tasca jo utilitzo pyRenamer, un programa per canviar el nom de tot un conjunt de fitxers. L'instal·lem directament des del Synaptic, i l'executem amb el Dash:


Per acomplir la nostra tasca, necessitem:
  1. Escollir la carpeta on tenim les fotos.
  2. Anar a les opcions d'imatge, per poder utilitzar les dades EXIF de la pròpia foto.
  3. Seleccionar el patró a utilitzar pel canvi de nom. Si deixem el ratolí aturat sobre els camps de text, ens apareixerà una informació d'ajuda sobre els camps que podem utilitzar.
  4. Sempre, abans de processar els fitxers, convé previsualitzar els resultats i comprovar que són del tot correctes.
  5. Un cop satisfets, procedim a fer el canvi de nom real.
  6. Finalment, podem guardar el patró de canvi de nom, per si el volem utilitzar més endavant (llavors ens apareixerà en el desplegable (7)).
Ara només cal que anem fent els canvis en les carpetes desitjades i ja ho tenim.

I vosaltres, coneixeu algun altre sistema, més senzill, per fer el mateix?

27 de febrer del 2012

Calculadora i Youtube al Dash

Fa uns dies us comentava com tenir a l'Ubuntu els avantatges del menú clàssic sense renunciar a les del Dash. Avui, us explicaré un parell de petites utilitats pel Dash, que complementen la seva funcionalitat.

La primera d'elles, és una calculadora. No us heu trobat mai introduint operacions matemàtiques al Dash? A mi m'havia passat més d'una vegada. Ara, a més, n'obtinc la resposta:


Per activar-lo, el millor és fer-ho amb un paquet ja preparat:
$ sudo add-apt-repository ppa:scopes-packagers/ppa
$ sudo apt-get update
$ sudo apt-get install unity-lens-utilities unity-scope-calculator
Haurem de sortir de la sessió per tal que estigui actiu. Abans, però, podem activar una altra petita utilitat per buscar còmodament vídeos al Youtube directament des del Dash:
$ sudo add-apt-repository ppa:atareao/lenses
$ sudo apt-get update
$ sudo apt-get install lens-video scope-youtube
Com abans, hem de sortir de la sessió per tenir-lo disponible. A partir d'aquí, teclegem el que ens interessi, seleccionem la icona de sota que ens ens mostra una mena de triangle tipus "Play", i ja tenim els resultats a la vista:

Fixeu-vos com tenim accés als vídeos sense necessitat d'obrir el navegador. Fins i tot podem teclejar scope al Dash per invocar una utilitat que ens permet escollir amb quina aplicació volem veure el vídeo, o si directament el volem descarregar.

Dues petites joies que ens faran la vida més fàcil, no trobeu?