25 diciembre 2009

Mi saludo navideño! =)

Un saludo para todos los visitantes de mi blog! =)

22 octubre 2009

The Fun Theory

TheFunTheory.com es un site dedicado al pensamiento de que algo tan simple como la diversión puede ser la forma más fácil de cambiar el comportamiento de las personas. Es una iniciativa de la empresa Volkswagen.

11 octubre 2009

Spring Community Day Lima 2009

Se viene el evento más esperado por la comunidad de programadores de Spring de Lima... El Spring Community Day Lima 2009.


Fecha: Jueves 29 de Octubre del 2009
Hora: 07:00pm - 10:30pm
Lugar: Universidad Peruana de Ciencias Aplicadas (UPC) - Aula Magna








La comunidad Spring Perú tiene el agrado de invitarlos al 2do Spring Community Day Lima 2009. Este es un evento anual de difusión de Spring, el líder en infraestructura y gestión de aplicaciones empresariales en Java.
El evento se centrará en el desarrollo de una aplicación JavaEE, desde cero hasta las características avanzandas, utilizando Spring Framework. Los expositores irán rotando, explicando, programando y comentando sobre los diferentes módulos de Spring.
Los asistentes podrán descargar el código de la aplicación demo de un repositorio Subversion para hacer seguimiento y entrar en más detalles. La aplicación se desplegará en la nube, en el Spring CloudFoundry.
El ingreso es totalmente libre, el registro en el site es para ingresar a la UPC, el ingreso al Aula Magna es por orden de llegada.
Fecha: Jueves 29 de Octubre del 2009
Hora: 07:00pm - 10:30pm
Lugar: Universidad Peruana de Ciencias Aplicadas (UPC) - Aula Magna
Agenda
06:45pm - 07:00pm: Ingreso
07:00pm - 07:15pm: Presentación de Spring Perú
07:15pm - 09:30pm: Demo en vivo
09:30pm - 10:00pm: Preguntas y cierre
10:00pm - 10:30pm: Coffee Break
Expositores
1. Spring Testing: Gustavo Quiroz
2. Spring MVC: Susan Inga, Ricardo Ávila
3. Spring Core: Lennon Shimokawa
4. Spring Dao: Jonathan Lara, Mayer Horna
5. Spring Security: Edson Chavez
6. Spring CloudFoundry: José Diaz

Pueden ingresar a la web del evento para mayor información: http://communityday2009.springperu.org/

08 octubre 2009

El miedo a la equivocación

Comenzare este post contando una situacion:

Erase una vez el señor X a quien desde pequeño le habian inculcado en lo prestigioso e importante del exito asi como quien acierta es el mejor y el fallar es inaceptable. En cierta ocacion el señor X se enfrento a un problema el cual solo tenia tres dias para resolver y que, en sus años de experiencia laboral, no se habia enfrentado antes motivo por el cual, ante le miedo al fracaso y al que diran ante su rpta de "yo no se", comenzo a investigar y amancecerse tratando de encontrar la rpta. Y que causo esto? Le causo un sin fin de sesanciones ngativas como la ansiedad, stress, irritabilidad, y demas actitudes contraproducentes para el debido a su forma de pensar. Pasaron los dias y adivienen que....? no encontro la solución en cambio su compañero el señor "Y" a pesar de no conocer del tema al igual que el se puso a investigar pero con otra actitud. La actitud con que el señor "Y" busco la solucion fue una actitud de aprendizaje, de no buscar ser "el que sabe" o "el que tiene la rpta" sino de encontrar la solucion por motivacion propia y si no la encontraba bueno el no se incoodaba ya que hizo el intento con toda su capacidad y sitiendo que hizo su mejor esfuerzo.

Ya se habran imaginado como se habra sentido el señor X ante dicha situacion verdad?

El objetivo de este post es ver si uno ante alguna situación toma la actitud del señor X o del señor Y. ¿ Somos de los que se enfrentan a los problemas como una obligacion de resolver ya que el fracaso es algo inaceptable y totalmente contraproducente o tomamos una actitud mas positiva en la cual afrontamos el problema con todo lo que tengamos y si tropezamos aprendemos y utilizamos eso como experiencia y motivo de mejora?

En el trabajo normalmente el error de alguien se toma como algo totalmente negativo, algo que nunca se deberia cometer , pero al final uno aprende mas de sus errores y de los cometidos por los demas que leyendo un sin fin de libros, articulos o nunca teniendo errores. Uds que opinan? Cuantos han tenido que afrontar algun problema y ha caido pero a la sgte oportunidad ha salido adelante con un añadido que los haya enriquecido mas como personas y profesionalmente a comparacion de nunca haber caido y por ende no haber aprendido?.

En escencia uno siempre tiene miedo a equivocarse por un sin fin de motivos pero ese miedo no debe ser motivo de decaimiento o aprisionamiento. La vision de una posible equivocacion o caida debe de ayudarnos en vez de trabarnos. En lo personal tomo ese tipo de situaciones como un reto, es decir no pienso en el que diran o que el mundo se va acabar si fallo, he de pensar en lo bien que me voy a sentir al saber que puede resolverlo y si no lo seguire intentando hasta solucionarlo; o aprendere de alguien quien me pueda ayudar (siempre hay un factor de ego que hay que combatir) .

Tomen conciencia de las preguntas nacidas de estas situaciones y vean que incluso los problemas, equivocaciones , tropiezos, etc no son solo una traba sino una ayuda , un motivo para mejorar en cuanto a como hacemos las cosas y como reaccionamos a ellas , asi como una manera de poder lograr nuestros objetivos y que sensacion mas gratificante es el poder leventarnos o afrotar nuestros temores y salir adelante con nuestra "cicatriz" o "marca de guerra" como muestra de nuestra evolución personal.

Saludos.

22 septiembre 2009

Presentación sobre Log4j

Emmerson Miranda publicó en su blog una presentación que hizo con el fin de explicar las bondades de Log4j. Es muy instructivo y recomendable para ver.

21 septiembre 2009

¿Cómo funciona StreetView?

Una amena animación de Google Japón que nos explica de forma sencilla el funcionamiento de StreetView.

10 septiembre 2009

Calendarios - Wallpapers para Setiembre


Smashing Magazine acaba de publicar 50 calendarios - wallpapers para Setiembre del 2009

08 septiembre 2009

Software Freedom Day Perú 2009


El Software Freedom Day -SFD- o Día de la Libertad del Software, es un evento que se realiza a nivel mundial el tercer Sábado de Septiembre de cada año. Tiene por objetivo difundir e incentivar el uso del Software Libre, demostrando sus beneficios y ventajas.
La primera edición del SFD se realizó en en agosto de 2004, contando con la participación de más de 70 equipos de trabajo al rededor del mundo. En la edición del 2008 se llegó a tener más de 500 equipos de trabajo en más de 90 países. Quieres saber más, visita ONG Software Freedom Day.
Día y Hora:
Sábado 19 de Septiembre, de 9.00 am a 1.00 pm y de 3.00 pm a 6.30 pm.

Lugar:
Universidad de San Martin de Porres -Av. La Fontana 1250 Urbanizacion Santa Patricia 2da etapa la molina
¿Que vamos a hacer en este día?
1. Educar al público asistente, acerca de los beneficios de usar el Software libre -FLOSS- de alta calidad en Casa, la Educación, en el Negocio, el Gobierno y de hecho todas partes.

2. Compartir conocimiento valioso.

3. Estimular y energizar a los entusiastas a que se conozcan, se unan y hagan parte de los proyectos de cada una de las comunidades del software libre.

4. Nutrir nuevos procesos de emprendimiento, conectando en el mismo lugar a emprendedores, desarrolladores y diseñadores estimulando interesados.

¿Que pueden esperar los visitantes al evento?
1. Ampliar su red de contactos y encontrarse con sus pares

2. Ganar conocimiento valioso

3. Enterarse de las tendencias del mercado

4. Identificar a los grupos y comunidades del Perú así como sus proyectos actuales

Inscribete aquí y celebra con nosotros la Libertad del Software!

Ver post original aquí: Software Freedom Day Peru 2009

29 agosto 2009

Yo Quiero Ser un Blog Star

Durante el evento por el BlogDay pasaron este video musical que amenizó muchísimo la noche.

28 agosto 2009

JUnit... probando sale mejor


En estos días estoy asistiendo a una capacitación interna sobre Buenas Practicas en el Desarrollo de Software.

El martes pudimos trabajar con JUnit, no es la primera vez que trabajo con dicho utilitario, pero el recordatorio me ha caído como anillo al dedo.

Cada vez que programamos un método lo hacemos para que cumpla con una función en particular, y por tanto, siempre queremos que el resultado se de tal como lo esperamos. Entonces, bajo esta premisa, necesitaríamos ir preparando casos de pruebas, a fin de que, al finalizar la implementación, podamos verificar que lo que hemos hecho cumple su cometido. Esta necesidad de nos lleva al uso de esta herramienta.

Recuerdo, que cuando estaba en el instituto (y bueno, muchos programadores novatos lo hacen suelen hacer) solíamos escribir nuestro método "main" para poder hacer nuestras pruebas. Realmente, esto no ayudaba mucho porque las pruebas que intentábamos realizar eran algo flojas y poco consistentes, además de que veíamos nuestras clases con líneas de código que en realidad no debían estar allí.

Con JUnit, tenemos la posibilidad de probar nuestras clases sin tener que modificarlas para este fin. Adicionalmente, gracias a la integración con Eclipse y Ant, podemos ejecutar los casos de prueba (previamente elaborados) en cualquier momento dentro de nuestro desarrollo, de manera que podemos verificar si los métodos que implementamos cumplen adecuadamente con los requerimiento u objetivos trazados.

Puede ser que más de uno diga "no tengo tiempo para hacer ello" o "toma mucho tiempo elaborar los casos de prueba!", sin embargo, los invito a reflexionar y contabilizar sobre el tiempo que demoran tratando de hallar la causa de un problema, que en muchas ocasiones son provocados por errores humanos.

12 agosto 2009

En Miraflores es difícil saber dónde tomar un taxi



Hoy tuve la oportunidad de estar en Miraflores almorzando con una amiga.

Había oido con anterioridad de que los taxis ya no paran en la Av. Larco y que ahora hay paraderos para taxis.

Gracias a Dios mi amiga vive en Miraflores y sugirió que encontramos a un custodio para preguntarle dónde quedaba el paradero más próximo; sin embargo, para mi que no soy miraflorino, y encima si no hubiera escuchado sobre la noticia, me hubiera resultado complicado encontrar estos paraderos porque no hay señalización de tipo alguno visibles desde la Av. Larco.

El burgomaestre debería tomar en cuenta este detalle.

A continuación, les dejo algunas fotos que corroboran el vídeo anterior.

Jamendo.... música libre, legal e ilimitada

Tras todo el problema que hay con APDAYC hoy en día y tras escuchar la, al menos para mí, lamentable entrevista a Armando Massé que le hicieron ayer en un programa radial. Pues viene a bien buscar alternativas de música que esté libre de la jurisdicción de la entidad antes mencionada.

Es así que aparece Jamendo.

¿Qué es Jamendo?
Tal como ellos declaran: "Jamendo es una comunidad de música libre, legal e ilimitada, publicada bajo licencias Creative Commons."

Poseen una biblioteca de más de 23000 canciones a nuestra disposición para descarga.

Tienen, además, la posibilidad de contratar planes comerciales para radiodifusión, uso empresarial o usos no compatibles con las licencias Creative Commons, lo cuales ofrecen diversas ventajas, como el ahorro de cánones de las sociedad de gestión de derechos.

11 agosto 2009

Twiteros visitaron el Circuito Mágico del Agua



El 31 de agosto tuvimos la oportunidad de realizar un paseo por el Circuito Mágico del Agua, gracias a la convocatoria de PeruInside, a través de Jorge Alvarado, @peruinside en Twitter. La pasamos muy bien y tuvimos oportunidad de conocer a parte de la comunidad Twittera de Lima. En PeruInside podemos encontrar la galería de fotos que se tomaron en esta oportunidad.

Acá les dejo con algunos videitos cortesía de PeruInside

Nuestra próxima salida será un Tour nocturno al cementerio Presbítero Maestro. Si desean ir revisen el enlace (inscripciones antes del 17 de agosto) =)



07 agosto 2009

A imagen y semejanza

Lamentablemente, tiene parte de verdad lo que le dice Don Sata; una viñeta de Alberto Mont de su blog Dosis Diarias altamente recomendable.

24 julio 2009

Mi paseito por Lima

El día miércoles fue mi primer día de vacaciones y dada la situación creí divertido salir con mis padres, bah! lo cierto es que al principio nos fuimos a Gamarra a cambiar una prenda que había adquirido. Después de varias horas logré hacerlo; asi que les propuse ir al centro de Lima.

En el Centro de Lima, estuvimos paseando por el mercado central, viendo cosas; en un determinado momento llegamos a Aycha, una carnicería que se encuentra en la esquina de Huallaga y Ayacucho. En este lugar, además de vender carnes, también venden anticuchos de carne y de pollo; ufff.. muy buenos.

Luego de un rato en la cuadra 5 de Andahuaylas, cerca al cruce con Junín, encontramos La sombrerería El siglo; tiene muchos diseños; bastante simpáticos y a la medida.

Para finalizar mi pequeño recorrido por Lima, llegamos a "Los autenticos churros españoles de la virgen del Carmen", tan largo como su nombre son sus años, pues es un lugar que ha estado por más de 40 años y aunque no tienen el mismo local que al principio, no dejan de preparar esos deliciosos churros que durante años me han cautivado el paladar. Es una parada casi obligada. Cómo serán de buenos los churros que más de una vez no he podido conseguir siquiera uno porque vuelan.








22 julio 2009

20 Blogs Peruanos - Lanzamiento de la Edición 2009


Y ya se viene la 2da edición del concurso "20 Blogs Peruanos", bajo la organización de Paginas Amarillas, LaMula.pe y Perublogs.com; seguro que con la difusión y las últimas movidas en la red la competencia será reñida.

Si desean saber más del concurso pueden revisar la info disponible en http://www.20blogsperuanos.com/.

12 julio 2009

El matrimonio y el divorcio

Encontré este video con un mensaje muy interesante sobre el Matrimonio y el Divorcio; si estan pensando en divorciarse, echenle un vistazo al video :)

21 junio 2009

Empuja tu vaquita


Hace un tiempo atrás había publicado esta historia que guarda un gran mensaje... tomense unos minutos para leerla, les aseguro que aprnederán mucho...
Empuja tu vaquita
Un maestro de la sabiduría paseaba por un bosque con su fiel discípulo, cuando vio a lo lejos un sitio de apariencia muy pobre, y decidió hacer una breve visita al lugar. Durante la caminata le comentó al aprendiz sobre la importancia de las visitas y el hecho también de conocer personas y las oportunidades de aprendizaje que se obtienen de estas experiencias.
Llegando al lugar constató la pobreza del sitio, los habitantes, una pareja y sus tres menores hijos, la casa de madera, vestidos con ropas sucias y rasgadas, sin calzado. Entonces se aproximó al señor, aparentemente el padre de familia y le preguntó: “En este lugar no existen posibilidades de trabajo ni puntos de comercio tampoco, ¿cómo hacen usted y su familia para sobrevivir aqui?.”
El hombre muy pausadamente le respondió: “Amigo mío, pasto no nos falta nunca y tenemos una vaquita que nos da varios litros de leche todos los días. Una parte del producto la vendemos o lo cambiamos por otros alimentos en la ciudad vecina y con la otra parte producimos queso, cuajada, etc., para nuestro propio consumo y es asi como hemos venido sobreviviendo”.
El sabio agradeció la información, contempló el lugar por un momento, luego se despidió y se fue. En el medio del camino, volteó hacia su fiel discípulo y le ordenó: “Busca la vaquita, llévala al precipicio que se encuentra allí en frente y empújala al barranco”.
El joven espantado vio al maestro y le cuestionó sobre el hecho de que la vaquita era el medio de subsistencia de aquella familia. Mas como percibió el silencio absoluto del maestro, fue a cumplir la orden. Así que empujó la vaquita por el precipicio y la vio morir. Aquella escena quedó grabada en la memoria de aquel joven durante algunos años.
Un día el joven resolvió abandonar todo lo que había aprendido y regresar a aquel lugar y contarle todo a la familia, pedir perdón y ayudarlos. Así lo hizo, y a medida que se aproximaba al lugar veía todo diferente, con árboles floridos, todo habitado, con un auto en el garaje de tremenda casa y dos niños jugando en el jardín.
El joven se sintió triste y desesperado imaginando que aquella humilde familia tuviese que vender el terreno para sobrevivir, aceleró el paso y llegando allá, fue recibido por un señor muy simpático, el joven preguntó por la familia que vivía ahí cinco años atrás, el señor respondió que seguían viviendo ahí.
Espantado el joven entró corriendo a la casa y confirmó que era la misma familia que visitó hace algunos años con el maestro. Elogió el lugar y le preguntó al señor: ¿Cómo hizo para mejorar este lugar y cambiar de vida?.
El señor entusiasmado le respondió: ” Nosotros teníamos una vaquita que cayó por el precipicio y murió, de ahí en adelante nos vimos en la necesidad de hacer otras cosas y desarrollar otras habilidades que no sabíamos que teníamos, así alcanzamos el éxito que sus ojos vislumbran ahora”.
Todos nosotros tenemos una vaquita que nos proporciona alguna cosa básica para nuestra sobrevivencia la cual es una convivencia con la rutina, nos hace dependientes, el mundo casi se reduce a lo que la vaquita nos produce. Atrévete a descubrir cual es tu vaquita para empujarla por el precipicio…

13 junio 2009

Sobre la masacre en Bagua... (El Perú es multicultural presidente!!)



Para empezar el objetivo de este blog no es hablar sobre temas políticos. Sin embargo, tras lo ocurrido en Bagua deseo hacer un paréntesis a la temática habitual de este blog para dejar plasmadas algunas ideas que tengo sobre este tema.

Es dificil para mí comprender el porqué la clase política, en general y el Apra en particular, busca que nosotros nos a
daptemos al gobierno en curso; siendo que somos un país multicultural, no es descabellado pensar que es el gobierno el que debe adecuar su política a las diversas culturas y costumbres existentes en el territorio peruano.

También, no es dificil saber que las naciones indigenas son naciones guerreras por costumbre y que consideran a su territorio su casa; solo que a diferencia de nosotros su casa es en realidad las bastas extensiones de la selva peruana, lugar en el que viven, superviven y mueren sin pedir apoyo de ningun

gobierno.

De alli que no sea dificil entender que los pueblos amazónicos tengan que luchar por sacar de su casa a los que los invaden, exactamente igual, a como cuando un ladrón intenta entrar en nuestro domicilio.

Algunas cosas que quiero declarar...

... soy descendiente de los antiguos pobladores de la capitanía general de Maynas, territorios que fueron colonizados por europeos que subieron por el amazonas.

... manifiesto mi rechazo rotundo a las acciones tomadas por este gobierno y, por supuesto, a su ineptitud e incapacidad moral para dirigirnos.

... yo no elegí a Alan, y ni él ni su partido me representan.

... el mal menor... creo que no era tan menor como muchos pensabamos.

... es todo.

30 mayo 2009

Multitouch Barcelona... HI

Gracias al amigo @gonmipaa pude ver este simpático video...


Hi from Multitouch Barcelona on Vimeo.

Página falsa del Scotiabank...

El día de ayer me di con una ingrata sorpresa. Mi PC se encontraba con una especie de Xploit que simulaba la página del Scotiabank. A continuación les presento algunas imágenes de esta web falsa.


Presten atención al campo adicional... nuestros amigos de Scotiabank NUNCA nos pedirán ingresar la 2da clave desde el inicio.

Ingresé un número de tarjeta cualquiera...Este fue el mensaje que recibí.


Revisé mi archivo host ubicado en C:\WINDOWS\system32\drivers\etc. Encontré que había sido alterado con los siguientes datos:


216.246.79.163 www.viabcp.com
216.246.79.163 viabcp.com
216.246.79.163 http://viabcp.com
216.246.79.163 www.viabcp.com/zona_publica/01_persona/index.html
216.246.79.163 http://www.viabcp.com/viabcp.com/zona_publica/01_persona/index.html
216.246.79.163 http://viabcp.com
216.246.79.163 www.scotiabank.com.pe
216.246.79.163 scotiabank.com.pe
216.246.79.163 http://www.scotiabank.com.pe/index2.shtml
216.246.79.163 www.banreservas.com.do
216.246.79.163 banreservas.com.do
216.246.79.163 http://www.banreservas.com.do

Tengan cuidado con los archivos adjunts que puedan recibir. Pueden ser troyanos, virus o xplots.

27 abril 2009

Anchored... hermoso y emotivo video

Gracias a Arturo Goga pude ver este hermoso e emotivo video... sobre el mismo cito lo mencionado por Arturo:

Otro corto animado? Así es. Este tenía que ponerlo sí o sí. Se trata del trabajo final de Lindsay Olivares, su tesis para graduarse del Ringling College of Art + Design.

Es una pequeña historia que nos cuenta la historia de un náufrago, y el de su chica, que lo espera en la orilla. Al empezar a escuchar la música, mi sonrisa, que apareció luego de ver la manera impecable que hacía uso del cel-shading y la genial animación de sus personajes, empezó a curvarse hacia abajo, pues no soy muy fan de Mika. Sin embargo, segundos después, la música por fin halló su camino y se pudo notar, finalmente, que es el corto el que gira en torno a ella, y funciona muy bien.

Pero mejor denle un vistazo, son 3 escasos minutos que, les aseguro, disfrutarán:




Armando > Excelente video!!!

25 abril 2009

Trysumerism... pruebas algo y luego lo cambias

Paseando por el amplio mundo de la red encontré el siguiente video en el que Antonella Broglia nos explica sobre el "Trysumerism", que en buen romance es la tendencia, que tienen algunas personas, de probar algo y luego cambiarlo por algo nuevo.

Balzac.tv: Trysumerism

Se colgó mi iPod... ¿qué hago?

Bueno... hoy en la mañana mientra iba a hacer unos trámites prendí el iPod, seleccioné la opción Suffle Songs, apareció la primera canción y allí quedó...

... era la primera vez que me pasaba y no tenia idea de qué hacer, estaba preocupado más aun porque la pantalla se quedó prendida por largo rato y pensé que podría quemarse o algo así...
... sin querer queriendo, y después de probar con varias combinaciones, mantuve presionados tanto el botón central como el botón de Menu por un rato y waláh! Apareció la manzanita... y listo! volvió a la normalidad.

Filtro de objetos con un atributo repetido

Escenario
Se retorna una colección de objetos proveniente de los WebServices y se requiere filtrar, la colección, de forma tal que solo la primera ocurrencia de cada valor atributo repetido quede dentro de la colección. Eliminar los demás duplicados.

Solución 1 - No muy buena
Al principio yo planteé controlar la duplicidad de objetos a través de un flag y una segunda colección de objetos a la cual enviar los objetos. A continuación les pongo mi solución:
List tempCommActions = dataAccessService.getCommercialActions(userLoginId, cic);
List commercialActions = null;
        if (tempCommActions != null)
        {
            commercialActions = new ArrayList();
            boolean flag = true;
            for (int i = 0; i < tempCommActions.size(); i++)
            {
                CommercialAction bean1 = (CommercialAction) tempCommActions.get(i);
                for (int j = 0; j < commercialActions.size(); j++)
                {
                    CommercialAction bean2 = (CommercialAction) commercialActions.get(j);
                    if (bean1.getCampaignCode().equals(bean2.getCampaignCode()))
                    {
                        flag = false;
                        break;
                    }
                }
                if (flag)
                {
                    commercialActions.add(bean1);
                }
            }
        }

Esta solución no termina siendo muy eficiente por la cantidad de objetos que se manejan, además de las reiteradas iteraciones a las listas.

Solución 2 - Mejor
Pero, consultando con uno de mis compañeros... encontramos una mejor manera de implementar esta solución. Para la cual empleamos un iterator para recorrer la lista y un objeto de tipo Set que nos serviría para ir guardando el atributo que comparamos.
        List commercialActions = dataAccessService.getCommercialActions(userLoginId, cic);

        Set visitedCampaignCodes = new HashSet();        
        for (Iterator iterator = commercialActions.iterator(); iterator.hasNext();)
        {
            CommercialAction commercialAction = (CommercialAction) iterator.next();
            if (visitedCampaignCodes.contains(commercialAction.getCampaignCode()))
            {
                iterator.remove();
            }
            else
            {
                visitedCampaignCodes.add(commercialAction.getCampaignCode());
            }
        } 

Genial no? Y eso que mi compañero agregó... "es posible que haya una mejor solución aun". :P

24 abril 2009

Openfire... Mensajería y chat rooms!

Curioseando el día de hoy en busca de cómo implementar un servidor para proveer servicios de mensajería y chat rooms, encontré dos cosas interesantes... la primera, es Openfire. Openfire es un sistema de mensajeria instantánea GPL, hecho en java y que utiliza el protocolo jabber. Es bastante simple de instalar y es fácilmente integrable con clientes de mensajería abiertos, como el caso del Pidgin.

La segunda cosa interesante que encontré como parte del episodio #508 de Hak5, es la instalación del Openfire en 10 minutos que aunque está en Linux nos da una pauta de por dónde va este asunto. Por mi parte, yo probé la instalación en Windows y les aseguro que es fácil y rápida. :D

A continuación les dejo este episodio de Hak5 (en inglés).

Thanks Hak5 for this espisode!!! :D

23 abril 2009

Un nuevo nombre...

Empleé el título de "1x1 de Armando" en alusión a conversaciones que sosteníamos con algunos amigos y en los que señalábamos que, al irnos de casa para llevar una vida más independiente, a veces empezamos en cuartitos chicos... ¿te imaginas tener en casa una habitación de 1 m2? ¿Qué cosas pondrías allí? Bueno, si logras responder dicha pregunta... es más o menos lo que traté de plasmar en este blog.

Como verán ahora mi rincón en la basta red ha cambiado de nombre... quizá porque se ajusta un poco a algo que pasaba cuando era más chico... desarmar cosas (y nunca volverlas a armar)... jajaja...quizá noten un poco de cambios en cuanto a la temática de este blog... pero alli le andaremos.

Saludos a todos... y gracias a aquellos que de alguna forma u otra terminan llegando por acá :D

13 abril 2009

Fin de semana largo...


Y bueno, el fin de semana largo se terminó. Pero fue una buena oportunidad para divertirme, pasear, salir con los amigos y cambiar algunas cosas en mi pc.
Por sugerencia (o diría yo insistencia) de mis amigos Aldo y Andres cambié mi sistema operativo de Windows XP a Ubuntu (ocho punto algo). La experiencia de instalación fue interesante, el wizard me pidió algunos datos y al cabo de un rato ya tenía el Ubuntu instalado en mi PC. El funcionamiento, para alguien que anda Windowmizado, puede tener algunos inconvenientes por el lado de la configuración y más aun, los permisos cuando brindas acceso a otros usuarios. Debo reconocer que la velocidad para ejecutar algunas cosas ha aumentado, sin embargo, aun sigo pataleando con algunas aplicaciones 'substituto', porque no funcionan como yo deseo.

En fin, no me daré pro vencido... lo bueno es que mi familia está siendo paciente en aprender a usar Ubuntu :)

04 abril 2009

IBM Certified Solution Developer - Passed

Y a la segunda fue la vencida... hace poco menos de un mes rendí el Test 829 - IBM WebSphere Portal 6 Application Developer y lo había fallado; asi que lo he vuelto a tomar y lo aprobé :D.

De ahora en más buscaré rendir otris examenes.

11 marzo 2009

[IBM] Celda y Nodo

Dos conceptos que, en ocasiones, solían confundirme cuando configuraba un datasource en WAS eran la Celda (Cell) y el Nodo (Node).
 
Una Celda es un concepto de configuración, una forma en la que el administrador puede agrupar una serie de Nodos.
 
Un Nodo es una agrupación lógica de Servidores Administrados.
 
 
Celda:
Nodo:
 

10 marzo 2009

Generar XML para instalación de portlets y páginas en WPS

Lo primero que se debe hacer es instalar y configurar bien los portlets en nuestro portal de desarrollo. Esto incluye aplicar temas, establecer unique-names, crear etiquetas, páginas, etc.

Luego, ubicar la plantilla correspondiente segun el tipo de XML de instalación que querramos generar dentro de la carpeta <portalserver-dir>\doc del portal. Para este caso emplearemos ExportPortletAndPage para que nuestro instalador se genere incluyendo la estructura de etiquetas y páginas que ha de crear.

Reemplazar con los uniquename de las etiquetas o páginas, segun el caso, y el uid del webmodule, este último tal como el que se encuentra en el archivo portlet.xml del proyecto correspondiente y agregar el atributo export-descendants="true" a los tags que corresponden a las paginas o etiquetas a fin de que se incluyan a las páginas que desciendan de ellas.

<request
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="PortalConfig_1.4.xsd"
type="export">

<!-- sample for exporting a page with portlet -->
<portal action="locate">
<web-app action="export" uid="pe.apiconz.portlet.SampleProject_pkg1.webmod"/>
<content-node action="export" uniquename="pe.apiconz.page.samplepage1" export-descendants="true"/>

</portal>
</request>


Guardamos la plantilla modificada.

A continuación, ingresamos a la carpeta <portalserver-dir>\bin y ejecutamos el siguiente comando (tomar en cuenta que la plantilla la guardamos en esta misma carpeta):

<portalserver-dir>\bin> xmlaccess -in ExportPortletAndPage.xml -out installPortlets.xml -user wpsadmin -password wpsadmin -url http://localhost:10038/wps/config

Donde xmlaccess es el nombre del utilitario que posee el portal para la generación y ejecución de estos archivos XML, ExportPortletAndPage.xml es el nombre de nuestra plantilla modificado, installPortlets.xml es el nombre que le estamos poniendo a nuestro archivo de instalación que se va a generar; wpsadmin representa, tanto al nombre del usuario administrador y su correspondiente contraseña y en el último parámetro colocamos la ruta de configuración del portal.

A continuación modificamos la ubicación de nuestro WAR a instalar.


<url>file://localhost/$server_root$/installableApps/SampleProject_pkg1.war</url>

En este caso lo estamos configurando para que el WAR lo encuentro dentro del directorio installableApps que se ubica dentro de la carpeta del portal.

Nota: Tomar en consideración que según el ambiente los valores en los campos owner y subjectid podrían variar.
Ejecutar la siguiente linea de comando.
<portalserver-dir>\bin>xmlaccess -in installPortlets.xml -user wpsadmin_desa -password wpsadmin_desa -url http://localhost:10038/wps/config

TIP
Si el portlet application que vamos a instalar no posee múltiples instancias de un mismo portlets en diferentes páginas podemos hacer la siguiente modificación para eliminar y volver a subir el módulo:

Abrir el archivo generado, para este caso installPortlets.xml y agregar la siguiente línea antes de las líneas que corresponden a la instalación:
<web-app action="delete" uid="pe.apiconz.portlet.SampleProject_pkg1.webmod"/>

Con esto nos aseguramos de eliminar la aplicación y así evitar que se quede pegado o que aparezca algun bug en la instalación.

Es importante considerar que para la configuración efectiva para los grupos de usuarios estos deben alinearse con la jerarquía mostrada en http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/topic/com.ibm.wp.ent.doc/wpf/sec_resources.html y que el archivo de instalación debe corresponder a la versión del portal que se tenga instalado.

23 febrero 2009

Cooperative Portlets (1) - Teoría



Una de las ventajas del portal es la posibilidad de crear nuevo flujos a través de la reutilización de portlets y la posibilidad de enviarse información entre sí. Esto último se hace posible mediante el concepto de Cooperative Portlets.

Cooperative Portlets (Portlets Cooperativos) se refiere a la capacidad que tienen los portlets dentro de una página (o diferentes páginas) para compartir datos entre sí. Los portlets cooperativos pueden reaccionar ante acciones provenientes desde un portlet fuente.

Los portlets cooperativos se suscriben a un modelo de declaración, publicación y compartir información empleando como intermediario al Websphere Portal Property Broker. Los portlets se suscriben al property broker y publican los datos o propiedades a compartir ya sea como proveedor o receptor.
  • El portlet que provee el dato se denomina source portlet.
  • Las propiedades que el source portlet publica se denominan output properties.
  • El portlet que recibe el dato se denomina target portlet.
  • Las propiedades que el target portlet recibe se denominan input properties.
Los portlets cooperativos pueden ser tanto de origen (source), destino (target) o ambos.

Esta caracterísitica es muy útil, por ejemplo podríamos tener el desarrollo inicial de un portlet que busque información de clientes y, posteriormente, podríamos desarrollar portlets que recibiendo el número de documento de identidad muestren resumenes de sus datos u otras operaciones.

Algunos enlaces:
Comunicación entre Portlets - Portlet Wiring
Desarrollo de Portlets de Cooperación
Inter Portlet Communications IPC JSR168

13 febrero 2009

Lima Twestival 2009


Bueno, ayer se llevó a cabo el Lima Twestival 2009, evento organizado por un grupo de 'twitters' de Lima con la finalidad de, además de reunir a la gente que emplea Twitter, juntar la suma de US$1000.00 para apoyar a la ONG Charity:water. Para leer un poco más sobre la organización del evento pueden revisar este post.

Mi experiencia con este evento fue la siguiente: a las 7.45 pm aproximadamente, me encontré haciendo un cola para ingresar al local. Mi sorpresa fue grande cuando encontré a mi pata @yog_sototh. Después de hacer la entrega de mi mini pase impreso en hojas usadas, me dieron un polo y un sticker del evento.

Luego, ingresé al ambiente en el que se encontraba la gente twittera en el que me recibieron dos simpáticas anfitrionas de Telefónica, una de las cuales me regaló un llavero. Buen inicio.

Al cabo de un rato de estar mirando a la gente me senté en una de las mesas y entablé conversación con @mxkro, estudiante de la carrera de Ing. Industrial de la UNI. Pasada media hora después, y tras haber tomado dos revistas DedoMedio que regalaban, llegó el amigo @LocoDiego, quien fue el que me pasó la voz sobre el evento. Él me prestó su laptop para ir twitteando desde el evento.

Se llevaron a cabo varios sorteos de los cuales gané un bolso de Tica (que obviamente regalé a mi hermana) y una caricaturización por parte de la gente de PeruCartoon.

En líneas generales el evento estuvo bastante bueno, fue ameno, la gente chongueó harto e incluso se llegó a transmitir en vivo. Lo únco malo fue que no se logró llegar a la meta de los US$ 1000.00, tan solo se recaudó US$ 616.00. Esperemos que la próxima ocasión si se llegue.

Bueno, por el momento esto es todo, en los proximos días estaré posteando las fotos y videos que se tomaron durante el evento.















Lima Twestival 2009

Lima Twestival 09 por The_Ghost
Lima Twestival 2009 por Arturo Puente



Enlaces relacionados:
12/02 Primer Festival Twitter: Twestival en Lima (RPP) - video
12/02 Primer Festival Twitter: Twestival en Lima (RPP) - fotos

23 enero 2009

Tuneando WebSphere Portal 6.1 para desarrollo

Mientras instalaba el WebSphere Portal Server 6.1 en mi PC, encontré una tarea que se puede ejecutar inmediatamente después de la instalación y que permite mejorar el rendimiento del portal. Esta tarea no se debe ejecutar en un ambiente de producción, sino exclusivamente para desarrollo.

06 enero 2009

Resolviendo el error "Unsupported major.minor version 49.0"

El día de hoy mientras intentaba correr una pequeña aplicación Java me salió el siguiente error:

Unsupported major.minor version 49.0

Al principio pensé que el error se debía a algun tema de lógica o del servidor, sin embargo, luego supe que este error se debía a que se intentó correr una clase compilada con JDK 1.5 en un ambiente JRE 1.4, el cuál fue el que dió el error. Esto se da por motivo de las nuevas características introducidas en la versión más reciente de Java y que no están presentes en la versión anterior.

Para resolver este error tuve que verificar que versión del compilador se está empleando y cambiarla por la más apropiada (en mi caso la tuve que bajar a 1.4).

Acá les dejo un enlace sobre este tema. Resolving the “Unsupported major.minor version 49.0″ Error

04 enero 2009

Feliz Año Nuevo 2009


Bueno, hace unos 3 días que empezamos este nuevo año y desde este rincón de la blogosfera deseo que todos los que leen este blog puedan alcanzar sus metas y objetivos trazados!! :D