Nov 23

Herramientas frikis vs amigables

friki sheldom big bang theoryCuando busco herramientas para trabajar o aplicaciones para instalar, gratuitas, me he encontrado con frecuencia que hay dos herramientas con éxito, pero que difieren entre sí en un detalle, su facilidad de instalación/administración y sus posibilidades de extensión. Una de las herramientas es lo que yo llamo "para frikis", suele ser una herramienta muy potente y configurable, pero que requiere muchos conocimientos para administrarla. La otra es la herramienta "amigable", que un administrador sin profundos conocimientos informáticos puede instalar y poner en marcha sin demasiados problemas, pero que hace lo que hace y no es tan fácilmente salirse de eso. Veamos algunos ejemplos

Eclipse vs Netbeans . Ambas muy aceptadas en el mundo de desarrollo java. Eclipse es la herramienta de frikis. Puedes bajarte un eclipse "pelado" que apenas hace nada y luego liarte a instalarle plugins según el tipo de desarrollo que vayas a hacer (C++, java escritorio, java ee, plugins, etc, etc). Netbeans, por el contrario, es una herramienta más monolítica. Sí, también tiene plugins que puedes instalar/desinstalar, pero basta compara la página de descarga de eclipse y la de netbeans, para ver que eclipse requiere más conocimientos para saber qué quieres bajar. De hecho, hay más entornos de programación basados en eclipse, como el de Android o el de Spring, o el Aptana, que sobre netbeans. Suele ser normal también encontrarse que se usa eclipse en los entornos de desarrolladores profesionales, mientras que usan más netbeans los programadores que están empezando.

drupal vs joomla . Ambos para la construcción de sitios web. Drupal es la herramienta de frikis, aunque tiene una administración bastante intuitiva, es más espartana, muchos plugins desarrollados y posibilidades realmenten sorprendentes. Joomla, sin embargo, tiene una administración más vistosa (aunque a mi me resulta menos intuitiva) y tiene bastantes y más vistosos temas que drupal. De alguna forma, drupal es adecuada para administradores con conocimientos que en un momento dado requiran instalar o desarrollar plugins que hagan cosas que se salgan de lo normal en un sitio web, mientras que joomla es adecuado para obtener rápidamente un sitio web vistoso. Basta mirar el número de plugins de drupal (más de 14000) y el de joomla (más de 7000).

Geoserver vs mapserver Ambos servidores web de mapas. Mapserver es el de frikis, ejecutable nativo, mucho más eficiente sirviendo mapas, pero sin una interfaz web de administración (salvo instalando plugins) y un horror para configurar los mapas, a base de editar ficheros con sintaxis específicas. Geoserver, sin embargo, hecho en java, algo más lento sirviendo mapas, tiene una interfaz web de administración muy intuitiva y sin muchos conocimientos de geoserver, en pocos minutos se puede tener funcionando y sirviendo mapas. Mapserver es adecuado para un servidor de mapas que no vaya a tocarse mucho y que se requiera que sea eficiente, se configura una vez y listo. Geoserver más adecuado si se va a andar cambiando con frecuencia los mapas servidos o va a tener que administrarlo alguien sin muchos conocimientos.

redmine vs trac. Ambos gestores de tareas/incidencias. Redmine es el amigable, con una interfaz web de administración muy intuitiva, mientras que trac venía sin interfaz web de administración cuando lo estuve mirando, aunque ahora ya la lleva. La administración se hace por línea de comandos con un comando "trac-admin". Eso sí, al menos cuando los instalé, ninguno de los dos es fácil de instalar, aunque redmine me dio bastante menos guerra.

Git vs Mercurial. Ambos sistemas de control de versiones distribuidos. Git, diseñado por linus torvalds, cuenta aparentemente con más comandos avanzados y de bajo nivel, dándonos más posibilidades de hacer más cosas. Mercurial, sin embargo, tiene los comandos necesarios para hacer lo que se necesita en este tipo de herramientas. Sus características avanzadas están deshabilitadas por defecto. Git gusta a los frikis, Mercurial tiende a ser más la herramienta de los que necesitan un control de versiones distribuidos y no quieren pelearse con ella, sino dedicarse a desarrollar su propio proyecto. Es curiosa la comparativa en que se dice que Git es como Wesley Snipes y Mercurial como Denzel Washington. Denzel Washington es todo un actor, pero tiene una vida real normal, nada interesante. Mientras que Wesley Snipes, quizás no siendo tan buen actor, es mucho más divertido por tener una vida real más agitada. Por cierto, en el artículo dicen que Subversion sería Morgan Freeman.

Aunque una de ellas no es gratuita, por supuesto, Windows vs Linux. No hay mucho que comentar, creo que todos conocemos las virtudes y defectos de ambos sistemas operativos. Todos sabemos cual es el amigable y cual el de frikis. Y de la misma forma, Android vs iOS, que creo que tampoco es necesario comentar

Y seguramente hay más, aunque en este momento, con mi mujer al lado dándole a la ruidosa aspiradora, no se me ocurren más.

Aug 02

Instalando el servidor de Git en Windows

Jugando toda esta semana, al final he conseguido instalar un servidor de Git en Windows.

La instalación de Git es ahora fácil al haber un instalador de Windows. Eso sí, para ser usado a través de bash para Git o de Cygwin, puesto que la opción de meterlo en el PATH de Windows no está aconsejada.

El git daemon quedó totalmente descartado al no tener autentificación de usuarios y quedarse colgado en Windows cuando se intenta un pull.

Así que me puse a intentar la siguiente opción de servidor, el ssh. Windows no lleva servidor de ssh, así que hay que buscarse uno. Primero probé con servidores específicos de Windows, gratuitos, en concreto FreeSSHd, La instalación muy sencilla y además coge los usuarios de Windows, por lo que lo tengo funcionando rápidamente. Un cliente ssh puede conectarse y obtiene un cmd de Windows remoto. El problema viene al intentar integrarlo con Git. Al ser un cmd de Windows, no tiene en el PATH los comandos de Git, Es más, no necesita los comandos de git que vienen en el directorio bin, sino algunos de los que vienen en el directorio libexec/git-core y alguna dll de bin. Tras copiar los ejecutables concretos y dlls concretas que hacen falta en C:\Windows, ya intenta funcionar el git clone ssh://… … pero sólo lo intenta, da error. Buscando en google, me encuentro con que mucha gente tiene el mismo problema, que nadie da solución y que aparentemente FreeSSHd devuelve algún caracter que no le gusta al protocolo de git y va mal, posiblemente los famosos retornos de carro /r/n o sólo /n, por lo que descarto el servidor FreeSSHd para usar con Git. Busqué otros servidores SSH de Windows, pero no encontré ninguno gratuito o que me convenciera.

Así que intenté OpenSSH para Windows, una instalación mínima de cygwin con OpenSSH para Windows. No conseguí hacerlo funcionar rápidamente, posiblemente debido a algún problema en el PC donde hice las pruebas, así que pasé a la siguiente opción, instalar cygwin con git y openssh. La guía del enlace anterior es una maravilla, exactamente lo que necesitaba y funcionó a la primera, incluso instalando OpenSSH como servicio de Windows e importando los usuarios propios de Windows. Un git clone ssh://  también funcionó bien sin problemas …. pero ya sabemos que esto de la programación no es tan maravilloso como parece y siempre hay algún "pero". El único problema, que mucha gente tiene en google y que nadie parece haber resuelto, es que no se pueden clonar repositorios de otros discos que no sean el C:\. Cosas como ssh://host/D:/repo, ssh://host/d/repo o ssh://host/cygdrive/d/repo no funcionan. Como todos sabemos, es buena costumbre en Windows dejar C:\ para el sistema operativo y meter nuestros datos en otro disco (D:\ por ejemplo), así que esta opción, aunque va con repositorios en C:\, no me convence.

ACTUALIZACIÓN: Lo de usar distinto drive está funcionando. Desinstalé el git de windows e instalé el de cygwin a través del setup.exe de cygwin. Ya lo había hecho al instalar el OpenSSH. Ahora git clone ssh://localhost/cygdrive/e/repo funciona correctamente. Quizás el fallo se debiera a lguna incompatibilidad entre los paths del git de Windows que te bajas de http://git-scm.com/ y el de cygwin. 

Así que me cogí los servidores de Git de este comentario y me puse a ello. Una rápida búsqueda en Google para comparar y ver cómo se instalan en Windows me decidió rápidamente a probar gitblit. Entre esta guía de instalación de gitosis en windows y esta otra de gitblit (apartado GO: Single stack solution, con todas las dependencias integradas y 5 minutos para tenerlo funcionando), está claro. Viendo rápidamente el fichero de configuración de gitblit, veo que soporta LDAP, por lo que puedo intentar ponerlo en el Active Directory de Windows. Dicho y hecho, lo prometido por gitblit es cierto, en cinco minutos está funcionando bien y sin problemas. Sólo desempaquetar el zip, indicarle en el fichero de configuración el path donde están tus repositorios y arrancarlo con doble click. La integración con Active Directory me costó un poco más, pero más por culpa de Microsoft que de gitblit, Active Directory no es exactamente igual que LDAP y me dio algún problema hasta encontrar la solución. (principalmente, si necesitas un usuario para consultar LDAP, el nombre de usuario es estilo "cn=jsmith,ou=usuarios,dc=compania,dc=com", mientras que en Active Directory el usuario es "John Smith", es decir, el nombre "expandido" y sin cn=, ou= ni dc=. El segundo problema el campo email. gitblit espera un campo email y Active Directory (al menos el nuestro) tiene uno mail (sin la e delante). Aguí gitblit lanza una excepción y no va. Afortunadamente, el fichero de propiedades de gitblit permite indicar cómo se llama este campo.

Me he quedado con ganas de hacer alguna prueba más con lo del disco no C:\ de OpenSSH y de probar el servidor scm-manager, pero creo que he jugado bastante, tengo servidor git "oficial" con gitblit funcionando y todavía me queda actualizar Hudson o instalarle el plugin correspondiente para que entienda de git.

Resumiendo, si tienes un servidor en Windows, quieres un servidor Git con los usuarios de Active Directory y no quieres "jugar" mucho tiempo, gitblit es una buena opción.

Mar 28

Windows pirated edition

Windows pirated editionEl otro día me tocó hacer una demo delante del cliente. Mi jefa, la jefa de proyecto y yo nos desplazamos a las instalaciones del cliente. Allí, en una sala de reuniones nos esperan dos Capitanes de Fragata (equivalente a Teniente Coronel) y dos capitanes de Corbeta (equivalentes a Comandante).

Ante ese público saco mi portátil, lo conecto al proyector que ya estaba encendido. Enciendo el portátil, aparece en el pantallón el inicio de sesión de Windows. Entro en sesión y lo primero que aparece en grande, delante de todos, mi fondo de escritorio. Sí, ese mismo, el de la foto: Windows pirated edition, service crack 2, right to copy.

En fin, eso me pasa por no ser corporativo y tener mi propio fondo de escritorio en vez de el que nos impone la empresa. Afortunadamente todo el mundo se lo tomó a cachondeo.

Feb 11

Quitar linux

 

Una vez instalado linux, quizás nos dé por quitarlo, pero hay un pequeño problema. Cuando se instala linux, este pone un gestor de arranque (LILO o GRUB) en el sector de arranque del disco duro (MBR). Este gestor de arranque busca su configuración en la partición en la que tenemos linux. Si únicamente formateamos esa partición de linux, nuestro ordenador no arrancará más. El gestor de arranque va a buscar su fichero de configuración a la partición de linux y como esta ya no existe, no funciona.

Por ello, una de las primeras cosas que tenemos que hacer antes de quitar linux es restaurar el sector de arranque original. Hay varias opciones, según nuestra versión de windows y si tenemos o no a mano el CD de instalación de windows.

Los Windows antiguos vienen con el comando fdisk, por lo que algo tan sencillo como

C:\> fdisk /mbr

debería restaurar nuestro sector de arranque. Pero los windows más modernos (de XP en adelante), no vienen con ese comando. Por ello, tenemos que arrancar desde el CD de instalación en modo de "restaurar sistema" y ejecutar una serie de extraños comandos.

Tenemos sin embargo una solución sencilla. Basta con bajarse algo como MBRFix, un pequeño ejecutable, y con un comando como

C:\> MbrFix /drive 0 /fixmbr

nos restaura el sector de arranque. Tiene opciones para restaurar el MBR en windows vista o windows 7, además de más posibles utilidades, como obtener información de los discos, manejo de particiones, etc.

Una vez restaurado y comprobado que nuestro sistema ya arranca sin pasar por el gestor de arranque LILO o GRUB, ya podemos formatear nuestras particiones de linux.

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 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.

Apr 15

Asquito de Windows Vista

Antes, con windows xp, tenía ciertos problemas con los puertos USB. De alguna forma, cuando conectas un determinado dispositivo a un puerto USB, digamos un pendrive, windows se acuerda, de forma que cuando otro día vuelves a conectar el mismo pendrive, intenta asignarle la misma letra. Sin embargo, quizás también intenta algo parecido con el puerto USB en sí. De esta forma, si conectas ahora al primer USB un disco duro, se le asigna a ese disco duro la misma letra que se había asignado al pendrive. Si ahora enchufas el pendrive en otro puerto USB, windows se lía y lo asigna a la misma letra. Los dos dispositivos, a la vez, con la misma letra.

Al menos antes, con windows xp, tenías la opción de irte al administrador de discos y cambiar la letra, de forma que volvías a ver ambos dispositivos.

Sin embargo, windows vista es peor en todo esto. Estas son algunas de las cosas que me han pasado con Windows Vista:

  • Conectar un disco duro externo y montarse, pero no verse la letra de unidad. Los programas que lo usan si lo ven y pueden usarlo, pero desde el explorador de archivos no se ve siquiera la letra de la unidad.
  • Desconectar un pendrive de forma correcta y todo va bien…. excepto la que la letra de la unidad no desaparece del explorador de archivos, de ninguna manera.
  • Cuando hay problemas de este estilo, el administrador de discos no me hace ni puñetero caso a lo de cambiar la letra de unidad.

Sí, sí, ya se que linux es mejor, pero sólo si sabes pelearte con cosas como ntfs-3g, y ponerlo para que "salte" según enchufas un pendrive/disco externo, y sabes donde tocar y sabes los ficheros de configuración correspondientes y sabes todo lo que tienes que saber y algo más.