¿Que falta en tu vida que te gustaría conseguir? (II)

octubre 2, 2010 Deja un comentario

Bueno ya han pasado 15 días desde el últimio post/declaración de intenciones.

Hagamos un pequeño repaso de las cosas:

- Lo del peso no ha variado…es decir, sigo pesando lo mismo…aun tengo 15 dias para reconducir el tema .

- Programación IPhone. Algo se está moviendo. No puedo decir más.

- Clientes para mi futura posible empresa….aun nada…había 3 meses para ello.

- Constancia, concentración….es lo que más ha aumentado en mi desempeño diario. Pero se que aún puedo mejorar.

¿Y vosotros como llevais vuestra lista?.

Gracias por leerme.

Categorías:Personal

¿Que falta en tu vida que te gustaría conseguir?

septiembre 17, 2010 Deja un comentario

Ayer 17 de Septiembre de 2010 estuve hablando con un amigo por messenger aprovechando su baja por una contractura y su reposo en casa, ya que en su trabajo esa herramienta (aunque aquí en España no se tenga el concepto de herramienta de trabajo asociado a programas de mensajería) se encuentra capada y estuvimos viendo juntos una serie de cosas que nos agradaron y nos frustraron al mismo tiempo (sobre estas cosas hablaré en otro post).

Empiezo hablando de tecnología, de su uso y aplicación, posibilidades y mentalidad hacia la misma. Pero acabaré hablando de otra cosa.

Resumiendo, vimos (y muy por encima) algunas capacidades de Delicious para compartir favoritos, además vimos servicios online de servidores de svn, Springloops, y hablamos de la capacidad de Google Docs para poder de forma remota generar/compartir/trabajar con documentos.

Mi amigo vio el enlace a mi blog que tengo en mi Delicious (lo tengo ahí no se porque) y entró a leerlo. Creo que antes debió de quitarle las telarañas al mismo porque la verdad hacía mucho tiempo que no escribía nada (mea culpa tamaño king size). Lo poco que tenía mi blog le gustó. Me preguntó porque había dejado de escribir en el blog. No supe responderle.

Así que yendo de camino a recoger a mi hijo mayor de Karate (y con tres años y medio, que monstruo) empecé a meditar sobre la pregunta: ¿porque dejé de escribir en el blog?.

Rebobinemos en el tiempo.

Tras una de mis crisis de concentración/motivación en el trabajo y su desempeño encontré no recuerdo donde una alusión al blog de Berto Pena (lo tengo aquí en mi blog en la derecha, como uno de mis favoritos) sobre productividad y gestión personal. Leí varias entradas. Me gustó. Me afilié a su podcast que es de pago(es poco dinero, lo pagué con gusto por varias razones) y empecé a escucharle.

Las cosas que dice son de lógica, e intenté poco a poco aplicarlas. En ese tiempo me embarqué en la aventura del blog, ya que me encanta aprender cosas nuevas y venía viendo muchas reseñas a WordPress…pues me tiré a por WordPress. Hice el blog, elegí una serie de temas. Empecé a publicar posts en los ratos libres que mi trabajo me dejaba. Siempre he querido desarrollar para Mac, me compré mi segundo Mac (un macbook, mi primer mac, iMac G5 Rev. B, murió), pagué una licencia de desarrollo de Apple para iPhone (esta no la pagué con tanto gusto), me bajé manuales para aprender a desarrollar con XCode/Objective-C y empecé a estrujar el día para buscar tiempo para aprender a desarrollar para iPhone.

Luego dejé de escribir en el Blog.

Después, dejé de intentar aprender a desarrollar para iPhone.

¿Que pasó?

Demasiadas cosas a la vez.

Se me viene a la mente una de las primeras cosas que Berto Pena dice en sus podcasts…” No intentes hacer pocos grandes cambios, sino muchos pequeños cambios. Y no todos a la vez. De uno en uno”.

Por eso, tras hablar con mi amigo y a partir de una conversación con mis padres hace unas semanas me pregunté a mi mismo.

¿Que tengo en mi vida que me gusta, que tengo que no me gusta y que no tengo que me gustaría conseguir?

  1. Me gustaría pesar menos, estar en forma, hacer deporte (como antes).
  2. Me gustaría tener mi propia empresa.
  3. Me gustaría aprender cosas interesantes y actuales relacionadas con mi trabajo.
  4. Me gustaría ser capaz de concentrarme en las cosas más fácilmente que ahora.
  5. Me gustaría ser capaz de ser constante y productivo.

(La lista podría seguir, hay cosas que en una segunda lectura he quitado, pero vamos a ir poco a poco. Si pusiera todo a la vez pues intentaría todo a la vez y…otra vez batacazo.)

Voy a poner unos objetivos a conseguir poco a poco para cada cosa, realistas y con tiempo marcado. Y dejando aquí en el blog constancia cada cierto tiempo de is progresos.

  1. Peso ahora 96 kilos. Mi objetivo va a ser perder un kilo al mes.
  2. Para tener mi propia empresa, debería tener antes asegurados una serie de posibles clientes. Cada 3 meses he de haber encontrado al menos 1 cliente.
  3. Voy a aprender correctamente a programar en iPhone. En 6 meses he de tener creada al menos 1 aplicación.
  4. La concentración, la constancia y la productividad son tareas que me auto-impongo a partir de ahora mismo. En un mes he de ver cambios.

Los tiempos pueden parecer en algunos casos muy grandes (1 cliente cada 3 meses), pero hay que tener en cuenta que actualmente trabajo por cuenta ajena (es decir, ocupo parte del día en trabajar), tengo dos niños y una vida social bastante activa (y a ninguna de las dos cosas pienso renunciar) por tanto el “tiempo libre” que me queda es poco, y como puse antes los objetivos han de ser realistas.

Me encantaría leer tu lista de “¿Que falta en tu vida que te gustaría conseguir?”.

Por cierto, si no os habéis fijado no hablo de nada material en la lista.

Gracias por leerme.

Categorías:Personal

Vamos a subirnos al carro de HTML5

febrero 16, 2010 Deja un comentario
Esta semana estoy un poco liado sin embargo voy a intentar hacer un hueco entre validaciones y demás tareas del trabajo y voy a intentar tener un post semanal relacionado con HTML5. Más concretamente ejemplos prácticos de lo nuevo que tiene HTML5.
Porque HTML5 tiene bastantes novedades y también un buen número de tags que desaparecen. Si quieres ver rápidamente que hay de nuevo y que desaparece en HTML5 te recomiendo HTML5 Visual Cheat Sheet (Reloaded) .
Así mismo hay una serie de tutoriales de HTML5 indicados en la siguiente página A Collection of HTML5 Resources and Tutorialsque nos pueden ayudar (al menos espero que a mi me ayuden) a sumergirnos en lo nuevo de HTML5. Y por supuesto contaremos con la ayuda inestimable de W3Schools
Categorías:HTML5

De propósitos, denuncias y ánimos

febrero 8, 2010 1 Comentario

Como no sólo de tecnología vive este blog os enlazo y comento brevemente dos posts que he leído durante este fin de semana en un momento de aburrimiento/desidia/dejadez. Han caído en mis manos de repente, uno tras del otro, y parecería coincidencia pero están tan ligados con las inquietudes que llevo manifestando durante los últimos tiempos en mi entorno (laboral y personal) que me maravillo de la fluidez, suavidad y naturalidad de esa coincidencia. Y también me doy cuenta de que a veces lo obvio han de señalartelo otras personas, y te asombras por darte cuenta de que siendo tan obvio ¿porque no lo habías visto tú antes?.

Basta de retórica. Vayamos al grano.

El primer post que leí es de Javier Perez y se titula Tenemos derecho a cumplir con nuestros deberes.

Pego aquí un par de párrafos de esta áltamente recomendable lectura.

..Una de las causas de esta crisis sea posiblemente la obcecación con los derechos mientras nos olvidábamos de nuestros deberes, cuando ambos conceptos en su justo equilibrio es lo que sustenta a una sociedad avanzada.

O por ejemplo,  ”Yo siempre me he sentido un “bicho raro” en toda empresa donde he estado precisamente por sentirme con la obligación y deber de contribuir a la mejora de la productividad. Algo que a menudo se ha malinterpretado por mis propios compañeros de trabajo, o incluso digo más allá, se ha tomado como una auténtica amenaza...”

Este bloguero dice verdades como puños, o al menos eso es lo que pienso yo. De verdad os recomiendo encarecidamente la lectura de este post. Javier Perez ya queda añadido a mi lista de blogs interesantes, seguro que hablaremos más de este compañero bloguero.

Tras leer este post y sentirme al 200% identificado con lo que decía Javier Perez ya podía haber dejado de leer más de mi agregador rss. Pero seguí y encontré inmediatamente otra perla.

En este caso hablo de Thinkwasabi, oro viejo. El post en cuestión llamó mi atención por el título: Una aplicación para descansar entre tareas. Es importante saber descansar entre tareas. Mejora la productividad pero a veces se nos olvida. Yo mismo instalaré en el ordenador del trabajo algunas de las aplicaciones indicadas en ese post y seguiré los consejos que Berto Pena (el autor del blog) señala en el mismo post. Disfrutando con la lectura de ese post se encuentra un enlace a su resumen de hábitos del 2009 que se enmarcan dentro de la mejora de la productividad (esa palabra tan de moda últimamente en España). Berto Pena es un “escritor especializado en Organización, Gestión Personal y Productividad.”. Y Thinkwasabi es su interesantísimo blog.

No hace falta decir que seguiré los 10 hábitos de Berto Pena desde hoy mismo. Y digo seguiré porque si digo intentaré, me dejo alguno en el camino. Y son todos, desde mi punto de vista, necesarios.

Pero bueno, ¿este post no era para hablar de mis propósitos para el 2010?. Y he hablado de muchos de ellos. Los 10 puntos de Berto Pena quedan asimilados inmediatamente. También el propósito de continuar siendo curioso, mantener el placer del aprendizaje, inconformista, luchar por el trabajo tal y como lo concibo. Y perder peso jeje, pero eso ya pertenece al ámbito más personal (eterna lucha contra el sobrepeso).

Fatwire Content Server. Conocer el número de elementos retornados con AssetDataManager antes de iterar sobre ellos

febrero 3, 2010 Deja un comentario

Esta mañana mantenía una conversación con un querido amigo de un anterior trabajo y me planteaba una duda muy interesante.

No sabía como obtener el número de elementos de una query que se ejecutaba con AssetDataManager antes de iterar sobre los datos devueltos. La cuestión era interesante porque yo tampoco lo sabía (aunque dije que sí se podía antes de cerciorarme, esta vez hubo suerte).

Lo primero que hice fue buscar en los manuales un ejemplo de ese tipo de querys con AssetDataManager, ya que en la aplicación en la que estoy actualmente no hay código parecido. Una vez localizado, ejecuté un Kit de Desarrollo personal para pasar del dicho al hecho y hacer las pruebas pertinentes.

El código sería algo parecido a esto

Session ses = SessionFactory.getSession();

AssetDataManager mgr =AssetDataManager) ses.getManager( AssetDataManager.class.getName() );

Query q = new SimpleQuery(“TIPO_CONTENIDO”, SUBTIPO_CONTENIDO”, null, Collections.singletonList(“ATRIBUTO”) );

Y luego el for (aquí deberíamos conocer el número de elementos devueltos por AssetDataManager, antes del for)

for( AssetData data : mgr.read( q ) )

Mirando en la documentación, compruebo que la sentencia mgr.read(q) devuelve un objeto de tipo AssetData y que este implementa la interfaz Iterable. De ahí la sintaxis del for, un poco alejada de la clásica (¿me estaré volviendo clásico/viejo?) for(inicialización; comprobación de la condición;cambio de valor de la variable que forma la condición), que se aprovecha de la interfaz Iterable para recorrer hasta el final el objeto devuelto.

Entonces vamos a recuperar el susodicho objeto

Iterable <AssetData> aData = mgr.read( q );

Ok. Ahora quiero conocer su tamaño (size()). Sin embargo ni la clase AssetData ni el interfaz Iterable implementan dicho método. He de intentar tener un objeto que lo tenga.

Mirando la api de java compruebo que el interfaz Iterable tiene un conjunto de SubInterfaces entre los que se encuentra Collection. Ese interfaz estoy más acostumbrado a usarlo.

De nuevo voy a mirar el API de java, en este caso a ver que pista me puede dar Collection. Veo que el objeto Vector implementa el interfaz Collection, que a su vez es un SubInterfaz de Iterable..Bingo. Al mirar el API de Vector para comprobar de que manera se relaciona Vector con Collection veo que uno de los constructores de Vector tiene como parámetro un objeto que implemente Collection…Esto está hecho entonces.

El código que me falta es el siguiente:

Vector vcData = new Vector((Collection)aData);

Hecho, ya se puede averiguar el número de elementos.

vcData.size();

Por tanto finalmente el código quedaría de la siguiente manera:

Session ses = SessionFactory.getSession();

AssetDataManager mgr =AssetDataManager) ses.getManager( AssetDataManager.class.getName() );

Query q = new SimpleQuery(“TIPO_CONTENIDO”, SUBTIPO_CONTENIDO”, null, Collections.singletonList(“ATRIBUTO”) );

Iterable <AssetData> aData = mgr.read( q );

Vector vcData = new Vector((Collection)aData);

out.println(“elementos= ” + vcData.size());

//Y ya vendría el for

for( AssetData data : mgr.read( q ) )

No se si habrá otra manera de hacerlo, si es así estaría muy interesado en saberla.

El conocimiento es colectivo. Saludos :D

Categorías:Content Server, Fatwire, Java Etiquetas: , ,

Fatwire ContentServer ¿Como puedo saber que variables tengo en sesión, en tiempo de ejecución?

enero 29, 2010 Deja un comentario
Ya sea un Template o CSElement finalmente ambos son jsp y por tanto se ejecutan dentro de un contexto que incluye una sesión.
Muchas veces se quiere recuperar el valor de una variable en sesión y se conoce el nombre a priori. Sin embargo si queremos saber qué variables hay en la sesión y con que valor; o tenemos en mente todos los nombres de las variables o si no, ¿como la recuperamos de sesión?. Ya que para recuperar una variable de sesión hay que conocer el nombre de la variable, hay que ejecutar lo siguiente:
  1. En java; ics.GetSSVar(“nombre_variable_en_sesion”);
  2. Tag fatwire; <ics:getssvar name=”nombre_variable_en_sesion” />

Por tanto queda claro que hemos de conocer el nombre de la variable a recuperar de la sesión.

Para recuperar los nombres de todas las variables en sesión y por tanto poder así recuperar su valor tenemos que poner el siguiente código en el jsp donde deseemos recuperar la información.

out.println(“session id=” + request.getSession().getId() +”<br/>”);

//o quizás una entrada al log

//ics.LogMsg(“session id=” + request.getSession().getId());

Enumeration em = ics.GetSSVars();

while (em.hasMoreElements())

{

String key = (String)em.nextElement();

out.println( key + ” = ” + ics.GetSSVar(key) + “<br/>”);

//o quizás una entrada al log

//ics.LogMsg(key + ” = ” + ics.GetSSVar(key));

}

Categorías:Content Server, Fatwire

Una web no es un kilo de peras

enero 25, 2010 Deja un comentario

He leído hace poco un artículo muy interesante escrito por Julio Loayza en su blog stanque.com sobre la reacción que tienen las personas que van a contratar nuestros servicios al conocer los precios. O incluso las que no los van a contratar pero preguntan por curiosidad..¿y tú que haces exactamente?¿y por cuanto me podrías hacer eso?.. Y quien no ha oído alguna vez lo de …”eso yo (o cualquier primo/sobrino/conocido) lo hago con el Frontpage en dos patadas”…

Sin más dilación os apunto el enlace Una web no es un kilo de peras. Espero que disfrutéis y que entre todos podamos mejorar la situación que se señala en el artículo.

Saludos.

Categorías:Opinión Etiquetas:

Publico un contenido en Fatwire y no veo los resultados

enero 21, 2010 2 comentarios

En todo diseño de una aplicación con Fatwire Content Server se ha de realizar un cuidadoso y detallado diseño e implementación de las partes que han de ser cacheadas y cuales no. El cacheado de contenido se realiza a través del módulo Satellite cuyas principales ventajas son:

  • Se accede a contenido cacheado que normalmente sirve el servidor web, que está especializado en hacer eso, y no se sobrecarga el servidor de aplicaciones con peticiones HTML.
  • Al ser contenido HTML servido por el servidor web no hay acceso al servidor de aplicaciones, por tanto se disminuyen las posibilidades de encontrar una brecha en la seguridad del entorno al encontrar una capa más de acceso.

Es decir es más rápido y seguro cachear todo el contenido que pueda ser cacheado.

En todo esto vamos nosotros a realizar una publicación de un entorno a otro, pongamos por ejemplo preproducción (Stagging en nomenclatura Fatwire) a producción o real. La web que todo el mundo ve.

Al publicar, y contándolo todo de una forma resumida, Fatwire comprueba si el contenido que se va a publicar es más reciente que el actualmente publicado. Si es así el contenido a publicar se sitúa en la cola de publicación y al lanzarse la publicación Fatwire debe actualizar el contenido cacheado que se genera con la publicación de la nueva versión del contenido.

Dicho de otra manera en el entorno al que se desea publicar tenemos el contenido A y el código HTML (normalmente) que genera ese contenido, que llamaremos AC (de Cacheado). Al publicar una nueva versión de A, que llamaremos A1, el código HTML (normalmente) que genera ese contenido debería ser AC1. Pero sin embargo es AC porque no vemos los cambios que efectivamente sabemos que se han producido.

A veces ese complicado mecanismo de sincronización/actualización del contenido cacheado con el contenido subido no siempre se realiza.

Normalmente esta situación se da con tu jefe/responsable subido en tu chepa porque ese contenido que se ha de subir es importantísimo (por supuesto). Y claro, al ver los resultados….pero si está igual!!. La primera vez nos quedamos con cara de incredulidad (de tonto vamos) y nuestro jefe en la chepa echando espumarajos por la boca y diciendo algo de la prisa que corre subir esto por parte de la gente de Marketing…..bueno quizás he exagerado un poco la situación, pero es para reírnos un poco tras tanta literatura y remarcar que efectivamente algo ha fallado. Repasamos el código de las Templates o CSElements, subimos de nuevo el contenido…igual…no se reflejan los cambios. Y la publicación ha sido un éxito según la consola de Fatwire.

Calma, que no cunda el pánico: una fregona para recoger los espumarajos del jefe y nuestro sudor y un desfibrilador por si acaso..

El problema es posible que sea que no se ha actualizado la caché. Simplemente. ¿Como podemos saber si nuestra afirmación es cierta?. En la url podemos poner el siguiente parámetro: &rendermode=kk. En realidad el valor del parámetro rendermode puede ser cualquiera que no se haya repetido antes. ¿Porqué?. Por que rendermode es un parámetro que está incluido automáticamente en todos los pagecriteria de todas las entradas de la SiteCatalog .Por eso su uso no genera error. Si uso un parámetro inventado, generaría un error.

Lo que pasa es que en el uso normal de navegar por la web, no se le da valor a este argumento, y si utilizamos la previsualización de la herramienta, se pone como valor ‘preview‘; por lo tanto, cualquier otro valor que le demos a este parámetro no estará en la caché

Si poniendo ese parámetro en la url ya se ve el contenido como debería verse es porque ha buscado el contenido con un valor en el &rendermode que no tenía antes por tanto no puede leer la caché actual ya que no coincide el valor del mismo, por eso ha generado otra página y la ha cacheado.

Si en un segundo intento ponemos de nuevo el parámetro &rendermode con un valor que ya hayamos usado no conseguiremos el efecto deseado ya que estamos accediendo a una entrada en caché que ya existe. Por eso es importante, si nos vemos en esta situación, no repetir nunca el valor del parámetro &rendermode.

Bien, ya sabemos qué ha pasado. Ahora toca solucionar el problema.Forzar el refresco de la caché. Para ello simplemente hay que volver a publicar el Template que se encarga de mostrar ese contenido que no tiene el caché actualizado. Para ello se edita y guarda el Template, se pone en la cola de publicación y se publica. Si se ha publicado el Template adecuado entonces veremos ya el resultado deseado sin poner en la url el parámetro &rendermode.

Si aún así no conseguimos ver el contenido como debería verse….¿alguien sabe usar este desfibrilador?.

Categorías:Content Server, Fatwire Etiquetas: ,

Hello world! O lo que viene a ser lo mismo…alla voy!!

enero 20, 2010 2 comentarios
Saludos a todos.
Aquí empiezo una nueva experiencia que es la de estar en la red. A pesar de llevar desde el 99 trabajando en asuntos web es la primera vez que me sitúo en la red para un asunto propio, no profesional.Espero que no seais muy estrictos conmigo ya que admito que no he leido muchos blogs y es la primera vez que uso WordPress así que es posible que me salte algunas leyes no escritas, o convenciones, de estilo. Sólo os pido paciencia conmigo y animaros a que participéis en todo lo posible de una forma educada y amena. Por supuesto indicar que estoy abierto a toda clase de sugerencias y aportaciones. Recordad que el conocimiento es colectivo :D

Alla voy!! :D

Categorías:Opinión Etiquetas:
Seguir

Get every new post delivered to your Inbox.