Noticias sobre mis proyectos

domingo, 27 de noviembre de 2011

Datos de autor bajo resultados de búsqueda de Google

Nota bajo mi cuenta de Twitter al buscar en Google

Respondo en este artículo algunas inquietudes que me han llegado después de que varios lectores han constatado el efecto de anotar los autores en los resultados de búsquedas de  Google. Todo comenzó al revelar los secretos de  las anotaciones en resultados de búsqueda de Google mediante links de Blogger. En ese artículo indirectamente mencioné el proceso, pero muy brevemente. Ambos fenómenos tienen un orígen común, que es el que trataré de explicar en pocas líneas. Todos los pasos los ilustraré tomando a mi propio blog como ejemplo. Espero ver en lo sucesivo algunas caras conocidas en los resultados de Google ;). Si está interesado en estar informado sobre temas afines, Usted puede también  suscribirse mediante RSS.

Información sobre autores en resultados de búsqueda

Google está llevando a cabo una iniciativa de mostrar información de autores en los reslutados de búsquedas con el fin de que los usuarios puedan descubrir y acceder a contenidos de calidad, ya sea tanto en las búsquedas orgánicas o en los canales de noticias. Para lograrlo el autor debe insertar cierta información que le indique al buscador la intención de anotar el enlace a la página con dichos datos como foto del autor, nombre, y enlace al perfil en  Google+. Esto útlimo es un requisito obligatorio. Para ser más claro hay que tener un perfil en Google+ que tenga asociado una foto en la que se pueda reconocer al autor (aunque he visto casos en los que esto último no parece ser indispeensable). Les explico cómo es el procedimiento en caso que tengan el control del sitio.

Enlazar el contenido al perfil de Google

Hay dos formas de enlazar el contenido de una página al perfil de Google. La más rápida es insertar el ícono oficial que ofrece Google+. En este caso obtenga  el código HTML del ícono e insértelo en la página que Usted ha creado en su sitio. A modo de ejemplo el código necesario para enlazar con mi perfil luce más o menos así

<a rel="author" href="https://plus.google.com/118444449354330048631">
  <img src="http://www.google.com/images/icons/ui/gprofile_button-16.png" width="16" height="16">
</a>

Al insertarlo en esta página , luce más o menos así .

Enlazando mi blog con mi perfil de Google+

La segunda forma de lograrlo es insertando enlaces manualmente. Deben tener una estructura parecida a la siguiente <a href="[profile_url]?rel=author">Google+</a> . Remplace [profile_url] con la dirección de su perfil de Google. Mi perfil, por ejemplo, quedaría referenciado así <a href="https://profiles.google.com/118444449354330048631?rel=author">Google+</a>. Hay dos requisitos indispensables para que todo funcione, y son :

  • Después de la URL del perfil hay que añadir el argumento ?rel=author.
  • El texto dentro del enlace debe terminar con el caracter + .

Sin embargo, yo no he utiizado ninguna de estas dos variantes, sino más bien una variación de la segunda que también es permitida. En la esquina superior izquierda hay una sección titulada Anfitrión y en la parte inferior se encuentra un enlace con el texto Follow me at Google+. Usted puede echarle un vistazo al código de la página y constatará que el código HTML del enlace es como se muestra a continuación <a rel="author" href="https://profiles.google.com/118444449354330048631">Follow me at Google+</a> Comparando con la segunda alternativa presentada se hace evidente que es exactamente el mismo enlace, pero que se sustituye el uso del parámetro ?rel=author por el atributo rel="author".

Enlazar el contenido desde el perfil

Enlace inverso a mi blog desde mi perfil de Google+

Ya para concluir, la relación debe ser recíproca. Es por esto que se precisa añadir un enlace a su(s) sitio(s) desde su perfil. Para lograrlo siga los siguientes pasos :

  • Inicie sesión en su cuenta de Google y diríjase a  su perfil.
  • Haga clic en Editar perfil.
  • Haga clic en la sección que aparece a la derecha con el título Colaborador en.
  • Haga clic en Añadir enlace
  • Haga click en Guardar cambios ... ¡ Listo !

Hay una forma de verificar que todo está bien y además de conocer cuales datos de autor extrae Google de su página. Si así lo desea , utilice  esta herramienta (a.k.a.  rich snippets testing tool). Se permite en este caso el análisis de una sola página.

Conclusiones

A primera vista puede resultar vanal el hecho de insertar la información de autor en los resultados de búsqueda. Algunos pueden afirmar que la información visual puede atraer más usuarios hacia su sitio, y otros pueden tener objeciones. Sin embargo , como analicé en  otro artículo el proceso detallado acá es la base para que el buscador sugiera enlaces a su sitio cuando se muestre una fuente relevante. Parece un trabalenguas, así que me explico.

Mi artículo sobre Appeartowork en resultados de Google

Partamos del caso en que la persona X haya añadido a la persona Y a sus círculos en Google+. En el blog de Y aparece un enlace a la página P (al parecer, más allá de poder ser incluido por Y en el texto, puede aparecer en otros lugares e.g. en comentarios). Posteriormente X busca ciertas palabras claves en Google y obtiene a P como uno de los resultados. Sin embargo en la parte inferior aparece una nota que dice Y shared this on Blogger 1 January 1970 . Claro que esto no va a ocurrir siempre así de esta manera, pero puede suceder. Segun mi experiencia Google considera la relevancia de los artículos a la hora de insertar anotaciones. Otros factores (que por ahora creo que solo maneja Google ) pueden influenciar la selección de las sugerencias. Note además que si el artículo fue compartido por el mismo usuario que inició la búsqueda entonces parece que no se muestra el enlace al artículo que motivó la anotación.

Anotaciones en resultados de Google

¿Cual es el resultado? Supongamos que la página P está bien ranqueada. Entonces Google le está haciendo publicidad indirecta al sitio de Y y el efecto neto resulta ser que su página se ha adjudicado un PageRank (o como quiera que le llamen ahora ;) artificial más elevado que puede atraer visitas de las personas conectadas mediante Google+. La reacción más lógica sería que haya quien trate de aprovechar la posibilidad para incluir enlaces a resultados de búsqueda bien ranqueados en sus artículos. Ahora evaluemos los resultados fríamente. La página P ha obtenido un beneficio permanente y a largo plazo (un enlace entrante, que suma puntos para su PageRank) mientras que el artículo del usuario Y, en este caso, quizás es promocionado por Google y varias personas logran enterarse de este hecho y quizás lo lean. Entonces me hago dos preguntas:

  • ¿Es esta otra situación más en la que los ricos se hacen más ricos?
  • ¿Cuán ventajoso y efectivo resulta realmente este método para elevar el PageRank de sitios como el blog de Y ?
  • ¿Tendrá todo esto algún impacto en la actividad de los usuarios de Google+? ¿ Por ejemplo se destará una ola de suscripciones a círculos con el fin de difundir y publicitar enlaces ?

El diablo se esconde en los detalles. Quisiera conocer sus opiniones, así que, como ocurre siempre, sus comentarios serán bienvenidos. Les invito a  suscribirse mediante RSS si está interesado en temas de optimización y posicionamiento web.

jueves, 24 de noviembre de 2011

Adios Google Wave ... vivirás en nuestros servidores

Adios Google Wave

Pasado más de un año después de la  cancelación del desarrollo de Google Wave como proyecto, hoy  Google le ha dado el toque de gracia al servicio. A partir del 31 de enero del 2012 todos los datos serán de solo lectura. El servicio será abadonado y dejará de existir a partir del próximo 30 de abril del 2012. Hasta esa fecha estarán disponibles las siguientes alternativas para respaldar los datos existentes:

  • Utilizando la acción de exportar PDF.
  • Desplegando servicios similares en otros dominios. En este caso hay varios proyectos de código abierto a los que se pudieran recurrir:

Para más detalles consultar esta  información en el Centro de Ayuda de Google. Otro servicio genial de Google que queda en el camino por razones más allá de los aspectos tecnológicos. Un día de estos habría que detenerse y, ahora que ya no estará, aclarar cuanto nos dejo. Sospecho que muchos , como yo, estaremos orgullosos de haberlo usado alguna vez ... y tendrá un espacio en nuestros corazones aquel tarequito de Google que revolucionó varios aspectos de la web; sí, aquel que todos quisimos hacer una vez. Quizás nunca lograremos saber si murió de muerte natural, o lo mataron algunas decisiones. RIP

miércoles, 23 de noviembre de 2011

Google+ Ripples y Diagramas de Flujos, mirando la web desde Google

Google+ Ripple sobre artículo de Ripples

Recientemente  Google ha cerrado varios servicios  e.g. Google Buzz. Todo parece indicar que los esfuerzos se han dirigido a potenciar otros servicios más establecidos, en gran parte debido al hecho de que han publicado otras nuevas funcionalidades y mejorado las facilidades existentes. Notablemente me llamaron la atención los avances en el área de visualización de datos en gráficas. Hace tiempo ya que estaban disponible varios gráficos complejos como  Intensity Map y  Motion Chart. Sin embargo le sugiero que continue leyendo este artículo si desea estar al tanto de las nuevas ideas hechas realidad por Google. Al menos a mí me impresionaron mucho a medida que las fui descubriendo. Si Usted es de las personas que necesita visualizar datos de maneras suigeneris, le recomiendo  suscribirse mediante RSS para estar al tanto de nuevas noticias sobre este tema.

Patrones de interacciones sociales con Google+ Ripples

Google+ Ripple - Extensiones de Chrome

 Google+ es una red social de reciente creación. Muchas de sus características todavía están en desarrollo, y ya muestra potencialidades enormes. Tal parece que Google estaba muy al tanto de la respuesta a la pregunta ¿Qué es lo que no le gusta a los usuarios de Facebook?. Más allá de las comparaciones entre ambos sitios sociales, en este contexto se ha creado una de las gráficas más geniales que he visto en mucho tiempo, llamadas  Google+ Ripples. Estos no son más que un grafo que ilustra la historia de publicaciones sucesivas (shares) de un mismo mensaje, enlace, video, o cualquier otro contenido.

Como dicen los que saben una imagen vale más que 1000 palabras. Por eso los invito a observar  10 ejemplos de Ripples célebres. Entre ellos se encuentra la  figura de la Luna por Ron Garan,  la importancia de RSS por Felicia Day y el  post de Sergey Brin acerca de Steve Jobs. Me gustan mucho también  uno que trata acerca de la extensiones populares de Chrome y  este post compartido por Vic Gundotra.

Se pudiera pensar que son garabatos inofensivos, pero los posts más populares pueden llegar a representar tanto tráfico que las distintas ramas toman dimensiones impresionantes y un aspecto muy parecido al de un  fractal. Desde un punto de vista más práctico se pueden utilizar para ver los patrones de distribución y dispersión de las noticias .  Ryan Crowe escribió  un análisis acerca de esta tecnología que trata de presentar la idea de que los Google+ Ripples pueden ser un medio para expandir su alcance e influencia en  Google+.

Diagramas de flujos de visitantes

Ejemplo de flujo de visitantes

Las herramientas de análisis de caminos de navegación a través de un sitio han tenido tradicionalmente sus puntos bajos en cuanto a usabilidad se refiere. Por lo general se encuentran más y más tropiezos a medida que se aumenta el nivel de detalles de la segmentación.  Google estuvo al tanto y puso todo su espíritu innovador junto con su probada calidad y experiencia de desarrollo de visualizaciones para crear nuevos enfoques que ilustren el flujo de visitantes. Con el objetivo de lograr que los diagramas sean más intuitivos y útiles recientemente en el  Web 2.0 Summit se ha anunciado que los usuarios de  Google Analytics pueden utilizar los llamados  Flow Visualization.

Este tipo de gráfica es utilizado fundamentalmente de dos formas diferentes. En primer lugar se tiene los Flujos de Visitantes (Visitor Flow). Los mismos representan el flujo de visitantes a través del sitio considerando las fuentes de tráfico (otras dimensiones al parecer también son posibles). De una forma íntegra se puede tener idea de todo el viaje y el punto exacto donde abandonaron el sitio. Este tipo de visualizaciones permite tener idea de la efectividad de decisiones importantes como el uso de una promoción determinada. Hermosas telas de araña ... ¿verdad? ;)

Ejemplo de flujo por objetivos Ejemplo de flujo por objetivos

Por otra parte se ofrecen los Flujos de Objetivos (Goal Flow) que son muy parecidos a los anteriores pero consideran en su representación los objetivos de navegación definidos por el usuario del servicio. Inicialmente se pueden utilizar los objetivos definidos por URL , pero próximamente se espera añadir los eventos y otros tipos de objetivos. Su utilidad se puede ejemplificar con el entendimiento de los siguientes aspectos :

  • El volumen relativo de visitas hacia el sitio segun la dimensión seleccionada.
  • La frecuencia con la que los visitantes abandonan los diferentes caminos de navegación.
  • Dónde y cómo los visitantes transitan por cada paso hacia un objetivo definido.
  • La forma de las interacciones entre los usuarios y el sitio.

Conclusiones

Desde Google nos llega una nueva ola de buenas ideas. La presión de otros actores en ramas tradicionalmente dominadas por la compañía, e.g.  la combinación Yahoo! + Microsoft , y el cambio de CEO han contribuido al ajuste de su estrategia y la mejora de los servicios de puntería. Las visualizaciones mencionadas son abarcadoras, sintéticas y muy interactivas. Es posible enfocar varios caminos y ver información sobre nodos y conexiones específicas. En pocas palabras, impresionante lo que ha logrado  Google con sus creaciones más recientes.

Le invito a  suscribirse mediante RSS si desea conocer nuevas y útiles formas de visualizar datos . Si Usted conoce alguna otra o tiene alguna opinión que sea de interés, no dude en dejar su comentario; serán bienvenidos.

Google Analytics Blog: Introducing Flow Visualization: visualizing visitor flow

domingo, 20 de noviembre de 2011

Mostrando enlaces en posts de Blogger bajo resultados de Google

Búsqueda de Google muestra enlaces compartidos en Blogger

Brevemente les comentaré acerca de la relativamente reciente inclusión de enlaces a artículos de  Blogger debajo de los resultados de las búsquedas de  Google . Confieso que esta característica me tomó por sorpresa . Todo empezó cuando ...

UpdateEn  otro artículo explico detalladamente cómo indicar a Google la autoría de los contenidos en línea, proceso que sirve de base para que suceda todo lo explicado en este artículo.

Sorpresa, anotaciones sociales y blogs

... Trataba de instalar la excelente librería  setuptools implementada por  P.J. Eby. Resulta que la necesitaba porque tenía que crear paquetes .egg para varios plugins de  Trac con python2.7. Sin embargo, esta versión del interprete no se distribuye a través de los repositorios de Ubuntu 10.04 (el LTS que utilizo por el momento). Como consecuencia varias librerías para esta versión no quedaban bien instaladas a través del administrador de paquetes. En el caso específico de setuptools se suma el hecho de que el truco estándar de instalación manual no funciona (si están interesados en saber cuál es, deje un comentario o contacteme por cualquier otra vía y trato este tema en otro artículo ;).

Respiré profundo, y decidí violentar mi primer principio de uso de GNU/Linux (i.e. trata por todos los medios de instalarlo todo a través del sistema de paquetes). Como se puede ver en la figura, al hacer  una búsqueda para descargar el .egg para python2.7 , aparece un enlace al  blog de Reiner Marquez . ¡Wow! dije Marquez está trabajando para Google . En ese momento me cayó una manzana en la cabeza y entonces fue que pude reaccionar y busqué más información acerca del tema :P .

Inserten un enlace y lo sabrá todo el mundo …

Se puede ver el mensaje que se muestra en la figura debajo del nombre del autor. Todo parece indicar que la primera pieza del rompecabezas consiste en que añadí a Reiner Marquez en unos de mis círculos en  Google+ . Por cierto en este caso la relación es recíproca (¿será esto es un requisito para que todo funcione?).

En segundo lugar  el artículo en cuestión tiene un enlace que hace una referencia rel=author a  Reinier Marquez en Google+. Súmenle el hecho de que en esta última página se incluye un enlace en sentido contrario hacia la URL del blog.

Con estos pre-requisitos , todo parece indicar que los enlaces que aparecen en los artículos de Blogger son asociados con el post. Dicha asociación se expresa en las notas que aparecen debajo de los resultados de búsqueda. ¡ Así de simple !

Conclusiones

Todos los elementos mencionados en este artículo supongo que estén relacionados con el siguiente comentario publicado en este  post de Google acerca de búsquedas sociales:

... we’ve made Social Search more comprehensive by adding notes for links people have shared on Twitter and other sites.

Quizás muchos pensaron que other sites se refería a sitios como  Twitter,  Digg u otras plataformas sociales. Bueno, añadan a Blogger a la lista ;o) . De esta forma Google facilita otros mecanismos de promoción de contenidos a través de sus resultados de búsqueda.

¿ Pero esto queda aquí ? Pues parece que no. En próximos artículos les comentaré acerca de otras curiosidades similares. Le invito a  suscribirse mediante RSS si desea conocer cómo manejar los hilos que hacen funcionar la web. Quien sabe y quizás un día Usted encuentre una nota haciendo referencia a uno de mis artículos mientras busca contenidos en Google. En ese caso , no olvide dejar su comentario; serán bienvenidos.

miércoles, 16 de noviembre de 2011

Insertando calendarios de jQuery con Symfony

Calendario de jQuery con plugin sfFormExtraPlugin para Symfony

Recientemente comencé a desarrollar aplicaciones en  PHP con el  framework Simfony. En este corto articulo les narro cómo instalar el  plugin sfFormExtraPlugin y luego facilitarle al usuario la selección de fechas mediante el uso de un calendario (en este caso de  jQuery Datepicker). De más está decir que me ha dado unos cuantos dolores de cabeza , así que espero que este corto tutorial también pueda servirle a todos aquellos que tienen problemas similares al mío. Por el camino, como efecto secundario, también espero que queden claras las razones por las que me gusta  Python, especialmente  las plantillas de Genshi con Django. Espero también que Ustedes con sus comentarios puedan iluminarme el camino que lleva a mejorar la solución que les presento por acá. Les sugiero  suscribirse a este blog mediante RSS si desea estar al tanto de nuevos trucos de programación. Sin más rodeos, let the hacking begin ! .

Pre-requisitos

Formulario estándar de Symfony

Sinceramente hay  muchos tutoriales detallando los primeros pasos en Symfony. Es por esto que no pretendo abordar todos estos pasos. Asumo entonces que ya existe un sitio funcional y muy especialmente una página que utiliza los  formularios de Symfony para ofrecerle al usuario la posibilidad de seleccionar fechas. En otras palabras , ya se tiene una aplicación donde existe una clase TestForm.class.php que utiliza los modelos que brindan acceso a la base de datos; además existen módulos, componentes, y todo lo que sea preciso (... hay muchos caminos para llegar a Roma ;) para obtener una página similar a la que se muestra en la figura.

Instalando el plugin sfFormExtraPlugin

Segun la documentación hay  muchas formas de instalar un plugin de Symfony. De más está decir que Murphy (... mi gran amigo de mil batallas ... Jo jo jo ...) se encargó de que ninguna funcionara. Me explico. Cualquier variante de instalación en línea que incluyera conectarse al  PEAR channel de Symfony siempre terminaba en un adorable mensaje The channel symfony does not support the REST protocol . Por tal razon pasé a la próxima fase : la instalación offline . A continuación les muestro brevemente cómo se hace (basado en  este artículo del sitio My Rant).

Primeramente, edite el fichero config/ProjectConfiguration.class.php y habilite el plugin sfFormExtraPlugin. Le debe quedar algo más o menos así (aunque puede ser diferente si Usted utiliza otros plugins en su aplicación ;) .




class ProjectConfiguration extends sfProjectConfiguration  
{  
  public function setup()  
  {  
    $this->enablePlugins(array('sfDoctrinePlugin', 'sfFormExtraPlugin'));  
  }  
}  

También acostumbro a incluir el plugin en el fichero apps/<appname>/config/settings.yml (aunque sinceramente no he podido constatar la necesidad de hacerlo). Allí sería preciso modificar la directiva enabled_modules y añadir sfFormExtraPlugin , por ejemplo, de la siguiente manera :

enabled_modules:      [default, sfGuardAuth, sfFormExtraPlugin]

Luego proceda a instalar el plugin en cuestión.

$ cd plugins  
$ wget "http://plugins.symfony-project.org/get/sfFormExtraPlugin/sfFormExtraPlugin-1.1.3.tgz"  
$ tar zxvf sfFormExtraPlugin-1.1.3.tgz  
$ mv sfFormExtraPlugin-1.1.3 sfFormExtraPlugin  
$ cd ..  
$ ./symfony plugin:publish-assets  
$ cd web/js  
$ wget "http://code.jquery.com/jquery-1.4.3.min.js"  
$ wget "http://jqueryui.com/download/jquery-ui-1.8.5.custom.zip"  
$ mkdir jquery-ui  
$ cd jquery-ui  
$ unzip ../jquery-ui-1.8.5.custom.zip  
$ mv jquery-ui/css/smoothness ../css  

En este punto ya deberían estar instalados los ficheros del plugin, pero faltan unos detalles. En primer lugar, hay que inyectar las referencias a los ficheros estáticos de jQuery . Por tanto , edite el fichero apps/<app_name>/config/view.yml e incluya los valores mostrados a continuación :

stylesheets:    [main.css, smoothness/jquery-ui-1.8.5.custom.css]  
  
javascripts:    [jquery-1.4.3.min.js, jquery-ui/js/jquery-ui-1.8.5.custom.min.js]  

Ya por último hace falta indicarle a Symfony cuales son los campos para los cuales se ofrecerá la posibilidad de edición mediante un calendario. Edite el fichero del formulario (e.g. lib/form/doctrine/TestForm.class.php ) y edite el método configure añadiendo instrucciones como las que se muestran a continuación.




class TestForm extends BaseTestForm
{
  public function configure()
  {
                $this->widgetSchema['fechainicial'] = new sfWidgetFormJqueryDate();
                $this->widgetSchema['fechafinal'] = new sfWidgetFormJqueryDate();
                $this->widgetSchema['fecharev'] = new sfWidgetFormJqueryDate();
  }
}

Todas las referencias indican que en este punto ya se visualizaría un botón que desplegaría el calendario de jQuery ... pero ...

Cuando Olemis llora Murphy tiembla …

Ejemplo de calendario insertado en formulario

Está de más decir que por alguna razón (... que todavía no he logrado descubrir, así que si la conocen espero sus comentarios con detalles ... ;) no me funciona. Cuando se va a visualizar la página, en mi caso, se muestra el siguiente mensaje Fatal error: Class 'sfWidgetFormJqueryDate' not found in /path/to/project/lib/form/doctrine/TestForm.class.php on line 17 . Sospecho que la causa es que el fichero plugins/.filemap no está correctamente generado (¿ algo que supongo que deba hacer el comando plugin:publish-assets ?). Llego a esa conclusión al comparar los contenidos de mi fichero (mostrado a continuación) con los de otros proyectos que hacen uso del mismo plugin (e.g.  Kakrail)

a:0:{}

Por tales razones me vi obligado a incluir la siguiente línea al principio del fichero lib/form/doctrine/TestForm.class.php. Preste atención al hecho de que la ruta especificada puede cambiar en dependencia del lugar donde se ubique el fichero .php del formulario, pero siempre tiene que resultar en una referencia al fichero plugins/sfFormExtraPlugin/lib/widget/sfWidgetFormJQueryDate.class.php.




require dirname(__FILE__).'/../../../plugins/sfFormExtraPlugin/lib/widget/sfWidgetFormJQueryDate.class.php';

Después de este pequeño detallito, todo funciona. Sin embargo, como ya mencioné anteriormente, me gustaría no tener que incluir esta línea y lograr que se concrete la magia del fichero .filemap ... pero por ahora ¡qué remedio! . De más está decir que espero sus comentarios al respecto.

Agradecimientos

No sería posible concluir este artículo sin agradecer a Yamila , quien se encargó del proceso de creación del sitio de Symfony , los modelos de Doctrine , etc, etc ... y facilitó los enlaces a los  artículos de instalación de los plugins de Symfony, exactamente dos minutos antes de enviarle un ramo de flores a los desarrolladores del plugin y del framework (... y a Murphy ...) .

Conclusiones

Como han podido apreciar es posible enriquecer las interfaces de usuario de sitios implementados con Symfony . En particular se brinda la posibilidad de desplegar un calendario para seleccionar cómodamente fechas. El proceso es ... enriquecedor . La ruta ideal puede fallar en varios puntos del camino , pero al final se logra el objetivo . Recuerde que todo es posible simelo pides ... . Pronto publicaré más artículos sobre temas afines. Si Usted está interesad@ le invito a  suscribirse a este blog mediante RSS . Cualquier sugerencia para mejorar el artículo, correcciones a partes del proceso explicado , preguntas ... pues no dude en compartirlas y dejar su comentario. Podrían ser útiles para que otros resuelvan algún problema y usen eficientemente su tiempo. Hasta pronto