May 16

Este Ubuntu …

 

Hace unos días vi que había salido la nueva versión de ubuntu 9.04, así que en un rato de aburrimiento decidí actualizar mi viejo unbuntu 8.04 que tenía instalado y hacía tiempo que no tocaba.

La primera actualización me bajó el 8.10 y las pocas pruebas que hice, una pequeña maravilla. Por fin me funcionó el driver de mi tarjeta gráfica ATI sin problemas y pude poner el escritorio Compiz sin problemas. Vi que había unos problemas al montar el disco usb y los pendrives, pero fue tan simple como desinstalar el ntfs-3g y volver a ponerlo. No me lo podía creer, ya podía montar mis usb sin problemas y con el escritorio chulo.

Pero digo "podía", en pasado. Se me ocurrió volver a actualizar, esta vez a la 9.04. Y volvieron a empezar mis problemas, no con el el escritorio ni con los pendrives, pero sí otros problemas. En el primer arranque después de la actualización, no me detectó la tarjeta de red (o mejor dicho, sí la detecto, pero no funcionaba internet). Probando, probando, al final, entrando como root en una consola modo texto a prueba de fallos, funcionaba bien (no tuve que tocar nada) y al rearrancar, ya en modo normal, funcionó bien. Hasta ahora no me ha vuelto a fallar, así que se quedará en uno de esos "misterios de la informática sin resolver".

Dejé el ordenador encendido, con ubuntu, sin dejar nada arrancado, y me fui a dar una vuelta a la calle. Cuando volvi, el ordneador estaba totalmente colgado. La pantalla negra, los leds del teclado de mayúsculas, teclado numérico, etc, tardaban cuatro o cinco segundos en responder y el disco duro dando tralla a toda leche. Apagado "duro" y no lo volvió a hacer hasta hoy, que ni siquiera ha arrancado. Encendí el ordenador y se quedó en el mismo estado. En un segundo arranque lo ha hecho bien.

Y encima, ubuntu tiene una cosa que es para hacer un indexado del contenido del disco duro, de forma que luego se pueda buscar más rápidamente cualquier cosa con una especie de buscador. Pues bien, esa cosa falla. Cuando llevo tres o cuatro minutos en sesión, empiezan a salir pop-ups de que el índice está corrupto y cerrando el pop-up, sólo consigo que salga otro. Le he dado miles de veces a reindexar desde cero, a pausar, a cerrar, pero sigue en ello. Al final símplemente he quitado esa aplicación del arranque para que no de más por el …

Y otra más. Nunca he podido instalar la barra de google en firefox, siempre me ha dado un error extraño. Se me ha ocurrido arrancar firefox como root.. y así sí la instala, pero sólo funciona si arrancas firefox como root. El siguiente arranque con firefox como usuario normal, no aparece ni siquiera la barra de marcadores ni la página de inicio (la barra de marcadores sí sale, pero totalmente vacía).

¿De verdad tengo un ordenador tan raro o lo habitual con ubuntu es pelearse y tocar cosas hasta que lo dejas a tu gusto? De verdad, de verdad, que quiero darle una oportunidad a linux y usarlo en vez de windows, pero me lo está poniendo muy difícil.

Jul 03

Un par de tablas interesantes

Ultimamente he encontrado un par de tablas interesantes por internet.

Por un lado, gracias a un compañero de trabajo, descubro en indiangeek una tabla en la que están los diversos niveles de conocimiento/experiencia a los que puede llegar un programador. Por ejemplo, en el tema de algoritmos va desde el que no sabe hacer la media de varios números guardados en un array hasta el que sable "la leche" de algorítmica y en el tema de control de versiones, desde el que hace sus versiones a base de copiar el directorio con varias fechas hasta el que usa sistemas de control de versiones distribuidos, como Git. Aquí tienes la matriz de competencias de un programador, un poco grande y en inglés.

Es curioso, al menos en mi caso, ver como en los temas más relacionados con mi trabajo sí llego hasta la experiencia/conocimientos de la tercera o cuarta columna, mientras que en otros me quedo en la primera o apenas me introduzco en la segunda. En fin, supongo que no se puede saber en profundidad de todo.

Por otro lado, la segunda tabla interesante que descubro vía LuAuF es una tabla en la que se cuentan los directorios típicos de linux /bin, /opt, /etc para qué sirven, qué es lo que se espera encontrar en ellos. Aquí debajo tienes dicha tabla

directorio linux

Tenía mi versión algo más detallada, que en su día traduje del inglés,  en Directorios de Unix, a la que he añadido esta imagen.

Jun 13

more vs. less

Desde mis primeros tiempos en unix conozco el comando more. Permite sacar un listado largo por pantalla e ir paginando, de forma que vamos pulsando espacio o <intro> cada vez que queremos avanzar

$ more fichero.txt

$ cat fichero.txt | more

Sin embargo, acabo de descubrir porque no conocía, el comando less. Como dice el man de este comando, "less – opuesto de more". Básicamente hace lo mismo que more, pero hace más y mejor. Por un lado, no lee de primeras todo el fichero, por lo que empieza a mostrarlo mucho antes que more. Por otra lado, también permite "navegar" hacia atrás. Admite muchas de las teclas de desplazamiento de vi.

<intro> mueve una línea adelante
n<intro> mueve n líneas adelante
y mueve una línea atrás
ny mueve n líneas atrás
d mueve una página adelante
b mueve una página atrás
g va al principio del fichero
G va al final del fichero
y un largo etc….

Creo que me voy a cambiar de comando.

 

Jun 06

Ubuntu + firefox + java

 

Bueno, por fin he conseguido el firefox con los Applets de java. Ni instalando, ni reinstalando, ni con apt-get ni leches similares. O sea, nada de pinchar aquí y allí con el ratón y que funcione. Lo conseguí con línea de comandos y algo de investigación.

Con apt-get, reinstalando e instalando no conseguí nada. Es cierto que lo que no hice fue desinstalar java y firefox a la vez y luego reinstalarlo en orden todo desde cero, pero no me parece de recibo que para instalar un plugin haya que desinstalar ambas aplicaciones y volver a instalarlas.

Buscando por internet encontré que la forma es poner un link simbólico dentro de ~/.mozilla/plugins a la librería .so que hace de plugin. Por supuesto, no sé cual es el motivo, pero en mi caso la librería .so de plugin no estaba donde indicaba la página, en /usr/java/jre1.5.0_01/plugin/i386/ns7/libjavaplugin_oji.so, (desde luego, a mi java me lo ha puesto en /etc/alternatives y no en /usr/java) sino en un sitio tan extraño como /usr/lib/xulrunner-addons/plugins/libjavaplugin.so, ¡¡ vaya !! que lo encontré de casualidad.

Así que simplemente con estos comandos

cd ~/.mozilla/plugins
ln -s /usr/lib/xulrunner-addons/plugins/libjavaplugin.so libjavaplugin.so

conseguí que funcionara.

Revisando, veo que si lo hubiera hecho al directorio de plugins donde está instalado firefox /usr/lib/firefox-2/plugins, posiblemente hubiera servido para todos los usuarios, pero bueno, soy el único usuario de mi ordenador y lo de "sudo" me da un poco de pereza (fíjate si es trabajoso que hasta hay que introducir la password, que por supuesto, es segura y tiene 512 caracteres con símbolos especiales, cifras y letras mayúsculas y minúsculas entremezcladas y sin sentido alguno).

Por cierto, ya que estuve instalando y desinstalando por culpa del plugin de java este, me quité la versión firefox-3 beta y me he puesto la 2. Pero por supuesto, tuve problemas, tontos esta vez, pero los tuve. Resulta que al instalar firefox-2, no me funciona el icono de firefox que me pone en el menú "aplicaciones"->"internet". ¿Motivo? Porque el ejecutable se llama firefox-2 y el menú intenta arrancar firefox a secas, sin numerito detrás. Nada que no se pueda arreglar.

¿Seré capaz ahora de instalar la barra de google?

 

Jun 02

Lo siento Ubuntu, vuelvo a Windows.

 

Sintiéndolo mucho en el alma, he vuelto a dejar Ubuntu para pasarme a Windows.

Llevo un mes largo con Ubuntu, en una segunda intentona seria de abandonar definitivamente Windows, pero los problemas siguen siendo mayores que las ventajas.

En primer lugar, sigo siendo incapaz de montar los pendrive. Sí, seguro que se puede y sí, seguro que no le he dedicado suficiente tiempo, pero en Windows también puedo hacerlo y le dedico cero de tiempo.

Estos días atrás llegó la gota que colmó el vaso. Para un tutorial de Applet me hice un Applet tonto y una página tonta de html. Lo visualizo en mi firefox versión 3 beta y se visualiza correctamente … hasta que le das al botón de refrescar. Entonces el Applet sale gris o directamente da error.

Me digo, esto seguro que es por la versión beta de firefox. Voy a bajarme la 2 que es estable y funciona bien. Exactamente, con la versión 2 no está java instalado. Me pongo a instalar el plugin y que no se puede instalar automáticamente, que lo haga de forma manual. La  forma manual consiste básicamente en reinstalar el jre de java, así que lo hago. Nada, el firefox sigue sin applets.

Después de una horita de pelearme con el tema sin resultados, me paso a windows y en cinco minutos reescribo el applet desde cero y lo tengo funcionando bien. Así que me quedo en Windows.

May 18

Ubuntu y los pen-drives

 

Bueno, pues tocó el momento de pelearme para que ubuntu me permita montar los pen-drive sobre la marcha.

Según se instaló, no lo hace. Cuando pongo un pen-drive, me da problema de permisos. Puse rápidamente unos chmod y chown del ejecutable ntfs-3g que encontré en el enlace, pero tampoco me funcionó, así que lo dejé temporalmente.

El otro día decidí ponerme a ello. Como no tenía a mano mi pen-drive de 2Gigas, cogí uno antiguo del ordenador, de 512Megas. ¡¡ Sorpresa !!. Lo puse y se instaló correctamente, con permisos de escritura y todo. ¿Quizás alguna actualización automática había arreglado el problema?. Iluso de mí, ilusionado, me fuí por mi pen-drive de 2Gigas y efectivamente, no se montó bien. Ya empezamos con las tonterías. Si uno sí y otro no, va a ser que no es problema del driver ni de permisos, sino otra cosa más "profunda".

Me voy a la página mencionada en el enlace anterior y me la leo con calma. Dice que necesito ntfs-3g versión 1.2506 o superior. Miro mi gestor de paquetes synaptic y la versión es 1.22xx. Pues nada, a actualizar. Voy a la página de instalación de ntfs-3g y sigo las instrucciones allí. Todo correcto y sin problemas, salvo una pequeña excepción, el pen-drive sigue sin montarse.

Eso sí, si arranco el ordenador con el pen-drive en su sitio, entonces se monta bien en el arranque y a partir de ahí puedo montarlo y demontarlo todas las veces que quiera, hasta que apago.

Bueno, volveré a dejarlo para más adelante.

May 11

Ubuntu Hardy Heron: Mi gozo en un pozo

 

Bueno, pues parece que canté victoria demasiado pronto. Aunque conseguí hacer funcionar bien mi Ubuntu Hardy Heron con la tarjeta gráfica ATI y Compiz, sólo fue un espejismo. No sé muy bien si se debe a que se fue la luz y se cayó de golpe el linux, o si símplemente al apagar y reiniciar. El caso es que al arrancar se queda la pantalla negra. Si arranco en recuperación de errores y reconfiguro el servidor de X, arranca, pero no puedo entrar en mi usuario de administración.

Investigando, descubro que el usuario normal sí entra, pero porque no tiene permisos para arrancar no sé qué (lo veo en el fichero de .xsesssion-errors, mientras que el usuario de administración sí los tiene, arranca lo que sea y se le cae la sesión, por lo que vuelta a carátula.

Si desinstalo compiz y desinstalo el driver específico de la ATI, entonces todo va de maravilla. Si instalo el driver de la ATI, linux símplemente no arranca, se queda la pantalla negra. Si pongo compiz, el administrador se sale o se le queda la pantalla blanca. En fin, no tengo ganas de seguir peleando con ello, al menos de momento. Fuera el driver de ATI y fuera Compiz. Tengo un escritorio normalito, pero al menos puedo trabajar.

Por cierto, Ubuntu Hardy Heron viene con Firefox 3.0 Beta. Pues ya le estoy viendo pegas, supongo que son de Firefox. El caso es que según escribo este post, cada vez que aprieto <INTRO> para cambiar de párrafo, se me mueve la barra de scroll vertical del navegador, por lo que mi caja de texto cada vez está más abajo o más arriba. Tras cuatro o cinco <INTROs>, tengo que tocar la barra de scroll para situar mi caja de texto en un sitio visible, ya que tiene a irse fuera de la pantalla.

No me pasa sólo con wordpress, sino también con otros editores de foros y demás. Así que ya me veo desinstalando este Firefox para poner el antiguo.

Otra pega más de este Firefox Beta es que de momento no admite la barra de google (o la barra de google no admite este Firefox, me da lo mismo). El caso es que no puedo ponerla y echo de menos algunas de sus funcionalidades, como ver el pagerank de la página que estoy visitando o ir directamente a las palabras que he buscado en google.  O el tooltip de traducción a español que sale cuando pones el cursor sobre una palabra inglesa.

Y todo esto me hace pensar un pequeño detalle. Hay mucha gente, entre los que me incluyo, (e incluyo por ejemplo al Dr Max Glaser), que dicen que Linux es mucho mejor que Windows y queremos pasarnos definitivamente a Linux y olvidarnos de Windows. Pero muchos no lo acabamos de hacer porque Linux sigue teniendo sus faltantes, sus problemas y sigue sin ser todo lo fácil que debiera. Ojo, no digo que si sabes un huevo, tienes mucha paciencia y te dedicas a ello no puedas afinarlo, pero de momento no es una cosa fácil al alcance de cualquiera.

¿Por qué queremos entonces pasarnos a linux? ¿Símplemente por odio a Microsoft? ¿Símplemente porque hemos oido que linux es mejor?. La experiencia de los usuarios normales no da la impresión de que linux sea mejor, desde luego. He tenido varias distribuciones de linux desde hace muchos años, más de diez: Mandrake, Red Hat, Suse, Ubuntu, y NUNCA, NUNCA he tenido un linux que no se me quedara colgado de vez en cuando o me diera problemas o en el que tuviera todo mi hardware bien instalado o en condiciones de uso (mi nuevo ubuntu Hardy Heron sigue sin dejarme montar cómodamente, ni de cualquier otra manera, los pen drive, problemas de permisos con los que tendré nuevamente que pelearme). Según mi experiencia, la realidad y el motivo por el que no nos pasamos totalmente a linux es

  • Queremos linux porque nos gusta el mundo del software libre y le tenemos algo de tirria a Microsoft. Es decir, ninguna razón práctica y real de peso, salvo que seas un extremista.
  • Linux da muchísimos más problemas que Windows y salvo que seas una persona con cierta experiencia en administración linux y tengas paciencia para afinarlo, no lo vas a tener 100%, salvo que suene la flauta y te hayas comprado un ordenador 100% compatible linux.

Posiblemente, linux sí sea mucho mejor y más fiable como servidor para una red (servidor web, de disco o lo que sea), pero es algo que un usuario normal como yo no tiene en su casa. No veo ningún motivo real y práctico para tener ubuntu instalado… y sin embargo ¡¡lo tengo!!. No quiero quitarlo.

En fin, supongo que es cuestión de tiempo. Supongo que Ubuntu ira bien con las tarjetas ATI cuando salga la distribución Ubuntu Super ATI y mi tarjeta esté obsoleta y justo esa distribución no la soporte.

May 10

Actualización a Ubuntu 8.04 Hardy Heron

 

Ayer decidí actualizar mi versión de Ubuntu Gutsy Gibbon por la nueva Hardy Heron. Como siempre, una odisea. Debo tener un ordenador la mar de raro porque no hay forma de que funcione todo bien a la primera.

Hago la actualización lanzando el comando

sudo update-manager -c

me pide la password de root y me saca la lista de actualizaciones indicándome arriba que hay una nueva versión disponible. Le digo actualizar, espero unas cuantas horas (tardó un montón en bajarse todo) y actualizo. Por supuesto, el sistema se rebota.

La primera pega. Mi password de usuario tiene caracteres especiales y no consigo entrar. El teclado está cambiado y no se escriben los caracteres que yo quiero. Así que a probar hasta que doy con la clave y consigo entrar.

Segunda pega, pantalla blanca y no sale el escritorio. Está ahí, porque veo el cursor cambiar de forma según lo paseo por encima y cuando "pincho a ojo" sobre donde supuestamente están las cosas, veo que el sistema parece que responde. A investigar qué pasa y sobre todo, cómo arreglarlo.

Lo primero, supongo que es cosa de la configuración de usuario, puesto que la carátula de entrada al menos sale. Así que con "Ctrl-Alt-F2" me paso a una consola de texto, entro como administrador y creo un nuevo usuario. Con "Ctrl-Alt-F7" vuelvo al modo gráfico, entro con el nuevo usuario y funciona bien. Va quedando acotado el problema, parece que es la configuración del antiguo usuario.

Para arreglar lo del teclado en la carátula de entrada y ver de paso si se arregla la configuración del usuario antiguo, decido reconfigurar el servidor de X. comando

sudo dpkg-reconfigure xserver-xorg

Nuevamente me pide la password de administrador y luego empieza a contarme todo el rollo de configuración de idioma y teclado, para que vaya metiendo. Tras rellenarlo todo y reiniciar el servidor de X con "Ctrl-Alt-Backspace" ya parece arreglado lo del teclado. Sin embargo, el antiguo usuario sigue dando pantallazo blanco.

Al final, recordando que intenté instalar beryl en su día, me meto por los directorios .gnome2, .gconf y me cargo todo lo que no se parece al usuario recien creado y todo lo que huela a beryl. También me cargo los directorios .beryl y .berylmanagerrc. Vuelvo al modo gráfico, entro y esta vez si va bien, usuario arreglado. Sí, ya sé que es un método chapuza de ensayo y error, pero al menos salió.

Finalmente, la última "peguilla". Compruebo que por defecto Compiz está funcionando y tengo los efectos de escritorio de ventanas "blandas" y cubo que da vueltas (tras habilitarlos), pero que van lentos como ellos solos. Así que voy a "sistema"->"administracion"->"controladores de hardware" y veo que el driver específico de mi tarjeta ATI no está habilitado. Lo habilito y finalmente va todo de maravilla.

Total, una tarde de lluvia entretenido en casa.

Jan 30

Apache con Python en ubuntu

Para empezar a jugar con la mini-aplicación que comenté en el post anterior, me he dedicado a instalar en casa Apache en ubuntu, y luego el módulo de Python.

Lo de Apache sin problemas. Usé el gestor de paquetes de synaptic, busqué apache2 para marcar el servidor Apache y busqué "apache2 python", para el mod de Apache/Python. La instalación sin problemas.

Python viene instalado en ubuntu y MySQL ya lo tenía.

El módulo de Apache/python parece que se carga el solito en la configuración de Apache. El fichero /etc/apache2/apache2.conf hace un include de /etc/apache2/mods-enabled/*.load y ahí dentro está el fichero mod-python.load que se encarga de cargar el módulo.

En el fichero /etc/apache2/apache2.conf añadí al final unas líneas para indicar en qué directorios estarán mis programas python y que Apache sepa redirigir las peticiones al sitio adecuado. Según veo en la ayuda, hay dos posibles formas de hacerlo. Una consiste en indicar un directorio y un handler en python que nos hagamos a medida. La otra  opción, que yo he usado, es poner un handler por defecto. Las líneas añadidas al final del fichero apache2.conf son

<Directory /var/www/python>
        SetHandler mod_python
        PythonHandler mod_python.publisher
</Directory>

De esta forma, cualquier petición a http://localhost/python/cosa se traduce en la llamada a la función cosa() dentro del fichero index.py. También, si tenemos un fichero kk.py con una función hola(), se puede poner http://localhost/python/kk.py/hola. Si simplemente ponemos http://localhost/python/, buscará un index.py y dentro la función index().

Esto es algo que me ha llamado mucho la atención. De php, jsp o html estoy acostumbrado a llamar desde la url directamente a un fichero .php, .jsp o .html. Aquí se llama a la función de dentro del fichero.

Las funciones que ponemos en python reciben un parámetro req. Este es un objeto que contiene la información de la petición hecha por el cliente -ip del cliente, uri pedida, etc- y que a su vez se usa para devolver los resultados al cliente. Algo típico podría ser esto

def funcion(req):
   req.content_type = "text/html"
   req.write("<html><head></head><body><p>hola mundo</p></body></html>")
  

Una vez vistos los rudimentos de cómo va esto y sin tener ni pajolera idea de python, me decidí a intentar conectarme a la base de datos de mysql. Un copy-paste de código encontrado por internet me da esto

def db(req):
   try:
      import MySQLdb
      db=MySQLdb.connect(host=’localhost’,user=’el_user’, passwd=’la_passwd’,db=’la_bd’)
      cursor=db.cursor()
      sql=’Select * From tabla’
      cursor.execute(sql)
      resultado=cursor.fetchall()
      req.content_type="text/html"
      req.write(‘Datos de la tabla<br>’)
      for registro in resultado:
         #suponemos tres campos, uno numerico y dos string
         #el numerico necesita conversion a string str(…)
         req.write(str(registro[0])+’,’+registro[1]+’,’+registro[2]+'<br>’)
         req.write(”)
   except:
      return ‘error’

y listo, funcionó tras algunas pruebas y cambios. El return "error" del final es en caso de excepción. Ese texto se mostrará en el navegador tal cual.

Ahora sólo me queda empollar un poco de python.

Nov 12

Linuxeando

Al final, después de todo lo que he criticado a linux, llevo casi un mes con él. Apenas pongo Windows.

Sigo con mis problemas con linux. Lo del beryl lo he dejado por imposible, se me cuelga el firefox a veces con youtube, sigo sin poder grabar de la capturadora de televisión -aunque no he vuelto a probar en serio- y sigo sin encontrar ningún equivalente a Dreamweaver.

Sin embargo, Windows tampoco es una maravilla. Se suele liar con las letras de las unidades cuando pones consecutivamente dispositivos distintos en el mismo puerto USB, me cierra el eclipse en cuanto me descuido y de vez en cuando sale algún popup de que algún programa del sistema se ha caído.

Pero bueno, al final lo que hago normalmente es navegar por los foros, escribir en este blog y programar algo en java o en algún otro lenguaje que quiero experimentar. Para eso con linux me vale y casi mejor que en Windows.

Y todo esto me lleva a confirmarme en la idea de que estamos en la edad de piedra del software. Ni los programas que hacemos en el trabajo están libres de fallos, ni los sistemas operativos, ni la mayoría de las aplicaciones que venden/se descargan por ahí.