11 julio 2013

Cómo resaltar palabras claves con perl cuando usamos tail

Receta sencilla para resaltar texto cuando, por ejemplo, estamos haciéndole tail a un log:

tail -f file.log | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'

La parte de “\e…/g” se puede reemplazar por algunos enteros separados por puntos y comas, por ejemplo:

0: sin atributos
1: negrita
31: rojo en primer plano
43: fondo amarillo

“keyword” puede ser cualquier expresión regular en perl.

Hasta la próxima!

10 junio 2013

Cómo actualizar Webmin usando los repositorios YUM

Para actualizar Webmin en CentOS utilizando los repositorios YUM hay que crear el archivo /etc/yum.repos.d/webmin.repo y agregarle lo siguiente:

[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1


Luego hay que bajar e importar la llave GPG con la que los paquetes están firmados, con los siguientes comandos:

wget http://www.webmin.com/jcameron-key.asc
rpm --import jcameron-key.asc


Con esto ya está y alcanza con hacer yum install webmin para instalar o yum update para actualizar y  todas las dependencias se resolverán automáticamente.

27 marzo 2013

Chequeo de sintaxis PHP en el Notepad++

Pasos a seguir para habilitar el chequeo de sintaxis en los scripts PHP que estemos editando con el Notepad++

  1. Tener instalado PHP en la computadora.
  2. Instalar el plugin NppExec para el Notepad++ (esto se hace desde el mismo programa, usando el "Plugin Manager").
  3. Una vez instalado el plugin, ir al menú del mismo "Plugins" => "NppExec" => "Execute" y ahí escribimos el path completo al ejecutable de php con el parámetro "-l" (sin las comillas) y le pasamos también el archivo que estamos editando como parámetro.
    Por ejemplo:

    "C:\Program Files\PHP\v5.4\php.exe" -l $(FULL_CURRENT_PATH)

    También se lo puede grabar con un nombre, como si fuera una macro.
Para utilizarlo, simplemente apretamos F6 o desde el menú del plugin seleccionamos "Execute" y listo; más abajo aparece la consola con el resultado del comando.

También se puede hacer sin un plugin ejecutando directamente lo mismo desde el Notepad++ con la tecla F5 o haciendo click en el menú "Ejecutar"; pero el plugin nos permite guardar diferentes comandos para tener un acceso rápido.

El comando en cuestión es llamar al intérprete de PHP con la opción "-l" de chequeo de sintaxis, que viene incorporado en el mismo (también llamado "lint").

Hasta la próxima!

02 enero 2013

Acceso directo a conexiones del Escritorio Remoto de Windows

El Windows Remote Desktop es una herramienta que permite conectarse a otra computadora a través de una conexión de red. Es muy útil para usar computadoras donde uno no puede estar sentado delante, y es algo que yo utilizo diariamente en mi trabajo.

Aquí un pequeño atajo para la gente que usa esta utilidad todos los días. En esta página de Microsoft se explican los diferentes parámetros que se le pueden pasar al acceso directo. Lo primero que hay que hacer es crearlo en el Escritorio o una carpeta del disco rígido, y escribir lo siguiente:



mstsc.exe /v:192.168.0.101 /w:800 /h:600


Que significa brevemente:
  • mstsc.exe – este es el nombre de la aplicación de Escritorio Remoto.
  • 192.168.0.101 – esta es la dirección IP de la computadora a conectarse.
  • 800 – este es el ancho de la pantalla que se abrirá.
  • 600 – y este es el alto de la pantalla que aparecerá.
También se puede pasar el parámetro /f que significa "abrir la conexión en pantalla completa". 

Hasta la próxima!

19 noviembre 2012

SQLSRV30.EXE no es una aplicación Win32 válida

Hoy mientras intentaba instalar los drivers de PHP para Microsoft SQL Server me encontré con este mensaje de error después de descargar el archivo .exe. La solución no es tan intuitiva, pero hay que descomprimir el archivo (con 7-zip por ejemplo) en una carpeta y aparecen ocho archivos .dll y un par más de ayuda. Cuatro de estos archivos corresponden a PDO y cuatro más al driver. A su vez, cada archivo está para versiones "Thread Safe" y "Non Thread Safe"; cada uno para PHP versión 5.3 o v5.4.

Luego hay que copiar a la ruta donde tengamos las extensiones de PHP instaladas los archivos que correspondan. Finalmente, agregar al final del archivo php.ini las dos líneas a continuación:


extension=php_pdo_sqlsrv_54_ts.dll
extension=php_sqlsrv_54_ts.dll


extension=php_pdo_sqlsrv_53_ts.dll
extension=php_sqlsrv_53_ts.dll

Dependiendo de qué versión de PHP esté instalada en el servidor. Después de reiniciar el servidor se puede comprobar con la función phpinfo() que las extensiones estén cargadas.

Hasta la próxima!

05 noviembre 2012

Convertir CHAR en DATETIME en MSSQL


Cómo hacer para convertir una cadena de CHAR en una fecha (DATETIME) en Microsoft SQL Server?

SELECT convert(datetime, '2016-10-23 20:44:11', 120) -- yyyy-mm-dd hh:mm:ss(24h)
-- 2016-10-23 20:44:11.000

Más recetas para conversión con fechas y hora aquí.

Hasta la próxima!

01 octubre 2012

Cómo correr aplicaciones CGI en IIS7

Tratando de hacer funcionar unos scripts CGI en un servidor Windows con IIS7 no encontraba como hacer para ejecutarlos. Acá la receta:

Primero hay que ir al Internet Information Services (IIS) Manager. Hay que hacer click en la lista de conexiones del servidor (la página principal) y luego hacer click en "Restricciones de ISAPI y CGI", en el área de IIS o bajo la categoría de "Seguridad". Acá se puede especificar una ruta (path) hacia la aplicación específica que se quiere permitir, o se puede permitir que cualquier aplicación CGI se ejecute (cuidado con la seguridad!).

Para terminar, hay que volver al servidor o al sitio web en cuestión y hacer click en "Asignaciones de controlador". Es probable que ya esté la asignación para "CGI-exe" deshabilitada por defecto. Hay que activarla o agregar una nueva. Yo cargué el módulo "CgiModule" y en las "restricciones de solicitudes" hay que tener "Ejecutar" marcado.

Hasta la próxima!

22 junio 2012

Actualizar PHP a 5.4 en Ubuntu 12.04 Precise Pangolin

Usamos la versión de https://launchpad.net/~ondrej/+archive/php5 y agregamos el ppa:

sudo add-apt-repository ppa:ondrej/php5

a continuación hacemos update y upgrade y ya nos aparece la nueva versión para actualizar:

sudo apt-get update && sudo apt-get upgrade

Hasta la próxima!

Tomado de http://askubuntu.com/questions/109404/how-do-i-install-php-5-4-0

17 abril 2012

Primer vistazo a Joomla 3.0, y su enfoque para móviles

Joomla 3.0 está siendo desarrollado y tiene fecha para Septiembre de este año. Uno de los mayores cambios que traerá será el re diseño completo de sus áreas de administrador y visitante. 
El grupo encargado con esta tarea está convencido que la próxima revolución web será la revolución móvil. Y así como millones de personas se conecten en el futuro a internet, mucho de ellos lo harán a través de dispositivos móviles. El objetivo de la organización es hacer de Joomla 3.0 totalmente amigable para los móviles. Es interesante destacar que para ello el equipo de Usabilidad ( http://ux.joomla.org ) está utilizando como herramienta Twitter Bootstrap. La página oficial de ese proyecto se encuentra en http://twitter.github.com/bootstrap.
A continuación, algunas imágenes del trabajo que se viene realizando. Hasta la próxima!

24 febrero 2012

Ya está disponible la versión 2.4 del servidor web Apache HTTP server

La Apache Software Foundation anunció el pasado 21 de febrero la disponibilidad la versión 2.4 del popular servidor web Apache HTTP. Pasaron algo más de seis años para tener con nosotros una nueva versión "mayor" del servidor web más utilizado del mundo, que funciona en aproximadamente 400 millones de sitios web en el mundo.

Algunas novedades son:
* Desempeño mejorado (menor consumo de recursos y mejor concurrencia)
* Menor uso de memoria.
* Soporte para Entrada/Salida asíncrona ("asyncronous I/O").
* Configuración de proxy dinámico inverso ("dynamic reverse proxy").
* Desempeño a la par o mejor con otros servidores web dirigidos por eventos ("event-driven").
* Soporte de ajuste más preciso del caché para servidores y proxies con mucho tráfico.

Aquí está el anuncio oficial con más información. Todavía no se encuentra disponible en los repositorios oficiales de ubuntu server o debian, situación que seguramente cambiará muy pronto. Hasta la próxima!

20 diciembre 2011

Cómo chequear la sintaxis de PHP desde la línea de comandos (parte 2)

Para continuar la primer parte de este post de hace algunos meses, les dejo una línea de bash para chequear la sintaxis de todos los archivos php de un directorio.
for i in *.php; do php -l $i; done
Hasta la próxima!

13 diciembre 2011

WordPress 3.3 Sonny en español

Ya está disponible la última versión de WordPress 3.3 "Sonny"! Este es el video de la presentación:




Y por supuesto se puede bajar desde la página oficial siguiendo el anuncio oficial o directamente desde WordPress Español. Para los desarrolladores también se encuentra disponible la página del Codex con la lista completa de cambios.

Hasta la próxima!

22 noviembre 2011

Novedades de WordPress 3.3

Ya falta poco para que esté disponible la nueva versión de la conocida herramienta de publicación de contenidos, WordPress 3.3. A continuación, una breve lista de las mejoras y las nuevas características!
  1. Un nuevo media uploader para subir y publicar archivos (utiliza Plupload)
  2. Una nueva pantalla de bienvenida cuando se instala el blog por primera vez y cuando se hace el primer post o actualización.
  3. El administrador de WordPress ahora utiliza HTML5 y, entre otras cosas se ajusta dinámicamente a diferentes tamaños de pantalla.
  4. Se mejoró la "admin bar".
  5. Mejoras de performance y corrección de errores
  6. Se unieron la mayoría de los archivos css del administrador para que se cargue más rápido el mismo.
  7. Se mejoró el modo de "Distraction Free Writing" que permite limpiar la pantalla y enfocarse en la tarea de escribir.
  8. Se hicieron mejoras para las redes de blogs (multisite), por ejemplo para habilitar templates (themes) para toda una red al mismo tiempo.
Hay más información de esto en el blog oficial y en Technosailor. La versión anterior de WordPress, la 3.2 fue bajada del sitio oficial más de doce millones de veces. Ojalá la nueva versión sea todavía más exitosa! Hasta la próxima.

08 noviembre 2011

Darle pistas al MySQL sobre qué índice usar en una consulta

Existe una manera sencilla para "darle una pista" al motor de MySQL sobre qué índice utilizar cuando realiza una consulta. La técnica en inglés se llama "Index Hinting" (aquí el enlace a la documentación oficial) y sirve para indicarle al MySQL que recorra la tabla que necesitamos utilizando ese índice; ya sea porque no estaba usando ninguno o estaba usando otro (poco probable que se equivoque en esta época, pero bueno). Ejemplo!
SELECT * FROM tabla USE INDEX (indice) WHERE col1 = 1 AND col2 = 2 AND col3 = 3;

Donde "tabla" es la tabla de donde vamos a sacar la información e "indice" es el nombre del que vamos a utilizar en la consulta (pueden ser varios separados por comas). Es una técnica más para tener en cuenta, pero antes de aplicar estas técnicas es mejor estudiar el rendimiento de nuestras consultas con alguna herramienta específica o utilizando la sentencia "EXPLAIN" (más información en inglés acá). Hasta la próxima!

15 agosto 2011

Google compra Motorola Mobility

El líder mundial en búsquedas por internet Google Inc anunció hoy que comprará al fabricante de dispositivos móviles Motorola Mobility Holdings Inc por unos 12.500 millones de dólares en efectivo. Desde el anunció en el blog, el CEO Larry Page dijo:

In 2008, Motorola bet big on Android as the sole operating system across all of its smartphone devices. It was a smart bet and we’re thrilled at the success they’ve achieved so far. We believe that their mobile business is on an upward trajectory and poised for explosive growth.

La oferta de u$s 40 por acción supone un premio de 63% frente al precio de cierre de Motorola Mobility del viernes en la Bolsa de Nueva York. En el anuncio oficial se aclaró:

The acquisition of Motorola Mobility, a dedicated Android partner, will enable Google to supercharge the Android ecosystem and will enhance competition in mobile computing. Motorola Mobility will remain a licensee of Android and Android will remain open. Google will run Motorola Mobility as a separate business.


04 julio 2011

Wikimedia Argentina se opone al canon digital

Extracto de un post en el blog de Wikimedia Argentina, acerca del proyecto de Ley que se encuentra en el Senado de la Nación para imponer un gravamen a los dispositivos de almacenamiento digitales:
"Consideramos que un gravamen como el propuesto tiene evidentes efectos negativos respecto de la reducción de la brecha digital, el acceso a la tecnología y la información, y la igualdad de oportunidades, resultando por lo tanto abusivo y arbitrario. Por ello expresamos nuestro más enérgico repudio a la iniciativa."
El resto de la nota, aquí.

30 junio 2011

Mejoras en WordPress 3.2

Ya se va acercando cada vez más el release de WordPress 3.2 y entre las cosas a destacar se encuentran:
  • Actualizaciones más pequeñas. La idea es contar con un sistema tipo Google Chrome o el que se espera para iOs 5, donde para actualizar a la siguiente versión no sea necesario volver a descargar todo el paquete de instalación de WordPress.
  • Código más eficiente. Como se eliminó el soporte para PHP4, se puso un montón de esfuerzo en eliminar código obsoleto y refactorizar el remanente. También se puso énfasis en la optimización de queries (consultas) a la base de datos, pensando en hacer el sistema más ágil.
  • No más soporte para Internet Explorer 6 en el backend de administración. Ahora aparece un lindo cartelito en un rojo furioso explicando porque es recomendable actualizar el navegador a una versión superior.
Estas y otras novedades se pueden encontrar en el post "10 Things You Need To Know About WordPress 3.2" de Aaron Brazell y en el blog oficial de WordPress.

Update: ya está lista para bajar la versión 3.2 en Castellano!

Update2: no dejen de leer este increíble artículo de Lorelle VanFossen acerca de la nueva versión de WordPress, "WordPress 3.2 Released: Faster, Prettier, Powerful" (inglés).

05 junio 2011

Cómo chequear la sintaxis de PHP desde la línea de comandos

A veces en mi trabajo tengo que editar un script de PHP desde la línea de comandos de Ubuntu linux, por ejemplo. Para la gente acostumbrada a usar un IDE y el chequeo de sintaxis automático, como a mí que me encanta el NetBeans, esto puede ser un problema.

Por suerte viene al rescate la línea de comandos y el chequeo de sintaxis incluído en PHP (lint), que se usa con la opción "-l" ("L" minúscula). Corriendo el script con el intérprete y esta opción deberá mostrar por pantalla “No syntax errors detected in scriptname” si no hubo ningún error.

Esta es una manera sencilla y muy práctica de saber si nuestro script pasa por lo menos por un chequeo de sintaxis. Es muy útil para agregarlo a otros scripts, como un "pre-commit hook" de subversion por ejemplo.

Este es el enlace a la documentación: http://php.net/manual/es/features.commandline.php Hasta la próxima!

08 abril 2011

Cómo instalar y probar Gnome3 en Ubuntu 10.10

Receta muy sencilla. Abrir una consola y escribir:

sudo add-apt-repository ppa:gnome3-team/gnome3
sudo apt-get update
sudo apt-get install gnome3-session
sudo apt-get update


Cerrar la sesión y cuando aparezca la pantalla para logearse, seleccionar "Gnome 3" en la parte inferior. Listo! Hasta la próxima

01 abril 2011

Formatear XML para mostrar por la consola de Ubuntu

Una manera sencilla para darle formato a archivos XML para mostrar por la consola de Ubuntu es instalar xml-twig-tools, que se hace muy fácil con:

sudo aptitude install xml-twig-tools


Con esto se instalan varias utilidades, pero la interesante es xml_pp que sirve para nuestro problema. Se puede usar así para ver el archivo formateado por pantallas:

xml_pp documento.xml | less


Hasta la próxima!