Translate

jueves, 16 de febrero de 2012

Llevar un proyecto a buen término (Procrastinación).

La Procrastinación es el postergar una tarea para después, es decir lo que viene a ser dejar una cosa para luego.

 Una de las razones más habituales para ello y que a todos nos ha pasado alguna vez  es no saber por dónde empezar, tienes que hacer algo, pero dado su tamaño, complejidad o simplemente porque es la primera vez que te enfrentas a algo de esa naturaleza no tienes ni idea de por dónde empezar, aunque  te haces una idea de cómo realizarlo. Para superar este escollo inicial con éxito se puede seguir esta metodología:

-         Dividir en tareas más pequeñas, entendiendo como tarea algo que debe dar un resultado, algo tangible o intangible, pero de cada tarea se debe obtener un resultado, un resultado que nos indicará si vamos en el buen camino, porque ese suele ser una de las mayores inseguridades cuando hacemos algo por primera vez, saber si lo que estamos haciendo sirve para algo, sin embargo al dividirlo en partes más pequeñas y concretas es más fácil saber si lo que hemos hecho es de utilidad. No es importante el orden en el que deben realizarse estas tareas, lo importante es definirlas e ir llevándolas a cabo, obtener resultados, por supuesto resultados que ayuden a completar el objetivo total que hemos dividido en esas tareas.
-          Una vez definidas , debemos saber todo lo que nos hará falta para llevarlas  a cabo, así una vez empecemos a realizarlas no perderemos tiempo buscando los materiales.
-          Planificar el tiempo que nos llevará las tareas siendo realistas, ayudará a mantener una agenda más ajustada.
-          Una vez que tenemos desglosado en tareas suficientemente pequeñas de las que se pueda obtener algo , una acción concreta, si alguna de estas tareas es demasiado grande podemos volver a comenzar a desglosarla y así hasta que tengamos tareas concretas y realizables.


Esto se podría complementar con  la filosofía de Kaizen, que resumidamente vendría a ser ir perfeccionando el producto en sucesivas revisiones, es decir primero hacerlo y luego perfeccionarlo, esto es muy aplicable ya que al realizar una tarea como la anterior y dividirla en tareas más pequeñas podemos perder mucho tiempo pensando en como quedaría mejor lo que queremos en lugar de hacerlo y luego mejorarlo, pero primero hazlo, porque si no al final te encontrarás pensando en que hacer sin haber hecho nada y encontrando cuando te pongas en marcha que lo que pensaste puede no ser realizable. Gestionando así nuestro  proyecto es bastante probable que desperdiciemos menos tiempo en ponernos en marcha, que a lo largo del año son muchas horas tiradas al limbo, por no decir a la basura, cuando pudieron haber sido aprovechadas en actividades mucho más útiles, ya sea haciendo otros proyectos o utilizándolas como ocio.

Para llevar a cabo esto de forma ordenada podría ser de utilidad alguna herramienta del tipo evernote , Google-calendar,  Google-Docs etc. dónde se podrían  ir anotando estas tareas de forma ordenada, además como todo se va almacenando en la nube permite realizar cambios desde cualquier terminal simplemente accediendo a tu cuenta desde tu portátil, smartphone o pc de un amigo, siendo de gran ventaja el poder trabajar desde cualquier sitio sin perder un valioso tiempo en sincronizar todos tus avances.

Para saber un poquito más:
Filosofía de Kaizen 

martes, 14 de febrero de 2012

Código QR

Qué es el código QR? Su funcionamiento sería familiar al de un código de barras, pero funcionando en dos direcciones, es un código bidimensional , mientras que un código de barras es unidimensional, sólo detecta espesor de las barras. Fue lanzada al mercado  en Japón en el año 1994 y su uso se hizo más comercial desde que los móviles en este país incluían  sistemas de reconocimiento de códigos QR, de forma que cualquiera pudiera leerlo. Así por ejemplo en una tarjeta de presentación dónde el espacio es bastante reducido se podría introducir todas las  direcciones de contacto en la red , a saber: enlace a  perfil en  linkedin, Twitter, blog… esto tiene un uso claro con los smartphones, así no es necesario introducir datos en el terminal, sino que sólo sacando una foto se obtienen  todos los datos. Para mi el beneficio más claro de esta tecnología es el poder enlazar el medio escrito físico, es decir desde el papel, con internet.

Para leer estos códigos QR en un smartphone es necesario tener una app que sea capaz de descodificarlos, yo os recomiendo Google Goggles que es gratuita y además de leer códigos QR hace otras muchas  cosas como reconocer fotos, lugares, monumentos, leer texto. De hecho con la utilización del Goggles se podría obtener mucha más información de una imagen registrada, pero claro no sería exactamente lo mismo, mientras que el código QR tiene grabada la información en el propio código, con el goggles se crearía un vínculo a la información almacenada en Internet, que sería igual de útil, pero no lo mismo.
En Internet existen diferentes páginas que codifican un texto, información de contacto etc a  un código QR, a continuación os enlazo tres codificadores de código QR:
-          Ticweb :En esta web se puede elegir distintos elementos a codificar , un texto de hasta 160 caracteres , información de contacto, una dirección web…
-          Kaywa :en esta web también se puede elegir distintos tipos de codificación , con la diferencia que el texto a codificar puede ser de hasta 250 caracteres.
-           Qurifyen este otro sólo se puede codificar un texto, pero la ventaja es que se pueden codificar hasta 255 caracteres.


Ya para terminar para obtener  información más específica y técnica sobre código QR os paso el enlace a la web de Denso-wave. 

Espero que os haya servido para algo lo que os he contado, si tenéis alguna sugerencia no dudéis en hacérmela llegar, un saludo Manu.




viernes, 10 de febrero de 2012

Mi experiencia con Machine Learning (I)

Ya llevo un par de semanas siguiendo las clases de machine learning , uno de los cursos online gratuitos de la universidad de Stanford, dónde el profesor Andrew Ng nos lleva a una iniciación a la materia.

Resumiendo un poco el machine learning consiste en hacer que una máquina ,por si sola , sea capaz de aprender a realizar una tarea. Implementando estas técnicas es como una máquina  puede aprender , por ejemplo, a ver. Enseñándole  una serie de imágenes ,le decimos lo que es cada cosa, así aprenderá a reconocer lo que ve, más  o menos como nosotros no? Jeje .No sólo se queda ahí, no vayan a pensar que esto se queda sólo en robots y cosas que ahora pueden ver de poca utilidad, es como por ejemplo  Gmail reconoce si un correo es spam o no, tomando como ejemplos que tipo de correos descartamos y cuales no.

Por ejemplo, en una de las primeras prácticas del curso se aprende como desarrollar una algoritmo de reconocimiento de números manuscritos , a partir de una serie de 5000 ejemplos la máquina aprende a reconocer números con una eficacia del 97%. En concreto este panel de números los reconoció sin ningún error, por cierto implemente yo el algoritmo jeje.

Y como demonios  hace una máquina para aprender en base a ejemplos? Bien, El aprendizaje de la máquina puede ser supervisado(supervised learning), este es el caso en el que se le muestra una serie de ejemplos ,  o sin supervisar(unsupervised learning). Ahora hablaré un poco de cómo funciona el  aprendizaje supervisado, que es hasta dónde tengo avanzado el curso.

Cuando el  aprendizaje puede es  supervisado, se proporciona una serie de ejemplos de forma que a partir de éstos  la máquina aprenda a hacer una determinada tarea, siendo cuanto más bueno cuanto mayor sea el número de ejemplos que le proporcionemos. Partiendo de una función H, puede ser un polinomio , una función de sigmoid… , el objetivo es ajustar esta función, a través de los parámetros de la función H de forma que represente de la mejor forma posible el conjunto de ejemplos que proporcionamos.

Cómo ajustamos esta función a los ejemplos? Aquí ya se transforma en un problema de optimización, dónde se deben buscar los parámetros de H de forma que minimice una función de coste  J . Función ésta que evaluará la diferencia existente entre la función definida por nosotros H y el valor real del ejemplo , consiguiendo con la optimización de los parámetros de H ajustar J de forma que la máquina vaya mejorando su precisión a la hora de realizar la tarea fijada, “aprendiendo” a hacerlo a base de ejemplos, como cuando somos pequeños y se nos dice esto es un coche, a partir de este ejemplo reconocemos más coches, la primera vez que vemos algo nuevo podemos confudirnos, por ejemplo al ver un tractor por primera vez pensaremos que es un coche, pero automáticamente este se transformará en un nuevo ejemplo y mejorará nuestra percepción del mundo. Es así como enseñándole 5000 números manuscritos y diciéndole cuál es cuál reconocera por si misma los números.

El machine Learning es una parte fundamental en el desarrollo de la IA, inteligencia artificial, ya que gracias a ello la máquina será capaz de aprender por si misma de forma que realice sus funciones eficientemente.
Aquí os pego una conferencia sobre robótica, está en inglés pero se entiende muy bien no se asusten, el ponente es Andrew Ng el mismo que da el curso online de Stanford, Machine Learning.
De todas formas os recomiendo que os apuntéis al curso de machine learning, cuya nueva edición debe estar a punto de empezar.

jueves, 2 de febrero de 2012

El puente arco más largo de España




En este vídeo se puede ver de forma muy instructiva la construcción de un puente arco, en este caso El viaducto sobre el embalse de Contreras. Siendo proyectado por el estudio de ingeniería Carlos Fernández Casado S.L. , con Javier Manterola a la cabeza del proyecto.

Consta , con sus 261 m. de luz del arco principal, como el puente arco más largo de España y el puente arco ferroviario más largo de Europa. Para una mayor descripción de la tipología constructiva de este puente recomiendo este enlace :