El Ubuntu me pone el editor Nano por defecto como editor de consola. No es que tenga nada en contra pero soy más de Vi. Tiro mucho de consola, sobretodo para manejarme con el SVN, y con Vi y sus comandos, la rapidez está asegurada. Os dejo aquí como modificar el editor por defecto en consola para Ubuntu Linux: Lanzamos update-alternatives como root: sudo update-alternatives –config editor Nos devolverá un menú donde tan solo hay que elegir que editor de los instalados queremos por defecto. There are 5 alternatives which provide `editor'. Selection Alternative ----------------------------------------------- * 1 /usr/bin/vim.tiny 2 /bin/ed + 3 /bin/nano 4 /usr/bin/vim.basic 5 /usr/bin/nedit Press enter to keep the default[*], or type selection number: Más fácil imposible ;-) … [Read more...] about Cambiar el editor por defecto en Ubuntu Linux
Error en parseInt de Javascript
Existe un bug en la función parseInt de Javascript i Jscript (asp) que provoca que la función devuelva 0 para ciertos valores. En concreto el error parece que tiene que ver con la interpretación del primer carácter cuando este es 0 ya que se interpreta que lo que sigue es en base octal y para aquellos números que no tienen representación en octal se devuelve erróneamente 0. Pongo un ejemplo: parseInt('07') -> devolverá 7 parseInt('08') -> devolverá 0 parseInt('09') -> devolverá 0 parseInt('10') -> devolverá 10 Imaginaros los estropicios que puede provocar esto en la conversión de cadenas a fechas, caso donde me he encontrado el error. En concreto el día '08/07/2008' que yo interpreto como 8 de Julio de 2008, el javascript me lo daba como 30 de Julio de 2008 al devolver cero la llamada parseInt('08') Para solucionarlo hay que decirle a parseInt que trabaje en base 10 y el bug desaparece inmediatamente. parseInt('08', 10) devuelve el resultado esperado. … [Read more...] about Error en parseInt de Javascript
Deshacer modificaciones en Subversion
Antiguamente trabajaba con CVS y ya me parecía maravilloso poder disfrutar de un sistema de control de versiones. El que ha trabajado con uno sabe de lo que hablo. El que no lo haya hecho, se lo recomiendo. Una vez lo pruebas no sabes vivir sin él ;-) Ya hace unos años que me pase a Subversion, también conocido como SVN, y ahora estoy más contento aún. El caso es que en uno de mis trabajos a alguien se le ha ido la mano y ha eliminado todo el contenido del directorio trunk del proyecto con lo cual la última revisión de ese directorio está vacía. Se puede realizar un export de la versión anterior y subirlo como ficheros pero existe otra forma más rápida, en solo una linea. Imaginemos que estamos en el raíz de nuestro proyecto en la última revisión, la HEAD, que en este caso coincide con la revisión 50. En esta versión, como hemos dicho, se ha eliminado todo lo que colgaba de trunk y queremos recuperarlo de la versión anterior, la 49. Esta es la linea. svn merge -r 50:49 … [Read more...] about Deshacer modificaciones en Subversion
Como regenerar las claves SSH
Para los que no lo sepáis, en el 2006 a alguien de Debian se le ocurrió eliminar una linea de código del OpenSSL para evitar los avisos incómodos que se producían al utilizar herramientas de depuración de código. El tema es que esa linea era la que se encargaba de asegurar la calidad de la siembra del generador pseudoaleatorio que utiliza varios criterios y paso a utilizar el identificador de proceso del sistema (PID) como único criterio, reduciendo el espacio de claves de 2^1024 a 2^15, exactamente 32768. El problema es que no vale solo con actualizar los paquetes, ya disponibles, pues aquellas claves/llaves generadas despues del 2006 han sufrido la vulnerabilidad y son previsibles. Tened en cuenta que uno de los principales usos de este paquete es la generación de las claves para los servidores SSH lo cual deja a muchas máquinas vulnerables. Como se comentaba en un blog... "os podéis imaginar la cantidad de servidores en el mundo del tipo 'instalar y olvidar'" ? Para ser … [Read more...] about Como regenerar las claves SSH
Buscar mensajes con varias cadenas en Thunderbird
La de correos que tenemos que manejar en nuestro día a día. Quien nos negara que un buen cliente de correo electrónico nos puede ahorrar mucho tiempo además de ser una buena herramienta de organización. En mi caso utilizo la bandeja de entrada para mantener aquellos correos que se corresponden con tareas pendientes, organizando en carpetas según proyectos aquellos correos que ya he finalizado. Como además me muevo mucho entre diferentes sistemas operativos suelo trabajar con IMAP en mis cuentas. A quien no lo haya probado, se lo recomiendo. Pues con todo esto yo trabajo con Thunderbird. El Thunderbird, como muchos otros, te permite buscar/filtrar rápidamente los correos de la carpeta que visualizas aplicando cadenas de texto sobre alguno de los campos de los correos, por defecto el tema y el que envió el correo. Es una herramienta muy útil, sobretodo cuando quieres encontrar un correo rápidamente. En mi caso filtro por el nombre de la persona que me envió el correo y … [Read more...] about Buscar mensajes con varias cadenas en Thunderbird
phpReady un framework con PEAR y Smarty
Cuantas veces nos pasa que necesitamos crear una interfaz sencilla para manejar cuatro tablas y así hacernos una pequeña aplicación ,por ejemplo para hacer una lista de tareas relacionadas con proyectos. Pues el framework phpReady te permite hacer aplicaciones que hacen CRUD de tablas con un wizard y sin tocar nada de código. Lo veréis más claro en este video tutorial que han preparado donde en cosa de 5 minutos crean una pequeña aplicación que gestiona dos tablas que relacionan libros con autores. Sencillo y ágil. El framework hace CRUD con validación de formulario, cumple el patrón de diseño MVC, utiliza Smarty como sistema de plantillas y PEAR::MDB2 como capa de acceso de datos. Para cosas sencillas y rápidas no se puede pedir más. … [Read more...] about phpReady un framework con PEAR y Smarty
Que distribución Linux elijo?
Interesante la página de zegeniestudios.net donde podemos encontrar un wizard para que nos ayude a elegir la distro de Linux que más se adapta a nuestras necesidades. El wizard realizada una serie de preguntas sobre cual será el uso que vamos a hacer del sistema, nuestro nivel de conocimiento de instalaciones de sistemas operativos o las necesidades de software que vamos a tener y según nuestras respuestas nos muestra finalmente que distribuciones de Linux son susceptibles de interesarnos. Como poco, curioso. Personalmente, después de probar unas cuantas, entre ellas Red Hat, Fedora y Debian, actualmente estoy trabajando con Ubuntu con muy buenos resultados. Entre otras, las ventajas son las básicas de una distribución Debian pero con el añadido de una muy buena compatibilidad con los dispositivos hardware. Por eso ante la pregunta de ¿que distribución Linux utilizo para programar en PHP? por ahora lo tengo claro ;-) … [Read more...] about Que distribución Linux elijo?
Diseño de bases de datos MySQL
Hace años que utilizo DBDesigner4 para realizar mis diseños de bases de datos. Además de ser una herramienta Open Source bajo licencia GPL tiene una potencia y funcionalidad más que suficiente para mis diseños. Para quien no conozca este tipo de herramientas comentar que se trata de aplicaciones que nos permiten diseñar visualmente nuestra base de datos utilizando una notación como por ejemplo el sistema de modelado Entidad Relación Después de realizar tu diseño, DBDesigner4 te permite sincronizarlo contra una base de datos real de forma que se encargará de crear todas las tablas en la misma. Además este proceso lo podrás realizar cada vez que lo necesites con lo cual la aplicación gana valor al permitirte utilizarla como herramienta de mantenimiento sin necesidad de manejarte con scripts y obteniendo una visión global al disponer en pantalla de esquema visual. Os dejo aquí una captura de un diseño hecho con DBDesigner4 Por otro lado MySQL ha sacado por fin su muy esperado … [Read more...] about Diseño de bases de datos MySQL
El doble monitor aumenta la productividad
Hace unos días paso por mis manos un correo donde se explicaba entre otras cosas que Google utiliza la configuración de doble monitor por que aumenta la productividad. Debo de reconocer que esto me resulto de lo más atractivo. He estado investigando por blogs, foros y demás y la opinión general de aquellos que lo han probado es que efectivamente no puedes vivir sin el doble monitor una vez lo has probado. Además un estudio llevado a cabo por NEC y la Universidad de Utah, en Estados Unidos, viene a demostrar que efectivamente el uso del doble monitor, en casos donde el usuario utiliza varios documentos a la vez o donde se necesita comparar entre ellos, y la configuración de monitores panorámicos, en casos donde se requiere retoque fotográfico o edición de video, aumenta la productividad entre un 20 y un 30 %. En definitiva, que vamos a tener que modernizarnos y espero que en breve os pueda dar una opinión más completa, basándome en la experiencia :D … [Read more...] about El doble monitor aumenta la productividad
Copía de seguridad de solo algunas tablas de una base de datos MySQL
Existen varias herramientas cliente para conectarse a una base de datos MySQL, entre ellas PHPMyAdmin. Es una de mis preferidas aunque reconozco que para acceso rápido y sobretodo para lanzar queries me quedo con el cliente en consola de MySQL. El tema es que cuando bajas a consola y te acostumbras luego no puedes soltarlo y entre otras cosas te encuentras con que tienes herramientas tan potentes como mysqldump que te permite realizar copias de seguridad de una base de datos con un control bastante elevado. Yo principalmente lo utilizo para automatizar el proceso de backup y en algunas ocasiones para devolver la aplicación a un estado conocido. Pongamos por caso que necesito hacer unas pruebas sobre una aplicación en fase de test. Se trata, por ejemplo, de operar sobre un expediente que se guarda en varias tablas y a partir del cual debo de generar una factura que a su vez se guarda en varias tablas más. Una vez se ha generado la factura a partir del expediente no puede volverse … [Read more...] about Copía de seguridad de solo algunas tablas de una base de datos MySQL