domingo, julio 29, 2007

Menudo fin de semana de calor que llevamos, al menos a mi me lo parece. Como os decía el otro día este finde todos mis compañeros de piso están fuera así que me ha tocado estar solo. He trabajado un poco en mi proyecto; a ver si esta tarde continuo otro rato.

El sábado por la mañana me fui de compras a Fuencarral y me compré unas gafas de sol nuevas, con lo que me temo que el dinero que hacienda me había devuelto se ha terminado (si no todo, en su mayor parte ). También estuve mirando los dibujos para el nuevo tatuaje pero no he encontrado nada parecido a lo que buscaba; seguiré buscando.

¿Y qué más contar? Pues la verdad que poca cosa:
  • La semana que viene también se presenta dura en la oficina.
  • Puede que mañana vayamos a visitar un piso a ver en que situación se encuentra y decidir si nos mudamos o no.
  • Mis intenciones de terminar mi proyecto y matricularme en el doctorado este año no se van a cumplir así que el doctorado tendré que dejarlo para el próximo curso.
Y esto ha sido todo mi finde, como veis bastante aburrido, pero es lo que toca. Bueno chic@s, voy terminando que me voy a poner a trabajar un ratillo.

Hasta pronto!
Un abrazo!

viernes, julio 27, 2007

A continuación veremos unos pequeños ( y muy sencillos) ejemplos de uso de algunos de los algoritmos de la librería STL. No soy ni mucho menos un experto pero creo que pueden servir de ayuda si alguien quiere iniciarse en la programación genérica.

En primer lugar definamos un problema; chorras claro está, aunque servirá para nuestros didácticos propósitos. Imaginemos que estamos desarrollando una aplicación que situa puntos en un plano, es decir, nos indica la posición que los objetos tendrían en un mapa. Además supongamos que se nos presenta el problema de determinar si un determinado punto está contenido en una colección de coordenadas determinada. Vamos a resolver este sencillo problema utilizando la librería STL. Comenzemos:

En primer lugar seleccionamos la utilidad std::pair como reprentación de las coordenadas en el plano. Definimos un typedef para no tener que teclear todo el tipo anterior. Algo como lo que sigue:

typedef std::pair COORDENADA_PLANO;

Definamos ahora una colección de puntos en el plano:

//! 1. Vector de puntos del plano
std::vector puntos;

puntos.push_back(std::make_pair(1,1));
puntos.push_back(std::make_pair(-1,1));
puntos.push_back(std::make_pair(3,1));
puntos.push_back(std::make_pair(1,3));
puntos.push_back(std::make_pair(2,1));
puntos.push_back(std::make_pair(1,-2));
puntos.push_back(std::make_pair(3,8));
puntos.push_back(std::make_pair(1,1));
puntos.push_back(std::make_pair(1,1));
puntos.push_back(std::make_pair(3,8));

También podríamos rellenar el vector anterior del siguiente modo (con número pseudo-aleatorios)

std::fill(puntos.begin(),puntos.end(),std::make_pair(rand(),rand()));

La función anterior aplica, desde el comienzo [ begin() ] hasta el final del vector [ end() ], a cada uno de los elementos la función std::make_pair. El functor que se pasa como tercer argumento a este algortimo no espera argumentos.

Pensemos ahora que queremos comparar el punto (3,8) con el la colección de puntos definida en el paso anterior; y que además queremos que dicho puntos nos queden almacenados en otra estructura de datos, por ejemplo,en otro vector. Una posible solución,entre la multitud de ellas que podríamos aplicar, es la siguiente:

//2. Vector de puntos que coindicen con A
std::vector match;
std::remove_copy_if(puntos.begin(),
puntos.end(),std::back_inserter(match),
std::bind2nd(AreDistinct(),A));

En un principio puede parecer complicado pero ya vereis como es muy sencillo:

El algortimo std::remove_copy_if(...) copia aquellos elementos comprendidos en el intervalo [begin,end) al rango comenzado por match, salvo aquellos elementos para los que AreDistinct retorna cierto. Necesitamos un par de artifactos más:

  1. Dado que en un principio no sabemos cuantos elementos coincidiran con A declaramos un iterador de tipo std::back_inserter sobre nuestro vector destino match. De este modo cada coincidencia que el algoritmo encuentre será colocada tras la última.
  2. El algoritmo itera por toda la colección de puntos, y le aplica el functor AreDistinct. Dicho functor espera dos argumentos: el que le pasa el algoritmo en cada una de las iteraciones y el que nosotros queremos comparar con el resto de la colección. Necesitamos hacer un "binding" del segundo argumento: para ello actuamos del siguiente modo: std::bind2nd(AreDistinct(),A) con lo que estamos "forzando" que cada uno de los elementos del vector puntos se compare con A.
Finalmente, si imprimiésemos el resultado de una ejecución con una instrucción parecida a esta:
std::for_each(match.begin(),match.end(),Print_Coordenada(std::cout));

Obtendríamos que los puntos (3,8) y (3,8) coindicen con el punto A=(3,8). Como bien se observa en el código esos dos puntos son los únicos idénticos al punto A.

En el directorio que teneis a la derecha podeis descargaros los fuentes completos del ejemplo (ya vereis que es muy sencillo). Está en la carpeta CodeAndExamples, en el subdirectorio STL; es el archivo algorithms-1.tgz.

Hasta mañana!
Acabo de llegar a casa; lo que he tardado en calentarme un cola cao y encender mi portátil. La intención no era de liarme pero cuando levanté la cabeza para mirar la hora en el teléfono eran las diez de la noche (y todavía no he dado con el quid de la cuestión :( ). Mi intención era acercarme mañana por la mañana a recoger los resultados de la ejecución pero el jefe me ha dicho que ni se me ocurra aparecer por allí por lo que me quedaré en casa. De todos modos preveo un finde aburrido porque ninguno de mis compañeros de piso está en casa; intentaré avanzar un rato en mi proyecto.

Pocas cosas interesantes tengo que contar, se resumen en unas pocas líneas:
  • No creo que me suba a Asturias en lo que resta de verano; los vuelos asequibles que se amolden a mis horarios (y a mi bolsillo) brillan por su ausencia. Me parece muy caro pagar casi 200€ por un fin de semana. Voy a echar de menos todas las fiestas que se presentan (y a la gente que está en ellas, por supuesto) pero es lo que hay.
  • Finalmente el día 10 de Agosto me marcho a Granada a pasar el fin de semana; ya me he comprado los billetes. Me voy a ver a Irene que está allí trabajando; ya tengo muchas ganas de verla :).
  • El viaje a Barcelona depende de lo que Vero me diga aunque parece que ahora está un poco liada así que lo dejaremos para un poquito más adelante.
  • Ya tengo unos billetes para Roma; el día 14 de Setiembre; nos vamos Javi y yo. Con las tasas y el seguro nos ha subido un poquito el precio inicial aunque, a pesar de ello, no ha resultado caro en absoluto.
  • ¡¡¡¡¡ A ver si alguien se anima y me hace una visita en agosto (el finde del 10 no, claro está !!!!!
Y el resto de cosas, como seguro que os imaginais, siguen como hasta ahora, no me puedo quejar. Ya se nota que ha empezado a hacer calor de verdad (en la oficina se está genial con el aire acondicionado) así que preveo alargar un poco la noche para caer rendido en la cama (si es que puedo cansarme más de lo que ya estoy :) ).

Mañana quizás aproveche también para acercarme hasta el centro y preguntar precio para hacerme un nuevo tatuaje: quiero hacerme un enredadera que me suba desde el pie hasta la rodilla (como si se estuviera enroscando). Tengo una idea de lo que me puede costar pero voy a mirar en varios sitios que me han recomendado para comparar precios y ver cual me resulta más económico.

Bueno chic@s, voy a terminar que no quiero aburriros con más tonterías. Ayer por la noche terminé uno de los ejemplos que tenía pensados colocar por aquí así que voy a colocarlo a continuación mientras alargo un poco la noche antes de acostarme.

Hasta ahora!
Un abrazo!

jueves, julio 26, 2007

Esta mañana no voy a la oficina directamente porque tengo una reunión en la Ciudad de la Comunicación; de todos modos me he levantado en el horario habitual para escribir un ratillo (y también para preparar el traje y esas cosas que no sé si me acordaré de hacer el nudo de la corbata jajajaj).

Pocas cosas que contar: mucho trabajo aunque bien encaminado (sinceramente estoy disfrutando igual que un niño con un caramelo con la realización de este proyecto :) ). Y entre semana poco más que contar. A ver si este finde puedo salir un poco de fiesta que parece que tengo ganas.

Nada más quería escribir un ratillo porque no tengo tiempo a más; voy a ducharme y a ver cuánto tiempo tardo en hacerme el nudo de la corbata ;)

Un abrazo!
Hasta pronto!

PD: si alguien se anima a pasarse un finde de Agosto en Madrid ya sabe donde tiene una casa (menos el finde del 10 que posiblemente me marche a Granada a ver a Irene)

domingo, julio 22, 2007

Otro fin de semana que ha sido visto y no visto; debo estar haciéndome viejo pero es que los días transcurren como si fuesen segundos y tengo la sensación de no estar saboreándolo como debiera. Ha pasado casi un año (nada más me resta un mes si Dios quiere) desde que comenzara mi andadura profesional y el balance no puede ser más positivo: he tenido la ocasión de coincidir con excelentes compañeros, tanto profesional como personalmente y estoy muy contento con la decisión que tomé en su momento.Toda esta temporada viviendo entre Asturias y Madrid me ha ayudado a madurar; he aprendido a centrame en las cosas que tiene importancia para mi y para la gente que me rodea.

Si tuviese que escoger uno entre los muchos de buenos momentos que he vivido no sabría con cual quedarme. ¿Y los malos y/o momentos no tan buenos? pues también los ha habido: el día que me trasladé a Madrid, el día que cierta persona (no voy a dar nombres, estoy seguro de que ella sabe quién es) me engañó por segunda vez y alguno más. Si de algo estoy seguro es que de todos ellos he aprendido algo.

¿Y todo ésto a fin de qué os estareis preguntando? Pues nada más quería que supierais que sigo bien, que estoy muy contento y que echo de menos a mucha de la gente que está en Asturias (familia,amigos,...).

Y aunque algunas cosas han cambiado otras siguen siendo como siempre :) ; ayer por la tarde, después de escribir el post, me fui de compras con la intención de comprarme otros pantalones cortos. Nada más salir de casa me dije: "si no los encuentras no te compres nada Migue". Como era de esperar no lo logré jajajjaja así que a pesar de no encontrar los pantalones cortos que buscaba me compré unos nuevos vaqueros GAS que me gustaron mucho. No suelo mirar el precio de las etiquetas cuando algo me gusta; así que los ví,me los probé y me fui a la caja a pagarlos; sorpresa la mía cuando antes de entregarlos veo que los vaqueros cuestan 150€, menos mál que estaban de rebajas :).

Pues creo que eso ha sido todo mi fin de semana; como ya os había contado ayer por la mañana estuve en la oficina un rato y hoy he hecho un día casero; sólo salí a la tarde para tomarme un helado en el Haagen Dazs y darme un paseo.

Tenía casi preparado (me falta un pelín para terminarlo) un sencillo ejemplo de uso de algunos de los algoritmos de la librería STL pero creo que ya he escrito bastante para un solo post.

Hasta pronto!
Un abrazo!

sábado, julio 21, 2007

Ya estoy aquí de nuevo tras unos cuantos días de ausencia; últimamente mi vida está un poco ajetreada con lo que el tiempo disponible para escribir escasea. Si a todo ésto le sumamos que no tengo muchas cosillas que contar, ni tampoco demasiadas ganas, obtenemos un post cada diez días :). A ver si soy capaz de cambiar esta dinámica.

Nadie me ha pedido una explicación pero la doy para que los que visiteis el blog (sé que alguien lee mis tonterías aunque sea de vez en cuando) no penseis que lo he dejado, simplemente la frecuencia de los posteos ha disminuido considerablemente. Como decía en el párrafo anterio, intentaré cambiar esta dinámica y postear más a menudo, aunque tampoco prometo nada.

A parte de estar totalmente inmerso en los dos proyectos que estoy realizando mi vida aquí en la capital sigue siendo más o menos como siempre: aburrida. Esta semana ha sido un poco más entretenida ya que Irene ha estado por aquí durante unos días y hemos quedado unas cuantas ocasiones; además he conocido a Paloma y Alicia, dos chicas muy majas con las que me he reído un montón.

Este finde teníamos pensado ir al parque de atracciones pero Javi tiene que trabajar todo el finde; y yo también he estado esta mañana en la oficina ya que tenía que ejecutar unos procesos bastante largos (así tendré los resultados el lunes :) ). En un principio sólo pretendía ponerlos en marcha pero al final me lié y me puse a terminar unas cosillas que tenía pendientes del otro proyecto en el que estoy trabajando. Aprovechando que el centro comercial donde tenemos las oficinas estaba abierto me acerqué hasta una tienda de telefonía móvil para migrar mi tarjeta de prepago a contrato (ya era hora!) y también, como no, renovar mi terminal. Me he comprado un Nokia N70; fue el que más me gustó entre todos los que estaban dentro de mis posibilidades (me acaba de llegar el mensaje de que me han activado el contrato así que esta tarde puede que me pase a por el teléfono). Como bien sabeis no soy demasiado amante de los móviles pero este me gustaba porque viene con Symbian OS con lo que intentaré programarle alguna cosilla de utilidad.

Y creo que eso es todo, como veis no hay demasiadas novedades por aquí. No tengo ni idea de cuando regresaré a Asturias, en todos los sentidos; ni idea de cuando regresaré al CIDI ni tampoco si me subiré algún fin de semana en lo que resta de verano (de momento no tengo nada planeado). Si que tengo planeado un viaje a Granada posiblemente a mitades-finales de Agosto y puede que uno a Barcelona (dependo de que Vero me diga algo). La próxima semana, si el viernes por la tarde no estoy demasiado ocupado, puede que haga una escapadilla a pasarme el fin de semana en Vitoria junto a Javi y su hermana.

Estaba haciendo memoria a ver si tenía algo más que contar y se me ha venido a la cabeza ahora mismo: estoy buscando un piso para cambiarme y puede que haya encontrado uno que está muy bien. Ya os iré contando a medida que vaya concretando las cosas.

Ahora creo que si he terminado, por fin estareis pensando. Voy a ducharme que me apetece irme de compras. Me voy a dar un peqeño homenaje así que a ver que se mueve por Fuencarral y quizás me acerque hasta la tienda de Carhartt.

Nada más; os dejo una de mis canciones preferidas (además de ser mi videoclip favorito): Sexy Sadie - A scracth in my skin




Hasta pronto!
Un abrazo!

viernes, julio 13, 2007

Hace una eternidad que no escribo pero esta última temporada no tengo demasiado tiempo libre, ni, también hay que decirlo, muchas ganas de escribir, entre otras cosas porque tampoco tengo demasiado que contar.

El fin de semana pasado estuve en Asturias; me hizo mucha ilusión volver a ver a mi familia y a mis amigos de Lastres. Mal tiempo (estuvo todo el finde lloviendo),una pequeña movida y un buen atasco (tanto en la ida como en la vuelta) resumen el pasado finde.

Esta semana ha transcurrido de la oficina a la cama y camino de vuelta; además mañana por la mañana tenemos que pasarnos por la oficina a terminar unas cosas (no madrugaremos demasiado). El finde se plantea no demasiado animado; mis tres compañeros de piso están en León y Vicio finalmente no puede acercarse aunque esta tarde he recibido la llamada de Irene para decirme que está en Madrid así que seguro que mañana pasaremos el día juntos (y puede que se quede en mi casa antes de irse a Granada).

Voy a ir terminando que tengo la ropa en la lavadora y quiero tender antes de irme a la cama. Intentaré actualizar más a menudo aunque no prometo nada porque nos queda un mes y medio de duro trabajo. Tengo dos o tres tutoriales/ejemplos en mente que pueden resultar útiles: un pequeño ejemplo de programación orientada a aspectos (no sé sin con AspectJ o AspectC++), un Visitor basado en templates y un ejemplo de Hibernate. Ahora sólo me faltará el tiempo para terminar de darles forma :).

Hasta pronto!
Un abrazo!

PD: no sé si os conectais a las noticias que aparecen en la derecha, pero si lo haceis y pinchais en Neo Metrics (la empresa donde trabajo :) ) encontrareis notas de prensa relacionadas con la misma. Quiero destacar ésto porque mis compañeros han resultado ganadores en la prueba combinada (dos segundos puestos en las dos tareas) de la KDD; la competición más prestigiosa a nivel mundial de Data Mining; se han impuesto de manera sobresaliente a instituciones,empresas,. . . tales como AT&T,IBM, y un largo ecétera de nombres más que destacables. No tenía ninguna duda de la extraordinaria capacidad de todos mis compañeros, y este premio (os aseguro que se lo merecen) no hace más que corroborar mis impresiones, son unos fieras :). Desde este pequeño rincón darles de nuevo la enhorabuena y animarles para que el año que viene podamos quedar primeros en todas las tareas ;).

¡¡ FELICIDADES MUCHACHOS !!