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.

Mar 30

Truquillo para reiniciar un war en tomcat

Una vez desplegado nuestro.war, a veces tocamos alguna cosa a mano dentro de los ficheros de nuestra aplicación webapps/nuestro/, quizás un fichero .properties, quizás cambiar un jar por una versión más moderna, y queremos reiniciar la aplicación.

Las opciones más conocidas y estándar son:

  • Entrar en el manager de tomcat y desde ahí pararla y volver a arrancarla
  • La opción bestia, parar tomcat y volverlo a arrancar

Sin embargo, hay otra menos conocida y muy útil si no tenemos el manager instalado (por ejemplo, caso de liferay). Si estamos en linux, basta hacer un touch webapss/nuestro/WEB-INF/web.xml Esto hará que se reinicie la aplicación.

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.

May 23

Jugando con Debian

 

Después del último desastre con la actualización a Ubuntu 9.04, me he decidido a cambiar la distrubución por Debian. Así que me bajé una distrubución de esas reducida que se supone que luego busca en internet lo que le hace falta durante la instalación y me puse manos a la obra.

La instalación es sencilla, eso sí, hay que tener un mínimo de idea del tema de particiones. Esta última parte la hice manual para tratar de formatear sólo la partición de swap y de / existentes en ubuntu, manteniendo el /home y las de windows sin formatear. Sin embargo, el primer intento de instalación me falló. Empezó a bajarse todos los ficheros que necesitaba de internet y después de unos veinte minutos, cuando llegó al último, se quedó todo colgado. Tras esperar una hora, decidí rebotar el ordenador y no me quedó más remedio que volver a empezar: Al haber formateado la partición raiz, grub no encontraba el menú, así que ni siquiera podía arrancar windows.

En la segunda instalación decidí instalar menos aplicaciones y elegí otro sitio web para la descarga (en vez de rediris, uno que me pareció bien de Alemania). Esta vez la instalación fue correcta y tuve funcionando Debian sin ningún problema.

En las pruebas que me he hecho hasta ahora no me ha dado ningún problema. Eso sí, la distribución trae menos cosas que la de ubuntu (aunque no echo ninguna de menos) y todavía me queda el proceso de ir instalando mis aplicaciones favoritas. La instalación del JDK de Sun no me dio problemas (lo hice a mano, no con apt-get), ni la de eclipse, firefox (incluida barra de google) ni thunderbird (también a mano, aunque tuve que instalar con apt-get el paquete libstdc++5 que necesita thunderbird). Me falta meterme con el tema de los discos windows, pendrives, discos usb y quizás el dichoso compiz.

Feb 03

Una pequeña estupidez estúpida

 

Ayer, urgando por youtube, me encontré un video que me hizo gracia. No es gracioso, supongo que sólo me llama la atención a mí. A alguien se le ocurrió bajarse el ejemplo de mi tutorial de rpc en linux, compilarlo y ejecutarlo, grabando todo el proceso en video y publicándolo en youtube. Por supuesto, a mí me ha faltado tiempo para añadir ese vídeo al tutorial.

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 03

Línea cronológica de GNU Linux

 

Visto en SIGT.net, un "poster" con la cronología de las distintas distribuciones de linux.

cronologia distribuciones linux