Grep: Comando muy útil.

Finalmente he conseguido trabajo como desarrollador en PHP, para productos relacionado con tecnologías móviles. El tema es que para lograr mis metas, tengo que editar archivos remotos, y entre tantos de ellos y directorios es necesario encontrar, ya sea para limpiar archivos finales o modificar ciertos bloques de código, palabras o cadenas.

Vamos con un ejemplo sencillo.Si tengo un CSS que incluye muchas clases, y justamente quiero saber si todas ellas están siendo utilizadas en mis diferentes archivos .php, ¿Cómo lo hago? ¿Abro uno a uno los .php si tego una docena, al menos? Es entonces cuando aparece un interesante comando en linux: GREP.

Según la ayuda incluida en Linux (grep –help), el comando funciona de la siguiente manera:

grep [OPTION]... PATTERN [ARCHIVO]...

Las alternativas mas usadas para OPTION son: r= recursiva, m= se detiene en una cantidad de resultados determinada, n= imprime el número de línea. PATTERN se refiere a los patrones, por ejemplo uno sería i, el que indica que no importa distinguir entre mayúsculas y minúsculas.

Ahora, un ejemplo para ilustrar lo escrito anteriormente. Supongamos que quiero encontrar la cadena “linux rules” en todos los archivos del directorio /home/ejemplo con extensión .php. Una forma de lograrlo sería:

grep -r "linux rules" /home/ejemplo/*.php

Esto quiere decir que el comado grep buscará “linux rules” en todas las carpetas que existan en /home/ejemplo, debido a la opción -r indicada. Si quiero buscar en todos los archivos, sin importar su extensión, solo basta con ingresar * al final de la linea. Si quiero listar el número de línea dentro del fichero, donde se encuentra la cadena buscada (linux_rules), se debe ingresar este comando:

grep -rn "linux rules" /home/ejemplo/*.php

Espero que este comando sea de mucha utilidad para ustedes. Personalmente, lo encuentro uno de los más interesantes y de gran ayuda cuando hay que revisar grandes cantidades de archivos.

Mini consejo: Configuración para pulsaciones del touchpad.

Si están usando openSUSE 11.2 Milestone 6 (Gnome 2.27.5, Kernel 2.6.31-rc6-3-default) y se encuentran con que las pulsaciones del touchpad no funcionan, entonces este pequeño consejo podría servir.

Primero que todo, vayan al Centro de Control, y busquen el item correspondiente a la configuración del mouse. Luego seleccionen Touchpad y marquen la opción Habilitar pulsaciones del mouse con touchpad. Eso debiera ser suficiente para que todo vuelva a lo que estabamos acostumbrados :) La verdad es muy extraño, y no he investigado las razones, pero nunca antes tuve que hacer algo similar para activar las pulsaciones del touchpad.

Screenshot-Mouse Preferences

Debo agradecer a mi amigo Pedro Villavicencio por avisarme sobre como solucionar este pequeño problema.

Jarnal, equivalente a Windows Journal.

Buscando alguna aplicación que me permitiera tomar notas, insertar imágenes y trazar bosquejos, es como me encontré con Jarnal.

Jarnal es una aplicación Open Source y multiplataforma escrita en Java, similar a Windows Journal. Soporta escritura colaborativa, una característica que permite que múltiples autores editen un archivo único en tiempo real sobre una red. Otra característica importante es que permite crear presentaciones y exportar lo creado a formatos pdf, html, y texto (solo el texto, las figuras no son exportadas).

Al estar escrito en Java, solo requiere contar como mínimo con Java 2 1.4.2. Por supuesto que esta aplicación pueden encontrarla en el Build Service de openSUSE, bajo el repositorio Open Source Software o mediante el método one-click install.

La página oficial del proyecto la pueden encontrar aquí.

jarnal

NetBeans 6.7.

Ya que ultimamente se ha hecho referencia a algunos IDEs, voy a escribir acerca del recientemente lanzado NetBeans 6.7.

Este IDE es FLOSS, y nos permite realizar, entre otras, aplicaciones Java, Web, Mobile; y desarrollar utilizando lenguajes de programación como Java, Php, C++, Javascript, y Ruby. Por supuesto, es una herramienta multiplataforma, por lo que la instalación resulta en un proceso sencillo bajo Linux, Windows, Solaris y Mac OS X. Algunas características que facilitan la productivdad son: espaciado automático de líneas, completado automático, destacador de sintaxis, y cerrado automático de bloques, etre otras.

¿Qué hay de nuevo?

En esta ocasión, se presenta la integración con el Proyecto Kenai, un ambiente colaborativo de Sun Microsystems para que los desarrolladores mantengan proyectos Open Source. A la vez, este lanzamiento se basa en el exitoso NetBeans 6.5 con soporte para Maven, integración con GlassFish y Hudson, y mejoras en cuato a Java, Php, Ruby, Groovy y C/C++. También se presenta soporte para Javascript 1.7 y Java ME SDK 3.0.

Sigue leyendo

GNOME-Shell en openSUSE 11.1

Ha pasado mucho tiempo desde que instalé gnome-shell por primera vez. Digamos que después de algunas re-instalaciones, debido a que solo tengo una máquina y decidí probar los Milestones de openSUSE 11.2 :), y ahora que estoy de vuelta a mi openSUSE 11.1 con Gnome 2.24 y listo para “producción” (sí, necesito Java y otras herramientas bajo un ambiente estable), sin esos molestos beeps del sistema al apagarse (PulseAudio?). Gnome 2.26 y sus herramientas me parecieron bien, pero solo voy a esperar algunos meses más para el siguiente release estable donde no ocurra eso.

Sigue leyendo

openSUSE 11.2 Milestone 2 (Gnome)

Hoy descargé el Live CD de Gnome, pero no me fue muy bién. No fue muy divertido ver el puntero del ratón ocupado dando vueltas y vueltas luego de seleccionar la opción de ejecutar el Live CD desde el menú del disco. Entonces decidí bajar el DVD, para probar cuán diferente podían ser las cosas (la verdad no fue la única motivación =P), y de seguro estaba en lo correcto. Primero, instalé el Escritorio KDE, nada anormal ocurrió durante el proceso de instalación. Luego llegó el primer ingreso, y todo correcto. Por supuesto que al momento de particionar, seleccioné el sistema de archivos Ext4, el cual debiera comportarse más rápido que el antiguo pero estable Ext3.

Luego fue el turno de Gnome. Como siempre, la instalación predeterminada demoró mucho más que la de KDE. Eliminé los paquetes de Efectos de Escritorio, debido a que comencé a creer que estos pudieran causar el problema con el arranque del Live CD. El proceso de instalación transcurrió normalmente, y finalizó excelentemente. Al ingresar por primera vez, se me alertó sobre GDM y Metacity, lo cual sigue ocurriendo en posteriores inicios de sesión:

waring_metacity

Por omisión, el icono del menú Slab en el panel principal de tamaño 24 pixeles se ve de la siguiente manera:

Computer_icon24

Pero parece que ese no es tu máquina, ¿verdad? Lo que hice fué cambiar el tamaño del panel principal a 26 pixeles de alto, quedando así:

Computer_icon26

Debo admitir que me gustó el tema predeterminado. Absolutamente nuevo, algo oscuro, profesional. Por primera vez me siento cómodo con algo así. Una característica que no está funcionando 100% es el Monitor de Sistema. En este momento no puedo cambiar de pestañas, y seguramente hay muchas otras cosas que no funcionarán bien, pero para eso esta el Bugzilla ;). El resto del sistema corre muy bien, al menos en mi máquina. Esta es una imagen de mi escritorio actual, corriendo Gnome 2.26 (existen algunos paquetes de Gnome 2.27.1), y contado con aplicaciones como Firefox 3.5 beta 4 y OpenOffice.org 3.1:

opensuse112m2

Pueden obtener openSUSE 11.2 M2 desde http://software.opensuse.org/developer/

Qt Creator, desarrollando aplicaciones rápidamente.

Qt Creator es un excelente IDE multiplataformas (ya lo he probado en Windows 7 RC y funciona de maravillas) para desarrollar aplicaciones en C++ de manera sencilla y rápida. Como su nombre lo indica, está basado en la librería Qt y cuenta con las siguientes características principales:

  • Editor avanzado para C++.
  • Diseñador de formularios (GUI) integrado.
  • Herramientas para la administración y construcción de proyectos.
  • Completado automático.
  • Depurador visual.

Suena interesante, ¿cómo es Qt Creator?

Sigue leyendo

Semana de la Comunidad openSUSE

geeko

La comunidad de openSUSE llevará a cabo la Semana de la Comunidad, desde el 11 al 17 de Mayo.

Durante este tiempo, y mediante los canales correspondientes en IRC, podrás aprender a dar los primeros pasos dentro del proyecto openSUSE, lo cual es importante en el caso de querer unirte y contribuir. Puedes ayudar a promover el uso de Linux en todas partes y a la vez, cooperar a que openSUSE sea la mejor distro tanto para usuarios nuevos como experimentados.

No tienes que ser un desarrollador para participar. Estamos buscando todo tipo de colaboradores: escritores, traductores, artistas, profesores, y por supuesto, desarrolladores que ayuden a dar forma a openSUSE.

Más inforación en http://en.opensuse.org/Community_Week.

Have a lot of fun!.

Gnote: Alternativa a Tomboy.

Primero que todo, mis dusculpas por realizar este post a esta hora ;).

Gnote es un port experimental desarrollado en C++ de la famosa herramienta Tomboy. Debido a que está en una etapa aún experimental, no cuenta con todas las características de Tomboy, pero va por muy buen camino. Este proyecto es auspiciado por la Fundación Gnome.

¿Cómo lo obtengo e instalo?

Sigue leyendo