<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5043480</atom:id><lastBuildDate>Fri, 08 Nov 2024 15:21:39 +0000</lastBuildDate><category>websphere portal</category><category>reflexión</category><category>android</category><category>desarrollo software</category><category>evento</category><category>ibm</category><category>error</category><category>agile</category><category>google</category><category>java</category><category>misc</category><category>personal</category><category>programacion</category><category>tools</category><category>videoblogging</category><category>configuration task</category><category>google developer</category><category>lecciones aprendidas</category><category>libros</category><category>linux</category><category>notas</category><category>varios</category><category>#appengine</category><category>#golang</category><category>David Fischman</category><category>aix</category><category>continuous integration</category><category>google maps</category><category>google plus</category><category>mi ciudad</category><category>portal</category><category>portlet</category><category>portlets</category><category>ubuntu</category><category>wcm</category><category>#computeengine</category><category>#dev</category><category>#googlecloudplatform</category><category>#pushtodeploy</category><category>#python</category><category>#translate</category><category>Conferencias</category><category>Spring</category><category>Spring Community Day Lima</category><category>angularjs</category><category>apps</category><category>autoayuda</category><category>blogs</category><category>chistes</category><category>dart</category><category>database</category><category>eclipse</category><category>espresso</category><category>flisol</category><category>gdg open</category><category>hak5</category><category>ipod</category><category>jsr 168</category><category>licensing</category><category>liderazgo</category><category>lima twestival</category><category>maven</category><category>migrating</category><category>mind maps</category><category>motivación</category><category>musica libre</category><category>patrones de diseño</category><category>performance</category><category>presentacion</category><category>recaudación</category><category>servicio</category><category>servlets</category><category>software</category><category>springperu</category><category>subversion</category><category>svn</category><category>tecnología</category><category>themes</category><category>tivoli directory server</category><category>tunning</category><category>tutorial</category><category>twitter</category><category>ui testing</category><category>unix</category><category>useful links (enlaces útiles)</category><category>user experience</category><category>wallpapers</category><category>web</category><category>websphere portal 7</category><category>websphere portlet factory</category><category>wp7</category><category>wp7002</category><title>Desarmando con Armando</title><description>Un blog dedicado a desarrollo, agilismo y otras pepas.&#xa;&#xa;Twitter: @apiconz / @devpicon</description><link>http://apiconz.blogspot.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>117</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-703056503483833038</guid><pubDate>Mon, 31 Aug 2015 05:02:00 +0000</pubDate><atom:updated>2015-08-31T00:06:27.982-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">android</category><category domain="http://www.blogger.com/atom/ns#">espresso</category><category domain="http://www.blogger.com/atom/ns#">ui testing</category><title>Android Espresso</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOIaShuKFTnbmqOWa_imGTKTQZ9ZwudJki7gwe99He3qYa681f9v3JYtNq0jHb-1NEYv0rPUvWi5YB79WJl9DeYinyNF68eepLelz4hoQuyvOUdO68NF13YS4dLysUWmUZG2IGqg/s1600/espresso_lockup.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOIaShuKFTnbmqOWa_imGTKTQZ9ZwudJki7gwe99He3qYa681f9v3JYtNq0jHb-1NEYv0rPUvWi5YB79WJl9DeYinyNF68eepLelz4hoQuyvOUdO68NF13YS4dLysUWmUZG2IGqg/s200/espresso_lockup.png&quot; width=&quot;176&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;Android Espresso&lt;/b&gt; es parte del &lt;b&gt;Android Testing Support Library&lt;/b&gt; y su propósito es permitirnos &lt;u&gt;automatizar las pruebas de interfaz de usuario&lt;/u&gt;. Aquí les dejo algunos recursos para aprender sobre ello...&lt;br /&gt;
&lt;br /&gt;
Estoy preparando un repo en Github con ejemplos:&amp;nbsp;https://github.com/apiconz/espresso-ejemplos&lt;br /&gt;
&lt;center&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;355&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;//www.slideshare.net/slideshow/embed_code/key/4IDuqTpJZj1Afa&quot; style=&quot;border-width: 1px; border: 1px solid #CCC; margin-bottom: 5px; max-width: 100%;&quot; width=&quot;425&quot;&gt; &lt;/iframe&gt; &lt;br /&gt;
&lt;div style=&quot;margin-bottom: 5px;&quot;&gt;
&lt;strong&gt; &lt;a href=&quot;https://www.slideshare.net/apiconz/android-espresso&quot; target=&quot;_blank&quot; title=&quot;Android Espresso&quot;&gt;Android Espresso&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href=&quot;https://www.slideshare.net/apiconz&quot; target=&quot;_blank&quot;&gt;Armando Picón Z.&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;twitter-tweet&quot; lang=&quot;en&quot;&gt;
&lt;div dir=&quot;ltr&quot; lang=&quot;es&quot;&gt;
Anotaciones para mi charla &quot;Android Espresso - Hello World&quot; &lt;a href=&quot;https://twitter.com/hashtag/android?src=hash&quot;&gt;#android&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/testing?src=hash&quot;&gt;#testing&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/espresso?src=hash&quot;&gt;#espresso&lt;/a&gt; &lt;a href=&quot;http://t.co/vs1gXzVVY8&quot;&gt;pic.twitter.com/vs1gXzVVY8&lt;/a&gt;&lt;/div&gt;
— Armando Picón (@DevPicon) &lt;a href=&quot;https://twitter.com/DevPicon/status/638108883442135041&quot;&gt;August 30, 2015&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//platform.twitter.com/widgets.js&quot;&gt;&lt;/script&gt;

&lt;/center&gt;
</description><link>http://apiconz.blogspot.com/2015/08/android-espresso.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOIaShuKFTnbmqOWa_imGTKTQZ9ZwudJki7gwe99He3qYa681f9v3JYtNq0jHb-1NEYv0rPUvWi5YB79WJl9DeYinyNF68eepLelz4hoQuyvOUdO68NF13YS4dLysUWmUZG2IGqg/s72-c/espresso_lockup.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-76517825221038678</guid><pubDate>Mon, 10 Aug 2015 05:49:00 +0000</pubDate><atom:updated>2015-08-10T00:57:34.653-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">#golang</category><category domain="http://www.blogger.com/atom/ns#">programacion</category><title>Notas iniciales sobre Go!</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw0Gdm-CFO9YAzTi51wlaoDVcS8K7crmQlJrLxnEbJB0orq2I7uz_q9y-pJ5z1i8_Il6QRS89jCVAId-DqJksT4r0vj33hrZnohfo-qAyQExsc3z37jd221Vr8JFjtM2Uc6Pzl7g/s1600/doc.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw0Gdm-CFO9YAzTi51wlaoDVcS8K7crmQlJrLxnEbJB0orq2I7uz_q9y-pJ5z1i8_Il6QRS89jCVAId-DqJksT4r0vj33hrZnohfo-qAyQExsc3z37jd221Vr8JFjtM2Uc6Pzl7g/s1600/doc.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Hasta que por fin me pude dar un tiempo para empezar a probar Go. Estoy siguiendo los ejemplos que encontré en la web &lt;a href=&quot;https://gobyexample.com/&quot; target=&quot;_blank&quot;&gt;Go by Example&lt;/a&gt;. El repositorio en el que estoy subiendo los ejemplos que voy resolviendo está en &lt;a href=&quot;https://github.com/apiconz/go-by-examples&quot; target=&quot;_blank&quot;&gt;Github&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, les dejo algunas notas:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Golang es un lenguaje de programación compilado y estructurado.&lt;/li&gt;
&lt;li&gt;La extensión de los archivos es &quot;.go&quot;&lt;/li&gt;
&lt;li&gt;Si queremos ejecutar un archivo .go ejecutamos:&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
go run helloworld.go&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Si queremos generar un binario a partir de un archivo .go ejecutamos&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
go build helloworld.go&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;El binario generado dependerá del sistema operativo en el que se ejecute el comando build, estando hasta ahora disponible para Linux, Windows y MacOS.&lt;/li&gt;
&lt;li&gt;El paquete principal, desde el que se inicia la ejecución de una aplicación en Go, se llama &quot;main&quot;.&lt;/li&gt;
&lt;li&gt;De forma similar a Java existe una función &quot;main&quot; desde la que parte la ejecución de un archivo .go&lt;/li&gt;
&lt;li&gt;No cuenta con expresiones ternarias if como existe en java&lt;/li&gt;
&lt;/ul&gt;
</description><link>http://apiconz.blogspot.com/2015/08/notas-iniciales-sobre-go.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw0Gdm-CFO9YAzTi51wlaoDVcS8K7crmQlJrLxnEbJB0orq2I7uz_q9y-pJ5z1i8_Il6QRS89jCVAId-DqJksT4r0vj33hrZnohfo-qAyQExsc3z37jd221Vr8JFjtM2Uc6Pzl7g/s72-c/doc.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-7585035958636377567</guid><pubDate>Sun, 26 Jul 2015 06:29:00 +0000</pubDate><atom:updated>2015-07-26T01:29:23.160-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">#dev</category><category domain="http://www.blogger.com/atom/ns#">#golang</category><title>Configurando mi espacio de trabajo para GO</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLyioKaw2HPNpXowe-wRibnkgQSWrIelS6udHdXqV20KeaGMGaqAyAgs30e375N-kJCaFnyCoU9UQipbek5jLLWcDE5E8Ro2x90fkW15cSm9MkVDOfx5iXKzAPHH-VZt8WNjHReA/s1600/gophercomplex1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;132&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLyioKaw2HPNpXowe-wRibnkgQSWrIelS6udHdXqV20KeaGMGaqAyAgs30e375N-kJCaFnyCoU9UQipbek5jLLWcDE5E8Ro2x90fkW15cSm9MkVDOfx5iXKzAPHH-VZt8WNjHReA/s400/gophercomplex1.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;i&gt;Hace un par de días que asistí al meetup del grupo &lt;a href=&quot;http://www.meetup.com/es/Golang-Peru/&quot; target=&quot;_blank&quot;&gt;Golang Lima&lt;/a&gt;&amp;nbsp;y me animé a probar este lenguaje de programación. Por esta razón decidí comenzar a escribir una serie de posts con lo que iré aprendiendo.&amp;nbsp;&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Preparar mi ambiente de trabajo para empezar a probar GO, en Linux, no fue tan complicado:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Descargué el paquete con los binarios (Linux) desde aquí:&amp;nbsp;https://golang.org/dl/ y lo descomprimí en una ruta de mi preferencia&lt;/li&gt;
&lt;li&gt;Configuré algunas variables de entorno:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;export GOROOT=/home/user/go&amp;nbsp;&lt;/li&gt;
&lt;li&gt;export GOPATH=$GOROOT&amp;nbsp;&lt;/li&gt;
&lt;li&gt;export PATH=$GOPATH/bin:$PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Descargué SublimeText (ST3) desde aquí:&amp;nbsp;http://www.sublimetext.com/3 y lo instalé siguiendo las instrucciones.&lt;/li&gt;
&lt;li&gt;Luego, instalé el Package Control para ST3 siguiendo las instrucciones que aparecen aquí:&amp;nbsp;http://wbond.net/sublime_packages/package_control&lt;/li&gt;
&lt;li&gt;Finalmente, instalé el plugin GoSublime siguiendo las instrucciones que encontramos aquí:&amp;nbsp;https://github.com/DisposaBoy/GoSublime&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Con esto ya tengo todo lo necesario para comenzar a programar con GO.&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2015/07/configurando-mi-espacio-de-trabajo-para.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLyioKaw2HPNpXowe-wRibnkgQSWrIelS6udHdXqV20KeaGMGaqAyAgs30e375N-kJCaFnyCoU9UQipbek5jLLWcDE5E8Ro2x90fkW15cSm9MkVDOfx5iXKzAPHH-VZt8WNjHReA/s72-c/gophercomplex1.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-7029839780338496853</guid><pubDate>Wed, 10 Dec 2014 05:06:00 +0000</pubDate><atom:updated>2014-12-10T00:06:20.923-05:00</atom:updated><title>AndroidStudio - Gradle DSL method not found &#39;runProguard()&#39;</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Estaba elaborando unos ejemplos con mi versión beta de Android Studio hasta que me tocó actualizarme a la versión 1.0 del mismo y me empezó a salir este error:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-U7hrjjioe0g/VIfR_nCXfII/AAAAAAAAqow/vdU2Stgk4Sk/s1600/2014-12-09%2B23_53_11-Sunshine%2B-%2B%5BD__google_AndroidStudioProjects_Sunshine%5D%2B-%2B%5Bapp%5D%2B-%2B..._app_build.gr.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-U7hrjjioe0g/VIfR_nCXfII/AAAAAAAAqow/vdU2Stgk4Sk/s320/2014-12-09%2B23_53_11-Sunshine%2B-%2B%5BD__google_AndroidStudioProjects_Sunshine%5D%2B-%2B%5Bapp%5D%2B-%2B..._app_build.gr.png&quot; height=&quot;140&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Tras una breve visita por StackOverflow encontré que &quot;runProguard&quot; ha sido remplazado por &quot;minifyEnabled&quot;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-LJHpZh0Z60A/VIfSoSfucII/AAAAAAAAqo4/n_U-q_hdDB8/s1600/2014-12-09%2B23_56_34-Sunshine%2B-%2B%5BD__google_AndroidStudioProjects_Sunshine%5D%2B-%2B%5Bapp%5D%2B-%2B..._app_build.gr.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-LJHpZh0Z60A/VIfSoSfucII/AAAAAAAAqo4/n_U-q_hdDB8/s1600/2014-12-09%2B23_56_34-Sunshine%2B-%2B%5BD__google_AndroidStudioProjects_Sunshine%5D%2B-%2B%5Bapp%5D%2B-%2B..._app_build.gr.png&quot; height=&quot;135&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-YDMxkLwtvog/VIfTBsgeE0I/AAAAAAAAqpA/KZH-_yFSmng/s1600/2014-12-09%2B23_58_12-Sunshine%2B-%2B%5BD__google_AndroidStudioProjects_Sunshine%5D%2B-%2B%5Bapp%5D%2B-%2B..._app_build.gr.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-YDMxkLwtvog/VIfTBsgeE0I/AAAAAAAAqpA/KZH-_yFSmng/s1600/2014-12-09%2B23_58_12-Sunshine%2B-%2B%5BD__google_AndroidStudioProjects_Sunshine%5D%2B-%2B%5Bapp%5D%2B-%2B..._app_build.gr.png&quot; height=&quot;155&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Y con ese cambio solucioné mi problema.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Fuente: &lt;a href=&quot;http://stackoverflow.com/questions/27016385/error26-0-gradle-dsl-method-not-found-runproguard&quot; target=&quot;_blank&quot;&gt;StackOverflow&lt;/a&gt;&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2014/12/androidstudio-gradle-dsl-method-not.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-U7hrjjioe0g/VIfR_nCXfII/AAAAAAAAqow/vdU2Stgk4Sk/s72-c/2014-12-09%2B23_53_11-Sunshine%2B-%2B%5BD__google_AndroidStudioProjects_Sunshine%5D%2B-%2B%5Bapp%5D%2B-%2B..._app_build.gr.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-3954249095838455991</guid><pubDate>Fri, 19 Sep 2014 15:32:00 +0000</pubDate><atom:updated>2014-09-19T10:39:29.993-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">#appengine</category><category domain="http://www.blogger.com/atom/ns#">#pushtodeploy</category><category domain="http://www.blogger.com/atom/ns#">#translate</category><title>[Google App Engine] Usando Bitbucket para Push-to-Deploy (traducción)</title><description>Traducido de &lt;a href=&quot;http://googlecloudplatform.blogspot.com/&quot; target=&quot;_blank&quot;&gt;Google Cloud Platform Blog&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Algunos meses atrás, extendimos el soporte para realizar &lt;a href=&quot;http://googlecloudplatform.blogspot.com/2014/04/using-github-for-push-to-deploy.html&quot; target=&quot;_blank&quot;&gt;Push-to-Deploy con repositorios GitHub&lt;/a&gt;. Hoy estamos felices de extender el soporte para Push-to-Deploy con repositorios &lt;a href=&quot;https://bitbucket.org/&quot; target=&quot;_blank&quot;&gt;Bitbucket&lt;/a&gt; Git. Conectando tu proyecto AppEngine con tu repositorio Bitbucket, puedes lanzar el despliegue de tus aplicaciones Java, Python o PHP haciendo push a tu branch master en Bitbucket.&lt;br /&gt;
&lt;br /&gt;
Push to Deploy automatiza el proceso de construcción, pruebas y despliegue lanzado por medio de tus comandos de git. Esto hace la distribución de cambios en el código para tu aplicación de forma fácil, segura y rápida. Adicionalmente, a través del manejo de tu despliegue en Google Cloud Platforms te brinda acceso a otras interesantes herramientas devops tales como &lt;a href=&quot;http://googlecloudplatform.blogspot.com/2014/03/new-developer-experiences-for-cloud-platform.html&quot; target=&quot;_blank&quot;&gt;Log to Source linking&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&quot;Los usuarios de Bitbucket pueden facilmente desplegar sus aplicaciones para Google App Engine.&quot; dijo Jens Schumacher, Group Product Manager para &lt;a href=&quot;https://www.atlassian.com/&quot; target=&quot;_blank&quot;&gt;Atlassian&lt;/a&gt;. &quot;Con Push-to-Deploy, los desarrolladores pueden lanzar un despliegue al hacer push al master branch del repositorio o por combinar un pull request aprobado en Bitbucket&quot;.&lt;br /&gt;
&lt;br /&gt;
Vayamos a través de un ejemplo.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Conectando el repositorio&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Dirígete al &lt;a href=&quot;https://console.developers.google.com/&quot; target=&quot;_blank&quot;&gt;Google Developers Console&lt;/a&gt; y crea un proyecto o haz click sobre un proyecto existente que desees sincronizar con Bitbucket.&lt;/li&gt;
&lt;li&gt;Haz click sobre Source Code y luego sobre Browse en el panel de navegación izquierdo.&lt;/li&gt;
&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/_s9vpJUUmVyffz4NdjhHIcDeSehSMlyyCHcr4mAQa2ODQ_hQxlXcI_vdIQ-bzasSj0z3Mqwpu8VX3Pi2SZXSNMPsVUCbu9T3crKdIJy8D-pZ5T629In63TzuUPhaaVrkKQ&quot; height=&quot;132&quot; width=&quot;200&quot; /&gt;&lt;br /&gt;
&lt;li&gt;El siguiente paso es enlazar el repositorio de tu proyecto en Bitbuket.&lt;br /&gt;&lt;br /&gt;
Si tu proyecto no tiene un repo git o tiene un repo git vacío, llegarás directamente a la página &quot;Source Repository Settings&quot;. Haz click en &quot;Connect&quot; debajo del logo de Bitbucket.&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/M0Chuyw6hO97sX4fJTvu757nv4DihnvEi799fPWEtiwai-67qcKJly837FLaCFeSXrNrsOTz70cZfup74EEnp83QvAO7-idPC5X0BEoldfxrMr0ocN4W7F3R9i2MvM3iylvuww&quot; height=&quot;200&quot; width=&quot;320&quot; /&gt;
&lt;br /&gt;
Si tu proyecto no tiene un repo git vacío, verás una pantalla listando el contenido actual del repositorio. Puedes cambiar la configuración del repositorio para conectarlo a Bitbucket (toma en cuenta que esto sobreescribirá el contenido actual del repositorio de tu proyecto). Haz click sobre el ícono de Settings para acceder a la página &quot;Source Repository Settings&quot; mostrada anteriormente y luego haz click sobre &quot;Connect&quot; debajo del logo de Bitbucket.&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/nBCn3uWpehYMiBhy-QiVQSiX1VIaC3RWr2-mpcWqPbD5MmlrB0FFmZq43NxTgnYmx0K79IpJ7_jEdNYF6DWSoa-BHV1WkKOwcD2U5oXy7cFlfjDTMYwNE4eZN0TgHyj_Jz-KIA&quot; height=&quot;140&quot; width=&quot;320&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Serás redirigido a Bitbucket para autenticarte y obtener permisos para tus repositorios Bitbucket. Haz click en &quot;Grant access&quot;. Te podría solicitar que ingreses a cuenta de Bitbucket.&lt;br /&gt;
&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/FhU9RbZYPQAv1Ljq-XVKa2vMZFxswK3Bt52dxdNF7fOKgbul2K7vrsXvepW7PyIT2RLChUo6YbzZbJ3nepJlYnUwpR9_ZEndRPZ0InT2N9r76M-eaNpKPJp0MCiv48i2mA&quot; height=&quot;203&quot; width=&quot;320&quot; /&gt;
&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/HifwqQ_5cYQEqzXmh0hOrFEbFRjnb2BUSkyqxcFlm9VBO4nZ1Ty-miOPiAddBgtkdRhCExVRdhwbVGr86aJXmGZw9mPUAu1gRUMUxSFuUlXM59S9FGAWUj1UidKFbF9k0g&quot; height=&quot;119&quot; width=&quot;320&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Una vez que hayas obtenido acceso, verás una lista de todos los repositorios Bitbucket Git a los que tienes acceso. Escoge el repositorio que desees conectar con tu proyecto.&lt;/li&gt;
&lt;li&gt;Lee y acepta y la opción de consentimiento en el cuadro de dialogo y haz click en &lt;b&gt;Connect&lt;/b&gt;.
&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/0Lcj6Y934AeXHpxrBoPDp6ksyKWnbPvKrXPxLip909guRyhC-pdCFVwdhjHQHwHkxY8lIVkemsZ-_9kLIEFPWlKqd7B4t6hYaaMXpq_TaQnkoNTFVflmqfUJrbUDEyGmuQ&quot; height=&quot;272&quot; width=&quot;320&quot; /&gt;&lt;/li&gt;
&lt;li&gt;El repositorio Bitbucket ahora aparece en la página Repo Settings
&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/hmxgl9jizsyNySn6P5oznr9iL2hdhkNf9xTMpqxp_9E2Kw_LNB38XqH_N2AR-yTkPMHHTEnOQwy7dWQRiFdur1GHwGC72XKvfYRyXxkVhwsCaJiHNjLpaP6soFH22VzcSA&quot; height=&quot;111&quot; width=&quot;320&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Puedes configurar tu flujo de despliegue siguiendo &lt;a href=&quot;https://developers.google.com/cloud/devtools/repo/push-to-deploy#setting_up_a_release_pipeline&quot;&gt;estas instrucciones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Una vez que tu flujo de despliegue está configurado, cada vez que hagas push a tu master branch del proyecto en Bitbucket usando &lt;code&gt;git push origin master&lt;/code&gt; el código fuente será desplegado al App Engine. La página Release también te muestra el estado de los despliegues pasados y del actual.
&lt;/li&gt;
&lt;/ol&gt;
-Publicado por Rae Wang, Product Manager&lt;br /&gt;
-Traducido por &lt;a href=&quot;https://twitter.com/apiconz&quot; target=&quot;_blank&quot;&gt;Armando Picón&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Esta fue una traducción del post original (en inglés): &lt;a href=&quot;http://googlecloudplatform.blogspot.com/2014/09/using-bitbucket-for-push-to-deploy.html&quot;&gt;Using Bitbucket for Push-to-Deploy&lt;/a&gt;</description><link>http://apiconz.blogspot.com/2014/09/google-app-engine-usando-bitbucket-para.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_s9vpJUUmVyffz4NdjhHIcDeSehSMlyyCHcr4mAQa2ODQ_hQxlXcI_vdIQ-bzasSj0z3Mqwpu8VX3Pi2SZXSNMPsVUCbu9T3crKdIJy8D-pZ5T629In63TzuUPhaaVrkKQ=s72-c" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-2050354073286259398</guid><pubDate>Thu, 05 Jun 2014 03:11:00 +0000</pubDate><atom:updated>2014-06-11T22:14:56.923-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">#appengine</category><category domain="http://www.blogger.com/atom/ns#">#computeengine</category><category domain="http://www.blogger.com/atom/ns#">#googlecloudplatform</category><title>Un vistazo a Google Cloud Platform</title><description>Uno de los temas de los que he venido conversando con los chicos últimamente es la plataforma en la nube que se conoce como &lt;b&gt;Google Cloud Platform&lt;/b&gt;. Esta plataforma te permite desplegar aplicaciones web, almacenar data y analizarla, construir el backend de aplicaciones mobiles y varias cosas. Lo bueno es que se cuenta con una plataforma escalable y robusta.&lt;span class=&quot;fullpost&quot;&gt;
 
&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Esta plataforma se compone de varios servicios como se muestra en la siguiente gráfica:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHptpBkNdLh7FJzQDHdlXmE4cOh8kH-7Wmf06ATc3hG-2J5w-z6HyXwCdyUYPulKubgvG8xHsWxBKF6dPQDFYpn0LLf8uvdj47_Phz5zp8zf3amnlRsdfkembJmztxOx8mUNut1A/s1600/Imagen1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHptpBkNdLh7FJzQDHdlXmE4cOh8kH-7Wmf06ATc3hG-2J5w-z6HyXwCdyUYPulKubgvG8xHsWxBKF6dPQDFYpn0LLf8uvdj47_Phz5zp8zf3amnlRsdfkembJmztxOx8mUNut1A/s1600/Imagen1.png&quot; height=&quot;188&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Como se puede apreciar contamos con tres grandes categorías &lt;b&gt;Compute&lt;/b&gt;, &lt;b&gt;Storage &lt;/b&gt;y &lt;b&gt;App Services&lt;/b&gt;:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;App Engine&lt;/b&gt;: la PaaS (Plataforma como servicio) de Google, nos permite desplegar aplicaciones web desarrolladas con Python, Java, PHP y Go. También, podemos interactuar con diferentes APIs de los servicios de Google. Se cuenta con un paquete básico gratuito que le viene bien a las startups.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Compute Engine&lt;/b&gt;: la IaaS (Infraestructura como servicio) de Google, nos permite la creación de máquinas virtuales a partir de imagenes predefinidas o crear con nuestras propias configuraciones. Actualmente, se cuenta con la posibilidad de emplear sistemas operativos como Debian, CentOS, CoreOS, entre otros. Recomendado para quienes requieran un alto nivel de cómputo.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Cloud Storage&lt;/b&gt;: el servicio de almacenamiento de objetos de Google, cuenta con APIs que permiten el consumo de datos desde otros servicios como App Engine, Compute Engine, etc.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Cloud SQL&lt;/b&gt;: si requerimos de una base de datos relacional en la nube, este es el servicio que debemos emplear, basado en MySQL; el mantenimiento? se lo dejamos a Google quien nos garantiza una base de datos con una buena performance y de alta disponibilidad.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Cloud Datastore&lt;/b&gt;: la base de datos NoSQL, libre de esquemas y data relacional, puede crecer de acuerdo a nuestras necesidades, con soporte a transacciones y a consultas tipo SQL.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;BigQuery&lt;/b&gt;: si hablamos de consultas a grandes conjuntos de datos y a un tiempo reducido, sin duda, esto es BigQuery. Escalable y de fácil uso, nos permite explotación de conjuntos de datos que en sistemas normales podrían llevarnos horas.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Cloud Endpoints&lt;/b&gt;: nos permite construir servicios RESTful para el consumo de aplicaciones mobiles, cuenta con protección contra ataques de denegación de servicios (Denial-of-Service), soporte OAuth 2.0 y más.&lt;/li&gt;
&lt;li&gt;...y otros servicios como &lt;a href=&quot;https://cloud.google.com/products/prediction-api&quot; target=&quot;_blank&quot;&gt;Prediction API&lt;/a&gt;, &lt;a href=&quot;https://cloud.google.com/products/translate-api&quot; target=&quot;_blank&quot;&gt;Translate API&lt;/a&gt; y el reciente &lt;a href=&quot;https://cloud.google.com/products/cloud-dns&quot; target=&quot;_blank&quot;&gt;Cloud DNS&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Si quieres saber quiénes emplean Google Cloud Platform puedes visitar el siguiente &lt;a href=&quot;https://cloud.google.com/customers/&quot; target=&quot;_blank&quot;&gt;enlace&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Hace poco la gente de Google hizo un esfuerzo y preparó &lt;a href=&quot;http://googlecloudplatform.github.io/&quot; target=&quot;_blank&quot;&gt;este site en Github&lt;/a&gt; lleno de ejemplos sobre cómo emplear las diversas APIs y tecnologías.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Finalmente, les comparto una presentación que empleé hace poco para dar un vistazo a lo que la plataforma ofrece:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;356&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://www.slideshare.net/slideshow/embed_code/35699789&quot; style=&quot;border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px; max-width: 100%;&quot; width=&quot;427&quot;&gt; &lt;/iframe&gt; &lt;/div&gt;
&lt;div style=&quot;margin-bottom: 5px;&quot;&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;strong&gt; &lt;a href=&quot;https://www.slideshare.net/apiconz/gdg-open-googlecloudplatform&quot; target=&quot;_blank&quot; title=&quot;GDG Open - Overview de la Google Cloud Platform&quot;&gt;GDG Open - Overview de la Google Cloud Platform&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href=&quot;http://www.slideshare.net/apiconz&quot; target=&quot;_blank&quot;&gt;Armando Picon&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Otros enlaces útiles:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://developers.google.com/cloud/?hl=es&quot; target=&quot;_blank&quot;&gt;Google Cloud Platform - Google Developers&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://developers.google.com/compute/docs/?hl=es&quot; target=&quot;_blank&quot;&gt;Google Compute Engine - Google Developers&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://developers.google.com/appengine/docs/whatisgoogleappengine?hl=es&quot; target=&quot;_blank&quot;&gt;Google App Engine - Google Developers&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9Ttw&quot; target=&quot;_blank&quot;&gt;Canal de Google Developers - YouTube&lt;/a&gt;&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2014/06/un-vistazo-google-cloud-platform.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHptpBkNdLh7FJzQDHdlXmE4cOh8kH-7Wmf06ATc3hG-2J5w-z6HyXwCdyUYPulKubgvG8xHsWxBKF6dPQDFYpn0LLf8uvdj47_Phz5zp8zf3amnlRsdfkembJmztxOx8mUNut1A/s72-c/Imagen1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-2389561702826255534</guid><pubDate>Sun, 11 May 2014 22:16:00 +0000</pubDate><atom:updated>2014-05-11T17:19:48.104-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">android</category><category domain="http://www.blogger.com/atom/ns#">flisol</category><category domain="http://www.blogger.com/atom/ns#">gdg open</category><title>Taller de Android - FLISOL Lima Este 2014</title><description>&lt;span class=&quot;fullpost&quot;&gt;
&lt;/span&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span class=&quot;fullpost&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdpIBUFNsF_2pLfkNpGAB46-mI0wq0M4gZD6dl_r2jD1WskGTwU2JsuDiBbhVA7z3OqwQz0NfT_D6FLmBhyphenhyphen68oHsamXvbJd9YWZIEOXlQSThwG0pCWpgLTmbWJFi4JCfrR8UJUGw/s1600/flisol.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdpIBUFNsF_2pLfkNpGAB46-mI0wq0M4gZD6dl_r2jD1WskGTwU2JsuDiBbhVA7z3OqwQz0NfT_D6FLmBhyphenhyphen68oHsamXvbJd9YWZIEOXlQSThwG0pCWpgLTmbWJFi4JCfrR8UJUGw/s1600/flisol.jpg&quot; height=&quot;80&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class=&quot;fullpost&quot;&gt;No hace mucho, el 26 de abril para ser más precisos, tuve oportunidad de dictar un taller sobre Android como parte del evento FLISOL Lima Este 2014 al cual fui invitado como miembro del &lt;a href=&quot;http://www.meetup.com/gdgopenlima&quot;&gt;GDG Open&lt;/a&gt;. Les comparto los slides que usé para mi presentación.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span class=&quot;fullpost&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;486&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;https://www.slideshare.net/slideshow/embed_code/34544023?startSlide=2&quot; style=&quot;border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px; max-width: 100%;&quot; width=&quot;597&quot;&gt; &lt;/iframe&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 5px;&quot;&gt;
&lt;span class=&quot;fullpost&quot;&gt;&lt;strong&gt; &lt;a href=&quot;https://www.slideshare.net/apiconz/android-flisol-34544023&quot; target=&quot;_blank&quot; title=&quot;Taller Android - FLISOL Lima Este 2014&quot;&gt;Taller Android - FLISOL Lima Este 2014&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href=&quot;http://www.slideshare.net/apiconz&quot; target=&quot;_blank&quot;&gt;Armando Picon&lt;/a&gt;&lt;/strong&gt; &lt;/span&gt;&lt;/div&gt;
&lt;span class=&quot;fullpost&quot;&gt;


Enlace: &lt;a href=&quot;http://flisol-lima.appspot.com/&quot;&gt;FLISOL Lima Este 2014&lt;/a&gt;

&lt;/span&gt;</description><link>http://apiconz.blogspot.com/2014/05/taller-de-android-flisol-lima-este-2014.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdpIBUFNsF_2pLfkNpGAB46-mI0wq0M4gZD6dl_r2jD1WskGTwU2JsuDiBbhVA7z3OqwQz0NfT_D6FLmBhyphenhyphen68oHsamXvbJd9YWZIEOXlQSThwG0pCWpgLTmbWJFi4JCfrR8UJUGw/s72-c/flisol.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-9064168312832463701</guid><pubDate>Wed, 12 Feb 2014 20:02:00 +0000</pubDate><atom:updated>2014-02-12T15:02:25.800-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">#python</category><title>Un nuevo comienzo... con Python</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIZlSOTubeT9X9nnDJiTc1OrF4xJvdkO1xr6IgbWw6odB3WcH9c4n0G6MoNgoT8Y7rCW8AenduMhYV_eVe4uMbSoB42YrL0OFnH2v8vUDHhM6atBus2fW17Du93A8VX9QUcUX52Q/s1600/pylogo.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIZlSOTubeT9X9nnDJiTc1OrF4xJvdkO1xr6IgbWw6odB3WcH9c4n0G6MoNgoT8Y7rCW8AenduMhYV_eVe4uMbSoB42YrL0OFnH2v8vUDHhM6atBus2fW17Du93A8VX9QUcUX52Q/s1600/pylogo.png&quot; height=&quot;200&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Recientemente, estoy entrando de lleno a ver &lt;b&gt;Python &lt;/b&gt;como un lenguaje alternativo al que uso diariamente (java). He tenido oportunidad de ver el uso de este lenguaje y también he visto aplicaciones que amigos míos han desarrollado, realmente, he quedado gratamente encantado con ello por la simpleza que hay en este código. Entonces, tras ver su aplicación en el desarrollo de aplicaciones web y desktop, en la administración de servidores, en la ejecución de tareas del sistema operativo (uso Linux) y saber que se puede aplicar en otros campos más, pues es claro que este lenguaje tiene mucho potencial y que sería buenísimo aprender a usarlo.&amp;nbsp;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Cuando empecé a explorar este lenguaje, un detalle interesante cuando empleas el &lt;b&gt;Python Interpreter&lt;/b&gt; es que al ingresar la sentencia &quot;&lt;b&gt;import this&lt;/b&gt;&quot; nos aparecerá el &lt;b&gt;Zen de Python&lt;/b&gt;, el cual contiene un listado de principios de diseño y la filosofía que hay detrás de este lenguaje y que nos puede ayudar a entender un poco más cómo es que funciona.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;The Zen of Python&lt;/b&gt;, by Tim Peters&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Beautiful is better than ugly. (&lt;i&gt;Hermoso es mejor que feo&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Explicit is better than implicit. (&lt;i&gt;Explícito es mejor que implícito&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Simple is better than complex. (&lt;i&gt;Simple es mejor que complejo&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Complex is better than complicated. (&lt;i&gt;Complejo es mejor que complicado&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Flat is better than nested. (&lt;i&gt;Plano es mejor que anidado&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Sparse is better than dense. (&lt;i&gt;Disperso es mejor que denso&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Readability counts. (&lt;i&gt;La legibilidad cuenta&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Special cases aren&#39;t special enough to break the rules. (&lt;i&gt;Casos especiales no son lo suficientemente especiales para romper las reglas&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Although practicality beats purity. (&lt;i&gt;Aunque la practicidad le gana a la pureza&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Errors should never pass silently. (&lt;i&gt;Los errores nunca debería pasar silenciosamente&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Unless explicitly silenced. (&lt;i&gt;A menos que sea silenciado explicitamente&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
In the face of ambiguity, refuse the temptation to guess. (&lt;i&gt;De cara a la ambigüedad, rechace la tentación a adivinar&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
There should be one-- and preferably only one --obvious way to do it. (&lt;i&gt;Debería haber una -- y preferiblemente solo una -- forma obvia de hacerlo&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Although that way may not be obvious at first unless you&#39;re Dutch. (&lt;i&gt;Aunque esa forma pueda no ser obvia al principio, a menos que seas holandés&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Now is better than never. (&lt;i&gt;Ahora es mejor que nunca&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Although never is often better than *right* now. (&lt;i&gt;Aunque nunca es frecuentemente mejor que &quot;ahora mismo&quot;&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
If the implementation is hard to explain, it&#39;s a bad idea. (&lt;i&gt;Si la implementación es difícil de explicar, es una mala idea&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
If the implementation is easy to explain, it may be a good idea. (&lt;i&gt;Si la implementación es fácil de explicar, puede que sea una buena idea&lt;/i&gt;)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Namespaces are one honking great idea -- let&#39;s do more of those! (&lt;i&gt;Los namespaces son una gran idea -- hagamos más de aquellas!&lt;/i&gt;)&lt;span class=&quot;fullpost&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ya les iré comentando como me va con este nuevo lenguaje, es el inicio de una nueva etapa.&lt;/div&gt;
&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2014/02/un-nuevo-comienzo-con-python.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIZlSOTubeT9X9nnDJiTc1OrF4xJvdkO1xr6IgbWw6odB3WcH9c4n0G6MoNgoT8Y7rCW8AenduMhYV_eVe4uMbSoB42YrL0OFnH2v8vUDHhM6atBus2fW17Du93A8VX9QUcUX52Q/s72-c/pylogo.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-214351414818509892</guid><pubDate>Sat, 25 Jan 2014 08:11:00 +0000</pubDate><atom:updated>2014-01-25T08:53:02.693-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dart</category><title>Problema entre Unity y los Menúes del Dart Editor en Ubuntu 13.10</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaS4PhlW6QK2VXhMAK7K9KrbILxwEzvblREKJ-KQpAAfcB81LcgIRKAke1mxV9j6rUCcovPD1i9hm2McPeIk48-pBj2Exkc2_NUwu18Cx5Ub50HrXqp8Kyh1XMmhkgh0xUMo0s8Q/s1600/ubuntu-dart.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaS4PhlW6QK2VXhMAK7K9KrbILxwEzvblREKJ-KQpAAfcB81LcgIRKAke1mxV9j6rUCcovPD1i9hm2McPeIk48-pBj2Exkc2_NUwu18Cx5Ub50HrXqp8Kyh1XMmhkgh0xUMo0s8Q/s1600/ubuntu-dart.png&quot; height=&quot;194&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Cuando ejecutas el Dart Editor en Ubuntu 13.10, los menues se integran a Unity y eso impide que podamos desplegarlos. Para evitar ello, por el momento, ejecuté los siguientes comandos desde el terminal para levantar el editor. Tomen en cuenta que las rutas que estoy empleando son las que tengo en mi PC por lo que en otros casos esta variará.&lt;span class=&quot;fullpost&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;sudo env UBUNTU_MENUPROXY=/home/armando/Dev/dart/DartEditor&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;sudo /home/armando/Dev/dart/DartEditor&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Sin duda esto constituye un workaround, asi que seguiré buscando una forma definitiva y permanente para solucionarlo.&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2014/01/menus-del-dart-editor-en-ubuntu-1310.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaS4PhlW6QK2VXhMAK7K9KrbILxwEzvblREKJ-KQpAAfcB81LcgIRKAke1mxV9j6rUCcovPD1i9hm2McPeIk48-pBj2Exkc2_NUwu18Cx5Ub50HrXqp8Kyh1XMmhkgh0xUMo0s8Q/s72-c/ubuntu-dart.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-4769026266953952792</guid><pubDate>Tue, 26 Nov 2013 23:20:00 +0000</pubDate><atom:updated>2013-11-26T18:20:47.992-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">reflexión</category><title>[Anecdota] La vida más sencilla con servicios online: Reniec, PNP, Interbank y Google</title><description>El día de hoy tuve la mala fortuna de extraviar mi billetera (o cartera como se le llama en otros países) con mis documentos, tarjetas y dinero, por cierto, fue la primera vez que me ocurre un hecho de esta naturaleza en mi vida. Sin embargo, ante la situación en que me vi envuelto era necesario actuar con cierta prontitud, asi que armado de mi laptop y mi modem, empecé a realizar los trámites de modo virtual:&lt;span class=&quot;fullpost&quot;&gt;
 
&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La denuncia, para evitar cualquier incidente por la pérdida del DNI es necesario acercarse a una comisaría para efectuar una denuncia, sin embargo, la &lt;a href=&quot;https://twitter.com/policiaperu&quot; target=&quot;_blank&quot;&gt;Policía Nacional del Perú (@policíaperu)&lt;/a&gt; ha habilitado en su servicio de comisaría virtual la opción de &lt;a href=&quot;http://www.pnp.gob.pe/comisariavirtual/formularios/predenuncia2.aspx?valor=&quot; target=&quot;_blank&quot;&gt;Pre-Registro de Denuncias&lt;/a&gt;, mediante el cual puedes registrar una denuncia indicando la comisaría en la que se realizará la confirmación, de esta forma basta con acercarte a la comisaría y confirmar la denuncia pre-registrada. También sirve para realizar denuncias anónimas.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El bloqueo de tarjetas, una simple llamada desde mi celular al 013119000, y unas cuantas pulsaciones en el teclado de mi celular, fueron suficiente para hacer el bloqueo rápido de todas mis tarjetas vía la banca celular de &lt;a href=&quot;https://twitter.com/interbank&quot; target=&quot;_blank&quot;&gt;Interbank (@interbank)&lt;/a&gt;, no tuve necesidad de conversar con nadie, lo cual me parece genial porque ante una emergencia la acción es inmediata. Quizá algo para mejorar es dejar el número de la central telefónica un poco más visible en su web.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El duplicado de mi documento de identidad, tiempo atrás cuando se me venció mi DNI (sí señores, acá en el Perú, los DNIs vencen), tuve que acercarme hasta la oficina misma de la &lt;a href=&quot;https://twitter.com/reniecdigital&quot; target=&quot;_blank&quot;&gt;Reniec (@reniecdigital)&lt;/a&gt; para realizar un trámite que me hacía perder varias horas de largas colas; hoy en día eso ya cambió, gracias a los &lt;a href=&quot;http://www.reniec.gob.pe/portal/masServiciosLinea.htm&quot; target=&quot;_blank&quot;&gt;Servicios en línea&lt;/a&gt;, disponibles en su portal web puedo de forma sencilla y rápida realizar el trámite para la obtención del duplicado que estaba necesitando. Basta con realizar el pago correspondiente en cualquier agencia del Banco de la Nación o BCP y listo, con los datos de la boleta, el trámite sale en un, dos por tres! Y el servicio te da la fecha aproximada de entrega y un número de consulta :D&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La impresión de la constancia. Bueno, del trámite anterior era necesario imprimir una constancia y San &lt;a href=&quot;https://twitter.com/google&quot; target=&quot;_blank&quot;&gt;Google (@google)&lt;/a&gt;, fue de mucha ayuda, gracias a su servicio &lt;a href=&quot;https://www.google.com/cloudprint/learn/&quot; target=&quot;_blank&quot;&gt;Google Cloud Print&lt;/a&gt; (aun en beta), el cual permite agregar una impresora adicional y puedo, enviar mi documento para su impresión a una impresora remota conectada a la nube o bien enviar el documento en formato PDF a mi &lt;a href=&quot;https://drive.google.com/&quot; target=&quot;_blank&quot;&gt;Google Drive&lt;/a&gt;. Un magnifico servicio.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y así, muchas cosas que antes se hacían de forma presencial o manual, hoy en día se ven aligeradas gracias a los servicios online!! :D&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2012/11/anecdota-4-servicios-que-me.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-8121096960177673362</guid><pubDate>Tue, 26 Nov 2013 23:07:00 +0000</pubDate><atom:updated>2013-11-26T18:07:03.788-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">portlets</category><title>Creando un Custom Portlet Service con Maven y sin RAD</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbI0Z0warEoSM18xkxGekVITjwl6M9-2Gqnqg4vVJx1xjWA6Nwh4b5GlaYDYOfCKmR8SQH8XRZ8gNwgLzkBv0vYAtEApznVn56EIW7tpMaGh_sd6miwxt71AptMik3BjgH6nx1wQ/s1600/image_gallery.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbI0Z0warEoSM18xkxGekVITjwl6M9-2Gqnqg4vVJx1xjWA6Nwh4b5GlaYDYOfCKmR8SQH8XRZ8gNwgLzkBv0vYAtEApznVn56EIW7tpMaGh_sd6miwxt71AptMik3BjgH6nx1wQ/s1600/image_gallery.png&quot; height=&quot;68&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
En la entrega anterior les mostré como desarrollar un portlet básico sin RAD. En esta ocasión nos toca ver cómo desarrollar un Custom Portlet Service para WebSphere Portal, obviamente sin RAD y empleando Maven.&lt;span class=&quot;fullpost&quot;&gt;
 
&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Lo primero que vamos a necesitar es el archivo &lt;b&gt;public_spi.jar&lt;/b&gt; que contiene algunas de las clases e interfaces que requeriremos para desarrollar el portlet service. Habitualmente este archivo se encuentra en una ruta similar a esta: &lt;b&gt;&lt;portalserver-dir&gt;/doc/compile&lt;/portalserver-dir&gt;&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego, nos valemos de Maven para agregar este jar a nuestro repositorio de dependencias.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bubble&quot; id=&quot;file-gistfile1-sh&quot; style=&quot;background-color: #eeeeee; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 12px; padding: 3px;&quot;&gt;
&lt;div class=&quot;file-box &quot; style=&quot;background-color: #ececec; border: 1px solid rgb(204, 204, 204); position: relative;&quot;&gt;
&lt;div class=&quot;file-data&quot; style=&quot;background-color: ghostwhite; overflow: auto;&quot;&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;lines highlight&quot; style=&quot;background-color: white; background-position: initial initial; background-repeat: initial initial; border-collapse: collapse; border-spacing: 0px; border: 0px; font-size: inherit; padding: 0px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;line-data&quot; style=&quot;font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 12px; line-height: 1.4; padding: 12px 0px 12px 12px; width: 826px;&quot;&gt;&lt;pre class=&quot;line-pre&quot; style=&quot;font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; line-height: 1.4; padding: 0px; width: 826px;&quot;&gt;&lt;div class=&quot;line&quot; id=&quot;file-gistfile1-sh-LC1&quot;&gt;
mvn install:install-file -Dfile&lt;span class=&quot;o&quot; style=&quot;font-weight: bold;&quot;&gt;=&lt;/span&gt;public_spi.jar -DgroupId&lt;span class=&quot;o&quot; style=&quot;font-weight: bold;&quot;&gt;=&lt;/span&gt;com.ibm /&lt;/div&gt;
&lt;div class=&quot;line&quot; id=&quot;file-gistfile1-sh-LC1&quot;&gt;
-DartifactId&lt;span class=&quot;o&quot; style=&quot;font-weight: bold;&quot;&gt;=&lt;/span&gt;public-spi -Dversion&lt;span class=&quot;o&quot; style=&quot;font-weight: bold;&quot;&gt;=&lt;/span&gt;1.0 -Dpackaging&lt;span class=&quot;o&quot; style=&quot;font-weight: bold;&quot;&gt;=&lt;/span&gt;jar&lt;/div&gt;
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
A continuación, creamos un proyecto simple con Maven y agregamos las dependencias correspondientes a la api portlet 2.0 y al jar que acabamos de agregar.&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/apiconz/7667453.js&quot;&gt;&lt;/script&gt;

Ahora crearemos una interfaz que contendrá la declaración de métodos públicos que se expondrán a través del servicio y, obviamente, crearemos también la clase que la implementará:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;script src=&quot;https://gist.github.com/apiconz/300dd7bdd026abc14421.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;br /&gt;
En este punto, debemos generar el JAR del servicio para luego registrarlo en el Portal.
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Colocamos el jar en la ruta: /wp_profile/PortalServer/config&lt;/li&gt;
&lt;li&gt;En la consola del WAS del Portal, registraremos el portlet service valiéndonos del Resource Environment Provider llamado &quot;WP PortletServiceRegistryService&quot;.&lt;/li&gt;
&lt;li&gt;Creamos &amp;nbsp;un nuevo registro en los Custom Properties. En el nombre ingresamos &lt;b&gt;jndi.pe.apiconz.portletsapps.portletserviceexample.MyPortletService&lt;/b&gt; y en el valor colocamos el nombre completo de la clase que lo implementa:&amp;nbsp;&lt;b&gt;pe.apiconz.portletsapps.portletserviceexample.MyPortletServiceImpl&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;Guardamos y reiniciamos el portal.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
La invocación del portlet service que acabamos de crear sería como sigue:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/apiconz/7667842.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2013/11/creando-un-custom-portlet-service-con.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbI0Z0warEoSM18xkxGekVITjwl6M9-2Gqnqg4vVJx1xjWA6Nwh4b5GlaYDYOfCKmR8SQH8XRZ8gNwgLzkBv0vYAtEApznVn56EIW7tpMaGh_sd6miwxt71AptMik3BjgH6nx1wQ/s72-c/image_gallery.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-3802352676868701809</guid><pubDate>Mon, 18 Nov 2013 16:05:00 +0000</pubDate><atom:updated>2013-11-26T16:52:59.030-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">google developer</category><category domain="http://www.blogger.com/atom/ns#">google maps</category><title>Google Maps - Ejemplo sencillo de multimarcadores</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpnne8N0Kp5v34QVK_F7zgFeXBY3mCDpbt1LCp6Iqdgsgiba8aDqfO0vZF3-xPN2e13qJXyjvy79hWRMvC1nuP6AMQN-CBasANowpsBvm5Vtvin91LiVbqn8NA7UBfB8D_ljix_g/s1600/Google-Maps-icon.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpnne8N0Kp5v34QVK_F7zgFeXBY3mCDpbt1LCp6Iqdgsgiba8aDqfO0vZF3-xPN2e13qJXyjvy79hWRMvC1nuP6AMQN-CBasANowpsBvm5Vtvin91LiVbqn8NA7UBfB8D_ljix_g/s200/Google-Maps-icon.png&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Aquí les dejo un ejemplo sencillo de multimarcadores empleando Google Maps API. Para la visualización de este ejemplo necesitan una API KEY que pueden generar en http://cloud.google.com/console.&lt;span class=&quot;fullpost&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
El ejemplo debería verse de la siguiente manera:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtD7bH042TjWSIsGs_zwVGK3ftscdBT8xzpnj3p0k5eKx1MSyhMCZrSLKvTSoZQeLVrSmd2NJZgG26Bulu8Ej3eBcWCNUgTK3ehth64vty4gOhxYdNxrhS_wsLRXow7akVI0hiVg/s1600/maps.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtD7bH042TjWSIsGs_zwVGK3ftscdBT8xzpnj3p0k5eKx1MSyhMCZrSLKvTSoZQeLVrSmd2NJZgG26Bulu8Ej3eBcWCNUgTK3ehth64vty4gOhxYdNxrhS_wsLRXow7akVI0hiVg/s320/maps.png&quot; height=&quot;204&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
El código lo dejo a continuación:&lt;/div&gt;
&lt;div&gt;
&lt;script src=&quot;https://gist.github.com/apiconz/7530107.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2013/11/google-maps-ejemplo-sencillo-de.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpnne8N0Kp5v34QVK_F7zgFeXBY3mCDpbt1LCp6Iqdgsgiba8aDqfO0vZF3-xPN2e13qJXyjvy79hWRMvC1nuP6AMQN-CBasANowpsBvm5Vtvin91LiVbqn8NA7UBfB8D_ljix_g/s72-c/Google-Maps-icon.png" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-3294716223811857403</guid><pubDate>Thu, 14 Nov 2013 14:33:00 +0000</pubDate><atom:updated>2013-11-26T16:52:39.019-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">angularjs</category><category domain="http://www.blogger.com/atom/ns#">google developer</category><category domain="http://www.blogger.com/atom/ns#">google plus</category><category domain="http://www.blogger.com/atom/ns#">servlets</category><title>AngularJS - Obteniendo publicaciones de Google+ a través de un servlet</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2RL5lgFspdNYPfcFAbM9DXZHVB_X17fTcRhmGKTO6ol0712bbl7gjAEFMRXP3v6U70e3U8ty5fRnnuwdVLnF_7YViSWC1nsyNW2kLvopm_vips3U0c-lVHD-e45K6bZICqCgjtA/s1600/angular-shield.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2RL5lgFspdNYPfcFAbM9DXZHVB_X17fTcRhmGKTO6ol0712bbl7gjAEFMRXP3v6U70e3U8ty5fRnnuwdVLnF_7YViSWC1nsyNW2kLvopm_vips3U0c-lVHD-e45K6bZICqCgjtA/s1600/angular-shield.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Recientemente estoy probando el uso de &lt;a href=&quot;http://angularjs.org/&quot; target=&quot;_blank&quot;&gt;AngularJS&lt;/a&gt;, un framework de javascript que es mantenido por Google. Me puse a experimentar cómo invocar a un servlet para que me provea datos por medio de un controller de angularjs. En este escenario estoy trayendo las publicaciones de un perfil de &lt;a href=&quot;http://plus.google.com/&quot; target=&quot;_blank&quot;&gt;Google+&lt;/a&gt;.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Lo primero que hice fue construir mi servlet, efectuando la invocación al servicio. Debido a la &lt;b&gt;facilidad que tiene AngularJS para trabajar con JSON&lt;/b&gt;, la respuesta que viene de la invocación la paso a dicho formato. Observen también la manera en que, a través del controller, se realiza la invocación al servlet. Finalmente, itero el resultado empleando el &lt;i&gt;forEach&lt;/i&gt; con AngularJS.&lt;br /&gt;
&lt;br /&gt;
A continuación, les dejo el código de este ejemplo. Si tienen algún comentario, consulta o ven alguna mejora que se le pueda hacer, siéntanse libres de escribirme.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;script src=&quot;https://gist.github.com/apiconz/7467602.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;div&gt;
Algunos enlaces que me fueron de utilidad:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Sobre el uso de $http:&amp;nbsp;&lt;a href=&quot;http://docs.angularjs.org/api/ng.$http&quot;&gt;http://docs.angularjs.org/api/ng.$http&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Servlet de ejemplo:&amp;nbsp;&lt;a href=&quot;https://code.google.com/p/google-api-java-client/source/browse/plus-appengine-sample/src/main/java/com/google/api/services/samples/plus/PlusBasicServlet.java?repo=samples&quot;&gt;https://code.google.com/p/google-api-java-client/source/browse/plus-appengine-sample/src/main/java/com/google/api/services/samples/plus/PlusBasicServlet.java?repo=samples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Atributo ng-repeat:&amp;nbsp;&lt;a href=&quot;http://docs.angularjs.org/api/ng.directive:ngRepeat&quot;&gt;http://docs.angularjs.org/api/ng.directive:ngRepeat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Si recién vas a iniciar, te recomiendo el tutorial que se encuentra en la misma página de AngularJS:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://docs.angularjs.org/tutorial/&quot;&gt;http://docs.angularjs.org/tutorial/&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2013/11/angularjs-obteniendo-publicaciones-de.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2RL5lgFspdNYPfcFAbM9DXZHVB_X17fTcRhmGKTO6ol0712bbl7gjAEFMRXP3v6U70e3U8ty5fRnnuwdVLnF_7YViSWC1nsyNW2kLvopm_vips3U0c-lVHD-e45K6bZICqCgjtA/s72-c/angular-shield.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-790887943244054325</guid><pubDate>Fri, 18 Oct 2013 22:51:00 +0000</pubDate><atom:updated>2013-11-26T16:14:49.946-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">useful links (enlaces útiles)</category><title>Exploring Reverse AJAX (enlace</title><description>Encontré este interesante artículo, muy didáctico, para entender el concepto de Reverse AJAX&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://gmapsdotnetcontrol.blogspot.com/2006/08/exploring-reverse-ajax-ajax.html&quot;&gt;Exploring Reverse AJAX&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;fullpost&quot;&gt; &lt;/span&gt;</description><link>http://apiconz.blogspot.com/2013/10/exploring-reverse-ajax-enlace.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-3702259077352561908</guid><pubDate>Thu, 17 Oct 2013 16:50:00 +0000</pubDate><atom:updated>2013-11-26T16:51:40.007-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">portlets</category><title>Creando portlets sin RAD (Eclipse+Maven)</title><description>Hola a todos, en esta ocasión iré señalando los pasos que seguí para crear un portlet básico usando Eclipse y Maven.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El primer paso es crear una aplicación web con Maven empleando el archetype &quot;maven-archetype-webapp&quot;. Para este ejemplo me estoy apoyando en el wizard que viene incluído en mi Eclipse.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA6qfhjAba0TpTlkvJWjDGdmHAe2_SViVGKARzaSbeQH9X1-ZSCkbRUpr0NzlnUPl44GK-zslUdlXS9DisR5h321fOLLZqGCafAAQ-XJPNrNrRJ7k-tGHCFXN6domz3xOawPkb_w/s320/2013-10-16+11_15_01-Java+-+Veamos_WebContent__TaskListPortlet_jsp_html_TaskListPortletView.jsp+-+Ecl.png&quot; height=&quot;288&quot; width=&quot;320&quot; /&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyH0_k5QCpyg6LG4oeJ-iSSdvMj-JtMw3ldCF69iYmYGXeYm9OGuVJNSb4FqLuZ4O0wOaqEAbyEoTL5WMCvmdqCXAGpMpFBr4829NRI25MF09LNLVydtUuLsejM36rNXV5aLEYOQ/s320/2013-10-16+11_13_15-Java+-+Veamos_WebContent__TaskListPortlet_jsp_html_TaskListPortletView.jsp+-+Ecl.png&quot; height=&quot;291&quot; width=&quot;320&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Parece tratarse de un bug, pero al crear el proyecto no me muestra la carpeta &quot;src/main/java&quot; para que aparezca siempre debo crear la carpeta &quot;java&quot; tal como lo señalo en la siguiente figura:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimD1WY8eWy2yZU7WrJu2VAisSua93GTVw1QkxzK9Tl5n0fjvD2BhvCgWPygwI3kW-jALQgZnOZsnytN4PJYxpROamkEvfYk-RuJtEC8VyygmkhmnVPtee1hRzb4HuWjwyux9rlAg/s1600/2013-10-16+11_24_16-Java+-+Veamos_WebContent__TaskListPortlet_jsp_html_TaskListPortletView.jsp+-+Ecl.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimD1WY8eWy2yZU7WrJu2VAisSua93GTVw1QkxzK9Tl5n0fjvD2BhvCgWPygwI3kW-jALQgZnOZsnytN4PJYxpROamkEvfYk-RuJtEC8VyygmkhmnVPtee1hRzb4HuWjwyux9rlAg/s320/2013-10-16+11_24_16-Java+-+Veamos_WebContent__TaskListPortlet_jsp_html_TaskListPortletView.jsp+-+Ecl.png&quot; height=&quot;229&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Modifico mi archivo POM.xml y le agrego las dependencias correspondientes.
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/apiconz/6452868.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;div&gt;
Luego, creo un archivo portlet.xml similar al que aparece a continuación:&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/apiconz/7027590.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;
Finalmente, creo mi portlet HelloWorld.&lt;br /&gt;
&lt;br /&gt;
He subido mi ejemplo en GitHub&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
He subido este ejemplo en &lt;a href=&quot;https://github.com/apiconz/portlet-development&quot;&gt;mi repositorio en Github&lt;/a&gt;.</description><link>http://apiconz.blogspot.com/2013/10/creando-portlets-sin-rad-eclipsemaven.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA6qfhjAba0TpTlkvJWjDGdmHAe2_SViVGKARzaSbeQH9X1-ZSCkbRUpr0NzlnUPl44GK-zslUdlXS9DisR5h321fOLLZqGCafAAQ-XJPNrNrRJ7k-tGHCFXN6domz3xOawPkb_w/s72-c/2013-10-16+11_15_01-Java+-+Veamos_WebContent__TaskListPortlet_jsp_html_TaskListPortletView.jsp+-+Ecl.png" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-7378740375770683966</guid><pubDate>Thu, 15 Aug 2013 21:40:00 +0000</pubDate><atom:updated>2013-11-26T16:53:33.679-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">android</category><title>Activar opciones para el desarrollador en Android 4.2+</title><description>&lt;div dir=&quot;ltr&quot;&gt;
Cuando trataba de probar una app en mi nuevo Nexus y no encontraba cómo activar el modo de Depuración. Pues había que entrar a la opción &lt;b&gt;Acerca del tablet&lt;/b&gt; y pulsar varias veces sobre &lt;b&gt;Número de Compilación&lt;/b&gt;. &lt;i&gt;Una pequeña alerta nos reconocerá como &lt;/i&gt;&lt;i&gt;&lt;u&gt;desarrolladores&lt;/u&gt;&lt;/i&gt; y con ello tendremos habilitada las &lt;b&gt;Opciones&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;del&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;Programador&lt;/b&gt;.&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzXDkdkY6jFu0UTMimzzKsatU-JnyQ9sLs_OLvzCOj7BzLBgH_UOV-8swNkUw1mHHiql9waqwsVrcfH_KECsyzXWfobN9_mLCVpjhv4_qMI4X3m2szz6kaK2RCWzRC_POfzqfK0Q/s1600/20130815_151808.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzXDkdkY6jFu0UTMimzzKsatU-JnyQ9sLs_OLvzCOj7BzLBgH_UOV-8swNkUw1mHHiql9waqwsVrcfH_KECsyzXWfobN9_mLCVpjhv4_qMI4X3m2szz6kaK2RCWzRC_POfzqfK0Q/s200/20130815_151808.jpg&quot; height=&quot;200&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPB9vyNbyUOZAkOEwEd5eKJJXtrVaOySH53jQ3kckHPt30DVilVy0C59vOmnZv5jjdE8hPK-bXtIvRYhyphenhyphendjLJNadBTYn_1jZSKPkFwmhziS7G2NvgXHNUeZvN-QMz3OLiyiwtZ-w/s1600/20130815_151838.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPB9vyNbyUOZAkOEwEd5eKJJXtrVaOySH53jQ3kckHPt30DVilVy0C59vOmnZv5jjdE8hPK-bXtIvRYhyphenhyphendjLJNadBTYn_1jZSKPkFwmhziS7G2NvgXHNUeZvN-QMz3OLiyiwtZ-w/s200/20130815_151838.jpg&quot; height=&quot;200&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBtlglgKsX5X5CUCSU0Gj7KhCMNH0ZqbWzBvy1wFsyS4oP-8r02ujKfmnTr5L78vo-gYF08FyEyMIgV3Qa_Mn2KppatPWHLPxT_9GVSGR0XxjAVzpLEa4GzoLDg_x4WOt8kSQn_A/s1600/20130815_151939.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBtlglgKsX5X5CUCSU0Gj7KhCMNH0ZqbWzBvy1wFsyS4oP-8r02ujKfmnTr5L78vo-gYF08FyEyMIgV3Qa_Mn2KppatPWHLPxT_9GVSGR0XxjAVzpLEa4GzoLDg_x4WOt8kSQn_A/s200/20130815_151939.jpg&quot; height=&quot;200&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Aca les dejo un pequeñísimo video en el que activo dicha opción:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhac8N5X6PJ3bqgvkMuuA2C25D3sgWmkLJXGmec0jFcTyHX9Suv08KJm4zQRof5gjgv2pheHryQy5RNBzxdIXMAjZtuEHaR0NSgp1DZ20gnw2uQv96G6DzGnBcOBe4HmgAoweQWlg/s1600/20130815_151856.mp4&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhac8N5X6PJ3bqgvkMuuA2C25D3sgWmkLJXGmec0jFcTyHX9Suv08KJm4zQRof5gjgv2pheHryQy5RNBzxdIXMAjZtuEHaR0NSgp1DZ20gnw2uQv96G6DzGnBcOBe4HmgAoweQWlg/s320/20130815_151856.mp4&quot; height=&quot;320&quot; width=&quot;179&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2013/08/activar-opciones-para-el-desarrollador.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzXDkdkY6jFu0UTMimzzKsatU-JnyQ9sLs_OLvzCOj7BzLBgH_UOV-8swNkUw1mHHiql9waqwsVrcfH_KECsyzXWfobN9_mLCVpjhv4_qMI4X3m2szz6kaK2RCWzRC_POfzqfK0Q/s72-c/20130815_151808.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-6497384892655929666</guid><pubDate>Fri, 26 Jul 2013 20:28:00 +0000</pubDate><atom:updated>2013-11-26T15:35:52.070-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">android</category><category domain="http://www.blogger.com/atom/ns#">apps</category><category domain="http://www.blogger.com/atom/ns#">tools</category><title>[apps] RemoteDroid - Tu droide como trackpad</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpbQXVHZ8ehK_qyZ0B0b4_jSgqxORIcnxaKoiWu5kICEQlDM7SPKa47-6Vlt9MvESDJ4DWBUm5ROqdO3cf-UPgLv3szbHMvJAxZbJiz08dcKYSTa3oDfzBCMoQ3jN8PZwOYfJ4ow/s1600/unnamed.webp&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpbQXVHZ8ehK_qyZ0B0b4_jSgqxORIcnxaKoiWu5kICEQlDM7SPKa47-6Vlt9MvESDJ4DWBUm5ROqdO3cf-UPgLv3szbHMvJAxZbJiz08dcKYSTa3oDfzBCMoQ3jN8PZwOYfJ4ow/s1600/unnamed.webp&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
De casualidad me encontré con esta aplicación llamada &lt;a href=&quot;http://www.remotedroid.net/&quot; target=&quot;_blank&quot;&gt;RemoteDroid&lt;/a&gt;, es una aplicación sencilla que te permite usar tu equipo Android como trackpad/teclado remoto. Basta con descargarte a tu PC un zip desde la misma página web, desempaquetarlo y ejecutar el archivo correspondiente (funciona tanto en Windows como Linux).&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Por el lado del equipo Android, basta con instalar la &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.joshsera&amp;amp;hl=es&quot; target=&quot;_blank&quot;&gt;aplicación RemoteDroid&lt;/a&gt; que está en el Play Store, ingresamos la IP de la PC y listo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Fuente: &lt;a href=&quot;http://www.remotedroid.net/&quot; target=&quot;_blank&quot;&gt;RemoteDroid&lt;/a&gt;&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2013/07/apps-remotedroid-tu-droide-como-trackpad.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpbQXVHZ8ehK_qyZ0B0b4_jSgqxORIcnxaKoiWu5kICEQlDM7SPKa47-6Vlt9MvESDJ4DWBUm5ROqdO3cf-UPgLv3szbHMvJAxZbJiz08dcKYSTa3oDfzBCMoQ3jN8PZwOYfJ4ow/s72-c/unnamed.webp" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-6110410548130522263</guid><pubDate>Mon, 04 Mar 2013 05:10:00 +0000</pubDate><atom:updated>2013-11-26T15:42:34.315-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">agile</category><title>Coding Dojo en Everis Peru, los pasado 7 y 21 de Febrero</title><description>Hola a todos! Los días 7 y 21 de febrero organicé un Coding Dojo Multilenguaje en Everis Perú y quería compartir con ustedes algunas de las fotos que tomé.&lt;span class=&quot;fullpost&quot;&gt;
 
&lt;/span&gt;&lt;br /&gt;
&lt;center&gt;
&lt;table style=&quot;text-align: center; width: 194px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;background-image: url(https://picasaweb.google.com/s/c/transparent_album_background.gif); background-position: 0% 50%; background-repeat: no-repeat no-repeat; height: 194px; text-align: center;&quot;&gt;&lt;a href=&quot;https://picasaweb.google.com/113160947625927270560/EverisPeruCodingDojo1?authuser=0&amp;amp;authkey=Gv1sRgCLOcwemWkoPF1QE&amp;amp;feat=embedwebsite&quot;&gt;&lt;img height=&quot;160&quot; src=&quot;https://lh4.googleusercontent.com/-Dy6RGh5pVrU/UTBHlZRXk6E/AAAAAAAAN8M/1FT-GMxMtSM/s160-c/EverisPeruCodingDojo1.jpg&quot; style=&quot;margin: 1px 0 0 4px;&quot; width=&quot;160&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;font-family: arial,sans-serif; font-size: 11px; text-align: center;&quot;&gt;&lt;a href=&quot;https://picasaweb.google.com/113160947625927270560/EverisPeruCodingDojo1?authuser=0&amp;amp;authkey=Gv1sRgCLOcwemWkoPF1QE&amp;amp;feat=embedwebsite&quot; style=&quot;color: #4d4d4d; font-weight: bold; text-decoration: none;&quot;&gt;Everis Perú - Coding Dojo #1&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/center&gt;
&lt;br /&gt;
&lt;div&gt;
Les comparto también la presentación con la info de la kata que resolvimos en estas dos sesiones:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;center&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;356&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; mozallowfullscreen=&quot;&quot; scrolling=&quot;no&quot; src=&quot;http://www.slideshare.net/slideshow/embed_code/16459783&quot; style=&quot;border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px;&quot; webkitallowfullscreen=&quot;&quot; width=&quot;427&quot;&gt; &lt;/iframe&gt; &lt;br /&gt;
&lt;div style=&quot;margin-bottom: 5px;&quot;&gt;
&lt;strong&gt; &lt;a href=&quot;http://www.slideshare.net/apiconz/coding-dojo-romans-kata-16459783&quot; target=&quot;_blank&quot; title=&quot;Coding Dojo - Romans Kata&quot;&gt;Coding Dojo - Romans Kata&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href=&quot;http://www.slideshare.net/apiconz&quot; target=&quot;_blank&quot;&gt;Armando Picon&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/center&gt;
&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2013/03/coding-dojo-en-everis-peru-los-pasado-7.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-Dy6RGh5pVrU/UTBHlZRXk6E/AAAAAAAAN8M/1FT-GMxMtSM/s72-c/EverisPeruCodingDojo1.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-5686730777587239035</guid><pubDate>Thu, 14 Feb 2013 00:51:00 +0000</pubDate><atom:updated>2013-11-26T15:35:51.825-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">websphere portal 7</category><title>WebSphere Portal 7 - Cambiar el titulo por defecto</title><description>&lt;br /&gt;
Para cambiar el título de las páginas del portal, en la siguiente ruta:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: &#39;Formata Regular&#39;;&quot;&gt;/portal7/WebSphere/PortalServer/ui/wp.ui/shared/app&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: &#39;Formata Regular&#39;;&quot;&gt;Ubicamos el archivo:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: &#39;Formata Regular&#39;;&quot;&gt;&lt;b&gt;wp.ui.jar&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: &#39;Formata Regular&#39;;&quot;&gt;Y dentro ubicaremos el siguiente archivo properties (dependiendo del idioma):&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: &#39;Formata Regular&#39;;&quot;&gt;&lt;b&gt;engine_en.properties&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
</description><link>http://apiconz.blogspot.com/2013/02/websphere-portal-7-cambiar-el-titulo.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-2674093529713757588</guid><pubDate>Sun, 30 Dec 2012 06:47:00 +0000</pubDate><atom:updated>2013-11-26T18:21:52.589-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">agile</category><category domain="http://www.blogger.com/atom/ns#">reflexión</category><title>&quot;Visual Management&quot; Misional</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimAeq7NXXfFxK47p1yMpN1MHucK1_CA684BHICpzbu6GZ5VPzHnOct5Pt-YL-KjqQL_pBGw4ze37HrAENPLyBpDqXyWK6kFgVS6vFjT76Tby0O9b2jzlnDZgCC5yQI599qEoMNPA/s1600/IMG_20121229_234545.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;298&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimAeq7NXXfFxK47p1yMpN1MHucK1_CA684BHICpzbu6GZ5VPzHnOct5Pt-YL-KjqQL_pBGw4ze37HrAENPLyBpDqXyWK6kFgVS6vFjT76Tby0O9b2jzlnDZgCC5yQI599qEoMNPA/s400/IMG_20121229_234545.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Hace diez años atrás, entre los años 2001 y 2003, me encontraba en la ciudad de Buenos Aires, Argentina, como misionero de &lt;a href=&quot;http://mormon.org/spa&quot; target=&quot;_blank&quot;&gt;La Iglesia de Jesucristo de los Santos de los Últimos Días&lt;/a&gt;, predicando nuestras creencias a la gente de dicha ciudad, muy aparte de las grandiosas experiencias que tuve durante los dos años que duró mi actividad misional, hubieron algunas cosas que durante ese tiempo realicé y con el tiempo las volví a encontrar dentro del mundo Agile.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La que deseo comentar en esta ocasión es nuestro &quot;Tablero de seguimiento&quot; (no tenía un nombre en particular, asi que lo denominaré así). Es similar a nuestro &lt;i&gt;&lt;a href=&quot;http://www.mountaingoatsoftware.com/scrum/task-boards&quot; target=&quot;_blank&quot;&gt;taskboard&lt;/a&gt; &lt;/i&gt;o panel de tarea que usamos en los proyectos, solo que en lugar de &quot;tareas&quot; hablamos de &quot;personas&quot;. Un poco de &lt;i&gt;&lt;a href=&quot;http://www.xqa.com.ar/visualmanagement/&quot; target=&quot;_blank&quot;&gt;visual management&lt;/a&gt;&lt;/i&gt;. A continuación, les haré mención de la información que colocábamos en dicho tablero.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGks8mcgsULFFTPFYrMlQr3x0CgZpR-gGzcLKJ6FTi8VCmIBFx238WhtHZ4bk5-KXphyXzTkLezODV_ICcQtM964JOtTxMG_6tbrEfLMbUBdXp3Jkip0O0r-0Hnmb82qfs6QLoCQ/s1600/Misi%C3%B3n+-+Tablero+de+Seguimiento.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGks8mcgsULFFTPFYrMlQr3x0CgZpR-gGzcLKJ6FTi8VCmIBFx238WhtHZ4bk5-KXphyXzTkLezODV_ICcQtM964JOtTxMG_6tbrEfLMbUBdXp3Jkip0O0r-0Hnmb82qfs6QLoCQ/s320/Misi%C3%B3n+-+Tablero+de+Seguimiento.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Nombre del Área:&lt;/b&gt;&amp;nbsp;de la misma forma que en un panel de tareas en el que colocas el nombre del proyecto en curso, en nuestro caso colocábamos el nombre del área que estaba bajo nuestra responsabilidad.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Lista de reglas/normas del equipo:&lt;/b&gt;&amp;nbsp;en esta lista se encontraban las instrucciones sobre el manejo del tablero y demás información como la hora en la que hacíamos las reuniones diarias de planeamiento, alguien mencionó&amp;nbsp;&lt;i&gt;daily meeting&lt;/i&gt;? Sí, teníamos reuniones diarias todas las noches a las 9:45pm (al volver al deparamento).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para el flujo de la búsqueda de nuevos conversos, contábamos con varios cuadrantes o secciones en nuestro tablero y que listaré a continuación:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span class=&quot;fullpost&quot;&gt;
 
&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;1. Encontrar:&amp;nbsp;&lt;/b&gt;Durante el tiempo en el área podíamos encontrar personas de dos maneras que eran claramente diferenciadas en el tablero. Una de ellas era la denominada &quot;Iniciativa Propia&quot; o como solíamos decirle meramente &quot;IP&quot; (nada que ver con &lt;i&gt;internet protocol&lt;/i&gt;). El &quot;IP&quot; podía incluir cualquier esfuerzo del equipo para contactar personas interesadas en escuchar acerca de nuestro mensaje, esto podía ser mediante &quot;toque de puertas&quot;, conversaciones en la calle, entrega de folletos, actividades de servicio, etc. La otra forma era a través de los mismos miembros de la iglesia quienes podían presentarnos a un amigo o conocido de ellos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Los nombres de las personas encontradas por IP se colocaban en un post-it y se ubicaban en la parte superior de esta zona, mientras que aquellas que provenían de referencia de miembros de la iglesia se ubicaban en la parte inferior.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;2. Enseñar:&lt;/b&gt;&amp;nbsp;El siguiente paso luego de encontrar a la gente es tratar de enseñarles el mensaje que teníamos, podían suceder dos cosas: una es que no lográramos contactar con la persona, la otra es que lográramos contactar a la persona y le enseñáramos alguno de los mensajes que teníamos preparados. Cuando pasaba esto pasábamos el post-it al cuadrante de &quot;Enseñar&quot; y&amp;nbsp;poníamos una marca por cada lección que le enseñábamos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWb46IsdUN00ZWAzsMbL2EofmlcM38YEbaHAUMnfy_GcfGN6DmGSq7tdqvtMyvRxpevfPlUCqrKqlDorcunUNBYS48pQtiu46xMRnVIVxjQbaMX5oUz2bltRRNViPXm1Y4U5OdMA/s1600/Misi%C3%B3n+-+postit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWb46IsdUN00ZWAzsMbL2EofmlcM38YEbaHAUMnfy_GcfGN6DmGSq7tdqvtMyvRxpevfPlUCqrKqlDorcunUNBYS48pQtiu46xMRnVIVxjQbaMX5oUz2bltRRNViPXm1Y4U5OdMA/s200/Misi%C3%B3n+-+postit.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;3. Bautizar:&lt;/b&gt;&amp;nbsp;Por fin! Encontramos a una persona buenísima, aceptó recibirnos, le enseñamos las lecciones y ahora quiere bautizarse! Es lo máximo para un misionero! Bueno, cuando esto sucede pasamos el post-it de la persona al cuadrante &quot;Bautizar&quot; y anotamos la fecha de bautismo en él, habitualmente con un color que se diferencie, tal como lo muestro a continuación:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjjPoHLCR3WMrD1plKcl2hKjoPC4XFwR6e14QSJqvjpqnVeoQuILddSmfLt3xI-Fo4zFnZTJeGEt_H_GSqGDvGzyVMiblqD0U-VUWwB971EhPOKmxXmLOg8-MfCQL7YzS7VmJOdg/s1600/Misi%25C3%25B3n+-+postit+fecha+misional.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;198&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjjPoHLCR3WMrD1plKcl2hKjoPC4XFwR6e14QSJqvjpqnVeoQuILddSmfLt3xI-Fo4zFnZTJeGEt_H_GSqGDvGzyVMiblqD0U-VUWwB971EhPOKmxXmLOg8-MfCQL7YzS7VmJOdg/s200/Misi%25C3%25B3n+-+postit+fecha+misional.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;4. Conversos nuevos:&lt;/b&gt;&amp;nbsp;Y llegamos a la meta! La persona se bautizó, cuando eso pasa, movemos el post-it a este cuadrante. Si me preguntan, ¿qué pasa con las personas que llegan hasta acá?, pues les comentaré que pasan a ser visitados por los miembros y el seguimiento a su progreso pasa a ser responsabilidad de la unidad local. En un &lt;i&gt;taskboard&lt;/i&gt;&amp;nbsp;tradicional este cuadrante sería el equivalente a &lt;i&gt;Done&lt;/i&gt;&amp;nbsp;o Listo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Nuestro &quot;Tablero de seguimiento&quot; contaba con dos cuadrantes más...&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;5. Gigantes dormidos:&lt;/b&gt;&amp;nbsp;acá se colocan los nombres de aquellas personas que estuvieron en el cuadrante &quot;Enseñar&quot; y que por alguna razón dejaron de recibirnos. Estos nombres luego los registrábamos para que en un tiempo futuro otros misioneros pudieran visitarlos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;6. Reactivación:&lt;/b&gt;&amp;nbsp;acá se anotaban los nombres de aquellos miembros menos activos, que necesitan ayuda y a los que nos hemos comprometido visitar.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Pues bueno, he aquí un poco del visual management que empleaba en la misión, ¿qué les parece? Si tienen algún comentario o consulta no duden en&amp;nbsp;hacérmela&amp;nbsp;llegar.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2012/12/visual-management-misional.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimAeq7NXXfFxK47p1yMpN1MHucK1_CA684BHICpzbu6GZ5VPzHnOct5Pt-YL-KjqQL_pBGw4ze37HrAENPLyBpDqXyWK6kFgVS6vFjT76Tby0O9b2jzlnDZgCC5yQI599qEoMNPA/s72-c/IMG_20121229_234545.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-5735153502148419469</guid><pubDate>Mon, 17 Dec 2012 02:44:00 +0000</pubDate><atom:updated>2013-11-26T15:35:51.832-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">agile</category><category domain="http://www.blogger.com/atom/ns#">reflexión</category><title>Be Agile! / Se Ágil (una reflexión)</title><description>&lt;div style=&quot;text-align: center;&quot;&gt;
&amp;nbsp;&lt;img alt=&quot;http://blog.outsystems.com/aboutagility/Caution-agilists-beware.gif&quot; class=&quot;decoded&quot; src=&quot;http://blog.outsystems.com/aboutagility/Caution-agilists-beware.gif&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Hoy quise escribir un poco respecto a la onda Ágil o Agile, que se anda escuchando mucho últimamente y de lo que significa para mi. Durante el tiempo que llevo como desarrollador he tenido la oportunidad de participar en cierto número de proyectos con diferentes resultados. Si me pidieran realizar una lista de observaciones a todos estos, tal vez la lista sería como la que sigue:&lt;br /&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Proyectarse a realizar un proyecto de larga duración con fases secuenciales muy marcadas (Análisis, Desarrollo, Pruebas y Despliegue) no siempre es un buen ídea, es más por lo general no lo es porque bajo ciertas circunstancias el coste de los cambios (que siempre suelen ocurrir) es elevado.&lt;/li&gt;
&lt;li&gt;El verdadero valor de un proyecto como el mencionado en el punto anterior no se conoce sino hasta el final, lo cual puede ser muy costoso y frustrante cuando el cliente se da cuenta que las cosas han cambiado y aquello que se hizo ya no tiene razón de ser.&lt;/li&gt;
&lt;li&gt;En muchas ocasiones se quiere dar solución a situaciones utópicas en lugar de atacar los puntos críticos del proyecto.&lt;/li&gt;
&lt;li&gt;En ocasiones quien realizaba la estimación o bien no tenía idea de lo que se tenía que hacer o bien no tenía los suficientes skills técnicos para comprender cabalmente lo que involucra el desarrollo de una solución.&lt;/li&gt;
&lt;li&gt;En muchas ocasiones tener a alguien detrás preguntando a cada rato &quot;¿Cómo vamos?&quot; es incómodo y tendía a hacernos perder la concentración en lo que veníamos realizando y no está de más, nos aumentaba la presión y la tensión.&lt;/li&gt;
&lt;li&gt;No suele tenerse en claro el concepto de mejora continua, tras los errores de un proyecto, por lo general, se olvidan y se vuelven a repetir en el siguiente.&lt;/li&gt;
&lt;li&gt;Los desarrolladores y más los jefes de proyecto, deberían tener en claro que es OBLIGATORIO escribir pruebas unitarias o en general todo desarrollo debería estar en la capacidad de testearse de forma constante.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Y podría seguir alargando más la lista pero ese no es el objetivo de este post. En fin, hace ya 3 años, tuve mi primer acercamiento al mundo ágil, a través de Scrum, en un proyecto para una reconocida compañía de seguros; nunca olvidaré la sensación que tuve al experimentar lo que significa estar en un &quot;equipo auto-organizado&quot;, contar con una relación de &quot;colaboración&quot; más estrecha con el cliente, encontrar oportunidades de mejora durante las &quot;retrospectivas&quot; e incluso, la organización del tiempo del proyecto en tramos cortos que se conocen como &quot;sprints&quot;. Podría decir que nunca antes me había sentido tan productivo, nunca antes había disfrutado tanto con realizar mi trabajo de una forma distinta.&lt;br /&gt;
&lt;br /&gt;
Al principio, aprendí sobre Scrum, sobre XP, sobre Kanban, y otros frameworks ágiles. Supuse que aprendiendolos conseguiría ser feliz en mi trabajo, pero la realidad a veces no suele ser la ideal; aquí entra una frase que oí en repetidas ocasiones a Alan Cyment: &quot;pragmatismo a corto plazo, idealismo a largo plazo&quot;; no se trata de aplicar violentamente todo un framework, en ocasiones uno se debe &quot;adaptar&quot; y generar el cambio de a pocos. Hubieron ocasiones en las que el entorno era tan hostil, que suponía un alejamiento de las prácticas ágiles, bueno, cuando sucedió esto no perdía la esperanza y siempre buscaba oportunidades para enseñar lo que había aprendido hasta el momento.&lt;br /&gt;
&lt;br /&gt;
Pero &quot;ser ágil&quot;, por lo que entiendo ahora, no es solo una manera de trabajar o de hacer diferente el trabajo, sino que va más allá... es un cambio en el pensar y en la forma en la que realizas las cosas en tu diario vivir. Recuerdo una ocasión en la que hablando con uno de mis &quot;mentores&quot;, le contaba sobre algunos problemas que había tenido con un par de personas; lamentablemente, con la primera las cosas terminaron mal; sin embargo, para la segunda, cuya riña aun no llegaba a un desenlace, mi mentor me dijo: &quot;Armando, tu eres un chico ágil, aplica la agilidad!&quot;. Salí de aquella sesión con la plena intención de mejorar los canales de comunicación mediante una conversación &quot;cara a cara&quot;, estableciendo &quot;un objetivo&quot; y &quot;una visión&quot;, antes de analizar los problemas... el resultado fue, por creces, muy satisfactorio. Y así podría mencionar algunas otras ocasiones en el que valores y principios ágiles también podrían aplicarse en la vida cotidiana.&lt;br /&gt;
&lt;br /&gt;
Esta es una pequeña reflexión sobre lo que significa el &quot;ser ágil&quot; para mi, sabiendo que el término &quot;ágil&quot; es solo una etiqueta para muchas ideas, conceptos y prácticas; que no son nuevas, pero que están cobrando relevancia últimamente.&lt;/div&gt;
&lt;/div&gt;
</description><link>http://apiconz.blogspot.com/2012/12/be-agile-se-agil-una-reflexion.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-7345770545145602672</guid><pubDate>Tue, 25 Sep 2012 17:20:00 +0000</pubDate><atom:updated>2013-11-26T15:35:52.111-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">configuration task</category><category domain="http://www.blogger.com/atom/ns#">desarrollo software</category><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">maven</category><title>Instalación de Apache Maven en Ubuntu 12.04LTS</title><description>&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
En esta ocasión se me dio por instalar Maven en mi ubuntu, asi que aquí les dejo los pasos que seguí.&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Versión de ubuntu 12.04LTS&lt;br /&gt;
Versión de apache maven 3.0.4&lt;br /&gt;
Versión de java sdk 6u35&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Descargar el binario (Binary tar.gz) de
Maven desde el siguiente enlace:&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;a href=&quot;http://maven.apache.org/download.html&quot;&gt;http://maven.apache.org/download.html&lt;/a&gt;&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Desempaquetar el binario en un
directorio con permisos de ejecución.&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Ingresar via “Terminal” al
directorio en el que desempaquetamos el binario y ejecutamos la
sentencia “./mvn -version”, prestemos atención al resultado:&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;background-color: yellow;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: yellow;&quot;&gt;Warning:
JAVA_HOME environment variable is not set.&lt;/span&gt;Apache Maven 3.0.4
(r1232337; 2012-01-17 03:44:56-0500)&lt;br /&gt;
Maven home:
/home/armando/apache-maven-3.0.4&lt;br /&gt;
Java version:
1.6.0_24, vendor: Sun Microsystems Inc.&lt;br /&gt;
Java home:
/usr/lib/jvm/java-6-openjdk-amd64/jre&lt;br /&gt;
Default locale:
es_PE, platform encoding: UTF-8&lt;br /&gt;
OS name: &quot;linux&quot;,
version: &quot;3.2.0-31-generic&quot;, arch: &quot;amd64&quot;,
family: &quot;unix&quot;&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Si bien todo parece andar casi OK,
debemos setear la variable “JAVA_HOME” para evitar cualquier
problema de ejecución de tareas, adicionalmente, prefiero usar el JDK de 0racle, en lugar del OPENSDK (cuestión de gustos por ahora) para las labores de desarrollo, por ello será
necesario descargar el binario correspondiente a java desde la página
de 0racle.&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Para iniciar la descarga del binario
(jdk-6u35-linux-x64.bin) nos dirigimos al siguiente enlace:&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/java/javase/downloads/&quot;&gt;http://www.oracle.com/technetwork/java/javase/downloads/&lt;/a&gt;&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
y seguimos las instrucciones para “Self
Extracting Linux 64 bits” (porque uso la versión para 64 bits) que
encontramos en este otro enlace:&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/java/javase/index-137561.html#linux&quot;&gt;http://www.oracle.com/technetwork/java/javase/index-137561.html#linux&lt;/a&gt;&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Una vez que ya tengamos instalado al
java, estableceremos la variable JAVA_HOME de la siguiente manera:&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
export
JAVA_HOME=&lt;span style=&quot;background-position: initial initial; background-repeat: initial initial;&quot;&gt;/home/armando/jdk6u35/jdk1.6.0_35/&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Luego, volvemos a ejecutar la sentencia
“./mvn -version” y obtendremos un resultado similar al que sigue:&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Apache Maven 3.0.4 (r1232337;
2012-01-17 03:44:56-0500)&lt;br /&gt;
Maven home:
/home/armando/apache-maven-3.0.4&lt;br /&gt;
Java version: 1.6.0_35, vendor: Sun
Microsystems Inc.&lt;br /&gt;
&lt;span style=&quot;background: #ffff00;&quot;&gt;Java
home: /home/armando/jdk6u35/jdk1.6.0_35/jre&lt;br /&gt;
&lt;/span&gt;Default locale: es_PE, platform
encoding: UTF-8&lt;br /&gt;
OS name: &quot;linux&quot;, version:
&quot;3.2.0-31-generic&quot;, arch: &quot;amd64&quot;, family: &quot;unix&quot;&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Y con esto ya estaríamos listo para
empezar a usar Maven.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;*************** Actualización 15:22hrs&amp;nbsp;***************&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Para facilitar las cosas agregaremos algunas variables al sistema:&lt;br /&gt;
&lt;br /&gt;

	
	
	


&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Abrimos el archivo “/etc/environment”
y agregamos las siguientes lineas:&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
M2_HOME=”/home/armando/apache-maven-3.0.4”&lt;br /&gt;MAVEN_HOME=”/home/armando/apache-maven-3.0.4”&lt;br /&gt;M2=”/home/armando/apache-maven-3.0.4/bin”&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Luego, modificamos la linea superior
correspondiente al PATH:&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&lt;b&gt;:/home/armando/apache-maven-3.0.4/bin&lt;/b&gt;”&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Guardamos y por si acaso ejecutamos la
siguiente sentencia para asegurarnos que se refleja el cambio:&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
echo $PATH&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Si por a o b no aparece la modificación
que le hicimos al PATH ejecutamos la siguiente sentencia:&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
export
PATH=$PATH&lt;b&gt;:/home/armando/apache-maven-3.0.4/bin&lt;/b&gt;&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0cm;&quot;&gt;
Y con esto ya
podemos ejecutar el comando “mvn” desde cualquier directorio.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span class=&quot;fullpost&quot;&gt;
 
&lt;/span&gt;</description><link>http://apiconz.blogspot.com/2012/09/instalacion-de-apache-maven-en-ubuntu.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-652228597413504905</guid><pubDate>Tue, 24 Jul 2012 07:46:00 +0000</pubDate><atom:updated>2013-11-26T15:35:52.092-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">android</category><title>Android - Configurando la AVD para aceleración gráfica</title><description>&lt;span class=&quot;fullpost&quot;&gt;
 
&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
Se requiere Android SDK Tools rev 17 o superior, entonces al crear una nueva AVD con la aceleración gráfica habilitada, en la sección &lt;b&gt;Hardware&lt;/b&gt; de la configuración de la AVD, pulse el botón &lt;b&gt;New&lt;/b&gt;, y seleccione &lt;b&gt;GPU emulation&lt;/b&gt; estableciendo su valor en &lt;b&gt;Yes&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnmQTDx_xM2-IpJLKUK7NPOx5_ImoCR642QoZcnaWXotoIE82lEENHS785p8AnTMnKx35Vx1ea0E26nwWJqpJPhGHsw6idzYdMVjVV43pLWEQzXxCELBpOPDIknLb9IecvsQl75g/s1600/Edit+Android+Virtual+Device+(AVD)_2012-07-24_02-43-04.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnmQTDx_xM2-IpJLKUK7NPOx5_ImoCR642QoZcnaWXotoIE82lEENHS785p8AnTMnKx35Vx1ea0E26nwWJqpJPhGHsw6idzYdMVjVV43pLWEQzXxCELBpOPDIknLb9IecvsQl75g/s320/Edit+Android+Virtual+Device+(AVD)_2012-07-24_02-43-04.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Referencia:&amp;nbsp;&lt;a href=&quot;https://plus.google.com/u/0/108967384991768947849/posts/DSi3oAuNnS7&quot;&gt;https://plus.google.com/u/0/108967384991768947849/posts/DSi3oAuNnS7&lt;/a&gt;&lt;/div&gt;</description><link>http://apiconz.blogspot.com/2012/07/android-configurando-la-avd-para.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnmQTDx_xM2-IpJLKUK7NPOx5_ImoCR642QoZcnaWXotoIE82lEENHS785p8AnTMnKx35Vx1ea0E26nwWJqpJPhGHsw6idzYdMVjVV43pLWEQzXxCELBpOPDIknLb9IecvsQl75g/s72-c/Edit+Android+Virtual+Device+(AVD)_2012-07-24_02-43-04.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-6426064352310630564</guid><pubDate>Fri, 20 Jul 2012 08:22:00 +0000</pubDate><atom:updated>2013-11-26T15:35:51.855-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">google plus</category><category domain="http://www.blogger.com/atom/ns#">tools</category><title>Google Plus - Crea un &quot;badge&quot; para tu +Page</title><description>&lt;span class=&quot;fullpost&quot;&gt;
 Sí, a través de &lt;a href=&quot;https://developers.google.com/+/plugins/badge/&quot; target=&quot;_blank&quot;&gt;Google+ Badge&lt;/a&gt; puedes crear un simpático widget que puedes colocar en tu página y así referencia a tu +Page. Cuando ingresas los datos dicha herramienta te genera un código javascript similar al que aparece a continuación:&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;script src=&quot;https://gist.github.com/3145684.js?file=gdglima-widget.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;
&lt;br /&gt;
El resultado final, será como el que sigue:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;


&lt;!-- Place this tag where you want the badge to render. --&gt;
&lt;div class=&quot;g-plus&quot; data-href=&quot;https://plus.google.com/106035957065756239824?rel=publisher&quot;&gt;&lt;/div&gt;

&lt;!-- Place this tag after the last badge tag. --&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
  window.___gcfg = {lang: &#39;es-419&#39;};

  (function() {
    var po = document.createElement(&#39;script&#39;); po.type = &#39;text/javascript&#39;; po.async = true;
    po.src = &#39;https://apis.google.com/js/plusone.js&#39;;
    var s = document.getElementsByTagName(&#39;script&#39;)[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;
&lt;/span&gt;</description><link>http://apiconz.blogspot.com/2012/07/crea-un-badge-para-tu-page.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5043480.post-6479979491847578189</guid><pubDate>Mon, 16 Jul 2012 17:54:00 +0000</pubDate><atom:updated>2013-11-26T15:35:52.055-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">aix</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">tools</category><title>AIX/Linux - Cambiar Zona Horaria y Fecha/Hora</title><description>Necesitaba una ayuda memoria porque se están convirtiendo en tareas casi frecuentes.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Cambiar la zona horaria (timezone) a &quot;Peru Time&quot;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;
chtz &#39;PET&#39;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego, reiniciar el servidor.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
A continuación, debemos ajustar la hora, a través del siguiente comando (&lt;span style=&quot;background-color: white;&quot;&gt;date MMDDhhmm[YYYY.ss])&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;date 07161210&lt;/code&gt;&lt;br /&gt;
&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;En este caso he ajustado la fecha y hora a las &quot;12:10hrs del 16 de Julio&quot;.&lt;/div&gt;</description><link>http://apiconz.blogspot.com/2012/07/aixlinux-cambiar-zona-horaria-y.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item></channel></rss>