<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>jpangamarca &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/jpangamarca/</link>
	<description>Feed of posts on WordPress.com tagged "jpangamarca"</description>
	<pubDate>Tue, 29 Dec 2009 00:45:40 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Impresiones de Loxa Bloggers 2007]]></title>
<link>http://jpangamarca.wordpress.com/2007/12/16/impresiones-de-loxa-bloggers-2007/</link>
<pubDate>Sun, 16 Dec 2007 05:19:28 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/12/16/impresiones-de-loxa-bloggers-2007/</guid>
<description><![CDATA[El día viernes 14 de diciembre de 2007, en la ciudad de Loja, se celebró un evento esperado por todo]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>El día viernes 14 de diciembre de 2007, en la ciudad de Loja, se celebró un evento esperado por todos los bloggers (no sólo lojanos sino de muchos otros lugares), el <a href="http://nopiedra.wordpress.com/2007/12/08/loxa-bloggers-2007/">Loxa Bloggers 2007</a>.</p>
<p align="center"><img src="http://farm3.static.flickr.com/2322/2103953212_8f8852eee2.jpg" height="336" width="230" /></p>
<p>La asistencia fue buena, como ya lo mencioné, hubo seguidores y expositores inclusive desde Estados Unidos (<a href="http://tonnetat.vox.com/" target="_blank">TonNet</a>) y Madrid (<a href="http://faq-mac.com/" target="_blank">Alf</a>), conectados a través de Skype, la cifra ascendía a 50.  El evento empezó a las 16h10 con las palabras de <a href="http://nopiedra.wordpress.com" target="_blank">Nelson Piedra</a>. Luego, hubo una serie de exposiciones bastante interesantes sobre varios temas como microblogging, monetización de blogs, estado del arte de Web 2.0 y otros. Me aburrí un poco en la de Creative Commons, la verdad, de eso se habló mucho en las <a href="http://www.utpl.edu.ec/derechoinformatico/" target="_blank">conferencias de Derecho Informático</a> celebradas hace unas semanas en <a href="http://www.utpl.edu.ec/" target="_blank">nuestra Universidad</a>.</p>
<p style="text-align:center;"><img src="http://jpangamarca.wordpress.com/files/2007/12/imagen007.jpg" alt="imagen007.jpg" height="288" width="382" /></p>
<p style="text-align:center;"><em>Exposición del tema Redes de Blogs.</em></p>
<p>Hubo también una exposición de pósters de blogs, cada blogger en forma creativa diseñó uno y lo pegó en el mural de los blogs, algo notable fue que estuvieron presentes los pósters de las bitácoras de todas las escuelas y departamentos de la Universidad que cuentan con una.</p>
<p align="center"><a href="http://jpangamarca.wordpress.com/files/2007/12/imagen008.jpg" title="imagen008.jpg"><img src="http://jpangamarca.wordpress.com/files/2007/12/imagen008.jpg" alt="imagen008.jpg" height="166" width="218" /></a> <a href="http://jpangamarca.wordpress.com/files/2007/12/imagen009.jpg" title="imagen009.jpg"><img src="http://jpangamarca.wordpress.com/files/2007/12/imagen009.jpg" alt="imagen009.jpg" height="166" width="218" /></a><br />
<em>Pósters de los bloggers presentes</em>.</p>
<p align="center"><a href="http://jpangamarca.wordpress.com/files/2007/12/my_place_poster.jpg" title="my_place_poster.jpg"><img src="http://jpangamarca.wordpress.com/files/2007/12/my_place_poster.jpg" alt="my_place_poster.jpg" height="321" width="422" /></a><br />
My place, <em>por supuesto, estuvo presente. </em></p>
<p>El ambiente fue bastante ameno y de camaradería, y ya que todos estábamos bastante integrados a la onda de las herramientas Web 2.0, hablábamos un mismo lenguaje. La presentadora, sin embargo, no era una de los nuestros y confesó que no entendía ni pío (jajaja). La exposición sobre Microblogging llevada a cabo por <a href="http://gabbycorsalas.wordpress.com/">Gabby Corsalas</a>, topando el tema de Twitter, fue oportunidad para levantar la hilaridad de los <em>twitteros</em>: algunos de ellos ya decían que necesitaban &#8220;desintoxicarse&#8221; de la adictiva herramienta.</p>
<p>Algo que puso una perspectiva muy emocionante fue que durante la presentación sobre Conclusiones del WordCamp07 en Argentina, <a href="http://www.iwebts.com/blog/" target="_blank">Segundo Benítez</a> nos manifestó que había tenido la oportunidad de conversar con Matt Mullenweg, creador de WordPress, quien dijo que gustoso vendría a Loja para un evento de bloggers. Siendo así, esperamos que haya la oportunidad y podamos contar con la presencia de tan grande personalidad en el mundo Web 2.0.</p>
<p>A la tercera parte, el Beers&#38;Beers,  lamentablemente no pude asistir, espero que la hayan pasado bien quienes fueron y que nos compartan cómo estuvo la velada y las fotos.</p>
<p>Esperemos que haya otras oportunidades, y que se realicen más eventos de esta categoría, cada vez con mayor número de asistentes y promoción, para que todos podamos generar inteligencia colectiva compartiendo y <em>bloggeando</em>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Las OS-Tan: Unas muñequitas muy dulces]]></title>
<link>http://darkkamui.wordpress.com/2007/12/15/las-os-tan-unas-munequitas-muy-dulces/</link>
<pubDate>Sat, 15 Dec 2007 17:55:30 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://darkkamui.wordpress.com/2007/12/15/las-os-tan-unas-munequitas-muy-dulces/</guid>
<description><![CDATA[Las OS-Tan son representaciones en manga de programas de software, más especialmente sistemas operat]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p align="center"><a href="http://darkkamui.wordpress.com/files/2007/12/ostans.jpg" title="ostans.jpg"><img src="http://darkkamui.wordpress.com/files/2007/12/ostans.jpg" alt="ostans.jpg" height="308" width="438" /></a></p>
<p>Las OS-Tan son representaciones en manga de programas de software, más especialmente sistemas operativos, hechas por artistas aficionados. Se iniciaron en Japón y su popularidad se ha extendido hasta el mundo occidental, en Japón, hasta ya se venden como muñecas y en otros productos relacionados. Aquí les dejo descripciones que saqué de la Wikipedia de las más conocidas, y el <strong><a href="http://ostan-collections.net/imeeji/index.php?cat=3">link para las galerías</a></strong> de las OS-Tan. Todas son muy lindas, mi preferida es la XP-Tan. Disfrútenlas<br />
<!--more--></p>
<p align="center"><strong>Windows XP</strong></p>
<p align="center">&#160;</p>
<p align="center"><a href="http://darkkamui.wordpress.com/files/2007/12/xp.jpg" title="xp.jpg"><img src="http://darkkamui.wordpress.com/files/2007/12/xp.jpg" alt="xp.jpg" height="482" width="381" /></a></p>
<p>La XP tan es una chica de cabello negro con cintas en el cabello y un adorno en forma de &#8220;XP&#8221;, usualmente puesto al lado izquierdo. Ya que Windows XP fue criticado por ser un sistema que no es tan útil como vistoso, la XP tan se representa usualmente con ropa muy ajustada y pechos voluminosos. Adicionalmente, como referencia al uso de memoria de Windows XP, a menudo se la ve comiendo o llevando un tazón de arroz vacío con la etiqueta &#8220;Memoria&#8221;. Algunas variantes son Windows XP Media Center y Windows XP Home edition, los colores de su vestimenta van de acuerdo al color de las líneas de carga en la pantalla de arranque.</p>
<p align="center"><strong>Windows 2000</strong></p>
<p align="center">&#160;</p>
<p align="center"><a href="http://darkkamui.wordpress.com/files/2007/12/2000_2.gif" title="2000_2.gif"><img src="http://darkkamui.wordpress.com/files/2007/12/2000_2.gif" alt="2000_2.gif" /></a></p>
<p>La W2K-Tan se representa como una chica inteligente, profesional y de carácter reservado; con cabello azul corto, anteojos y sujetadores de cabello que parecen orejas de gato, con un pequeño gorro de empleada de servicio doméstico en medio. Su vestimenta se asemeja a un traje de baño con el logo de Windows y una capa. Su apariencia sugiere la opinión de profesionalismo y estabilidad que tiene la gente sobre Windows 2000. Dada la gran estabilidad de Windows 2K comparada con la de Windows ME, que fue lanzado cerca del 2000, la W2K-tan se describe con frecuencia como la guardiana de la ME-tan.</p>
<p align="center">&#160;</p>
<p align="center"><strong>Windows ME</strong></p>
<p align="center"> <a href="http://darkkamui.wordpress.com/files/2007/12/me-tan.jpg" title="me-tan.jpg"><img src="http://darkkamui.wordpress.com/files/2007/12/me-tan.jpg" alt="me-tan.jpg" height="408" width="296" /></a></p>
<p>El diseño de la ME-tan, personificación de Windows Me, está en la línea del Kawaii (lindura) en la cultura japonesa. Ella tiene cabello verde con trenzas, un vestido de empleada de servicio doméstico con una insignia con el signo &#8220;!&#8221;, representación del icono de error amarillo de Windows. Aunque se la considera muy trabajadora, los webcomics la representan fallando en todo lo que trata de hacer, a menudo quedándose bloqueada o irritando a sus hermanas. Cuando no se queda bloqueada o fuera de control, tiene a hacer cosas que muestran falta de sentido común o de conocimiento, como poner una gaseosa en el microondas o defenderse usando una cebolleta (cebolla de hoja). Esto es en realidad una broma: un firewall llamado NEGiES, se pronuncia como Negi (cebolla de hoja) en japonés. Por las situaciones penosas en las que se ve envuelta, la torpe ME-Tan inspira ternura, y es considerada por los fans una de las OS-tan más queridas.</p>
<p align="center">&#160;</p>
<p align="center"><strong>Windows 98 y 98SE</strong></p>
<p align="center"> <a href="http://darkkamui.wordpress.com/files/2007/12/98s.jpg" title="98s.jpg"><img src="http://darkkamui.wordpress.com/files/2007/12/98s.jpg" alt="98s.jpg" /></a></p>
<p>Se representan como un par de chicas de uniforme azul como un lazo en el cuello con el logo de Windows, cabello azul y un sujetador de cabello de cabello en forma de 98. La 98-SE-tan se diferencia de la 98-tan por vestir un uniforme verde de marinera con las letras &#8220;SE&#8221; al frente.</p>
<p align="center"><strong>Windows 95</strong></p>
<p align="center"> <strong> </strong><a href="http://darkkamui.wordpress.com/files/2007/12/95_2.jpg" title="95_2.jpg"><img src="http://darkkamui.wordpress.com/files/2007/12/95_2.jpg" alt="95_2.jpg" /></a></p>
<p>Como Windows 95 se considera el SO más antiguo de la era de los sistemas operativos de 32 bits, se representa usualmente como una dama de los inicios de la era moderna de Japón. Se representa como una mujer atenta y tranquila, con un kimono tradicional y sandalias (vestimenta típica de las estudiantes de universidad de dicha época) y una cinta con los colores del logo de Windows. Usualmente se la ve haciendo labores caseras, tomando té o sirviendo comida. Un tema recurrente en las historias es su falta de familiaridad con tecnologías más nuevas, que hayan aparecido luego de Windows 95, como dispositivos USB y conexiones de banda ancha. También suele llevar una katana en postura de ataque, esto simboliza que fue con su generación de sistemas operativos que Microsoft finalmente logró control total sobre el mercado de computadores personales.</p>
<p align="center"><strong>Windows Vista</strong></p>
<p align="center">&#160;</p>
<p align="center"><a href="http://darkkamui.wordpress.com/files/2007/12/vista.jpg" title="vista.jpg"><img src="http://darkkamui.wordpress.com/files/2007/12/vista.jpg" alt="vista.jpg" /></a></p>
<p>Suele tener cabello plateado o blanco, aunque a veces se la representa también con cabello azul claro o negro. El color de su ropa se ajusta al de la apariencia de Vista (color negro traslúcido), y lleva un sujetador de cabello circular con el logo de Windows, idéntico al nuevo botón de inicio de Windows Vista.</p>
<p align="center"><strong>Mac OS</strong></p>
<p align="center"> <a href="http://darkkamui.wordpress.com/files/2007/12/macs.png" title="macs.png"><img src="http://darkkamui.wordpress.com/files/2007/12/macs.png" alt="macs.png" /></a></p>
<p>La chica MacOS X se representa como una chica con orejas de gato, siguiendo la tradición de Apple de denominar los sistemas operativos MacOS con nombres de grandes felinos (Jaguar, Panther, Tiger, etc.). Usualmente lleva una publicación de cualquier tipo, ya que las Mac se usan a menudo para publicaciones de escritorio.<br />
<strong><br />
</strong></p>
<p align="center"><strong> Linux</strong></p>
<p align="center"> <a href="http://darkkamui.wordpress.com/files/2007/12/linux.jpg" title="linux.jpg"><img src="http://darkkamui.wordpress.com/files/2007/12/linux.jpg" alt="linux.jpg" /></a></p>
<p>Originalmente era un pingüino con barba (referencia a Tux, mascota de Linux), ahora se representa como una chica con casco y patas de pingüino. El casco tiene cuernos, como referencia al proyecto GNU; los dientes en el casco y el símbolo de huella de pie son referencia a KDE y GNOME respectivamente, ambos son entornos de escritorio de Linux. También tiene una lanza en la que tiene unas banderas pegadas que reprensentan las herramientas GRUB, LILO y GCC de GNU/Linux. El casco y la lanza son referencias al alto nivel de seguridad (casco defensivo) y hacking (lanza de ataque) que tienen los sistemas operativos Linux.</p>
<p>Hay otras Tan, para otros programas, o inclusive sitios de Internet, como la Opera-tan y la Wikipedia-tan.</p>
<p align="center"><strong>Opera-Tan: </strong></p>
<p><a href="http://darkkamui.wordpress.com/files/2007/12/600px-opera-tan_wb.png" title="600px-opera-tan_wb.png"></a></p>
<p style="text-align:center;"><a href="http://darkkamui.wordpress.com/files/2007/12/600px-opera-tan_wb.png" title="600px-opera-tan_wb.png"><img src="http://darkkamui.wordpress.com/files/2007/12/600px-opera-tan_wb.png" alt="600px-opera-tan_wb.png" height="360" width="360" /></a></p>
<p align="center"><strong>Wikipedia-Tan: </strong></p>
<p><a href="http://darkkamui.wordpress.com/files/2007/12/180px-wikipe-tan_full_length.png" title="180px-wikipe-tan_full_length.png"></a></p>
<p style="text-align:center;"><a href="http://darkkamui.wordpress.com/files/2007/12/180px-wikipe-tan_full_length.png" title="180px-wikipe-tan_full_length.png"><img src="http://darkkamui.wordpress.com/files/2007/12/180px-wikipe-tan_full_length.png" alt="180px-wikipe-tan_full_length.png" /></a></p>
<p>(Suspiro)  Son unas bellezas estas OS-Tan. ¡Hasta la próxima!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[El poder de sudo]]></title>
<link>http://jpangamarca.wordpress.com/2007/12/15/el-poder-de-sudo/</link>
<pubDate>Sat, 15 Dec 2007 17:06:25 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/12/15/el-poder-de-sudo/</guid>
<description><![CDATA[Tomado de &#8220;Entre tuxes y pepinos&#8221;, http://tuxpepino.wordpress.com, un excelente blog sob]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://tuxpepino.wordpress.com/2007/12/15/el-poder-de-sudo/">Tomado de</a> &#8220;Entre tuxes y pepinos&#8221;, <a href="http://tuxpepino.wordpress.com">http://tuxpepino.wordpress.com,</a> un excelente blog sobre Linux y Ubuntu.</p>
<p>Una pequeña pero divertida viñeta que muestra un ejemplo de lo que sería la ventaja de poder usar <em><a href="http://en.wikipedia.org/wiki/Sudo">sudo</a> </em>en la vida real.</p>
<p><a href="http://jpangamarca.wordpress.com/files/2007/12/sandwich.png" title="sandwich.png"></a></p>
<p style="text-align:center;"><a href="http://jpangamarca.wordpress.com/files/2007/12/sandwich.png" title="sandwich.png"><img src="http://jpangamarca.wordpress.com/files/2007/12/sandwich.png" alt="sandwich.png" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Árboles Binarios de Búsqueda en Java]]></title>
<link>http://jpangamarca.wordpress.com/2007/11/22/arboles-binarios-de-busqueda-en-java/</link>
<pubDate>Fri, 23 Nov 2007 02:00:05 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/11/22/arboles-binarios-de-busqueda-en-java/</guid>
<description><![CDATA[En estos días he tenido la necesidad de ver ciertas operaciones que se implementan el los árboles bi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>En estos días he tenido la necesidad de ver ciertas operaciones que se implementan el los árboles binarios de búsqueda (Binary Search Trees), y en <a href="http://http://www.java-tips.org/java-se-tips/java.lang/binary-search-tree-implementation-in-java.html">este sitio</a> encontré una implementación particularmente interesante, espero que les sea de utilidad.</p>
<p>En ciencias de la computación, un árbol binario de búsqueda es un árbol que tiene las siguientes propiedades:</p>
<ul>
<li>Cada nodo tiene un valor</li>
<li>Se define un orden total sobre esos valores</li>
<li>El subárbol izquierdo de un nodo contiene valores menores o iguales que el valor de dicho nodo.</li>
<li>El subárbol derecho de un nodo contiene valores mayores o iguales que el valor de dicho nodo.</li>
</ul>
<p>La ventaja más notable de los árboles binarios de búsqueda es que los algoritmos de ordenación y búsqueda relacionados como transversal inorden pueden ser muy eficientes.</p>
<p>Los árboles binarios de búsqueda son una estructura de datos fundamental usada para construir más estructuras de datos abstractas como conjuntos y arrays asociativos.<br />
<code> <font color="#3f7f5f">// BinarySearchTree class</font><br />
<font color="#3f7f5f">//</font><br />
<font color="#3f7f5f">// CONSTRUCTION: with no initializer</font><br />
<font color="#3f7f5f">//</font><br />
<font color="#3f7f5f">// ******************PUBLIC OPERATIONS*********************</font><br />
<font color="#3f7f5f">// void insert( x )       --&#62; Insert x</font><br />
<font color="#3f7f5f">// void remove( x )       --&#62; Remove x</font><br />
<font color="#3f7f5f">// void removeMin( )      --&#62; Remove minimum item</font><br />
<font color="#3f7f5f">// Comparable find( x )   --&#62; Return item that matches x</font><br />
<font color="#3f7f5f">// Comparable findMin( )  --&#62; Return smallest item</font><br />
<font color="#3f7f5f">// Comparable findMax( )  --&#62; Return largest item</font><br />
<font color="#3f7f5f">// boolean isEmpty( )     --&#62; Return true if empty; else false</font><br />
<font color="#3f7f5f">// void makeEmpty( )      --&#62; Remove all items</font><br />
<font color="#3f7f5f">// ******************ERRORS********************************</font><br />
<font color="#3f7f5f">// Exceptions are thrown by insert, remove, and removeMin if warranted</font></code></p>
<p><font color="#3f5fbf">/**</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">* Implements an unbalanced binary search tree.</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">* Note that all &#8220;matching&#8221; is based on the compareTo method.</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">* </font><font color="#7f9fbf">@author </font><font color="#3f5fbf">Mark Allen Weiss</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">*/</font></p>
<p><!--more--><br />
<font color="#7f0055"><strong>public class </strong></font><font color="#000000">BinarySearchTree </font><font color="#000000">{</font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Construct the tree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#7f0055"><strong>public </strong></font><font color="#000000">BinarySearchTree</font><font color="#000000">( ) {</font><br />
<font color="#000000">root = </font><font color="#7f0055"><strong>null</strong></font><font color="#000000">;</font><br />
<font color="#000000">}</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Insert into the tree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">x the item to insert.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@throws </font><font color="#3f5fbf">DuplicateItemException if x is already present.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#7f0055"><strong>void </strong></font><font color="#000000">insert</font><font color="#000000">( </font><font color="#000000">Comparable x </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#000000">        root = insert</font><font color="#000000">( </font><font color="#000000">x, root </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">        * Remove from the tree..</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">x the item to remove.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@throws </font><font color="#3f5fbf">ItemNotFoundException if x is not found.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#7f0055"><strong>void </strong></font><font color="#000000">remove</font><font color="#000000">( </font><font color="#000000">Comparable x </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#000000">        root = remove</font><font color="#000000">( </font><font color="#000000">x, root </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Remove minimum item from the tree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@throws </font><font color="#3f5fbf">ItemNotFoundException if tree is empty.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#7f0055"><strong>void </strong></font><font color="#000000">removeMin</font><font color="#000000">( ) {</font><br />
<font color="#ffffff">        </font><font color="#000000">        root = removeMin</font><font color="#000000">( </font><font color="#000000">root </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Find the smallest item in the tree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@return </font><font color="#3f5fbf">smallest item or null if empty.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#000000">Comparable findMin</font><font color="#000000">( ) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        return </strong></font><font color="#000000">elementAt</font><font color="#000000">( </font><font color="#000000">findMin</font><font color="#000000">( </font><font color="#000000">root </font><font color="#000000">) )</font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Find the largest item in the tree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@return </font><font color="#3f5fbf">the largest item or null if empty.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font></p>
<p><font color="#7f0055"><strong>    public </strong></font><font color="#000000">Comparable findMax</font><font color="#000000">( ) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        return </strong></font><font color="#000000">elementAt</font><font color="#000000">( </font><font color="#000000">findMax</font><font color="#000000">( </font><font color="#000000">root </font><font color="#000000">) )</font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Find an item in the tree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">x the item to search for.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@return </font><font color="#3f5fbf">the matching item or null if not found.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#000000">Comparable find</font><font color="#000000">( </font><font color="#000000">Comparable x </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        return </strong></font><font color="#000000">elementAt</font><font color="#000000">( </font><font color="#000000">find</font><font color="#000000">( </font><font color="#000000">x, root </font><font color="#000000">) )</font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Make the tree logically empty.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#7f0055"><strong>void </strong></font><font color="#000000">makeEmpty</font><font color="#000000">( ) {</font><br />
<font color="#ffffff">        </font><font color="#000000">        root = </font><font color="#7f0055"><strong>null</strong></font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Test if the tree is logically empty.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@return </font><font color="#3f5fbf">true if empty, false otherwise.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#7f0055"><strong>boolean </strong></font><font color="#000000">isEmpty</font><font color="#000000">( ) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        return </strong></font><font color="#000000">root == </font><font color="#7f0055"><strong>null</strong></font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Internal method to get element field.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">t the node.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@return </font><font color="#3f5fbf">the element field or null if t is null.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    private </strong></font><font color="#000000">Comparable elementAt</font><font color="#000000">( </font><font color="#000000">BinaryNode t </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        return </strong></font><font color="#000000">t == </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">? </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">: t.element;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Internal method to insert into a subtree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">x the item to insert.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">t the node that roots the tree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@return </font><font color="#3f5fbf">the new root.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@throws </font><font color="#3f5fbf">DuplicateItemException if x is already present.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">*/</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    protected </strong></font><font color="#000000">BinaryNode insert</font><font color="#000000">( </font><font color="#000000">Comparable x, BinaryNode t </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        if</strong></font><font color="#000000">( </font><font color="#000000">t == </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">)</font><br />
<font color="#000000">            t = </font><font color="#7f0055"><strong>new </strong></font><font color="#000000">BinaryNode</font><font color="#000000">( </font><font color="#000000">x </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#7f0055"><strong>        else if</strong></font><font color="#000000">( </font><font color="#000000">x.compareTo</font><font color="#000000">( </font><font color="#000000">t.element </font><font color="#000000">) </font><font color="#000000">&#60; </font><font color="#990000">0 </font><font color="#000000">)</font><br />
<font color="#000000">            t.left = insert</font><font color="#000000">( </font><font color="#000000">x, t.left </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#7f0055"><strong>        else if</strong></font><font color="#000000">( </font><font color="#000000">x.compareTo</font><font color="#000000">( </font><font color="#000000">t.element </font><font color="#000000">) </font><font color="#000000">&#62; </font><font color="#990000">0 </font><font color="#000000">)</font><br />
<font color="#000000">            t.right = insert</font><font color="#000000">( </font><font color="#000000">x, t.right </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#7f0055"><strong>        else</strong></font><br />
<font color="#7f0055"><strong>            throw new </strong></font><font color="#000000">DuplicateItemException</font><font color="#000000">( </font><font color="#000000">x.toString</font><font color="#000000">( ) )</font><font color="#000000">;  </font><font color="#3f7f5f">// Duplicate</font><br />
<font color="#7f0055"><strong>        return </strong></font><font color="#000000">t;</font><br />
<font color="#ffffff">    </font><font color="#000000">}</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Internal method to remove from a subtree.</font><br />
<font color="#3f5fbf">* </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">x the item to remove.</font><br />
<font color="#3f5fbf">* </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">t the node that roots the tree.</font><br />
<font color="#3f5fbf">* </font><font color="#7f9fbf">@return </font><font color="#3f5fbf">the new root.</font><br />
<font color="#3f5fbf">* </font><font color="#7f9fbf">@throws </font><font color="#3f5fbf">ItemNotFoundException if x is not found.</font><br />
<font color="#3f5fbf">*/</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    protected </strong></font><font color="#000000">BinaryNode remove</font><font color="#000000">( </font><font color="#000000">Comparable x, BinaryNode t </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        if</strong></font><font color="#000000">( </font><font color="#000000">t == </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">)</font><br />
<font color="#ffffff">            </font><font color="#7f0055"><strong>            throw new </strong></font><font color="#000000">ItemNotFoundException</font><font color="#000000">( </font><font color="#000000">x.toString</font><font color="#000000">( ) )</font><font color="#000000">;</font><br />
<font color="#7f0055"><strong>        if</strong></font><font color="#000000">( </font><font color="#000000">x.compareTo</font><font color="#000000">( </font><font color="#000000">t.element </font><font color="#000000">) </font><font color="#000000">&#60; </font><font color="#990000">0 </font><font color="#000000">)</font><br />
<font color="#000000">            t.left = remove</font><font color="#000000">( </font><font color="#000000">x, t.left </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#7f0055"><strong>        else if</strong></font><font color="#000000">( </font><font color="#000000">x.compareTo</font><font color="#000000">( </font><font color="#000000">t.element </font><font color="#000000">) </font><font color="#000000">&#62; </font><font color="#990000">0 </font><font color="#000000">)</font><br />
<font color="#000000">            t.right = remove</font><font color="#000000">( </font><font color="#000000">x, t.right </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#7f0055"><strong>        else if</strong></font><font color="#000000">( </font><font color="#000000">t.left != </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">&#38;&#38; t.right != </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">) </font><font color="#3f7f5f">// Two children</font><br />
<font color="#000000">        {</font><br />
<font color="#000000">            t.element = findMin</font><font color="#000000">( </font><font color="#000000">t.right </font><font color="#000000">)</font><font color="#000000">.element;</font><br />
<font color="#000000">            t.right = removeMin</font><font color="#000000">( </font><font color="#000000">t.right </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#000000">        } </font><font color="#7f0055"><strong>else</strong></font><br />
<font color="#000000">            t = </font><font color="#000000">( </font><font color="#000000">t.left != </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">) </font><font color="#000000">? t.left : t.right;</font><br />
<font color="#7f0055"><strong>        return </strong></font><font color="#000000">t;</font><br />
<font color="#ffffff">    </font><font color="#000000">}</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Internal method to remove minimum item from a subtree.</font><br />
<font color="#3f5fbf">* </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">t the node that roots the tree.</font><br />
<font color="#3f5fbf">*</font><font color="#7f9fbf">@return </font><font color="#3f5fbf">the new root.</font><br />
<font color="#3f5fbf">* </font><font color="#7f9fbf">@throws </font><font color="#3f5fbf">ItemNotFoundException if x is not found.</font><br />
<font color="#3f5fbf">*/</font><br />
<font color="#7f0055"><strong>protected </strong></font><font color="#000000">BinaryNode removeMin</font><font color="#000000">( </font><font color="#000000">BinaryNode t </font><font color="#000000">) {</font><br />
<font color="#7f0055"><strong>if</strong></font><font color="#000000">( </font><font color="#000000">t == </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">)</font><br />
<font color="#7f0055"><strong>throw new </strong></font><font color="#000000">ItemNotFoundException</font><font color="#000000">( )</font><font color="#000000">;</font><br />
<font color="#7f0055"><strong>else if</strong></font><font color="#000000">( </font><font color="#000000">t.left != </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">) {</font><br />
<font color="#000000">t.left = removeMin</font><font color="#000000">( </font><font color="#000000">t.left </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#7f0055"><strong>    return </strong></font><font color="#000000">t;</font><br />
<font color="#000000">} </font><font color="#7f0055"><strong>else</strong></font><br />
<font color="#7f0055"><strong>return </strong></font><font color="#000000">t.right;</font><br />
<font color="#ffffff">    </font><font color="#000000">}</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Internal method to find the smallest item in a subtree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">t the node that roots the tree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@return </font><font color="#3f5fbf">node containing the smallest item.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    protected </strong></font><font color="#000000">BinaryNode findMin</font><font color="#000000">( </font><font color="#000000">BinaryNode t </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        if</strong></font><font color="#000000">( </font><font color="#000000">t != </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">)</font><br />
<font color="#ffffff">            </font><font color="#7f0055"><strong>            while</strong></font><font color="#000000">( </font><font color="#000000">t.left != </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">)</font><br />
<font color="#ffffff">                </font><font color="#000000">                t = t.left;</font><br />
<font color="#ffffff">        </font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        return </strong></font><font color="#000000">t;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Internal method to find the largest item in a subtree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">t the node that roots the tree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@return </font><font color="#3f5fbf">node containing the largest item.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    private </strong></font><font color="#000000">BinaryNode findMax</font><font color="#000000">( </font><font color="#000000">BinaryNode t </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        if</strong></font><font color="#000000">( </font><font color="#000000">t != </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">)</font><br />
<font color="#ffffff">            </font><font color="#7f0055"><strong>            while</strong></font><font color="#000000">( </font><font color="#000000">t.right != </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">)</font><br />
<font color="#ffffff">                </font><font color="#000000">                t = t.right;</font><br />
<font color="#ffffff">        </font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        return </strong></font><font color="#000000">t;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Internal method to find an item in a subtree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">x is item to search for.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">t the node that roots the tree.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@return </font><font color="#3f5fbf">node containing the matched item.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    private </strong></font><font color="#000000">BinaryNode find</font><font color="#000000">( </font><font color="#000000">Comparable x, BinaryNode t </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        while</strong></font><font color="#000000">( </font><font color="#000000">t != </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">) {</font><br />
<font color="#ffffff">            </font><font color="#7f0055"><strong>            if</strong></font><font color="#000000">( </font><font color="#000000">x.compareTo</font><font color="#000000">( </font><font color="#000000">t.element </font><font color="#000000">) </font><font color="#000000">&#60; </font><font color="#990000">0 </font><font color="#000000">)</font><br />
<font color="#ffffff">                </font><font color="#000000">                t = t.left;</font><br />
<font color="#ffffff">            </font><font color="#7f0055"><strong>            else if</strong></font><font color="#000000">( </font><font color="#000000">x.compareTo</font><font color="#000000">( </font><font color="#000000">t.element </font><font color="#000000">) </font><font color="#000000">&#62; </font><font color="#990000">0 </font><font color="#000000">)</font><br />
<font color="#ffffff">                </font><font color="#000000">                t = t.right;</font><br />
<font color="#ffffff">            </font><font color="#7f0055"><strong>            else</strong></font><br />
<font color="#ffffff">                </font><font color="#7f0055"><strong>                return </strong></font><font color="#000000">t;    </font><font color="#3f7f5f">// Match</font><br />
<font color="#ffffff">        </font><font color="#000000">            }        </font><br />
<font color="#ffffff">        </font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>            return null</strong></font><font color="#000000">;         </font><font color="#3f7f5f">// Not found</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /** The tree root. */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    protected </strong></font><font color="#000000">BinaryNode root;</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f7f5f">    // Test program</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public static </strong></font><font color="#7f0055"><strong>void </strong></font><font color="#000000">main</font><font color="#000000">( </font><font color="#000000">String </font><font color="#000000">[ ] </font><font color="#000000">args </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#000000">        BinarySearchTree t = </font><font color="#7f0055"><strong>new </strong></font><font color="#000000">BinarySearchTree</font><font color="#000000">( )</font><font color="#000000">;</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        final </strong></font><font color="#7f0055"><strong>int </strong></font><font color="#000000">NUMS = </font><font color="#990000">4000</font><font color="#000000">;</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        final </strong></font><font color="#7f0055"><strong>int </strong></font><font color="#000000">GAP  =   </font><font color="#990000">37</font><font color="#000000">;</font><br />
<font color="#ffffff">        </font><br />
<font color="#ffffff">        </font><font color="#000000">        System.out.println</font><font color="#000000">( </font><font color="#2a00ff">&#8220;Checking&#8230; (no more output means success)&#8221; </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">        </font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        for</strong></font><font color="#000000">( </font><font color="#7f0055"><strong>int </strong></font><font color="#000000">i = GAP; i != </font><font color="#990000">0</font><font color="#000000">; i = </font><font color="#000000">( </font><font color="#000000">i + GAP </font><font color="#000000">) </font><font color="#000000">% NUMS </font><font color="#000000">)</font><br />
<font color="#ffffff">            </font><font color="#000000">            t.insert</font><font color="#000000">( </font><font color="#7f0055"><strong>new </strong></font><font color="#000000">Integer</font><font color="#000000">( </font><font color="#000000">i </font><font color="#000000">) )</font><font color="#000000">;</font><br />
<font color="#ffffff">        </font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        for</strong></font><font color="#000000">( </font><font color="#7f0055"><strong>int </strong></font><font color="#000000">i = </font><font color="#990000">1</font><font color="#000000">; i &#60; NUMS; i+= </font><font color="#990000">2 </font><font color="#000000">)</font><br />
<font color="#ffffff">            </font><font color="#000000">            t.remove</font><font color="#000000">( </font><font color="#7f0055"><strong>new </strong></font><font color="#000000">Integer</font><font color="#000000">( </font><font color="#000000">i </font><font color="#000000">) )</font><font color="#000000">;</font><br />
<font color="#ffffff">        </font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        if</strong></font><font color="#000000">( ((</font><font color="#000000">Integer</font><font color="#000000">)(</font><font color="#000000">t.findMin</font><font color="#000000">( )))</font><font color="#000000">.intValue</font><font color="#000000">( ) </font><font color="#000000">!= </font><font color="#990000">2 </font><font color="#000000">&#124;&#124;</font><br />
<font color="#ffffff">                </font><font color="#000000">                    ((</font><font color="#000000">Integer</font><font color="#000000">)(</font><font color="#000000">t.findMax</font><font color="#000000">( )))</font><font color="#000000">.intValue</font><font color="#000000">( ) </font><font color="#000000">!= NUMS &#8211; </font><font color="#990000">2 </font><font color="#000000">)</font><br />
<font color="#ffffff">            </font><font color="#000000">            System.out.println</font><font color="#000000">( </font><font color="#2a00ff">&#8220;FindMin or FindMax error!&#8221; </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">        </font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        for</strong></font><font color="#000000">( </font><font color="#7f0055"><strong>int </strong></font><font color="#000000">i = </font><font color="#990000">2</font><font color="#000000">; i &#60; NUMS; i+=</font><font color="#990000">2 </font><font color="#000000">)</font><br />
<font color="#ffffff">            </font><font color="#7f0055"><strong>            if</strong></font><font color="#000000">( ((</font><font color="#000000">Integer</font><font color="#000000">)(</font><font color="#000000">t.find</font><font color="#000000">( </font><font color="#7f0055"><strong>new </strong></font><font color="#000000">Integer</font><font color="#000000">( </font><font color="#000000">i </font><font color="#000000">) )))</font><font color="#000000">.intValue</font><font color="#000000">( ) </font><font color="#000000">!= i </font><font color="#000000">)</font><br />
<font color="#ffffff">                </font><font color="#000000">                System.out.println</font><font color="#000000">( </font><font color="#2a00ff">&#8220;Find error1!&#8221; </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">        </font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        for</strong></font><font color="#000000">( </font><font color="#7f0055"><strong>int </strong></font><font color="#000000">i = </font><font color="#990000">1</font><font color="#000000">; i &#60; NUMS; i+=</font><font color="#990000">2 </font><font color="#000000">) {</font><br />
<font color="#ffffff">            </font><font color="#7f0055"><strong>            if</strong></font><font color="#000000">( </font><font color="#000000">t.find</font><font color="#000000">( </font><font color="#7f0055"><strong>new </strong></font><font color="#000000">Integer</font><font color="#000000">( </font><font color="#000000">i </font><font color="#000000">) ) </font><font color="#000000">!= </font><font color="#7f0055"><strong>null </strong></font><font color="#000000">)</font><br />
<font color="#ffffff">                </font><font color="#000000">                System.out.println</font><font color="#000000">( </font><font color="#2a00ff">&#8220;Find error2!&#8221; </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">        </font><font color="#000000">        }</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#000000">}</font></p>
<p><font color="#3f7f5f">// Basic node stored in unbalanced binary search trees</font><br />
<font color="#3f7f5f">// Note that this class is not accessible outside</font><br />
<font color="#3f7f5f">// of this package.</font></p>
<p><font color="#7f0055"><strong>class </strong></font><font color="#000000">BinaryNode </font><font color="#000000">{</font><br />
<font color="#ffffff">    </font><font color="#3f7f5f">    // Constructors</font><br />
<font color="#ffffff">    </font><font color="#000000">    BinaryNode</font><font color="#000000">( </font><font color="#000000">Comparable theElement </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#000000">        element = theElement;</font><br />
<font color="#ffffff">        </font><font color="#000000">        left = right = </font><font color="#7f0055"><strong>null</strong></font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f7f5f">// Friendly data; accessible by other package routines</font><br />
<font color="#ffffff">    </font><font color="#000000">    Comparable element;      </font><font color="#3f7f5f">// The data in the node</font><br />
<font color="#ffffff">    </font><font color="#000000">    BinaryNode left;         </font><font color="#3f7f5f">// Left child</font><br />
<font color="#ffffff">    </font><font color="#000000">    BinaryNode right;        </font><font color="#3f7f5f">// Right child</font><br />
<font color="#000000">}</font></p>
<p><font color="#3f5fbf">/**</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">* Exception class for duplicate item errors</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">* in search tree insertions.</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">* </font><font color="#7f9fbf">@author </font><font color="#3f5fbf">Mark Allen Weiss</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">*/</font><br />
<font color="#7f0055"><strong>public class </strong></font><font color="#000000">DuplicateItemException </font><font color="#7f0055"><strong>extends </strong></font><font color="#000000">RuntimeException </font><font color="#000000">{</font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">        * Construct this exception object.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#000000">DuplicateItemException</font><font color="#000000">( ) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        super</strong></font><font color="#000000">( )</font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">        * Construct this exception object.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">        * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">message the error message.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#000000">DuplicateItemException</font><font color="#000000">( </font><font color="#000000">String message </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        super</strong></font><font color="#000000">( </font><font color="#000000">message </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#000000">}</font></p>
<p><font color="#3f5fbf">/**</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">* Exception class for failed finds/removes in search</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">* trees, hash tables, and list and tree iterators.</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">* </font><font color="#7f9fbf">@author </font><font color="#3f5fbf">Mark Allen Weiss</font><br />
<font color="#ffffff"> </font><font color="#3f5fbf">*/</font><br />
<font color="#7f0055"><strong>public class </strong></font><font color="#000000">ItemNotFoundException </font><font color="#7f0055"><strong>extends </strong></font><font color="#000000">RuntimeException </font><font color="#000000">{</font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Construct this exception object.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#000000">ItemNotFoundException</font><font color="#000000">( ) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        super</strong></font><font color="#000000">( )</font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#ffffff">    </font><br />
<font color="#ffffff">    </font><font color="#3f5fbf">    /**</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * Construct this exception object.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    * </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">message the error message.</font><br />
<font color="#ffffff">     </font><font color="#3f5fbf">    */</font><br />
<font color="#ffffff">    </font><font color="#7f0055"><strong>    public </strong></font><font color="#000000">ItemNotFoundException</font><font color="#000000">( </font><font color="#000000">String message </font><font color="#000000">) {</font><br />
<font color="#ffffff">        </font><font color="#7f0055"><strong>        super</strong></font><font color="#000000">( </font><font color="#000000">message </font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">    </font><font color="#000000">    }</font><br />
<font color="#000000">}</font></p>
<p>Fuente: Java-Tips.org, <a href="http://www.java-tips.org/java-se-tips/java.lang/binary-search-tree-implementation-in-java.html">http://www.java-tips.org/java-se-tips/java.lang/binary-search-tree-implementation-in-java.htm</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Arte UTPLino]]></title>
<link>http://jpangamarca.wordpress.com/2007/11/18/arte-utplino/</link>
<pubDate>Sun, 18 Nov 2007 16:56:34 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/11/18/arte-utplino/</guid>
<description><![CDATA[En la edición número 13 (15 al 31 de Octubre de 2007) del informativo estudiantil de la UTPL, El Mur]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>En la edición número 13 (15 al 31 de Octubre de 2007) del informativo estudiantil de la <a href="http://www.utpl.edu.ec">UTPL</a>, <a href="http://www.utpl.edu.ec/elmuro/">El Muro</a>, el equipo de dicho medio tuvo a bien publicar <a href="http://www.utpl.edu.ec/elmuro/?p=200">una colaboración mía en la sección Arte UTPLino</a>, comparto con ustedes dicha publicación. El personaje del dibujo es Master Chief, protagonista de la serie de videojuegos <a href="http://en.wikipedia.org/wiki/Halo_%28Series%29"><em>Halo</em></a>.</p>
<p style="text-align:center;"><img src="http://www.utpl.edu.ec/elmuro/wp-content/uploads/2007/10/arte-utepelino-autor-juan-pablo-angamarca.jpg" alt="T�tulo: Master Chief, dibujado por Juan Pablo Angamarca, publicado en EL MURO, número 13." height="648" width="468" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[¡El lanzamiento del Vista es todo un éxito!]]></title>
<link>http://jpangamarca.wordpress.com/2007/11/09/%c2%a1el-lanzamiento-del-vista-es-todo-un-exito/</link>
<pubDate>Sat, 10 Nov 2007 04:18:29 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/11/09/%c2%a1el-lanzamiento-del-vista-es-todo-un-exito/</guid>
<description><![CDATA[El lanzamiento de Windows Vista es todo un éxito. Miren por ustedes mismos (clic en la imagen): Fuen]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>El lanzamiento de Windows Vista es todo un éxito. Miren por ustedes mismos (clic en la imagen):</p>
<p><a href="http://www.tiraecol.net/modules/comic/cache/images/tiraecol-268.png"><img src="http://www.tiraecol.net/modules/comic/cache/images/tiraecol-268.png" height="185" width="540" /></a></p>
<p>Fuente: <a href="http://www.tiraecol.net/modules/comic/comic.php?content_id=267" target="_blank">TiraEcol, <span class="comic_css">2007-07-24</span></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Nostalgia de lluvia de noviembre...]]></title>
<link>http://jpangamarca.wordpress.com/2007/11/09/nostalgia-de-lluvia-de-noviembre/</link>
<pubDate>Sat, 10 Nov 2007 04:03:19 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/11/09/nostalgia-de-lluvia-de-noviembre/</guid>
<description><![CDATA[Esta tarde llovía, y era así como me sentía&#8230; Gun&#8217;s and Roses &#8211; November Rain When ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p align="center">Esta tarde llovía, y era así como me sentía&#8230;</p>
<p align="center"><strong>Gun&#8217;s and Roses &#8211; November Rain</strong></p>
<p align="center"> <span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/siBoLc9vxac&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/siBoLc9vxac&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p align="center"><em>When I look into your eyes<br />
I can see a love restrained.<br />
But darlin&#8217; when I hold you<br />
Don&#8217;t you know I feel the same?<br />
&#8216;Cause nothin&#8217; lasts forever<br />
And we both know hearts can change.<br />
And it&#8217;s hard to hold a candle<br />
In the cold November rain.</em></p>
<p align="center"><em>We&#8217;ve been through this such a long long time<br />
Just tryin&#8217; to kill the pain.<br />
But lovers always come and lovers always go<br />
An no one&#8217;s really sure who&#8217;s lettin&#8217; go today,<br />
Walking away.<br />
If we could take the time to lay it on the line<br />
I could rest my head<br />
Just knowin&#8217; that you were mine,<br />
All mine.</em>
</p>
<p align="center">&#160;</p>
<p align="center"><em>So if you want to love me,<br />
then darlin&#8217; don&#8217;t refrain:<br />
or I&#8217;ll just end up walkin&#8217;<br />
In the cold November rain.</em>
</p>
<p align="center">&#160;</p>
<p align="center"><em>Do you need some time&#8230; on your own?<br />
Do you need some time&#8230; all alone?<br />
Everybody needs some time&#8230; on their own.<br />
Don&#8217;t you know you need some time&#8230;all alone?<br />
I know it&#8217;s hard to keep an open heart<br />
When even friends seem out to harm you<br />
But if you could heal a broken heart<br />
Wouldn&#8217;t time be out to charm you.</em>
</p>
<p align="center">&#160;</p>
<p align="center"><em>Sometimes I need some time&#8230; on my own.<br />
Sometimes I need some time&#8230; all alone.<br />
Everybody needs some time&#8230; on their own.<br />
Don&#8217;t you know you need some time&#8230; all alone?</em>
</p>
<p align="center">&#160;</p>
<p align="center"><em>And when your fears subside<br />
And shadows still remain, oh yeah.<br />
I know that you can love me<br />
When there&#8217;s no one left to blame.<br />
So never mind the darkness<br />
We still can find a way<br />
&#8216;Cause nothin&#8217; lasts forever<br />
Even cold November rain.</em></p>
<p align="center"><em>Don&#8217;t ya think that you need somebody?<br />
Don&#8217;t ya think that you need someone?<br />
Everybody needs somebody,<br />
You&#8217;re not the only one.<br />
You&#8217;re not the only one.</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Metedura de pata de OpenOffice]]></title>
<link>http://jpangamarca.wordpress.com/2007/10/22/metedura-de-pata-de-openoffice/</link>
<pubDate>Tue, 23 Oct 2007 03:36:31 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/10/22/metedura-de-pata-de-openoffice/</guid>
<description><![CDATA[[Update 2007-11-27: Gracias a un comentario de Nelson me di cuenta de que este post da la impresión ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>[Update 2007-11-27: Gracias a un comentario de <a href="http://nopiedra.wordpress.com">Nelson</a> me di cuenta de que este post da la impresión de que tengo una idea equivocada sobre SW libre y SW propietario, así que lo renombro: Su título original es "Rayos... ¡el software libre también mete la pata!"]</p>
<p>Hace unos días me bajé la última versión (en español) de OpenOffice (2.3), la suite de ofimática basada en Java. Bueno, ahora recién la vengo a instalar y empezar a usar para hacer mis deberes y poder convertir mis documentos a formato PDF. Me encontré con un problema, la corrección de gramática y ortografía no funcionaba&#8230; Bueno, aquí va un ejemplo algo chistoso para que vean por dónde va lo que digo.</p>
<p><a href="http://jpangamarca.wordpress.com/files/2007/10/issue_ortografia1.png" title="issue_ortografia1.png"><img src="http://jpangamarca.wordpress.com/files/2007/10/issue_ortografia1.png" alt="issue_ortografia1.png" height="277" width="456" /></a><br />
<em>¿&#8230;? (:D) Clic para ver imagen en tamaño completo.<br />
</em><br />
Bueno, el hecho es que entré a las opciones del programa, busqué en la sección de Lingüística los diccionarios que debía usar para el chequeo, inclusive la corrección automática, pero nada. Googleando me encontré con la novedad de que era necesario instalar los diccionarios para idioma Español&#8230; pero ¡¡se supone que la versión que bajé era en Español!! En fin&#8230; para quienes tengan el mismo problema, se debe entrar al menú <em>Archivo -&#62; Asistentes -&#62; Instalar diccionarios nuevos</em>. Se nos presentará una utilidad para descargar los diccionarios y cómo proceder después de la instalación (obviamente es necesaria la conexión a Internet). Una vez realizado este proceso se dispone de los diccionarios.</p>
<p><a href="http://jpangamarca.wordpress.com/files/2007/10/instalacion.png" title="instalacion.png"><img src="http://jpangamarca.wordpress.com/files/2007/10/instalacion.png" alt="instalacion.png" height="339" width="457" /></a></p>
<p><a href="http://jpangamarca.wordpress.com/files/2007/10/terminada.png" title="terminada.png"><img src="http://jpangamarca.wordpress.com/files/2007/10/terminada.png" alt="terminada.png" height="350" width="463" /></a><br />
<em>Instalando.</em></p>
<p><a href="http://jpangamarca.wordpress.com/files/2007/10/revision_ortog.png" title="revision_ortog.png"><img src="http://jpangamarca.wordpress.com/files/2007/10/revision_ortog.png" alt="revision_ortog.png" height="282" width="467" /></a><br />
<em>Una vez solucionado el problemilla.</em></p>
<p>El punto es que si alguien se baja la versión en español de un editor de textos, se espera que dicha versión contiene los diccionarios para lenguaje español, ¿o no? Creo que esto ha sido una falla bastante grande, y minaría los esfuerzos de expansión de OOo, porque no todos tienen la conexión a Internet para descargar estos componentes vitales, y sin ellos la gente no va a usar dicho software. Esperemos que estas fallas se solucionen y que no se nos Microsoftee la gente del grupo OpenOffice&#8230; Eso sí, <a href="http://www.kriptopolis.org/excel-2007-derrotado-por-la-calculadora" target="_blank">OOo Calc no saca 850 x 77.1 = 100000</a>&#8230;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ventajas de tener una novia Geek]]></title>
<link>http://jpangamarca.wordpress.com/2007/10/21/ventajas-de-tener-una-novia-geek/</link>
<pubDate>Sun, 21 Oct 2007 22:31:43 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/10/21/ventajas-de-tener-una-novia-geek/</guid>
<description><![CDATA[Post original en VIVALINUX.COM Un geek es una persona con una gran fascinación por la tecnología y l]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;"><img src="http://www6.kiwi-us.com/~phaiz/mt_archiplum_archive/geek-girl.jpg" height="240" width="320" /></p>
<p>Post original en <a href="http://www.vivalinux.com.ar/articulos/una-novia-geek.html">VIVALINUX.COM </a></p>
<p>Un <a href="http://es.wikipedia.org/wiki/Geek">geek</a> es una persona con una gran fascinación por la tecnología y la informática llevada hasta niveles obsesivos. Se describe más como un estilo de vida y una forma de ser, que como una afición concreta por algo poco habitual. Y por supuesto, a cualquier &#8220;geek&#8221; lo mejor que le puede suceder es tener una <strong>novia geek</strong>. ¿Por qué? Pues por muchos motivos&#8230;</p>
<ul>
<li><strong>Tus rivales no estarán a tu altura</strong><br />
No tendrás que defender a tu chica del acoso de los buitres en playa o discoteca. No están a tu nivel y a tu chica no le interesarán lo más mínimo. No tendrás que mantener tus abdominales como una tabla de fregar para impresionarla. No es eso lo que a ella le interesa.</li>
<li><strong>La chica geek viene con complementos</strong><br />
Ya sean gadgets, una colección completa de libros de ciencia ficción (ediciones en inglés, claro está), computadora propia (con Linux pre-instalado) o su propio juego de mapas y dados. No temerás por la integridad de tus cosas. Ella es una chica bien equipada.</li>
<li><strong>La chica geek te deja tu espacio</strong><br />
Ella no te va a pedir que la lleves al restaurante más caro cada fin de semana para que le demuestres cuánto te importa. Invítala a una pizza en tu casa y después a una partida al juego <em>online</em> de moda y ya la tienes contenta para el resto de la velada.</li>
<li><strong>Puedes ser tú mismo en tus conversaciones con ella</strong><br />
No tendrás que estar al día de los temas &#8220;top&#8221; de las conversaciones sin sustancia que interesan al resto de las chicas. A ella le interesará que le cuentes la historia de aquel <em>troll</em> que tuviste que banear ayer en tu blog o cómo te cargaste al monstruo aquél en el World of Warcraft tú solo.</li>
<li><strong>Puedes compartir con ella tus actividades y aficiones favoritas</strong><br />
Puedes disfrazarte con ella para ir al último estreno geek del cine, o abrir un blog conjunto, o dirigir partidas de rol entre los dos… ¡Dime ahora que no es un tesoro!</li>
<li><strong>Puede que ella tenga un par de cosas que enseñarte</strong><br />
Es posible que sin su ayuda no seas capaz de salir de ese horrible cuello de botella, o puede ser que ella tenga algún libro que dejarte que aún no conozcas o que estabas deseando encontrar.</li>
<li><strong>La chica geek habla tu idioma</strong><br />
Seguramente tu chica sea de las pocas personas con las que puedas pasar una tarde completa viendo episodios de <a href="http://es.wikipedia.org/wiki/Padre_de_familia">Padre de Familia</a> en inglés sin subtítulos y arqueándose de la risa.</li>
<li><strong>La chica geek te quiere de verdad</strong><br />
Si en una <a href="http://es.wikipedia.org/wiki/Campus_party">Campus Party</a> hay 5000 personas y de ellas sólo hay 100-200 chicas y, en esa proporción, una de ellas te ha elegido a tí, querido amigo, eres un tipo con suerte, a esa chica le gustas de verdad. ¡Agárrala y no la sueltes!</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Remove]]></title>
<link>http://jpangamarca.wordpress.com/2007/10/03/remove/</link>
<pubDate>Thu, 04 Oct 2007 03:49:57 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/10/03/remove/</guid>
<description><![CDATA[Transcripción de un video de YouTube sobre el peligro que corren nuestros datos personales en manos ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Transcripción de un video de YouTube sobre el peligro que corren nuestros datos personales en manos de los gigantes de la información en Internet:</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/GOfRpnzzmVc&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/GOfRpnzzmVc&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p><em>&#8221; &#8211; Todos tus datos, informáticamente hablando, están a disposición de una multitud de empresas que compran bases de datos a otras empresas que se dedican a recopilarlos. Es como un nuevo tipo de negocio, tráfico de datos.<br />
- No jodas.<br />
- Claro tío. Es más difícil pedirle a alguien los datos directamente, que meterle un juego y decirle ¿quieres participar? Llena este cuestionario.<br />
- Vale tío, o sea que hay que tener cuidado con a quién le das tus datos ¿no?<br />
- Para nada. Seguro que ya lo hiciste en algún momento dado, y además tienes que tener en cuenta la información que emites usando tecnologia móvil. Esto es peor que la Estasia. Aquí el cociente eres tú mismo.</em></p>
<p><em>La mayoria de la gente piensa que el derecho a la privacidad implica tener privacidad. Y no hay nada más erróneo que eso. En el siglo XXI, raro es quien no usa un teléfono móvil, o un portátil, una conexión de banda ancha, un PDA, un GPS. Cada uno de esos dispositivos es un emisor de información. Dónde estámos, qué hacemos, qué decimos, qué compramos, cómo vivimos. Tú crees que te mueves, pero da igual si vas de un lado a otro. Estás controlado. Para ellos, eres un punto móvil en la pantalla de un radar.</em></p>
<p><em>A raíz de aquella conversación comencé un proceso de transformación en mí. mejor dicho, en mis hábitos. Lo primero fue dejar de usar el teléfono móvil. Restringí mi comunicación a llamadas desde teléfonos públicos, cybercafés, o terminales desde los que pudiese cifrar u ocultar mis datos. Luego dejé de pagar con tarjetas de crédito, sólo en metálico, así no pueden seguir el rastro de tus compras. Siguieron los transportes, nada de aviones, sólo transportes públicos sin nombre de viajero en los billetes. De esta forma, poco a poco, fui desapareciendo del plano de la realidad, y de su control.</em></p>
<p><em>Luego llegó la fase de la cyber-realidad. De la propia tecnología a usar. El 95% de los computadores usan un sistema operativo deficiente, lleno de agujeros de seguridad que no hacen más que mandar información de lo que haces, de qué sitios visitas, y eso poco a poco dibuja tu perfil cada vez de una forma más precisa. Los que intentan vendernos libertad, compran nuestra identidad, trafican con nuestros datos y modelan la realidad para que vivas en ella en función de sus intereses. Somos los actores secundarios de una obra cuya gloria no va con nosotros.</em></p>
<p><em>Desde aquella conversación, ha pasado mucho tiempo. Tiempo en que he aprendido a controlar mejor que ellos la misma tecnología que quieren que usemos. Tiempo en el que he aprendido a ser invisible, en el que he dejado de emitir información. Creo que, en cierta medida, he podido escapar de la conclusión de aquella conversación. Pero por otra parte, tengo la extraña sensación de que en algún momento dejé de participar en esta realidad para vivir en otra. &#8220;</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Los 50 bloggers más influyentes de la Red]]></title>
<link>http://jpangamarca.wordpress.com/2007/09/26/los-50-bloggers-mas-influyentes-de-la-red/</link>
<pubDate>Wed, 26 Sep 2007 22:25:31 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/09/26/los-50-bloggers-mas-influyentes-de-la-red/</guid>
<description><![CDATA[Tomado de: http://www.baquia.com/noticias.php?id=12856 Artículo original: http://northxeast.com/blog]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Tomado de: <a href="http://www.baquia.com/noticias.php?id=12856">http://www.baquia.com/noticias.php?id=12856</a></p>
<p>Artículo original: <a href="http://northxeast.com/blogging/nxes-fifty-most-influential-bloggers/">http://northxeast.com/blogging/nxes-fifty-most-influential-bloggers/</a></p>
<p><a href="http://jpangamarca.wordpress.com/files/2007/09/most_influential_bloggers.PNG" title="most_influential_bloggers.PNG"></a></p>
<p style="text-align:center;"><a href="http://jpangamarca.wordpress.com/files/2007/09/most_influential_bloggers.PNG" title="most_influential_bloggers.PNG"><img src="http://jpangamarca.wordpress.com/files/2007/09/most_influential_bloggers.PNG" alt="most_influential_bloggers.PNG" height="161" width="465" /></a></p>
<p>Existen millones de blogs. Sin embargo, sólo unos pocos crean tendencias, marcan estilo o consiguen que millones de personas estén pendientes de lo que publican a diario. Sus ideas se expanden rápidamente y sus blogs son enlazados por miles de bitácoras: es la elite de la blogosfera.</p>
<p>En <a href="http://www.northxeast.com/">NorthxEast</a>, que se define como “un blog sobre los blogs”, Leo Babauta ha elaborado una lista con los que son, a su juicio, los <a href="http://northxeast.com/blogging/nxes-fifty-most-influential-bloggers/">50 bloggers más influyentes de la Red</a>.  Estos son los diez primeros privilegiados capaces de sacudir la blógsfera desde sus páginas personales:</p>
<p><strong>10.</strong> <a href="http://www.gizmodo.com/">Brian Lam</a>, de Gizmodo: Lam proviene de la revista Wired, y lleva un año trabajando para Gizmodo, un blog especializado en gadgets en el que se publican entre 40 y 50 reseñas nuevas al día. Es toda una referencia para los amantes de los aparatos tecnológicos, en el que Lam aporta un punto de vista intermedio entre el nuevo y el viejo periodismo.</p>
<p><strong>9.</strong> <a href="http://www.ginatrapani.com/">Gina Trapani</a>, de Lifehacker: Gina es la fundadora de este blog centrado en el software y la productividad. También es programadora web y ha desarrollado varias aplicaciones para Firefox.</p>
<p><strong>8.</strong> <a href="http://www.huffingtonpost.com/">Ariana Huffington</a>, de The Huffington Post: una conocida comentarista y activista política en EEUU (fue derrotada por Arnold Schwartzenegger en las elecciones para gobernador de California), fundó este blog comunal sobre política que cuenta con 18 millones de páginas vistas al mes, en el que colaboran personalidades como Nora Ephron y Norman Mailer.</p>
<p><strong>7.</strong> <a href="http://www.boingboing.net/">Mark Frauenfelder</a>, de Boing Boing: uno de los confundadores de Boing Boing, creado como un fanzine contracultural en 1985, y luego relanzado en 1995 como web y en 2000 como blog. Se trata del segundo blog más popular en Technorati, del que Frauenfelder es uno de sus cinco editores.</p>
<p><strong>6. </strong><a href="http://www.engadget.com/">Pete Rojas</a>, de Engadget: esta especie de Midas de la blogosfera primero creó Gizmodo, que abandonó en 2004 para fundar el aún más exitoso Engadget, el número uno en Technorati y perteneiente a Weblos Inc., que AOL compró en 2006 por 25 millones de dólares, principalmente para hacerse con el estelar blog sobre gadgets.</p>
<p><strong>5.</strong> <a href="http://joi.ito.com/">Joi Ito</a>: con presencia en multitud de organizaciones y compañías (Creative Commons, Movable Type, Live Journal, Technorati o la Fundación Mozilla, entre otros) es uno de los personajes que más ha influido en la comunidad de blogs.</p>
<p><strong>4.</strong> <a href="http://www.calacanis.com/">Jason Calacanis</a>: Fue el CEO y fundador de Weblogs Inc., una red de influyentes blogs (entre ellos el número uno, Engadget) comprada por AOL, donde Calcanis pasó a ser vicepresidente y director editorial.</p>
<p><strong>3.</strong> <a href="http://www.sifry.com/alerts/">David Sifry</a>: fundador y CEO de Technorati, sus opiniones sobre todo tipo de temas tecnológicos son además siempre ampliamente comentadas.</p>
<p><strong>2. </strong><a href="http://www.kevinrose.com/">Kevin Rose</a>: creador de Digg, probablemente la herramienta más decisiva para dirigir el tráfico de la blogosfera (el “efecto Digg” ha provocado el colapso de más de un servidor, incapaz de soportar el aluvión de visitas). Las historias que promueve el propio Rose en Digg suelen tener el éxito garantizado.</p>
<p>Y con ustedes el Señor de la Blógsfera:</p>
<p style="text-align:center;"><img src="http://northxeast.com/article_images/top50/Nick_Denton.jpg" alt="Nick Denton" height="250" width="200" /></p>
<p><strong>1.</strong> <a href="http://www.nickdenton.org/">Nick Denton</a>: este antiguo periodista del Financial Times es el fundador y propietario de Gawker Media, tal vez la red de blogs más exitosa, con 14 blogs de tráfico masivo. Su fortuna personal se estima en 280 millones de dólares, lo que da una idea del éxito de sus iniciativas.</p>
<p>A ver cuándo nuestros blogs puedan figurar, si no entre los mejores del mundo, por lo menos en los de Ecuador o Latinoamérica&#8230; soñar no cuesta nada y paga mucho&#8230;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Lo que les solía pasar a algunitos....]]></title>
<link>http://jpangamarca.wordpress.com/2007/09/19/lo-que-les-solia-pasar-a-algunitos/</link>
<pubDate>Wed, 19 Sep 2007 16:21:30 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/09/19/lo-que-les-solia-pasar-a-algunitos/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img src="http://upload.wikimedia.org/wikipedia/en/thumb/f/fb/Userfriendly.20030128.gif/500px-Userfriendly.20030128.gif" height="190" width="500" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[De “profe” en el Curso de Programación en C, Rama IEEE UTPL]]></title>
<link>http://jpangamarca.wordpress.com/2007/09/14/de-%e2%80%9cprofe%e2%80%9d-en-el-curso-de-programacion-en-c-rama-ieee-utpl/</link>
<pubDate>Fri, 14 Sep 2007 15:56:11 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/09/14/de-%e2%80%9cprofe%e2%80%9d-en-el-curso-de-programacion-en-c-rama-ieee-utpl/</guid>
<description><![CDATA[Durante estas vacaciones tuve la grata experiencia de dar “mis primeros pasitos” (jajaja) en la doce]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Durante estas vacaciones tuve la grata experiencia de dar “mis primeros pasitos” (jajaja) en la docencia, como instructor del <a href="http://ieeer9sac.blogspot.com/2007/09/se-cumple-con-xito-los-cursos-de.html" target="_blank">curso vacacional de C</a> que tuvo a bien organizar la <a href="http://www.utpl.edu.ec/ieee/" target="_blank">rama IEEE UTPL</a>, del 21 al 24 de agosto de 2007. Este curso fue parte de una serie de talleres dictados por la rama con motivo del <a href="http://ewh.ieee.org/reg/9/comites/estudiantiles/noticias.html">encuentro nacional de ramas IEEE</a>.</p>
<p class="MsoNormal">La verdad, al inicio estuve bastante nervioso. Manejo más C++ que C, y tienen algunas diferencias. C es más estricto, así que tuve que prepararme, y recordar un par de temas a los que les había perdido el hilo.</p>
<p class="MsoNormal"><a href="http://jpangamarca.wordpress.com/files/2007/09/deprofe2.jpg" title="deprofe2.jpg"><img src="http://jpangamarca.wordpress.com/files/2007/09/deprofe2.jpg" alt="0" height="336" width="447" /></a><br />
<em>Los alumnos. El curso fue dictado en el laboratorio de Electrónica de la UTPL.</em>
</p>
<p class="MsoNormal">Una vez al frente de los alumnos por primera vez, entendía las palabras de uno de mis profesores, “<em>hay que pagar la novatada</em>”. Eso fue durante los primeros diez minutos. Cuando uno empieza a hablar y sobretodo, domina los temas, es fácil exponerlos, tratando de darse a entender. Es gratificante ver cuando los alumnos comprenden y tienen preguntas, que aprenden de sus errores y adquieren experiencia.</p>
<p class="MsoNormal"><a href="http://jpangamarca.wordpress.com/files/2007/09/deprofe1.jpg" title="deprofe1.jpg"><img src="http://jpangamarca.wordpress.com/files/2007/09/deprofe1.jpg" alt="2" height="347" width="456" /></a><br />
<em>Explicando el tema de definición de funciones.</em>
</p>
<p class="MsoNormal">La verdad es que noté un cambio desde el primer día hasta el último. De nervios ya no tenía nada, excepto si me equivocaba escribiendo por ahí. Pero creo que para una primera vez me fue bastante bien. Lo que sí, después de cada clase se termina sin voz y con las manos llenas de tinta de marcador de tiza líquida (jajaja).</p>
<p class="MsoNormal">En general fue una buena experiencia, lo que sí el tiempo fue bastante corto como para dar todos los temas que me habían planteado, así que tuvimos que ir un poco rápido. Con más tiempo disponible, habría sido maravilloso.</p>
<p class="MsoNormal">Ahora también veo la responsabilidad que debe tener un profesor de preparar su clase todos los días, y sobre todo de dominar los temas. He tenido profesores que no preparaban bien su clase, y la verdad no quiero que me pase eso nunca, y durante este curso no me pasó, pues me preparé bien.</p>
<p class="MsoNormal"><a href="http://jpangamarca.wordpress.com/files/2007/09/diploma.jpg" title="diploma"><img src="http://jpangamarca.wordpress.com/files/2007/09/diploma.jpg" alt="3" height="348" width="462" /></a><br />
<em>El diploma.</em></p>
<p>Espero tener una oportunidad como esta pronto algún día otra vez, para ir ganando cada vez más experiencia, y sobre todo, aprender de las personas que escuchan lo que uno puede compartir, que nunca es suficiente.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Esperando por un buen día...]]></title>
<link>http://jpangamarca.wordpress.com/2007/07/01/esperando-por-un-buen-dia/</link>
<pubDate>Sun, 01 Jul 2007 19:32:39 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/07/01/esperando-por-un-buen-dia/</guid>
<description><![CDATA[Es la forma en que siempre deberíamos despertar… esperando por un buen día para todas las cosas que ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Es la forma en que siempre deberíamos despertar… esperando por un buen día para todas las cosas que hacemos, para ver todo reto (todo: trabajo, estudio, amistad, familia) como algo especial, ver las cosas nuevas que no les habíamos encontrado hasta ahora.<strong><br />
</strong></p>
<p align="center"><strong> &#8220;Head-On Collision&#8221; (Colisión Frontal)</strong><br />
<strong> New Found Glory</strong>
</p>
<p align="center">(Clic en el video para verlo)</p>
<p align="center"><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/SdrIQFx-R0Q&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/SdrIQFx-R0Q&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p align="center">I&#8217;ve been waiting for a good day<br />
<em>(He estado esperando un buen día)</em><br />
I&#8217;ve been holding back long enough<br />
<em>(He estado resistiendo ya lo suficiente)</em><br />
I&#8217;ve been hurting to tell you some things&#8230;<br />
<em>(Sufriendo por decirte ciertas cosas&#8230;)</em><br />
it&#8217;s not the falling of the temperatura<br />
<em>(No es la baja de temperatura)</em><br />
that&#8217;s making all our bones run cold<br />
<em>(este frío que cala hasta los huesos)</em><br />
it&#8217;s the breeze you make<br />
<em>(es la brisa que produces)</em><br />
the presence felt when you&#8217;re around me<br />
<em>(la presencia que se siente cuando estás cerca de mí)</em><br />
And it feels like I&#8217;m at an all-time low<br />
<em>(y me siento más pequeño que nunca)</em></p>
<p align="center"> Slightly bruised and broken<br />
<em>(Ligeramente amoratado y herido)</em><br />
from our head-on collision<br />
<em>(por nuestra colisión frontal)</em><br />
I&#8217;ve never seen this side of you<br />
<em>(Nunca he visto este lado tuyo)</em><br />
another tragic case of feeling<br />
<em>(otro trágico caso de sentimiento)</em><br />
bruised and broken<br />
<em>(Amoratado y herido)</em><br />
from our head on collision<br />
<em>(por nuestra colisión frontal)</em><br />
I&#8217;ve never seen this side of you<br />
<em>(Nunca he visto este lado tuyo)</em><br />
another tragic case<br />
<em>(Otro trágico caso…)</em></p>
<p align="center"> And I&#8217;m still waiting for a good day<br />
<em>(Y sigo esperando un buen día)</em><br />
I think I&#8217;ve held this long enough<br />
<em>(Creo que ya he resistido suficiente)</em><br />
<!--more-->I think it&#8217;s safe to tell you some things<br />
<em>(Creo que es seguro decirte ciertas cosas)</em><br />
it&#8217;s not just what you say to people<em><br />
(No es sólo la forma que hablas con la gente)</em><br />
and it&#8217;s not the way you look at me<br />
<em>(y no es la forma en que me miras)</em><br />
it&#8217;s the way you present yourself<br />
<em>(Es la forma en que te presentas)</em><br />
for all your worst critics to see<br />
<em>(Con tus peores críticas a ver.)</em><br />
and it feels like I&#8217;m at an all-time low<br />
<em>(y me siento más pequeño que nunca)</em>
</p>
<p align="center">Slightly bruised and broken…</p>
<p align="center">Then you were gone<br />
<em>(Y luego te fuiste)</em><br />
you were gone<br />
<em>(luego te fuiste)</em><br />
<em>all this time you just didn&#8217;t know it yet<br />
(Todo este tiempo no lo supiste aún)</em><br />
you were gone<br />
<em>(y te fuiste)</em><br />
all this time you just didn&#8217;t know it yet<br />
<em>(Todo este tiempo no lo supiste aún)</em><br />
you were gone<br />
<em>(y te fuiste)</em><br />
And it feels like I&#8217;m at an all-time low<br />
<em>(y me siento más pequeño que nunca)</em>
</p>
<p align="center"> Slightly bruised and broken…</p>
<p align="center">Another tragic case of feeling<br />
<em>(Otro trágico caso de sentimiento)</em><br />
bruised and broken<br />
<em>(Amoratado y herido)</em><br />
another tragic case<br />
<em>(Otro trágico caso…)</em><br />
and I&#8217;ve been still waiting for a good day<br />
<em>(Y he seguido esperando por un buen día,)</em><br />
still waiting for a good day…<br />
<em> (aún esperando por un buen día…)</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[En Java, el paso de parámetros es por valor.]]></title>
<link>http://jpangamarca.wordpress.com/2007/06/28/en-java-el-paso-de-parametros-es-por-valor/</link>
<pubDate>Thu, 28 Jun 2007 19:09:29 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/06/28/en-java-el-paso-de-parametros-es-por-valor/</guid>
<description><![CDATA[Juan Pablo Angamarca. Existe comúnmente la creencia errónea de que en Java es posible pasar parámetr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Juan Pablo Angamarca.</p>
<p>Existe comúnmente la creencia errónea de que en Java es posible pasar parámetros por referencia, y no es así. <strong>Java siempre pasa los parámetros por valor</strong>. Esta confusión se da debido a que todas las variables de objeto son referencias a objetos [1]. En el libro “The Java Programming Language” de Ken Arnold y James Gosling (autores de Java), sección 2.6.1., tenemos la siguiente cita: <em>&#8220;There is exactly one parameter passing mode in Java &#8211; pass by value &#8211; and that helps keep things simple.&#8221;</em> [2] (Existe un solo modo de paso de parámetros en Java – paso por valor – y eso ayuda a mantener las cosas simples.).</p>
<p>Antes de continuar, vamos a recordar cuáles son las definiciones de paso por valor y paso por referencia: [3]:<br />
<strong><br />
Paso por valor</strong> significa que cuando un argumento se pasa a una función, la función recibe una copia del valor original. Por lo tanto, si la función modifica el parámetro, sólo la copia cambia y el valor original permanece intacto.<br />
<strong><br />
Paso por referencia</strong> significa que cuando un argumento se pasa a una función, la función recibe la dirección de memoria del valor original, no la copia del valor. Por lo tanto, si la función modifica el parámetro, el valor original en el código que llamó a la función cambia.</p>
<p>Vamos a valernos de ejemplos para explicar el mecanismo con el que Java pasa parámetros a los métodos.</p>
<p><a href="http://jpangamarca.wordpress.com/cafe-java/en-java-el-paso-de-parametros-es-por-valor/">[leer más...] </a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Beatles - And I Love Her]]></title>
<link>http://jpangamarca.wordpress.com/2007/06/20/and-i-love-her/</link>
<pubDate>Thu, 21 Jun 2007 02:12:36 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/06/20/and-i-love-her/</guid>
<description><![CDATA[Esta canción es genial, espero que a los que no la conocen les guste. &#8220;And I Love Her&#8221; ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Esta canción es genial, espero que a los que no la conocen les guste.</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/aChUwN5LBao&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/aChUwN5LBao&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p><strong> &#8220;And I Love Her&#8221; &#8211; The Beatles  </strong></p>
<p>I give her all my love, that&#8217;s all I do.<br />
And if you saw my love, you&#8217;d love her too.<br />
I love her.</p>
<p>She gives me everything, and tenderly<br />
The kiss my lover brings, she brings to me.<br />
And I love her</p>
<p>A love like ours could never die<br />
As long as I have you near me.</p>
<p>Bright are the stars that shine, dark is the sky.<br />
I know this love of mine will never die.<br />
And I love her. (bis)</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Se acabó el primer bimestre]]></title>
<link>http://jpangamarca.wordpress.com/2007/06/05/se-acabo-el-primer-bimestre/</link>
<pubDate>Wed, 06 Jun 2007 01:21:03 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/06/05/se-acabo-el-primer-bimestre/</guid>
<description><![CDATA[Bueno, pues, a dos semanas de haber empezado el segundo bimestre oficialmente, hemos acabado el prim]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Bueno, pues, a dos semanas de haber empezado el segundo bimestre oficialmente, hemos acabado el primero. Con todos los sufrimientos de la entrega de trabajos, creo que ya los últimos estamos acabando el bimestre anterior por estos días, bien o mal, pero ya lo hemos acabado. La razón de esto, creo que <a href="http://jpangamarca.wordpress.com/2007/05/23/nuevo-sistema-academico-en-la-utpl/">la sabemos todos</a>, pero bueno, hay que seguir echándole ganas a este asunto. Aún con <em>algunos profes que parece que no valoran el esfuerzo que hacemos,</em> debemos seguir, sin dejarnos vencer ni desanimar. Les deseo suerte a todos mis compañeros de la ECC en este nuevo bimestre, en especial a mis compañeros de Sexto Ciclo, no nos dejemos, estudiemos y seamos mejores cada día.</p>
<p>Saludos,</p>
<p>Dios, Patria y Sistemas,</p>
<p>Juan Pablo Angamarca</p>
<p><strong>[ACLARACIÓN: 2007-06-08 21:23] </strong> <em>Errare humánum est. </em>Me hicieron dar cuenta de que cuando digo &#8220;no nos dejemos&#8221; parece que digo &#8220;no nos dejemos de los profesores&#8221;. No es eso lo que quiero dar a entender, no estamos en guerra con  nuestros guías. Lo que quiero decir es que no nos dejemos de <em><strong>todas </strong></em>las dificultades que se presentan en el camino (y cuando digo todas, quiero decir <em><strong>todas</strong></em>), que por eso estudiemos y seamos mejores cada día.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ok... ok... aquí va mi propuesta.]]></title>
<link>http://jpangamarca.wordpress.com/2007/06/02/ok-ok-aqui-va-mi-propuesta/</link>
<pubDate>Sat, 02 Jun 2007 03:59:22 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/06/02/ok-ok-aqui-va-mi-propuesta/</guid>
<description><![CDATA[Con respecto al post anterior, cierto día conversamos con el ingeniero Nelson Piedra. En dicha ocasi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Con respecto al post anterior, cierto día conversamos con el ingeniero <a href="http://nopiedra.wordpress.com" title="Blog del Ing. Nelson Piedra">Nelson Piedra</a>. En dicha ocasión me hizo varias preguntas sobre las materias que tomaba (si algún problema en alguna de ellas era la razón de mi queja) y sobre las razones con las que escribía dicho post. Me dijo que estaba bien que haya escrito mis opiniones, pero que también debía dar una propuesta, y me habló entonces de las &#8220;nubes negras&#8221; y los &#8220;soles radiantes&#8221;. ¿Que qué son? Cierta vez que el ingeniero viajaba en avión vio en las alturas cómo una nube muy grande y muy negra tapaba al sol, cuyos rayos pugnaban por hacerse ver entre los bordes de la nube. Nos contó a mí y a <a href="http://catorange.wordpress.com" title="Blog de Jorge Naranjo">Jorge Naranjo</a> que esta visión se le había quedado grabada en la mente desde entonces, y que la asociaba con los triunfadores, &#8220;los soles radiantes&#8221;, y las personas que intentan impedir que los triunfadores sobresalgan y brillen como soles radiantes, &#8220;las nubes negras&#8221;.</p>
<p>Bien, no quiero ser una nube negra, entonces con la experiencia vivida, creo que puedo dar ciertas propuestas, que quizá no sean las más adecuadas, pero como dice el ing. Nelson, la Web 2.0 es para generar conocimiento colectivo, con opiniones de todos y todas.</p>
<p>A mis compañeros:</p>
<ul>
<li> A los que no nos gusta leer, vamos a tener que hacernos al hábito. Quizá si leyéramos una hora diaria, o 45 minutos diarios por cada materia que tomamos en el bimestre, no tendríamos demasiados problemas al fin.</li>
<li>No dejemos trabajo para el final. Tratemos de avanzar lo que podamos, aunque sea de a poco. Si no, al fin del período académico vamos a estar en las malas noches y los apuros.</li>
<li>Busquemos más fuentes de investigación. Me cuento entre las personas que estudian casi sólo del texto base y no buscan más allá. Creo que si tuviéramos un poco de curiosidad, quizá hasta encontremos cosas interesantes que hagan más fáciles y más enriquecedores nuestros temas de estudio.</li>
<li>Aprendamos inglés y acostumbrémonos a él. Por ahora las mejores fuentes de información se encuentran en el idioma inglés. No intento desmedrar a nuestro español&#8230; pero miren, si llegáramos a generar algún día descubrimientos que podamos publicar en forma masiva (ése es uno de los objetivos de Valle de la Tecnología, remítanse al blog del Ing. Nelson), quizá los gringos tengan que aprender bien español para leer nuestros artículos <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</li>
<li>Compartamos el conocimiento. Hay muchas formas de hacerlo: en clase, en trabajos grupales, a través del entorno virtual de aprendizaje, las famosas herramientas Web 2.0 (YouTube, del.icio.us, blogs, SlideShare), entre otras.</li>
</ul>
<p>A los &#8220;profes&#8221;:</p>
<ul>
<li>Por favor, no nos dejen los trabajos para el final. ¡Porfa!</li>
<li>Si a veces no presentamos un trabajo a tiempo, no es porque seamos irresponsables. Es que a veces nos falta tiempo. Estoy seguro que a los profes en sus actividades diarias, a veces también les falta tiempo, y que tienen otras ocupaciones de las que no pueden descuidarse.</li>
<li><em><strong>Valoren nuestro esfuerzo y motívennos</strong></em>.</li>
<li>Ayúdennos con fuentes de investigación que puedan proponernos.</li>
</ul>
<p>A los directivos:</p>
<ul>
<li>Ya pues, nos han puesto nuevo sistema. Si van a reducir las horas clase de materias prácticas, dennos talleres y tutorías, pero que sean de verdad talleres y tutorías. <em><strong>En realidad, dos meses para revisar los contenidos que antes se revisaban en *todo* un ciclo, es muy poco, más aún para desarrollar proyectos.</strong></em></li>
<li>Como ya lo he dicho antes, sólo ha habido una charla muy general y de media hora para informarnos del sistema nuevo. Por favor dennos más información para enterarnos bien de qué se trata de todo esto, para no estar más perdidos que ateo en iglesia.</li>
<li>Asegúrense de que los profes tengan un conocimiento claro del nuevo sistema también, ya que ellos tampoco son europeos y a lo mejor tampoco entienden bien el asunto.</li>
</ul>
<p>Quizá falten muchas más propuestas o algunas no estén correctamente formuladas, así que por favor opinemos. Generemos conocimiento colectivo. Y esforcémonos por ser mejores cada día. Recordemos, <em><strong>MEMENTO ASCENDERE SEMPER,</strong></em> el lema de la U, <em><strong>que no se dónde se quedó caído desde hace algunos años</strong></em>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Nuevo sistema académico en la UTPL]]></title>
<link>http://jpangamarca.wordpress.com/2007/05/23/nuevo-sistema-academico-en-la-utpl/</link>
<pubDate>Wed, 23 May 2007 02:29:18 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/05/23/nuevo-sistema-academico-en-la-utpl/</guid>
<description><![CDATA[Como es de conocimiento de todos, el la UTPL nos encontramos en una &#8220;etapa de transición]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Como es de conocimiento de todos, el la UTPL nos encontramos en una &#8220;<em>etapa de transición</em>&#8220;, en la que pasamos del sistema que se había estado manejando hasta ahora al sistema de créditos europeos ECTS. La Escuela de Ciencias de Computación ha sido una de las primeras (¿la primera?) en empezar a adoptar este sistema.</p>
<p>En teoría todo esto suena muy chévere, pero hay cosas que realmente no me cuadran ni a mí ni a mis compañeros.</p>
<p>En primer lugar, la transición ha sido, por decirlo en cierta forma, violenta. El ciclo anterior, manejamos el antiguo sistema, y de buenas a primeras, este ciclo ya llevamos los horarios y la forma de recibir clases en el sistema nuevo. Con muchos compañeros se coincide en que con este nuevo sistema &#8220;<em>se aprende menos y se sufre más</em>&#8221; pues a simple vista parecería que con tres materias por bimestre habría tiempo para más, pero no. Se acumula más trabajo. No digo que el sistema sea malo, lo que quiero decir, y que quede bien claro, e<strong>s que la transición debió haberse hecho más pausadamente. Es un sistema extranjero, y nosotros no somos extranjeros.</strong> Algunos dirán que &#8220;tenemos que acostumbrarnos&#8221;. Otros dicen &#8220;Si no les gusta, ¿por qué no hablan?&#8221;. Jo, jo. La universidad toma la decisión, y nosotros debemos acogernos, nos guste o no.</p>
<p>No puedo creer que hay materias que son eminentemente prácticas (lenguaje de programación, por ejemplo), y en lugar de aumentar las horas clase y dar explicaciones más detalladas, las horas se reduzcan  y en algunos casos haya que ver las diapositivas que trae el profesor, <strong>y eso es todo</strong>, o la técnica de ciertos profesores del &#8220;para aprender, ^C + ^V&#8221;. Además, <strong>dos meses es muy poco tiempo para los proyectos</strong>. Es cierto que debemos fomentar nuestro autoaprendizaje, pero por algo estamos en una Universidad, para tener una guía efectiva. Caso contrario podríamos comprar un libro y aprender por nuestra cuenta, lo cual es duro, pero el problema es que necesitamos el título.</p>
<p>Espero que estos cambios sean para bien en el futuro, por que lo que es hasta ahora, no se ve nada de progreso, Y es más, se supone que íbamos a estar en charlas donde se nos iba a informar con más detalle sobre el nuevo sistema y hasta ahora, <em><strong>muy bien gracias, sólo ha habido una charla de media hora, muy general y nada más.</strong></em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Chinos locos]]></title>
<link>http://jpangamarca.wordpress.com/2007/05/23/3/</link>
<pubDate>Wed, 23 May 2007 02:09:28 +0000</pubDate>
<dc:creator>Juan Pablo Angamarca</dc:creator>
<guid>http://jpangamarca.wordpress.com/2007/05/23/3/</guid>
<description><![CDATA[Algo que me he encontrado en el Internet, espero que se rían un rato.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Algo que me he encontrado en el Internet, espero que se rían un rato.</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/TZB2w6tOtpI&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/TZB2w6tOtpI&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
