divendres, abril 04, 2014

Som Energia

Fa divuit anys, l'Internauta va començar a parlar de les noves tecnologies i d'internet. Uns quants anys més tard, els convidats ja ens explicaven no tant coses de la xarxa i la tecnologia, sinó què hi feien. Ara, potser, ja podem començar a fer un nou pas al programa i començar a parlar de les coses que fa la gent amb la filosofia d'internet. És des d'aquest punt de vista, entre més aspectes, que es pot explicar la presència avui de SomEnergia, una cooperativa energètica ideada el 2009 d'un grup de persones vinculades a la Universitat de Girona que acaba d'arribar als deu mil socis, un 75% dels quals als Països Catalans.
Font: http://www.vilaweb.cat/noticia/4147677/20131004/bona-energia.html

dimecres, març 19, 2014

Com instal·lar la veu catalana del Festival a Ubuntu


Gràcies a la feina del Sergio Oller, s'ha simplificat moltíssim l'ús i instal·lació de les veus catalanes del Festival que explicàvem fa uns anys.

Ara hi ha prou amb fer el següent:

    sudo add-apt-repository ppa:zeehio/festcat
    sudo apt-get update
    sudo apt-get install festival-ca festvox-ca-ona-hts festcat-utils
    festcat_llegeix <<< "Les veus catalanes s'han instal·lat correctament."

Això és vàlid per a Ubuntu, Debian i sabors derivats.

I aquí podeu provar els resultats: http://festcat.talp.cat/demo.php

Ara cal que algú s'animi a adaptar-les per a mòbils.

Referències:
http://festcat.talp.cat/readme.php

dimarts, març 18, 2014

Resolució 1440x900 amb Ubuntu 12.04 i nVidia Geforce 8300

Darrerament intento quedar-me amb les LTS per evitar alguns problemes com aquest. Tot i així m'he tornat boig durant unes setmanes per que en aplicar alguna actualització la resolució va baixar i diverses solucions no van fer més que empitjorar la situació. Finalment vaig trobar aquesta solució que espero que sigui útil a algú més:

Situació de partida:
Maquinari:
Monitor: LG FLATRON L192WS
Tarja gràfica: nVidia GeForce 8300

Programari: Ubuntu 12.04 LTS
Connector: http://www.nvidia.com/object/linux-display-amd64-304.116-driver.html

Cap xorg.conf.

Solució:

0) Eliminen qualsevol rastre de nvidia:sudo apt-get purge nvidia*


1) Trobem els modelines amb cvt
Necessitem saber la resolució del monitor i una freqüencia, que en el meu cas és de 60 o 75 Hz
$cvt 1440 900 60
# 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync

La darrera línia és la informació que necessitem:

(No poseu la ratlla d'iguals que faig servir per separar!)

2) Ho afegim a la següent plantilla:
==============xorg.conf
Section "Monitor"
    Identifier    "Monitor0"
    == AQUI POSAREM EL RESULTAT DEL PAS ANTERIOR ==
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Card0"
    Monitor        "Monitor0"
    SubSection "Display"
        Modes       == AQUI POSAREM LA ETIQUETA DEL PAS ANTERIOR ==
    EndSubSection
EndSection

Section "Device"
    Identifier    "Card0"
    Driver        "== AQUI POSAREM EL NOM DE CONNECTOR UTILITZAT =="
EndSection

==============

Que pel meu cas queda així:

==============/etc/X11/xorg.conf
Section "Monitor"
    Identifier    "Monitor0"
  

Modeline "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Card0"
    Monitor        "Monitor0"
    SubSection "Display"
        Modes      
"1440x900_60.00"
    EndSubSection
EndSection

Section "Device"
    Identifier    "Card0"
    Driver        "nouveau"
EndSection

==============

3) Copiem aquest fitxer a /etc/X11/xorg.conf
sudo cp xorg.conf /etc/X11/xorg.conf

4) Mirem el nom del dispositiu amb xrandr:

sudo apt-get install xrandr
xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
VGA-1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0*
   800x600        60.3     56.2 
   848x480        60.0 
   640x480        59.9 
HDMI-1 disconnected (normal left inverted right x axis y axis)


Per que el nom del dispositiu, en aquest cas VGA-1 el necessitem al següent pas:

5) Activem la resolució amb xrandr:
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr --addmode VGA-1 1440x900_60.00
xrandr --output VGA-1 --mode 1440x900_60.00


6) Ja podem utilitzar la nova resolució!
Que trobarem a Paràmetres del sistema | Pantalles | Resolució

De fet pel mateix sistema podem afegir algunes resolucions més, com exemple he afegit les del següent fitxer de configuració:

==============/etc/X11/xorg.conf
Section "Monitor"
    Identifier    "Monitor0"
    Modeline "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
    Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
    Modeline "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Card0"
    Monitor        "Monitor0"
    SubSection "Display"
        Modes       "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00"
    EndSubSection
EndSection

Section "Device"
    Identifier    "Card0"
    Driver        "nouveau"
EndSection

==============

Referències:
https://wiki.ubuntu.com/X/Config/Resolution

Temes:
  • Com afegir una resolució amb Ubuntu 12.04
  • Monitor 1440x900 LG FLATRON L192WS
  • Tarja gràfica nVidia Geforce 8300

diumenge, febrer 02, 2014

rarcrack

Fa poc vaig perdre la contrasenya d'un arxiu de còpia de seguretat que havia fet fa temps. Com que estava comprimit amb format rar vaig estar cercant alguna eina per trobar la contrasenya. I vaig trobar rarcrack, un programa que està en la versió 0.2. Però no aconseguia que funcionés, sempre em donava aquest error:

~$ rarcrack fs.rar
RarCrack! 0.2 by David Zoltan Kedves (kedazo@gmail.com)

ERROR: The specified file (fs.rar) is not exists or
       you don't have a right permissions!


Per més que vaig provar solucions, cap no em va funcionar. Fins que vaig descobrir que per que funcioni cal només crear a la mateixa carpeta un arxiu xml amb el mateix nom que aquell del que volem trobar la contrasenya amb el següent contingut:



Això és pot fer amb qualsevol editor de text.

A la clau abc hem de posar tots els caràcters que volem que es provin.
A la clau current desarà la posició actual per si el procés s'interromp i així no haver de començar de nou.
A la clau good password es desarà la contrasenya quan es trobi.

I ja podem esperar alguns dies:

Amb 6 fils, i 3 cpus de  2,3 GHz amb 24 hores dóna temps per trobar una mica més de 5 caràcters!

Referències: http://rarcrack.sourceforge.net/

dimarts, gener 21, 2014

12 years old Victoria Grant explains how banks commit fraud

Twelve year old spells out the fraud the banks are committing against the people.
Victoria Grant explains why her homeland, Canada, and most of the world, is in debt. April 27, 2012 at the Public Banking in America Conference.




http://www.ts0.com/bloggercomments/get.asp?blogID=<$blogid$>&postID=<$BlogItemNumber$>

dissabte, gener 18, 2014

Com recuperar particions amb ddrescue

Fa un temps vaig explicar com desar una partició amb partimage (1).

Però fa poc em vaig trobar que un disc començava a fallar tot i que era perfectament utilitzable, així que vaig còrrec a comprar un nou disc. Un cop el disc instal·lat vaig intentar desar les dues particions que volia recuperar i em vaig trobar que partimage deixa de copiar a la que troba un sol error de disc (2). Vaig intentar-ho amb dd amb el mateix resultat. Després d'una estona de cercar vaig donar amb la solució: ddrescue (3)(4). No confondre amb dd_rescue que es una versió més antiga i menys segura (5).

 ddrescue

El que fa ddrescue es que segueix copiant saltant els errors després de repetir la lectura alguns cops en cas d'error. El resultat depèn del nombre i la mida dels errors, però si aquesta es petita com en el meu cas, permet recuperar tot allò que es salvable. En el meu cas, havia perdut dues particions, una de 463GB ext4 i un altre de 10 GB ntfs. De la primera ho vaig recuperar tot excepte 158MB i la segona no la vaig poder recuperar, tot i que no tenia res important. Així que vaig poder recuperar tot allò que necessitava.

Cal dir que quan vaig decidir la recuperació ja feia molts dies que rebia avisos de la fallada esporàdica del disc. Així que en cas d'errors de disc convé no demorar la recuperació.

Instal·lem el nou disc i fem les particions necessàries. Convé indicar que les particions noves on volem recuperar les dades no poden ser menors que les antigues, així que les farem lleugerament més grans. Al final del procés podem canviar la seva mida amb gparted, vaja en cas que les vulguem reduir, si les volem més grans gairebé millor estalviar-nos el gparted i fer-les de la mida desitjada.

Arrenquem amb un CD-Live o amb un llapis usb (6)
Comprovem on s'han muntat les particions amb:

sudo fdisk -l

i ens ajudem de la mida de les particions que prèviament hem anotat amb molta cura.

Per al següent exemple volem recuperar dues particions que tenim a:

/dev/sdb2
/dev/sdb6


i les particions a les que les copiarem seran:

/dev/sda2
/dev/sda3


respectivament.

Abans de continuar recordem que com hem dit les noves particions no poden ser menors que les antigues.

1) Instal·lem el ddrescue

El ddrescue és als repositoris universe, i hi ha diverses opcions per afegir aquest repositori;

1.1) De forma manual:

sudo gedit /etc/apt/sources.list

i afegim el mot univers als sources.list després de cada main (3 cops).

1.2) Amb les següents ordres manuals:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo sed -i -e "s/# deb/deb/g" /etc/apt/sources.list


Després actualitzem els paquets:

sudo apt-get update
sudo apt-get install gddrescue


2) Recuperem les particions

Primer muntarem una carpeta per desar els registres. Recordem desar-ho abans de reiniciar o enviar-los per correu si treballeu amb un CD-Live o amb un usb que no permeti desar-hi!

sudo cd /mnt
sudo mkdir disc
mount /dev/sda9/ /mnt/disc/


I ja podem executar el ddrescue. 
En el cas d'un partició ext4 serà una cosa així:

ubuntu@ubuntu:/mnt/disc$ sudo /sbin/ddrescue -v -f /dev/sdb2 /dev/sda2 /mnt/disc/ddrescueWinXPred.log


About to copy 10484 MBytes from /dev/sdb2 to /dev/sda2
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 sectors
Sector size: 512  bytes
Max retries: 0  
Direct: no    Sparse: no    Split: yes    Truncate: no


Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:         0 B,  errsize:       0 B,  errors:       0
Current status
rescued:    10484 MB,  errsize:   12288 B,  current rate:        0 B/s
   ipos:     3159 MB,   errors:       3,    average rate:    4716 kB/s
   opos:     3159 MB,     time from last successful read:      37 s
Finished


En el cas d'una partició ntfs, serà una cosa així:

About to copy 463491 MBytes from /dev/sdb6 to /dev/sda3
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 sectors
Sector size: 512  bytes
Max retries: 0  
Direct: no    Sparse: no    Split: yes    Truncate: no


Recordem enviar-nos per correu els registres.

3) Comprovem el disc

Reiniciem i fem:

sudo e2fsck -fp /dev/sda2
sudo e2fsck -fp /dev/sda3


Et voilà!

Per acabar, comprovem si el disc que fallava està en garantia, normalment de 2 a 5 anys segons la qualitat i el preu. Cas que el portem al servei tècnic convindrà, després d'haver-nos assegurat que la recuperació ha funcionat, esborrar el seu contingut o millor dit, escriure contingut nou per que l'anterior no es pugui recuperar. Ja que quan esborrem normalment, com ja hem explicat en altres ocasions, el que passa és que només s'indica al sistema que l'espai es lliure per poder ser utilitzat, però no s'esborra i es fàcilment recuperable amb eines com ara el systemrescuecd (8).

Per esborrar definitivament el disc podem fer (no deixeu de llegir el paràgraf anterior!):

Suposant que segueixi a /dev/sdb(9)(10):

Instal·lem el shred:

sudo apt-get install secure-delete

Esborrem el disc:

shred --verbose /dev/sdb


I esperem força, ja que ho fa tres cops!

I ara ja podem tornar el disc al servei tècnic, sabent que hem fet força difícil la recuperació de les nostres dades, tot i que no podem assegurar que sigui impossible ja que circula el rumor que les agències de les tres lletres tenen programes especialitzats per a estudiar les restes del camp magnètic sobre les àreas del disc que recordarien el que ha estat aplicat durant prou de temps. Però això ho deixem per a un altre dia.

Intentaré explicar el resultat de la reclamació del disc al fabricant ja que encara està en garantia. Tan si aconsegueixo un nou disc com si no, i explicaré qualsevol cas el tracte rebut pel meu venedor habitual des de fa molt de temps.

Referències:
1) http://galindaines.blogspot.com/2007/12/com-desar-una-partici-amb-partimage.html
2) http://www.sysresccd.org/forums/viewtopic.php?t=2139
3) http://dimitar.me/clone-disk-drives-with-ubuntu/
4) http://www.gnu.org/software/ddrescue/ddrescue.html
5) http://www.toad.com/gnu/sysadmin/index.html#ddrescue
6) http://galindaines.blogspot.com/2007/12/si-grcies-gmail-o-al-teu-espai-de-disc.html
7) http://superuser.com/questions/237247/how-do-i-add-a-apt-get-repository-without-editing-etc-apt-sources-list
8) http://www.sysresccd.org/
9) http://jschaferwilson.wordpress.com/2011/02/26/linux-howto-wipe-a-hard-drive/
10) http://ubuntuforums.org/showthread.php?t=2022447

dilluns, juny 24, 2013

Validació de NIFs i NIEs amb un full de càlcul

És molt fàcil trobar formules que ens calculin la lletra del NIF o del NIE però encara no he trobat una que validi indistintament l'una o l'altre que és el que semblaria més útil.

Aquí deixo algunes fòrmules per a OpenOffice. Totes suposen que les dades són a la casella A1. Els documents s'han d'entrar sense espais ni guions.

Alguna es podria simplificar, però ja fan el que jo volia. Si les milloreu, podeu deixar la vostra versió als comentaris.

Suposem entrada a A1 (Open Office)

Comprova lletra NIF o NIE indistintament

=SI(CODI(MIG(A1;1;1))>60;SI(MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(ABS(CODI(MIG(A1;1;1)))-88&MIG(A1;2;7);23)+1;1)=MIG(A1;9;1);" ";"Comprovi el NIE");SI(MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(MIG(A1;1;8);23)+1;1)=MIG(A1;9;1);" ";"Comprovi el NIF"))

Comprova NIF
=SI(MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(MIG(A1;1;8);23)+1;1)=MIG(A1;9;1);" ";"Comprovi el NIF")

Comprova NIE
=SI(MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(ABS(CODI(MIG(A1;1;1)))-88&MIG(A1;2;7);23)+1;1)=MIG(A1;9;1);" ";"Comprovi el NIE")

Calcula lletra NIF
=MIG("TRWAGMYFPDXBNJZSQVHLCKE";1+MOD(MIG(A1;1;8);23);1)

Calcula lletra NIE
=MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(ABS(CODI(MIG(A1;1;1)))-88&MIG(A1;2;7);23)+1;1)

Comprova si és NIE o NIF
=SI(CODI(MIG(A1;1;1))>60;"És NIE";"És NIF")

Calcula lletra NIF o NIE indistintament
=SI(CODI(MIG(A1;1;1))>60;MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(ABS(CODI(MIG(A1;1;1)))-88&MIG(A1;2;7);23)+1;1);MIG("TRWAGMYFPDXBNJZSQVHLCKE";1+MOD(MIG(A1;1;8);23);1))