<?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-498888156121039258</atom:id><lastBuildDate>Wed, 06 Nov 2024 02:55:42 +0000</lastBuildDate><category>Linux</category><category>Integración_Contínua</category><category>blender</category><category>Android</category><category>Google</category><category>Windows</category><category>Guatemala</category><category>Seguridad</category><category>Bloggin</category><category>Coecys 2009</category><category>Contacto</category><category>Edulibre</category><category>Web</category><category>internet</category><category>sopa</category><title>/*Diagonal Asterisco*/</title><description>Un lugar donde poner mis comentarios sobre el mundo infórmatico</description><link>http://diagonalasterisco.blogspot.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-6199382094889157007</guid><pubDate>Fri, 20 Jan 2012 20:26:00 +0000</pubDate><atom:updated>2012-01-20T12:38:27.337-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">internet</category><category domain="http://www.blogger.com/atom/ns#">sopa</category><title>Algunas Consideraciones Personales sobre la ley SOPA</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://imaginepc.netau.net/wp-content/uploads/2012/01/Ley-SOPA-540x3501.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;206&quot; src=&quot;http://imaginepc.netau.net/wp-content/uploads/2012/01/Ley-SOPA-540x3501.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Imagino que para estas alturas del partido, la gran mayoría sabrá de que trata la dichosa propuesta de ley SOPA, así que solamente me limitaré a dejar mis consideraciones personales al respecto, tratando de pronosticar cuales serán los posibles resultados.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;a href=&quot;http://www.lossoprano.tv/images/mafia/personajes/capone1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.lossoprano.tv/images/mafia/personajes/capone1.jpg&quot; /&gt;&lt;/a&gt;Podemos notar una analogía entre la propuesta SOPA a la ley seca en EEUU &amp;nbsp;en 1919 que pretendía &amp;nbsp;prohibir la producción, distribución y venta de bebidas alcohólicas en el país, siendo derrogada en 1933 debido al auge considerable en el crimen organizado que provocó (quien no recuerda a famosos Al Capone?) y también a los pocos frutos que se obtuvieron; &lt;b&gt;el que quería beber, bebía, con o sin ley&lt;/b&gt;, la única diferencia fueron el aumento de los precios, &lt;b&gt;generando más ganancias para los traficantes ilegales&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Basándonos en esta y otras historias, podemos ver una ley&amp;nbsp;no podrá limitar permanentemente el acceso a la información a las personas, tarde o temprano, se encontrarán métodos para evadir la ley. &lt;b&gt;El que quiere descargar, lo hará, con y sin ley&lt;/b&gt;, &amp;nbsp;simplemente por que &lt;b&gt;los costos de hacerlos son significativamente menores&lt;/b&gt; &lt;b&gt;a pesar del riesgo,&lt;/b&gt;&amp;nbsp;implicando un jugoso negocio para los que decidan aprovechar las circunstancias.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://static2.todanoticia.com/tn2/uploads/news_image/2011/09/08/sin_dinero.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;http://static2.todanoticia.com/tn2/uploads/news_image/2011/09/08/sin_dinero.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Otro hecho interesante de que exista una ley que prohiba la publicación de contenidos ilegales &lt;b&gt;no aumentará significativamente el consumo de los productos legales&lt;/b&gt;. Por poner un ejemplo, no es de esperar que porque ahora ya no podrán descargarse películas, la gente preferirá verlas en el cine, dado que desde antes no contaban con el interés ni el presupuesto para hacerlo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Lo cual acarreará &amp;nbsp;una gran consecuencia, el afloramiento de los expendios piratas, aprovechándose de la demanda de contenidos a precios menores que los originales, debido al incremento de la demanda y de los altas ganancias que esto podría representar.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://w3asel.files.wordpress.com/2010/07/pirateria1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://w3asel.files.wordpress.com/2010/07/pirateria1.jpg&quot; width=&quot;211&quot; /&gt;&lt;/a&gt;Continuando con el ejemplo, ahora, dado que la gente continua sin el presupuesto o interés por acudir al cine, es de esperar que se incremente la compra de versiones piratas con el patojo de la esquina de su oficina, dado que será más barato.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Otra consecuencia podría ser el incremento de servicios de almacenaje y de DNS en zonas &quot;libres&quot; &amp;nbsp;como rusia, corea del norte, china, etc. lugares donde EEUU no se anime a entrar.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Otra posible consecuencia sería el fortalecimiento y reaparición de las redes P2P dado que no dependen de servidores centrales y no es tan fácil responsabilizar a una sola persona cuando todos los usuarios (contados en millones) somos los responsables del tráfico de los contenidos.&lt;br /&gt;
&lt;a href=&quot;http://www.kaosklub.com/wp-content/uploads/2008/11/fight3.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; height=&quot;66&quot; src=&quot;http://www.kaosklub.com/wp-content/uploads/2008/11/fight3.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Sin embargo, entre todo el&amp;nbsp;problema&amp;nbsp;puede que surja un posible efecto benéfico en el incremento de demanda de software open source, dado que se limitarían las fuentes confiables para conseguir software propietario.&lt;br /&gt;
&lt;br /&gt;
En resumen, de acuerdo a la historia, una ley que pretende prohibir una actividad de distribución libre de contenidos, no ayudará a reducir su demanda (debido en parte a los altos costos) y por lo general sólo termina provocando el incremento de grupos organizados que intentarán lucrar a toda costa, debido a los altos dividendos que este mercado generará.&lt;br /&gt;
&lt;br /&gt;
Como dije al inicio, estas lineas son sólo consideraciones personales, puede que al final este en un total error, por lo que insto a cada lector a que saque sus propias conclusiones y más importante aún, se prepare para el inicio de la primera guerra mundial informática. ;)&lt;br /&gt;
&lt;br /&gt;
Para finalizar, dejo un video que explica mucho mejor que yo que es la ley SOPA:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/5fvwoHKj6cs?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;</description><link>http://diagonalasterisco.blogspot.com/2012/01/algunas-consideraciones-personales.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-7499777788452048514</guid><pubDate>Tue, 29 Nov 2011 03:59:00 +0000</pubDate><atom:updated>2011-11-28T20:30:34.215-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">blender</category><title>Como Modelar un Androide con Blender (Parte IV)</title><description>&lt;a href=&quot;http://diagonalasterisco.blogspot.com/2011/11/modelando-un-androide-con-blender-paso.html&quot; target=&quot;_blank&quot;&gt;Parte IV: Agregando la Cabeza&lt;/a&gt;&lt;br&gt;
&lt;div&gt;&lt;br&gt;
&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Parte IV: Dándole color al Android&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;br&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Finalmente hemos terminado de modelar nuestro androide, sin embargo, para darle más vida debemos aplicarle algunos colores y mejorar la presentación su presentación hasta obtener algo como esto:&lt;o:p&gt;&lt;/o:p&gt;&lt;br&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dxk8CvJRXMc4CYHaaz61Q5dUcwr4Weqp5Q35PlFIi43FK3GVlnNy362OqqNPsVdca8nmR0wa1M8kP5VZmOWeA&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGo-JGqSm3WdX828uSr824YPAHibdEEmCdfWbYhwnbiMgs6iMSExg7OovyFKhvgmIK4GmiJj5B6snezS9v1FHlDFG1TRPioKock0slchdc4SAgBLYXWtV8BJ74HiO9Z_n0LfH5OaiTSKA/s1600/android+final.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/AVvXsEiGo-JGqSm3WdX828uSr824YPAHibdEEmCdfWbYhwnbiMgs6iMSExg7OovyFKhvgmIK4GmiJj5B6snezS9v1FHlDFG1TRPioKock0slchdc4SAgBLYXWtV8BJ74HiO9Z_n0LfH5OaiTSKA/s320/android+final.png&quot; width=&quot;300&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href=&quot;http://diagonalasterisco.blogspot.com/2011/11/como-modelar-un-androide-con-blender_28.html#more&quot;&gt;Continuar leyendo... »&lt;/a&gt;</description><link>http://diagonalasterisco.blogspot.com/2011/11/como-modelar-un-androide-con-blender_28.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGo-JGqSm3WdX828uSr824YPAHibdEEmCdfWbYhwnbiMgs6iMSExg7OovyFKhvgmIK4GmiJj5B6snezS9v1FHlDFG1TRPioKock0slchdc4SAgBLYXWtV8BJ74HiO9Z_n0LfH5OaiTSKA/s72-c/android+final.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-5740047306849022170</guid><pubDate>Sat, 26 Nov 2011 17:54:00 +0000</pubDate><atom:updated>2011-12-01T19:24:37.348-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">blender</category><title>Modelando un Androide con Blender, paso a paso (Parte III)</title><description>&lt;b&gt;&lt;a href=&quot;http://diagonalasterisco.blogspot.com/2011/11/como-modelar-un-androide-con-blender_25.html&quot; target=&quot;_blank&quot;&gt;Parte II: Agregando las extremidades del Android &lt;/a&gt;&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Parte III: La Cabeza&lt;/span&gt;&lt;/b&gt;&lt;br&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;br&gt;
&lt;/span&gt;&lt;/b&gt;&lt;br&gt;
Hola amigos, en esta parte del tutorial nos enfocaremos en modelar la cabeza del Android; agregaremos los ojos y veremos un ejemplo de la función &amp;quot;extruir&amp;quot; de Blender para modelar las antenas :)&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://diagonalasterisco.blogspot.com/2011/11/modelando-un-androide-con-blender-paso.html#more&quot;&gt;Continuar leyendo... »&lt;/a&gt;</description><link>http://diagonalasterisco.blogspot.com/2011/11/modelando-un-androide-con-blender-paso.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeotHyHeFQRp8GrVU5fZWg1fLoPd6MgZxWId-6nXaI6z7_5_Jz5DiQXB4cJ57xnXYRtkLOLSELh0a8iiqY4eaRMspil1WozPeUlI9MknXQeuCHiEfOS_izQKVy2x2I5iNg_3yLdpxzpEI/s72-c/fig+6%252C+tutorial+modelado+del+androide.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-8092436338040417065</guid><pubDate>Fri, 25 Nov 2011 20:25:00 +0000</pubDate><atom:updated>2011-12-01T19:23:34.724-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">blender</category><title>Como Modelar un Androide con Blender, paso a paso (Parte II)</title><description>&lt;b&gt;Parte I: &lt;a href=&quot;http://diagonalasterisco.blogspot.com/2011/11/como-modelar-un-androide-con-blender.html&quot; target=&quot;_blank&quot;&gt;Modelando un Android con Blender, Parte I&lt;/a&gt;&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Parte II: Agregando las extremidades&lt;/b&gt;&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;br&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br&gt;
Hola lectores, hoy continuaremos con el tutorial para modelado de un Android con Blender, agregando los brazos y piernas. Haciendo uso de la función para duplicar objetos de Blender :D&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://diagonalasterisco.blogspot.com/2011/11/como-modelar-un-androide-con-blender_25.html#more&quot;&gt;Continuar leyendo... »&lt;/a&gt;</description><link>http://diagonalasterisco.blogspot.com/2011/11/como-modelar-un-androide-con-blender_25.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioyogMTt7F6Oj8JmJ9_N2IEluvpj2ek-BapVeQWpW6_1U_h4fbszFFfCfd0wLNytHbHSQ0c5MpbPTvgpKrAzi_mDQ_9EyT6EnF6UFzYm_1PB5noRkF1Vzhy_JPSz_KU6jSxkBMMhmyFIU/s72-c/fig+12+tutorial+modelado+del+androide.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-3663577594880121799</guid><pubDate>Wed, 23 Nov 2011 06:07:00 +0000</pubDate><atom:updated>2011-12-01T19:21:39.248-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">blender</category><title>Como Modelar un Androide con Blender, paso a paso. (Parte I)</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Parte I: Introducción y modelado del cuerpo&lt;/b&gt;&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
Hola amigos, este post es una introducción al modelado de objetos en  Blender, ejemplificando paso a paso el modelado de un personaje bastante sencillo pero igual de conocido como lo es el androide (también conocido como el robotillo verde ¬¬)  y al final obtiendo (si todo sale bien) algo similar a esto:&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/AVvXsEiGo-JGqSm3WdX828uSr824YPAHibdEEmCdfWbYhwnbiMgs6iMSExg7OovyFKhvgmIK4GmiJj5B6snezS9v1FHlDFG1TRPioKock0slchdc4SAgBLYXWtV8BJ74HiO9Z_n0LfH5OaiTSKA/s1600/android+final.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/AVvXsEiGo-JGqSm3WdX828uSr824YPAHibdEEmCdfWbYhwnbiMgs6iMSExg7OovyFKhvgmIK4GmiJj5B6snezS9v1FHlDFG1TRPioKock0slchdc4SAgBLYXWtV8BJ74HiO9Z_n0LfH5OaiTSKA/s320/android+final.png&quot; width=&quot;300&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://diagonalasterisco.blogspot.com/2011/11/como-modelar-un-androide-con-blender.html#more&quot;&gt;Continuar leyendo... »&lt;/a&gt;</description><link>http://diagonalasterisco.blogspot.com/2011/11/como-modelar-un-androide-con-blender.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGo-JGqSm3WdX828uSr824YPAHibdEEmCdfWbYhwnbiMgs6iMSExg7OovyFKhvgmIK4GmiJj5B6snezS9v1FHlDFG1TRPioKock0slchdc4SAgBLYXWtV8BJ74HiO9Z_n0LfH5OaiTSKA/s72-c/android+final.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-8884353051503761557</guid><pubDate>Fri, 15 Jul 2011 20:29:00 +0000</pubDate><atom:updated>2011-07-15T13:29:25.477-07:00</atom:updated><title>Encuesta sobre la Viabilidad del Cloud Computing en Guatemala</title><description>&lt;br/&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;http://blogs-images.forbes.com/ciocentral/files/2010/12/256px-Cloud_computing_icon.svg_.png&quot; /&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Si eres informático y actualmente trabajas en Guatemala, te agradecería me ayudes a completar la siguiente encuesta sobre la viabilidad del Cloud Computing en Guatemala. No te tardarás ni 5 minutos en completarla y me estarás dando una gran ayuda :)&lt;br /&gt;
&lt;br/&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center; font-weight:bold&quot;&gt;&lt;a href=&quot;https://spreadsheets.google.com/spreadsheet/viewform?formkey=dFgzUDlxcmhFYUNVc1ZTZU9odGIxb0E6MQ&quot;&gt;Click acá&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><link>http://diagonalasterisco.blogspot.com/2011/07/encuesta-sobre-la-viabilidad-del-cloud.html</link><author>noreply@blogger.com (AlxBL)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-1394992795194402091</guid><pubDate>Tue, 05 Apr 2011 22:58:00 +0000</pubDate><atom:updated>2011-11-18T22:46:09.322-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">blender</category><title>Nuevo Logo del Blog</title><description>Hoy me encontraba sin mucho que hacer realmente, así que empezé a jugar un poco con blender y al final este fue el resultado...&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://diagonalasterisco.blogspot.com/2011/04/nuevo-logo-del-blog.html#more&quot;&gt;Continuar leyendo... »&lt;/a&gt;</description><link>http://diagonalasterisco.blogspot.com/2011/04/nuevo-logo-del-blog.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6Vft5iWsaUKWsSHeXqUdtRHqi-NMejVXAD8WhIe6uye_UcNEM6VU84r6Xo_d9q9g2QDTjzz45N9M0hS4cpkmwWi7hqJXLIotnYywoDScpnWjZxUb-WqcoxW_JcV_barBJgne1dhSzxWY/s72-c/" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-4867197566577082608</guid><pubDate>Thu, 22 Apr 2010 02:12:00 +0000</pubDate><atom:updated>2010-04-21T19:26:56.467-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Edulibre</category><category domain="http://www.blogger.com/atom/ns#">Guatemala</category><title>Dona Tu Computadora Usada</title><description>Aunque ya llevo bastante tiempo sin publicar nada en este blog, me he tomado la libertad de realizar un copy/paste del post de &lt;a href=&quot;http://javihm77.blogspot.com&quot;&gt;Javier (Chapu) Hernandez&lt;br /&gt;&lt;/a&gt;, como apoyo a la campaña de donación de computadoras, por parte de &lt;a href=&quot;http://www.edulibre.net/&quot;&gt;edulibre&lt;/a&gt;, para implementar laboratorios en escuelas de escasos recursos. &lt;br /&gt;&lt;br /&gt;Bueno, sin más labia, les dejo la informaciòn, esperando aportar aunque sea un pequeño grano de arena a la causa:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://ivanmendoza.net/wp-content/uploads/2010/04/edulibre-imagen-evento.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 403px;&quot; src=&quot;http://ivanmendoza.net/wp-content/uploads/2010/04/edulibre-imagen-evento.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Edulibre es un proyecto que busca llevar computadoras a niños en escuelas de escasos recursos en Guatemala para darles la oportunidad de aprender junto a la tecnología.&lt;br /&gt;&lt;br /&gt;Para lograr su misión utilizan computadoras usadas para luego adaptarlas y crear el laboratorio de computación. Además se apoyan en voluntarios y donaciones económicas para crear el área adecuada para el laboratorio.&lt;br /&gt;&lt;br /&gt;Apoyando a Edulibre&lt;br /&gt;&lt;br /&gt;La meta son 20 computadoras usadas para crear un laboratorio más. Puedes donar tu computadora usada (no importa si tiene virus o le faltan programas) para que el equipo de Edulibre la adapta y la lleve a los laboratorios.&lt;br /&gt;&lt;br /&gt;Puedes donar tu computadora usada el sábado 24 de abril, 2010 en la Universidad de San Carlos de Guatemala frente a rectoria, de 9am a 1pm. O si prefieres puedes enviar tus datos para que recojan la computadora en tu casa.&lt;br /&gt;&lt;br /&gt;Démosle a los niños esa oportunidad de aprender con tecnología.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.edulibre.net/&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 201px; height: 102px;&quot; src=&quot;http://ivanmendoza.net/wp-content/uploads/2010/04/btn-blog-meapunto.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;</description><link>http://diagonalasterisco.blogspot.com/2010/04/dona-tu-computadora-usada.html</link><author>noreply@blogger.com (AlxBL)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-4585871490062028022</guid><pubDate>Fri, 24 Jul 2009 21:23:00 +0000</pubDate><atom:updated>2011-11-18T22:56:25.019-08:00</atom:updated><title>Video: La historia de Internet</title><description>Probablemente ya hayas visto este video en algún otro blog de informática, pero para todos aquellos que no lo conozcan, acá les publico este video sobre los origenes y evolución de la red de redes.&lt;br&gt;
&lt;span class=&quot;posthidden&quot; id=&quot;video_historia_internet&quot;&gt;&lt;/span&gt;&lt;br&gt;
&lt;a href=&quot;http://diagonalasterisco.blogspot.com/2009/07/video-la-historia-de-internet.html#more&quot;&gt;Continuar leyendo... »&lt;/a&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/07/video-la-historia-de-internet.html</link><author>noreply@blogger.com (AlxBL)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-2676718008540230965</guid><pubDate>Tue, 14 Jul 2009 22:51:00 +0000</pubDate><atom:updated>2011-11-18T22:51:29.092-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Coecys 2009</category><title>Gifs de apoyo a COECYS 09</title><description>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeq_OaOoLkEkwvMb3A-8NhEqdZtyf1MkLq8Q7HehB3AxApkzmr_vRUiG8AUeLjdm7qrXo4UZmL86YulLA0HMBUZi9EIuEInQ_haH-EZlcpLX_jCumPH5QnjET9XBkufTWe8mkfvXt3E7c/s1600-h/yo+apoyo+coecys+2009.PNG&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5358456279224651458&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeq_OaOoLkEkwvMb3A-8NhEqdZtyf1MkLq8Q7HehB3AxApkzmr_vRUiG8AUeLjdm7qrXo4UZmL86YulLA0HMBUZi9EIuEInQ_haH-EZlcpLX_jCumPH5QnjET9XBkufTWe8mkfvXt3E7c/s320/yo+apoyo+coecys+2009.PNG&quot; style=&quot;cursor: hand; cursor: pointer; float: right; height: 130px; margin: 0 0 10px 10px; width: 130px;&quot;&gt;&lt;/a&gt;&lt;br&gt;
Apoyando el trabajo que han realizado los amigos organizadores del Congreso de Estudiantes de Ciencias Y Sistemas (COECYS) de este año, público algunos gifs que me permití hacer para que quien quiera los pueda usar en su blog, twitter, messenger y demás lugares y así ayudar a promover el congreso entre sus lectores.&lt;br&gt;
&lt;br&gt;
De igual forma, si tienes alguna sugerencia para mejorar los gifs, eres invitado a escribirme y si decides hacer tus propias creaciones, también te invito a que comentes la dirección de tu post.&lt;br&gt;
&lt;span class=&quot;posthidden&quot; id=&quot;Gifs_coecys_2009&quot;&gt;&lt;br&gt;
&lt;/span&gt;&lt;br&gt;
&lt;a href=&quot;http://diagonalasterisco.blogspot.com/2009/07/gifs-de-apoyo-coecys-09.html#more&quot;&gt;Continuar leyendo... »&lt;/a&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/07/gifs-de-apoyo-coecys-09.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeq_OaOoLkEkwvMb3A-8NhEqdZtyf1MkLq8Q7HehB3AxApkzmr_vRUiG8AUeLjdm7qrXo4UZmL86YulLA0HMBUZi9EIuEInQ_haH-EZlcpLX_jCumPH5QnjET9XBkufTWe8mkfvXt3E7c/s72-c/yo+apoyo+coecys+2009.PNG" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-6678841503099100825</guid><pubDate>Thu, 02 Jul 2009 22:55:00 +0000</pubDate><atom:updated>2009-07-05T18:05:41.572-07:00</atom:updated><title>Integración de JUnit y Netbeans</title><description>Hacer pruebas de funcionamiento de los diversos componentes de un proyecto es una parte vital del ciclo de desarrollo, consumiendo grandes cantidades de tiempo y recursos en su realización, es por ello que debemos buscar alternativas que nos permitan automatizar estas pruebas, por lo menos a nivel unitario (cada componente).&lt;br /&gt;&lt;br /&gt;Una de las propuestas más conocidas es usar el framework JUnit, para escribir y ejecutar pruebas unitarias en proyectos Java.&lt;br /&gt;&lt;br /&gt;En esta entrada vamos a ver como integrar y configurar JUnit versión 4, aprovechando las facilidades que brinda un IDE como Netbeans.&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;integracion_junit_netbeans&#39;&gt;&lt;br /&gt;La forma en la que JUnit trabaja es indicàndole una serie de entradas y sus salidas esperadas y luego compara los resultados de la ejecuciòn con los valores esperados para encontrar inconsistencias.&lt;br /&gt;&lt;br /&gt;En Junit contamos con la clase Assert que es la encargada de realizar todas las comprobaciones que necesitemos mediante una serie de mètodos que validan condiciones especìficas. Entre los mètodos con los que contamos estan: &lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;AssertEquals:&lt;/span&gt; Comprueba si dos objetos son iguales, en sus distintas versiones siempre recibe un valor esperado, un valor obtenido y un rango de variación o delta.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;asserFalse:&lt;/span&gt; Comprueba que la condición pasada como parámetro sea falsa, su contraparte es el mètodo &lt;span style=&quot;font-weight:bold;&quot;&gt;assertTrue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;asserNotNull:&lt;/span&gt; Verifica que el objeto pasado como parámetro no sea nulo. Su contraparte es el método &lt;span style=&quot;font-weight:bold;&quot;&gt;assertNull&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;assertSame:&lt;/span&gt; Verifica si dos referencias apuntan al mismo objeto. Su contraparte es el mètodo &lt;span style=&quot;font-weight:bold;&quot;&gt;assertNotSame&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Fail():&lt;/span&gt; Hace que falle la prueba.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Ejemplo:&lt;/span&gt;&lt;br /&gt;Bueno, empecemos nuestro ejemplo creando un nuevo proyecto de aplicaciòn en Netbeans (File &amp;gt; Nuevo Proyecto &amp;gt;Java &amp;gt; java Application) al que le pondremos &quot;test_Junit&quot;.&lt;br /&gt;&lt;br /&gt;Ahora creamos una clase llamada &quot;Validador&quot; que tendrá métodos para verificar que un paràmetro sean mayor, menor o igual a otro paràmetro. Una posible implementación podría ser la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;public class Validador {&lt;br /&gt;  public Validador(){};  &lt;br /&gt;  public boolean menorQue(int a, int b){ return a &amp;lt; b;}&lt;br /&gt;  public boolean mayorQue(int a, int b){ return a &amp;gt; b;}&lt;br /&gt;  public boolean igualQue(int a, int b){ return a==b;}&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ahora debemos dar click derecho sobre el icono de la nueva clase y seleccionar Tools &amp;gt; create JUnit tests, donde saldrá una pantalla donde sólo debemos indicar el nombre, paquete y las opciones de generación de código, al final damos click en el botón &quot;aceptar&quot;&lt;br /&gt;&lt;br /&gt;Se habrá creado una nueva clase llamada ValidadorTest en el paquete Test (por default) la cual contiene todos los métodos &quot;assert&quot; para probar cada método de nuestra clase, por lo que solo debemos modificar estos métodos para hacer las pruebas que queramos.&lt;br /&gt;&lt;br /&gt;Ya modificadas las pruebas solo falta ejecutarlas, para eso nos vamos al menú &quot;Run&quot; y seleccionamos &quot;Test Project&quot;, después de un momento obtenemos los resultados de la prueba:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Tu_Ntgm28vq9ee2R8fg6A-A4KVYT29OZGgWWdlHZwoojNsq-_ha8DE7GLgBVt48pRtD0DX-4WuD-hRFM36L-9n2hl8WLsU6jWgwh-OqQnrwboTvxV3M6Aw2EBp63J3BblBEwXp4CjWs/s1600-h/prueba.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 217px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Tu_Ntgm28vq9ee2R8fg6A-A4KVYT29OZGgWWdlHZwoojNsq-_ha8DE7GLgBVt48pRtD0DX-4WuD-hRFM36L-9n2hl8WLsU6jWgwh-OqQnrwboTvxV3M6Aw2EBp63J3BblBEwXp4CjWs/s320/prueba.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5355145198707501698&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Como ves, no es cosa del otro mundo y permite avanzar mucho más rápido y seguro dado que no tienes que estar parando y haciendo pruebas por tu cuenta cada vez que hacemos una modificación o una nueva función, solamente debemos definir nuestra serie de pruebas desde el inicio e ir ejecutando los test en cada actualización y listo.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Fuentes:&lt;/span&gt;&lt;br /&gt;http://junit.org/&lt;br /&gt;http://www.netbeans.org/kb/docs/java/junit-intro.html&lt;br /&gt;http://es.wikipedia.org/wiki/JUnit&lt;br /&gt;http://www.jtech.ua.es/tutoriales/apuntes/sesion-junit-apuntes.htm&lt;br /&gt;http://www.lab.dit.upm.es/~lprg/material/apuntes/pruebas/aceptacion.htm&lt;br /&gt;http://www.javahispano.org/contenidos/es/introduccrion_a_junit/&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&#39;Link&#39;&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;integracion_junit_netbeans&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/07/integracion-de-junit-y-netbeans.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Tu_Ntgm28vq9ee2R8fg6A-A4KVYT29OZGgWWdlHZwoojNsq-_ha8DE7GLgBVt48pRtD0DX-4WuD-hRFM36L-9n2hl8WLsU6jWgwh-OqQnrwboTvxV3M6Aw2EBp63J3BblBEwXp4CjWs/s72-c/prueba.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-2055880244652109998</guid><pubDate>Sun, 28 Jun 2009 04:11:00 +0000</pubDate><atom:updated>2009-06-29T13:20:59.507-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Integracion de Tomcat con Apache</title><description>En este post instalaremos Tomcat y lo configuraremos para que se integre con Apache, sobre un Ubuntu 9.04 con KDE 3.5&lt;br /&gt;&lt;br /&gt;Para instalar Apache puedes guiarte en parte de &lt;a href=&quot;http://diagonalasterisco.blogspot.com/2009/06/instalacion-y-configuracion-de.html&quot;&gt;este post&lt;/a&gt; hasta antes de la parte de instalación de Subversion.&lt;br /&gt;&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;Integracion_tomcat_apache&#39;&gt;&lt;br /&gt;Para instalar Tomcat primero necesitamos tener instalado el JDK de Java de Sun (si ya estas seguro que lo tienes, puedes saltarte estos pasos), por lo que ejecutamos el comando &lt;span class=&quot;codigo&quot;&gt;sudo apt-get install sun-java6-jdk&lt;/span&gt;, aceptamos su acuerdo y esperamos a que termine. Al final puedes confirmar que todo esta bien instalado con un &quot;java -version&quot; y un &quot;javac -version&quot;, si ambos te indican la misma versión, entonces todo esta bien.&lt;br /&gt;&lt;br /&gt;Tambien debemos crear la variable de entorno JAVA_HOME apuntando hacia /usr/lib/jvm/java-6-sun, agregándola al final del archivo /usr/profile: &lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;codigo&quot;&gt;sudo nano /usr/profile&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;(tambien puedes hacerlo al final del archivo ~/.bash_profile o también ~/.bashrc, dependiendo de cual encuentres en uso) la siguiente línea: &lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;codigo&quot;&gt;export JAVA_HOME=/usr/lib/jvm/java-6-sun &lt;/span&gt;, &lt;br /&gt;&lt;br /&gt;Ahora para actualizar nuestras variables de entorno debemos reiniciar nuestra sesión y listo, si escribes el comando &quot;echo $JAVA_HOME&quot; debería mostrarnos el path que le asignamos.&lt;br /&gt;&lt;br /&gt;Todo listo para instalar Tomcat por lo que ejecutamos el siguiente comando:&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;codigo&quot;&gt;sudo apt-get install tomcat6 libapache2-mod-jk libapache-mod-jk-doc apache2-threaded-dev&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Otra alternativa es descargar el paquete .tar.gz &lt;a href=&quot;http://tomcat.apache.org/download-60.cgi&quot;&gt;desde el sitio oficial&lt;/a&gt; de Tomcat (en cuyo caso debieras seguir las instrucciones del sitio oficial)&lt;br /&gt;&lt;br /&gt;Lo que toca ahora es activar el modulo jk mediante el comando:&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;/etc/apache2/mods-enabled#a2enmod jk&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Por ùltimo debemos modificar el archivo /etc/libapache2-mod-jk/workers.properties, buscamos la linea &lt;span style=&quot;font-weight:bold;&quot;&gt; workers.java_home=/usr/lib/kaffe&lt;/span&gt; y la sustituimos por &lt;span style=&quot;font-weight:bold;&quot;&gt;workers.java_home=/usr/lib/jvm/java-6-sun&lt;/span&gt;; ademàs debemos fijarnos en los valores de las variables workers.tomcat_home, workers.java_home y ps (descomentarlos en caso que esten comentados)&lt;br /&gt;&lt;br /&gt;El otro archivo a considerar es /etc/apache2/mods-enabled/jk.conf que es donde indicamos los puntos de montaje para cada worker especificado en el archivo workers.properties&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;Integracion_tomcat_apache&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/06/integracion-de-tomcat-con-apache.html</link><author>noreply@blogger.com (AlxBL)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-1161651648947655054</guid><pubDate>Fri, 19 Jun 2009 07:30:00 +0000</pubDate><atom:updated>2009-06-19T02:12:02.992-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Integración_Contínua</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Integración entre hudson y trac</title><description>En este post veremos como lograr que Hudson y Trac se integren mediante un plugin que crea links desde un proyecto de Hudson hacia una instancia de Trac, con lo cual conseguimos &quot;decorar&quot; los reportes de cambios de Hudson agregando links a los apartados de Trac, por ejemplo la wiki, tickets, conjunto de cambios y el visor del código fuente.&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;integracion_hudson_trac&#39;&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6VlbtESYjBATLU-K9c_XNOnn7FOPsz5-kkqwIp6zm4QAP-TfoesQMCv8upfZKweXXIRlhiOvyi042SklfqAVrzuTOZOHFfyI5STOniM3NuLB-9_OvxHRPmPFXiX3nNW9egjH-0MWoMEQ/s1600-h/Manage+Hudson.png&quot;&gt;&lt;img style=&quot;border:1px solid black; float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 207px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6VlbtESYjBATLU-K9c_XNOnn7FOPsz5-kkqwIp6zm4QAP-TfoesQMCv8upfZKweXXIRlhiOvyi042SklfqAVrzuTOZOHFfyI5STOniM3NuLB-9_OvxHRPmPFXiX3nNW9egjH-0MWoMEQ/s320/Manage+Hudson.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348942444224580818&quot; /&gt;&lt;/a&gt;Lo primero que hacemos es abrir la página inicial de hudson (&quot;http://localhost:8080&quot;) y damos click sobre el link &quot;Manage Hudson&quot; de la barra lateral izquierda&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1H_cFmJuZ0DnZuqLD962MCtTYLOpNpZvkKzIu7QWOZ3VU1Zz8j72hM4DM7HSDtkjZMqm-2XrSi-p_vOsWWp-HIAFRArbUHScO58aRrVGHOwaz3xNGgbZF0ir1q-KcKkBWbuqN3T_2k9A/s1600-h/Plugins.png&quot;&gt;&lt;img style=&quot;border:1px solid black; float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 280px; height: 160px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1H_cFmJuZ0DnZuqLD962MCtTYLOpNpZvkKzIu7QWOZ3VU1Zz8j72hM4DM7HSDtkjZMqm-2XrSi-p_vOsWWp-HIAFRArbUHScO58aRrVGHOwaz3xNGgbZF0ir1q-KcKkBWbuqN3T_2k9A/s320/Plugins.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348943403315959698&quot; /&gt;&lt;/a&gt;Ahora buscamos el link &quot;Manage Plugins&quot; y damos click en él.&lt;br /&gt;&lt;br /&gt;En la siguiente página, damos click en la pestaña &quot;Available&quot; y luego buscamos el plugin &quot;Trac Plugin&quot;, lo marcamos y damos click en el botón &quot;install&quot; hasta el final de la lista.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_QYyJ_mwXzBhgJgT3wHIQBW05_4f-BTMuD5NyoqIgS2jTzrmeXjDLXjdpJlgjkXkEKoUOLZIoPpIqOiXcppTlTY8HveAtH-UL_8duJkI78dlyaVwxJys_FPtuO5iTPCT1OFqIsStBKR4/s1600-h/03+Trac+Plugin.png&quot;&gt;&lt;img style=&quot;float:right; border:1px solid black; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 279px; height: 98px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_QYyJ_mwXzBhgJgT3wHIQBW05_4f-BTMuD5NyoqIgS2jTzrmeXjDLXjdpJlgjkXkEKoUOLZIoPpIqOiXcppTlTY8HveAtH-UL_8duJkI78dlyaVwxJys_FPtuO5iTPCT1OFqIsStBKR4/s320/03+Trac+Plugin.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348945115070618482&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBopbon_R7opeN94OI03ZNWa9Ke3hbI_xjkrm78JBuqPFXfWIRRiLEEQOoL8OSiX-AHVu4bbVqaJ4VEiWykh0WKW-hQVJyhYzq5NHRph1raIfD0wzYeTvsG5pBOxZQDC0xEsLRJZci-GY/s1600-h/04+Restart+Hudson.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 225px; border:1px solid black;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBopbon_R7opeN94OI03ZNWa9Ke3hbI_xjkrm78JBuqPFXfWIRRiLEEQOoL8OSiX-AHVu4bbVqaJ4VEiWykh0WKW-hQVJyhYzq5NHRph1raIfD0wzYeTvsG5pBOxZQDC0xEsLRJZci-GY/s320/04+Restart+Hudson.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348946461938333426&quot; /&gt;&lt;/a&gt;Ahora Hudson nos indica que una vez instalado el plugin, debe reiniciarse para que los cambios tengan efecto por lo que damos click en el botón &quot;Restart now&quot;&lt;br /&gt;&lt;br /&gt;Esperamos mientras Hudson se reinicia, luego de algunos segundos nos regresará al inicio de Hudson. Ahora para confirmar que el plugin ha sido instalado debemos ir al link &quot;Manage Hudson&quot; &gt; &quot;Manage Plugins&quot; y la pestaña &quot;Installed&quot; y debemos ver que aparezca en la lista la entrada &quot;Hudson Edgewall Trac plugin&quot;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsh-NifGuXYqwThkbYyu8aT6teyeXQOVd1zhdxZpzbbZSefBFroySuW-HuDxPsY1amG9xBs1UbrLOcDFCNn0A1ZL2Jh8iX3wXhWr8snp6Q0qhXX6rLSOrOUV9kaCadYijo1aoz3YwK1sA/s1600-h/05+Verificar+plugin+trac+instalado.png&quot;&gt;&lt;img style=&quot; border:1px solid black; float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 135px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsh-NifGuXYqwThkbYyu8aT6teyeXQOVd1zhdxZpzbbZSefBFroySuW-HuDxPsY1amG9xBs1UbrLOcDFCNn0A1ZL2Jh8iX3wXhWr8snp6Q0qhXX6rLSOrOUV9kaCadYijo1aoz3YwK1sA/s320/05+Verificar+plugin+trac+instalado.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348951591629642690&quot; /&gt;&lt;/a&gt;Listo, ya hemos agredado el plugin, ahora para usarlo en un job que hayamos creado previamente, debemos editar las configuraciones del job (click sobre el job, luego en el link &quot;configure&quot;)&lt;br /&gt;&lt;br /&gt;Buscamos la entrada &quot;Trac website&quot; y escribimos &quot;http://localhost/trac&quot;; por último buscamos la lista &quot;Repository Browser&quot;, seleccionamos &quot;Trac&quot; y damos click en el botòn &quot;save&quot; al final de la página.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMoHFr0ge5Wu8lE7aC4CqwvnvPmzr1Gof_QQ91BOyd3OOQtjNIaZzKGokU0gS5XPEU2qlDuXXT3_QNuLUEVLzoHqRtXGbDHMBHwws5wF10ouWMPbvtJExabDNiFhVSLGlOrnKE8aBdGPI/s1600-h/09+Trac+new+Link.png&quot;&gt;&lt;img style=&quot;border:1px solid black; float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 117px; height: 85px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMoHFr0ge5Wu8lE7aC4CqwvnvPmzr1Gof_QQ91BOyd3OOQtjNIaZzKGokU0gS5XPEU2qlDuXXT3_QNuLUEVLzoHqRtXGbDHMBHwws5wF10ouWMPbvtJExabDNiFhVSLGlOrnKE8aBdGPI/s320/09+Trac+new+Link.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348955724402646466&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora nos aparecerá un nuevo link para trac en la barra lateral derecha de la página del Job, el cual apunta al &quot;project enviroment&quot; de Trac.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNiXlFQwGAJdq1xnJmcRTp4om8PVaNgKWFMgg8P6Umj2iCz-mwTk5KDY6BeSgp9zab0leC7LmAtryGmYk4Ao4snZ6Aoe_hSeOi41S3LALRYuX6CYk2blnNiWKNwrvazREFHO9vTjb3-0I/s1600-h/10+Nuevos+Links+en+Changes+hacia+Trac.png&quot;&gt;&lt;img style=&quot;border:1px solid black; float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 172px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNiXlFQwGAJdq1xnJmcRTp4om8PVaNgKWFMgg8P6Umj2iCz-mwTk5KDY6BeSgp9zab0leC7LmAtryGmYk4Ao4snZ6Aoe_hSeOi41S3LALRYuX6CYk2blnNiWKNwrvazREFHO9vTjb3-0I/s320/10+Nuevos+Links+en+Changes+hacia+Trac.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348962267385845042&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Listo, ahora, si por ejemplo hacemos un commit, la página de cambios del Job relacionado tendrá los links apropiados para el conjunto de cambios y la página de tickets de Trac, respectivamente.&lt;br /&gt;&lt;br /&gt;Además en la parte de detalle de cambios de Hudson habrá un link hacia las páginas de Trac para el conjunto de cambios &quot;committed&quot;, archivos cambiados y las diferencias entre las versiones de archivos.&lt;/span&gt;&lt;br /&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;!-- Debes de pasar el mismo id que escribiste arriba, como parametro de la funcion --&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;integracion_hudson_trac&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/06/integracion-entre-hudson-y-trac.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6VlbtESYjBATLU-K9c_XNOnn7FOPsz5-kkqwIp6zm4QAP-TfoesQMCv8upfZKweXXIRlhiOvyi042SklfqAVrzuTOZOHFfyI5STOniM3NuLB-9_OvxHRPmPFXiX3nNW9egjH-0MWoMEQ/s72-c/Manage+Hudson.png" height="72" width="72"/><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-8697463065090499860</guid><pubDate>Thu, 18 Jun 2009 07:27:00 +0000</pubDate><atom:updated>2009-06-19T00:42:37.724-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Integración_Contínua</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Instalación y Configuración de Trac</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.edgewall.org/gfx/trac_logo.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 214px; height: 61px;&quot; src=&quot;http://www.edgewall.org/gfx/trac_logo.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; Trac es una herramienta para la gestión de proyectos y seguimiento de errores, fuertemente relacionado con Subversion.&lt;br /&gt;&lt;br /&gt;En este post veremos como instalar Trac e integrarlo con Apache y Subversion.&lt;br /&gt;&lt;!-- Todo: Agregar mas descripciones --&gt;&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;instalacion_configuracion_trac&#39;&gt;&lt;br /&gt;Lo primero que hacemos es instalar trac (y sus dependencias) junto al modulo libapache2-mod-python, mediante el siguiente comando:&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo apt-get install trac libapache2-mod-python&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ahora debemos crear una carpeta para que sirva de ambiente de proyectos (project enviroment) para que Trac pueda almacenar informaciòn sobre páginas de wikis, tickets, reportes, configuraciones, etc. En nuestro ejemplo la carpeta se llama trac_env y esta alojada en la carpeta del usuario (/home/tuUsuario/  abreviado como ~/), y www-data es el usuario creado por Apache.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo mkdir ~/trac_env&lt;br /&gt;sudo chown -R www-data ~/trac_env&lt;br /&gt;cd ~/trac_env&lt;br /&gt;sudo trac-admin holaTrac initenv&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;trac-admin empezará a preguntarnos datos sobre la configuración; el primero es el nombre del proyecto, puede ser cualquiera, por ejemplo &quot;holaTrac&quot;. El segundo parametro es el string de conección a la base de datos (en caso tengas uno instalado, como MySql o algo así) que dejamos vacío por default. El tercer valor es el tipo de sistema de control de versiones, por default es subverion,lo dejamos así. El cuarto es el path absoluto a la carpeta del repositorio, por ejemplo &quot;/home/tuUsuario/repositorio&quot;&lt;br /&gt;&lt;br /&gt;Al terminar la configuración del ambiente podemos aprovechar para crear un grupo &quot;trac&quot; donde agregaremos a todos los usuarios que necesitemos que tengan acceso al enviroment (como tu usuario, y www-data) y cambiamos el dueño y el grupo de todos los archivos generados dentro de trac_env.&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo addgroup trac&lt;br /&gt;sudo useradd tuUsuario trac&lt;br /&gt;sudo useradd www-data trac&lt;br /&gt;&lt;br /&gt;sudo chown -R www-data:trac holaTrac&lt;br /&gt;sudo chmod -R 770 holaTrac&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ahora debemos crear un archivo de configuración para que apache reconozca la localización de la carpeta de /trac y de paso aprovechamos para escribir la configuración necesaria para que trac use el mismo archivo de contraseñas de Subversion.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo nano /etc/apache2/sites-available/trac.conf&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Y agregamos las siguientes líneas:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;&lt;br /&gt;&amp;lt;Location /trac&amp;gt; #set up Trac handling&lt;br /&gt;  SetHandler mod_python&lt;br /&gt;  PythonHandler trac.web.modpython_frontend&lt;br /&gt;  PythonOption TracEnvParentDir /home/tuUsuario/trac_env&lt;br /&gt;  PythonOption TracUriRoot /trac &lt;br /&gt;&lt;br /&gt;  # Use the SVN password file.&lt;br /&gt;  AuthType Basic&lt;br /&gt;  AuthName &quot;Subversion Repository&quot;&lt;br /&gt;  AuthUserFile /etc/apache2/dav_svn.passwd&lt;br /&gt;  Require valid-user  &lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Debes notar que el parametro que sigue al TracUriRoot debe ser el mismo que el que esta despues de Location&lt;br /&gt;&lt;br /&gt;Ahora debemos hacer que Apache reconozca &quot;/trac&quot; como un sitio valido y permitido, para esto, nos movemos a la carpeta sites-enabled de apache y creamos un enlace al archivo trac.conf que creamos previamente.&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;cd /etc/apache2/sites-enabled&lt;br /&gt;sudo ln -s ../sites-available/trac.conf 010-trac&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Por último reiniciamos apache:&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo /etc/init.d/apache2 restart&lt;/div&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgq15yuZtdVFxs9DyN5tZs3rpOJB3sej2iKuBkSQY8Yxm_qAgBdF7S-TgjP1bCsO6PAk6tPn46-vAYFXofS-LQLezzdQZqFtQzU9_5Eol0oPw4l-SipCLP-kSa8VCoyshopebmfjUHI30/s1600-h/Available+Projects.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 96px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgq15yuZtdVFxs9DyN5tZs3rpOJB3sej2iKuBkSQY8Yxm_qAgBdF7S-TgjP1bCsO6PAk6tPn46-vAYFXofS-LQLezzdQZqFtQzU9_5Eol0oPw4l-SipCLP-kSa8VCoyshopebmfjUHI30/s200/Available+Projects.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348929909871826978&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Para probar la instalación, escribimos la url &quot;http://localhost/trac&quot; en nuestro navegador donde nos encontraremos con una página que nos lista los proyectos que hemos creado (como el holaTrac).&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRluiWi9HzufZ3PD1srin1W8ur8jojjJ1qSfLOQS05I0W_9F6SioPBh9CvGVhIsYzonhU4QilQv_vspZzMDHmcCi2Y6CqjSnKymVYIyTxqgFlv78gIfT6CLh_iJkGoMkVU19LcNCL-8hM/s1600-h/welcome+to+trac.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 102px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRluiWi9HzufZ3PD1srin1W8ur8jojjJ1qSfLOQS05I0W_9F6SioPBh9CvGVhIsYzonhU4QilQv_vspZzMDHmcCi2Y6CqjSnKymVYIyTxqgFlv78gIfT6CLh_iJkGoMkVU19LcNCL-8hM/s200/welcome+to+trac.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348926117141060978&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Al dar click en el link del proyecto, entramos a su &quot;wiki&quot; donde tenemos varias opciones para para registrar, por ejemplo la opción de &quot;browse source&quot;, ver tickets, agregar tickets y buscar.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbbnlZEh-mZE5SWtKNFYiEKPnAtiJIcgicXfBz0wq9xAF2lvZ93xZjNzKM1FooZ28gjNHRS5cETqoHdD8iPhbWUMDGsq6l57L4YgnGeUYr73LzBvM2-nfl2crD0pCw9D5ZtvybbLSfykQ/s1600-h/root+of+repository.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 125px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbbnlZEh-mZE5SWtKNFYiEKPnAtiJIcgicXfBz0wq9xAF2lvZ93xZjNzKM1FooZ28gjNHRS5cETqoHdD8iPhbWUMDGsq6l57L4YgnGeUYr73LzBvM2-nfl2crD0pCw9D5ZtvybbLSfykQ/s200/root+of+repository.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348930753161336690&quot; /&gt;&lt;/a&gt;&lt;br /&gt;En la parte de &quot;browse source&quot; tenemos un listado de las carpetas del repositorio, donde podemos incluso llegar a ver los archivos fuentes y los cambios que han tenido.&lt;br /&gt;&lt;br /&gt;Bueno hasta aquí llega este post, ojalá les haya servido, saludos.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Fuentes:&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://trac.edgewall.org/wiki/TracInstall&quot;&gt;http://trac.edgewall.org/wiki/TracInstall&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://es.wikipedia.org/wiki/Trac&quot;&gt;http://es.wikipedia.org/wiki/Trac&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://trac.edgewall.org/wiki/TracModPython&quot;&gt;http://trac.edgewall.org/wiki/TracModPython&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://help.ubuntu.com/community/UbuntuTracHowto&quot;&gt;https://help.ubuntu.com/community/UbuntuTracHowto&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;!-- Debes de pasar el mismo id que escribiste arriba, como parametro de la funcion --&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;instalacion_configuracion_trac&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/06/instalacion-y-configuracion-de-trac.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgq15yuZtdVFxs9DyN5tZs3rpOJB3sej2iKuBkSQY8Yxm_qAgBdF7S-TgjP1bCsO6PAk6tPn46-vAYFXofS-LQLezzdQZqFtQzU9_5Eol0oPw4l-SipCLP-kSa8VCoyshopebmfjUHI30/s72-c/Available+Projects.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-5715062546800773734</guid><pubDate>Thu, 18 Jun 2009 00:53:00 +0000</pubDate><atom:updated>2009-06-17T19:31:35.553-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Web</category><title>Opera Unite: Un servidor web en el navegador</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXMWbTtxzxTP73NZEDmq7ongJgYFM2K_ozmmZsalc8kV5e20yQ7QQl3BkAjsP8lyHIqDOJR4KNebzbHgT_Rf86D9g51P-P0i6wXuT8pMnorwXZsSnBrV2nj9hRg3IjgLpQuZJuYSBJOFo/s1600-h/logo+opera+unite.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 124px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXMWbTtxzxTP73NZEDmq7ongJgYFM2K_ozmmZsalc8kV5e20yQ7QQl3BkAjsP8lyHIqDOJR4KNebzbHgT_Rf86D9g51P-P0i6wXuT8pMnorwXZsSnBrV2nj9hRg3IjgLpQuZJuYSBJOFo/s400/logo+opera+unite.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348479997879354034&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Imagina simplemente convertir tu computadora (o cualquier otro dispositivo que use Opera) en un servidor web simplemente habilitando una función desde el navegador, pues esto es lo que propone la nueva tecnología de Opera, llamada &lt;a href=&quot;http://unite.opera.com/&quot;&gt;Opera Unite&lt;/a&gt; e incluída a partir de la versión 10 del navegador web de Opera (aún en fase de pruebas).&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;post_opera_unite&#39;&gt;&lt;br /&gt;En otras palabras tu ordenador dejará de ser sólo un medio para interactuar con la red para convertirse en parte de la estructura de la web, dejando de depender de grandes servidores y permitiéndote brindar servicios y compartir contenidos desde el navegador, todo esto sin importar si eres un usuario técnico o no.&lt;br /&gt;&lt;br /&gt;A continuación un video acerca del punto de vista de Opera Unite:&lt;br /&gt;&lt;object width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/D5hr-6cw4M8&amp;hl=es&amp;fs=1&amp;&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/D5hr-6cw4M8&amp;hl=es&amp;fs=1&amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Algunas de las funcionalidades más sobresalientes (por ahora) son:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilQP2ioDK1coajKSqHSdBL5adoXHXR_h1VtylAS_zTw1UYNGibW-xIILvUwp2Q79JyHFodbbB8pbbzXHGX01UxEPEWBBcVcL8k2cTP_tHQYvfx06Ybhwhuu1MYRfJ9l-8jUX0hnVZO6hk/s1600-h/propiedades+opera+unite.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 138px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilQP2ioDK1coajKSqHSdBL5adoXHXR_h1VtylAS_zTw1UYNGibW-xIILvUwp2Q79JyHFodbbB8pbbzXHGX01UxEPEWBBcVcL8k2cTP_tHQYvfx06Ybhwhuu1MYRfJ9l-8jUX0hnVZO6hk/s320/propiedades+opera+unite.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348473964641752930&quot; /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Opera Unite es una gran propuesta para la web interpersonal, pero dependerá de los usuarios, desarrolladores, companías, empresarios, y cualquier persona visionaria para crecer y llegar a ser una verdadera revolución.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Fuentes:&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://labs.opera.com/news/2009/06/16/&quot; target=&quot;_blank&quot;&gt;http://labs.opera.com/&lt;br /&gt;news/2009/06/16/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://unite.opera.com/&quot; target=&quot;_blank&quot;&gt;http://unite.opera.com/&lt;/a&gt;&lt;br /&gt;(Y todavía hay quienes me preguntan porque prefiero usar Opera ¬¬,)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;post_opera_unite&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/06/opera-unite-un-servidor-web-en-el.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXMWbTtxzxTP73NZEDmq7ongJgYFM2K_ozmmZsalc8kV5e20yQ7QQl3BkAjsP8lyHIqDOJR4KNebzbHgT_Rf86D9g51P-P0i6wXuT8pMnorwXZsSnBrV2nj9hRg3IjgLpQuZJuYSBJOFo/s72-c/logo+opera+unite.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-6679387953731962257</guid><pubDate>Wed, 17 Jun 2009 16:11:00 +0000</pubDate><atom:updated>2009-06-19T00:28:00.802-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Integración_Contínua</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Instalación y configuración de Hudson</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicCO3-ljWVYLF48iAt0VJUhyP2RFg3n5BVmV-5gzznahxhBnd9swbcImnYLq_cVetKda6Utz26TK8Ju8KEuYOMHHxCVjRHAi0Bohu2-XLpq2qWgBBNKdl6czxXeN2f2Hy-M-D4VckVQCA/s1600-h/Hudson-140_140px.jpg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 140px; height: 140px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicCO3-ljWVYLF48iAt0VJUhyP2RFg3n5BVmV-5gzznahxhBnd9swbcImnYLq_cVetKda6Utz26TK8Ju8KEuYOMHHxCVjRHAi0Bohu2-XLpq2qWgBBNKdl6czxXeN2f2Hy-M-D4VckVQCA/s320/Hudson-140_140px.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348361712137801202&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://hudson.dev.java.net/&quot;&gt;Hudson &lt;/a&gt;es una herramienta open source para integración contínua que nos ayuda a monotorizar la ejecución de tareas repetitivas como el compilar un proyecto cada cierto tiempo. Además se enfoca en la construcción y prueba de proyectos de software contínuamente y en monitorizar la ejecución de tareas ejecutadas externamente.&lt;br /&gt;&lt;br /&gt;Algunas de las características más sobresalientes de la herramienta son:&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;- Fácil de instalar:&lt;/span&gt; podemos hacer un deployment del archivo hudson.war en cualquier web container como tomcat, pero también podemos ejecutarlo como standalone mediante el comando:&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;java -jar hudson.war&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;- Configuración:&lt;/span&gt; Se realiza totalmente mediante su interfaz web lo cual nos ahorra el trabajo de estar editando archivos XML por nuestra cuenta.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;- Soporta cvs y subversion como SCM:&lt;/span&gt; (SCM=manejador de la configuración del software) Aunque también puede trabajar sin repositorio para control de versiones (scm).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;- Extensión de la herramienta mediante plugins&lt;/span&gt;. Actualmente se cuentan con plugins de JIRA, findbugs, Plot, Polarion, Trac, Clover entre otros.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;- Soporte para reportes de JUnit y TestNG:&lt;/span&gt; Los cuales pueden ser tabulados, resumidos y desplegados junto con información histórica.&lt;br /&gt;&lt;br /&gt;En este post veremos como instalar y configurar la herramienta e integrarla con Apache y Subversion. (si aún no has instalado Subversion, puedes revisarte &lt;a href=&quot;http://diagonalasterisco.blogspot.com/2009/06/instalacion-y-configuracion-de.html&quot;&gt;este post&lt;/a&gt; para hacerlo)&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;instalacion_configuracion_hudson&#39;&gt;&lt;br /&gt;Lo primero que debemos hacer es descargar el archivo hudson.war &lt;a href=&quot;http://hudson.gotdns.com/latest/hudson.war&quot;&gt;desde su página oficial.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuC_e2y2YYItE3gJv06qxm_BH_ffRAoUBFk2pfJrcE4wEMiw8yK_Ftj5VPZL1JsksF0pxoMWxFJlBo22jNMA_k3_O6vMBpq9Fik7jD8yBkqV9NFht6dm4hN2UJAGgpotb2BemT9mPHjno/s1600-h/ejecutando+hudson.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 238px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuC_e2y2YYItE3gJv06qxm_BH_ffRAoUBFk2pfJrcE4wEMiw8yK_Ftj5VPZL1JsksF0pxoMWxFJlBo22jNMA_k3_O6vMBpq9Fik7jD8yBkqV9NFht6dm4hN2UJAGgpotb2BemT9mPHjno/s320/ejecutando+hudson.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348353002541488290&quot; /&gt;&lt;/a&gt;Ya descargado, podemos probarlo abriendo una consola en la carpeta donde este el archivo y ejecutando el comando:&lt;span class=&quot;codigo&quot;&gt;java -jar hudson.war&lt;/span&gt; con lo que empezará a escuchar solicitudes desde el puerto 8080; es importante no cerrar la ventana de comandos mientras usemos hudson ya que si lo hacemos, se para el servicio.&lt;br /&gt;&lt;br /&gt;Para probar hudson nos vamos al navegador y escribimos &lt;span style=&quot;font-weight:bold;&quot;&gt;http://localhost:8080/&lt;/span&gt; con lo que nos deberá abrir la siguiente página:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNpARzUCm6kJalCY0yL7Jwza46rh1ouozr2JlLaVlhqALnBh_fpsFJCQna89WFA3ybtu9noZewjZ1DxF9HLtg2afO_0bvijzIfcfyA0FMrZDb5OKQ6qvqA4db6piqIiQFaKCDwJAcKq7A/s1600-h/inicio+de+hudson.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 209px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNpARzUCm6kJalCY0yL7Jwza46rh1ouozr2JlLaVlhqALnBh_fpsFJCQna89WFA3ybtu9noZewjZ1DxF9HLtg2afO_0bvijzIfcfyA0FMrZDb5OKQ6qvqA4db6piqIiQFaKCDwJAcKq7A/s320/inicio+de+hudson.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348355154270071906&quot; /&gt;&lt;/a&gt;Como notaremos, la primera vez que lo ejecutamos no hay ningún trabajo en lista, por lo que procedemos a crear uno dando un click en el link &quot;new job&quot; de la esquina superior izquierda. En esta nueva página, se nos presentarán cuatro opciones diferentes para crear un tipo de trabajo, sin embargo, nosotros seleccionamos la segunda &quot;build a free-style software project&quot; y le asignamos un nombre al trabajo (en mi caso &quot;holaHudson&quot;), al final presionamos ok.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-98ZCshet9EHpQVghqZM7NPotij5o6I358sxojVyojF0x8YSwclwi4WDE3aTJTcRsGYkIuBvizt08L6j5ZmBQYt0lGyeFVmTLo3pFiF1ft30N1dBT_oj2AcidIy6L8h9IcbfB2V8Ke7w/s1600-h/creando+un+nuevo+projecto+en+hudson.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 217px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-98ZCshet9EHpQVghqZM7NPotij5o6I358sxojVyojF0x8YSwclwi4WDE3aTJTcRsGYkIuBvizt08L6j5ZmBQYt0lGyeFVmTLo3pFiF1ft30N1dBT_oj2AcidIy6L8h9IcbfB2V8Ke7w/s320/creando+un+nuevo+projecto+en+hudson.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348356949594519298&quot; /&gt;&lt;/a&gt;&lt;br /&gt;La siguiente es la página de configuración del nuevo job, aquí podemos chequear todas las opciones que nos dá pero lo más importante es que configuremos en la parte de &lt;span style=&quot;font-weight:bold;&quot;&gt;&quot;Source Code Management&quot;&lt;/span&gt; la url de nuestro repositorio de subversion (esto si has leido &lt;a href=&quot;http://diagonalasterisco.blogspot.com/2009/06/instalacion-y-configuracion-de.html&quot;&gt;mis posts anteriores&lt;/a&gt;, si no, puedes omitirlo) la cual es &quot;http://localhost/svn/trunk/helloSubversion&quot;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTG__wqKAuccX7m3H5rYhezPyMb0pqS2-sSTVP98t5TNDhBMSsPSOXaUMf7UbibGdx8ll8n7cJdo-cniUlGN5gD7KmzvCz42CELPK1FH2QpWAk0crolAKxApjNDR4Wgx_lQJktCNYaD24/s1600-h/configurando+URL+de+Subversion+y+build+trigger+en+hudson+.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 171px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTG__wqKAuccX7m3H5rYhezPyMb0pqS2-sSTVP98t5TNDhBMSsPSOXaUMf7UbibGdx8ll8n7cJdo-cniUlGN5gD7KmzvCz42CELPK1FH2QpWAk0crolAKxApjNDR4Wgx_lQJktCNYaD24/s320/configurando+URL+de+Subversion+y+build+trigger+en+hudson+.png&quot; border=&quot;1&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348369478277921650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;También debemos configurar la opción &lt;span style=&quot;font-weight:bold;&quot;&gt;build triggers&lt;/span&gt; donde tenemos varias opciones, seleccionamos la opción &quot;Poll SCM&quot; (SCM es el Subversion) y le indicamos que haga una revisión cada media hora, por lo que escribimos 30 * * * para que Hudson le pregunte a Subversion cada media hora por nuevas actualizaciones.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuhZLojGYBbxzJJG2GbdC3XMyORfjHDwdBwCsnAUN_MxhlfiAq2WrgJLGJ6vk-cFcpyol4kdRvm_UFRkshNbTD2dT7_jDNWvDER80oxpXrxn9lUf_8isEzvUTSOE2faLt0lUq7Xp6eUw4/s1600-h/configuracion+build+y+post+build+en+hudson.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 151px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuhZLojGYBbxzJJG2GbdC3XMyORfjHDwdBwCsnAUN_MxhlfiAq2WrgJLGJ6vk-cFcpyol4kdRvm_UFRkshNbTD2dT7_jDNWvDER80oxpXrxn9lUf_8isEzvUTSOE2faLt0lUq7Xp6eUw4/s320/configuracion+build+y+post+build+en+hudson.png&quot; border=&quot;1&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348406297007096674&quot; /&gt;&lt;/a&gt;&lt;br /&gt;En la casilla de &lt;span style=&quot;font-weight:bold;&quot;&gt;Build&lt;/span&gt; debemos indicarle a Hudson como debe construir el proyecto, Hudson nos da varios mecanismos, sin embargo nosotros usaremos Ant, por lo que seleccionamos &quot;invoke Ant&quot; (Ant debe estar instalado en la máquina del repositorio)&lt;br /&gt;&lt;br /&gt;En target debemos especificar los targets definidos en el build.xml del proyecto, generado automáticamente por Netbeans que queremos que Hudson ejecute, por lo que sólo escribimos &quot;compile test javadoc&quot;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLiqh0EUMNxFreu2e6GvXQGFAo3vo3UoeQu8Qnty1oSRPyuLt52CZ-I0GjmV15N2I_WUJdzl32qcX-ZeCii3l_K_n0W2aDjgWMeIgOnh3CJqbFLyR12uYy_VzL-g7vKWozRAt_n1hMt1U/s1600-h/nuevos+jobs+en+hudson.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 166px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLiqh0EUMNxFreu2e6GvXQGFAo3vo3UoeQu8Qnty1oSRPyuLt52CZ-I0GjmV15N2I_WUJdzl32qcX-ZeCii3l_K_n0W2aDjgWMeIgOnh3CJqbFLyR12uYy_VzL-g7vKWozRAt_n1hMt1U/s320/nuevos+jobs+en+hudson.png&quot; border=&quot;1&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348412984155765730&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Ahora debemos marcar la casilla &quot;generate javadoc&quot; para que la documentación de las clases se actualize automáticamente, sólo debemos pasarle la direccion de la carpeta dentro del proyecto donde queremos que se guarde, en nuestro ejemplo es &quot;helloSubversion/dist/javadoc&quot;&lt;br /&gt;&lt;br /&gt;Listo, ahora sólo damos click en &lt;span style=&quot;font-weight:bold;&quot;&gt;save&lt;/span&gt; y ya tendremos nuestro primer job guardado. Si regresamos al index de Hudson (&quot;http://localhost:8080&quot;) veremos que habrá un listado de todos los jobs que hemos configurado.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDWaXJ1LTws4y1jHVwX9aUu_dOb14X6HTX4p9ZTKPwd-RZG5kppAzX-mxucyQD-eaPrqYUViIdaEuE-TXvknrmr_Cez3H_yWt3_QyaWS9-rQ5qtXKGW7zCMOq7D62r5rQzvPvZSo6NNFM/s1600-h/panel+de+control+helloHudson.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 195px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDWaXJ1LTws4y1jHVwX9aUu_dOb14X6HTX4p9ZTKPwd-RZG5kppAzX-mxucyQD-eaPrqYUViIdaEuE-TXvknrmr_Cez3H_yWt3_QyaWS9-rQ5qtXKGW7zCMOq7D62r5rQzvPvZSo6NNFM/s320/panel+de+control+helloHudson.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348414123249014210&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Si ahora damos click en nuestro nuevo job (helloHudson) entramos a su panel de administración (por así llamarlo), donde entre otras cosas podemos dar click en el link &quot;build now&quot; con el cual ejecutamos inmediatamente el job (sin esperar los 30 minutos), al hacerlo nos aparecerá una nueva entrada en en el apartado &quot;build history&quot; de la columna izquierda y si damos click en ella entramos al &quot;panel de control&quot; del &quot;build&quot; (por así llamarlos)&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn7ecpD3iyrfjz79wFMiRMehzdquPugLLvm-EcNVSv9ZLMnEVnd63C2fhUGXQOhuxIVvkbvecFFomf2U9A_yBUtSdaNGlDm0WfZSuNnmYHJfna8TcRoFktrTdwTjrfxZgYiUCZQrUSDM0/s1600-h/panel+de+control+de+un+build+en+hudson.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 182px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn7ecpD3iyrfjz79wFMiRMehzdquPugLLvm-EcNVSv9ZLMnEVnd63C2fhUGXQOhuxIVvkbvecFFomf2U9A_yBUtSdaNGlDm0WfZSuNnmYHJfna8TcRoFktrTdwTjrfxZgYiUCZQrUSDM0/s320/panel+de+control+de+un+build+en+hudson.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5348417668280325714&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Lo más importante de este panel es que podemos revisar cual fue la salida de la consola ya que es muy útil si tenemos algún problema con los builds y no sepamos porque.&lt;br /&gt;&lt;br /&gt;Por ejemplo, la salida que obtuvimos con el último build es:&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;&lt;br /&gt;View as plain text &lt;br /&gt;Started by user anonymous&lt;br /&gt;Updating http://localhost/svn/trunk/helloSubversion&lt;br /&gt;At revision 12&lt;br /&gt;no change for http://localhost/svn/trunk/helloSubversion since the previous build&lt;br /&gt;[helloSubversion] $ ant compile javadoc&lt;br /&gt;Buildfile: build.xml&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;....&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt;init:&lt;br /&gt;&lt;br /&gt;-javadoc-build:&lt;br /&gt;  [javadoc] Warning: Leaving out empty argument &#39;-windowtitle&#39;&lt;br /&gt;  [javadoc] Generating Javadoc&lt;br /&gt;  [javadoc] Javadoc execution&lt;br /&gt;  [javadoc] Loading source file /home/alexander/.hudson/jobs/helloHudson/workspace/helloSubversion/src/hellosubversion/Main.java...&lt;br /&gt;  [javadoc] Constructing Javadoc information...&lt;br /&gt;  [javadoc] Standard Doclet version 1.6.0_13&lt;br /&gt;  [javadoc] Building tree for all the packages and classes...&lt;br /&gt;  [javadoc] Building index for all the packages and classes...&lt;br /&gt;  [javadoc] Building index for all classes...&lt;br /&gt;&lt;br /&gt;-javadoc-browse:&lt;br /&gt;&lt;br /&gt;javadoc:&lt;br /&gt;&lt;br /&gt;BUILD SUCCESSFUL&lt;br /&gt;Total time: 3 seconds&lt;br /&gt;Publishing Javadoc&lt;br /&gt;Finished: SUCCESS&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Donde podemos ver que no tuvimos mayor problema.&lt;br /&gt;&lt;br /&gt;Bueno, esto fue todo con respecto a Hudson (por ahora), espero que este post les ayude a instalarlo, los anime a explorar un poco más la herramienta y descubran los beneficios que puede brindarnos.&lt;br /&gt;&lt;br /&gt;Saludos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Fuente:&lt;/span&gt;&lt;br /&gt;Documentación Oficial: &lt;a href=&quot;http://wiki.hudson-ci.org/display/HUDSON/Use+Hudson&quot;&gt;http://wiki.hudson-ci.org/display/HUDSON/Use+Hudson&lt;/a&gt;&lt;br /&gt;Un muy buen manual: &lt;a href=&quot;http://ivanator.wordpress.com/2009/01/12/montando-un-entorno-integracion-continua-hudson-ant-svn-netbeans/&quot;&gt;http://ivanator.wordpress.com/2009/01/12/montando-un-entorno-integracion-continua-hudson-ant-svn-netbeans/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;!-- Debes de pasar el mismo id que escribiste arriba, como parametro de la funcion --&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;instalacion_configuracion_hudson&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/06/instalacion-y-configuracion-de-hudson.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicCO3-ljWVYLF48iAt0VJUhyP2RFg3n5BVmV-5gzznahxhBnd9swbcImnYLq_cVetKda6Utz26TK8Ju8KEuYOMHHxCVjRHAi0Bohu2-XLpq2qWgBBNKdl6czxXeN2f2Hy-M-D4VckVQCA/s72-c/Hudson-140_140px.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-6762138669672484616</guid><pubDate>Tue, 16 Jun 2009 06:24:00 +0000</pubDate><atom:updated>2009-06-19T00:28:00.802-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Integración_Contínua</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Integración de Subversión y Netbeans</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.prodeveloper.org/wp-content/uploads/2008/10/netbeans0.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 243px; height: 218px;&quot; src=&quot;http://www.prodeveloper.org/wp-content/uploads/2008/10/netbeans0.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Continuando con los posts relacionados con el sistema Subversión, en esta ocación veremos como realizar una integración entre este y el IDE Netbeans para desarrollo.&lt;br /&gt;&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;integracion_subversion_netbeans&#39;&gt;&lt;br /&gt;En nuestro caso usaremos la versión 6.5 de Netbeans para Ubuntu, por lo que si no lo tienes instalado puedes &lt;a href=&quot;http://www.netbeans.org/downloads/&quot;&gt;bajarlo de aquí&lt;/a&gt;, si aún no tienes instalado o configurado Subversion, puedes revisar &lt;a href=&quot;http://diagonalasterisco.blogspot.com/2009/06/instalacion-y-configuracion-de.html&quot;&gt;mi post anterior&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ya descargado el archivo .deb, le debemos dar permisos de ejecución por lo que nos vamos a consola y ejecutamos (suponiendo que guardaste el instalador en el escritorio):&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;cd ~/Escritorio&lt;br /&gt;chmod +x ./netbeans-6.5-ml-linux.sh&lt;br /&gt;./netbeans-6.5-ml-linux.sh&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Con lo aparecerá en instalador gráfico de Netbeans por lo que sólo debemos seguir sus instrucciones hasta terminar.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT9AiOCgixUgu-jevInuiTF-4nbTlbMbieeHbVbHMYxwa5CeXLW55hxcuFId_MJwiNxTg1-YDOz5OwSuRAm2XlE1FgHqntwQb0uDO0eOJxEwQKep39sgxLM719Ek_uMRYvg6V5nTq3vpg/s1600-h/mostrando+menu+versioning,+subversion,+checkout,+.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 206px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT9AiOCgixUgu-jevInuiTF-4nbTlbMbieeHbVbHMYxwa5CeXLW55hxcuFId_MJwiNxTg1-YDOz5OwSuRAm2XlE1FgHqntwQb0uDO0eOJxEwQKep39sgxLM719Ek_uMRYvg6V5nTq3vpg/s320/mostrando+menu+versioning,+subversion,+checkout,+.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347825495054999138&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Ahora a lo que concierne en este post, abrimos Netbeans y nos vamos al menú llamado &quot;versioning&quot; donde damos click sobre &quot;subversion&quot; y luego sobre &quot;checkout&quot; (ver imagen) donde nos debería aparecer una forma donde debemos ingresar la url del servidor de subversion así como el nombre y password de algún usuario de subversion.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18nTvuTLY-VVB0Z1tSfF9yb2DFLwt97PtIvi_iaXZ0-ttdS04E_mYFkl5iHWvhQJ_A_Gs3WJerQgN2rvX59n3_JD9pjWtE1pUVuq0cmHjOZ5cYRkFJT6oY_e1DOZ95ebzncgKuyrZZ2w/s1600-h/Indicando+path+al+repositorio+en+netbeans.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 165px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18nTvuTLY-VVB0Z1tSfF9yb2DFLwt97PtIvi_iaXZ0-ttdS04E_mYFkl5iHWvhQJ_A_Gs3WJerQgN2rvX59n3_JD9pjWtE1pUVuq0cmHjOZ5cYRkFJT6oY_e1DOZ95ebzncgKuyrZZ2w/s320/Indicando+path+al+repositorio+en+netbeans.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347827685142987154&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Es importante que en el campo &quot;url&quot; ingresemos la dirección incluyendo la carpeta &quot;trunk&quot; (como en la imagen) para que sea ahí donde almacene el proyecto y los commits que realicemos.&lt;br /&gt;&lt;br /&gt;Si todo sale bien y logra conectarse y validar el usuario, nos mostrará otra ventana donde aparecerá la carpeta trunk en la casilla de repository folder, por lo que lo dejamos así y damos click en el botón finish.&lt;br /&gt;&lt;br /&gt;Si volviera a preguntarnos las credenciales, las ingresamos y damos click en retry, en ese momento, si netbeans logra conectarse, nos dirá que aún no hay un proyecto creado por lo que podemos hacerlo o no (en el caso que ya tengamos uno creado y solo deseemos subirlo al repositorio).&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw7g-C8jtSvzfqY3qXRan7o5adXy4p0uCP3XVyyvVHA66o9sb7-dvES6QUKYWzu9x7bu-45NhAAhe4z85OOTO3CDEroqpPh_Yb1UIzMPH0DlLFqflQn14b9nsOtTffPNbl7HMgV3SrFy8/s1600-h/mostrando+como+subir+proyecto+a+subversion.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 291px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw7g-C8jtSvzfqY3qXRan7o5adXy4p0uCP3XVyyvVHA66o9sb7-dvES6QUKYWzu9x7bu-45NhAAhe4z85OOTO3CDEroqpPh_Yb1UIzMPH0DlLFqflQn14b9nsOtTffPNbl7HMgV3SrFy8/s320/mostrando+como+subir+proyecto+a+subversion.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347838355288810146&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Ahora vamos a ver como podemos subir un proyecto ya existente al servidor de subversion, para eso usaremos un proyecto de prueba llamado &quot;holaSubversion&quot;, el cual después de crearlo damos click derecho sobre su nombre, en la columna derecha (donde se muestra el árbol de archivos), clickeamos en &quot;versioning&quot; y luego en &quot;import into subversion repository&quot; donde, en la siguiente pantalla confirmamos la url del repositorio y los datos del usuario, presionamos next y se nos mostrará una tabla con todos los archivos que subiremos al repositorio (ver imagen) por lo que ahora damos click en finish para que Netbeans empiece la transferencia.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPYnnlzUzqqA7Z4NjUBJj2J6JqUCibDHDmLBi8wL3d-P6-WvQs0R7FC5VM3OgoMKiJdRSND1k3HtHk_P5ZwHAdY46VLLLztTHRyODXKbEZkDMwL2IFKA4UljFu8BJX1xNc-2VT-OL2X44/s1600-h/Mostrando+archivos+a+subir+del+proyeco+helloSubversion.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 197px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPYnnlzUzqqA7Z4NjUBJj2J6JqUCibDHDmLBi8wL3d-P6-WvQs0R7FC5VM3OgoMKiJdRSND1k3HtHk_P5ZwHAdY46VLLLztTHRyODXKbEZkDMwL2IFKA4UljFu8BJX1xNc-2VT-OL2X44/s320/Mostrando+archivos+a+subir+del+proyeco+helloSubversion.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347840785871164834&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Si ahora revisamos nuestro repositorio mediante el navegador web (http://localhost/svn) veremos que en la carpeta trunk esta ahora alojado nuestro nuevo proyecto.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAeSOQOoYF7_hvX-9kNGVGRhLgxOwnx5_Ga4TLv-46ydX9w5M-ygjpN6gGrAFb5no9_SX1UC3MRTWc8lOLIlWUlgfWL0Gv2slO6nzIv7UQprUpgjY3Nv5XYWIT4E07IZYCGdG_0n1K9Vk/s1600-h/mostrando+proyecto+helloSubversion+recien+subido.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 186px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAeSOQOoYF7_hvX-9kNGVGRhLgxOwnx5_Ga4TLv-46ydX9w5M-ygjpN6gGrAFb5no9_SX1UC3MRTWc8lOLIlWUlgfWL0Gv2slO6nzIv7UQprUpgjY3Nv5XYWIT4E07IZYCGdG_0n1K9Vk/s320/mostrando+proyecto+helloSubversion+recien+subido.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347843299866800994&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Cómo hacer un commit?&lt;/span&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuxJcF0WDj8D4MM782WebJEITvvjHtjUDMc0n2cLil4kMHmD-CNR7NAeaUBQPn6YVVB2AcfJPhOXPc20e1VFK4Vzyn70cpZtot22FCqNwQbJc_wki7TweyLWrJMs2NN5TAZNR9XVtqfD8/s1600-h/mostrando+como+hacer+un+commit.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 227px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuxJcF0WDj8D4MM782WebJEITvvjHtjUDMc0n2cLil4kMHmD-CNR7NAeaUBQPn6YVVB2AcfJPhOXPc20e1VFK4Vzyn70cpZtot22FCqNwQbJc_wki7TweyLWrJMs2NN5TAZNR9XVtqfD8/s320/mostrando+como+hacer+un+commit.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347846128774839266&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Supongamos que hemos trabajado cierto tiempo sobre una parte del proyecto y deseamos realizar un commit de los archivos modificados,por lo que debemos guardar el proyecto y luego dando click derecho sobre el icono del proyecto en la columna izquierda y seleccionando &quot;Subversion&quot; y luego la opción commit (ver imagen derecha).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm6ZeVUy1AZ5lE3K985SAYNrpW6Q8EPvaf4ld0pmNVTsss7g1g5JmK6KG3nsvNw1UtAk9omNg0rR51mh8Y7WHdGwB4DMw2R8Of7J04YaB7sdYk9pVEiqN7XO6Ddcsc6EM9AYBBUYsyecw/s1600-h/mostrando+cambios+del+primer+commit.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 233px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm6ZeVUy1AZ5lE3K985SAYNrpW6Q8EPvaf4ld0pmNVTsss7g1g5JmK6KG3nsvNw1UtAk9omNg0rR51mh8Y7WHdGwB4DMw2R8Of7J04YaB7sdYk9pVEiqN7XO6Ddcsc6EM9AYBBUYsyecw/s320/mostrando+cambios+del+primer+commit.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347847710491175730&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Ahora nos aparecerá una pantalla donde nos indicará cuales han sido los cambios que se han hecho sobre el proyecto y que archivos se han modificado, por lo que damos click en &quot;commit&quot; y netbeans actualizará automáticamente en el repositorio los archivos modificados.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQIEH2xsjxB56cfq-9732Pqu3UVDJZTa0Ejw_ItBXL-hMYmu82542913VixcuRBon3IcRs8STJYY56jryQJy9EwPL5GZSjBKfu2Nwv__CgYaRmR7o8OQPPjgrT189qdP6lPO2YH6_WNOw/s1600-h/revert+1.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 243px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQIEH2xsjxB56cfq-9732Pqu3UVDJZTa0Ejw_ItBXL-hMYmu82542913VixcuRBon3IcRs8STJYY56jryQJy9EwPL5GZSjBKfu2Nwv__CgYaRmR7o8OQPPjgrT189qdP6lPO2YH6_WNOw/s320/revert+1.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347850991509009042&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Supongamos que tiempo después de trabajar nos damos cuenta que hay un error en el proyecto y que necesitamos regresar a una etapa anterior, esto lo podemos hacer simplemente dando click sobre el ícono del proyecto, luego en subversion y luego en &quot;revert modifications&quot;, donde nos aparecerá una ventana solicitando le indiquemos a que revisión debemos retornar (ver imagen), para este ejemplo seleccionamos &quot;Revert Modifications from Single Commit&quot; y luego presionamos el botón search por lo que aparece una nueva ventana donde si presionamos el botón &quot;list&quot; aparece un listado de todas los commits que se han realizado en la fecha indicada.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh39RGdTZYBFq6KhBWp1Ql-23m7Zt7fU41HOrUPmiW63N3_SBcq-5Un-1B-dm63Sst3YkPKfopQSkCRKlPKZREmmIuPUA5L6Wncs5tmF19X0-yb5tl7ANt1Xfh1Emtnaz8T9rklvzAf4sM/s1600-h/revert+2.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 198px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh39RGdTZYBFq6KhBWp1Ql-23m7Zt7fU41HOrUPmiW63N3_SBcq-5Un-1B-dm63Sst3YkPKfopQSkCRKlPKZREmmIuPUA5L6Wncs5tmF19X0-yb5tl7ANt1Xfh1Emtnaz8T9rklvzAf4sM/s320/revert+2.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347852770625451682&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Aquì seleccionamos la versión anterior y damos click en ok y luego en el botón &quot;revert&quot;. Si ahora observamos nuestro proyecto veremos que se ha retrocedido en el tiempo hasta la versión que solicitamos, por lo que ahora podremos hacer las modificaciones que queramos.&lt;br /&gt;&lt;br /&gt;Bueno, eso es todo por ahora, espero que este post les ayude a comenzar a explorar las diversas propiedades de usar subversion junto a un IDE como Netbeans.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Fuentes:&lt;/span&gt;&lt;br /&gt;Instalación de Netbeans en Ubuntuhttp://www.guia-ubuntu.org/index.php?title=NetBeans&lt;br /&gt;http://wiki.netbeans.org/SpanishTranslationSVN6.5Ubuntu&lt;br /&gt;http://wiki.netbeans.org/SpanishTranslationSVN6.5&lt;br /&gt;&lt;/span&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;integracion_subversion_netbeans&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/06/integracion-de-subversion-y-netbeans.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT9AiOCgixUgu-jevInuiTF-4nbTlbMbieeHbVbHMYxwa5CeXLW55hxcuFId_MJwiNxTg1-YDOz5OwSuRAm2XlE1FgHqntwQb0uDO0eOJxEwQKep39sgxLM719Ek_uMRYvg6V5nTq3vpg/s72-c/mostrando+menu+versioning,+subversion,+checkout,+.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-171541270739543594</guid><pubDate>Mon, 15 Jun 2009 06:38:00 +0000</pubDate><atom:updated>2009-06-19T00:28:00.802-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Integración_Contínua</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Instalación y Configuracíon de Subversion</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://dotnet.org.za/blogs/diago/WindowsLiveWriter/acd6277570ae_13B2A/subversion_logo_1.gif&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 102px; height: 88px;&quot; src=&quot;http://dotnet.org.za/blogs/diago/WindowsLiveWriter/acd6277570ae_13B2A/subversion_logo_1.gif&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;Subversion (SVN) es uno de los sistema para manejo y control de versiones  más usado hoy en día, llegando a reemplazar a sistemas anteriores como CVS. &lt;br /&gt;&lt;br /&gt;Algunas de las ventajas que nos da trabajar un proyecto junto a un sistema de control de versiones es que este centraliza mediante un repositorio todos los documentos, archivos fuentes, librerías y demás por lo que evitamos duplicados y redundancia de códigos; otra ventaja es que nos ayuda a mantener la información de la evolución del sistema (su historia) y no sólo de los componentes individuales. Intenta mantener todo esto en un proyecto grupal sin usar un controlador de versiones y verás el verdadero infierno en que se puede convertir.&lt;br /&gt;&lt;br /&gt;Es por eso que algunos ejemplos de proyectos en los cuales se usa actualmente SVN son Apache, KDE, GCC, por mencionar algunos. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;En este manual vamos a instalar Subversión sobre Apache en un Ubuntu 9.04, sin embargo, los comandos son los mismos para cualquier otra versión de Linux. &lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;instalacion_configuracion_subversion&#39;&gt; &lt;br /&gt;Bueno, empecemos con la instalación, lo primero que debemos tener instalado es Apache, por lo que aquí dejo unas instrucciones sencillas para hacerlo, si tu ya tienes instalado Apache, puedes saltarte a los siguientes pasos. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Instalación de Apache:&lt;/span&gt; &lt;br /&gt;Lo primero que debemos hacer es instalar Apache y Subversion junto con el módulo de integración de ambos, esto lo conseguimos con el comando: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo apt-get install apache2 subversion lipapache2-svn&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Esto instalará Apache junto a todas sus dependencias por lo que lo siguiente es modificar el archivo httpd: &lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo nano /etc/apache2/httpd.conf &lt;/div&gt; &lt;br /&gt;y agregamos las siguientes líneas: &lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;ServerName localhost &lt;br /&gt;User usuario &lt;br /&gt;Group usuario&lt;/div&gt; &lt;br /&gt;Donde debes reemplazar usuario por tu nombre de usuario (con el que te logueas en Ubuntu). Guardamos y reiniciamos apache: &lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo /etc/init.d/apache2 restart&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlvHw3Bp-XoOHVI7z1Qm507qpty-ZTo7BbahWUAl9ogYbqvslESN_DCyqFpmQGDglXZQg9bomKu2N2Z35qRCAJmhoyJS2OpIxBuB_VCArGGeLtpIYwpja_hvcV5QoGyIy-HosTUve0tKI/s1600-h/apache+-+it+works.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 146px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlvHw3Bp-XoOHVI7z1Qm507qpty-ZTo7BbahWUAl9ogYbqvslESN_DCyqFpmQGDglXZQg9bomKu2N2Z35qRCAJmhoyJS2OpIxBuB_VCArGGeLtpIYwpja_hvcV5QoGyIy-HosTUve0tKI/s320/apache+-+it+works.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347615866356643586&quot; /&gt;&lt;/a&gt; &lt;br /&gt;Por lo que nos deberá aparecer un mensaje indicándonos que se ha levantado correctamente el servicio, por lo que ahora podemos probar a escribir &quot;http://localhost&quot; en el navegador, si todo esta correcto deberíamos obtener una página con el texto &quot;It, Works!&quot;, si es asì, ya tenemos instalado Apache (la carpeta donde estan los documentos web es /var/www/ por si deseas cambiar ese index) &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Instalación de Subversion:&lt;/span&gt; &lt;br /&gt;Si te saltaste la sección anterior porque ya tienes instalado Apache, solamente deberás instalar los siguientes paquetes: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo apt-get install subversion libapache2-svn&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Esto instalará subversion junto con el módulo de integración para apache, por lo que ahora debemos de hacer las configuraciones para permitir que se modifiquen los archivos del repositorio desde web, mediante apache, esto lo conseguimos a través del protocolo WEB/DAV ((Web-based Distributed Authoring and Versioning)), el cual es una extensión del HTTP. &lt;br /&gt;&lt;br /&gt;WEBDAV esta diseñado para permitir a grupos o individuos el editar y manejar archivos almacenados en un servidor web. El protocolo permite la creacion de “web-shares” que pueden usarce para almacenar archivos, proyectos colaborativos, editar sitios web, entre otras cosas. WebDAV soporta propiedades tales como editar, copiar, y mover archivos, poner candados, listas de recursos, y modificacion de propiedades. &lt;br /&gt;&lt;br /&gt;Para más información sobre WEBDAV en Apache, podemos consultar &lt;a href=&quot;http://www.digital-arcanist.com/sanctum/article.php?story=20070427101250622&quot;&gt;el siguiente enlace&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE536jocOVkWP6LwESpc8O5OM7O2PHpiEY31Key-eqizggzPEPqfUWx_FESEorepYPsewL_9SyTQNpElfh5YUQU5cjeGCRIwOHDA6IUs-LD4Kr9zlE36HthVM2xpwg5cJts5aI12kehrA/s1600-h/a2enmod+dav_svn.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 246px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE536jocOVkWP6LwESpc8O5OM7O2PHpiEY31Key-eqizggzPEPqfUWx_FESEorepYPsewL_9SyTQNpElfh5YUQU5cjeGCRIwOHDA6IUs-LD4Kr9zlE36HthVM2xpwg5cJts5aI12kehrA/s320/a2enmod+dav_svn.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347631696530651330&quot; /&gt;&lt;/a&gt; &lt;br /&gt;El módulo de subversion utiliza WEBDAV por lo que es de esperar que la instalación habilite los modulos, pero para confirmar debemos ingresar el siguiente comando: &lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo a2enmod dav_svn&lt;/div&gt;, lo cual nos mostrará un resultado similar a la imagen. &lt;br /&gt;&lt;br /&gt;Ahora lo que deberemos hacer es crear una carpeta para el repositorio, esta puedes ponerla donde quieras y con el nombre que quieras, en mi caso será &quot;~/repositorio&quot; &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;mkdir ~/repositorio&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Ejecutamos el siguiente comando para que subversion cree un nuevo repositorio en la carpeta indicada, usando la herramienta svnadmin: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo svnadmin create ~/repositorio&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Ahora hay q configurar Apache para que reconozca el repositorio. Esto lo hacemos editando el archivo: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo nano /etc/apache2/mods-enabled/dav_svn.conf&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Buscamos la línea #&amp;lt;location /svn&amp;gt; y la descomentamos (quitamos el simbolo de #) ahora habilitamos el repositorio descomentando la linea #DAV svn, descomentamos la linea #SVNPath y escribimos la direccion de la carpeta de repositorio (en mi caso, ~/repositorio). Para el control de acceso, haremos la configuracion del modo basico, pero sería bueno que leyeras las instrucciones que estan comentadas para los otros dos modos en caso que creas que sea necesario un control mas fino para tu proyecto. Descomentamos las siguientes lineas #AuthType Basic, #AuthName &quot;Subversion Repository&quot;, #AuthUserFile /etc/apache2/dav_svn.passwd,  #Require valid-user, #&amp;lt;/Location&amp;gt; por lo que al final nuestro archivo quedará algo así: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;&amp;lt;Location /svn&amp;gt; &lt;br /&gt;   DAV svn &lt;br /&gt;  SVNPath /home/svn &lt;br /&gt;  AuthType Basic &lt;br /&gt;  AuthName &quot;Subversion Repository&quot; &lt;br /&gt;  AuthUserFile /etc/apache2/dav_svn.passwd &lt;br /&gt;   Require valid-user &lt;br /&gt; &amp;lt;/Location&amp;gt; &lt;br /&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Guardamos y salimos. &lt;br /&gt;&lt;br /&gt;Ahora debemos crear los usuarios para trabajar con Subversion, esto podemos hacerlo de dos formas, creamos usuarios individualmente mediante el comando: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo htpasswd -cm /etc/apache2/dav_svn.passwd usuario&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Donde usuario es cualquier nombre que desees, luego ingresas tu password y luego el password del nuevo usuario. &lt;br /&gt;&lt;br /&gt;Otra forma es creando un grupo de usuarios con todos los permisos y restricciones, y luego agregando cuantos usuarios comunes como se requieran: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;groupadd repositorio&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;ahora creamos todos los usuarios que necesitemos y los agregamos al grupo: &lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;useradd usuario1 -m -G repositorio &lt;br /&gt;passwd usuario1 &lt;br /&gt;useradd usuario2 -m -G repositorio &lt;br /&gt;passwd usuario2 &lt;br /&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Ahora le damos permisos al grupo sobre el repositorio: &lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;chown -R root:repositorio ~/repositorio &lt;br /&gt;chmod 770 ~/repositorio &lt;br /&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Para que los usuarios al crear revisiones, las creen con determinados permisos de manera que todos los usuarios puedan acceder, debemos asignarles el umask y asì evitamos errores de permiso denegado, como este: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;No se pudo abrir el archivo &#39;/svn/db/current&#39;: Permiso denegado&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Asignamos el umask para cada usuario que creemos, editamos el archivo .profile de su home, por ejemplo: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo nano /home/usuario1/.profile&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;y buscamos la línea &quot;#umask 022&quot; y la cambiamos por &quot;umask 770&quot; &lt;br /&gt;&lt;br /&gt;Ya casi terminamos, ahora sólo debemos importar la estructura de carpetas: &lt;span style=&quot;font-style:italic;&quot;&gt;trunk, branches, y tags&lt;/span&gt; a nuestro repositorio. A continuación una descripción del porque de esta estructura: &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;trunk:&lt;/span&gt; contiene el tronco principal del proyecto donde se va creando los directorios/ficheros y se van modificando. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;branches:&lt;/span&gt; es donde se guardan copias del tronco principal  en estas para poder hacer cambios experimentales y pruebas sin tener que modificar el trunk. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;tags:&lt;/span&gt;Acá se guardan versiones del proyecto, que ya están terminadas y sobre las cuales no se harán más cambios. (son versiones históricas) &lt;br /&gt;&lt;br /&gt;Para crear esta estructura en el repositorio, creamos una carpeta temporal cualquiera (por ejemplo, ~/tmpRepositorio) &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;mkdir ~/tmpRepositorio &lt;br /&gt;cd ~/tmpRepositorio &lt;br /&gt;mkdir trunk branches tags &lt;br /&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Ahora importamos esta estructura al subversion mediante el comando: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo svn import . file:///home/mi_usuario/repositorio -m &quot;Se ha importado la estructura del directorio&quot; &lt;br /&gt;&lt;/div&gt; &lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDxEVLZPVhTv-2xC-Bi6inBrhYbRVwNUQKKWIWMAaJVFaUA7bGJLCYkr22MCyn0ewru1kxE738zvzZrrbaizYTr_369pZXXd_3BgdoBxdw1PkiZRrCx_hbAb3NMWjhrbNt94XFkVAzU4Y/s1600-h/importando+estructura+al+servidor.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 209px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDxEVLZPVhTv-2xC-Bi6inBrhYbRVwNUQKKWIWMAaJVFaUA7bGJLCYkr22MCyn0ewru1kxE738zvzZrrbaizYTr_369pZXXd_3BgdoBxdw1PkiZRrCx_hbAb3NMWjhrbNt94XFkVAzU4Y/s320/importando+estructura+al+servidor.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347788182105018066&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Donde en file:// debes poner la dirección local de la carpeta que usarás para repositorio. &lt;br /&gt;El parámetro despues de -m es para enviarle un mensaje a subversion indicando la razón de la operación. &lt;br /&gt;&lt;br /&gt;Por último debemos cambiar los permisos del repositorio para que se puedan realizar los commits (actualizaciones): &lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt; &lt;br /&gt;sudo chmod -R 770 /home/alexander/repositorio &lt;br /&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Listo, ya tenemos instalado y configurado Subversion, por lo que ahora deberemos reiniciar el servidor Apache: &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codigo&quot;&gt;sudo /etc/init.d/apache2 restart&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBEZrmWcz-GbWiMRga5bzYfjiwYLZP_qZG7XECagt1eGg-m5gYUaYSqtL-cPUAIXXInlAgEshyphenhyphenUKtEFRDbqwQVJ_kYagy_QLpGRscgg4CBkbEe2N5lns3sexPplqPtFtYMDPOAYcgCt58/s1600-h/Estructura+subida+a+subversion.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 259px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBEZrmWcz-GbWiMRga5bzYfjiwYLZP_qZG7XECagt1eGg-m5gYUaYSqtL-cPUAIXXInlAgEshyphenhyphenUKtEFRDbqwQVJ_kYagy_QLpGRscgg4CBkbEe2N5lns3sexPplqPtFtYMDPOAYcgCt58/s320/Estructura+subida+a+subversion.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5347786555596987970&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Y escribimos en nuestro navegador: &quot;http://localhost/svn&quot; donde nos pedirá que nos autentiquemos, escribimos el usuario y contraseñas que creamos para Subversion y listo, nos deberá mostrar la siguiente estructura de carpetas: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Fuentes:&lt;/span&gt; &lt;br /&gt;Instalaciòn de Apache: &lt;a href=&quot;http://ubuntu-ar.org/node/206&quot;&gt;http://ubuntu-ar.org/node/206&lt;/a&gt; &lt;br /&gt;Wiki sobre Subversion: &lt;a href=&quot;http://en.wikipedia.org/wiki/Subversion_(software)&quot;&gt;http://en.wikipedia.org/wiki/Subversion_(software)&lt;/a&gt; &lt;br /&gt;Conf. de WEBDAV junto a Apache: &lt;a href=&quot;http://www.digital-arcanist.com/sanctum/article.php?story=20070427101250622&quot;&gt;http://www.digital-arcanist.com/sanctum/article.php?story=20070427101250622&lt;/a&gt; &lt;br /&gt;Instalación y conf. de Subversion: &lt;a href=&quot;http://sherekan.com.ar/2008/03/25/instalacion-configuracion-y-uso-de-subversion-en-linux/&quot;&gt;http://sherekan.com.ar/2008/03/25/instalacion-configuracion-y-uso-de-subversion-en-linux/&lt;/a&gt; &lt;br /&gt;&lt;/span&gt; &lt;span class=&#39;Link&#39;&gt; &lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;instalacion_configuracion_subversion&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt; &lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/06/instalacion-y-configuracion-de.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlvHw3Bp-XoOHVI7z1Qm507qpty-ZTo7BbahWUAl9ogYbqvslESN_DCyqFpmQGDglXZQg9bomKu2N2Z35qRCAJmhoyJS2OpIxBuB_VCArGGeLtpIYwpja_hvcV5QoGyIy-HosTUve0tKI/s72-c/apache+-+it+works.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-7371931852190736851</guid><pubDate>Tue, 09 Jun 2009 20:04:00 +0000</pubDate><atom:updated>2009-06-09T14:31:26.162-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Ya disponible Fedora 11</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://fedoraproject.org/static/images/f11launch.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand; width: 95%; height: 95%;&quot; src=&quot;http://fedoraproject.org/static/images/f11launch.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Fedora 11: Gobierna&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ese es el slogan para la nueva versión de Fedora, disponible a partir de hoy en su &lt;a href=&quot;http://fedoraproject.org/&quot;&gt;sitio oficial&lt;/a&gt; donde podrán encontrar la &lt;a href=&quot;http://docs.fedoraproject.org/release-notes/f11/es-ES/&quot;&gt;documentación de la versión&lt;/a&gt; en buen español.&lt;br /&gt;&lt;br /&gt;Entre algunas de las características más importantes que trae Fedora 11 (y que están más detalladas en la documentación oficial de la versión) son:&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;lanzamiento_fedora_11&#39;&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Presto: &lt;/span&gt; Normalmente cuando actualiza un paquete en Fedora, descarga un paquete reemplazo entero. La mayor parte del tiempo (especialmente para paquetes más grandes), la mayoría de los datos actuales en el paquete actualizado es el mismo que el del paquete original, pero todavía puede terminar descargando el paquete completo. Presto le permite descargar la diferencia (llamada delta) entre el paquete que tiene instalado y el que quiere actualizar. Esto puede reducir el tamaño de descarga de las actualizaciones en un 60% – 80%. No está habilitado por defecto en este lanzamiento. Para usar esta característica debe instalar el complemento yum-presto con yum install yum-presto.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://fedoraproject.org/static/images/banners/f11release.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 100px;&quot; src=&quot;http://fedoraproject.org/static/images/banners/f11release.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Instalación automática de fuente y tipos mime: &lt;/span&gt;PackageKit permite instalar automáticamente fuentes donde se necesiten para ver y editar documentos.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Control de Volumen:&lt;/span&gt; PulseAudio unifica los controles de volumen en una interfase que mejora la configuración de sonido, haciendo mucho más fácil su control.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Modesetting del kernel (KMS) en Intel, ATI y Nvidia:&lt;/span&gt; Lo que permite agilizar el arranque gráfico Ahora se incluyen muchas más placas de video, incluídas Intel y Nvidia, así como también otras ATI.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Huella digital:&lt;/span&gt; Se ha hecho un mejor trabajo para soportar esta funcionalidad directamente desde el sistema.&lt;br /&gt;&lt;br /&gt;Además entre las nuevas características se mencionan:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpNBVeWfLZWzvu-JYzdlwUlOclR9CtfZTTIs74p1dsX8ZZuIeRDh9MESTmRxUziOUnOwTncw2vZpzierVVMzOnmtX7d8wRpEPA7Zmg6fdHwtNNbutTUMHMO82zNtiwv10eGhFrzF_Tph8/s1600-h/fedora-logo2.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 25%; height: 25%;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpNBVeWfLZWzvu-JYzdlwUlOclR9CtfZTTIs74p1dsX8ZZuIeRDh9MESTmRxUziOUnOwTncw2vZpzierVVMzOnmtX7d8wRpEPA7Zmg6fdHwtNNbutTUMHMO82zNtiwv10eGhFrzF_Tph8/s320/fedora-logo2.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5345442379637499698&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Sistema de archivo Ext4: &lt;/span&gt;reemplazando a ext3 dado a su diseño mejorado, una mejor performance y confiabilidad, soporte para un almacenamiento más grande y chequeos de sistema de archivo y borrado de archivos mucho más rápido.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;MinGW (compilador cruzado de Windows):&lt;/span&gt; MinGW, un entorno de desarrollo para compilar en forma cruzada programas para que se ejecuten en Windows sin tener que usar Windows, eliminando el trabajo duplicado a los desarrolladores, proveyéndoles de un rango de bibliotecas y de herramientas de desarrollo que ya fueron portados al entorno del compilador cruzado. Los desarrolladores no tendrán que recompilar toda la pila de aplicaciones por si mismos, sino que solamente tendrán que concentrarse en los cambios necesarios por su aplicación.&lt;br /&gt;&lt;br /&gt;A continuación copypasteo los requerimientos mínimos en arquitecturas X86 y X86_64&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Requerimientos de Memoria y procesador en arquitecturas x86&lt;/span&gt;&lt;br /&gt;Las siguientes especificaciones de CPU se pusieron en términos de procesadores Intel. Los demás procesadores, tales como los de AMD, Cyrix y VIA, que son compatibles y equivalentes a los procesadores de Intel, también se pueden usar con Fedora. Fedora 11 requiere un Intel Pentium o mejor, y está optimizado para procesadores Pentium 4 y posteriores. &lt;br /&gt;&lt;br /&gt;Para modo texto se recomienda: Pentium 200 MHz o mejor &lt;br /&gt;Para gráficos: 400 MHz Pentium II o mejor &lt;br /&gt;RAM mínimo para modo texto: 128 MB &lt;br /&gt;Mínimo de RAM para gráficos: 192 MB &lt;br /&gt;RAM recomendado para gráficos: 256 MB &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Requerimientos de Memoria y Procesador en arquitecturas x86_64&lt;/span&gt;&lt;br /&gt;RAM mínimo para modo texto: 256 MB &lt;br /&gt;Mínimo de RAM para gráficos: 384 MB &lt;br /&gt;RAM recomendado para gráficos: 512 MB&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bueno, esa es toda la información relevante que quería compartirles, yo me pondré a descargar el iso y probablemente lo pruebe durante algunas semanas, saludos.&lt;br /&gt;&lt;/span&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;lanzamiento_fedora_11&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/06/ya-disponible-fedora-11.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpNBVeWfLZWzvu-JYzdlwUlOclR9CtfZTTIs74p1dsX8ZZuIeRDh9MESTmRxUziOUnOwTncw2vZpzierVVMzOnmtX7d8wRpEPA7Zmg6fdHwtNNbutTUMHMO82zNtiwv10eGhFrzF_Tph8/s72-c/fedora-logo2.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-7495152278652280562</guid><pubDate>Sat, 06 Jun 2009 23:40:00 +0000</pubDate><atom:updated>2009-06-06T19:28:45.868-07:00</atom:updated><title>Sixthsense: una tecnología que extiende nuestra realidad con información.</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://newsimg.bbc.co.uk/media/images/45662000/jpg/_45662677_01.jpg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 226px; height: 170px;&quot; src=&quot;http://newsimg.bbc.co.uk/media/images/45662000/jpg/_45662677_01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;De vez en cuando es posible toparnos con cosas que son tan innovadoras que parecen sacadas de un película de ciencia ficción. &lt;br /&gt;&lt;br /&gt;Imagina poder chequear tu correo en una pared, ver videos en el periódico que lees en el parque o tomar una fotografía con sólo crear un marco con tus dedos, usar tu mano para ver información de donde te encuentras y aún más.&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;Sixthsense_post&#39;&gt;&lt;br /&gt;&lt;br /&gt;Pues esto es lo que algunos investigadores del MIT han propuesto con su proyecto de realidad aumentada llamado SixthSense y actualmente a cargo de la doctora Pattie Maes.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://newsimg.bbc.co.uk/media/images/45662000/jpg/_45662679_wuw02.jpg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 220px; height: 300px;&quot; src=&quot;http://newsimg.bbc.co.uk/media/images/45662000/jpg/_45662679_wuw02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;El prototipo de SixthSense consiste de una combinación de una pequeña cámara y un proyector acompañados de un smartphone para correr el software de la aplicación y mantenerla conectada a  internet, por lo que el costo de construcción de una unidad anda alrededor de los $350. &lt;br /&gt;&lt;br /&gt;Citando las palabras de la Dra. Maes: &quot;La idea es que SixthSense trate de determinar no sólo con que estás interactuando sino que también como estas haciendolo.&lt;br /&gt;&lt;br /&gt;El sistema está constantemente tratando de comprender que hay alrededor tuyo y que es lo que estás tratando de hacer por lo que tiene que reconocer las imágenes que miras y los gestos que haces para relacionarlos entre sí, buscar información relevante en internet y luego presentarla mediante el proyector.&quot;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://newsimg.bbc.co.uk/media/images/45662000/jpg/_45662678_wuwapp01.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 226px; height: 170px;&quot; src=&quot;http://newsimg.bbc.co.uk/media/images/45662000/jpg/_45662678_wuwapp01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;A mi punto de ver, si el grupo logra capturar el interés de alguna(s) empresa(s) de telefonía móvil, no será nada raro que algún día veamos esta tecnología implementada en nuestros teléfonos celulares.&lt;br /&gt;&lt;br /&gt;Acá les dejo un video donde demuestran el funcionamiento del sistema:&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/ZfV4R4x2SK0&amp;hl=es&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/ZfV4R4x2SK0&amp;hl=es&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Otro video, explicado por la Dra. Maess:&lt;br /&gt;&lt;br /&gt;&lt;object width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/blBohrmyo-I&amp;hl=es&amp;fs=1&amp;&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/blBohrmyo-I&amp;hl=es&amp;fs=1&amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Así que a irnos olvidando de las pantallitas táctiles que lo que depara el futuro es mucho más interesante... :)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Fuentes:&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://news.bbc.co.uk/2/hi/technology/7997961.stm&quot;&gt;http://news.bbc.co.uk/2/hi/technology/7997961.stm&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://news.bbc.co.uk/2/hi/technology/7997983.stm&quot;&gt;http://news.bbc.co.uk/2/hi/technology/7997983.stm&lt;/a&gt;&lt;br /&gt;Sitio Oficial: &lt;a href=&quot;http://www.pranavmistry.com/projects/sixthsense/&quot;&gt;http://www.pranavmistry.com/projects/sixthsense/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;Sixthsense_post&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/04/sixthsense-una-tecnologia-que-acerca-la.html</link><author>noreply@blogger.com (AlxBL)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-3993540963103298333</guid><pubDate>Wed, 27 May 2009 08:51:00 +0000</pubDate><atom:updated>2009-05-27T02:09:41.167-07:00</atom:updated><title>Publicada encuesta sobre el link expandir/contraer del blog</title><description>Hola a todos, he agregado una encuesta en la parte superior de esta columna para saber que tan útil consideran ustedes, mis amigos lectores, la función del link expandir/contraer un post, además si tienen algún tipo de sugerencia que deseen dar al respecto para mejorar su funcionalidad o de cualquier otra parte del blog, estan invitados a dejar un comentario o contactarme en la sección de contacto. Saludos, yo me voy a dormir por hoy.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Actualización:&lt;/span&gt; Se ha acabado el semestre y seguimos con exámenes finales y entregas de proyectos (que no es cosa rara en la escuela de sistemas) aunque por lo menos ya me he quitado (si, yo mismo, je) el yeso de la pierna (creo que todavía me faltaba tiempo)</description><link>http://diagonalasterisco.blogspot.com/2009/05/publicada-encuesta-sobre-el-link.html</link><author>noreply@blogger.com (AlxBL)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-791182633754440983</guid><pubDate>Sat, 16 May 2009 01:25:00 +0000</pubDate><atom:updated>2009-05-15T19:33:36.987-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Guatemala</category><title>Qué ha pasado últimamente conmigo y mi Guatemala?</title><description>Primero quiero comentarles que por un accidente jugando futbol terminé con un esguinse de tobillo y con la pierna toda enyesada por lo menos por un mes :( (ni modo, a apretarla) sin embargo el que ha tenido la peor parte ha sido mi hermano que ha tenido que ayudarme y llevarme a todos lados, jejeje, lo siento por él.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibKmV2Rfw8VMa5pFo0MvamqjN5Otdxtb_T9SKJU6ATHfxNZ9Wd_O5byUO2baMBHpTtzCmJktnCwmWmJXvKFas_D0XqET8IsQWhNIzcVlQldC19Sj23QETxEZQ06Xq4MJ3DfVyUWFv7j90/s1600-h/bandera-de-guatemala1.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 171px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibKmV2Rfw8VMa5pFo0MvamqjN5Otdxtb_T9SKJU6ATHfxNZ9Wd_O5byUO2baMBHpTtzCmJktnCwmWmJXvKFas_D0XqET8IsQWhNIzcVlQldC19Sj23QETxEZQ06Xq4MJ3DfVyUWFv7j90/s320/bandera-de-guatemala1.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5336234982305004754&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Segundo, a pesar que he intentado no meter el blog en mis opiniones sobre la situación del país, realmente no podemos hacernos de la vista gorda con lo que últimamente ha ocurrido en Guatemala o simplemente quedarnos de brazos cruzados con todo lo sucedido con el caso Rosenberg, Khalil y Marjorie Musa(para los que no lo sepan, &lt;a href=&quot;http://www.elperiodico.com.gt/es/20090511/pais/100336/&quot; target=&quot;_blank&quot;&gt;pueden revisar este link&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Debo confesar que al inicio le daba el beneficio de la duda al presidente dado que no se conocía en que situación se habia grabado el video (todo cabe en lo posible)y que la mayoría de comentarios se hacían más por la ira e indignación que basados en hechos reales y con evidencia en mano, sin embargo debido a todos los acontecimientos que han ocurrido últimamente, como el caso de &lt;a href=&quot;http://jeanfer.blogs.com.gt/&quot; target=&quot;_blank&quot;&gt;jeanfer en Twitter&lt;/a&gt; o la gente pobre obligada a marchar a favor del presidente a cambio de mantener la bolsa de ayuda solidaria me ha hecho reconsiderar mi posición. &lt;br /&gt;&lt;br /&gt;Nosotros los guatemaltecos lo primero que debemos hacer es exigir a las autoridades a cargo de investigar los casos del abogado Rosenberg y el señor Musa y su hija así como las demás cuestiones que presenta el abogado en sus videos que se agilize la investigación y que se dé prontamente con los responsables y que se dicte una sentencia justa sobre los culpables de tener a Guatemala en tal sosobra.&lt;br /&gt;&lt;br /&gt;Los guatemaltecos que tenemos la suerte de poder difundir nuestras ideas, comentarios y demás cuestiones a través de internet debemos también aprovechar el medio para difundir todo lo que ha esta aconteciendo para que las noticias lleguen a todo el mundo y así se ejerza presión internacional sobre los encargados del caso.&lt;br /&gt;&lt;br /&gt;Aquí adelante les dejo el poema &quot;Como Me Dueles Guatemala&quot;, escrito por Gonzalo Asturias y que para mí, ultimamente ha tomado mucha coherencia...&lt;br /&gt;&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;poemaComoMeDuelesGuatemala&#39;&gt;&lt;br /&gt;&lt;blockquote&gt;Ay, como dueles, Guatemala:&lt;br /&gt;&lt;br /&gt;tu miseria, tu hambre, tus andrajos,&lt;br /&gt;tus muchachos ignorantes, &lt;br /&gt;tus campesinos y obreros mal alimentados, &lt;br /&gt;tus hijos víctimas de la violencia &lt;br /&gt;degenerada de tus hombres.&lt;br /&gt;Ah, cómo me dueles Guatemala: &lt;br /&gt;tanto egoísmo, tanta pereza, &lt;br /&gt;tanta irresponsabilidad, &lt;br /&gt;tanta brutalidad que encierras. &lt;br /&gt;&lt;br /&gt;Pero te canto, mi Guatemala: &lt;br /&gt;yo le canto a tus hijos laboriosos, &lt;br /&gt;a tus hombres y mujeres &lt;br /&gt;trabajadores y responsables &lt;br /&gt;que ayudan a los demás &lt;br /&gt;con generosidad constante. &lt;br /&gt;Yo le canto a mis padres, &lt;br /&gt;a sus vidas admiradas, &lt;br /&gt;a su cariño inmenso, &lt;br /&gt;a su rectitud probada. &lt;br /&gt;Le canto a tantos ideales nobles &lt;br /&gt;y a tantas vidas dedicadas &lt;br /&gt;al servicio de los otros hombres. &lt;br /&gt;Yo te canto, mi Guatemala, &lt;br /&gt;le canto a tu tierra fértil &lt;br /&gt;de olores penetrantes, &lt;br /&gt;trópico que se capta por los cinco sentidos, &lt;br /&gt;a los jaguares y a los pumas de tus selvas &lt;br /&gt;a las irupciones violentas de tus volcanes, &lt;br /&gt;al embrujo de tus lagos, &lt;br /&gt;a tus tormentas tropicales.&lt;br /&gt;&lt;br /&gt;Le canto al rancho de paja, &lt;br /&gt;al perro que ladra, &lt;br /&gt;al cerco de alambre, &lt;br /&gt;a los maizales campesinos.&lt;br /&gt;Guatemala, eres fuerte &lt;br /&gt;de piel antigua, estela maya, &lt;br /&gt;calles empedradas, &lt;br /&gt;acaranda en flor, &lt;br /&gt;alameda de matilisguates. &lt;br /&gt;Hueles a tela de indio, &lt;br /&gt;a cántaro de barro, &lt;br /&gt;a incienso, a coroso, &lt;br /&gt;a serrín teñido para el Nacimiento &lt;br /&gt;o alfombra de Semana Santa. &lt;br /&gt;Déjame que te cante, &lt;br /&gt;déjame que llore, &lt;br /&gt;déjame que luche &lt;br /&gt;por tu desarrollo, &lt;br /&gt;por tu gente, por tu pueblo, &lt;br /&gt;por mi pueblo. &lt;br /&gt;Déjame que te sueñe a plenitud, &lt;br /&gt;déjame que te llame “Marialinda Chulamar´´, &lt;br /&gt;déjame que te sueñe &lt;br /&gt;con justicia social, en paz, &lt;br /&gt;trabajadora, &lt;br /&gt;llena de progreso, de generosidad, &lt;br /&gt;y de educación.&lt;br /&gt;&lt;br /&gt;Pero cuando no te sueño, &lt;br /&gt;me dueles, Guatemala: &lt;br /&gt;me duele el estómago lombriciento &lt;br /&gt;de tus niños, &lt;br /&gt;el hambre de tus hombres &lt;br /&gt;que no han probado sino maíz y fríjol, &lt;br /&gt;la frivolidad torpe de tantos ricos &lt;br /&gt;repletos de dinero, pero infelices. &lt;br /&gt;Me duele, patria mía,&lt;br /&gt;El hedor de tus borrachos, &lt;br /&gt;el desenfreno de tus niños&lt;br /&gt;que se sienten bestias,&lt;br /&gt;que carecen de espíritu y de ideales,&lt;br /&gt;que sólo aspiran a comer, dormir,&lt;br /&gt;distraerse, engendrar hijos&lt;br /&gt;y morir.&lt;br /&gt;&lt;br /&gt;Ah, cuando me dueles, Guatemala,&lt;br /&gt;Lloro y trabajo por ti&lt;/blockquote&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;poemaComoMeDuelesGuatemala&quot;)&#39;&gt;Ver el Poema&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Saludos y nos seguimos hablando.</description><link>http://diagonalasterisco.blogspot.com/2009/05/que-ha-pasado-ultimamente-conmigo-y-mi.html</link><author>noreply@blogger.com (AlxBL)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibKmV2Rfw8VMa5pFo0MvamqjN5Otdxtb_T9SKJU6ATHfxNZ9Wd_O5byUO2baMBHpTtzCmJktnCwmWmJXvKFas_D0XqET8IsQWhNIzcVlQldC19Sj23QETxEZQ06Xq4MJ3DfVyUWFv7j90/s72-c/bandera-de-guatemala1.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-6858991233248340079</guid><pubDate>Sat, 25 Apr 2009 02:41:00 +0000</pubDate><atom:updated>2009-04-24T20:13:20.507-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Videos sobre Instalación de Gentoo, partes 11 al 14</title><description>Bueno, ya era hora de subir el resto de videos sobre como instalar Gentoo.&lt;br /&gt;&lt;br /&gt;En esta parte terminaremos con la instalación básica del sistema; desde ya me disculpo por haber puesto la dirección del blog en los videos, pero considero que es algo que tenía que hacer debido a que a veces se deja como trabajo o tarea elaborar una serie de videos sobre la instalación de Gentoo por lo que sería muy simple descargarlos de youtube y entregarlos, sin embargo mi objetivo es ayudar a que realicen su propia instalación.&lt;br /&gt;&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;videosGentoo11al14&#39;&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Parte 11: Instalación del Kernel&lt;/span&gt;&lt;br /&gt;En esta parte configuramos la zona horaria, descargamos los archivos fuente del kernel, configuramos su compilación, lo compilamos y lo instalamos.. Si estas haciendo esta instalación en VirtualBox, sería aconsejable que crees una imagén del estado de tu sistema, para que en caso de tener problemas con el kernel no pierdas todo lo que ya llevas.&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/qrP_6vnwa68&amp;hl=es&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/qrP_6vnwa68&amp;hl=es&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Parte 12: Más Configuraciones del Sistema&lt;/span&gt;&lt;br /&gt;Configuración del sistema de archivos (fstab) y demás archivos de configuraciones.&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/d_84sa-Y-9I&amp;hl=es&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/d_84sa-Y-9I&amp;hl=es&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Parte 13: Instalación de Herramientas Necesarias para el Sistema&lt;/span&gt;&lt;br /&gt;En esta parte se instalan algunas herramientas que son necesarias para el sistema pero que no vienen ni en el portage ni en el stage.&lt;br /&gt;&lt;br /&gt;Entre estas herramientas estan: Syslog, logrotate, dhcpcd (cliente dhcp) y grub.&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/i5VLZa4pwmc&amp;hl=es&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/i5VLZa4pwmc&amp;hl=es&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Parte 14: chequeando instalación&lt;/span&gt;&lt;br /&gt;Aquí simplemente reiniciamos la máquina virtual para comprobar que toda la instalación ha funcionado. &lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/VlQLfo0T3oA&amp;hl=es&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/VlQLfo0T3oA&amp;hl=es&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;videosGentoo11al14&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/04/videos-sobre-instalacion-de-gentoo.html</link><author>noreply@blogger.com (AlxBL)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-7278117519838651977</guid><pubDate>Sun, 19 Apr 2009 22:07:00 +0000</pubDate><atom:updated>2009-04-19T15:23:57.516-07:00</atom:updated><title>Una pelicula que quiero ver: Where the Wild Things Are</title><description>Dirigida por &lt;a href=&quot;http://es.wikipedia.org/wiki/Spike_Jonze&quot; target=&quot;_blank&quot;&gt;Spike Jonze&lt;/a&gt; y basada en el libro para niños escrito por &lt;a href=&quot;http://es.wikipedia.org/wiki/Maurice_Sendak&quot; target=&quot;_blank&quot;&gt;Maurice Sendak&lt;/a&gt;.&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;WTWTA-trailer&#39;&gt;&lt;br /&gt;&lt;b&gt;Trailer: Where The Wild Things Are&lt;/b&gt;&lt;br /&gt;&lt;object width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/--N9klJXbjQ&amp;hl=es&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/--N9klJXbjQ&amp;hl=es&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Fecha de Estreno: 16-10-2009&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;WTWTA-trailer&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt; &lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/04/una-pelicula-que-quiero-ver-where-wild.html</link><author>noreply@blogger.com (AlxBL)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-498888156121039258.post-7058905570019357795</guid><pubDate>Thu, 16 Apr 2009 05:48:00 +0000</pubDate><atom:updated>2009-04-15T23:06:30.133-07:00</atom:updated><title>El Gobierno brasileño pretende llevar Internet al 100% de su población</title><description>Esta nota la copipasteo de un artículo de periodismo.com porque me pareció realmente muy interesante las iniciativas que el gobierno brazileño esta tomando para brindarle acceso a la tecnología a toda su población, ojalá esto le sirviera de ejemplo a nuestro gobierno...&lt;br /&gt;&lt;span class=&#39;posthidden&#39; id=&#39;brazilInternet&#39;&gt;&lt;br /&gt;El uso de la Web en Brasil tuvo un crecimiento del 78% en los últimos dos años. El presidente Lula da Silva quiere comenzar a aplicar su plan entre los más pobres.&lt;br /&gt;&lt;br /&gt;Un nuevo plan del presidente de Brasil, Luiz Inácio Lula da Silva, pretende que en los próximos años el 100 por ciento de su población cuente con una conexión a Internet de banda ancha y, en lo posible, gratuita. Hasta el momento, 64 millones de ciudadanos de este país de todas las edades- utilizan la Web, según indicó el Instituto de encuestas Datafolha.&lt;br /&gt;&lt;br /&gt;Como parte de este proyecto, favelas de Río de Janeiro (una de las áreas de más pobreza), como la de Morro de Dona Marta, ya cuentan con acceso gratuito a Internet. Otro ejemplo es el del gobernador de este Estado, Sergio Cabral, quien otorgará a toda la población local la posibilidad de usar banda ancha, para 2013.&lt;br /&gt;&lt;br /&gt;También como parte del plan, se conectará a Internet a las 150 mil escuelas públicas brasileñas. Además, cada alumno tendrá la oportunidad de tener su propia máquina. Todas estas acciones hacen que actualmente Brasil sea el país del mundo donde se dedica más tiempo a la navegación por la Web, con 23 horas y 48 minutos mensuales. En Latinoamérica, además, es el país con el mayor número de computadoras.&lt;br /&gt;&lt;/span&gt;&lt;span class=&#39;Link&#39;&gt;&lt;br /&gt;&lt;h4&gt;&lt;a style=&#39;font-size:12px&#39; href=&#39;javascript:void(0)&#39; onclick=&#39;javascript:expandcollapse(&quot;brazilInternet&quot;)&#39;&gt;Expandir/Contraer este Post&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://diagonalasterisco.blogspot.com/2009/04/el-gobierno-brasileno-pretende-llevar.html</link><author>noreply@blogger.com (AlxBL)</author><thr:total>0</thr:total></item></channel></rss>