Blog jubilado de Paco Ros

Fue bonito mientras duró

Archive for the ‘Software’ Category

Install Thunderbird 3 in Ubuntu 9.10 Karmic

Posted by Paco Ros en 8 \08\UTC diciembre \08\UTC 2009

This is a reminder, but I publish it here. I hope it helps somebody else.

Add ubuntu-mozilla-daily repositories using karmic ppa new style syntax:

$ sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa

Once added, simply update and install:

$ sudo aptitude update && sudo aptitude install thunderbird-3.0 thunderbird-3.0-gnome-support

Enjoy.

Anuncios

Posted in Libre, Linux, Software | Etiquetado: , , , , , | 12 Comments »

Dropbox package for Ubuntu 9.10 Karmic

Posted by Paco Ros en 10 \10\UTC octubre \10\UTC 2009

I’ve just compiled the sources from dropbox and packaged 0.6.1 in a deb. Download and double click it to install. Please, let me know if there are some unmet dependences.
Download dropbox for ubuntu 9.10 karmic.

Posted in Linux, Software | Etiquetado: , , , , | Leave a Comment »

Tips to make Acer Aspire One 751h (AO751h) work better with Ubuntu

Posted by Paco Ros en 2 \02\UTC octubre \02\UTC 2009

The new toy from Acer is a affordable netbook featuring HT Intel Atom Z520 and a 1366×768 11.” LED LCD.

Almost all the hardwre included inside thie “piece of iron” is good and works out of the box with Ubuntu 9.04 (a.k.a. Jaunty) updated to 2.6.28-15 linux kernel version, but some manual configuration is needed to leave all the (at least for me) important things working:

Graphics Driver

I can’t stand without complaining about the stupid fact that Intel ordered another corp to develop the drivers for Intel GMA500 graphics chip. Somebody contracted Tungsten Graphics to build a driver that makes Dell mini family work with this piece of hell… and they did! So we now have a unmaintained old graphics driver with a binary privative piece inside it and we have to push it inside a free software system. I’d like to thank Lucazade at this point for the efforts made for this crap to work.

After complaining, let’s go for work. Remember this word, it’ll be your obsession th next hour afer you read this post: poulsbo. All GMA500 stuff is labeled with poulsbo or psk keyword, so, you know, you can begin by apt-cache searching for this term.

Karmic instructions

Updated: AOS751h works better in Jaunty than in Karmic. If you don’t care about lastest updates, it’s better to install Jaunty and follow the instructions. If you need Karmic or you prefer being in the cutting edge, the best you can do is to use Lucazade (Thanks Again) script published in ubuntu forums:

wget http://gma500re.altervista.org/scripts/poulsbo_ppa.sh && sudo sh ./poulsbo_ppa.sh

I can’t make software suspend work in Karmic. See the comments, I’m not the only one.

Jaunty instructions

Begin by adding the following unofficial repositories to your /etc/apt/sources.list

deb http://ppa.launchpad.net/ubuntu-mobile/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ubuntu-mobile/ppa/ubuntu jaunty main

And authorize PPA packages to be installed

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C6598A30

If you arrived here, you’ll probably know what to do:

$ sudo apt-get update
$ sudo apt-get install poulsbo-driver-2d poulsbo-driver-3d psb-firmware

But, this is not enough, you must compile and install a kernel driver (let DKMS do the work):

$ sudo apt-get install psb-kernel-source

Time to reboot now, next time you login you’ll see a beautiful 1366×768 3D accelerated desktop. No need to edit /etc/X11/xorg.conf for me, but you can do to enable horitzontal scrolling for synaptics touchpad.

If you want to enable desktop effects, locate /usr/bin/compiz and add psb at the beggining of the list in the line “WHITELIST”

WHITELIST="psb nvidia intel ati radeon i810 fglrx"

Now you can activate compiz by selecting System -> Appearance -> Visual Effects and clicking in “Normal”

Remember, if you update the kernel you must reinstall psb kernel module and if compiz-wrapper gets updated, you should edit it again and add psb to whitelist. You can read the long thread about GMA500, poulsbo and ubuntu at ubuntu forums here.

Wireless

ath5k works out of the box. I tried to enable Atheros unsuccessfully, but there’s no need to enable it because ath5k seems to work fine, despite of some messages about jumbo packages being logged in syslog. I will try to make Madwifi work when I have some time, it’s useful if you need to inject frames in a signal.

Suspend to RAM

All the info above can be easily found in the internet, but there is no info about suspend. Suspend works out of the box, but it got broken when you installed psb video driver (Did i told this is a piece of shit?) and I can’t imagine a laptop that can’t be suspended. Fortunately Wander Boessenkool published a patch to hal mailing list. You must locate /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-acer.fdi and add the following at the end (before the last </match>):

&lt;match key="system.hardware.product" string="AO751h"&gt;
   &lt;merge key="power_management.quirk.dpms_on" type="bool"&gt;true&lt;/merge&gt;
   &lt;merge key="power_management.quirk.vbemode_restore" type="bool"&gt;true&lt;/merge&gt;
   &lt;merge key="power_management.quirk.vbestate_restore" type="bool"&gt;true&lt;/merge&gt;
 &lt;/match&gt;

This patch shouldn’t take too many time to be included in ubuntu hal packages. Remember to edit it it again if you update hal.

I couldn’t get suspend working by closing the lid. I’m working on ot and will update when it works.

Updated: It works fine by setting it in System -> Preferences -> Power Management

Enjoy the toy :-)

Posted in Hardware, Libre, Software | Etiquetado: , , , , , , , , | 10 Comments »

Fast command line database UNIX/Linux version

Posted by Paco Ros en 28 \28\UTC mayo \28\UTC 2009

Me ha gustado el funcionamiento de este script que han mostrado en Lifehacker para almacenar y buscar pequeñas notas vía bash.

No tiene ningún secreto: almacena pequeños textos de una línea en un fichero y luego los busca.

Como no uso Windows, me he hecho una versión para bash, disponible en casi cualquier *NIX:

silver:tmp paco$ cat f
#/bin/bash
DICT=$HOME/.f.dict
T=`date +"%d/%m/%Y %H:%M"`
OP=$1
KEYWORD=$2

if [ "$3" != "" ]
then
 echo "Are you sure you don't want to use quotation marks?"
 exit
fi

case "$OP" in
 "ADD" | "add" )
 if [ "$KEYWORD" == "" ]
 then
 echo "No keyword fond"
 else
 echo "$T $KEYWORD" &gt;&gt; $DICT
 echo "Added"
 fi
 ;;

 "SEARCH" | "search")
 if [ "$KEYWORD" == "" ]
 then
 echo "Nothing to search"
 exit
 else
 grep -i "$KEYWORD" $DICT
 fi
 ;;

 * )
 echo "Usage: $0 add|search keyword"
 ;;
esac</pre>
Ejemplos de uso (asumimos que el script se llama f y está en el PATH):
<pre>$ f add "blog Paco Ros http://www.paacoros.net"
Added
$ f add "Restaurante sushi Wasabi Blue http://www.blue.wasabirestaurants.es/ Tel. 971 264 602"
Added
$ f add "TODO Regar las plantas"
Added

$ f search restaurante
28/05/2009 23:33 blog restaurantes Mallorca http://www.cometemallorca.com
28/05/2009 23:43 Restaurante sushi Wasabi Blue http://www.blue.wasabirestaurants.es/ Tel. 971 264 602

$ f search Tel
28/05/2009 23:43 Restaurante sushi Wasabi Blue http://www.blue.wasabirestaurants.es/ Tel. 971 264 602

$ f search TODO
6:28/05/2009 23:43 TODO Regar las plantas

Que lo disfrutéis :-)

Posted in Software, Varios | Etiquetado: , | 4 Comments »

La rubita Microsoft

Posted by Paco Ros en 23 \23\UTC marzo \23\UTC 2009

Ahora que estás estudiando, Microsoft te ofrece a un precio de risa su suite “Office” versión 2009, como a la chica rubita de la foto.

Office Ultimate - Oferta estudiantes

Tienda Microsoft - Obsérvese el precio para estudiantes

Cuando seas mayor, si decides montar una empresa, las cosas serán diferentes, aunque seas la misma chica rubita.

Office Ultimate - Empresas

Tienda Microsoft - Obsérvese el precio para todos

Más te vale que hayas aprendido algo que no lleve la palabra Microsoft delante durante tus estudios, porque en el futuro lo agradecerás.

Posted in Privativo, Software | 2 Comments »

La revalorització del programador

Posted by Paco Ros en 23 \23\UTC febrero \23\UTC 2009

Ahir llegia a trespams un interessant post d’en Toni on explicava com pareixia mentida que encara s’havés de justificar el desenvolupament fent servir programes lliures en front dels clàssics privatius .Net i J2EE.

La meva resposta es basava en la meva anterior entrada sobre la crisi i la innovació on pareix evident que la única manera de sortir-ne és innovant i els nous bastiments de programació lliures en són una manera excel·lent, ja que permeten reduïr el cost i duració del desenvolupament de manera dramàtica.

Mira per on que avui he llegit un altre post de Alejandro Suárez, un emprenidor del mundillo dels buzz (compta amb vèries empreses a internet) on comenta que amb la crisi molts projectes deixen de ser viables per mor del seu cost i que els programadors de programari lliure tornen a revaloritzar-se.

Si bé la idea de fons és la mateixa, no n’estic del tot d’acord. Sí és cert que el programari lliure en serà el clar guanyador, ja que la qualitat / preu dels programes lliures és insuperable, però els programadors són personatges molt especials.

N’hi ha que no n’aprendran mai i que no creuen en el model de programari lliure. Si hi ha sort, com a molt fabriquen frasses de l’estil “sí, bé, és gratis, no podem demanar més” i d’altres ni això “jo necessito una empresa que em recolzi i no aquesta cosa que ha fet un pringat en les seves estones lliures”.

D’altra banda existeix un gran i generalitzat desconeixement sobre el funcionament dels projectes de programari lliure i les seves llicències. Cal explicar un pic i un altre les diferències entre la GPL 2 i la 3 a més de que la majoria no entenen que només existeix l’obligació d’entregar el codi al client, cosa especialment poc retllevant quan es tracta de desenvolupaments a mida, ja que normalment aquests no publiquen el codi font a internet.

La figura del programador serà important i ho serà la figura del programador de programari lliure: tant el que el fabrica com el que el personalitza, però, fixau-vos-hi, es tracta d’un perfil de programador molt especial: un programador de programari lliure que coneix els processos del programari liure, que coneix com funcionen els sistemes de control de versions i sap el que és un branch, un tag, un diff, un patch a més de no tenir problemes en treballar en entorns altament basats en text i manejar apadaçaments de codi i compilar naturalment.

Una persona que està acosutmada a treballar amb GNU/Linux  i al menys saps escupir cuatre coses en mitja dotzena de llenguatges de programació com perl, python, ruby, php, java, c/c++, i potser alguns funcionals esotèrics com Lisp, Haskell o  privatius i les seves versions lliures com C#, Visual Basic i algun pascaloide.

També coneix força bé Apache i els mòduls relacionats amb la programació web dels llenguatges que millor coneix com Tomcat si és “javero”, django si sap python, rails si sap ruby i alguna cosa més -n’hi ha molts- si sap PHP.

Aquest tipus de personatge suposa un ordre del 10% del total de programadors en actiu i en alguns casos, fins i tot no es dedica a programar, sino que es dedica a tasques de caire comercial o al management ja que calen varis anys per tenir els coneixements necessaris i després d’uns anys es tendeix a minusvalorar el treball de programació en favor d’altres tasques més burocràtiques o amb una forta component de relació humana amb altres professionals, directius o clients.

En definitiva, la crisi durà una modernització del desenvolupament de programes que durà inevitablement cap a les plataformes lliures a la fi massivament i la feina de programació, que fins ara s’ha anat deixant als informàtics més joves i poc experimentats, cobrarà una gran rellevància i neixerà la figura del programador senior com a part indispensable del projecte i referent tecnològic com a clau competitiva en fornt de la competència. I lo millor de tot és que en Richard Stallman serà viu per veure-ho :-)

Posted in Libre, Software | 7 Comments »

Vida digital más restrictiva que la real

Posted by Paco Ros en 25 \25\UTC enero \25\UTC 2009

Vaya por delante que siempre he odiado los sistemas DRM en cualquier aspecto porque desvirtuan la transparencia de la red.

Los editores de contenido ya hace tiempo que han entrado como elefantes en el mundo digital, relamiéndose por generar jugosos beneficios y ahorrarse los costes de imprenta y personal (sí, muchos aún piensan que el contenido se genera solo) y a veces nos muestran aberraciones como la que voy a relatar.

Me encanta el mundo del motor y los domingos aprovecho para leer alguna publicación del mundillo. El mecanismo utilizado consiste en ir al kiosco y hacerme con un ejemplar de Coche Actual o Auto Bild que son revistas más barats que Autopista, Automóvil, Car and Driver u otras en las que en tiempos pasados ha gastado barbaridades de dinero y de las que aún conservo montañas de ejemplares viejos.

Hoy he comprado Coche Actual porque el tema de portada de AutoBild no me interesaba demasiado y me he econtrado con una oferta de lanzamiento de la edición digital de la revista a través de http://www.motorpressdigital.com

El sistema, que incialmente parece una buena idea, se apoya en una segunda empresa llamada Zinio Digital que gestiona el proceso de compra – bien – a través del típico carrito de la compra y que conserva una librería de revistas adquiridas que se pueden descargar en cualquier momento – excelente –

Como están de promoción, se pueden descargar algunos ejemplares gratuitamente, así que me he registrado y he adquirido por 0 euros un ejemplar de Coche Actual y otro de Autorpista. El sistema ha sido muy satisfactorio hasta que ha llegado el momento de visualizar la “compra” donde son todo problemas:

Es obligatorio instalar un programa llamado Zinio Reader que sólo está dsiponible para Windows y Mac. Como estoy con el portátil, he instalado la versión para Mac, resultando en un programa es realmente nefasto: amén de que es necesario aceptar varias veces las condiciones (ridículas, abusivas y en inglés) de la licencia abre las publicaciones adquiridas a modo de lector de PDF, pero donde la visualización del ejemplar se hace a página completa y con una función de Zoom que no permite desplazarse dentro del documento. Se puede ver una captura de pantalla para contemplar la similitud del programa con un lector de documentos PDF.

Obviamente, cualquier lector de PDFs sería mucho más útil, así que me he desplazado al directorio donde se guardan las publicaciones adquiridas con la intención de abrir mi “adquisición” con un programa para leer PDFs o cualquier otro formato de fichero para la presentación de documentos maquetados. Como era de esperar, todas mis adquisiciones son ficheros con la extensión zno que únicamente pueden ser abiertos por el programa Zinio Viewer. Fisgando un poco, he podido comprobar que en esencia se trata de un PDF cifrado digitalmente con información adicional sobre el identificador de cliente y el identificador de editor.

Resumiendo, mi situación actual es tal que adquiero mi ejemplar (podría ser suscriptor y lo tendría en el buzón de casa) y me lo llevo. Puedo leerlo cuando yo quiera y donde yo quiera. También puede leerlo mi mujer y puedo prestárselo a un amigo si le interesa algún vehículo de los que aparecen en la publicación.

Cuando he leido la revista, puedo tirarla, guardarla en un armario y leer una prueba del Renault Clio Williams de hace más de 10 años. El ejemplar de hace más de 10 años también puedo prestárselo a un amigo y éste puede leerlo con sus propios ojos, con gafas, en el WC o en la terraza de su casa.

El cambio tecnológico que me proponen al principio me resultó muy atractivo porque me encantaría poder prescindir del espacio que ocupa el papel amén del “pecado ecológico” que cometemos cada vez que compramos algo de papel. Adicionalmente, podría seleccionar las pruebas por modelos y guardarlas separadas entre otra información que se peude encontrar en la web o enviársela por correo a un amigo que baja a trabajar en Tren para que la lea en su iPhone por la mañana.

El resultado ha sido un fichero único, inmanejable, ilegible, intocable y para que necesito un software cerrado, privativo y con unas condiciones de uso altamente restrictivas para leerlo. Un software y un formato de fichero que no cumplen ningún estándar y que hoy funcionan en sistemas propietarios y privativos de las empresas Microsoft y Apple sin ninguna garantía de que vayan a hacerlo en el futuro, amén de que mi adquisición digital debería estar cubierta por una garantía de 2 años según marca la LOCM vigente en España.

Por una parte admiro a los directivos de la empresa Zinio por engañar a tantos editores con los símbolos del dólar en los ojos que están condenados a la desaparición por no comprender cómo funciona la distribución digital de contenidos y por otra parte me entran unas ganas tontísimas de montar una web de compra de publicaciones en PDF de toda la vida.

Ni que decir tiene que NO pienso gastar ni un céntimo en este sistema.

Posted in Internet, Privativo, Software | Leave a Comment »

Usa algú el teu programa?

Posted by Paco Ros en 24 \24\UTC enero \24\UTC 2009

Actualment estic treballant en un parell de projectes alhora on es dóna la circumstància de que hi ha una forta interactivitat entre els desenvolupadors, els clients, els caps i la direcció.

Cada un d’aquests components té una determinada tendència quant a la seva manera de pensar es refereix i tenir-los a tots contents no és una tasca fàcil.

He estat cercant recursos a la web sobre management i, per a la meva decepció hi ha poca cosa nova a l’horitzó i la majoria de tècniques cauen en els mateixos tòpics i errors ja que tendeixen a fer simil·lituds entre el món del desenvolupament de programes informàtics i altres disciplines fortament arrelades a les que es fa una descomposició de les tasques que han de fer les persones molt minuciosa, mentre que la clau està en una correcta definició de l’objectiu i en la relació entre totes les parts implicades.

L’objectiu

Tota la descomposició en tasques i la seva assignació a persones es converteix en una disciplina pròpia que pot arribar a fer perdre l’objectiu final que tot desenvolupament hauria de ternir:

Crear programes útils que es facin servir quant més millor

Aquesta afirmació, que pareix una obvietat, no es compleix en la majoria de casos i moltes vegades no ho fa perquè l’objectiu de l’equip ha estat desvirtuat i ha canviat per varis motius:

  • Interès de la direcció en generar ingressos: provoca que l’objectiu sigui lliurar el producte i desaparèixer, amb la qual cosa es creen productes que no són realment útils o no fan el que han de fer, els usuaris finals no el fan servir i els programadors no estan disponibles perquè ja s’ha pagat la factura i han desaparegut.
  • Els desenvolupadors fan més projectes dels que en tenen capacitat: provoca la introducció de massa bugs per manca de temps efectiu per desenvolupar-los. El client no confia en el programa perquè dóna massa errors o fa les coses malament i s’estima més fer servir altres eines per treballar com les suites ofimàtiques o paper i bolígraf. Tampoc hi ha temps disponible per a corregir els bugs amb efectivitat.
  • Els usuaris volen fer la feina dels analistes funcionals: provoca canvis constants als requeriments i una inexistent descripció de les funcions reals dels usuaris o, fins i tot, la inexistència d’usuaris capacitats per a dur a terme les tasques definides als requeriments. Finalment, el programa no el fa servir cap usuari perquè allò que fa no s’ha fet mai i no és responsabilitat de ningú.
  • Manca de capacitat tècnica dels caps de projecte: provoca que s’obligui als desenvolupadors a efectuar tasques tècniques inverosímils, a fer mal ús de llenguatges, bases de dades o llibreries que acaben provocant implementacions imprecisses respecte dels requeriments reals. El problema acaba arribant als usuaris que veuen com el programa no fa el que necessiten i no l’empren.
  • Manca d’objectius únics que es dóna quan l’objectiu dels programadors és acabar un mòdul, el dels caps de projecte, lliurar un programa, els de la direcció cobrar-lo el més aviat possible i el del client que faci una cosa fantàstica que ha vist a una altra banda: provoca que l’usuari final acabi treballant amb un programa que no s’assembla per res a la seva realitat del dia a dia.

Quina és la clau que permet desenvolupar programes realment útils? Un compromís absolut de tot el col·lectiu implicat en treballar sobre allò que és coneix, que ho faci bé i que els usuaris finals disfrutin de fer-los servir fins al punt de que el programa es converteixi en una part imprescindible del seu dia a dia.

Per aconseguir-ho, més enllà de l’aplicació de totes les tècniques de management que podem trobar (metodologies clàssiques, àgils, pròpies, diagrames varis estàndards o casolans, gestió de riscs…) és conèixer bé a les persones i saber entendre quines són les prioritats de cada una provocant una doble, triple, quàdruple o quíntuple moral per tal de tenir-los a tots contents.

Els programadors

Per a començar, cal conèixer molt bé als programadors i saber quines són les seves inquietuds i objectius a la vida. En podem trobar de moltes castes i tots són profitosos sempre. En general hi ha persones apassionades per la informàtica o el desenvolupament i persones sense cap interès que van a treballar per a cobrar a final de mes i complir professionalment amb la seva feina.

Dels primers podem esperar innovació i dels segons un gran compromís quant a plaços es refereix. La millor manera de motivar-los és amb nous reptes i amb diners respectivament.

Els clients

També cal conèixer molt bé el client. El pitjor que pot passar a un projecte és haver de recollir els requeriments d’una persona que, relament, no treballa en allò que defineix. Sempre s’ha de procurar parlar amb l’usuari real, encara que sigui per corroborar el que ha contat una tercera persona.

Jo estic molt acostumat a iniciar els projectes en dues fasses: un plec tècnic on s’indica l’abast del programa a desenvolupar (què es farà i què no) i després un análisi on es detallarà exactament com s’ha de comportar cada funcionalitat pressupostada i quàntes dades s’hauran de moure i emmagatzemar.

Sovint a la fasse d’análisi s’acaben demanant coses diferents a les pressupostades. És un problema de la natura del desenvolupament de programes i afecta en primer lloc al plaç d’entrega i en segon lloc al cost del projecte. La millor solució al problema passa per utilitzar un cicle de vida iteratiu, és a dir, desenvolupar allò que s’ha acordat i un cop que estigui acabat i s’estigui fent servir pressupostar i desenvolupar les millores desitjades. És important detectar aquest problema a temps perquè pot suposar dupliar o triplicar el volum del projecte tant en feina com en cost.

Addicionalment, ajuda als clients que demanen més del que necessiten a ajustar-se a les seves necessitats reals propiciant un prorama més eficaç i menys costós.

Les iteracions es poden basar en la progressiva automatització de les funcionalitats. Sovint el client vol pitjar un botó i que tot es faci tot sol mentre que no costa gaire haver d’apretar-ne un parell en una primera fase i millorar l’automatització en fases posteriors, tanmateix els processos massa automatitzats acostumen a escapar a l’enteniment dels usuaris que no conèixen els efectes secundaris d’aquells processos automàtics tan llargs i complexos que potser afecten a tot el sistema.

La direcció

Per una altra banda hi ha la direcció que és alhora la més complicada de convèncer i la que més saviesa ens pot aportar. Passa que la direcció sol tenir bons coneixements en termes de recursos i doblers, quant el desenvolupament de programes és, en una gran part, un problema de la relació entre persones.

Cal explicar-los que la capacitat d’un programador decau després de les 6-7 hores de treball intensiu i que estan tractant amb un recurs molt escàs amb una taxa d’atur pròxima al 0% així que és quasi impossible augmentar la producció de programes amb més dedicació i que tampoc es millora injectant recursos (programadors) a la meitat del projecte(*)

També és molt important la seva col·laboració en cas de conflictes amb els clients, ja que sovint la solució passarà per una ampliació del projecte al contracte i, de no fer-ho, l’empresa pot estar perdent una oportunitat de negoci.

(*) Si que es pot fer si el projecte usa tecnologies molt conegudes i està prou modularitzat.

Altres

Per últim hi ha un conjunt de terceres parts afectades que han de desenvolupar una part del projecte. La meva experiència amb les terceres parts és molt negativa, així que procur evitar que el bon funcionament del programa depengui de la feina d’un tercer, tanmateix les relacions amb tercers solen estar regulades contractualment, així que el millor és acabar la feina fent que el programa sigui útil i usable i donar totes les facilitats possibles a la tercera part de manera que pugui acabar la seva feina sense afectar a la funcionalitat principal del programa. Si desenvolupau amb un model de tres capes, evitau en tot el possible que la tercera part hagi d’atacar la base de dades i oferiu sempre funcionalitat de la capa de negoci per que puguin fer la seva feina.

Factors d’èxit

En general, hi ha alguns factors que ajudaran a que el projecte sigui un èxit (això és, que el facin servir i sigui útil):

  • Tenir un equip de desenvolupadors tècnicament competents i ben compenetrats.
  • Explicar un cop i un altre al client que podrà treballar, que serem allà quan ens necessiti i que el que es veu a les pel·lícules és ciència ficció, però que es pot parlar en una fase posterior.
  • Explicar a la direcció que cal una planificació prèvia de les persones i que és molt negatiu alterar-la. Addicionalment ha de saber que en l’actualitat el personal tècnic competent és mal de trobar.
  • Evitar les implicacions excessives de terceres parts i procurar que la seva feina no pugui afectar al funcionament principal del programa.
  • Posar a disposició dels usuaris finals les parts acabades del programa el més aviat possible i dedicar immediatament un apartat a la correcció de bugs i millores senzilles que milloraran la relació amb el client final.

Conclusió

Sempre serà preferible un programa útil que no fa tot el desitjable que un que ho fa tot però no és útil o no ho fa bé. Cap dels dos és un èxit, però el primer ho pot ser a una segona o tercera fasse, mentre que el segon no ho serà mai.

Posted in Software | Etiquetado: , , | Leave a Comment »

Programas Gnome bonitos en KDE 4.1

Posted by Paco Ros en 13 \13\UTC septiembre \13\UTC 2008

Hace una semana que instalé la última versión de KDE (4.1.1) en Ubuntu.

Las últimas veces que he instalado una Ubuntu, lo he hecho con la versión estándar oficial del momento (o sea, ni kubuntu, ni xubuntu… “Ubuntu” a pelo) principalmente porque el KDE 3 me aburría ya.

Hay que reconocer que la versión 4.0 de KDE no es casi ni usable. Es una “proof of concept” pero, como es software libre, se ponde a disposición de todos para que la vayamos probando.

La nueva versión 4.1 sí que es usable. Una vez que uno se acostumbra a que el “Desktop” no es el “Desktop” sino que es una “Folder View” del desktop, no se explica cómo puede haber vivido tanto tiempo sin eso.

El único inconveniente que tenía es que hay algunos programas en GTK que se ven fatal cuando inicias la sesión en KDE. Una pena porque algunos de mis favoritos, como por ejemplo mi recién descubierto Gwibber se han convertido en un “must have” y no puedo trabajar sin ellos.

Me dí cuenta, por casualidad de que si abría el panel de control de Gnome en KDE, todos estos programas se veían perfectamente así que, después de unos ps -ef redireccionados a fichero y unos diffs me dí cuenta de que había un daemon que si se ejecuta hace que los programas GTK no tengan ese look and feel tan feo al inicio.

Con lo cual, los pasos fáciles para tener bonitos los programas GTK son:
1.- Instalar gnome-control-center si no lo tenemos ya (sudo aptitude install gnome-control-center)
2.- Instalar el paquete de controles GTK Oxygen
3.- Ejecutar gnome-control-center (en consola o con “Alt + F2”) y personalizar “Apariencia” seleccionando el estilo “Oxygen-kde4”
4.- Abrir “System Settings” en KDE y en la pestaña “Advanced” en “Autostart” añadir “/usr/lib/gnome-settings-daemon/gnome-settings-daemon” (sin las comillas, claro)

De esta manera se ejecuta el daemon que aplica los estilos en Gnome al inicio de la sesión y, como el tema GTK seleccionado es Oxygen todo se verá la mar de bonito y lustroso :-)

PD: Como veis, sigo vivo (ocupado, pero vivo, que es lo que cuenta X’-D)

Posted in Libre, Linux, Software | 2 Comments »

Dell Vostro 400, Ubuntu y RAID 1

Posted by Paco Ros en 8 \08\UTC junio \08\UTC 2008

Hace unos meses que compré un Dell Vostro 400. El modelo es un Quad Core 6600 (a 2.4GHz) y viene con dos discos de 500GB SATA.

Pedí a Dell si me lo podían configurar con RAID 1 y me dijeron que no, así que, como de todos modos le iba a instalar Ubuntu, lo dejé correr y me lo sirvieron con 2 discos NTFS y Windows Vista.

Hasta hoy no he podido ponerme manos a la obra. Tenía ganas de configurar el RAID 1 (mirror) porque tengo alguna información delicada y no soy mu amigo de quemar plástico haciendo copias de seguridad.

El chipset ICH9 de Intel que lleva este PC cuenta con una controladora RAID de las llamadas “fakeraid“, es decir, muestran al sistema un RAID, pero delegan su funcionamiento real al sistema operativo.

En Ubuntu (y Debian) es relaivamente fácil y se gestiona casi solo usando dmraid. El problema es que algunas herramientas y el instalador no están preparados para trabajar con un RAID y algunos pasos no funcionan bien, así que hay que darles una ayuda.

Empecemos: Lo primero que hay que hacer es configurar los discos como RAID. Se pulsa F2 en el arranque y se selecciona RAID en el apartado de discos. Después, al reiniciar, aparece un menú adicional, al que se debe entrar con Ctrl + I y ahí hay que crear el volumen RAID 1.

Cuando metemos el CD y arrancamos en modo “Live CD” (no instalar directamente) tenemos que abrir una consola, editar /etc/apt/sources.list para añadir el repositorio univerese e instalar dmraid (sudo aptitude install dmraid).

A partir de ese momento, ya disponemos de los módulos del kernel necesarios instalados y funcionando. Podemos comprobarlo con dmraid -r y con dmraid -ay (que de paso activa los volúmenes). Finalmente, iremos a /dev/mapper y con un ls veremos los volúmenes, que tendrán un nombre distinto en función de la controladora que tengamos.

Es el momento de crear y formatear todas las particiones no swap que necesitemos. Yo lo hago sólo con una, de manera que, usando fdisk /dev/mapper/<nombre_del_raid> crearemos una particion primaria de tipo Linux y dejé unos 150 (aprox. 1.5GB) bloques libres que, más adelante, usaremos como swap.

Grabamos la tabla de particiones y en unos segundos, veremos como en /dev/mapper tenemos un dispositivo de bloques más que se llama como el raid, pero con un “1” al final. Es la partición que acabamos de crear.

Creamos el sistema de ficheros. Yo usé ext3 así que mkfs.ext3 /dev/mapper/<nombre_del_raid>1

En este momento podemos hacer click en el icono de instalar Ubuntu, pero os adelanto que va a dar error cuando, al final, intente instalar GRUB. Lo solucionaremos con una instalación manual.

Otro punto importante es no seleccionar “formatear” en el particionado de discos. Simplemente seleccionariemos la partición ext3 y le diremos que el punto de montaje es “/”, pero no seleccionaremos “formatear”. El instalador se quejará de que no tenemos swap y nos avisarás de que va a borrar toda la partición. Está bien, podemos seguir.

Cuando acaba la instalación e intenta instalar grub da error. Mejor, porque aún no hemos acabado. Vamos a hacer un chroot a /target (que es donde el instalador monta el sistema de ficheros de destino) y vamos a instalar dmraid en el chroot igual que hicimos al principio, pero antes hay que enlazar en /target proc sysfs y dev así:

# sudo mount --bind /dev /target/dev
# sudo mount --bind /cdrom /target/cdrom
# sudo mount -t proc proc /target/proc
# sudo mount -t sysfs sysfs /target/sys

De esta manera podremos acceder a los dispositivos correctamente. Ahora sí, hacemos el chroot:

# sudo chroot /target

Una vez dentro del chroot, editamos /etc/apt/sources.list y añadimos el repositorio universe si fuera necesario e instalamos (aptitude install dmraid) dmraid.

Ahora hay que crear el directorio /boot/grub y copiar ahí desde /usr/lib/grub/i386-pc/ stage1, stage2 y e2fs_stage1_5 (usar otro si no habéis usado ext3).

Por último, nos queda instalar grub, que había fallado en el instalador:
# grub
(grub) device (hd0) /dev/mapper/<nombre_del_raid>
(grub) root (hd0,0)
(grub) setup (hd0)
(grb) quit

Finalmente ejecutamos update-grub, que nos creará el /boot/grub/menu.lst final. Este menu.lst tenemos que editarlo y asrgurarnos que allí donde ponga root=XXXXXX poga root=/dev/mapper/<nombre_del_raid>1

Listo, sudo reboot y a funcionar.

Posted in Libre, Linux, Software | 5 Comments »