Blog personal de Sergio Madrigal donde encontrar textos sobre ciencia y tecnología, psicología, cine y literatura y quizá alguna cosita más.

Categoría: Informatica (página 3 de 5)

Bit a bit

Gestiona tu tiempo con WatchMe

A la hora de organizarnos y planificar las tareas, cada día nos encontramos con una serie de dificultades y obstáculos que nos complican llevar a buen término nuestro plan inicial.

La gestión y eficiencia de nuestro tiempo es, sin lugar a dudas, uno de los pilares fundamentales para lograr este éxito.

Una estupenda forma de monitorizar el tiempo que dedicamos a cada tarea es mediante este pequeño programa gratuito: WatchMe!

Con él podrás contabilizar el tiempo que empleas en realizar determinadas tareas y programar alarmas cuando se supere determinado umbral de tiempo.

Pequeño, simple pero terriblemente útil si queremos que la gestión de nuestro tiempo sea mucho más exacta.

Y lo que es más importante: gratis.

Web de descarga | http://www.flamebrain.com/Default.aspx?tabid=2318

Consejos programación PHP

Ha llegado el momento de sumergirme de lleno en la programación orientada a objetos haciendo uso de PHP, es por ello, que resulta interesante, antes de comenzar a programar, tener en cuenta una serie de premisas básicas:

7 sencillas normas a la hora de programar en PHP/POO:

  • Una clase: un archivo php. Nunca escribir en un mismo documento php más de una clase. Fuera del contenido de la clase no escribiremos ningún procedimiento/método/función o parte de código.
  • Guardar cada archivo con un nombre que lo identifique claramente. Una buena forma de seguir un orden es emplear el propio nombre de la clase precedido de un prefijo que identifique el tipo de archivo. Por ejemplo, para la clase «BaseDeDatos» podríamos guardarla como class.basededatos.php.
  • Emplear siempre minúsculas para los archivos. Esto generará menos confusión a la hora de gestionarlos.
  • Hacer lo mismo para el caso de interfaces: interface.basededatos.pho o para las clases abstractas/finales: abstract.basededatos.php, final.basededatos.php.
  • Utilizar la nomenclatura «Camel» para las clases, esto es, diferenciar las palabras empleando mayúsculas. Un ejemplo es la clase anterior: BaseDeDatos.
  • Para el caso de las variables empleamos la misma nomenclatura.
  • Para el caso de los métodos, la primera palabra comenzarla con minúscula: setType().

Definiendo este tipo de normas tendrás un proyecto desde el comienzo unificado de forma que conforme vaya creciendo en contenido no te encuentres ante una montaña de archivos sin sentido.

Remobo – Crea VPNs al instante

Una de las utilidades que mayor crecimiento a nivel empresarial ha sufrido a lo largo de estos últimos años gracias a la evolución constante de internet es la VPN.

Por VPN (Virtual Private Network) entendemos la conexión entre dos extremos a través de internet mediante una conexión segura y cifrada que emula a una conexión punto a punto.

Resulta muy interesante para delegaciones conectarse con la matriz empleando la infraestructura de red de Internet sin necesidad de pagar costosas líneas dedicadas y disponiendo de prácticamente las mismas ventajas que ofrecen éstas a un precio muy inferior.

A través de Feedmyapp he ido a parar a una interesante aplicación que permite la configuración de una conexión VPN de forma prácticamente inmediata.

Al parecer, Remobo, que así es como se llama la susodicha aplicación, establece conexiones VPN de manera simple entre dos equipos conectados a la red, resultando interesante para trabajar con ella a nivel particular: conectarnos desde el PC del trabajo al de casa de forma segura, cifrando el contenido y con la conexión encriptada.

www.remobo.com

Mañana la probaré en el trabajo y os dejaré mis impresiones por twitter.

Eliminar campos NULL con MySQL/PHP

Hace unos cuantos días tuve que supervisar la migración de una serie de bases de datos antiguas almacenadas en formato CSV a un nuevo sistema basado en MySQL.

Uno de los problemas que aparecieron durante el proceso de migración fue el de que los campos vacíos eran rellenados, en el caso de que éstos fueran de tipo texto, con el valor NULL.

El siguiente script realiza un repaso rápido de la base de datos buscando en el campo que se le indique los valores NULL y los sustituye por un espacio en blanco.

";
echo "";
echo "";
echo "";

}else{

$campo = $_POST["CAMPO"];

// Fase I: Establecimiento de la conexión. 
$link=mysql_connect("localhost","root","")or die(mysql_error());
$db = mysql_select_db("contactos",$link) or die(mysql_error());
echo "

Conexión a base de datos realizada con éxito.

"; // Fase II: Seleccion de base de datos y bucle de reemplazo: $sql = "update contacto set ".$campo." = \"\" where ".$campo." = \"NULL\""; // Ejecutamos la consulta $query = mysql_query($sql); // Comprobamos el resultado $error = mysql_error(); if( $error )echo 'Hubo un error en la consulta' ; else { $filas = mysql_affected_rows (); echo 'Filas afectadas: ' . $filas ; } } ?>

Nota: Es importante que en este caso, se busca el valor de texto NULL y no el carácter especial NULL. Si lo que buscamos es reemplazar este segundo, bastará con modificar la línea SQL de la siguiente forma:

$sql = "update contacto set ".$campo." = \"\" where ".$campo is null;

Google Goggles

Google no deja, ni creo que lo haga en un futuro cercano, de sorprendernos. Hoy nos aparece con una buenísima idea que va a dar mucho de que hablar en los próximos días.

Google Goggles es como se llama la pequeña criaturita que, junto con el sistema operativo para teléfonos móviles (Android) que ha desarrollado el gigante de internet, nos va a permitir hacer una infinidad de cosas gracias a aunar dentro de la misma aplicación la información procedente de la cámara integrada en el dispositivo, la geolocalización procedente del GPS y la información que se pueda obtener a través de internet

Gracias a esta genial herramienta vamos a poder caminar por cualquier calle de cualquier ciudad y disponer de la información necesaria para encontrar un restaurante, una farmacia, un buen cine o dónde comprar un libro que andamos buscando.

Pero como lo mejor en esta vida es ver las cosas con los ojos de uno mismo, mirad el vídeo promocional de la aplicación:

Vía | genbeta.com.

Sincronizando proyectos.

Uno de los problemas, desde mi punto de vista, al que se tiene que enfrentar todo desarrollador web es el hecho de que tenemos la necesidad de desarrollar nuestro contenido en distintas ubicaciones y bajo distintos equipos.

Esto nos plantea la obligación de, tarde o temprano, unificar el proyecto para no estar «haciendo por un lado y deshaciendo por otro».

Existen una serie de sanas costumbres a la hora de realizar cualquier proyecto web que nos van a permitir agilizar y simplificar este proceso.

En primer lugar, debemos tratar de separar todo lo posible las distintas fases del desarrollo web: intentemos no mezclar el proceso de obtención de datos o desarrollo de bocetos, con el de diseño final o depuración de detalles. No tiene sentido que en el momento que estamos definiendo la estructura de nuestro proyecto nos centremos en describir un detalle pequeño de una de sus partes.

En segundo lugar, es necesario separar los elementos que componen un proyecto web. Esto es, definir un motor de funciones, un esquema HTML y el diseño gráfico de la forma más independiente posible. De esta forma permitiremos que varias personas trabajen simultáneamente en el proyecto sin que se estorben.

Finalmente, otra buena costumbre es permitir el sincronismo del proyecto. Esto me recuerda a una serie que hace años echaban por TV y en la que sus protagonistas, unos jóvenes aventureros, decían eso de «¡¡Sincronicemos nuestros relojes!!». Aquí pasa algo parecido. Debemos disponer de la información, de forma accesible en un servidor (bien en la intranet o bien en internet) que permita a los usuarios trabajar en distintas partes de un mismo proyecto y que sus modificaciones queden almacenadas de forma inmediata. Aptana, del que hablaremos largo y tendido por aquí, y del que ya comentaba algo bitelemental en su post sobre el mismo, permite sincronizar los proyectos a través de FTP/SFTP.

En definitiva, esto no son más que unos pequeños trucos para que a la hora de ponernos a desarrollar un proyecto no nos encontremos con la desagradable situación de disponer de 15 versiones del mismo y no saber qué partes son las importantes en cada versión.

Instalando Ubuntu

Tenía la intención desde hace ya bastante tiempo de ponerme a tocar un poco las distribuciones de Linux y meterme, con calma, en todo ese mundillo.

Hoy ha sido el día en el que he decidido dar ese paso. Mi intención es instalarme en el portátil Ubuntu 9.10 «Karmic Koala» y además, para más inri, hacerlo desde un USB y no desde un CD (no tengo ganas de gastar por enésima vez un CD para luego no hacerlo).

Primer paso – búsqueda de información.

Gracias a San Google, voy a intentar informarme y documentarme de la forma correcta de instalar Ubuntu desde un lápiz USB.

He encontrado este artículo [http://bit.ly/s88wV]. Te pide que grabes un CD (algo que NO quiero hacer), pero cabe la posibilidad de montar la ISO en una unidad virtual y el proceso no se altera (resuelto el problema).

Segundo paso – descarga de la imagen.

Dudo, que es lo que me pasa siempre, entre la versión Gnome o la versión KDE. Optaré esta vez por la KDE por ver qué tal es la última versión de la que tanto se ha hablado.

La imagen la descargaré de http://bit.ly/jp1Da.

La cosa va para unos 20 minutos, gracias a Telefónica, así que aprovecho que ya es algo tarde y voy a cenar. Mientras, os dejo con un Briconsejo:

«Si quieres sacarle más partido a las latas, siempre puedes usarlas (después de despejar la tapa con un abridor) de porta-lápices».

Tercer paso – montaje de la imagen.

Ya ha pasado un día, anoche llegué demasiado cansado y lo dejé estar. Hoy he vuelto a la carga. He intentado emplear Syslinux como sistema para montar la distribución sobre el USB y que ésta fuera booteable, pero ha sido imposible. Siempre terminaba apareciéndome el error de «Sector read error» y poco más.

Optó por emplear otra de las herramientas recomendadas, UNetbootin.

Parece, a priori, que éste sí que funciona. Además, tiene como ventaja con respecto a Syslinux que emplea un entorno gráfico.

Ya está. Vamos a reiniciar y vamos a decirle desde la BIOS que queremos que cargue el sistema operativo desde el USB.

Cuarto paso – Instalación de Kubuntu.

Finalmente, una vez que hemos preparado nuestra BIOS realizamos el proceso de instalación de forma convencional. Ahora mismo ya os estoy escribiendo desde mi portatil con Kubuntu instalado.

10 leyes de Murphy versión «freak»

De Punto Geek nos llega está curiosa e interesante lista de 10 leyes del famoso Murphy aplicadas al entorno informático/tecnológico:

  1. Todo gadget fallara un día después de que expire la garantía.
  2. Cuando quieres demostrar a alguien que algo no funciona, funcionará
  3. Nunca tendrás un disco duro del tamaño necesario.
  4. El servicio de atención al cliente nunca resolverá tus dudas.
  5. La probabilidad de que un CD y/o DVD caiga con los datos hacia el piso es directamente proporcional a la importancia de los datos o al costo del disco.
  6. Cuando quieras demostrarle a alguien que algo sí funciona, no funcionará (o se te caerá la conexión).
  7. Nunca apagas el teléfono móvil porque nadie te llama – excepto cuando estés en esa reunión importante o un examen, y te haga quedar muy mal.
  8. El nuevo iPod siempre saldrá 2 semanas después de que te compres el tuyo.
  9. La velocidad de descarga es inversamente proporcional a las ganas de ver el capítulo que estés bajando.
  10. Seas contador, psicóloga, taxista o instructor de yoga, para tus familiares siempre serás el soporte técnico gratuito (y te llamarán a cualquier hora y en cualquier situación).

Algunas son bastante buenas. Si tenéis alguna más sois libres de proponerla en los comentarios.

Launchy – Ahorra tiempo

En la actualidad, probablemente una de las mejores herramientas para entornos Windows, sobretodo en cuanto a eficiencia de trabajo se refiere, es, sin lugar a dudas, Launchy.

Con esta herramienta sencilla, tendrás acceso a través de la combinación de teclas que tú elijas a un menú emergente que te permitirá cargar cualquier cosa: aplicaciones, el navegador (con búsquedas directas en Google, YouTube, Wikipedia, etc.) además de poder programar palabras clave que te abran determinadas páginas web, o determinadas aplicaciones con parámetros específicos.

La velocidad a la que se puede trabajar y el ahorro de tiempo que el uso de este software supone no debe pasar desapercibido para aquellos que estamos mucho tiempo frente al ordenador y que, cuando precisamos de un determinado programa o de realizar una búsqueda específica, el proceso tradicional nos resulta excesivamente lento e ineficiente.

Supongo que los usuarios de Linux y de Mac (sobretodo estos últimos) ya dispondrán de aplicaciones similares.

Web de descarga | http://www.launchy.net/

18 diseños basados en pinceles de Photoshop

Desde esa página web podréis acceder a una lista de 18 diseños que han hecho uso de los pinceles de Adobe Photoshop.

Además de poder ver el diseño realizado, tendréis acceso a tutoriales y descargas para poder llevar a término diseños similares de forma muy intuitva y guiada.

Sin lugar a dudas, Photoshop es una herramienta tremendamente útil para el diseñador web gráfico, puesto que con su potencia y con los complementos que ofrece en forma de plugins, pinceles, acciones, etc. permite realizar trabajos profesionales muy cuidados.