20 de mayo de 2009

soapui...Un gran Utilitario!

Bueno, ahora que veo...es casi un mes que no posteo algo:P...

En realidad he venido haciendo y aprendiendo mucho este últimos mes en el trabajo y bueno haciendo de todo un poco.

Está última semana he venido trabajando con soapui, un utilitario muy bueno para lo que son las pruebas en lo que respecta a servicios web, SOA y SOAP.

Me pareció demasiado chevere lo que se puede lograr trabajando con soapui y maven. Funciona muy bien también con JUnit, al momento de crear los testcases de los servicios a probar.

Actualmente tengo varios clientes de servicios web generados con JAX-RPC (jars de IBM propiamente). Luego de crear mi capa de acceso a datos y tener toda la lógica de transformación de XML a Beans creados, la pregunta era: ¿De que manera puedo probar todo esto?.

Iniciamos probando creando objeto por objeto...mmm...se volvió tedioso. Investigando y probando, llegamos a soapui.

Soapui funciona de una manera sencilla y rápida. Lo unico que se necesita es tener el WSDL del servicio respectivo, Ouputs válidos(según el WSDL dado).

Creamos un nuevo soapui project en base al WSDL respectivo. Le damos la url donde podremos encontrar el servicio funcionando. Por defecto será en http://localhost:8088/mockServiceXXXX

Luego de ello, debemos colocar los outpus deseados como posible Responses de este servicio de prueba.

Inicamos nuestro servicio y listo. Lo unico que debemos hacer para probarlo desde nuestra aplicación es sobreescribir la url del servicio a probar(http://localhost:8088/mockServiceXXXX).

En proximos posts estaré detallando un poco más el uso de esta herramienta muy util y su integración con maven y eclipse, nuestro IDE favorito.

25 de abril de 2009

Learning by Doing (Haciendo se Aprende)

Me parecio muy interesante lo que se toca en este video. Estoy de acuerdo en ciertas cosas, como por ejemplo en que el tipo de educación que algunos hemos recibido, es mas que nada para memorizar las cosas. La memoria es fragil, y según este video, la práctica es el mejor aliado para un buen aprendizaje.

Que mejor manera de aprender que poniendo en práctica lo estudiado y no teniendolo en la mente guardado sin saber que realmente ello funciona. Probémoslo!.

Otra cosa interesante, ¿por que estudiar las cosas que no nos gustan?.¿Qué si nos ofrecen una educación personalizada, siendo nosotros que elegimos nuestros cursos a seguir?. Wow!

Sin más ni menos, aquí el video!





Saquen sus conclusiones.

Trysume what????

Bueno, pasando por el blog de Armando encontre este interesante video, acerca del Trysumerism, si, suena raro, pero bueno, es acerca de ese tipo de personas que les gusta probar algo y luego cambiarla por otra cosa(Viene del verbo en ingles Try)...prueban, cambian, prueban, cambian...

Bueno, personalmente...mmm...soy de cambiar celular cada año:S...valdrá esto también??jeje..Bueno si mas ni menos, aqui el video. Disfrutenlo!



Wrapper con patrón Decorator

Actualmente me encuentro en el diseño e implementación de una interfase de acceso a servicios (más que nada, llamadas a web services).

Lo que inicialmente se hizo fue lo siguiente:

Interface
public interface DataAccessService
{
public List getCreditCards() throw ServiceException;
}

Implementadora
public class DataAccessServiceImpl implements DataAccessService
{
public List getCreditCards() throw ServiceException
{
...
...
return creditCardsList;
}
}


Hasta aqui todo bien, en la implementadora creamos los inputs necesarios y llamamos al proxy generado para la comunicación con el servicio web.

Ahora, pongamonos en el caso de que el servicio nos devuelve todas las tarjetas (Bloqueadas y No Bloqueadas) y uno de los requerimientos es solo obtener las tarjetas No Bloqueadas.

A continuación la solución planteada:

Interface
public interface DataAccessService
{
public List getCreditCards() throw ServiceException;
}

Implementadora encargada de la llamada al servicio web
public class DataAccessServiceImpl implements DataAccessService
{
public List getCreditCards() throw ServiceException
{
...
...
return creditCardsList;
}
}


Implentadora encargada del filtro
public class FilterDataService implements DataAccessService
{
private DataAccessService dataAccessService;

public FilterDataService(DataAccessService dataAccessService)
{
this.dataAccessService = dataAccessService;
}
public List getCreditCards() throw ServiceException
{
List creditCardsList = dataAccessService.getCreditCards();

// Do something with the result, extra functionality
...
...
return filteredCardsList;
}
}


Como hemos visto, creando la clase FilterDataService, podemos agregar funcionalidad extra luego de llamar a la clase DataAccessServiceImpl, pudiendo aqui realizar el filtro que requerimos. En nuestro ServiceFactory colocariamos algo como esto para obtener la implementacion necesaria:

private static DataAccessService dataAccessService = new FilterDataService(new DataAccessServiceImpl());

public static DataAccessService getDataAccessService()
{
return dataAccessService;
}

Bueno, espero les sirva esto en algún momento en algún proyecto de desarrollo. Yo lo estoy utilizando ahora.

Nos vemos!

17 de abril de 2009

IBM Certified Application Developer - IBM WebSphere Portlet Factory V6.0 - Passed!

Asi es, el dia de hoy aprobé el Test LOT-824: Building Portlets with IBM WebSphere Portlet Factory 6.

Luego de venir utilizando la herramienta por casi 6 meses, bueno creo que se hizo un poco sencillo, solo revise algunas cosas que aún no he puesto en práctica en el trabajo.

La mayoria de temas (casi el 70%) lo pueden encontrar en el Information Center del producto.

Bueno, a seguir aprendiendo y esforzándome!

6 de abril de 2009

Lo que se viene...

Bueno, ya es bastante tiempo que no posteo algo relacionado a lo que ando haciendo y aprendiendo en los proyectos en los que trabajo...

Pronto regresaré con algunos artículos interesantes y algunos buenos tips relacionados a desarrollo en herramientas WebSphere...

Por lo pronto les voy dejando un enlace muy útil gracias a mi compañero Armando.

E-books gratis!!
http://knowfree.net/

Disfrutenlo y amplien sus conocimientos!!!

En Mudanza...

Asi es, para los que aún no saben pues me mude...no de casa, pero si de Sistema Operativo.

Escuchando tanto comentario feo y también leyendo acerca de las "bondades" de Windows Vista, pues decidí mudarme a Open Source...asi que ahora ando sobre Ubuntu Linux...

Como toda cosa, siempre al inicio es un poco dificil pero bueno...se me viene a la mente la celebre frase: "Bienvenido al mundo real"...jajajajja...

Solamente con decirles que el arranque y demás cosas son realmente rápidos y tenemos casi los mismos "cheveres" efectos del windows vista, sacrificando muy pocos recursos...

Perdón windows, pero ya fuiste...

Agracecimientos a: Aldo Fiorentini.

31 de marzo de 2009

Se viene la hora del planeta. 2da Parte!!!

Apoyemos...



Bueno, no creo que apoye tanto asi pero...quiero tambien ver los golazos de brasil pes...

29 de marzo de 2009

Se repite la historia...

Asi es, creo que esta demás escribir esto pero bueno, perdió nuevamente la selección peruana de futbol...Para colmo en su propia cancha...

A decir verdad, había planeado ir al estadio pero felizmente tuve una reunión en la tarde que no me permitió ir. Ahora que la pienso, me ahorre plata jajajaja...Las cosas pasan por algo...

Pero bueno, espero no oir a ningún loco decir mañana:...MATEMATICAMENTE, sacándole la raiz cuadrada a la cantidad de puntos y elevandola luego a la derivada de...TODAVIA PODEMOS IR AL MUNDIAL!...

Siempre hay gente que vive ilusionada en que todavía podemos ir al mundial...pero bueno, nos gusta sufrir a los peruanos creo...asi estemos en la última posición, vamos al estadio...

Cada loco con su cuento...

Arriba Perú!


28 de marzo de 2009

Gracias Nestlé...

Asi es, gracias Nestle por engañarnos y andar diciendo...GRACIAS PERÚ, TODOS LOS HELADOS A 1 SOL...

Sin comentarios sinceramente...pregunto: ¿Alguien logró comprar algun helado que no sea donito, bebe a 1 sol???. Obvio que todos ibamos por un delicioso Sin Parar, Frio Rico, y de esos!!

Pero no, el heladero simplemente decia: No, no, ese es muy caro, no está dentro de la promoción...

Bueno, yo les digo señores heladeros...que entiende usted por TODOS LOS HELADOS A 1 SOL???

Fuera de todo esto...quien quiera que haya sido la persona que dió la idea, pues creo que se olvido de la "viveza" de algunos compatriotas...Mal por Él...

Bueno, me voy a comer un tartufo que compré...

25 de marzo de 2009

Un análisis inicial...

Y bueno, creo que a una semana de la adquisición de esta laptop pues creo que es bueno un pequeño review personal...

Primero que nada, bueno es una DELL Inspiron 1525. Pantalla amplia de 15,4 pulgadas (muy bonita de hecho), un teclado suave y teclas muy cómodas. Lo mejor a mi parecer, el mouse. Suave, muy buena respuesta y casi no se siente cuando haces clic.

Los botones para reproducir multimedia y controlar el volumen son sensibles al tacto, muy chevere.

En cuanto a hardware, bueno, tiene 4Gb de RAM (Kingston), procesador Intel Core 2 Duo de 2.0 GHz. Suena bien eh, pues si, me sorprende la velocidad.

A pesar que tiene Windows Vista Basic, he logrado optimizarla un poco deshabilitando los gadgets y ene cosas que el vista trae para comerse toda tu memoria. Desinstale programas que vinieron pre-instalados que se que nunca voy a usar y bueno, cambie el tema original del vista al más tela. Y vaya que mejoró bastante.

Por el momento, eso es todo lo que he podido apreciar. Veamos que tal rinde cuando instale más cosas.

22 de marzo de 2009

Colgandome de una red WI-FI...

Asi es, si llegan a ver esta entrada, es porque alguna buena persona cerca a mi casa a dejado acceso público a su red WI-FI...

Luego de muchos intentos, logré encontrar una red pública...mientras que alisto la instalación de una red WI-FI en mi casa...

Y bueno, es la primera entrada que escribo desde mi laptop jejejeje...que emoción...lero lero jajajajaja...

Disculpen, esa fue una muestra de mi emoción...

Espero no se corte la transmisión...asi que hasta aqui nomás y doy clic en PUBLICAR ENTRADA...

20 de marzo de 2009

Llegando al fin de semana...

Es bueno pensar en que hoy es viernes. Solamente pensar que mañana podrás descansar y no tener que levantarte temprano, ver un buen programa en la tv y olvidarte un momento del trabajo que a veces nos estresa un poco (No siempre).

Tambien, ver a los amigos el fin de semana, jugar un buen partido de futbol o sino salir con tu flaquita a pasear y conversar de muchas cosas extrañas. La ves pasada estuvimos hablando con mi enamorada de lo maravillo que debe ser nuestro cerebro. El como funciona, como, donde y como procesa la información.

Diran que estamos locos pero de cuando en cuando nos ponemos a hablar de temas como ese. Es interesante, toda una conversación sale de una pregunta o duda.

Y bueno, este fin de semana será motivo para descansar y probar mi nuevo juguete, asi es, estoy saliendo ahora a comprar mi nueva portatil. Veremos que como va.

Bueno, espero pasen un buen fin de semana todos.

14 de marzo de 2009

Se viene una laptop...

Luego de ir a buscar precios, modelos, configuraciones, etc, etc...en el mundo de Wilson y su extensión en Compu Palace ( asi es, hay una tienda nueva casi llegando al óvalo de miraflores si te vas por toda la Av.Arequipa), he escogido el siguiente modelo, a continuación las carácteristicas:

Dell Inspiron 1525

Procesador:
Intel Core 2 Duo T5750 (2.00 GHz/667 MHz FSB/2MB Cache)

Sistema Operativo:
Genuine Windows Vista Home Basic Edition SP1

Memoria:
4 GB Dual Channel DDR2 667MHz

Pantalla:
LCD Panel Glossy, WideScreen 15,4 inch display (1280x800)

Video:
Intel Graphics Media Accelerator X3100

Disco Duro:
160 GB SATA Hard Drive (5400 RPM)

Wireless:
802.11g MiniCard

Batería:
Batería de 6 celdas

Espero puedo adquirirla pronto. DELL siempre me ha sido fiel y duradera, estoy escribiendo desde una Desktop Dell XPS 700 que la compre hace casi 3 años y sigue bien parada...


Asi que, siguiendo la tradición y el buen rendimiento, espero comprar esta laptop.


Denle un vistazo:


13 de marzo de 2009

IBM Certified Application Developer - IBM WebSphere Portlet Factory V6.0 - Preparándome

Asi es. El dia de hoy programé mi siguiente exámen de certificación, esta vez orientada a la herramienta WebSphere Portlet Factory.

He oido que a muchos no les gusta mucho esta herramienta ya que no se programa mucho, no se mete mano al código (Me considero de las personas que les gusta programar, a veces si, digo lo mismo), solo se configuran ciertos wizards y woala, tienes un portlet en cuestion de minutos.

Durante el tiempo que vengo usando esta herramienta (Aprox. 7 meses), he podido experimentar la rapidez en el desarrollo. Al inicio tal vez un poco que el esquema de trabajo que sigue choca un poco con lo que normalmente muchos de nosotros hemos hecho (Ya saben, clases java, HTML, JSP, XML de configuracion y demas, todo a mano!).

He podido tambien experimentar los problemas que hay con lo que respecta a autogeneracion de código (No buenas practicas de programación, poca manipulación del código, performance tal vez).

Pero fuera de estos problemas, creo que no queda duda que la construcción de portlets (sabiendo bien el esquema de trabajo), es realmente veloz.

Pero bueno, creo que es bueno saber los 2 estilos de construcción de portlets. Ya uno luego pueda acomodarse al que mas le guste o se le haga má facil. Hay que estar listo para todo.

Asi que, habiendo visto ya varios temas del Portlet Factory, creo que es momento de poner a pruebas los conocimientos adquiridos durante todo este tiempo.

A estudiar y practicar!

11 de marzo de 2009

Certificación IBM WebSphere Portal V6.0 Solution Developer - Preparación

Bueno, a pedido de Inkaro( Si puedes, dejame tu dirección de blog, email o twitter para conversar ) y demás compañeros, comparto algunas urls de donde pude estudiar ciertos temas que se tocan en el exámen de certificación.

A continuación algunos de ellos:

Architecting a Portal Solution
Install, Set up and Configure the Development Environment
Write a Portlet
  • Muy importante, la especificación JSR 168
  • JavaDoc del Portlet API
  • AJAX en WebSphere Portal
Backend Portlet Services
Testing and Debugging a Portal Solution
Additional Portlet Concepts
  • El siguiente PDF tiene conceptos adicionales, Struts, JSF, Herramientas para el desarrollo de temas, skins, portlets
  • Web Content Manager
Lean también la parte de SDO. Aqui un articulo con su explicación, que es, como funciona, que lo compone.

De hecho, deben complementarlo con un poco de practica, desarrollo de portlets, etc.

Espero les sirva esta pequeña ayuda.

10 de marzo de 2009

Probando!

A ver si llega...Probando el mail2blogger.

Saludos

Finalmente...Mi primera Certificacion

Asi es, luego de haber planeado y estudiado los temas requeridos, obtuve la siguiente certificacion:

IBM Certified Solution Developer - IBM WebSphere Portal V6.0

Esto me anima a seguir aprendiendo e investigando sobre este y otros temas.

Gracias a aquellos que me apoyaron en la etapa de aprendizaje y demas.

Esta es la primera de muchas.

A seguir aprendiendo!!

2 de marzo de 2009

Trabajando con el PUMA SPI

Aqui les traigo el bloque de código que acabo de completar y probar.

El problema: Obtener los grupos de usuario a los que pertenece el Usuario logueado al portal. Todo ello desde un portlet. En mi caso, me sirve porque de acuerdo al grupo de usuario que pertenezca, debo o no mostrar ciertos controles en mi portlet.

Aqui el codigo:

Método init

public void init() throws PortletException{
try {
InitialContext ctx = new InitialContext();
Object homectx.lookup("portletservice/com.ibm.portal.um.portletservice.PumaHome");
if(home != null)
serviceHome = (PortletServiceHome)home;
} catch (Exception e) {
System.out.println("No se encontro el objeto home");
}

}


Método doView

public void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException {

response.setContentType(request.getResponseContentType());

if(serviceHome != null){

PumaHome service = (PumaHome) serviceHome.getPortletService(PumaHome.class);
PumaProfile profile = service.getProfile(request);
PumaLocator plocator = service.getLocator( request );

try {

// Obtenemos el usuario actualmente en la sesion
User usuario = profile.getCurrentUser();

// Preparamos una lista de los atributos deseados
List attributes = new ArrayList();
attributes.add("cn");

// Obtenemos los grupos a los que pertenece el usuario
List groups = plocator.findGroupsByPrincipal( usuario, false );

Iterator group_itr = groups.iterator();

System.out.println( "EL USUARIO PERTENECE A LOS SIGUIENTES GRUPOS: " );
while( group_itr.hasNext() ) {

Group group = ( Group )group_itr.next();
Map group_attributes = profile.getAttributes( group, attributes );
String group_cn = ( String )group_attributes.get( ( Object ) "cn" );

System.out.println( " - " + group_cn );

}

} catch (Exception e) {
e.printStackTrace();
}
}

PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/jsp/html/view.jsp");
rd.include(request,response);

}


Gracias a mi amigo Kenneth por el enlace que me recomendó. Fue muy útil

A mi me sirvió. Ahora necesito esta misma funcionalidad pero implementarla para su uso en Portlet Factory. Estaré colgando la solución en cuanto la tenga.

Prueben este código. Puede ser útil quien sabe cuando!

27 de febrero de 2009

Sample post!

Servicios Portlet - PUMA SPI

Mientras escribo esta entrada, estoy desarrollando un pequeño ejemplo del uso del servicio PUMA (Portal User Management Architecture).

Este servicio nos provee interfaces para acceder a los perfiles de los usuarios o grupo de usuarios en el portal. Podemos hacer uso de este servicio para diferentes actividades tales como: Buscar, Crear, Modificar y Eliminar usuarios y grupos de usuario.

Se utiliza tambien para poder acceder al perfil del usuario que ha iniciado sesión en el portal.

Quiza el día de mañana este posteando el ejemplo que estoy haciendo (que tambíen me será útil la proxima semana en el proyecto en el que estoy).

Actualmente el ejemplo lo estoy desarrollando bajo JSR-168. Esto lo estoy haciendo para ayudar a mi compañero Armando. Y bueno, en mi caso, jugaré con esto también, pero orientado a Portlet Factory (que es lo que me servirá a mi la proxima semana).

Seguire jugando un rato más. De ahi, a dormir!

19 de febrero de 2009

Último Trailer de Transformers - Revenge of the fallen!

Gracias a Mochemon, aqui les traigo el último trailer de Transformers - Revenge of the fallen. Esta en una muy buena calidad!.

Disfrutenlo!

17 de febrero de 2009

Comunicación entre Portlets - Portlet Wiring

Respondiendo a la pregunta de un compañero de trabajo, al cual le envíe un ejemplo de portlets cooperativos.

Dichos portlets los coloque en la misma página, pero surgió la pregunta: ¿Funciona de la misma manera cuando estos portlets estan en páginas distintas?.

Aqui la solución. En WebSphere Portal 6.1 es aún más facil.

Espero les sirva!

16 de febrero de 2009

Tema de Estudio para hoy - Portal Branding

Portal Branding
Branding represents the organization's identity through WebSphere Portal. Branding can include the following:
  • Logo
  • Company colors
  • Navigation
  • Pages
  • Content
Brand reflects the organization's business and practices. Brand is express through theme and skin customization.

What is a theme?
Is a collection of:
  • JSP pages
  • JSP fragments
  • CSS
  • Property Bundles that define de "look and feel" of the portal.
Themes can be applied to:
  • Individual Pages
  • Group of pages by inheritance
Use multiple themes when:
  • The portal has "multiple personalities"
  • Each branch is a "logical" portal (Customer, Vendor, Intracompany)
  • Identifying areas within the portal (Administrative, User area)
What is a skin?
Is a wrapper for a portlet that provides a title and controls.

Is a collection of:
  • JSP fragments
  • CSS
  • Property bundles
A portal can have one or many themes. A theme can have one or many skins.

15 de febrero de 2009

Algunos temas interesantes...

Bueno, estuve revisando mi cuenta en del.icio.us y verdaderamente he recopilado información muy util e interesante. Aqui algunos alcances:

Artículos
HTML Templates in WebSphere Portlet Factory: An Introduction
Page to Page communication between JSR 168 Portlets
Refreshing individual portlets and preferences using Single Portlet Refresh in WebSphere Portal 6.0.1

Recomendaciones
Portlet API Documentation
La API Portlet completa, una manera interesate y completa de aprenderla!. Se las recomiendo de todas maneras!

Portlet Factory Wiki
Ayudas, codigo de ejemplo, tutoriales, mejores prácticas, técnicas. Todo lo que necesitas saber de Portlet Factory lo encuentras aqui!. Esta debe ser tu enciclopedia principal de esta potente herramienta!

Estos son algunos enlaces que recomiendo y personalmente uso a diario y los he aplicado en mi dia a dia en el trabajo.

Si gustan, puedes buscarme como: kazcorp en del.icio.us.

Espero les ayuden estos temas, a los que manejan estas herramientas o a los que recien inician en el tema.

13 de febrero de 2009

WebSphere Portlet Factory - Carga y lectura de archivos en el browser

Asi es, como primera presentación, les tengo aqui un tema muy interesante que me consultaron el dia jueves por la noche. Aqui les muestro el problema y como se llego a solucionar haciendo uso de esta potente herramienta que es el Portlet Factory.

Espero les sea de ayuda como lo fue para mi!

Pronto mas de WPF y demás!

11 de febrero de 2009

Se viene el descanso

Asi es, luego de casi un año y n meses de trabajar sin parar(y tambien, aprender cosas nuevas cada dia)...tendré...ta ta tan!...si!!!...1 semana de vacaciones!!!...woohoo!!...(silencio)...eh, bueno, algo es algo no???.

Aprovechare dicha semana mas que nada para dormir jjejejeje...relajarme, salir con los amigos (que tienen una suerte de estar de vacaciones en la universidad/instituto), aprovechare en visitar la nueva casa de un amigo que recien se ha mudado, para pasar a saludarlo, llevar algo...todo lo anterior es mentira...solo kiero ir para probar su nuevo XBOX 360 jajaja...ta que mas conch...do...

Fuera de las actividades de entretenimiento, tambien pensaba dedicar unos dias a terminar de estudiar unos cuantos temas que tengo aun que leer para el examen de certificacion de Solution Developer - WebSphere Portal 6.0. Esto ya que regresando de vacaciones pienso rendir dicho examen...asi que, a estudiar!!!...De ahi les paso algunos buenos enlaces.

Espero tener tiempo los proximos dias para colocar algunas buenas notas que tengo por ahi guardadas. Mientras, les recomiendo entren al blog de mi amigo Franco...nada de informatica y eso, pero si harto vacilon!

Nos vemos!

6 de febrero de 2009

Tambien viene...

Pronto estare posteando algunas cosas aprendidas en el trabajo, a pedido de Armando y otros. Cosas con respecto a lo que estoy usando en los proyectos en los que participo, una que otra cosa que hago y que en algun momento puede servirle a alguien.

Cosas como:
Este ultimo lo conozco mas y me desenvuelvo mejor. El Segundo lo estoy viendo, practicando, leyendo(Proximo a dar la certificacion).

Pronto.

Finalmente, viernes...

Asi es, esta ha sido una semana distinta, cargada de cosas y tambien, cansada. Como nunca, y por primera vez, estuve iendo a 2 sitios distintos a trabajar. Por las mañanas hasta las 6:30 pm, trabajando por el BCP en la molina, recien abriendo un nuevo proyecto de portlets. Asi es, Integración de Portlet Buscador de Ficha - SRSC. Interesante, y corto(eso dices eh...)

Luego de ello, a las 6:30, cogia mis cosas y salia a Ferreyros a ver unos "temas puntuales" de un desarrollo de portlets con Portlet Factory. El primer dia, llegue a casa a la 1:00 am, si, doloroso, pero es la verdad jeje. Chamba es chamba, no me quejo.

Estuve con mi compañero Armando, ahi trabajando y ayudando en lo que se podia a los chicos ahi...bueno, el, lo enyucaron con un chambon...me atrevo a decir...Armando se lleva muy bien con el Portlet Factory...bien ahi Armando!!

Fue una experiencia muy buena, me ayudo a mi a trabajar mi paciencia, siempre recordando y golpeandome la cabeza cada vez que me hacian una que otra pregunta, diciendome a mi mismo: "Andres, asi empezaste, otros te aguantaron, ahora te toca a ti!.

Y bueno, asi fue esta semana, tengo ya mis tareas para la proxima, pero, es fin de semana, asi que...a descansar!!!

Primer Post

Probando, probando...este es el primer post!