<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-22206706</id><updated>2012-01-28T22:03:15.842-05:00</updated><category term='C++'/><category term='linux'/><category term='video tutoriales'/><category term='ejercicios en java'/><category term='videos'/><category term='hacking'/><category term='que es'/><category term='articulos'/><category term='revistas'/><category term='java'/><category term='noticias'/><category term='tutorial'/><title type='text'>Casidiablo</title><subtitle type='html'>En este blog puedes encontrar comentarios, informaci&amp;oacute;n, noticias, ejemplos de programas, mini tutoriales, fuentes de información y etc, etc, etc... acerca de los lenguajes de programación (sobre todo java), ejercicios en java, y talvez algo de Hacking e informática general.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default?start-index=101&amp;max-results=100'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>219</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-22206706.post-7995151622471960441</id><published>2007-06-25T16:08:00.000-05:00</published><updated>2008-06-12T15:18:15.819-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Me mudo de aquí</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Pues eso... aunque en realidad me demoré bastante, tomé al fin la decisión, y ahora me he mudado de hosting, y de blog, ya que pasó lo que tenía que pasar: preferí el Wordpress que el Blogger.&lt;br/&gt;&lt;br/&gt;Pues nada, solo darles las gracias ya que si no fuera por ustedes que leen y tal (que las cifras van subiendo), pues no me hubiera animado.&lt;br/&gt;&lt;br/&gt;Un saludos!!!&lt;br/&gt;&lt;br/&gt;P.d. Los que me seguían por un feed, pues nada, que lo cambiena ahora por este:&lt;br/&gt;&lt;br/&gt;&lt;a href='http://feeds.feedburner.com/casidiablo'&gt;http://feeds.feedburner.com/casidiablo&lt;/a&gt;&lt;br/&gt;Publicidad: &lt;a href='http://juegos.casidiablo.net/'&gt;Descarga de juegos gratis&lt;/a&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7995151622471960441?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7995151622471960441/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7995151622471960441' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7995151622471960441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7995151622471960441'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/me-mudo-de-aqu.html' title='Me mudo de aquí'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-787489963276058366</id><published>2007-06-23T19:32:00.000-05:00</published><updated>2007-06-23T19:37:42.890-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Según Microsoft, Ubuntu es Perfecto.</title><content type='html'>&lt;div align="justify"&gt;Bueno, talvez fui un poco sensasionalista con el título del post, mejor jusguen uds. Leo en &lt;a href="http://www.groklaw.net/article.php?story=2007062209235346"&gt;http://www.groklaw.net/&lt;/a&gt; que Microsoft estuvo mostrando en Marketplace, un pequeño post sobre Ubuntu con link de descarga y tal, y en donde afirma lo siguiente:&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Ubuntu es un sistema operativo desarollado por la comunidad que es perfecto para portátiles, ordenadores de sobremesa y servidores. Lo utilices en la escuela, en casa o en el trabajo, Ubuntu contiene todas las aplicaciones que puedas necesitar, desde procesador de texto y programas de correo electrónico, a servidor Web y herramientas de programación. Ubuntu es y siempre será gratuito. Usted no paga licencias.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Claro, esto ya fue borrado, pero para los que no se las creen pueden echar un vistazo al &lt;a href="http://72.14.253.104/search?q=cache:D1ZIAHrGuGIJ:www.windowsmarketplace.com/details.aspx%3Fitemid%3D3411347+ubuntu+windowsmarketplace&amp;hl=en&amp;amp;ct=clnk&amp;cd=1&amp;amp;gl=us"&gt;caché de Google&lt;/a&gt;.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Leo en Kriptopolis&lt;/strong&gt;: Bueno, ya nos imaginamos lo que ha podido ocurrir. Este sitio de Microsoft se nutre, probablemente de forma automatizada, de diversas fuentes. Una de ellas puede ser CNet Download, a donde alguien remitió Ubuntu como &lt;a href="http://www.download.com/Ubuntu-Desktop/3000-2098_4-10689104.html?tag=lst-0-1" target="_blank" rel="nofollow" closure_hashcode_="605"&gt;un software que funciona en todas las versiones de Windows&lt;/a&gt;. De ahí debió tomarlo Microsoft y así surgió el enredo. Falta saber si el error del posteador fue intencionado o no, y cómo ha podido pasar desapercibido durante todo un mes.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-787489963276058366?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/787489963276058366/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=787489963276058366' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/787489963276058366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/787489963276058366'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/segn-microsoft-ubuntu-es-perfecto.html' title='Según Microsoft, Ubuntu es Perfecto.'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3770498320922679843</id><published>2007-06-12T12:26:00.000-05:00</published><updated>2007-06-13T08:14:38.740-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux</title><content type='html'>&lt;div align="justify"&gt;Los chicos de la Revista USR Linux hace un tiempo han decidido liberar los primeros doce números de su excelente revista, bajo la licencia &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/ar" target="_blank"&gt;Creative Commons by-nc-sa 2.5 ar&lt;/a&gt;. Buen provecho!!!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-01.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux01-chica.gif" /&gt;&lt;/a&gt; &lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-02.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux02-chica.gif" /&gt;&lt;/a&gt;&lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-03.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux03-chica.gif" /&gt;&lt;/a&gt;&lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-04.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux04-chica.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-05.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux05-chica.gif" /&gt;&lt;/a&gt; &lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-06.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux06-chica.gif" /&gt;&lt;/a&gt;&lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-07.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux07-chica.gif" /&gt;&lt;/a&gt;&lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-08.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux08-chica.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-09.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux09-chica.gif" /&gt;&lt;/a&gt; &lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-10.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux10-chica.gif" /&gt;&lt;/a&gt;&lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-11.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux11-chica.gif" /&gt;&lt;/a&gt;&lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-12.html"&gt;&lt;img src="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/graphs/tapas/tapitas_chicas_home/linux12-chica.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Desde la página oficial:&lt;br /&gt;&lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/menu.htm"&gt;http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/menu.htm&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3770498320922679843?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3770498320922679843/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3770498320922679843' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3770498320922679843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3770498320922679843'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux.html' title='Revista USR Linux'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-8322824070451446942</id><published>2007-06-12T12:22:00.000-05:00</published><updated>2007-06-12T12:23:22.535-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 12</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Laboratorio: Knoppix 3.9 (Sebastian Bassi)&lt;br /&gt;//Laboratorio: Dasher (Daniel Videla)&lt;br /&gt;//Laboratorio: PC-BSD (Marcos Ibañez)&lt;br /&gt;//Comparativa: Desktop corporativo (Ariel Corgatelli)&lt;br /&gt;//Nota de tapa: Suites de oficina (Hector Facundo Arena)&lt;br /&gt;//Soluciones: Trucos (Santiago Vazquez)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Aplicaciones: Samba Secure Antivirus (Ariel Corgatelli)&lt;br /&gt;//Xwindow: Embelleciendo Linux (Juan Pablo Firrincieli)&lt;br /&gt;//Informe especial: Software libre para artistas (Lila Pagola)&lt;br /&gt;//CD-ROM: En el CD (Ariel Corgatelli)&lt;br /&gt;//Programación: Manejo de arreglos en Bash (Demian Pablo Alonso)&lt;br /&gt;//Seguridad: El proyecto TOR (Arturo Busleiman)&lt;br /&gt;//Servidores: Benchmarking y monitoreo (Agustin Casiva)&lt;br /&gt;//Servidores: Un servidor hogareño (Ariel Corgatelli)&lt;br /&gt;//Entrevista: Usuaria 2005 (Hector Facundo Arena)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Descargas en PDF:&lt;/strong&gt;&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx12a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx12b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-8322824070451446942?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/8322824070451446942/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=8322824070451446942' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8322824070451446942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8322824070451446942'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-12.html' title='Revista USR Linux - Edición 12'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7287908417239426116</id><published>2007-06-12T12:21:00.000-05:00</published><updated>2007-06-12T12:22:31.510-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 11</title><content type='html'>&lt;strong&gt;Contenido:&lt;br /&gt;&lt;/strong&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Laboratorio: Antivir Personal 6.30.00.17&lt;br /&gt;//Laboratorio: KOSmo 1.1 (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: VectorLinux SOHO (Ariel Corgatelli)&lt;br /&gt;//Nota de tapa: Programación visual (Demian Pablo Alonso)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Soluciones: Trucos (Ariel Corgatelli)&lt;br /&gt;//Distribuciones: Gentoo (Marcos Ibañez)&lt;br /&gt;//Shell: URPMI (Agustin Casiva)&lt;br /&gt;//CD-ROM: Ubuntu 5.04 (Sebastian Bassi)&lt;br /&gt;//Xwindow: KDE 3.4 (Juan Marcelo Rodriguez)&lt;br /&gt;//Desarrollo web: PHP Online (Martin Ramos Monso)&lt;br /&gt;//Servidores: OpenMosix (Marcos Ibañez)&lt;br /&gt;//Servidores: LTSP (Jose Jorge Masdeu)&lt;br /&gt;//Entrevista: Ricardo Suaya (Ariel Corgatelli)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Descargas en PDF: &lt;/strong&gt;&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx11a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx11b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7287908417239426116?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7287908417239426116/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7287908417239426116' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7287908417239426116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7287908417239426116'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-11.html' title='Revista USR Linux - Edición 11'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3105359081199381536</id><published>2007-06-12T12:19:00.001-05:00</published><updated>2007-06-12T12:21:07.724-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 10</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Informe especial: Creative Commons (Marcos Ibañez)&lt;br /&gt;//Laboratorio: Amarok 1.2 (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: RedHat Enterprise 4 (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: ARKLinux (Ariel Corgatelli)&lt;br /&gt;//Nota de tapa: 64 Bits (Hector Facundo Arena)&lt;br /&gt;//Soluciones: Trucos (Ariel Corgatelli)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Aplicaciones: Nmap (Ariel Corgatelli)&lt;br /&gt;//Salud: El pingüino doctor (Jorge Rodriguez)&lt;br /&gt;//Shell: Quotas de disco (Hector Facundo Arena)&lt;br /&gt;//Shell: YUM (Agustin Casiva)&lt;br /&gt;//CD-ROM: En el CD (Ariel Corgatelli)&lt;br /&gt;//Programación: Funciones (Demian Pablo Alonso)&lt;br /&gt;//Programación: Introducción a MONO (Agustin Casiva)&lt;br /&gt;//Servidores: Coyote Linux (Agustin Casiva)&lt;br /&gt;//Servidores: Un servidor hogareño (Ariel Corgatelli)&lt;br /&gt;//Entrevista: Solaris para todos&lt;br /&gt;//Opinión: Linux inseguro? (Hector Facundo Arena)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Descargas en PDF:&lt;/strong&gt;&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx10a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx10b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3105359081199381536?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3105359081199381536/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3105359081199381536' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3105359081199381536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3105359081199381536'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-10.html' title='Revista USR Linux - Edición 10'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-2863545906599544439</id><published>2007-06-12T12:17:00.000-05:00</published><updated>2007-06-12T12:19:29.351-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 09</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Informe especial: FLISOL 2005&lt;br /&gt;//Laboratorio: Linspire 5.0 (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: Abiword 2.2.5 (Hector Facundo Arena)&lt;br /&gt;//Nota de tapa: GNU/Linux + Windows: Amor imposible? (Hector Facundo Arena y Ariel Corgatelli)&lt;br /&gt;//Soluciones: Trucos (Ariel Corgatelli)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Aplicaciones: Fotografía digital (Juan Marcelo Rodriguez)&lt;br /&gt;//Shell: Open Mosix (Marcos Ibañez)&lt;br /&gt;//Shell: Slackware Linux (Juan Marcelo Rodriguez)&lt;br /&gt;//CD-ROM: DNA Linux (Sebastian Bassi)&lt;br /&gt;//Programación: Girando con Bash (Demian Pablo Alonso)&lt;br /&gt;//Desarrollo web: PHP Surveyor (Martin Ramos Monso)&lt;br /&gt;//Servidores: El comando select (Agustin Casiva)&lt;br /&gt;//Juegos: Glest (Juan Pablo Firrincieli)&lt;br /&gt;//Entrevista: Alejandro Avendaño&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Descargas en PDF:&lt;/strong&gt;&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx09a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx09b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-2863545906599544439?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/2863545906599544439/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=2863545906599544439' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2863545906599544439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2863545906599544439'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-09.html' title='Revista USR Linux - Edición 09'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6448119474964938226</id><published>2007-06-12T12:15:00.000-05:00</published><updated>2007-06-12T12:17:08.734-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 08</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Laboratorio: Mandrake 10.2 Beta 2 (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: Skype 0.94.0.1 Beta (Ariel Corgatelli)&lt;br /&gt;//Informe especial: Gurúes (Agustin Casiva)&lt;br /&gt;//Nota de tapa: Emulación (Juan Marcelo Rodriguez)&lt;br /&gt;//Soluciones: Trucos (Ariel Corgatelli)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Shell: badRAM (Marcos Ibañez)&lt;br /&gt;//Shell: El comando netstat (Ariel Corgatelli)&lt;br /&gt;//Aplicaciones: Exprimiendo Konqueror (Sebastian Bassi)&lt;br /&gt;//Sistemas operativos: Una experiencia de 64 bits (Sebastian Bassi)&lt;br /&gt;//CD-ROM: En el CD (Ariel Corgatelli)&lt;br /&gt;//Programación: Bash en 4 clases (Demian Pablo Alonso)&lt;br /&gt;//Programación: Gambas (Jonatan Pugliese)&lt;br /&gt;//Desarrollo web: Coppermine (Martin Ramos Monso)&lt;br /&gt;//Servidores: PostgreSQL (Agustin Casiva)&lt;br /&gt;//Opinión: Linux corporativo (Hector Facundo Arena)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Descargas en PDF:&lt;/strong&gt;&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx08a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx08b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6448119474964938226?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6448119474964938226/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6448119474964938226' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6448119474964938226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6448119474964938226'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-08.html' title='Revista USR Linux - Edición 08'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-2025316090770423129</id><published>2007-06-12T12:14:00.000-05:00</published><updated>2007-06-12T12:15:51.071-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 07</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Laboratorio: Server Optimized Linux 18.00 (Agustin Casiva)&lt;br /&gt;//Laboratorio: Ubuntu (Sebastian Bassi)&lt;br /&gt;//Nota de tapa: Reciclá tu hard (Hector Facundo Arena)&lt;br /&gt;//CD-ROM: SuSE 9.1 Personal&lt;br /&gt;//Soluciones: Trucos (Ariel Corgatelli)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Shell: Cifrado de documentos con GPG (Sebastian Bassi)&lt;br /&gt;//Shell: Software Suspend (Agustin Casiva)&lt;br /&gt;//Sistemas operativos: FreeBSD (Marcos Ibañez)&lt;br /&gt;//Aplicaciones: SpamAssassin (Ariel Corgatelli)&lt;br /&gt;//Personalización: Mejoras visuales (Juan Pablo Firrincieli)&lt;br /&gt;//Principiantes: Cómo acercarse a Linux? (Hector Facundo Arena)&lt;br /&gt;//Juegos: Cube (Juan Pablo Firrincieli)&lt;br /&gt;//Programación: Gambas (Jonatan Pugliese)&lt;br /&gt;//Kernel: ReiserFS 4 (Guido Lorenzutti)&lt;br /&gt;//Servidores: Cups (Juan Marcelo Rodriguez)&lt;br /&gt;//Opinión: El fin de las desktop (Hector Facundo Arena)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Descargas en PDF:&lt;/strong&gt;&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx07a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx07b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-2025316090770423129?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/2025316090770423129/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=2025316090770423129' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2025316090770423129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2025316090770423129'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-07.html' title='Revista USR Linux - Edición 07'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3734857165675428736</id><published>2007-06-12T12:12:00.000-05:00</published><updated>2007-06-12T12:13:51.686-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 06</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Laboratorio: Firestarter 1.0 (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: X.org (Ariel Corgatelli)&lt;br /&gt;//Actualidad: Reproductores multimedia (Ariel Corgatelli)&lt;br /&gt;//Nota de tapa: Optimización (Juan Marcelo Rodriguez)&lt;br /&gt;//CD-ROM: En el CD (Ariel Corgatelli)&lt;br /&gt;//Soluciones: Trucos&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Shell: Comando chmod (Ariel Corgatelli)&lt;br /&gt;//Shell: Aplicación de parches (Guido Lorenzutti)&lt;br /&gt;//Sistemas operativos: FreeBSD (Marcos Ibañez)&lt;br /&gt;//Desarrollo web: phpAdsNew (Martin Ramos Monso)&lt;br /&gt;//Seguridad: Auditorías de seguridad (Marcos Ibañez)&lt;br /&gt;//Programación: Un servidor de chat (Demian Pablo Alonso)&lt;br /&gt;//Servidores: Courier-MTA (Arturo Busleiman)&lt;br /&gt;//Opinión: Convivencia en paz (Hector Facundo Arena)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Descargas en PDF:&lt;/strong&gt;&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx06a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx06b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3734857165675428736?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3734857165675428736/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3734857165675428736' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3734857165675428736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3734857165675428736'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-06.html' title='Revista USR Linux - Edición 06'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4959331367978426307</id><published>2007-06-12T12:05:00.000-05:00</published><updated>2007-06-12T12:12:11.385-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 05</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Eventos: CaFeLUG '04 (Hector Facundo Arena)&lt;br /&gt;//Laboratorio: Mozilla Sunbird (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: TuxPaint (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: NVU 0.50 (Ariel Corgatelli)&lt;br /&gt;//Nota de tapa: Hardware (Juan Marcelo Rodriguez)&lt;br /&gt;//CD-ROM: UTUTO-e&lt;br /&gt;//PyMES: SaluX (Jorge Rodriguez)&lt;br /&gt;//Shell: El comando ifconfig (Hector Facundo Arena)&lt;br /&gt;//Shell: Kernel 2.6 (Guido Lorenzutti)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Soluciones: Trucos (Ariel Corgatelli)&lt;br /&gt;//Desarrollo web: Nuestro propio blog (Martin Ramos Monso)&lt;br /&gt;//Programación: Una línea de Perl (Demian Pablo Alonso)&lt;br /&gt;//Seguridad: PSAD (Guido Lorenzutti)&lt;br /&gt;//Servidores: PostgreSQL (Agustin Casiva)&lt;br /&gt;//Juegos: Vendetta! (Juan Pablo Firrincieli)&lt;br /&gt;//Entrevista: Marcelo Elías&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Descargas en PDF:&lt;/strong&gt;&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx05a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx05b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4959331367978426307?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/4959331367978426307/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=4959331367978426307' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4959331367978426307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4959331367978426307'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-05.html' title='Revista USR Linux - Edición 05'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7994217846826428871</id><published>2007-06-12T12:04:00.000-05:00</published><updated>2007-06-12T12:05:34.280-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 04</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Laboratorio: Mandrake 10.1 Official (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: Thunderbird (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: Firefox 1.0 (Ariel Corgatelli)&lt;br /&gt;//Comparativa: A bajar archivos! (Juan Pablo Firrincieli)&lt;br /&gt;//Nota de tapa: Nuevas distros (Juan Pablo Firrincieli)&lt;br /&gt;//CD-ROM: En el CD (Ariel Corgatelli)&lt;br /&gt;//PyMES: Panda Antivirus (Ariel Corgatelli)&lt;br /&gt;//Internet: La red BitTorrent (Juan Marcelo Rodriguez)&lt;br /&gt;//Internet: Winmodems (Juan Marcelo Rodriguez)&lt;br /&gt;//Soluciones: Trucos (Ariel Corgatelli)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Shell: BitchX (Juan Marcelo Rodriguez)&lt;br /&gt;//Programación: Programación de plugins (Sebastian Bassi)&lt;br /&gt;//Desarrollo web: PHPBB (Martin Ramos Monso)&lt;br /&gt;//Servidores: Protección al menor (Arturo Busleiman)&lt;br /&gt;//Juegos: Cedega 4.1 (Juan Pablo Firrincieli)&lt;br /&gt;//Entrevista: Diego Saravia&lt;br /&gt;&lt;br /&gt;Descargas en PDF:&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx04a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx04b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7994217846826428871?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7994217846826428871/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7994217846826428871' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7994217846826428871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7994217846826428871'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-04.html' title='Revista USR Linux - Edición 04'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3737595116832524755</id><published>2007-06-12T12:00:00.000-05:00</published><updated>2007-06-12T12:04:04.236-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 03</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Laboratorio: SuSE 9.1 Personal (Hector Facundo Arena)&lt;br /&gt;//Laboratorio: OpenOffice 1.1.3 (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: VLC Media Player (Hector Facundo Arena)&lt;br /&gt;//Laboratorio: PearPC (Juan Pablo Firrincieli)&lt;br /&gt;//Comparativa: Mensajería instantánea&lt;br /&gt;//Nota de tapa: A migrar! (Sebastian Bassi)&lt;br /&gt;//CD-ROM: Knoppix 3.6 (Hector Facundo Arena)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Soluciones: Trucos (Ariel Corgatelli)&lt;br /&gt;//Hogar: El formato PDF (Hector Facundo Arena)&lt;br /&gt;//PyMES: Galopin (Hector Facundo Arena)&lt;br /&gt;//Shell: Dispositivos en GNU/Linux (Ariel Corgatelli)&lt;br /&gt;//Shell: Procesos (Ariel Corgatelli)&lt;br /&gt;//Shell: Linux &amp; Palm (Jonatan Pugliese)&lt;br /&gt;//Seguridad: Nessus (Guido Lorenzutti)&lt;br /&gt;//Servidores: Courier-MTA (Arturo Busleiman)&lt;br /&gt;//Programación: SET's Editor (Demian Pablo Alonso)&lt;br /&gt;//Juegos: Doom 3 (Juan Pablo Firrincieli)&lt;br /&gt;//Entrevista: Martin Olivera (Hector Facundo Arena)&lt;br /&gt;&lt;br /&gt;Descargas PDF:&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx03a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx03b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3737595116832524755?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3737595116832524755/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3737595116832524755' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3737595116832524755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3737595116832524755'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-03.html' title='Revista USR Linux - Edición 03'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-828430479568128275</id><published>2007-06-12T11:57:00.000-05:00</published><updated>2007-06-12T12:00:23.249-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 02</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Laboratorio: Linspire 4.5 (Sebastian Bassi)&lt;br /&gt;//Laboratorio: aMule 2.0 (Ariel Corgatelli)&lt;br /&gt;//Comparativa: A navegar!&lt;br /&gt;//Nota de tapa: Audio &amp; Video (Hector Facundo Arena, Juan Rodriguez y Juan P. Firrincieli)&lt;br /&gt;//CD-ROM: En el CD (Ariel Corgatelli)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Soluciones: Trucos (Ariel Corgatelli)&lt;br /&gt;//PyMES: Luca (Hector Facundo Arena)&lt;br /&gt;//Internet: ADSL en Linux (Juan Rodriguez)&lt;br /&gt;//Shell: Cómo instalar programas (Ariel Corgatelli)&lt;br /&gt;//Redes: Squid &amp;amp; Netfilter (Arturo Busleiman)&lt;br /&gt;//Programación: Exclusión mutua (Demian Pablo Alonso)&lt;br /&gt;//Seguridad: GRSecurity (Guido Lorenzutti)&lt;br /&gt;//Desarrollo web: OSCommerce (Martin Ramos Monso)&lt;br /&gt;//Servidores: Nuestro propio server (Roberto Alejandro Rey)&lt;br /&gt;//Juegos: Emuladores de consolas&lt;br /&gt;//Entrevista: Daniel Olivera (Hector Facundo Arena)&lt;br /&gt;&lt;br /&gt;Descargas en PDF:&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx02a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx02b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-828430479568128275?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/828430479568128275/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=828430479568128275' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/828430479568128275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/828430479568128275'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-02.html' title='Revista USR Linux - Edición 02'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-1170792305887840679</id><published>2007-06-12T11:53:00.000-05:00</published><updated>2007-06-12T11:57:21.986-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista USR Linux - Edición 01</title><content type='html'>&lt;strong&gt;Contenido:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;//News: El Heraldo de GNU/Linux y Software Libre&lt;br /&gt;//Laboratorio: A quemar con K3B (Ariel Corgatelli)&lt;br /&gt;//Laboratorio: PlanMaker y TextMaker (Roberto Alejandro Rey)&lt;br /&gt;//Comparativa: GNU/Linux Visual (Juan Pablo Firrincieli)&lt;br /&gt;//Nota de tapa: Y ahora… cuál elegir? (Roberto Alejandro Rey)&lt;br /&gt;//Entrevista: Stallman (Hector Facundo Arena y Demian Pablo Alonso)&lt;br /&gt;//CD-ROM: Mandrake 10 (Roberto Alejandro Rey)&lt;br /&gt;//Soluciones: Consultas&lt;br /&gt;//Internet: ADSL en Linux (Juan Rodriguez)&lt;br /&gt;//PyMES: FacturaLUX (Hector Facundo Arena)&lt;br /&gt;//Hogar: Novell Evolution (Juan Pablo Firrincieli)&lt;br /&gt;//Soluciones: Trucos (Roberto Alejandro Rey)&lt;br /&gt;//Shell: Midnight Commander (Ariel Corgatelli)&lt;br /&gt;//Shell: Todo sobre Bash (Ariel Corgatelli)&lt;br /&gt;//Seguridad: GRSecurity (Guido Lorenzutti)&lt;br /&gt;//Programación: Programación de hilos (Demian Pablo Alonso)&lt;br /&gt;//Programación: AgataReport (Demian Pablo Alonso)&lt;br /&gt;//Desarrollo web: Mambo! (Martin Ramos Monso)&lt;br /&gt;//Servidores: Control de ancho de banda (Arturo Busleiman)&lt;br /&gt;//Juegos: Unreal Tournament 2004 (Juan Pablo Firrincieli)&lt;br /&gt;//Entrevista: IBM ama al Pingüino&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Descargas PDF:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx01a.pdf"&gt;Descargar en ALTA resolución&lt;/a&gt; ][ &lt;a href="http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/revistas/pdfs/lnx01b.pdf"&gt;Descargar en BAJA resolución&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-1170792305887840679?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/1170792305887840679/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=1170792305887840679' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1170792305887840679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1170792305887840679'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/revista-usr-linux-edicin-01.html' title='Revista USR Linux - Edición 01'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-2578803984419272330</id><published>2007-06-08T15:47:00.000-05:00</published><updated>2007-06-12T09:48:09.331-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>¿Indeciso?</title><content type='html'>&lt;div align="justify"&gt;A poco te decidiste a probar GNU/Linux, y no sabes que distro escoger entre tantas que te nombran... si es tu caso tal vez quieras hacerte un test en ésta página:&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://www.zegeniestudios.net/ldc/"&gt;http://www.zegeniestudios.net/ldc/&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;En donde con un pequeño cuestionario, te sugieren la Distro que más se acomode a tus conocimientos y gustos...&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Espero te sirva.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Saludos!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-2578803984419272330?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/2578803984419272330/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=2578803984419272330' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2578803984419272330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2578803984419272330'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/indeciso.html' title='¿Indeciso?'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4588058193463454064</id><published>2007-06-08T14:32:00.000-05:00</published><updated>2007-06-08T14:33:49.202-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><title type='text'>Windows Vista Aero VS Ubuntu + Beryl</title><content type='html'>&lt;div align="left"&gt;Pues, nada complicado saber quien va a ganar.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xC5uEe5OzNQ"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/xC5uEe5OzNQ" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4588058193463454064?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/4588058193463454064/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=4588058193463454064' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4588058193463454064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4588058193463454064'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/windows-vista-aero-vs-ubuntu-beryl.html' title='Windows Vista Aero VS Ubuntu + Beryl'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3344210008768656660</id><published>2007-06-08T14:31:00.000-05:00</published><updated>2007-06-08T14:34:02.472-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><title type='text'>Instala Windows Vista en 2 Minutos</title><content type='html'>&lt;p align="center"&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/FVbf9tOGwno"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/FVbf9tOGwno" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3344210008768656660?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3344210008768656660/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3344210008768656660' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3344210008768656660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3344210008768656660'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/instala-windows-vista-en-2-minutos.html' title='Instala Windows Vista en 2 Minutos'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3169322031113442895</id><published>2007-06-06T12:43:00.000-05:00</published><updated>2007-06-06T12:57:35.593-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>sudo grosero &gt;:(</title><content type='html'>&lt;div align="justify"&gt;De seguro la mayoría ya lo conoce, pero para los que no... resulta que el famsos y útil comando sudo tiene un pequeño "huevo de pascua" XD. Es posible configurarlo para que, en caso de errar en el password, no nos pida perdón (Sorry, try again), sino que nos "insulte".&lt;/div&gt;&lt;p align="justify"&gt;¿cómo se hace? Fácil, editamos el archivo /etc/sudoers, preferiblemente con el comando visudo:&lt;/p&gt;&lt;br /&gt;&lt;p class="codigomain"&gt;sudo visudo&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Colocamos el cursor donde dice Defaults, y agregamos la palabra insults:&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5073010326392485650" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_1f_-HOfG6iQ/Rmb0A46DNxI/AAAAAAAAAGk/BET62c5TUZQ/s400/sudo.PNG" border="0" /&gt;&lt;p&gt;Guardamos los cambios (Ctrl+o) y cerramos nano (Ctrl+x). Ahora para borrar los passwords que sudo deja en el caché digitamos:&lt;/p&gt;&lt;p class="codigomain"&gt;sudo -K&lt;/p&gt;&lt;p&gt;Ahora para probar, ejecutaremos algún programa con sudo, dandole contraseñas falsas, con lo que nos salen cosas como estas:&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5073011722256856866" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_1f_-HOfG6iQ/Rmb1SI6DNyI/AAAAAAAAAGs/p9XxMnGOuLE/s400/sudo.PNG" border="0" /&gt;&lt;p&gt;Saludos!!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3169322031113442895?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3169322031113442895/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3169322031113442895' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3169322031113442895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3169322031113442895'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/sudo-grosero.html' title='sudo grosero &gt;:('/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_1f_-HOfG6iQ/Rmb0A46DNxI/AAAAAAAAAGk/BET62c5TUZQ/s72-c/sudo.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6149621499473257140</id><published>2007-06-06T12:17:00.001-05:00</published><updated>2007-06-06T12:19:05.482-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Actualizados los video tutoriales</title><content type='html'>Se han agregado cuatro nuevas entradas en:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://casidiablo.blogspot.com/2006/03/video-tutoriales-java-netbeans.html" tituloagradable="Ver entrada!!!"&gt;Video Tutoriales&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Saludos!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6149621499473257140?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6149621499473257140/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6149621499473257140' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6149621499473257140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6149621499473257140'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/06/actualizados-los-video-tutoriales.html' title='Actualizados los video tutoriales'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4617514463886044288</id><published>2007-05-28T14:49:00.000-05:00</published><updated>2007-05-28T14:52:56.776-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Tutoriales de Programación de Pics [semi-actualizados]</title><content type='html'>&lt;p&gt;Algunos tutoriales de Programación de Pics...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2006/11/introduccin-microcontroladores-pic.html"&gt;Introducción a microcontroladores PIC [simulando nuestro programas en ASM y C]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2006/11/programacin-de-microcontroladores.html/"&gt;Programación de Microcontroladores PIC16X84 [Diagramas de montaje + Programas]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2006/11/grabando-nuestros-programas-en-asm-y-c.html"&gt;Grabando nuestros programas en ASM y C en los PIC's&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Espero les sirva!!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4617514463886044288?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/4617514463886044288/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=4617514463886044288' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4617514463886044288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4617514463886044288'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/05/tutoriales-de-programacin-de-pics-semi.html' title='Tutoriales de Programación de Pics [semi-actualizados]'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-115263636505621729</id><published>2007-05-28T14:30:00.000-05:00</published><updated>2007-05-28T14:39:14.588-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='ejercicios en java'/><title type='text'>Ordenamiento de arreglos con la clase Arrays</title><content type='html'>&lt;div align="justify"&gt;Pues bien, esta vez vamos a tratar uno de los temas típicos, en lo que a la programación se refiere, y me refiero al ordenamiento de arreglos. Esto no solo es un paso más en el desarrollo de la lógica, cuando estamos aprendiendo, sino una herramienta muy útil en el campo de la programación.&lt;br /&gt;&lt;br /&gt;Ahora bien, a nosotros nos enseñan los métodos típicos de ordenamiento de arreglos (arrays o vectores, como quieran llamarlo), como lo son el Burbuja, el Quicksort, etc. Pero hay una clase de la API de utlierías de Java (java.util) que nos facilita esto, y es la clase Arrays. Y utilizandola es fácil ordenar un arreglo, con tan solo una instrucción.&lt;br /&gt;&lt;br /&gt;La clase Arrays proporciona métodos (funciones) estáticos para manipular arreglos. Estos métodos son de alto nivel, como el sort para ordenar un arreglo, binarySearch para buscar en un arreglo ordenado, equals para comparar arreglos y fill para colocar valores en un arreglo. Y además estos métodos se sobrecargan para los tipos primitivos de arreglos (int, double, etc.) y para los arreglos Object (String, JPanel, Jbutton, etc.).&lt;br /&gt;&lt;br /&gt;Para que todo esto quede claro vamos a realizar un fácil ejemplo:&lt;br /&gt;&lt;/div&gt;&lt;p class="codigomain"&gt;import java.util.*;&lt;br /&gt;public class UsoArrays {&lt;br /&gt;&lt;br /&gt;private int numerosEnteros[] = { 1, 2, 3, 4, 5, 6 };&lt;br /&gt;&lt;br /&gt;private double numerosDouble[] = { 8.4, 9.3, 0.2, 7.9, 3.4 };&lt;br /&gt;&lt;br /&gt;private int llenoEnteros[], copiaNumerosEnteros[];&lt;br /&gt;&lt;br /&gt;// inicializar los arreglos&lt;br /&gt;&lt;br /&gt;public UsoArrays()&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;llenoEnteros = new int[ 10 ];&lt;br /&gt;&lt;br /&gt;copiaNumerosEnteros = new int[ numerosEnteros.length ];&lt;br /&gt;&lt;br /&gt;Arrays.fill( llenoEnteros, 7 ); // llenar con 7s&lt;br /&gt;&lt;br /&gt;Arrays.sort( numerosDouble ); // ordenar numerosDouble en forma ascendente&lt;br /&gt;&lt;br /&gt;// copiar el arreglo numerosEnteros en el arreglo copiaNumerosEnteros&lt;br /&gt;&lt;br /&gt;System.arraycopy( numerosEnteros, 0, copiaNumerosEnteros, 0, numerosEnteros.length );&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// mostrar los valores en cada arreglo&lt;br /&gt;&lt;br /&gt;public void imprimirArreglos()&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;System.out.print( "numerosDouble: " );&lt;br /&gt;&lt;br /&gt;for ( int cuenta = 0; cuenta &amp;lt;numerosDouble.length; cuenta++)&lt;br /&gt;&lt;br /&gt;System.out.print( numerosDouble[ cuenta ] + " " );&lt;br /&gt;&lt;br /&gt;System.out.print( "\nnumerosEnteros: " );&lt;br /&gt;&lt;br /&gt;for ( int cuenta = 0; cuenta &amp;lt;numerosEnteros.length; cuenta++)&lt;br /&gt;&lt;br /&gt;System.out.print( numerosEnteros[ cuenta ] + " " );&lt;br /&gt;&lt;br /&gt;System.out.print( "\nllenoEnteros: " );&lt;br /&gt;&lt;br /&gt;for ( int cuenta = 0; cuenta &amp;lt;llenoEnteros.length; cuenta++)&lt;br /&gt;&lt;br /&gt;System.out.print( llenoEnteros[ cuenta ] + " " );&lt;br /&gt;&lt;br /&gt;System.out.print( "\ncopiaNumerosEnteros: " );&lt;br /&gt;&lt;br /&gt;for ( int cuenta = 0; cuenta &amp;lt;copiaNumerosEnteros.length; cuenta++)&lt;br /&gt;&lt;br /&gt;System.out.print( copiaNumerosEnteros[ cuenta ] + " " );&lt;br /&gt;&lt;br /&gt;System.out.println();&lt;br /&gt;&lt;br /&gt;} // fin del método imprimirArreglos&lt;br /&gt;&lt;br /&gt;// comparar el contenido de los arreglos&lt;br /&gt;&lt;br /&gt;public void imprimirIgualdad()&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;boolean b = Arrays.equals( numerosEnteros, copiaNumerosEnteros );&lt;br /&gt;&lt;br /&gt;System.out.println( "numerosEnteros " + ( b ? "==" : "!=" ) +&lt;br /&gt;&lt;br /&gt;" copiaNumerosEnteros" );&lt;br /&gt;&lt;br /&gt;b = Arrays.equals( numerosEnteros, llenoEnteros );&lt;br /&gt;&lt;br /&gt;System.out.println( "numerosEnteros " + ( b ? "==" : "!=" ) +&lt;br /&gt;&lt;br /&gt;" llenoEnteros" );&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int buscarUnEntero(int x)&lt;br /&gt;{&lt;br /&gt;return Arrays.binarySearch(numerosEnteros, x);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void main( String args[] )&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;UsoArrays usoArrays = new UsoArrays();&lt;br /&gt;&lt;br /&gt;usoArrays.imprimirArreglos();&lt;br /&gt;&lt;br /&gt;usoArrays.imprimirIgualdad();&lt;br /&gt;&lt;br /&gt;int ubicacion = usoArrays.buscarUnEntero( 5 );&lt;br /&gt;&lt;br /&gt;System.out.println( ( ubicacion &amp;gt;= 0 ? "Se encontro el 5 en el elemento " +&lt;br /&gt;&lt;br /&gt;ubicacion : "No se encontro el 5" ) + " en numerosEnteros" );&lt;br /&gt;&lt;br /&gt;ubicacion = usoArrays.buscarUnEntero( 8763 );&lt;br /&gt;&lt;br /&gt;System.out.println( ( ubicacion &amp;gt;= 0 ? "Se encontro el 8763 en el elemento " +&lt;br /&gt;&lt;br /&gt;ubicacion : "No se encontro el 8763" ) + " en numerosEnteros" );&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;} // fin de la clase UsoArrays&lt;/p&gt;&lt;div align="justify"&gt;En este sencillo ejemplo, se muestra el uso del método:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;Arrays.fill(): que recibe un como argumentos un arreglo, y el valor con el que se va a rellenar el mismo.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Arrays.sort(): que recibe como argumento un arreglo, que será ordenado ascendentemente.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;System.arraycopy(): que recibe 5 argumentos. El primer argumento (valoresEnteros) es el arreglo a partir del cual se van a copiar los elementos; el segundo argumento (0) es el índice que especifica el punto de inicio en el rango de elementos que se van a copiar del arreglo; este valor puede ser cualquier índice de arreglo válido. El tercer argumento (copiaNumerosEnteros) especifica el arreglo de destino que almacenará la copia. El cuarto argumento (0) especifica el índice en el arreglo de destino, en donde deberá guardarse el primer elemento copiado. El último argumento especifica el numero de elementos a copiar del arreglo en el primer argumento. En este caso copiaremos todos los elementos en el arreglo.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Arrays.equals(): este método recibe como argumentos dos arreglos que serán comparados, y que retorna un valor boolean como resultado de la comparación. true si son iguales, false en caso contrario... si, ya se que es obvio, pero es que hay gente que... en fin.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;div align="justify"&gt;Aunque me salí un poco del tema principal (ordenamiento de arreglos), creo que la esencia del mismo queda más que comprendida. Solo agregar que si hasta ahora estás aprendiendo a programar, es mejor que implementes los métodos de ordenamiento a mano, es decir, empleando la lógica y utilizando instrucciones como for, if, else, etc. ya que no tendría gracia utilizar estos métodos sin siquiera tener un poco de experiencia... esta API la implementaron para hacernos las cosas más fáciles, pero no abuses.&lt;br /&gt;&lt;br /&gt;Saludos!!! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-115263636505621729?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/115263636505621729/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=115263636505621729' title='4 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/115263636505621729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/115263636505621729'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2006/07/ordenamiento-de-arreglos-con-la-clase.html' title='Ordenamiento de arreglos con la clase Arrays'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7059806196676600809</id><published>2007-05-28T12:51:00.000-05:00</published><updated>2007-05-28T12:56:11.606-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Acerca de OpenJavaDay - OpenSolarisDay</title><content type='html'>&lt;p align="center"&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ryOxkIcF9Lk"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/ryOxkIcF9Lk" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;p&gt;No, esto no es un video tutorial XD... es un vídeo acerca de OpenJavaDay y OpenSolarisDay, copio y pego información:&lt;/p&gt;&lt;p class="cita"&gt;Sun Microsystems y las Comunidades Abiertas de Java y OpenSolaris te invitan al OpenJavaDay - OpenSolarisDay, que se celebrará el próximo dÍa 31 de Mayo, en la Universidad Carlos III de Madrid (campus de Leganés), un encuentro que constituye la décima edición en España de la sesión para desarrolladores.&lt;br /&gt;&lt;br /&gt;Concebido como un foro abierto de carácter tecnológico, reunirá a los principales expertos para que compartan las últimas novedades sobre JavaFX, NetBeans, Glassfish, OpenSolaris, OpenJDK, BPEL, OpenESB y SOA entre otras muchas.&lt;br /&gt;&lt;br /&gt;El objetivo: hacer realidad la Era de la Participación, promovida por Sun, en el que las Tecnologías Abiertas cobran protagonismo gracias a las Comunidades que se crean en torno a ellas, dando un valor social a los usuarios, y haciendo posible la Web 2.0.&lt;/p&gt;&lt;p&gt;Bonita manera de hacer publicidad, no creen?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7059806196676600809?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7059806196676600809/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7059806196676600809' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7059806196676600809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7059806196676600809'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/05/acerca-de-openjavaday-opensolarisday.html' title='Acerca de OpenJavaDay - OpenSolarisDay'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-429131902414195567</id><published>2007-05-26T11:12:00.000-05:00</published><updated>2007-05-26T11:21:39.718-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Lo prometido es deuda... Sun libera el código fuente de Java</title><content type='html'>&lt;p class="cita" align="justify"&gt;El proyecto OpenJDK bebe de las fuentes intelectuales de OpenSolaris y tiene como objetivo reunir a su alrededor una comunidad de desarrolladores en código libre que continúen con la plataforma Java.&lt;/p&gt;&lt;p align="justify"&gt;Tal y como prometió hace ya algún tiempo, Sun Microsystems ha liberado la parte principal del código fuente de Java, fundando para ello el proyecto OpenJDK y colocando online todo el código fuente necesario para compilar una versión funcional del JDK de Java SE (Standard Edition).&lt;br /&gt;La cesión de este código fuente se hace bajo la protección de la licencia GPL versión 2, lo que pese a no sorprender en exceso, por lo menos sí puede provocar nuestra sonrisa al haber sido liberado el código de Solaris bajo un tipo de licencia reconocida como libre pero incompatible con la GPL: la CDDL (Common Development and Distribution License), que es la que habitualmente utiliza Sun y que deriva de la licencia Mozilla en su versión 1.1 .&lt;/p&gt;&lt;p align="justify"&gt;A partir de este punto, la vida de Java será como la de OpenOffice/StarOffice o OpenSolaris/Solaris: por un lado, la comunidad independiente de programadores desarrollará el estándar y todas las herramientas necesarias para trabajar con él. Esto quiere decir que tanto los entornos de ejecución como el kit básico de programación (JDK) serán desarrollados por esta comunidad.&lt;/p&gt;&lt;p align="justify"&gt;Por la otra parte, Sun Microsystems utilizará el código fuente de estos proyectos para sus propios productos a los que ofrecerá soporte técnico de pago. Además, la multinacional norteamericana ha prometido que hará lo necesario para que sus herramientas se integren al máximo con el nuevo Java, como por ejemplo el entorno integrado de programación (IDE) NetBeans.&lt;/p&gt;&lt;p align="justify"&gt;Por el momento, la dirección del proyecto OpenJDK ha sido puesta en manos de un comité interino hasta que sea la propia comunidad formada a su alrededor quien esté lo suficientemente consolidada y cohesionada para elegir por ella misma y de forma democrática un comité director.&lt;br /&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;La importancia de esta decisión&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;Java es un lenguaje de programación y plataforma muy importante hoy en día. Su presencia en computadoras de sobremesa y dispositivos móviles (especialmente teléfonos) es notable, existiendo entornos de ejecución para los principales sistemas operativos: Windows, Mac OS X, Linux, Symbian...&lt;/p&gt;&lt;p align="justify"&gt;Su uso es sobretodo empresarial en las computadoras de sobremesa, aunque también existen numerosas aplicaciones de usuario, y es uno de los reyes indiscutibles de Internet, facilitando la creación de aplicaciones que funcionan online. No obstante, su estrella se ha visto un poco apagada por la irrupción de AJAX.&lt;/p&gt;&lt;p align="justify"&gt;En el sector de la telefonía móvil son numerosos los programas lúdicos o aplicaciones serias que utilizan Java para ser multiplataforma, ya que hoy en día son pocos los terminales de telefonía que salen de fábrica sin tener instalada la máquina virtual Java.&lt;/p&gt;&lt;p align="justify"&gt;Con este movimiento, Sun se gana las simpatías del movimiento del software libre (Richard Stallman ya ha apreciado el gesto llevado a cabo por la empresa norteamericana) con toda la cantidad de desarrolladores que ello implica, y que ahora pueden verse tentados por los cantos de sirena de Java y sus posibilidades multiplataforma.&lt;/p&gt;&lt;p align="justify"&gt;La inclusión de Java en distribuciones GNU/Linux como Debian que hasta ahora no era posible debido a su licencia restrictiva, va a ser ahora factible, lo que implica una mayor penetración de Java en el mercado. Además, ahora ya no nos tendremos que plantear dudas sobre que pasará en el futuro de esta plataforma, pues cualquier cambio va a ser dictado por la comunidad. La continuidad es algo que preocupa al sector empresarial, en el cual -y como he comentado antes- Java tiene un buen mercado, por lo que con este movimiento se tranquiliza a los clientes que puedan estar preocupados por el futuro a medio/largo plazo de la plataforma pese a la solidez demostrada por Sun Microsystems como empresa.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Más información:&lt;br /&gt;&lt;/strong&gt;OpenJDK: &lt;a href="http://openjdk.java.net/"&gt;http://openjdk.java.net/&lt;/a&gt;&lt;br /&gt;Nota de prensa de Sun anunciando la publicación del código fuente del JDK&lt;a href="http://www.sun.com/aboutsun/pr/2007-05/sunflash.20070508.3.xml"&gt;http://www.sun.com/aboutsun/pr/2007-05/sunflash.20070508.3.xml&lt;/a&gt;&lt;br /&gt;&lt;a href="http://diariored.com/blog/001687.php"&gt;DiarioRed&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-429131902414195567?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/429131902414195567/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=429131902414195567' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/429131902414195567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/429131902414195567'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/05/lo-prometido-es-deuda-sun-libera-el.html' title='Lo prometido es deuda... Sun libera el código fuente de Java'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6066138781059951233</id><published>2007-05-25T07:11:00.000-05:00</published><updated>2007-05-25T07:22:00.771-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><title type='text'>Entornos gráficos de bajo en Linux</title><content type='html'>Desde &lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lpmagazine.org/es/linuxplus/download.html" target="_blank"&gt;http://lpmagazine.org&lt;/a&gt;, David Alverez García ha sacado un excelente artículo acerca de los entornos o escritorios para Linux, que no conusmen demasiados recursos, ideal para aquellos que no tienen máquinas muy potentes... desde la misma página leo algo así:&lt;p class="cita"&gt;Los entornos gráficos minimalistas son aquellos que consumen muy pocos recursos del sistema, tanto CPU como memoria RAM, permitiendo el uso de Linux con máquinas antiguas para escritorio o incluso trabajar. Este tipo de entornos son con mucha asiduidad usados por desarrolladores, gente experta o con cierto curtimiento en el mundo Linux debido a que ofrecen una gran velocidad de procesamiento, poco consumo de memoria RAM y son simples, lo cual implica menos bugs, son fáciles de usar por norma y la mayoría son muy configurables para cualquier tipo de tarea.&lt;/p&gt;&lt;p class="descarga"&gt;&lt;a href="http://castidiablo.googlepages.com/22_27_entornos_graficos.pdf" title="Descargar el articulo!!!"&gt;Descargar el articulo en PDF&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6066138781059951233?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6066138781059951233/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6066138781059951233' title='3 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6066138781059951233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6066138781059951233'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/05/entornos-grficos-de-bajo-en-linux.html' title='Entornos gráficos de bajo en Linux'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-1671461504572250472</id><published>2007-05-13T17:00:00.000-05:00</published><updated>2007-05-13T18:05:37.861-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><title type='text'>Imagenes a volar!!!</title><content type='html'>Me he pillado en los &lt;a href="http://foro.elhacker.net"&gt;foros de elhacker.net&lt;/a&gt; un Script de JavaScript muy curioso... por ejemplo, en la barra de direcciones del navegador pones el siguiente código: &lt;p class="codigomain"&gt;javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);&lt;/p&gt;Enter, y listo!!!&lt;br /&gt;&lt;br /&gt;En cualquier página sirve, y con los navegadores IE, Firefox, y Opera.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-1671461504572250472?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/1671461504572250472/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=1671461504572250472' title='4 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1671461504572250472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1671461504572250472'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/05/imagenes-volar.html' title='Imagenes a volar!!!'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7650988310679688958</id><published>2007-05-10T09:59:00.000-05:00</published><updated>2007-05-10T10:06:31.109-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>WarZone.elhacker.net, nuevo site de WarGames y retos hacking de elhacker.net</title><content type='html'>Pues eso... después de bastante tiempo de desarrollo por fin se ha liberado una zona de Wargames oficial de elhacler.net. Copio y pego:&lt;p class="cita"&gt;Esta es un &lt;a href="http://en.wikipedia.org/wiki/Wargaming" target="_blank"&gt;wargame&lt;/a&gt;, que contiene una serie de pruebas con "simulaciones" de escenarios con algun vector de ataque.. que van en diversos temas, desde Hack nivel web, hasta criptografia.El funcionamiento de WarZone es el siguiente:Tu empiezas con un rango (new), en el cual se te mostrarán algunas pruebas en varias categorias.Cuando pases cualquier prueba de este rango, pasaras al siguiente, donde tendras acceso a todas las puebas del siguiente rango.Hay 7 rangos, por lo que teoricamente con resolver 7 pruebas terminas warzone.. sinembargo existe tambien la puntuación.Los primeros 5 lugares son mostrados en la pagina de Estadisticas de WarZone.Las puntuaciones de WarZone son dinámicas, es decir, si una persona tiene exactamente las mismas pruebas pasadas que otra, es probable que tengan diferente puntuación, ya que entre otras cosas, WarZone da preferencia a los usuarios que pasaron primero la prueba, y la puntuación estadística que esta persona le da a la prueba.&lt;/p&gt;El post de inaguración: &lt;a href="http://foro.elhacker.net/index.php/topic,164444.0.html"&gt;http://foro.elhacker.net/index.php/topic,164444.0.html&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7650988310679688958?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7650988310679688958/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7650988310679688958' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7650988310679688958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7650988310679688958'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/05/warzoneelhackernet-nuevo-site-de.html' title='WarZone.elhacker.net, nuevo site de WarGames y retos hacking de elhacker.net'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-1348814398158179590</id><published>2007-05-07T14:06:00.000-05:00</published><updated>2007-05-07T14:21:37.213-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><title type='text'>Niblex, para crear tu propia distribución de Linux personalizada</title><content type='html'>&lt;div align="justify"&gt;Menuda distribución de Linux me he pillado. Nimblex es un distro de Linux basado en Slackware, y que puede correr desde un CD o un pendrive USB. ¿y qué con eso? casi todas vienen así ahora.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Lo novedoso de esta distribución es que te permite crear la distro con los paquetes que quieras, antes de haberla descargado... para probar puedes &lt;a href="http://custom.nimblex.net"&gt;ir a ésta página&lt;/a&gt;, en donde puedes seleccionar los programas a instalar. Luego, al darle click en Generate my Nimblex, el programa generará una imagen de disco ISO, lista para descargar.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Está chulo, vale la pena probarlo... claro, si lo que quieres es hacer tu propia distro desde cero, lo mejor es echarle un vistazo al proyecto &lt;a href="http://www.linuxfromscratch.org/"&gt;LFS&lt;/a&gt;.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Saludos!!!&lt;/div&gt;&lt;div align="justify"&gt;Adiaŭ!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-1348814398158179590?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/1348814398158179590/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=1348814398158179590' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1348814398158179590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1348814398158179590'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/05/niblex-para-crear-tu-propia-distribucin.html' title='Niblex, para crear tu propia distribución de Linux personalizada'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-5189241777003211471</id><published>2007-05-05T14:13:00.000-05:00</published><updated>2007-05-05T14:52:18.872-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><title type='text'>4 trucos, consejos o tips para el programador</title><content type='html'>&lt;div align="justify"&gt;Aunque es estado un poco offline ultimamente, por cuestiones de trabajo, hay que hacer labor de blogger y postear una que otra vez, que sino el blog se me va al piso. En esta ocasión recomendarles unos consejitos que recopilé en las últimas dos semanas, de dos fuentes recomendadas: &lt;a href="http://albertovilches.com/"&gt;Yo, programador&lt;/a&gt; y &lt;a href="http://www.javahispano.org/"&gt;javaHispano&lt;/a&gt;. Hay van...&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Consejos para programar en Swing&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Un listado de consejos y buenas prácticas para desarrollar en Swing. No son patrones, no son trucos, son consejos desde el dolor de haber sufrido durante tiempo fruto de la experiencia y del día a día. No los pases por alto si te vas a meter de cabeza con Swing:&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;En la aplicación sólo debe haber &lt;a href="http://www.chuidiang.com/java/novatos/JFrame_JDialog.php" target="_blank"&gt;un único JFrame&lt;/a&gt;, correspondiente a la aplicación principal. Todas las ventanas secundarias deben ser JDialog. Todas las ventanas secundarias deben tener una ventana padre, que es a partir de la cual se despliega. Es decir, todos los JDialog secundarios deben tener como padre al JFrame principal. Si desde un JDialog se va a visualizar otro, este segundo debe tener como padre al primero, y así sucesivamente.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Evita en lo posible los JDialog modales, o ten muy en cuenta su jerarquía de padres. El primer JDialog modal no tiene problemas si le pones su padre adecuadamente. Si tienes un JDialog modal visible, no muestres otro JDialog secundario, salvo que también sea modal y sea hijo del anterior. Si pones visibles a la vez dos JDialog modales y no son el uno hijo del otro, tendrás problemas al intentar escribir en ellos o cerrarlos.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Nunca heredes de JFrame o JDialog o JApplet para hacer tus ventanas. Hazlo siempre de un componente que no sea ventana y que no te limite. Si tus ventanas heredan de JPanel, podrás ponerlas siempre que quieras dentro de un JFrame, un JDialog, un JInternalFrame, un JApplet o incluso incrustarlas en otro JPanel. Si tu ventana hereda de JFrame, está condenada a ser un JFrame toda su vida.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Reaprovecha las ventanas, no se las dejes al recolector de basura. Si un botón, al apretarlo, visualiza un JDialog, no hagas un new de JDialog cada vez que pulsas el botón. Es mejor hacer sólo un new la primera vez y guardarselo. En las siguientes veces bastará con hacer setVisible(true) y setVisible(false). Para que el recolector de basura libere una ventana, además de lo habitual, hay como minimo que llamar al método dispose() de dicha ventana  -cosa que mucha gente no sabe- , para que el sistema de eventos de teclado y ratón eliminen todas las referencias que tienen a ella. De todas formas, incluso así no tengo muy claro que los JDialog se liberen siempre y, desde luego, en versiones anteriores de java, los JFrame NUNCA se liberaban. La excusa de SUN es que como sólo debía haber un JFrame principal, no tenía sentido liberarlo.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Los &lt;a href="http://www.chuidiang.com/chuwiki/index.php?title=Uso_de_Layouts" target="_blank"&gt;layouts&lt;/a&gt; para situar componentes no son tan complicados, sólo hay que ponerse a ello. No uses el layout null, ya que tu ventana no será redimensionable y puedes tener problemas si cambia la fuente de letra, si tu programa se ejecuta en otro sistema operativo, se cambia el look &amp; feel, etc.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Una vez que sepas los layouts simples, tenderás a hacer ventanas grandes a base de anidar muchos JPanel que a su vez tienen dentro JPanel que su vez tienen dentro JPanel, todos ellos con un layout simple. Eso hace ventanas muy pesadas y que consumen mucho. Aprende a usar el &lt;a href="http://www.chuidiang.com/java/layout/GridBagLayout/GridBagLayout.php" target="_blank"&gt;GridBagLayout &lt;/a&gt;para hacer un solo panel con todo. La excepción a esto es que tengas pequeños JPanel reutilizables, como un editor de coordenadas geográficas que pida latitud, norte/sur, longitud, este/oeste, un panel que pida usuario y password, etc. &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Todos los eventos de ratón y teclado se ejecutan en el mismo &lt;a href="http://www.chuidiang.com/chuwiki/index.php?title=El_hilo_de_awt" target="_blank"&gt;hilo que repinta las ventanas&lt;/a&gt;. Si en un actionPerformed(), keyPressed(), … tu código tarda mucho o pretendes que se pinte algo en una ventana, simplemente no lo hará hasta que tu código termine. Si tu código en un actionPerformed() va a tardar mucho o tiene que pintar cosas en la ventana, lanza un hilo aparte para hacer esa tarea y termina el actionPerformed() lo antes posible.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="justify"&gt;&lt;strong&gt;Los diez errores más comunes en el diseño de una base de datos&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Un poco off-topic este enlace pero creo que es bastante interesante para la mayoría de los desarolladores que consultan este portal. Louis Davidson es un experto en el diseño de Base de Datos y es autor del libro &lt;a href="http://www.amazon.com/Server-2005-Database-Design-Optimization/dp/1590595297/sr=8-1/qid=1172492848/ref=pd_bbs_sr_1/002-0414415-6670404?ie=UTF8&amp;s=books" target="_blank"&gt;SQL Server 2005 Database Design and Optimization&lt;/a&gt; en el artículo aquí enlazado presenta los diez errores más comunes en el diseño de una BD que el ha detectado a lo largo de su experiencia:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;Mala planeación del diseño&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Ignorar la normalización&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Estándares de nomenclatura deficientes&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Falta de documentación&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Una sola tabla para guardar todos los valores del dominio&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Usar columnas GUID como la única llave de una tabla&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;No usar las funcionalidades SQL para preservar la integridad de los datos&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;No usar Stored Procedures para acceder a los datos&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Intentar construir objetos genéricos en los stored procedures&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Falta de pruebas&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;En mi experiencia la mayoría de los desarrollos donde he trabajado presentan algunas de estas deficiencias en su base de datos. Creo yo que en muchos de los casos es porque se deja a un programador diseñar la base cuando debe ser haber un DBA involucrado en el proceso. Se que muchos proyectos no pueden pagar el sueldo de un DBA en exclusivo pero creo que al menos debe haber un DBA por organización que supervise el diseño elaborado por los programadores, lo mejore y le de su visto bueno.&lt;/p&gt;&lt;p align="justify"&gt;Con las bases de datos pasa como con el diseño web, cuando se deja en manos de un programador el resultado puede ser un desastre e imagino que la mayoría de ustedes ha tenido que lidiar con chapuzas como una tabla totalmente desnormalizada (digo a veces está bien desnormarlizar para ganar en desempeño pero hay límites) y que necesita de 5 o más campos para tener una llave compuesta (y dile adios a tu idea de usar un ORM para la capa de datos), o una tabla con 20 campos que se llaman campo1, campo2, .. campoN y que nadie en la organización sabe que diablos es el campo7 o quién era el encargado de actualizarlo pero sin él tu aplicación no funciona, en fin no seguiré descargando mi frustración aquí :P . En mi opinión una forma de evitarle frustraciones a los otros programadores es que, dado que las empresas no van a querer pagar un DBA para auxiliarte en el 70% de los casos,nosotros nos documentemos con artículos como el de Louis para realizar un mejor trabajo que programar no es solo usar Spring o el último patrón de diseño.&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;Los 12 principios sobre test unitarios&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;Alberto Savoia ha dejado una entrada en su blog donde nos descubre los secretos del buen hacer con tests unitarios. Está escrito con toques de humor, a modo de manuscrito antiguo y es, sin duda, una amena lectura para la vuelta al tajo (y al debate). Les traduzco los 12 principios con los que concluye su artículo (corregirme si se me ha pasado algún juego de palabras):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;Si escribes código, escribe tests.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;No seas inflexible siguiendo el dogma del test unitario.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Abraza el karma del test unitario.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Piensa en código y test como un todo.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;El test es más importante que la unidad.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;El mejor momento para hacer tests es cuando el código está fresco.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Hacer tests no es perder el tiempo.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Un test imperfecto hoy es mejor que un test perfecto mañana.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Un test feo es mejor que ningún test.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;A veces, el test justifica los medios.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Sólo los tontos no usan herramientas.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Los buenos tests fallan.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;strong&gt;10 problemas de rendimiento de J2EE&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;Siguiendo con los listados "top" de los últimos días, me entero vía &lt;a href="http://www.theserverside.com/news/thread.tss?thread_id=45187" target="_blank"&gt;TSS&lt;/a&gt; de la lista de los 10 errores de rendimiento más comunes en las aplicaciones J2EE. Coincido con algunos de ellos y otros me dejan perplejo. Traduzco y comentamos :&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;10. Excesivo Logging&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;9. Configuración del Serv. de Aplicaciones incorrecta.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;8. Uso incorrecto de Java EE&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;7. Uso innecesario de XML&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;6. Configuración de Caché incorrecta&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;5. Uso de memoria excesivo&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;4. Pobre rendimiento de librerias de terceros&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;3. Mala implementación de concurrencia&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;2. Remoting innecesario (remoting es una llamada a un elemento local como si fuera externo).&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;1. Uso incorrecto de la base de datos.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;Sin más, un saludo, y espero que les siga de algo!!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-5189241777003211471?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/5189241777003211471/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=5189241777003211471' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/5189241777003211471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/5189241777003211471'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/05/4-trucos-consejos-o-tips-para-el.html' title='4 trucos, consejos o tips para el programador'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-5618013849169830541</id><published>2007-04-30T10:19:00.000-05:00</published><updated>2007-04-30T10:32:07.475-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><title type='text'>Programación segura de aplicaciones</title><content type='html'>He leído un excelente documento de &lt;a href="http://www.kernelpanik.org/"&gt;Kernel Panic Labs&lt;/a&gt;, en el que se explica detalladamente&lt;br /&gt;&lt;div style="text-align: justify;"&gt;la &lt;span style="font-weight: bold;"&gt;Seguridad &lt;/span&gt;y la &lt;span style="font-weight: bold;"&gt;Programación segura&lt;/span&gt;... un tema de verdad muy importante para los desarrolladores de software. Este es un artículo de imprescindible lectura para aquellos que, como yo, están descubriendo el mundo "real" del desarrollo de software.&lt;br /&gt;&lt;br /&gt;Contiene temas como:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Seguridad informática&lt;/li&gt;&lt;li&gt;Desbordamiento de pila&lt;/li&gt;&lt;li&gt;Desbordamiento de memoria dinámica&lt;/li&gt;&lt;li&gt;Inyección SQL&lt;/li&gt;&lt;li&gt;Técnicas para codificación segura&lt;/li&gt;&lt;li&gt;Herramientas para la seguridad de aplicaciones&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://castidiablo.googlepages.com/procseg.zip" title="Bajalo nene!!!"&gt;Descargar&lt;/a&gt;&lt;a href="http://castidiablo.googlepages.com/procseg.zip"&gt;!!!&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-5618013849169830541?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/5618013849169830541/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=5618013849169830541' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/5618013849169830541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/5618013849169830541'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/04/programacin-segura-de-aplicaciones.html' title='Programación segura de aplicaciones'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6844902252116790020</id><published>2007-04-26T19:20:00.000-05:00</published><updated>2007-04-26T19:23:31.576-05:00</updated><title type='text'>Nuevo subforo de Java en elhacker.net</title><content type='html'>Pues eso, se ha puesto un nuevo &lt;a href="http://foro.elhacker.net/index.php/board,70.0.html"&gt;subforo de java&lt;/a&gt; en los &lt;a href="http://foro.elhacker.net"&gt;foros de elhacker.net.&lt;/a&gt; Por fin el-brujo cedió ante tanto acoso XD. En fin, esto me quita un gran peso, ya que: "les pido por favor a mis lectores que envien sus dudas y las canalicen en ese foro", ya que ultimamente estoy bastante ocupado y no tengo tiempo de responder todos los correos con sus dudas.&lt;br /&gt;&lt;br /&gt;Pues nada, que lo disfruten... y lean las &lt;a href="http://foro.elhacker.net/index.php/topic,163024.0.html"&gt;reglas&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Saludos!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6844902252116790020?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6844902252116790020/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6844902252116790020' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6844902252116790020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6844902252116790020'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/04/nuevo-subforo-de-java-en-elhackernet.html' title='Nuevo subforo de Java en elhacker.net'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-8387630405185370595</id><published>2007-04-19T09:14:00.000-05:00</published><updated>2007-04-19T09:19:34.490-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Java Sun y herramientas Java en Ubuntu 7.04</title><content type='html'>&lt;div style="text-align: justify;"&gt;Pues eso, por fín se han decidido los de Ubuntu. Recordemos que nunca se dignaron en meter un pinche compilador para Java, con esfuerzo y ponían la base del gcj. Pues bien el jdk 6 de Sun y herramientas como Netbeans 5.5, Glassfish y JavaDB estarán disponibles para los usuarios de la nueva versión de Ubuntu, Feisty Fawn (que será publicada hoy, 19 de abril); anunció Mike Shuttleworth, CEO de Canonical.&lt;br /&gt;&lt;br /&gt;Estas herramientas estarán disponibles en los repositorios multiverse de Ubuntu para Feisty. Se planea que para el lanzamiento de Java 7, las herramientas Java hayan hecho el salto al repositorio principal de Ubuntu y Java se haya vuelto parte fundamental de dicha distro.&lt;br /&gt;&lt;br /&gt;Este anuncio es el resultado de la colaboración entre Sun y Ubuntu para acercar Java al mundo Linux y para incluir Glassfish como servidor de aplicaciones Java en esta popular distribución y hacer frente a la dupla Red Hat + JBoss.&lt;br /&gt;&lt;br /&gt;Una gran noticia para los que desarrollamos en Ubuntu, cada vez es más sencillo instalar herramientas Java. Eclipse está disponible en los repositorios Ubuntu desde hace tiempo y se extrañaba lo mismo para NetBeans. Sin duda, Ubuntu se está convirtiendo en la distro GNU/Linux para los desarrolladores Java.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-8387630405185370595?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/8387630405185370595/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=8387630405185370595' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8387630405185370595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8387630405185370595'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/04/java-sun-y-herramientas-java-en-ubuntu.html' title='Java Sun y herramientas Java en Ubuntu 7.04'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4430086367924293922</id><published>2007-04-17T09:43:00.000-05:00</published><updated>2007-04-19T08:59:23.588-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>El firefox y sus extensiones</title><content type='html'>Nada, aqui probando extensiones para Firefox XD. Algunas de las últimas que han salido, y que me han llamado la atención son estas:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 102, 0);"&gt;Vimperator&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;... &lt;/span&gt;esta extensión es para aquellos amantes del linux. Se trata de &lt;strong&gt;una extensión para que transforma a Firefox en un navegador &lt;em&gt;modal&lt;/em&gt; al más puro estilo Vim&lt;/strong&gt;: oculta todos los menús menos las pestañas, añade una pequeña terminal al fondo en la que podremos utilizar el tabulador para autocompletar y tiene mapeadas un montón de combinaciones de Vim, modificadas para la ocasión. Si alguna vez haz usado Vim, tu elección es Firefox y te gusta la navegación con el teclado (por ejemplo, para los portátiles), pruébalo a ver qué te parece. Y si te pierdes, recuerda que puedes ver la ayuda pulsando &lt;code&gt;:help&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0); font-weight: bold;"&gt;Para el Google Reader...&lt;/span&gt; en realidad no es exclusivo para Firefox, pero va por la misma onda. Este lo copio y pego de Genbeta...&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;img src="http://www.applesfera.com/images/2007/04/reader.jpg" class="centro" /&gt;&lt;/p&gt;   &lt;p&gt;El juguete o entretenimiento de hoy para los más osados e inquietos tiene a &lt;strong&gt;Google Reader y Mac&lt;/strong&gt; como protagonistas. Se trata de la modificación de la apariencia que en hicksdesign han hecho del lector de noticias de Google. Le han dado un toque, digamos más Mac.&lt;/p&gt;   &lt;p&gt;El resultado es realmente bueno y de momento somos varios los editores de Genbeta y Applesfera que lo hemos implementado.&lt;br /&gt; &lt;a name="more"&gt;&lt;/a&gt;&lt;/p&gt;   &lt;p&gt;Para hacerlo, nada más sencillo que descargarte el skin y si tienes Firefox, instalar el añadido &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2108"&gt;Stylish&lt;/a&gt;. En Opera y otros navegadores también puede hacerse, pero los pasos ya son un poco más complicados.&lt;/p&gt;   &lt;p&gt;Nosotros pasamos a explicar el método para Firefox:&lt;/p&gt;   &lt;ul&gt;&lt;li&gt;Instala el añadido Stylish. Reinicia Firefox.&lt;/li&gt;&lt;li&gt;Descarga el tema y descomprimelo. Escoge el que corresponda a tu navegador.&lt;/li&gt;&lt;li&gt;Visita Google Reader y en la esquina inferior derecha de Firefox dispondrás del icono de Stylish. Haz clic y ve donde pone &lt;strong&gt;Escribir Estilo para esta dirección&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Copia y pega el contenido del CSS que te has descargado &lt;em&gt;et voilá&lt;/em&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 102, 0);"&gt;Better Gmail...&lt;/span&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;img class="centro_sinmarco" id="image36474" src="http://www.genbeta.com/images/2007/04/bettergmail-header.png" alt="bettergmail-header.png" /&gt;&lt;/p&gt;   &lt;p&gt;Una extensión para Firefox creada en Lifehacker y que sin duda nos va a poner el Gmail "más bonito". Se trata de una recopilación de scripts para el Greasemonkey, que permiten añadir varias características a Gmail. La instalación es sencilla, y en las propiedades del añadido podemos escoger que scripts queremos usar y cuáles no. Imprescindible.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4430086367924293922?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/4430086367924293922/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=4430086367924293922' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4430086367924293922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4430086367924293922'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/04/el-firefox-y-sus-extensiones.html' title='El firefox y sus extensiones'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-509486219817767390</id><published>2007-04-17T08:25:00.000-05:00</published><updated>2007-04-17T08:37:07.309-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Video Tutorial  Brute force attack sobre servidor ssh</title><content type='html'>&lt;p class="cita"&gt;Articulo tomado de la página &lt;a style="font-weight: bold;" title="Conocer esta excelente página" href="http://icaix.com/front/2007/04/13/video-tutorial-backtrack-2-remote-brute-force-attack/"&gt;Iacix&lt;/a&gt;, y autorizado por el admin de la misma. Todos los derechos reservados a dicha web. Buenos comentarios en esta web, quejas en Iacix, jajaja (es broma).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Una de las responsabilidades de los administradores de sistemas es limitar el acceso a aquellos usuarios con autorización para entrar en el mismo. Con el fin de bloquear el acceso a terceros se crearon las contraseñas. Cada usuario posee un ‘nombre de usuario’ y una contraseña. Cada vez que un usuario quiere acceder al sistema se le piden dichos datos. Si el nombre de usuario y la contraseña coinciden con los almacenados en el servidor le permitimos el acceso, si no, se lo denegamos.&lt;/p&gt; &lt;p&gt;Uno de los problemas de este sistema surge cuando una tercera persona se hace pasar por uno de nuestros usuarios. Siempre y cuando conozca el nombre de usuario y su password se le permitirá el acceso, independientemente de que la persona no sea quien dice ser.&lt;/p&gt; &lt;p&gt;Otro problema es que si el acceso a sido denegado, el usuario puede volver a intentar acceso &lt;em&gt;n&lt;/em&gt; numero de veces (normalmente &lt;em&gt;n&lt;/em&gt; es infinito). Por lo general, limitar el número de intentos puede bloquearnos el acceso, haciendo del remedio peor que la enfermedad.&lt;/p&gt; &lt;p&gt;Un ataque muy común que se hace uso de dichas ‘vulnerabilidades’ son los ‘ataques basados en diccionarios’ (&lt;a href="http://en.wikipedia.org/wiki/Brute_force_attack" target="_blank"&gt;dictionary-based attack&lt;/a&gt;). El ataque consiste en bombardear al servidor con nombres de usuarios y contraseñas aleatorios. Es algo parecido a intentar abrir una caja fuerte introduciendo números al azar. Si alguna vez te has encargado de algún servidor ssh o ftp seguramente los hayas sufrido.&lt;/p&gt; &lt;p&gt;Ya que el número de posibles combinaciones de usuarios y passwords posibles es demasiado alto, en este tipo de ataque normalmente se usan diccionarios. Un diccionario (de passwords y/o usuarios) es un fichero de texto con nombres de usuario y passwords frecuentemente usados. Por ejemplo, en la mayor parte de sistemas nos solemos encontrar un usuario ‘&lt;em&gt;root&lt;/em&gt;‘, y, estadísticamente hablando, passwords como ‘&lt;em&gt;1234&lt;/em&gt;‘ o ‘&lt;em&gt;qwerty&lt;/em&gt;‘ son usadas mas frecuentemente que ‘&lt;em&gt;a\/gW1~3|23&lt;/em&gt;‘. Como te podrás imaginar, para diferentes idiomas se usan diferentes diccionarios.&lt;/p&gt; &lt;p&gt;Pero entonces…? SI!, La única manera de que este ataque funcione es que la combinación usuario-password este en tu diccionario, o en otras palabras, una mala gestión de usuarios/passwords.&lt;/p&gt; &lt;p&gt;El motivo por el que este tipo de ataques están tan extendidos es porque con un simple script podemos testear cientos o miles de servidores de forma automática sin necesidad de intervenir en el proceso. Otro motivo es que los ‘&lt;em&gt;chicos malos&lt;/em&gt;’ necesitan ordenadores desde los que realizar sus ataques.&lt;/p&gt; &lt;p&gt;En un ataque real conseguir acceso al sistema es solo el primer paso. Una vez dentro se suele instalar como mínimo algún troyano con el cual garantizar el acceso en caso de que se cambie la password. Hay ocasiones en el que el atacante simplemente cambia la password para levantar sospecha y darle a conocer al usuario que su password es débil.&lt;/p&gt; &lt;p&gt;En &lt;a set="yes" href="http://icaix.com/tutoriales/bruteForce.htm" target="_blank"&gt;este&lt;/a&gt; video tutorial os muestro un ejemplo práctico de cómo realizar este tipo de ataques y por supuesto como detectar su presencia.&lt;/p&gt;&lt;strong&gt;Detalles técnicos&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;La distro usada para realizar el ataque es &lt;a set="yes" href="http://www.remote-exploit.org/backtrack.html" target="_blank"&gt;Backtrack 2&lt;/a&gt;, versión Live.&lt;/li&gt;&lt;li&gt;Para escanear la red y localizar posibles víctimas se uso &lt;a set="yes" href="http://insecure.org/nmap/" target="_blank"&gt;nmap&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Para el ataque en si utilizamos &lt;a href="http://www.foofus.net/jmk/medusa/medusa.html"&gt;medusa&lt;/a&gt; (~# man medusa).&lt;/li&gt;&lt;li&gt;El diccionario usado pertenece a ‘&lt;a href="http://www.openwall.com/john/" target="_blank"&gt;john the ripper&lt;/a&gt;‘ (Incluido por defecto en &lt;a set="yes" href="http://www.remote-exploit.org/backtrack.html" target="_blank"&gt;Backtrack 2&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;El servidor de ssh en la víctima es una instalación estándar de &lt;a href="http://www.openssh.com/"&gt;OpenSSH&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;strong&gt;Ver video tutorial&lt;/strong&gt; &lt;h3&gt; &lt;p style="text-align: center;"&gt;&lt;a set="yes" href="http://icaix.com/tutoriales/bruteForce.htm" target="_blank" rel="attachment wp-att-74" title="Video Tutorial: Backtrack 2 | Remote brute force attack"&gt;&lt;img src="http://icaix.com/front/wp-content/images/bruteforce.gif" alt="Video Tutorial: Backtrack 2 | Remote brute force attack" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/h3&gt; &lt;p&gt;Pulsa &lt;a href="http://icaix.com/tutoriales/bruteForce.htm" target="_blank"&gt;aquí&lt;/a&gt; o sobre la imagen para acceder al vídeo tutorial.&lt;/p&gt; &lt;strong&gt;Detección y prevención&lt;/strong&gt; &lt;p&gt;La mejor forma de detectar este y cualquier tipo de ataque es comprobando los logs y analizando cualquier anomalía. En su día escribí un post llamado ‘&lt;a set="yes" href="http://icaix.com/front/2007/01/10/navegando-entre-los-logs/" target="_blank"&gt;Navegando entre los logs&lt;/a&gt;’ donde hable de cómo el servidor en el que se encuentra alojado esta web, Fujiyama, estaba en constante estado de alerta.&lt;/p&gt; &lt;p&gt;En ‘&lt;a href="http://icaix.com/front/2007/01/22/consejos-basicos-mantener-un-servidor-del-ssh/" target="_blank"&gt;Consejos básicos: Mantener un servidor del ssh&lt;/a&gt;’ menciono las practicas mas habituales para evitar este tipo de ataques sobre servidores de ssh. En esa época decidí cambiar el puerto de escucha del servidor de ssh y desde entonces no he recibido ningún ataque en los dos últimos meses.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-509486219817767390?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/509486219817767390/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=509486219817767390' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/509486219817767390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/509486219817767390'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/04/video-tutorial-brute-force-attack-sobre.html' title='Video Tutorial  Brute force attack sobre servidor ssh'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-114359134049857067</id><published>2007-04-17T06:24:00.000-05:00</published><updated>2007-06-06T12:17:13.303-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutoriales</title><content type='html'>&lt;span style="FONT-WEIGHT: bold"&gt;Video Tutoriales Java&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-1-instalando-java.html" set="yes"&gt;Video Tutorial Java 1: Instalando Java Development Kit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-2-hola-mundo.html" set="yes"&gt;Video Tutorial Java 2: Hola Mundo!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-3-variables-y.html" set="yes"&gt;Video Tutorial Java 3: Variables Y Aritmética (Parte 1)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-3-variables-y_23.html" set="yes"&gt;Video Tutorial Java 3: Variables y Aritmética (Parte 2)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-4-sentencia-if.html" set="yes"&gt;Video Tutorial Java 4: Sentencia If&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-5-programacin.html" set="yes"&gt;Video Tutorial Java 5: Programación Orientada a Objetos&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-6-bucles.html" set="yes"&gt;Video Tutorial Java 6: Bucles&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-7-sentencia-switch.html" set="yes"&gt;Video Tutorial Java 7: Sentencia Switch&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-8-arrays-arreglos.html" set="yes"&gt;Video Tutorial Java 8: Arrays (Arreglos)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-jdeveloper.html" set="yes"&gt;Video Tutorial Java Jdeveloper&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-holamundo-en-java.html" set="yes"&gt;Video Tutorial HolaMundo en Java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-acceso-bbdd-en-java.html" set="yes"&gt;Video Tutorial Acceso a BBDD en Java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-conoce-mejor-un-paquete.html"&gt;Video Tutorial - Conoce mejor un paquete: java.lang&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/conoce-mejor-un-paquete-javautil.html" set="yes"&gt;Conoce mejor un paquete: java.util&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-java-gestion-de.html" set="yes"&gt;Video Tutorial Java: Gestion de excepciones con try - catch - trhows&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="cita"&gt;Algunos de los anteriores videotutoriales de Java (básico) fueron tomados del Youtube, gracias al usuario &lt;a href="http://www.youtube.com/profile?user=aphonik"&gt;Aphonik&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Video Tutoriales ARP Poisoning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-arp-poisoning-main-in.html"&gt;Video Tutorial ARP poisoning - Main in the middle attack&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-arp-poisoning-ettercap.html"&gt;Video Tutorial ARP poisoning - ettercap&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/video-tutorial-arp-poisoning-deteccin.html"&gt;Video Tutorial ARP poisoning - Detección&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="cita"&gt;La página web oficial de los Video Tutoriales acerca de ARP Poisoning es &lt;a href="http://icaix.com/"&gt;http://icaix.com/&lt;/a&gt; y dichos videos están bajo la licencia GPL.&lt;/p&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Video Tutoriales Ataque Fuerza Bruta a servidor ssh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/04/video-tutorial-brute-force-attack-sobre.html"&gt;Video Tutorial Brute force attack sobre servidor ssh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="cita"&gt;La página web oficial de los Video Tutoriales acerca de Brute force attack es &lt;a href="http://icaix.com/"&gt;http://icaix.com/&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Video Tutoriales NetBeans&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/download/flash/why-netbeans-part1/player.html"&gt;¿Porqué NetBeans?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javalobby.org/eps/netbeans5"&gt;¿Qué hay de nuevo en NetBeans 5.0?&lt;/a&gt; [&lt;a href="http://www.netbeans.org/files/documents/4/753/netbeans_50.zip"&gt;Descargar Animación&lt;/a&gt;]&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/kb/50/flash_UpdateCenter.html"&gt;¿Cómo instalar un módulo a través del Update Center?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/editando-hints-netbeans.html"&gt;Editando Hints&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/autocompletacin-de-cdigo.html"&gt;Autocompletación de código&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/navegacin.html"&gt;Navegación&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/herramientas-de-cdigo-fuente.html"&gt;Herramientas de Código Fuente&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nuevomilenio.com.co/vid/cap2a.zip"&gt;Creación de un proyecto, compilación y ejecución&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/creacin-de-una-aplicacin-en-modo.html"&gt;Creación de una aplicación en modo consola&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/creacin-de-una-aplicacin-en-modo-grfico.html"&gt;Creación de una aplicación en modo gráfico&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/creacin-de-una-aplicacin-web-bsico.html"&gt;Creación de una aplicación web básico&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://roumen.name/blog/refactorings_experimental/refactorings_experimental.htm" set="yes"&gt;New refactorings&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/kb/50/flash_ErrorStripe.html" set="yes"&gt;Descubrir el módulo ErrorStripe&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.sun.com/roller/page/roumen/gotoclass.html" set="yes"&gt;La manera más rápida de abrir una clase&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.java.net/blog/claudio/archive/nb-reusable.html" set="yes"&gt;Usando componentes personalizados de la GUI&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.java.net/blog/claudio/archive/nb-layouts.html" set="yes"&gt;Tips para construir GUI's&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/creando-un-topwindowcomponent-en.html" set="yes"&gt;Creando un TopWindowComponent en NetBeans 5.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/creando-un-modulo-plug-in-con-matisse.html" set="yes"&gt;Creando un Modulo Plug-in con Matisse Form&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/kb/articles/account-with-matisse.html" set="yes"&gt;Account Dialog con Matisse&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/kb/50/flash-matisse.html" set="yes"&gt;Matisse - El nuevo creador de GUI's en NetBeans&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/kb/articles/module-with-matisse.html" set="yes"&gt;Creando un Plug-in con Matisse Form&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javalobby.org/eps/netbeans_platform/" set="yes"&gt;Descubriendo el poder de la plataforma NetBeans &lt;span style="FONT-WEIGHT: bold"&gt;RECOMENDADO&lt;/span&gt;&lt;/a&gt; &lt;a href="http://www.netbeans.org/files/documents/4/750/netbeans_platform.zip"&gt;[Descargar (20 mins)]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://testwww.netbeans.org/kb/articles/matisse-jaws-flash.html" set="yes"&gt;Usando Java Web Start en el IDE NetBeans********&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nuevomilenio.com.co/vid/profiler-demo1.swf" set="yes"&gt;Iniciando con with NetBeans Profiler 5.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/files/documents/4/769/profiler-demo2.swf" set="yes"&gt;Web Application Performance Profiling&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://debuggercore.netbeans.org/nonav/sourcesDemo.html" set="yes"&gt;Revisar dentro de las fuentes del JDK mientras se está Depurando&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://debuggercore.netbeans.org/nonav/appletDebugDemo.html"&gt;Depurando un Applet&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://testtools.netbeans.org/testingToolsDemo.html" set="yes"&gt;Demo de NetBeans probando probando el framework&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/files/documents/4/726/tc65.swf" set="yes"&gt;Creando una aplicación MIDP para el Siemens TC65 y TC45&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://testwww.netbeans.org/kb/articles/flash-cvs.html" set="yes"&gt;&lt;/a&gt;&lt;a href="http://www.netbeans.org/files/documents/4/547/cvs_demo.swf"&gt;Nuevo soporte para CVS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://developers.sun.com/prodtech/javatools/jsenterprise/tpr/reference/presentations/orchestration/orchestration_video.html" set="yes"&gt;Demo de Orchestration Designer (NetBeans Enterprise Pack)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.sun.com/roller/page/roumen?catname=%2FFlash+Demos" set="yes"&gt;Modelado bidireccional en UML&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/download/flash/platform_55/platform_ws/" set="yes"&gt;Construyendo aplicaciones con la Plataforma NetBeans y Java EE 5&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/download/flash/subversion/subversion2_controller.swf" set="yes"&gt;Control de Versiones con SubVersion&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.sun.com/roller/page/roumen?entry=flash_demo_of_new_subversion" set="yes"&gt;Flash Demo de "New Subversion Support" en NetBeans&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nuevomilenio.com.co/vid/cap2b.zip"&gt;Creación de un formulario básico con JFrame, Jlabel y JButton&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nuevomilenio.com.co/vid/cap3a.zip"&gt;Creación de un Servlet&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nuevomilenio.com.co/vid/cap3b.zip"&gt;Componentes de formularios con servlets parte I&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Video Tutoriales PHP - MySQL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nuevomilenio.com.co/vid/php1a.zip"&gt;Descarga e instalacion de WAMP SERVER [PHP-MySQL]&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nuevomilenio.com.co/vid/php1b.zip"&gt;Creacion de una base de datos [PHP-MySQL]&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Video Tutoriales JCreator&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.telnetperu.com/descargas/c1a.zip"&gt;Creación de aplicaciones con JCreator&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.telnetperu.com/descargas/c1b.zip"&gt;Creación de un proyecto&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.telnetperu.com/descargas/c2a.zip"&gt;Uso del lenguaje java con JCreator&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="importante"&gt;&lt;strong&gt;Vídeo tutoriales SUN CERTIFIED JAVA PROGRAMMER Y SUN CERTIFIED JAVA DEVELOPER&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li class="importante"&gt;&lt;a href="http://www.certificate.educaleft.com/joomla/downloads/cursojava/CJ001.rar"&gt;Introducción al curso de Java&lt;/a&gt;&lt;/li&gt;&lt;li class="importante"&gt;&lt;a href="http://www.certificate.educaleft.com/joomla/downloads/cursojava/CJ002.rar"&gt;Conceptos básicos de Programación&lt;/a&gt;&lt;/li&gt;&lt;li class="importante"&gt;&lt;a href="http://www.certificate.educaleft.com/joomla/downloads/cursojava/CJ003.rar"&gt;Orientación a Objetos parte 1&lt;/a&gt;&lt;/li&gt;&lt;li class="importante"&gt;&lt;a href="http://www.certificate.educaleft.com/joomla/downloads/cursojava/CJ004.rar"&gt;Orientación a Objetos parte 2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="importante" align="justify"&gt;Los anteriores vido tutoriales fueron creados por el Ingeniero Julio Cesar en la ciudad de Mexico, actualmente va en el capitulo 4, la idea es que sirva de apoyo para SUN CERTIFIED JAVA PROGRAMMER Y SUN CERTIFIED JAVA DEVELOPER.&lt;/p&gt;&lt;p class="importante" align="justify"&gt;Algunos de los anteriores (NetBeans, PHP, JCreator) vídeos fueron tomados de: &lt;a href="http://www.telnetperu.com"&gt;www.telnetperu.com&lt;/a&gt;, &lt;a href="http://www.netbeans.org"&gt;www.netbeans.org&lt;/a&gt; y &lt;a href="http://certificate.educaleft.com"&gt;http://certificate.educaleft.com&lt;/a&gt;, este es solo un puente de información creado para ti, espero te sirva.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-114359134049857067?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/114359134049857067/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=114359134049857067' title='5 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/114359134049857067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/114359134049857067'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2006/03/video-tutoriales-java-netbeans.html' title='Video Tutoriales'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-9070831593456721723</id><published>2007-04-09T13:48:00.000-05:00</published><updated>2007-04-09T14:03:42.045-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Nuevo numero de la revista Essentia Libre</title><content type='html'>Ni tan nuevo, pero hasta ahora me entero XD. Ya vamos en la #6, para descargar seguir alguno de los siguientes links:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/revista-essentia-libre.html"&gt;Revista Essentia Libre&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/revistas-y-e-zines.html"&gt;Revistas y e-zines&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.aclibre.org/larevista.html"&gt;Página oficial del proyecto&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-9070831593456721723?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/9070831593456721723/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=9070831593456721723' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/9070831593456721723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/9070831593456721723'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/04/nuevo-numero-de-la-revista-essentia.html' title='Nuevo numero de la revista Essentia Libre'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-33531769333689902</id><published>2007-04-08T14:37:00.000-05:00</published><updated>2007-04-08T14:45:11.650-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Pa' los colombianos...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i102.photobucket.com/albums/m117/wiland/fLYERFINAL.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://i102.photobucket.com/albums/m117/wiland/fLYERFINAL.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Bueno, más exactamente para los Bogotanos... están invitados a un toke que se realizará el 14 de abril de este año, y en el que estarán tocando algunas bandas locales &lt;span style="font-weight: bold;"&gt;muy buenas&lt;/span&gt;, como &lt;a href="http://www.myspace.com/streetdreamsbogota"&gt;NxMxA SD&lt;/a&gt;, Suburbios, Dekapitados, entre otros... como dice en la imagen, se realizará a las 2:00 p.m. en la Transversal 78H # 43 - 76 (avenida primera de mayo con villavicencio), y tan solo cuesta 4.000 pesos la entrada.&lt;br /&gt;&lt;br /&gt;Los esperamos!!!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-33531769333689902?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/33531769333689902/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=33531769333689902' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/33531769333689902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/33531769333689902'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/04/pa-los-colombianos.html' title='Pa&apos; los colombianos...'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4058982017851981645</id><published>2007-04-08T10:54:00.000-05:00</published><updated>2007-04-08T11:02:16.004-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Ya era hora, se ha liberado Debian Etch!!!</title><content type='html'>Por fin han liberado a Debian Etch, la tan esperada nueva versión de esta importante distro de Linux... El correo que me mandan desde las listas pinta más o menos así:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="cita"&gt;&lt;p&gt;The Debian Project is pleased to announce the official release of Debian GNU/Linux version 4.0, codenamed “etch”, after 21 months of constant development. Debian GNU/Linux is a free operating system which supports a total of eleven processor architectures and includes the KDE, GNOME and Xfce desktop environments.  It also features cryptographic software and compatibility with the FHS v2.3 and software developed for version 3.1 of the LSB.&lt;/p&gt;&lt;/blockquote&gt;Ahora ya podemos utilizar una nueva versión estable. Puedes ver más información en las &lt;a href="http://www.us.debian.org/News/2007/20070408"&gt;noticias de Debian&lt;/a&gt;, o buscar un link de descarga &lt;a href="http://www.us.debian.org/distrib/"&gt;aquí&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4058982017851981645?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/4058982017851981645/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=4058982017851981645' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4058982017851981645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4058982017851981645'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/04/ya-era-hora-se-ha-liberado-debian-etch.html' title='Ya era hora, se ha liberado Debian Etch!!!'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-1632410812006665636</id><published>2007-04-05T17:22:00.000-05:00</published><updated>2007-04-05T17:30:46.563-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>MyCyberTwin, crea tu "yo" malvado en internet</title><content type='html'>Todos hemos visto en la serie “Los Simpsons” cuando Homer se ha buscado, en varias ocasiones, a un sustituto para que temporalmente ocupe su puesto de trabajo. Unas veces era un objeto y otras una persona.   &lt;p&gt;Ya en internet, quizás muchos me veáis online a lo largo del día, y quizás muchos vean en otros que éstos también se pasan la mayor parte de su tiempo en internet. Pero por cuestiones personales y humanas, no nos podemos pasar 24 horas diarias frente a la pantalla de nuestro monitor.&lt;/p&gt;   &lt;p&gt;Y eso lo saben bien desde &lt;strong&gt;MyCyberTwin&lt;/strong&gt;, un servicio online que nos permite crear nuestro otro yo en la red. Realmente es un chat bot que establece conversaciones automáticamente con otros usuarios, cuya vida equivale al número de créditos que nos restan cada vez que alguien conversa con nuestro otro yo o enviamos invitaciones por correo electrónico.&lt;/p&gt;   &lt;p&gt;&lt;a target="_blank" name="more"&gt;&lt;/a&gt;Y este chat bot me recuerda a un programa que tenía en el Amiga, incluso seguro que conoceréis el sistema de chat con Dios, donde podemos realizar conversaciones a través de la web. Pues de esto último se trata, de generar nuestro otro yo estableciendo la personalidad que queramos a través del test de 79 preguntas y el entrenamiento que someteremos a nuestro otro yo para que actúe de determinada manera dentro de las conversaciones con otros usuarios.&lt;/p&gt;   &lt;p&gt;Las conversaciones se pueden establecer desde nuestra url personal o bien mediante un widget en cualquier perfil de nuestra red social, web propia o donde queramos, de modo que los usuarios que entren en conversaciones con nuestro otro yo estén entretenidos, mientras nosotros, los verdaderos, estamos haciendo otras cosas. &lt;/p&gt;   &lt;p&gt;Hmmm, ahora que lo pienso, la de bromas que podemos gastar con este sistema, aunque lo malo es que dejemos de tener amigos…&lt;/p&gt;   &lt;p&gt;Vía | &lt;a target="_blank" href="http://www.web2null.de/mycybertwin"&gt;Web2null&lt;/a&gt;&lt;br /&gt;Enlace | &lt;a target="_blank" href="http://mycybertwin.com/"&gt;Sitio oficial de Mycybertwin&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-1632410812006665636?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/1632410812006665636/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=1632410812006665636' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1632410812006665636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1632410812006665636'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/04/mycybertwin-crea-tu-yo-malvado-en.html' title='MyCyberTwin, crea tu &quot;yo&quot; malvado en internet'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7987757430255157021</id><published>2007-03-31T14:55:00.000-05:00</published><updated>2007-03-31T15:10:02.326-05:00</updated><title type='text'>Jugando en Linux</title><content type='html'>Los que usen Knoppix sabran de un juego (aparentemente aburrido) para niños llamado Potato Guy, pero a mi me parece lo mas de divertido XDDDD, si sos de los que no se aguantan un chiste mejor ni veas las imagenes de abajo:&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://bp3.blogger.com/_1f_-HOfG6iQ/Rg6_VlgVQCI/AAAAAAAAAGQ/8U7Frs8S2Z8/s1600-h/snapshot3.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5048182609894785058" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_1f_-HOfG6iQ/Rg6_VlgVQCI/AAAAAAAAAGQ/8U7Frs8S2Z8/s400/snapshot3.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_1f_-HOfG6iQ/Rg6_VVgVQBI/AAAAAAAAAGI/5hcax08LMzg/s1600-h/snapshot2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5048182605599817746" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_1f_-HOfG6iQ/Rg6_VVgVQBI/AAAAAAAAAGI/5hcax08LMzg/s400/snapshot2.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7987757430255157021?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7987757430255157021/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7987757430255157021' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7987757430255157021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7987757430255157021'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/jugando-en-linux.html' title='Jugando en Linux'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1f_-HOfG6iQ/Rg6_VlgVQCI/AAAAAAAAAGQ/8U7Frs8S2Z8/s72-c/snapshot3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-1801232543147661541</id><published>2007-03-26T10:28:00.000-05:00</published><updated>2007-03-26T10:32:08.736-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>¿Bug en Hotmail?</title><content type='html'>Pues al parecer alguien ya ha descubierto un bug en hotmail que permite tener acceso a dichas cuentas, robando las cookies de la victima. Puedes encontrar información acerca de como explotar esta vulnerabilidad aquí:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hackhispano.com/foro/showthread.php?p=120231"&gt;http://www.hackhispano.com/foro/showthread.php?p=120231&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Saludos!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-1801232543147661541?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/1801232543147661541/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=1801232543147661541' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1801232543147661541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1801232543147661541'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/bug-en-hotmail.html' title='¿Bug en Hotmail?'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7202206522872253494</id><published>2007-03-23T09:56:00.001-05:00</published><updated>2007-03-23T10:02:45.155-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java: Gestion de excepciones con try catch y throws</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2gWTVxe31g8"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/2gWTVxe31g8" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7202206522872253494?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7202206522872253494/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7202206522872253494' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7202206522872253494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7202206522872253494'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-gestion-de.html' title='Video Tutorial Java: Gestion de excepciones con try catch y throws'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-8671786374819288935</id><published>2007-03-23T09:55:00.001-05:00</published><updated>2007-03-23T10:02:45.162-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Conoce mejor un paquete: java.util</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/wHW4oiL2cbI"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/wHW4oiL2cbI" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-8671786374819288935?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/8671786374819288935/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=8671786374819288935' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8671786374819288935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8671786374819288935'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/conoce-mejor-un-paquete-javautil.html' title='Conoce mejor un paquete: java.util'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4921576684037324509</id><published>2007-03-23T09:53:00.000-05:00</published><updated>2007-03-23T10:02:45.163-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial - Conoce mejor un paquete: java.lang</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/bACxc1RAed4"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/bACxc1RAed4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4921576684037324509?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/4921576684037324509/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=4921576684037324509' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4921576684037324509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4921576684037324509'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-conoce-mejor-un-paquete.html' title='Video Tutorial - Conoce mejor un paquete: java.lang'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-9079798842209301817</id><published>2007-03-23T09:52:00.000-05:00</published><updated>2007-03-23T10:02:45.165-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Acceso a BBDD en Java utilizando Eclipse</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xlcaBvyLBwc"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/xlcaBvyLBwc" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-9079798842209301817?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/9079798842209301817/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=9079798842209301817' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/9079798842209301817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/9079798842209301817'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-acceso-bbdd-en-java.html' title='Video Tutorial Acceso a BBDD en Java utilizando Eclipse'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3622508902754510722</id><published>2007-03-23T09:50:00.000-05:00</published><updated>2007-03-23T10:02:45.167-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial HolaMundo en Java utilizando Eclipse</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/L22Iy4hWvys"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/L22Iy4hWvys" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3622508902754510722?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3622508902754510722/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3622508902754510722' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3622508902754510722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3622508902754510722'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-holamundo-en-java.html' title='Video Tutorial HolaMundo en Java utilizando Eclipse'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-118814498066537607</id><published>2007-03-23T09:43:00.000-05:00</published><updated>2007-03-23T10:02:45.202-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java Jdeveloper</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://tu.tv/tutvweb.swf?kpt=aHR0cDovLzIxMy4xOTUuNzMuOTIvdmlkZW9zY29kaS92L2kvdmlkZW8tdHV0b3JpYWwtamF2YS1qZGV2ZWxvcGVyLmZsdg==&amp;xtp=3158"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://tu.tv/tutvweb.swf?kpt=aHR0cDovLzIxMy4xOTUuNzMuOTIvdmlkZW9zY29kaS92L2kvdmlkZW8tdHV0b3JpYWwtamF2YS1qZGV2ZWxvcGVyLmZsdg==&amp;xtp=3158" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.tu.tv"&gt;&lt;img src="http://www.tu.tv/img/tranparente.gif" alt="www.Tu.tv" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-118814498066537607?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/118814498066537607/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=118814498066537607' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/118814498066537607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/118814498066537607'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-jdeveloper.html' title='Video Tutorial Java Jdeveloper'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-2042392473395615294</id><published>2007-03-23T09:25:00.000-05:00</published><updated>2007-03-23T10:02:45.203-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java 8: Arrays (Arreglos)</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0MIyqDtDs_M"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/0MIyqDtDs_M" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-2042392473395615294?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/2042392473395615294/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=2042392473395615294' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2042392473395615294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2042392473395615294'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-8-arrays-arreglos.html' title='Video Tutorial Java 8: Arrays (Arreglos)'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-9176846139534114758</id><published>2007-03-23T09:24:00.000-05:00</published><updated>2007-03-23T10:02:45.204-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java 7: Sentencia Switch</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4leW1nU6goY"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/4leW1nU6goY" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-9176846139534114758?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/9176846139534114758/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=9176846139534114758' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/9176846139534114758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/9176846139534114758'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-7-sentencia-switch.html' title='Video Tutorial Java 7: Sentencia Switch'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4261628209138031459</id><published>2007-03-23T09:23:00.000-05:00</published><updated>2007-03-23T10:02:45.205-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java 6: Bucles</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rviXOgD4Olo"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rviXOgD4Olo" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4261628209138031459?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/4261628209138031459/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=4261628209138031459' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4261628209138031459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4261628209138031459'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-6-bucles.html' title='Video Tutorial Java 6: Bucles'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4586957449303459930</id><published>2007-03-23T09:21:00.000-05:00</published><updated>2007-03-23T10:02:45.206-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java 5: Programación Orientada a Objetos</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3WtxkG5gSjU"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/3WtxkG5gSjU" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4586957449303459930?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/4586957449303459930/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=4586957449303459930' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4586957449303459930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4586957449303459930'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-5-programacin.html' title='Video Tutorial Java 5: Programación Orientada a Objetos'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-8021556433198251201</id><published>2007-03-23T09:20:00.000-05:00</published><updated>2007-03-23T10:02:45.207-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java 4: Sentencia If</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/FEkceTEI5DA"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/FEkceTEI5DA" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-8021556433198251201?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/8021556433198251201/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=8021556433198251201' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8021556433198251201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8021556433198251201'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-4-sentencia-if.html' title='Video Tutorial Java 4: Sentencia If'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-8482806001744183081</id><published>2007-03-23T09:19:00.000-05:00</published><updated>2007-03-23T10:02:45.232-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java 3: Variables y Aritmética (Parte 2)</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xbdXXXYxTT0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/xbdXXXYxTT0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-8482806001744183081?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/8482806001744183081/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=8482806001744183081' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8482806001744183081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8482806001744183081'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-3-variables-y_23.html' title='Video Tutorial Java 3: Variables y Aritmética (Parte 2)'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7873625010881023632</id><published>2007-03-23T09:17:00.000-05:00</published><updated>2007-03-23T10:02:45.233-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java 3: Variables Y Aritmética (Parte 1)</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6JjkZ0zYRqk"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/6JjkZ0zYRqk" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7873625010881023632?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7873625010881023632/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7873625010881023632' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7873625010881023632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7873625010881023632'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-3-variables-y.html' title='Video Tutorial Java 3: Variables Y Aritmética (Parte 1)'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7033501369852421129</id><published>2007-03-23T09:16:00.000-05:00</published><updated>2007-03-23T10:02:45.235-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java 2: Hola Mundo!</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8S0NccmrK2U"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8S0NccmrK2U" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7033501369852421129?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7033501369852421129/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7033501369852421129' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7033501369852421129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7033501369852421129'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-2-hola-mundo.html' title='Video Tutorial Java 2: Hola Mundo!'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-5150607157003764618</id><published>2007-03-23T09:12:00.000-05:00</published><updated>2007-03-23T10:02:45.236-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial Java 1: Instalando Java Development Kit</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ue3bhCZ60Jk"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/object&gt;&lt;object height="350" width="425"&gt;&lt;embed src="http://www.youtube.com/v/ue3bhCZ60Jk" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-5150607157003764618?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/5150607157003764618/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=5150607157003764618' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/5150607157003764618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/5150607157003764618'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-java-1-instalando-java.html' title='Video Tutorial Java 1: Instalando Java Development Kit'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-8963341442070032499</id><published>2007-03-22T17:12:00.000-05:00</published><updated>2007-03-23T10:02:45.237-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Usando Java Web Start en el IDE NetBeans</title><content type='html'>Muestra como crear una aplicación con Java Web Start:&lt;OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"&gt;&lt;br /&gt;      &lt;PARAM NAME=movie VALUE="matisse-jaws-full.swf"&gt;&lt;br /&gt;      &lt;PARAM NAME=play VALUE=true&gt;&lt;br /&gt;      &lt;PARAM NAME=loop VALUE=false&gt;&lt;br /&gt;      &lt;PARAM NAME=quality VALUE=low&gt;&lt;br /&gt;      &lt;EMBED SRC="http://www.nuevomilenio.com.co/vid/matisse-jaws-full.swf" WIDTH=780 HEIGHT=520 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;br /&gt;      &lt;/EMBED&gt;&lt;br /&gt;    &lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-8963341442070032499?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/8963341442070032499/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=8963341442070032499' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8963341442070032499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8963341442070032499'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/usando-java-web-start-en-el-ide.html' title='Usando Java Web Start en el IDE NetBeans'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7775470494424344581</id><published>2007-03-22T17:04:00.000-05:00</published><updated>2007-03-23T10:02:45.263-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Creando un Modulo Plug-in con Matisse Form</title><content type='html'>&lt;OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH=780 HEIGHT=520 CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"&gt;&lt;br /&gt;      &lt;PARAM NAME=movie VALUE="SpellingCheck.swf"&gt;&lt;br /&gt;      &lt;PARAM NAME=play VALUE=true&gt;&lt;br /&gt;      &lt;PARAM NAME=loop VALUE=false&gt;&lt;br /&gt;      &lt;PARAM NAME=quality VALUE=low&gt;&lt;br /&gt;      &lt;EMBED SRC="http://www.nuevomilenio.com.co/vid/SpellingCheck.swf" WIDTH=780 HEIGHT=520 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;br /&gt;      &lt;/EMBED&gt;&lt;br /&gt;    &lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7775470494424344581?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7775470494424344581/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7775470494424344581' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7775470494424344581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7775470494424344581'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/creando-un-modulo-plug-in-con-matisse.html' title='Creando un Modulo Plug-in con Matisse Form'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-867624336106552886</id><published>2007-03-22T16:54:00.000-05:00</published><updated>2007-03-23T10:02:45.265-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Creando un TopWindowComponent en NetBeans 5.0</title><content type='html'>&lt;OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"&gt;&lt;br /&gt;      &lt;PARAM NAME=movie VALUE="topwindowcomponent.swf"&gt;&lt;br /&gt;      &lt;PARAM NAME=play VALUE=true&gt;&lt;br /&gt;      &lt;PARAM NAME=loop VALUE=false&gt;&lt;br /&gt;      &lt;PARAM NAME=quality VALUE=low&gt;&lt;br /&gt;      &lt;EMBED SRC="http://www.nuevomilenio.com.co/vid/topwindowcomponent.swf" WIDTH=780 HEIGHT=520 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;br /&gt;      &lt;/EMBED&gt;&lt;br /&gt;    &lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-867624336106552886?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/867624336106552886/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=867624336106552886' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/867624336106552886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/867624336106552886'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/creando-un-topwindowcomponent-en.html' title='Creando un TopWindowComponent en NetBeans 5.0'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6733454684391827649</id><published>2007-03-22T16:23:00.000-05:00</published><updated>2007-03-23T10:02:45.266-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Herramientas de Código Fuente</title><content type='html'>&lt;OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"&gt;&lt;br /&gt;      &lt;PARAM NAME=movie VALUE="NetBeansEditor4.swf"&gt;&lt;br /&gt;      &lt;PARAM NAME=play VALUE=true&gt;&lt;br /&gt;      &lt;PARAM NAME=loop VALUE=false&gt;&lt;br /&gt;      &lt;PARAM NAME=quality VALUE=low&gt;&lt;br /&gt;      &lt;EMBED SRC="http://www.nuevomilenio.com.co/vid/NetBeansEditor4.swf" WIDTH=780 HEIGHT=520 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;br /&gt;      &lt;/EMBED&gt;&lt;br /&gt;    &lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6733454684391827649?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6733454684391827649/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6733454684391827649' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6733454684391827649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6733454684391827649'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/herramientas-de-cdigo-fuente.html' title='Herramientas de Código Fuente'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-5311252741102530915</id><published>2007-03-22T16:17:00.000-05:00</published><updated>2007-03-23T10:02:45.267-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Navegación</title><content type='html'>&lt;OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"&gt;&lt;br /&gt;      &lt;PARAM NAME=movie VALUE="NetBeansEditor3.swf"&gt;&lt;br /&gt;      &lt;PARAM NAME=play VALUE=true&gt;&lt;br /&gt;      &lt;PARAM NAME=loop VALUE=false&gt;&lt;br /&gt;      &lt;PARAM NAME=quality VALUE=low&gt;&lt;br /&gt;      &lt;EMBED SRC="http://www.nuevomilenio.com.co/vid/NetBeansEditor3.swf" WIDTH=780 HEIGHT=520 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;br /&gt;      &lt;/EMBED&gt;&lt;br /&gt;    &lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-5311252741102530915?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/5311252741102530915/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=5311252741102530915' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/5311252741102530915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/5311252741102530915'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/navegacin.html' title='Navegación'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7399954500499391814</id><published>2007-03-22T16:16:00.000-05:00</published><updated>2007-03-23T10:02:45.324-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Autocompletación de código</title><content type='html'>&lt;OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"&gt;&lt;br /&gt;      &lt;PARAM NAME=movie VALUE="NetBeansEditor2.swf"&gt;&lt;br /&gt;      &lt;PARAM NAME=play VALUE=true&gt;&lt;br /&gt;      &lt;PARAM NAME=loop VALUE=false&gt;&lt;br /&gt;      &lt;PARAM NAME=quality VALUE=low&gt;&lt;br /&gt;      &lt;EMBED SRC="http://www.nuevomilenio.com.co/vid/NetBeansEditor2.swf" WIDTH=780 HEIGHT=520 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;br /&gt;      &lt;/EMBED&gt;&lt;br /&gt;    &lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7399954500499391814?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7399954500499391814/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7399954500499391814' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7399954500499391814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7399954500499391814'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/autocompletacin-de-cdigo.html' title='Autocompletación de código'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6587834592594366648</id><published>2007-03-22T15:53:00.000-05:00</published><updated>2007-03-23T10:02:45.327-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial ARP poisoning - Detección</title><content type='html'>Para ver el video haz click &lt;a href="http://icaix.com/tutoriales/arpwatch.htm"&gt;aquí &lt;/a&gt;;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6587834592594366648?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6587834592594366648/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6587834592594366648' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6587834592594366648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6587834592594366648'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-arp-poisoning-deteccin.html' title='Video Tutorial ARP poisoning - Detección'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6357324439271835340</id><published>2007-03-22T15:51:00.000-05:00</published><updated>2007-03-23T10:02:45.355-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial ARP poisoning - ettercap</title><content type='html'>Para ver el video haz click &lt;a href="http://icaix.com/tutoriales/ettercap.htm"&gt;aquí&lt;/a&gt; ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6357324439271835340?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6357324439271835340/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6357324439271835340' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6357324439271835340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6357324439271835340'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-arp-poisoning-ettercap.html' title='Video Tutorial ARP poisoning - ettercap'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-1267902033794572838</id><published>2007-03-22T15:39:00.000-05:00</published><updated>2007-03-23T10:02:45.357-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Video Tutorial ARP poisoning - Main in the middle attack</title><content type='html'>Para ver este video tutorial, click &lt;a href="http://www.miggsonline.com/tutoriales/ARP.htm"&gt;aquí&lt;/a&gt; ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-1267902033794572838?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/1267902033794572838/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=1267902033794572838' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1267902033794572838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1267902033794572838'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/video-tutorial-arp-poisoning-main-in.html' title='Video Tutorial ARP poisoning - Main in the middle attack'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-2021297850604911628</id><published>2007-03-22T11:44:00.000-05:00</published><updated>2007-03-23T10:02:45.386-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>¿Quieres saber cuantos usuarios están visitando en este momento tu web?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Muchas veces nos gustaría saber cuantas personas están viendo nuestra web o blog, pues bien Who´s amung us, es un pequeño widget que nos facilita esta tarea. Para algunas webs es fácil implementar un programa en PHP, por ejemplo, ya que pueden utilizar su propio servidor para administrar la información de los visitantes... pero en un blog la cosa cambia, y tenemos que recurrir a otros servicios como este...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://whos.amung.us/images/amunglogo.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://whos.amung.us/images/amunglogo.gif" alt="" border="0" /&gt;&lt;/a&gt;Pero, ¿que ventajas tiene Who´s amung us frente a otros servicios de Stats, contadores, etc? Pues que es fácil de instalar y además no es necesario registrarse. Basta con ir al &lt;a href="http://whos.amung.us/"&gt;Web Site&lt;/a&gt; del proyecto, copiar el código HTML que aparece en la parte inferior y pegarlo en nuestra web... eso es todo.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-2021297850604911628?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/2021297850604911628/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=2021297850604911628' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2021297850604911628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2021297850604911628'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/quieres-saber-cuantos-usuarios-estn.html' title='¿Quieres saber cuantos usuarios están visitando en este momento tu web?'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4030749471319804177</id><published>2007-03-21T17:35:00.000-05:00</published><updated>2007-03-23T10:02:45.413-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Editando Hints [NetBeans]</title><content type='html'>&lt;OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"&gt;&lt;br /&gt;      &lt;PARAM NAME=movie VALUE="NetBeansEditor1.swf"&gt;&lt;br /&gt;      &lt;PARAM NAME=play VALUE=true&gt;&lt;br /&gt;      &lt;PARAM NAME=loop VALUE=false&gt;&lt;br /&gt;      &lt;PARAM NAME=quality VALUE=low&gt;&lt;br /&gt;      &lt;EMBED SRC="http://www.nuevomilenio.com.co/vid/NetBeansEditor1.swf" WIDTH=780 HEIGHT=520 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;br /&gt;      &lt;/EMBED&gt;&lt;br /&gt;    &lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4030749471319804177?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/4030749471319804177/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=4030749471319804177' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4030749471319804177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4030749471319804177'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/editando-hints-netbeans.html' title='Editando Hints [NetBeans]'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-621235319660076155</id><published>2007-03-21T09:29:00.000-05:00</published><updated>2007-03-23T10:02:45.415-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Creación de una aplicación web básico [NetBeans]</title><content type='html'>&lt;OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="674" HEIGHT="526" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"&gt;&lt;br /&gt;      &lt;PARAM NAME=movie VALUE="t1c.swf"&gt;&lt;br /&gt;      &lt;PARAM NAME=play VALUE=true&gt;&lt;br /&gt;      &lt;PARAM NAME=loop VALUE=false&gt;&lt;br /&gt;      &lt;PARAM NAME=quality VALUE=low&gt;&lt;br /&gt;      &lt;EMBED SRC="http://www.nuevomilenio.com.co/vid/t1c.swf" WIDTH=674 HEIGHT=526 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;br /&gt;      &lt;/EMBED&gt;&lt;br /&gt;    &lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-621235319660076155?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/621235319660076155/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=621235319660076155' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/621235319660076155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/621235319660076155'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/creacin-de-una-aplicacin-web-bsico.html' title='Creación de una aplicación web básico [NetBeans]'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-35282409838816217</id><published>2007-03-21T09:28:00.000-05:00</published><updated>2007-03-23T10:02:45.416-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Creación de una aplicación en modo gráfico [NetBeans]</title><content type='html'>&lt;OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="674" HEIGHT="526" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"&gt;&lt;br /&gt;      &lt;PARAM NAME=movie VALUE="t1b.swf"&gt;&lt;br /&gt;      &lt;PARAM NAME=play VALUE=true&gt;&lt;br /&gt;      &lt;PARAM NAME=loop VALUE=false&gt;&lt;br /&gt;      &lt;PARAM NAME=quality VALUE=low&gt;&lt;br /&gt;      &lt;EMBED SRC="http://www.nuevomilenio.com.co/vid/t1b.swf" WIDTH=674 HEIGHT=526 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;br /&gt;      &lt;/EMBED&gt;&lt;br /&gt;    &lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-35282409838816217?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/35282409838816217/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=35282409838816217' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/35282409838816217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/35282409838816217'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/creacin-de-una-aplicacin-en-modo-grfico.html' title='Creación de una aplicación en modo gráfico [NetBeans]'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4311316856417384345</id><published>2007-03-21T09:24:00.000-05:00</published><updated>2007-03-23T10:02:45.444-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='video tutoriales'/><title type='text'>Creación de una aplicación en modo consola [NetBeans]</title><content type='html'>&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0" height="526" width="674"&gt;&lt;br /&gt;  &lt;param name="movie" value="t1a.swf"&gt;&lt;br /&gt;  &lt;param name="play" value="true"&gt;&lt;br /&gt;  &lt;param name="loop" value="false"&gt;&lt;br /&gt;  &lt;param name="quality" value="low"&gt;&lt;br /&gt;  &lt;embed src="http://www.nuevomilenio.com.co/vid/t1a.swf" quality="low" loop="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" height="526" width="674"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4311316856417384345?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4311316856417384345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4311316856417384345'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/creacin-de-una-aplicacin-en-modo.html' title='Creación de una aplicación en modo consola [NetBeans]'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6020493251916343822</id><published>2007-03-21T08:37:00.000-05:00</published><updated>2007-03-21T08:41:31.870-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><title type='text'>Cinco aplicaciones para conocer Internet de manera visual</title><content type='html'>&lt;p&gt;&lt;span class="g1"&gt;Internet es algo que se ha convertido en un concepto etéreo, difícil de visualizar más allá de un conjunto de cables y ordenadores. Sin embargo, la cartografía de Internet es tan real como interesante, y gracias a estos programas y aplicaciones web, podemos conocerla de manera atractiva y visual.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;table align="left" border="0" cellpadding="0" cellspacing="0" width="133"&gt; &lt;tbody&gt;&lt;tr align="left" valign="top"&gt; &lt;td&gt;&lt;img src="http://www.terra.es/addon/img/tecnologia/131aa07visualnet0p.jpg" alt="" border="0" height="111" width="126" /&gt;&lt;br /&gt;&lt;span class="pie"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p class="g"&gt;Si consultamos un mapamundi, podemos ver las fronteras de los países, e incluso podemos intuir las principales rutas de desplazamiento de mercancías y personas. Pero existe una cartografía aparentemente oculta: la de las comunicaciones digitales. Una red que se extiende a lo largo y ancho del mundo y que define las rutas que siguen nuestros correos electrónicos, mensajes de "messenger", o peticiones de navegación a servidores web.&lt;/p&gt;&lt;p&gt; Conozcamos 5 aplicaciones que nos ayudarán a entender cómo está construída la red y qué ruta siguen los paquetes de información. Puede que te lleves más de una sorpresa.&lt;/p&gt; &lt;p&gt; &lt;table align="right" border="0" cellpadding="0" cellspacing="0" width="133"&gt; &lt;tbody&gt;&lt;tr align="left" valign="top"&gt; &lt;td&gt;&lt;img src="http://www.terra.es/addon/img/tecnologia/131aa07visualnet1p.jpg" alt="" border="0" height="111" width="126" /&gt;&lt;br /&gt;&lt;span class="pie"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p class="g"&gt;&lt;span class="g1"&gt;&lt;span style="font-weight: bold;"&gt;TouchGraph&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;TouchGraph es una aplicación Java que se apoya en el buscador Google para mostrarnos, de manera gráfica, los vínculos de unión entre páginas que aparecen como resultado de una búsqueda concreta. Así, si buscamos "coches clásicos", nos presentará las diferentes webs resultado de la búsqueda así como todos sus vínculos externos, pudiendo ver si existe una sinergia entre webs de la misma temática o si, por el contrario, no se relacionan.&lt;br /&gt;También podremos ver relaciones entre la temática de búsqueda y empresas o instituciones que aparentemente no tienen nada que ver.&lt;/p&gt;&lt;p&gt; Puedes comprobar cómo funciona &lt;a href="http://www.touchgraph.com/TGGoogleBrowser.html" target="_blank"&gt;&lt;b&gt;aquí&lt;/b&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;table align="left" border="0" cellpadding="0" cellspacing="0" width="133"&gt; &lt;tbody&gt;&lt;tr align="left" valign="top"&gt; &lt;td&gt;&lt;img src="http://www.terra.es/addon/img/tecnologia/131aa07visualnet2p.jpg" alt="" border="0" height="111" width="126" /&gt;&lt;br /&gt;&lt;span class="pie"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p class="g"&gt;&lt;span class="g1"&gt;&lt;span style="font-weight: bold;"&gt;VisualRoute&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Una de las herramientas de "cartografía" de la red que viene con nuestro sistema operativo, y que es desconocida por una gran mayoría de usuarios es el "traceroute". Se trata de trazar una ruta (de ahí el nombre) desde nuestro ordenador hasta un servidor que escojamos. El problema es que el resultado es simplemente un listado de direcciones IP, lo cual no es demasiado visual.&lt;/p&gt;&lt;p&gt; Gracias a el programa VisualRoute podemos realizar este tipo de trazas, pero con un resultado mucho más, valga la redundancia, visual. Gracias a un mapa, podremos ir viendo el trayecto que realiza la petición a través de servidores de todo el mundo.&lt;/p&gt;&lt;p&gt; Puedes descargarlo &lt;a href="http://descargas.terra.es/ie/4920-VisualRoute" target="_blank"&gt;&lt;b&gt;aquí&lt;/b&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;table align="right" border="0" cellpadding="0" cellspacing="0" width="133"&gt; &lt;tbody&gt;&lt;tr align="left" valign="top"&gt; &lt;td&gt;&lt;img src="http://www.terra.es/addon/img/tecnologia/131aa07visualnet3p.jpg" alt="" border="0" height="111" width="126" /&gt;&lt;br /&gt;&lt;span class="pie"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p class="g"&gt;&lt;span class="g1"&gt;&lt;span style="font-weight: bold;"&gt;Twingly&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Una de las primeras aplicaciones que ha mostrado gráficamente la blogosfera ha resultado ser un salvapantallas. Realizado por la compañía sueca Prime Labs, Twingly (sí, se llama así) nos muestra en tiempo real todos los posts que se van publicando en blogs de todo el mundo, representando cada localización por una barra tridimensional que crece dependiendo del volumen de posts en un lugar determinado.&lt;/p&gt;&lt;p&gt; Puedes descargarlo e instalarlo gratuitamente &lt;b&gt;&lt;a href="http://www.twingly.se/screensaver.aspx" target="_blank"&gt;aquí&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt; &lt;p&gt; &lt;table align="left" border="0" cellpadding="0" cellspacing="0" width="133"&gt; &lt;tbody&gt;&lt;tr align="left" valign="top"&gt; &lt;td&gt;&lt;img src="http://www.terra.es/addon/img/tecnologia/131aa07visualnet4p.jpg" alt="" border="0" height="111" width="126" /&gt;&lt;br /&gt;&lt;span class="pie"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p class="g"&gt;&lt;span class="g1"&gt;&lt;span style="font-weight: bold;"&gt;Pagebull&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Quizás Pagebull no sea el nombre más acertado del mundo para un buscador, pero si el portal más conocido de vídeos puede llamarse "YouTube", está todo visto. Este buscador se diferencia del resto en que te muestra los resultados de la búsqueda con miniaturas de las páginas. Así podrás intuir (más o menos) si el aspecto de la página se corresponde con lo que esperas.&lt;br /&gt;Aunque claro, al no tener texto puede que sea una página preciosa sobre algo que no tiene nada que ver con lo que buscas.&lt;/p&gt;&lt;p&gt; Puedes comprobar si sirve para algo &lt;b&gt;&lt;a href="http://www.pagebull.com/" target="_blank"&gt;aquí&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt; &lt;p&gt; &lt;table align="right" border="0" cellpadding="0" cellspacing="0" width="133"&gt; &lt;tbody&gt;&lt;tr align="left" valign="top"&gt; &lt;td&gt;&lt;img src="http://www.terra.es/addon/img/tecnologia/131aa07visualnet5p.jpg" alt="" border="0" height="111" width="126" /&gt;&lt;br /&gt;&lt;span class="pie"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p class="g"&gt;&lt;span class="g1"&gt;&lt;span style="font-weight: bold;"&gt;Mapulator&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Por último tenemos Mapulator, que no es más que una aplicación muy parecida al VisualRoute, pero que se comunica con los mapas de Google Earth. Con esta aplicación gratuita podrás ver la ruta que sigue un traceroute, además de poder obtener información concreta de cada una de las "paradas" que realiza el paquete de información para llegar a su destino.&lt;/p&gt;&lt;p&gt; Para ponerlo a prueba, pulsa &lt;b&gt;&lt;a href="http://www.mapulator.com/" target="_blank"&gt;aquí&lt;/a&gt;&lt;/b&gt;. &lt;/p&gt;&lt;br /&gt;Fuente: &lt;span class="g1"&gt;Terra - Tecnología / Daniel V. González&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6020493251916343822?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6020493251916343822/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6020493251916343822' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6020493251916343822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6020493251916343822'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/cinco-aplicaciones-para-conocer.html' title='Cinco aplicaciones para conocer Internet de manera visual'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-173408025517696076</id><published>2007-03-16T08:34:00.000-05:00</published><updated>2007-03-16T08:45:14.622-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Eclipse vs NetBeans vs IntelliJ</title><content type='html'>&lt;div style="text-align: justify;"&gt;Tin, tin, tin... que comienze el combate XDDDD&lt;br /&gt;&lt;br /&gt;En Devx.com han publicado un artículo comparando los tres entornos de desarrollo más populares actualmente dentro de Java: Eclipse, Netbeans e IntelliJ. La comparativa hace un énfasis especial en el soporte que los entornos proporcionan para las tecnologías que emplean más comúnmente los programadores Java: Swing, JSP/Struts, JavaServer Faces y J2EE/EJB 3.0.&lt;br /&gt;&lt;br /&gt;Segun Devx.com NetBeans es la mejor opcion a la hora de desarrollar en Swing y J2EE/EJB 3.0. Para JSP/Struts, JavaServer Faces se lo compiten entre Eclipse y IntelliJ.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.devx.com/Java/Article/34009"&gt;Leer el articulo&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-173408025517696076?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/173408025517696076/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=173408025517696076' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/173408025517696076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/173408025517696076'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/eclipse-vs-netbeans-vs-intellij.html' title='Eclipse vs NetBeans vs IntelliJ'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7365939584070403054</id><published>2007-03-14T12:53:00.000-05:00</published><updated>2007-03-14T14:18:30.689-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><title type='text'>I-Doser, para drogarse virtualmente</title><content type='html'>Es viejo ya, pero hasta hoy me entero que existe un software de tal calaña. I-DOSER es un software que emite ondas cerebrales binaurales que recrean efectos producidos por distintos tipos de drogas. En el archivo se incluyen desde marihuana, cocaina, extasis, peyote o acido hasta heroina. Para sentir efectos deben usar audifonos.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;La verdad me ha dejado anonadado, no pense ver algo asi jamas. Les dejo un screenshot de la interfaz del programa:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1f_-HOfG6iQ/Rfg_qH5lO8I/AAAAAAAAAF8/XPz8aDn3XcI/s1600-h/idoser.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_1f_-HOfG6iQ/Rfg_qH5lO8I/AAAAAAAAAF8/XPz8aDn3XcI/s400/idoser.PNG" alt="" id="BLOGGER_PHOTO_ID_5041849775748889538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Es una buena experiencia para los que, como yo, nunca han consumido ningún tipo de alucinógeno y tampoco lo quieren hacer (tal vez por miedo a volverse adicto).&lt;br /&gt;&lt;br /&gt;La pagina inicial del proyecto esta bien completa, me la imaginaba infantil o poco profesional, pero me equivoque:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.i-doser.com/"&gt;Home Page&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.i-doser.com/faq.htm"&gt;FAQ (Preguntas y Respuestas Frecuentes)&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.i-doser.com/tutorial.htm"&gt;Tutorial (en Flash)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.i-doser.com/experience/ddgb.php"&gt;Relatos de experiencias&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.i-doser.com/forum/"&gt;Foro&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Con esos links basta para que te vuelvas todo un drogadicto virtual jajaja. No, en serio: algunas personas dan fe de que el software funciona, otros dicen que solo causa fuertes dolores de cabeza, otros dicen que cura el dolor de cabeza; en fin... es mejor que lo prueben ustedes.&lt;br /&gt;&lt;br /&gt;Por ultimo, y si tienes ciertas dudas, en la FAQ dice que NO hace daño, pero... en fin, solo pruebenlo si quieren.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Descargas:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://casidiablohost.googlepages.com/I-Doser_-_By_-_Richmon.rar"&gt;Click aqui!!&lt;/a&gt; o&lt;br /&gt;&lt;a set="yes" href="http://www.remix3.com/LaRevo/I-Doser.rar"&gt;&lt;span&gt;I-DOSER&lt;/span&gt;&lt;/a&gt; (Contraseña "&lt;strong style="font-weight: normal;"&gt;larevo.org")&lt;br /&gt;&lt;br /&gt;Pd. disculpen la falta de tildes pero aun no se manejar este nuevo teclado (configurado en Ingles).&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7365939584070403054?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7365939584070403054/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7365939584070403054' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7365939584070403054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7365939584070403054'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/es-viejo-ya-pero-hasta-hoy-me-entero.html' title='I-Doser, para drogarse virtualmente'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1f_-HOfG6iQ/Rfg_qH5lO8I/AAAAAAAAAF8/XPz8aDn3XcI/s72-c/idoser.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-4289279624136324664</id><published>2007-03-13T10:03:00.000-05:00</published><updated>2007-03-13T10:04:03.618-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Desklets, widgets Java para el escritorio</title><content type='html'>&lt;div style="text-align: justify;"&gt;Los desklets, término acuñado por Joshua Marinacci, son pequeñas aplicaciones de escritorio escritas en Java que permiten interaccionar directamente con servicios web. Por ejemplo, podrían permitir acceder a información sobre el tiempo en tu región, realizar búsquedas en la wikipedia o mostrar la última cotización de bolsa de una determinada compañía. La idea no es nueva: se suele reconocer como pionero a los widgets de Mac Os X y ahora también los ha incorporado Windows Vista, aunque hace mucho tiempo que el escritorio Linux tiene aplicaciones que podrían considerarse "widgets".&lt;br /&gt;&lt;br /&gt;Joshua Marinacci ha creado un kit de desarrollo, AB5k, para la construcción de widgets multiplataforma empleando Java. El proyecto está &lt;a set="yes" href="http://code.google.com/p/desklets/"&gt; albergado en Google &lt;/a&gt;. Ya han creado varios de estos dispositivos y existe una limitada cantidad de documentación.&lt;br /&gt;&lt;br /&gt;La idea en si es buena. Pero le veo dos problemas: lo mucho que tarda una máquina virtual en arrancar y la gran cantidad de memoria que consume. A no ser que se garantice que todos los widgets se ejecuten en una misma máquina virtual (lo que podría hacer que un error en uno se propágase los demás) emplear varios de estos widgets podría consumir una cantidad de memoria ridícula. Por otro lado, no creo que se pueda competir con widgets nativos en lo referente a la velocidad de arranque. En definitiva, que quizás una aplicación Java consuma demasiados recursos para tener una tontería de aplicación en una esquina de tu escritorio...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-4289279624136324664?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/4289279624136324664/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=4289279624136324664' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4289279624136324664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/4289279624136324664'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/desklets-widgets-java-para-el.html' title='Desklets, widgets Java para el escritorio'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3144757460087993451</id><published>2007-03-13T08:56:00.000-05:00</published><updated>2007-06-12T09:50:46.047-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Como crear una distribución de Linux</title><content type='html'>&lt;span style="FONT-WEIGHT: bold"&gt;Requisitos&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;35 GB de espacio en el disco duro&lt;/li&gt;&lt;li&gt;Un mirror con 28 GB libres (puede ser tu propio ordenador)&lt;/li&gt;&lt;li&gt;Tener instalado Ubuntu sin actualizaciones&lt;/li&gt;&lt;li&gt;Conocimientos básicos de Linux&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Instrucciones&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;* Ve a &lt;a href="http://svn.gnewsense.svnhopper.net/"&gt;http://svn.gnewsense.svnhopper.net/&lt;/a&gt; y descarga el builder&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Elige la Clave GPG&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: justify"&gt;Las versiones más recientes de apt requieren una firma GPG en el repositorio de archivos para asegurar la integridad de la distribución, así que nuestro primer paso es crear una clave GPG. gpg --gen-key te permitirá hacerla, asegúrate de que la contraseña está en blanco. Necesitaras la firma de la llave para el archivo de configuración.&lt;/div&gt;Finalmente, añade la clave pública en el almacén de claves. &lt;p class="codigomain"&gt;gpg --export sudo gpg --import&lt;/p&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Paquetes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Necesitarás los siguientes paquetes para que la distro funcione correctamente: &lt;p class="codigomain"&gt;apt-get install reprepro imagemagick debmirror build-essential apache2 subversion cdebootstrap&lt;br /&gt;apt-get install squashfs-tools netpbm syslinux bittornado&lt;br /&gt;apt-get build-dep linux-image-$(uname -r) ubiquity update-manager ubuntu-artwork base-files ubuntu-meta&lt;br /&gt;apt-get build-dep launchpad-integration grub system-tools-backends example-content gnome-panel&lt;br /&gt;apt-get build-dep gnome-app-install&lt;br /&gt;svn co &lt;a href="http://svn.gnewsense.svnhopper.net/gnewsense/builder/trunk"&gt;http://svn.gnewsense.svnhopper.net/gnewsense/builder/trunk&lt;/a&gt; builder&lt;br /&gt;sudo ./fixup-kernel-wedge&lt;/p&gt;&lt;span style="FONT-WEIGHT: bold"&gt;DebMirror (opcional)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para evitar tener que bajar varias veces el mismo archivo, es recomendable crear un mirror único. Para lo que se necesitarán 27 gb &lt;p class="codigomain"&gt;debmirror --nocleanup --verbose --progress --method=http --host=ie.archive.ubuntu.com --arch=i386 \&lt;br /&gt;--source --dist=dapper,dapper-security,dapper-updates,dapper-backports --section=main,main/debian-installer,universe --ignore-release-gpg \&lt;br /&gt;--root=ubuntu /the/target/directory&lt;/p&gt;&lt;p class="importante"&gt;Necesitarás además configurar Apache para obtener el mirror via Http o Localhost, este paso es opcional, pero se recomienda hecerlo&lt;/p&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Configuración&lt;/span&gt;&lt;br /&gt;&lt;p&gt;Abre el directorio &lt;i&gt;builder&lt;/i&gt; (usa cd) que creaste anteriormente y abre el fichero config en un editor de texto. las opciones de las que te tienes que iocupar son: MIRROR, RELEASE, DISTRONAME, DOMAIN, BASEDIR, and REPOAPT. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Mirror&lt;/b&gt; Es el mirror que tu elegiste en el paso anterior. &lt;b&gt;MIRRORDIST&lt;/b&gt; es el nombre del mirror. Normalmente &lt;i&gt;dapper&lt;/i&gt; &lt;/li&gt;&lt;li&gt;&lt;b&gt;Distroname&lt;/b&gt; Es el nombre de la distribución, solo puede tener números y letras &lt;/li&gt;&lt;li&gt;&lt;b&gt;Release&lt;/b&gt; Es el nombre del release. Debe estar en minúsculas &lt;/li&gt;&lt;li&gt;&lt;b&gt;Logoletter&lt;/b&gt; Es la letra que actuará de logo en tu distro &lt;/li&gt;&lt;li&gt;&lt;b&gt;Tagline&lt;/b&gt; Se mostrará en la pantalla de inicio &lt;/li&gt;&lt;li&gt;&lt;b&gt;Domain&lt;/b&gt;Se usará como fuente para obtener programas al instalar &lt;/li&gt;&lt;li&gt;&lt;b&gt;Basedir&lt;/b&gt;Es el directorio bajo el que el livecd y los archivos temporales se guardarán. por lo que debería configurar apache para el directorio &lt;b&gt;REPOST&lt;/b&gt; &lt;code&gt;($BASEDIR/(nombre de la distribución (minúsculas)))&lt;/code&gt;. &lt;/li&gt;&lt;li&gt;&lt;b&gt;META_*_{ADD,REMOVE}&lt;/b&gt;Los paquetes que quieres quitar o añadir desde el paquete &lt;b&gt;ubuntu-meta&lt;/b&gt; mientras tus meta-paqeutes son creados. &lt;/li&gt;&lt;li&gt;&lt;b&gt;*_VERSION&lt;/b&gt;Es el número que se añade a la versión de los paquetes. Lo incrementarás a medida que rehaces la distro. lo más probable es que quieras empezar desde el 1 &lt;/li&gt;&lt;li&gt;&lt;b&gt;RSYNC_DEST&lt;/b&gt;Es donde se generan las reposiciones o el livecd. Se debe hacer un rsync con &lt;b&gt;push-repo o push-cd.&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Genera el repositorio&lt;/span&gt;&lt;br /&gt;&lt;p class="codigomain"&gt;./gen-repo &amp;&amp;amp; ./do-update&lt;/p&gt;&lt;br /&gt;Esto creará la imágen que se alojará en $LIVECDDIR/$DISTRONAME_L-livecd-$LIVECD_VERSION.iso &lt;p class="codigomain"&gt;./gen-cdsource&lt;br /&gt;./stage-cd&lt;/p&gt;&lt;p class="cita"&gt;Advertencia:Para 32 bits, usa ./gen-repo &amp;&amp;amp; linux32 ./do-update&lt;/p&gt;Prepara el source del tarball y pon pon la ISO en $REPODST/cdimage&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Pon tu distro en un mirror y publicala&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ahora podrás publicar tu ISO, para ello, escribe lo siguiente: &lt;p class="codigomain"&gt;./push-repo&lt;br /&gt;./push-cd&lt;/p&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Fuentes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;* &lt;a href="http://www.gnewsense.org/Builder/HowToCreateYourOwnGNULinuxDistribution"&gt;HowTo Create Your Own GNU Linux Distribution&lt;/a&gt; (Inglés) &lt;p class="cita"&gt;Copyright (c) 2007 Cristian Castiblanco.&lt;br /&gt;Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3144757460087993451?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3144757460087993451/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3144757460087993451' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3144757460087993451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3144757460087993451'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/como-crear-una-distribucin-de-linux.html' title='Como crear una distribución de Linux'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7201829898298769097</id><published>2007-03-10T11:40:00.000-05:00</published><updated>2007-03-10T11:50:39.390-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Sun ofrecerá soporte a la nueva generación de Plataforma Java para teléfonos móviles</title><content type='html'>&lt;div style="text-align: justify;"&gt;Pues es la noticia referente a Java más mencionada últimamente. Un pequeño resumen:&lt;br /&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;Sun Microsystems, Inc. (NASDAQ: SUNW) ha anunciado que ofrecerá soporte completo para la Arquitectura de Servicios Móviles (MSA), la nueva generación de plataforma Java para teléfonos móviles, disponible para toda la gama de productos móviles y de NetBeans Integrated Development Environment (IDE).&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Sun, junto con otras 13 compañías, entre las que se encuentran operadores, OEMs y fabricantes de software, participó en el desarrollo de MSA a través del Java Community Process. El objetivo es ofrecer mayores funcionalidades de la plataforma móvil a los desarrolladores de aplicaciones y reducir las diferencias en la implementación a través de la creación de Interfaces de Programación de Aplicaciones (APIs) y clarificaciones específicas de componentes. Las nuevas capacidades de MSA permiten la creación de aplicaciones y servicios móviles atractivos. Algunos ejemplos de estas capacidades son: gráficos 3D, gestión de información personal, bluetooth, animación, servicios web, servicios de localización y de pago. &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="cita"&gt;&lt;br /&gt;"La tecnología Java ofrece la plataforma ideal que permite crear y desarrollar aplicaciones para móviles a través de múltiples dispositivos. Presente en más de 1.500 millones de teléfonos móviles con tecnología Java en el mercado, MSA revolucionará la industria móvil al ofrecer avanzadas capacidades a los desarrolladores que les permitirán crear novedosas aplicaciones y servicios para la nueva generación de telefonía móvil" señala Laurie Tolson, vicepresidente de Client Software Group en Sun. "Además, MSA ayuda a ofrecer coherencia en la implementación de la especificación, lo cual reducirá la fragmentación del mercado. En Sun estamos encantados de dar soporte a esta nueva especificación en todas nuestras ofertas para dispositivos móviles."&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;Los productos de Sun que soportan MSA incluyen: &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sun Java Wireless Client&lt;/span&gt;: implementación optimizada de la plataforma Java para móviles con soporte multitarea para permitir múltiples aplicaciones concurrentes. Esta implementación está disponible en ambas soluciones fuente y binarias.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Sun Java Device Test Suite 2.0&lt;/span&gt;: una suite de pruebas que ayuda a evaluar la calidad y funcionalidad de las implementaciones Java ME para móviles.&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;NetBeans Mobility Pack 5.5&lt;/span&gt;: basado en el premiado Entorno de Desarrollo Integrado Net Beans de código abierto (Net Beans Integrated Development Environment - IDE), el plug-in de desarrollo Java ME ofrece un nuevo nivel de sofistificación con un sencillo diseño, además de soporte para entornos y aplicaciones móviles preparados para animación y servicios web y entornos de emulación de dispositivos, como el Sun Java Wireless Toolkit para la Configuración Limitada de Dispositivos Conectados (Connected Limited Device Configuration : CLDC).&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Sun Java Wireless Toolkit 2.5 para Connected Limited Device Configuration (CLDC)&lt;/span&gt;: un premiado kit de desarrollo de software que contiene las herramientas de desarrollo, utilidades, y un entorno de emulación de plataforma inalámbrica que pemite a los desarrolladores construir y testar sus aplicaciones.&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;Además de estos productos, Sun también incluye en el proyecto phoneME de la comunidad Mobile &amp; Embedded en Java.net (&lt;a href="http://community.java.net/mobileandembedded/"&gt;http://community.java.net/mobileandembedded/&lt;/a&gt;) el código fuente para las más avanzadas implementaciones Java ME en móviles, que soportan MSA.&lt;/p&gt;&lt;p style="text-align: justify;" class="importante"&gt;Sun ha lanzado estas tecnologías bajo licencia open source para acelerar el desarrollo y la evolución de la plataforma, reducir la fragmentación y los costes de desarrollo a través del ecosistema Java ME. Además, este movimiento ofrece un fácil acceso a las últimas versiones de las tecnologías de plataforma Java ME , y, por primera vez, permite a toda la comunidad Java ME seguir las actividades y participar en el desarrollo de estas tecnologías.&lt;/p&gt;&lt;p class="descarga"&gt;&lt;a href="http://java.sun.com/javame/reference/docs/msa_datasheet.pdf%22" title="Ver!!!"&gt;Ver más información sobre MSA&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7201829898298769097?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7201829898298769097/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7201829898298769097' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7201829898298769097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7201829898298769097'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/sun-ofrecer-soporte-la-nueva-generacin.html' title='Sun ofrecerá soporte a la nueva generación de Plataforma Java para teléfonos móviles'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3183128161283478496</id><published>2007-03-08T16:18:00.000-05:00</published><updated>2007-03-08T16:28:03.257-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Mañana me voy de conferencia</title><content type='html'>Invitados estan!!!&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.owahaltda.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_1f_-HOfG6iQ/RfB-KDMyj8I/AAAAAAAAAF0/9VP-cGknHh8/s400/image002.gif" alt="" id="BLOGGER_PHOTO_ID_5039666694150328258" border="0" /&gt;&lt;/a&gt;Conferencia Windows Small Business Server 2003 R2 en OWAHA. Metiendome en el mundo del software privativo, pero solo para "conocer", mi vida es del software libre!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3183128161283478496?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3183128161283478496/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3183128161283478496' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3183128161283478496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3183128161283478496'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/maana-me-voy-de-conferencia.html' title='Mañana me voy de conferencia'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1f_-HOfG6iQ/RfB-KDMyj8I/AAAAAAAAAF0/9VP-cGknHh8/s72-c/image002.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6371509156455768730</id><published>2007-03-07T15:35:00.000-05:00</published><updated>2007-03-07T15:49:38.727-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>elhacker.net: más o menos online</title><content type='html'>&lt;div align="justify"&gt;Pues ya hace bastante tiempo el foro de elhacker.net ha estado sometido a un ataque DoS... &lt;a href="http://silverhack.4444mb.com/realforo.php?proxy=http%3A%2F%2Fforo.elhacker.net%2Findex.php%2Ftopic%2C158828.0.html"&gt;aquí &lt;/a&gt;se explica mejor todo lo que está pasando. La razón del ataque es más que obvia: la envidia tan hijueputa que le tienen a esta maravillosa web. El autor principal del ataque es... mejor ni decir nombres: eso sería hacerle propaganda a lammers CRIMINALES.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;En fín, después de intentar una y otra cosa entre la gente del staff (y tratando de colaborar en lo poco que puedo) se tiene PROVISIONALMENTE un mecanismo de proxys que contrarrestará temporalmente el ataque. Solo queda esperar y tener paciencia.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;El foro y la web volverán!!! No estamos afuera y nunca lo vamos a estar!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6371509156455768730?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6371509156455768730/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6371509156455768730' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6371509156455768730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6371509156455768730'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/elhackernet-ms-o-menos-online.html' title='elhacker.net: más o menos online'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-726233430383864076</id><published>2007-03-03T14:51:00.000-05:00</published><updated>2007-03-02T09:57:39.044-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Programación C++ sobre Linux</title><content type='html'>&lt;p style="text-align: justify;"&gt;Este art&amp;iacute;culo pretende orientar un poco acerca de lo que es la programaci&amp;oacute;n en C++ sobre linux. Esto NO es un tutorial de referencia de C++, si lo que buscas es eso puedes buscar en el google que hay bastantes. Posiblemente ya hayas programado en C++ sobre Windows, y has utilizado alg&amp;uacute;n compilador como el C++ Builder de Borland, el Visual Studio de Microsoft o en el mejor de los casos DevC++.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ok, esto es un buen comienzo. Pero lo que aqu&amp;iacute; vamos a ver es: qu&amp;eacute; nos proporciona Linux para programar en C++. Como sabes en Linux las cosas ya no son tan f&amp;aacute;ciles, pero tampoco difÃ­ciles; de hecho C++ es famoso gracias a Linux, son como u&amp;ntilde;a y mugre. La cuesti&amp;oacute;n es que nos centraremos en la programaci&amp;oacute;n desde la consola. Si lo tuyo no es la consola puedes echarle un vistazo a la secci&amp;oacute;n que trata sobre &lt;a href="http://www.anjuta.org/" title="Visitar p&amp;aacute;gina web de Anjuta"&gt;Anjuta&lt;/a&gt;, que es un IDE para C++ en Linux, pero te recomiendo que leas todo el art&amp;iacute;culo, te aseguro que te servir&amp;aacute;.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Vamos a tratar los siguientes temas (y talvez algunos m&amp;aacute;s):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/editores-de-texto-en-linux.html" title="Ver cap&amp;iacute;tulo"&gt;Editores&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/compiladores-de-cc-en-linux.html" title="Ver cap&amp;iacute;tulo"&gt;Compiladores&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/bibliotecas-compartidas.html" title="Ver cap&amp;iacute;tulo"&gt;Bibliotecas y enlace&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/construccin-o-creacin-uso-del-comando.html" title="Ver cap&amp;iacute;tulo"&gt;Creaci&amp;oacute;n de archivos ejecutables con make&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/depuracin-de-programas-en-linux.html" title="Ver cap&amp;iacute;tulo"&gt;Depuraci&amp;oacute;n con gdb&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/control-de-versiones-con-rcs-y-cvs.html" title="Ver cap&amp;iacute;tulo"&gt;Control de versiones con RCS y CVS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/creacin-de-documentacin-para-el-comando.html" title="Ver cap&amp;iacute;tulo"&gt;Creaci&amp;oacute;n de documentaci&amp;oacute;n para el comando man&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/anjuta-un-ide-para-linux.html" title="Ver cap&amp;iacute;tulo"&gt;Anjuta, un IDE para Linux&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;Esta es realmente la base de la programaci&amp;oacute;n en C++: cruda, sin vestimentos, tal como es. &lt;p class="descarga"&gt;&lt;a href="http://revista.nexit.googlepages.com/ProgramacinCsobrelinux.pdf" title="Descargar el tutorial!!!"&gt;Descargar el tutorial completo en PDF&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-726233430383864076?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/726233430383864076/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=726233430383864076' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/726233430383864076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/726233430383864076'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/programacin-c-sobre-linux.html' title='Programación C++ sobre Linux'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-2240413988084989706</id><published>2007-03-02T20:02:00.000-05:00</published><updated>2007-03-02T09:55:36.417-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Editores de texto en Linux</title><content type='html'>&lt;p style="text-align: justify;"&gt;Como ya debes saber, lo primero que necesitamos para programar es un editor de texto. Uno de los primeros resultados del proyecto GNU fue el editor emacs, y los editores estuvieron entre los primeros programas que se portaron a Linux.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Pero vamos a centrar nuestra atenci&amp;oacute;n en el editor vim, el cual es b&amp;aacute;sicamente una interfaz basada en pantallas escrita con base en ex (otro editor muy antiguo).&lt;/p&gt;&lt;p style="text-align: justify;"&gt;En la mayor&amp;iacute;a de los distros de Linux encontrar&amp;aacute;s el editor vim. Aunque muchas personas piensan que vim es enigm&amp;aacute;tico y dif&amp;iacute;cil de utilizar, por lo general es porque nos acostumbramos al bloc de notas de Windows, emacs (en modo gr&amp;aacute;fico) y/o a los IDE's (a lo f&amp;aacute;cil); sin embargo, vim tiene muchas ventajas con respecto a otros editores:&lt;/p&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Est&amp;aacute; disponible en pr&amp;aacute;cticamente&amp;nbsp; en todos los sistemas UNIX y Linux.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Necesita menos recursos de sistema que emacs, y por consecuencia se ejecuta aunque el sistema no est&amp;eacute; funcionando completamente.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;No es tan personalizable como el emacs, por lo que sus implementaciones se comportan casi de la misma manera.&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;Puedes utilizar cualquier otro editor de texto, aunque te recomiendo que domines los fundamentos del vim. Para comenzar puedes leerte &lt;a href="http://casidiablo.blogspot.com/2007/01/mini-mini-referencia-al-editor-vim.html"&gt;este peque&amp;ntilde;o (muy peque&amp;ntilde;o) art&amp;iacute;culo acerca del vim&lt;/a&gt;.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;big&gt;ctags y etags&lt;/big&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Al codificar un programa grande en C++, talvez sea necesario dividir las clases y m&amp;eacute;todos en archivos fuente separados. Pero despu&amp;eacute;s, al depurar el programa, puede resultar tediosa la tarea de navegar entre archivos. Por ejemplo, talvez est&amp;eacute; editando el archivo A y en &amp;eacute;l haya una invocaci&amp;oacute;n a un m&amp;eacute;todo que se encuentre en otro fichero, talvez el B. Los programas ctags y etags generan archivos &amp;iacute;ndice o &amp;ldquo;tag&amp;rdquo;, que vi y emacs pueden utilizar para ayudarlo a navegar por sus archivos fuente.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;ctags genera marcas para vim, pero se puede configurar para que lo haga para emacs. etags genera marcas para emacs, pero se puede configurar para que lo haga para vim.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Vamos a ver un ejemplo del ctag con vim. Para ello escribimos el siguiente c&amp;oacute;digo en un archivo llamado HolaPrincipal.cpp:&lt;/p&gt;&lt;p class="codigomain"&gt;//HolaPrincipal.cpp&lt;br&gt;#include&amp;lt;iostream&amp;gt;&lt;br&gt;using namespace std;&lt;br&gt;void Saludar(int i);&lt;br&gt;int main(int argc, char * argv[])&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int i=0; i&amp;lt;5; i++)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;Saludar(i);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;cout&amp;lt;&amp;lt;endl;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt;&lt;p style="text-align: justify;"&gt;y lo siguiente en Saludar.cpp:&lt;/p&gt;&lt;p class="codigomain"&gt;//Saludar.cpp&lt;br&gt;#include&amp;lt;iostream&amp;gt;&lt;br&gt;using namespace std;&lt;br&gt;void Saludar(int i)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout&amp;lt;&amp;lt;"["&amp;lt;&amp;lt;i&amp;lt;&amp;lt;"] elhackerr00lz";&lt;br&gt;}&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora vamos al directorio donde tenemos los dos archivos y escribimos el comando:&lt;/p&gt;&lt;p class="codigomain"&gt;ctags *.cpp&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Hemos creado el nuevo archivo tags. Ahora vamos a probarlo, para ello abrimos el archivo&amp;nbsp; HolaPrincipal.cpp (vim HolaPrincipal.cpp); y usando las flechitas de direcci&amp;oacute;n colocamos el cursor sobre la palabra Saludar. Oprime Ctrl+], y ver&amp;aacute;s que el editor abre autom&amp;aacute;ticamente el archivo que contiene la funci&amp;oacute;n (Saludar.cpp) y coloca el cursor al inicio de la misma.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Como he dicho anteriormente solo centraremos la atenci&amp;oacute;n al vim, para el emacs puedes manejar tanto el ctags como el etags. Utiliza la informaci&amp;oacute;n en l&amp;iacute;nea para ver como se utiliza.&lt;/p&gt;&lt;p class="navegador" align="center"&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/programacin-c-sobre-linux.html" title="Ir al indice. Descargar tutorial completo en PDF"&gt;Indice&lt;/a&gt; | &lt;a href="http://casidiablo.blogspot.com/2007/02/compiladores-de-cc-en-linux.html" title="Compiladores de C/C++ en Linux"&gt;siguiente&amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-2240413988084989706?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/2240413988084989706/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=2240413988084989706' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2240413988084989706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2240413988084989706'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/editores-de-texto-en-linux.html' title='Editores de texto en Linux'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3054702639765140338</id><published>2007-03-02T19:46:00.000-05:00</published><updated>2007-03-02T09:54:40.923-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Compiladores de C/C++ en Linux</title><content type='html'>&lt;p style="text-align: justify;"&gt;El compilador C de GNU se llama gcc y puede compilar C, C++ y Objective-C. El compilador de C se apega al est&amp;aacute;ndar ANSI, por lo que es f&amp;aacute;cil de portar un programa C ANSI a Linux.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;C&amp;oacute;mo compilar con gcc&lt;/p&gt;&lt;p style="text-align: justify;"&gt;El compilador GNU se invoca con el comando gcc. De manera predeterminada este comando preprocesar&amp;aacute;, compilar&amp;aacute; y en enlazar&amp;aacute; un programa de C. Existen muchas opciones para el gcc, y entre ellas existen controles que permiten ejecutar solo alguna fase de la secuencia preproceso/compilaci&amp;oacute;n/enlace.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;El siguiente ejemplo sencillo es un programa en C que simula el lanzamiento de un dado n veces, y luego imprime el nÃºmero de veces que sale cada una de sus caras. Nota: El ejemplo lo saqu&amp;eacute; de un libro de C, espero no me demanden.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Crea el archivo juego.c:&lt;/p&gt;&lt;p class="codigomain"&gt;#include&amp;lt;stdio.h&amp;gt;&lt;br&gt;#include&amp;lt;stdlib.h&amp;gt;&lt;br&gt;#include&amp;lt;string.h&amp;gt;&lt;br&gt;&lt;br&gt;int tirarDado(void);&lt;br&gt;&lt;br&gt;int main(int argc, char * argv[])&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, iIter, dado[6];&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(argc&amp;lt;2)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;printf("Uso: %s n\n",argv[0]);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iIter = atoi(argv[1]);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(dado, 0, sizeof(dado));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;iIter; i++)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;dado[tirarDado() - 1]++;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%d tiradas\n",iIter);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\tCara\tTiradas\n");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;6; i++)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;printf("\t%d : \t%d\n",i+1, dado[i]);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Y el archivo tirador.c:&lt;/p&gt;&lt;p class="codigomain"&gt;#include&amp;lt;stdlib.h&amp;gt;&lt;br&gt;int tirarDado(void)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (rand()%6+1);&lt;br&gt;}&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PodrÃ­amos utilizar un solo comando para compilar y crear el programa ejecutable:&lt;/p&gt;&lt;p class="codigomain"&gt;gcc -o juego juego.c tirador.c&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Puede ver que -o indica el nombre del archivo de salida (el ejecutable). gcc sabe que los archivos con la extensi&amp;oacute;n *.c son archivos de C y los compila como tales. Sino especifica un nombre de archivo de salida, gcc crear&amp;aacute; predeterminadamente el archivo a.out.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora veamos otra manera de compilar nuestro programa: haciÃ©ndolo por m&amp;oacute;dulos (por separado):&lt;/p&gt;&lt;p class="codigomain"&gt;gcc -c juego.c&lt;br&gt;gcc -c tirador.c&lt;br&gt;gcc -o juego juego.o tirador.o&lt;/p&gt;&lt;p style="text-align: justify;"&gt;En este caso indicamos al compilador, con la opciÃ³n -c, que primero el archivo juego.c, luego el archivo tirador.c. Y por &amp;uacute;ltimo le indicamos que cree el archivo binario ejecutable, utilizando los dos archivos objeto (resultados de la compilaci&amp;oacute;n): juego.o y tirador.o.&lt;/p&gt;&lt;p style="text-align: justify;font-weight: bold;"&gt;C&amp;oacute;mo compilar con g++&lt;/p&gt;&lt;p style="text-align: justify;"&gt;El comando g++ nos permite compilar archivos de C++. Aunque gcc puede compilar programas de C++, no hace autom&amp;aacute;ticamente todos los enlaces requeridos con las bibliotecas de clases. Necesita usar g++ para esto. Por ello es recomendable que utilices g++ si est&amp;aacute;s utilizando C++.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora vamos a compilar la versi&amp;oacute;n C++ de nuestro programa de los dados; el archivo juego.cpp:&lt;/p&gt;&lt;p class="codigomain"&gt;#include&amp;lt;iostream&amp;gt;&lt;br&gt;#include&amp;lt;stdlib.h&amp;gt;&lt;br&gt;#include&amp;lt;string.h&amp;gt;&lt;br&gt;using namespace std;&lt;br&gt;int tirarDado(void);&lt;br&gt;&lt;br&gt;int main(int argc, char * argv[])&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, iIter, dado[6];&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(argc&amp;lt;2)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;cout&amp;lt;&amp;lt;"Uso: "&amp;lt;&amp;lt;argv[0]&amp;lt;&amp;lt;"n\n";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iIter = atoi(argv[1]);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(dado, 0, sizeof(dado));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;iIter; i++)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;dado[tirarDado() - 1]++;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout&amp;lt;&amp;lt;iIter&amp;lt;&amp;lt;" tiradas\n";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;"\tCara\tTiradas\n";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;6; i++)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;cout&amp;lt;&amp;lt;"\t"&amp;lt;&amp;lt;i+1&amp;lt;&amp;lt;" :\t"&amp;lt;&amp;lt;dado[i]&amp;lt;&amp;lt;endl;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt;&lt;p style="text-align: justify;"&gt;El archivo tirador.cpp:&lt;/p&gt;&lt;p class="codigomain"&gt;#include&amp;lt;stdlib.h&amp;gt;&lt;br&gt;int tirarDado(void)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (rand()%6+1);&lt;br&gt;}&lt;/p&gt;&lt;p style="text-align: justify;"&gt;La compilaci&amp;oacute;n en g++ es muy similar a gcc en casi todos los aspectos. Para compilar con un solo comando utiliza:&lt;/p&gt;&lt;p class="codigomain"&gt;g++ -o juego juego.cpp tirador.cpp&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Y para compilar por m&amp;oacute;dulos:&lt;/p&gt;&lt;p class="codigomain"&gt;g++ -c juego.cpp&lt;br&gt;g++ -c tirador.cpp&lt;br&gt;g++ -o juego juego.o tirador.o&lt;/p&gt;&lt;p class="cita"&gt;&lt;b&gt;ELF&lt;/b&gt;&lt;br&gt;Cuando se compila un programa, se genera un archivo objeto, y cuando se enlaza el programa, se crea un archivo binario ejecutable. El enlazador debe entender el formato de los archivos objeto, y como el sistema operativo debe cargar y ejecutar el programa ejecutable, tambi&amp;eacute;n debe entender este formato.&lt;br&gt;Ya vio que el archivo ejecutable por defecto se llama a.out. Hace un tiempo, el formato de los archivos objeto y los archivos ejecutables se conoc&amp;iacute;a como a.out. Este formato es muy antiguo y contiene bastantes defectos. El formato actual, utilizado por los sistemas UNIX y Linux se conoce como ELF (Formato Ejecutable y de Enlace). ELF es mucho m&amp;aacute;s vers&amp;aacute;til que a.out, y se presta muy bien para crear bibliotecas compartidas (librer&amp;iacute;as din&amp;aacute;micas).&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Puede saber cual es el formato de un archivo utilizando el comando file, por ej.:&lt;/p&gt;&lt;p class="codigomain"&gt;file juego tirador.o /usr/bin/apt-get&lt;br&gt;juego:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ELF 32-bit LSB executable, Intel 80386...&lt;br&gt;tirador.o:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ELF 32-bit LSB relocatable, Intel 80386...&lt;br&gt;/usr/bin/apt-get: ELF 32-bit LSB executable, Intel 80386...&lt;/p&gt;&lt;p class="navegador" align="center"&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/editores-de-texto-en-linux.html" title="Ir a Editores de texto en Linux"&gt;&amp;lt;&amp;lt;anterior&lt;/a&gt; | &lt;a href="http://casidiablo.blogspot.com/2007/02/bibliotecas-compartidas.html" title="Ir a Bibliotecas y enlace"&gt;siguiente&amp;gt;&amp;gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/programacin-c-sobre-linux.html" title="Ir al indice. Descargar tutorial completo en PDF"&gt;Indice&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3054702639765140338?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3054702639765140338/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3054702639765140338' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3054702639765140338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3054702639765140338'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/compiladores-de-cc-en-linux.html' title='Compiladores de C/C++ en Linux'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6891448652942471711</id><published>2007-03-02T18:30:00.000-05:00</published><updated>2007-03-02T10:14:46.114-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Bibliotecas compartidas de C++ en Linux</title><content type='html'>&lt;p style="text-align: justify;"&gt;A veces, varios programas necesitan hacer las mismas cosas, como E/S por ejemplo. Hace ya bastante tiempo se desarroll&amp;oacute; el concepto de biblioteca (o librer&amp;iacute;a) para adaptar esto. Las funciones se colocan en un archivo, y luego, cada vez que se crea un programa, este extrae de la biblioteca las funciones que necesita.&lt;/p&gt;&lt;p class="importante" style="text-align: justify;"&gt;En su momento, esto fue un gran avance, pero ten&amp;iacute;a varias desventajas. Los ejecutables se hacen m&amp;aacute;s grandes ya que cada uno de ellos incrusta c&amp;oacute;digo copiado de las bibliotecas. Si se encuentra un error en la biblioteca o se agrega una caracter&amp;iacute;stica, el ejecutable no hace uso de ella a menos que se vuelva a crear.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;La soluci&amp;oacute;n a esto son las bibliotecas compartidas (o librer&amp;iacute;as din&amp;aacute;micas). El mecanismo de&amp;nbsp; las bibliotecas compartidas esta fuera del alcance de este art&amp;iacute;culo. Solo veremos como crearlas y utilizarlas.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Regresemos al programa del dado que hicimos en C. Este programa tiene dos archivos fuente. Supongamos que nuestra funci&amp;oacute;n tirarDado (del archivo tirador.c) nos es muy &amp;uacute;til, no solo en nuestro programa, sino en muchos otros programas que utilicen dados. Podemos pensar entonces en colocar dicha funci&amp;oacute;n en una biblioteca para que otros programas puedan usarla.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Primero necesitamos crear la biblioteca compartida. Para ello compilamos el archivo que contiene la funci&amp;oacute;n as&amp;iacute;:&lt;/p&gt;&lt;p class="codigomain"&gt;gcc -fPIC -c tirador.c&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora lo convertimos en una biblioteca compartida llamada libtirar.so.1.0:&lt;/p&gt;&lt;p class="codigomain"&gt;gcc -shared -Wl,-soname,libtirar.so.1 -o libtirar.so.1.0 tirador.o&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Por &amp;uacute;ltimo crearemos un enlace para libtirar.so, para que el programa en ejecuci&amp;oacute;n no necesite mantener un registro de la informaci&amp;oacute;n de versi&amp;oacute;n en el nombre de la biblioteca compartida:&lt;/p&gt;&lt;p class="codigomain"&gt;ln -s libtirar.so.1.0 libtirar.so.1&lt;br&gt;ln -s libtirar.so.1 libtirar.so&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora que tenemos la biblioteca, debemos crear el programa principal para que enlace con esa biblioteca en tiempo de ejecuci&amp;oacute;n, en lugar de incluir el c&amp;oacute;digo dentro del ejecutable:&lt;/p&gt;&lt;p class="codigomain"&gt;gcc -o juego juego.c -L. -ltirar&lt;/p&gt;&lt;p style="text-align: justify;"&gt;La opci&amp;oacute;n -L. le indica al compilador que busque bibliotecas en el directorio actual, y la opci&amp;oacute;n -ltirar le indica que busque una biblioteca llamada libtirar.so.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Al ejecutar el programa, el sistema operativo cargar&amp;aacute; din&amp;aacute;micamente la biblioteca correcta, pero tiene que saber donde buscarla. Si la biblioteca no se encuentra en un lugar est&amp;aacute;ndar (/usr/lib por ejemplo), puede asignar una variable de entorno para que le indique en d&amp;oacute;nde localizar bibliotecas adicionales:&lt;/p&gt;&lt;p class="codigomain"&gt;export LD_LIBRARY_PATH=/home/usuario/mislibrerias&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Por &amp;uacute;ltimo, para ver qu&amp;eacute; librer&amp;iacute;as usa un programa, utilice el comando ldd:&lt;/p&gt;&lt;p class="codigomain"&gt;ldd juego&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libtirar.so.1 =&amp;gt;/mnt/hda1/home/casidiablo/juegolibrerias/libtirar.so.1 (0x40018000)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libc.so.6 =&amp;gt; /lib/libc.so.6 (0x40029000)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib/ld-linux.so.2 =&amp;gt;/lib/ld-linux.so.2 (0x40000000)&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Otro ejemplo de bibliotecas... crear una biblioteca est&amp;aacute;tica&lt;/p&gt;&lt;p style="text-align: justify;"&gt;A diferencia de las bibliotecas compartidas, al momento de compilar bibliotecas est&amp;aacute;ticas, se incluyen en el programa las rutinas que utiliza de la biblioteca; en otras palabras las rutinas est&amp;aacute;n insertas en el programa sin la posibilidad de ser utilizados por otro programa. Nuestra demostraci&amp;oacute;n se basar&amp;aacute; en la construcci&amp;oacute;n de una biblioteca est&amp;aacute;tica; dentro de nuestra biblioteca incluiremos un procedimiento que imprimir&amp;aacute; un mensaje en pantalla el que ser&amp;aacute; pasado por par&amp;aacute;metro y una funci&amp;oacute;n que nos entrega en c&amp;aacute;lculo del factorial de un numero dado (pasado por par&amp;aacute;metro); para que luego estas rutinas sean llamadas desde un programa de ejemplo.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;El proceso para crear bibliotecas est&amp;aacute;ticas es escribir el c&amp;oacute;digo fuente, compilar a c&amp;oacute;digo objeto el fuente y crear la biblioteca con los archivos objetos. A continuaci&amp;oacute;n procederemos a escribir nuestras rutinas que ser&amp;aacute;n incluidas en la biblioteca, los archivo de las rutinas ser&amp;aacute;n factorial.c e imprimir.c&lt;/p&gt;&lt;p class="codigomain"&gt;//imprimir.c&lt;br/&gt;#include&amp;lt;stdio.h&amp;gt;&lt;br/&gt;void imprimir_en_pantalla(const char* mensaje)&lt;br/&gt;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf("%s",mensaje);&lt;br/&gt;}&lt;/p&gt;&lt;p class="codigomain"&gt;//factorial.c&lt;br/&gt;#include&amp;lt;stdio.h&amp;gt;&lt;br/&gt;long factorial(long numero)&lt;br/&gt;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(numero&amp;gt;0)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return numero * factorial(numero-1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else return 1;&lt;br/&gt;}&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora compilaremos estos archivos fuente y los convertiremos en c&amp;oacute;digo objeto utilizando gcc:&lt;/p&gt;&lt;p class="codigomain"&gt;gcc -c imprimir.c factorial.c&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Esto crear&amp;aacute; los archivos objeto (imprimir.o y factorial.o). El siguiente paso ser&amp;aacute; crear nuestra biblioteca est&amp;aacute;tica con estos archivos de c&amp;oacute;digo objeto; a la biblioteca la llamaremos libejemploestatica.a:&lt;/p&gt;&lt;p class="codigomain"&gt;ar rsc libejemploestatica.a imprimir.o factorial.o&lt;/p&gt;&lt;p style="text-align: justify;"&gt;El comando ar crear&amp;aacute; nuestra biblioteca (opcion c), introducir&amp;aacute; los archivos objeto al archivo creado (opci&amp;oacute;n r) y por &amp;uacute;ltimo crear&amp;aacute; un &amp;iacute;ndice de los m&amp;oacute;dulos (opci&amp;oacute;n s), esto &amp;uacute;ltimo permite que el linker (ld) al momento de compilar (ld es llamado por gcc) no tenga que leerse toda la biblioteca completa ya que se agregan los &amp;iacute;ndices y descripci&amp;oacute;n de los m&amp;oacute;dulos. El proceso de crear el &amp;iacute;ndice de los m&amp;oacute;dulos tambi&amp;eacute;n se pude realizar con ranlib.&lt;/p&gt;&lt;p class="codigomain"&gt;//miprograma.c&lt;br/&gt;#include&amp;lt;stdio.h&amp;gt;&lt;br/&gt;#include "libejemploestatica.h"&lt;br/&gt;int main()&lt;br/&gt;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf("Programa de ejemplo de utilizacion de biblioteca\n");&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imprimir_en_pantalla("Vamos a calcular un factorial\n");&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf("El valor del factorial de 4 es: %i\n",factorial(4));&lt;br/&gt;}&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora nos falta crear nuestro archivo de cabecera (header), que son los que tienen terminaci&amp;oacute;n .h, en este archivo se incluir&amp;aacute;n las llamadas a las rutinas de la biblioteca y es una manera elegante porque tambi&amp;eacute;n puedes incluir estas llamadas en el programa que las vas utilizar. El archivo de cabecera libejemploestatica.h tendr&amp;aacute; el siguiente contenido:&lt;/p&gt;&lt;p class="codigomain"&gt;extern void imprimir_en_pantalla(const char*);&lt;br&gt;extern long fatorial(long);&lt;/p&gt;&lt;p style="text-align: justify;"&gt;No es necesario que el archivo de cabecera y biblioteca sean iguales antes de la extensi&amp;oacute;n. Ahora crearemos el archivo ejecutable en base a nuestro programa principal (miprograma.c), el cual utilizar&amp;aacute; la biblioteca que hemos creado. Para ello debemos compilarlo utilizando la biblioteca:&lt;/p&gt;&lt;p class="codigomain"&gt;gcc -o programa_ejecutable miprograma.c -L. -lejemploestatica&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Con la opci&amp;oacute;n -L indicamos donde se encuentra nuestro archivo de cabecera, como en este se encuentra en el mismo directorio utilizamos el punto (-L.). Con la opci&amp;oacute;n -l indicamos el nombre de la librer&amp;iacute;a. F&amp;iacute;jate que no es necesario colocar el nombre completo (libejemploestatica) ya que gcc asume que los nombre de bibliotecas empiezan con el prefijo "lib". Ahora ya tendremos el archivo ejecutable listo para correr nuestro programa:&lt;/p&gt;&lt;p class="codigomain"&gt;$ ./programa_ejecutable&lt;br/&gt;Programa de ejemplo de utilizacion de biblioteca&lt;br/&gt;Vamos a calcular un factorial&lt;br/&gt;El valor del factorial de 4 es: 24&lt;/p&gt;&lt;p class="navegador" align="center"&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/compiladores-de-cc-en-linux.html" title="Compiladores de C/C++ en Linux"&gt;&amp;lt;&amp;lt;anterior&lt;/a&gt; | &lt;a href="http://casidiablo.blogspot.com/2007/02/construccin-o-creacin-uso-del-comando.html" title="Ir a Creaci&amp;oacute;n y Construcci&amp;oacute;n con el comando make"&gt;siguiente&amp;gt;&amp;gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/programacin-c-sobre-linux.html" title="Ir al indice. Descargar tutorial completo en PDF"&gt;Indice&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6891448652942471711?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6891448652942471711/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6891448652942471711' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6891448652942471711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6891448652942471711'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/bibliotecas-compartidas.html' title='Bibliotecas compartidas de C++ en Linux'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-713929314693245969</id><published>2007-03-02T18:01:00.000-05:00</published><updated>2007-03-02T09:54:00.056-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Construcción o creación (uso del comando make)</title><content type='html'>&lt;p style="text-align: justify;"&gt;Cuando creamos peque&amp;ntilde;os programas como los que hemos hecho hasta ahora, no resulta muy difÃ­cil el proceso de compilaci&amp;oacute;n y enlace. Pero cuando se crean proyectos grandes, con varios archivos fuente (15, 30 o m&amp;aacute;s) y librer&amp;iacute;as resultar&amp;iacute;a muy dif&amp;iacute;cil o hasta imposible.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Linux viene con la utiler&amp;iacute;a make de GNU. make lee de un archivo conocido como make toda la informaci&amp;oacute;n que necesita para crear su programa. &amp;Eacute;sta utiler&amp;iacute;a es tan importante y popular que se ha especificado como est&amp;aacute;ndar de POSIX.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;make&lt;/p&gt;&lt;p style="text-align: justify;"&gt;make de GNU busca autom&amp;aacute;ticamente un archivo make llamado GNUmakefile. Sino lo encuentra, busca makefile, y si tampoco lo encuentra busca Makefile, y si tampoco lo encuentra dice &amp;ldquo;que mierdas, no juegues conmigo que no me gusta perder tiempo&amp;rdquo; XD. Estos son los nombres predeterminados, pero puedes crear un archivo con el nombre que quieras y especificar al make que lo utilice. Los archivos make contienen informaci&amp;oacute;n acerca de la compilaci&amp;oacute;n y enlace de su programa, con una sintaxis muy espec&amp;iacute;fica que make puede entender.&lt;/p&gt;&lt;p class="cita"&gt;make tiene una gran variedad de reglas integradas. Por ejemplo, sabe que los archivos que terminan con .c son archivos fuente de C, y sabe c&amp;oacute;mo compilarlos para convertirlos en archivos objeto (.o). Puedes redefinir cualquiera de estas reglas si gustas. En el caso m&amp;aacute;s simple, todo lo que necesitas especificar en tu archivo make es el nombre que va a tener su archivo ejecutable, as&amp;iacute; como los archivos .o que se necesitan para crearlo.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;He aqu&amp;iacute; un archivo sencillo para make, que crear&amp;aacute; el programa de los dados:&lt;/p&gt;&lt;p class="codigomain"&gt;juego:juego.o tirador.o&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) -o $@ juego.o tirador.o&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora podr&amp;aacute;s crear el programa con tan solo un comando: make.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Hay ocasiones en las que hay que indicar como compilar cierto tipo de archivo, por ejemplo cuando se utilizan otro tipo de extensiones (.cpp, .cxx, .c++). El error que se generar&amp;iacute;a ser&amp;iacute;a similar a este:&lt;/p&gt;&lt;p class="codigomain"&gt;make: *** No hay ninguna regla para construir el objetivo 'juego.o', necesario para 'juego'. Alto.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Vamos a ver un ejemplo de archivo makefile en donde se especifica expl&amp;iacute;citamente como construir dichos archivos objeto:&lt;/p&gt;&lt;p class="codigomain"&gt;juegodados: juego.o tirador.o&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) -o $@ juego.o tirador.o&lt;br&gt;&lt;br&gt;juego.o: juego.c&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) -c juego.c&lt;br&gt;&lt;br&gt;tirador.o: tirador.c&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) -c tirador.c&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora veamos un archivo makefile a&amp;uacute;n m&amp;aacute;s completo:&lt;/p&gt;&lt;p class="codigomain"&gt;#Makefile para crear programa para tirar dados&lt;br&gt;CFLAGS = -O&lt;br&gt;&lt;br&gt;OBJS = juego.o tirador.o&lt;br&gt;&lt;br&gt;all=dado&lt;br&gt;&lt;br&gt;juego: $(OBJS)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) $(CFLAGS) -o $@ $(OBJS)&lt;br&gt;&lt;br&gt;juego.o: juego.c&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) -c juego.c&lt;br&gt;&lt;br&gt;tirador.o: tirador.c&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) -c tirador.c&lt;br&gt;&lt;br&gt;clean:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -$(RM) dado *.o&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Este archivo make define una regla llamada clean, que se utiliza para eliminar todos los archivos previamente compilados (incluso el ejecutable) y empezar con un directorio limpio. F&amp;iacute;jate tambiÃ©n que se pueden declarar una especie de variables (como CFLAGS, OBJS, etc.), que se pueden utilizar al momento de indicar alg&amp;uacute;n comando. Adem&amp;aacute;s f&amp;iacute;jate que se pueden utilizar comentarios con el s&amp;iacute;mbolo #.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Y un &amp;uacute;ltimo ejemplo m&amp;aacute;s complejo no nos vendr&amp;iacute;a mal. Vamos a ver como ser&amp;iacute;a nuestro archivo makefile, si deseÃ¡ramos utilizar bibliotecas compartidas (librer&amp;iacute;as din&amp;aacute;micas):&lt;/p&gt;&lt;p class="codigomain"&gt;#Makefile para crear programa para tirar dados&lt;br&gt;#usando bibliotecas compartidas&lt;br&gt;&lt;br&gt;CFLAGS = -O&lt;br&gt;&lt;br&gt;OBJS = juego.o&lt;br&gt;&lt;br&gt;LIBS=libtirar.so&lt;br&gt;&lt;br&gt;all=dado&lt;br&gt;&lt;br&gt;juego: $(OBJS) $(LIBS)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) $(CFLAGS) -o $@ $(OBJS) -L. -ltirar&lt;br&gt;&lt;br&gt;juego.o: juego.c&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) -c juego.c&lt;br&gt;&lt;br&gt;tirador.o: tirador.c&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) -fPIC -c $&amp;lt;&lt;br&gt;&lt;br&gt;libtirar.so: tirador.o&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -$(RM) libtirar*&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $(CC) -shared -Wl,-soname,libtirar.so.1 \&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -o libtirar.so.1.0 $&amp;lt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ln -slibtirar.so.1.0 libtirar.so.1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ln -slibtirar.so.1 libtirar.so&lt;br&gt;clean:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -$(RM) dado *.o libtirar*&lt;/p&gt;&lt;p class="importante"&gt;&lt;b&gt;Importante!!!&lt;/b&gt;&lt;br&gt;Sino quieres tener problemas en el futuro lee esto: la sintaxis de make nos obliga a respetar los separadores. &amp;iquest;qu&amp;eacute; son separadores? talvez te hayas fijado en la forma en que est&amp;aacute;n tabulados los archivos. Esto no es ma&amp;ntilde;a mÃ­a ni mucho menos, esto es una regla para los archivos make; sino se tabularan lo m&amp;aacute;s seguro es que en la ejecuci&amp;oacute;n del make apareciera este error:&lt;br&gt;&lt;br&gt;&lt;span style="font-family: Courier New;"&gt;makefile:2: *** falta un separador. Alto.&lt;/span&gt;&lt;br&gt;&lt;br&gt;As&amp;iacute; que por lo que m&amp;aacute;s quieras: utiliza los separadores si quieres que funcione.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Opciones de l&amp;iacute;nea de comandos de make&lt;/p&gt;&lt;p style="text-align: justify;"&gt;make tiene varias opciones &amp;uacute;tiles de l&amp;iacute;nea de comandos. Por ej., si quieres especificar un archivo make alternativo, en lugar de los predeterminados, invoca a make de la siguiente forma:&lt;/p&gt;&lt;p class="codigomain"&gt;make -f nombrearchivo&lt;/p&gt;&lt;p class="cita"&gt;make es un programa muy sofisticado. Una de las cosas que hace es comprender las dependencias. Por ejemplo, sabe que los archivos .o se crean a partir de archivos .c. Tu programa puede consistir en varios archivos fuente .c. Si cambias uno, no es necesario volver a compilarlos todos cada vez que vayas a crearlo. S&amp;oacute;lo necesitas volver a compilar el archivo fuente que haya cambiado. make comprende esto y compila solo aquellos archivos que no est&amp;eacute;n actualizados. Algunas veces ser&amp;aacute; necesario que veas primero qu&amp;eacute; es lo que make necesita para crear el programa. Puedes hacer esto con el siguiente comando:&lt;br&gt;&lt;span style="font-family: Courier New;"&gt;make -n&lt;/span&gt;&lt;br&gt;Esto le indica a make que analice el makefile y que reporte qu&amp;eacute; comandos emitir&amp;aacute; para crear el programa. make no ejecutar&amp;aacute; ning&amp;uacute;n comando.&lt;/p&gt;&lt;p class="navegador" align="center"&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/bibliotecas-compartidas.html" title="Ir a Bibliotecas y enlace"&gt;&amp;lt;&amp;lt;anterior&lt;/a&gt; | &lt;a href="http://casidiablo.blogspot.com/2007/02/depuracin-de-programas-en-linux.html" title="Ir a Depuraci&amp;oacute;n de programas con gdb"&gt;siguiente&amp;gt;&amp;gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/programacin-c-sobre-linux.html" title="Ir al indice. Descargar tutorial completo en PDF"&gt;Indice&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-713929314693245969?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/713929314693245969/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=713929314693245969' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/713929314693245969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/713929314693245969'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/construccin-o-creacin-uso-del-comando.html' title='Construcción o creación (uso del comando make)'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6339669614567653334</id><published>2007-03-02T16:51:00.000-05:00</published><updated>2007-03-02T10:16:42.450-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Depuración de programas en Linux</title><content type='html'>&lt;p style="text-align: justify;"&gt;Todo buen entorno de desarrollo debe proporcionar la capacidad de depurar nuestros programas, por ello Linux posee una herramienta llamada gdb. gdb es una excelente herramienta de depuraci&amp;oacute;n con interfaz de l&amp;iacute;nea de comandos (modo texto). Aunque existen herramientas como gdbtui que es una versi&amp;oacute;n del mismo depurador con una interfaz m&amp;aacute;s amigable (pero en modo texto tambi&amp;eacute;n). Y si sos de los que les da pereza la consola, tranquilo, tambi&amp;eacute;n existe una herramienta llamada xxgdb que es una versi&amp;oacute;n del gdb con interfaz gr&amp;aacute;fica que se ejecuta en X Windows.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;gdb&lt;/p&gt;&lt;p style="text-align: justify;"&gt;gdb le permite analizar el funcionamiento de un programa paso a paso, establecer puntos de interrupci&amp;oacute;n (breakpoints), examinar y modificar variables por su nombre. Se puede utilizar tanto en programas de C como de C++. Si has manejado alguna vez depuradores y debuggers como el OllyDbg, el manejo de este se te har&amp;aacute; realmente f&amp;aacute;cil.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Para preparar un programa para su depuraci&amp;oacute;n, es necesario compilarlo con la opci&amp;oacute;n -g. Esto hace que en alguna parte del ejecutable, se guarde informaci&amp;oacute;n del c&amp;oacute;digo fuente tal como es. De otra forma no prodr&amp;aacute;s usar el depurador de forma &amp;oacute;ptima. Si est&amp;aacute;s utilizando el make para crear los programas, puedes indicar esta opci&amp;oacute;n en la variable CFLAGS (&amp;iquest;la recuerdas?), desde la l&amp;iacute;nea de comandos as&amp;iacute;:&lt;/p&gt;&lt;p class="codigomain"&gt;make CFLAGS=-g&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Cuando hayas creado el programa, puedes comenzar la sesi&amp;oacute;n de depuraci&amp;oacute;n con el comando: gdb dado. (Suponiendo que el ejecutable se llama dado):&lt;/p&gt;&lt;p class="codigomain"&gt;GNU gdb 6.1-debian&lt;br&gt;Copyright 2004 Free Software Foundation, Inc.&lt;br&gt;GDB is free software, covered by the GNU General Public License, and you are&lt;br&gt;welcome to change it and/or distribute copies of it under certain conditions.&lt;br&gt;Type "show copying" to see the conditions.&lt;br&gt;There is absolutely no warranty for GDB.&amp;nbsp; Type "show warranty" for details.&lt;br&gt;This GDB was configured as "i386-linux"...&lt;br&gt;Using host libthread_db library "/lib/libthread_db.so.1".&lt;br&gt;(gdb)&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Estamos frente al prompt del gdb, que se representa con los caracteres (gdb), indic&amp;aacute;ndonos que podemos escribir los comandos a ejecutar. gdb tiene muchos comando disponibles, para verlos digita el siguiente comando:&lt;/p&gt;&lt;p class="codigomain"&gt;(gdb) help&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Como puedes observar, el comando help despliega la lista de clases de comandos existentes en el gdb, para ver las instrucciones de determinada clase de comandos, digita help seguido del nombre del comando, por ejemplo as&amp;iacute;:&lt;/p&gt;&lt;p class="codigomain"&gt;(gdb) help breakpoints&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Por &amp;uacute;ltimo para salir del gdb presiona la tecla q. A continuaci&amp;oacute;n veremos una tabla con comandos m&amp;aacute;s &amp;uacute;tiles para el gdb:&lt;/p&gt;&lt;table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th style="width: 50px;"&gt;Comando&lt;/th&gt;&lt;th&gt;Funci&amp;oacute;n&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: rgb(233, 233, 233);"&gt;break [nombrearhivo:]funci&amp;oacute;n&lt;/td&gt;&lt;td style="background-color: rgb(233, 233, 233);"&gt;Establecer un punto de interrupci&amp;oacute;n en la entrada a la funci&amp;oacute;n del archivo llamado nombrearchivo.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;run [listaargumentos]&lt;/td&gt;&lt;td&gt;Iniciar el programa, y pasarle argumentos si es necesario.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: rgb(233, 233, 233);"&gt;bt&lt;/td&gt;&lt;td style="background-color: rgb(233, 233, 233);"&gt;Desplegar la pila del programa.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;print expre&lt;/td&gt;&lt;td&gt;Evaluar la expresi&amp;oacute;n e imprimir el resultado. La expresi&amp;oacute;n puede ser un nombre de variable o una funci&amp;oacute;n que retorne un valor.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: rgb(233, 233, 233);"&gt;c&lt;br&gt;cont&lt;/td&gt;&lt;td style="background-color: rgb(233, 233, 233);"&gt;Cualquiera de estos dos comandos, continÃºan con la ejecuci&amp;oacute;n del programa desde le punto actual.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;next&lt;/td&gt;&lt;td&gt;Ejecutar la siguiente l&amp;iacute;nea de l programa. Si la siguiente l&amp;iacute;nea es una funci&amp;oacute;n, dicha funci&amp;oacute;n se ejecutar&amp;aacute; y el programa se detendrÃ¡ en la siguiente l&amp;iacute;nea despu&amp;eacute;s de la llamada a la funci&amp;oacute;n.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: rgb(233, 233, 233);"&gt;step&lt;/td&gt;&lt;td style="background-color: rgb(233, 233, 233);"&gt;Ejecutar la siguiente l&amp;iacute;nea del programa, y entrar a la funci&amp;oacute;n si esa es una l&amp;iacute;nea de funci&amp;oacute;n.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;help [nombre]&lt;/td&gt;&lt;td&gt;Mostrar la ayuda general, o mostrar la ayuda espec&amp;iacute;fica a [nombre] si se indico uno.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: rgb(233, 233, 233);"&gt;q&lt;/td&gt;&lt;td style="background-color: rgb(233, 233, 233);"&gt;salir del gdb.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font-weight: bold;"&gt;Sesi&amp;oacute;n de ejemplo de depuraci&amp;oacute;n con gdb&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora vamos a ver un ejemplo de como trabaja esta herramienta. Habiendo creado ya el programa (el de los dados) con la opci&amp;oacute;n -g as&amp;iacute;:&lt;/p&gt;&lt;p class="codigomain"&gt;g++ -g -o dados *.c&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Pasamos a correr el depurador:&lt;/p&gt;&lt;p class="codigomain"&gt;gdb dados&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Con lo que aparece lo siguiente:&lt;/p&gt;&lt;p class="codigomain"&gt;GNU gdb 6.1-debian&lt;br&gt;Copyright 2004 Free Software Foundation, Inc.&lt;br&gt;GDB is free software, covered by the GNU General Public License, and you are&lt;br&gt;welcome to change it and/or distribute copies of it under certain conditions.&lt;br&gt;Type "show copying" to see the conditions.&lt;br&gt;There is absolutely no warranty for GDB.&amp;nbsp; Type "show warranty" for details.&lt;br&gt;This GDB was configured as "i386-linux"...Using host libthread_db library "/lib/libthread_db.so.1".&lt;br&gt;&lt;br&gt;(gdb)&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Vamos entonces a ver el c&amp;oacute;digo fuente de nuestro programa principal (el que contiene la funci&amp;oacute;n main), esto lo hacemos con el comando list y le indicamos de que l&amp;iacute;nea a que l&amp;iacute;nea queremos ver, en este caso de la 1 a la 25:&lt;/p&gt;&lt;p class="codigomain"&gt;(gdb) list 1,25&lt;br&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; #include&amp;lt;stdio.h&amp;gt;&lt;br&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; #include&amp;lt;stdlib.h&amp;gt;&lt;br&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp; #include&amp;lt;string.h&amp;gt;&lt;br&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp; int tirarDado(void);&lt;br&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;7&amp;nbsp;&amp;nbsp;&amp;nbsp; int main(int argc, char * argv[])&lt;br&gt;8&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;9&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int i, iIter, dado[6];&lt;br&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;11&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(argc&amp;lt;2)&lt;br&gt;12&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;13&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Uso: %s n\n",argv[0]);&lt;br&gt;14&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&lt;br&gt;15&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;16&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; iIter = atoi(argv[1]);&lt;br&gt;17&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; memset(dado, 0, sizeof(dado));&lt;br&gt;18&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;iIter; i++)&lt;br&gt;19&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;20&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dado[tirarDado() - 1]++;&lt;br&gt;21&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;22&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;printf("%d tiradas\n",iIter);&lt;br&gt;23&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;printf("\tCara\tTiradas\n");&lt;br&gt;24&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;for(i=0; i&amp;lt;6; i++)&lt;br&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora establecemos un punto de interrupci&amp;oacute;n (breakpoint), en la l&amp;iacute;nea 16 (iIter = atoi(argv[1]);), que har&amp;aacute; que le programa se detenga en este punto al correrlo:&lt;/p&gt;&lt;p class="codigomain"&gt;(gdb) break 16&lt;br&gt;Breakpoint 1 at 0x804850b: file juego.c, line 16.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Corremos el programa con el comando run seguido de los argumentos:&lt;/p&gt;&lt;p class="codigomain"&gt;(gdb) run 5&lt;br&gt;Starting program: /mnt/hda2/archivos/programas C/juego/dados 5&lt;br/&gt;&lt;br/&gt;Breakpoint 1, main (argc=2, argv=0xbffffd24) at juego.c:16&lt;br&gt;16&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; iIter = atoi(argv[1]);&lt;br&gt;Current language:&amp;nbsp; auto; currently c++&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Y vemos como se ejecuta, y posteriormente para en la l&amp;iacute;nea 16. Nos muestra el nombre de la funci&amp;oacute;n en donde nos encontramos (en este caso main), y nos muestra el trozo de c&amp;oacute;digo fuente. Ahora veamos el valor de la variable iIter, utilizando el comando print iIter. Es de resaltar que utilizamos el nombre real de la variable para referirnos a esta, y que al estar sobre la l&amp;iacute;nea en el cual se asigna el valor a la variable, el valor que nos imprime es el de la variable sin inicializar:&lt;/p&gt;&lt;p class="codigomain"&gt;(gdb) print iIter&lt;br&gt;$1 = -1073742556&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Veamos entonces que pasa si saltamos a la siguiente instrucci&amp;oacute;n, y volvemos a imprimir el valor de iIter:&lt;/p&gt;&lt;p class="codigomain"&gt;(gdb) next&lt;br&gt; 17&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; memset(dado, 0, sizeof(dado));&lt;br&gt; (gdb) print iIter&lt;br&gt;$2 = 5&lt;/p&gt;&lt;p style="text-align: justify;"&gt;En este caso si se imprime el valor actual de la variable iIter (5). Avancemos hasta la l&amp;iacute;nea 20, y observemos que podemos utilizar print para imprimir el valor de retorno de una funci&amp;oacute;n:&lt;/p&gt;&lt;p class="codigomain"&gt;(gdb) next&lt;br&gt;18&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;for(i=0; i&amp;lt;iIter; i++)&lt;br&gt;(gdb) next&lt;br&gt;20&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dado[tirarDado() - 1]++;&lt;br&gt;(gdb) print tirarDado()&lt;br&gt;$3 = 2&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora observemos que al estar a&amp;uacute;n dentro del for, al terminar la l&amp;iacute;nea 20 el gdb nos devuelve autom&amp;aacute;ticamente hasta la l&amp;iacute;nea 18 (que es donde se evalua la condici&amp;oacute;n del for):&lt;/p&gt;&lt;p class="codigomain"&gt;(gdb) next&lt;br&gt;18&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;for(i=0; i&amp;lt;iIter; i++)&lt;br&gt;(gdb) next&lt;br&gt;20&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dado[tirarDado() - 1]++;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora continuemos con la ejecuci&amp;oacute;n normal del programa y salgamos del gdb, para ello digitamos el comando cont y despu&amp;eacute;s q:&lt;/p&gt;&lt;p class="codigomain"&gt;(gdb) cont&lt;br&gt;Continuing.&lt;br&gt;5 tiradas&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cara&amp;nbsp;&amp;nbsp;&amp;nbsp;Tiradas&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 : &amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 : &amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 : &amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 : &amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 : &amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6 : &amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;br&gt;&lt;br&gt;Program exited normally.&lt;br&gt;(gdb) q&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Eso es todo!!! F&amp;aacute;cil &amp;iquest;no? para un manejo avanzado del gdb leer la documentaci&amp;oacute;n del programa localmente (comando man) o en &lt;a href="http://www.google.com/search?q=uso+del+gdb&amp;amp;start=0&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;client=firefox&amp;amp;rls=org.mozilla:en-US:unofficial"&gt;Internet&lt;/a&gt;.&lt;/p&gt;&lt;p class="navegador" align="center"&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/construccin-o-creacin-uso-del-comando.html" title="Ir a Creaci&amp;oacute;n y construcci&amp;oacute;n con el comando make"&gt;&amp;lt;&amp;lt;anterior&lt;/a&gt; | &lt;a href="http://casidiablo.blogspot.com/2007/03/control-de-versiones-con-rcs-y-cvs.html" title="Ir a Control de versiones con RCS y CVS"&gt;siguiente&amp;gt;&amp;gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/programacin-c-sobre-linux.html" title="Ir al indice. Descargar tutorial completo en PDF"&gt;Indice&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6339669614567653334?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6339669614567653334/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6339669614567653334' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6339669614567653334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6339669614567653334'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/depuracin-de-programas-en-linux.html' title='Depuración de programas en Linux'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-3150542353475432115</id><published>2007-03-02T15:56:00.000-05:00</published><updated>2007-03-02T09:51:36.460-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Control de versiones con RCS y CVS</title><content type='html'>&lt;p style="text-align: justify;"&gt;Los programas nunca son tan f&amp;aacute;ciles como se piensa que son al principio. Cualquier buen programa va m&amp;aacute;s all&amp;aacute; de su prop&amp;oacute;sito original. Con el tiempo hay cambios, se agregan cosas, se solucionan errores y se hacen mejoras.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Los comentarios son una buena manera de mantener informaci&amp;oacute;n acerca de los cambios, pero para cualquier trabajo serio se necesita alguna forma de control de versiones. Supongamos que cambias el programa juego.c, agreg&amp;aacute;ndole varias caracter&amp;iacute;sticas. Un a&amp;ntilde;o despu&amp;eacute;s, tu cliente m&amp;aacute;s importante te llama y te dice que no quiere todas esas caracter&amp;iacute;sticas: que quiere la versi&amp;oacute;n original del a&amp;ntilde;o pasado, en la que se hab&amp;iacute;a arreglado un error.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;En Linux existe RCS (Sistema de Control de Revisiones). RCS es una colecci&amp;oacute;n de comandos que le permiten rastrear cambios realizados en archivos, recuperar cualquier versi&amp;oacute;n anterior y comparar las versiones actuales  con las m&amp;aacute;s antiguas.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;RCS&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Los principales comandos de la suite RCS se muestran a continuaci&amp;oacute;n:&lt;p&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;ci&lt;/strong&gt;: Insertar en el dep&amp;oacute;sito una nueva versi&amp;oacute;n de un archivo.&lt;br/&gt;&lt;strong&gt;co&lt;/strong&gt;: Obtener la &amp;uacute;ltima versi&amp;oacute;n de un archivo.&lt;br/&gt;&lt;strong&gt;ident&lt;/strong&gt;: Buscar identificadores de RCS en archivos.&lt;br/&gt;&lt;strong&gt;merge&lt;/strong&gt;: Crear una versi&amp;oacute;n de un archivo que incorpore cambios de otras dos versiones de ese archivo.&lt;br/&gt;&lt;strong&gt;rcsdiff&lt;/strong&gt;: Comparar dos versiones de un archivo.&lt;br/&gt;&lt;strong&gt;rlog&lt;/strong&gt;: Ver el historial de un archivo.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;RCS mantiene en un dep&amp;oacute;sito el historial de las revisiones de los archivos. Por lo general, ese dep&amp;oacute;sito es un directorio llamado RCS, que se encuentra en su directorio actual.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;En el siguiente ejemplo, iniciamos el historial de RCS de un archivo en nuestro proyecto de tirar dados:&lt;/p&gt;&lt;p class="codigomain"&gt;$ ci makefile&lt;br/&gt;RCS/makefile,v &amp;lt;-- makefile&lt;br/&gt;Enter description, terminated with single '.' or end file:&lt;br/&gt;NOTE: This is NOT the log message!&lt;br/&gt;&amp;gt;&amp;gt; Makefile del programa de tirar dados&lt;br/&gt;&amp;gt;&amp;gt; .&lt;br/&gt;initial version 1.1&lt;br/&gt;done&lt;br/&gt;$ &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora hemos registrado el Makefile en el dep&amp;oacute;sito de RCS, y RCS ha creado un archivo en el directorio RCS llamado Makefile,v. A medida que modifiquemos el Makefile y verifiquemos las versiones m&amp;aacute;s recientes, RCS levar&amp;aacute; el registro de esos cambios en su copia Makefile,v.&lt;/p&gt;&lt;p class="cita"&gt;Nota: Despu&amp;eacute;s de registrar un archivo en RCS, ver&amp;aacute;s que tu archivo original ha desaparecido. No te asustes (gallina), no lo has perdido. RCS ha rastreado sus cambios en su copia y ha eliminado su original. A&amp;uacute;n puede revisar su archivo con el comando co.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Registra todos los archivos necesarios para crear el programa de los dados, con los comandos ci juego.c y ci tirador.c.&lt;/p&gt;&lt;p class="codigomain"&gt;$ ci *.c&lt;br/&gt;RCS/juego.c,v &amp;lt;-- juego.c&lt;br/&gt;Enter description, terminated with single '.' or end file:&lt;br/&gt;NOTE: This is NOT the log message!&lt;br/&gt;&amp;gt;&amp;gt; Archivo principal del programa tirar dados&lt;br/&gt;&amp;gt;&amp;gt; .&lt;br/&gt;initial version 1.1&lt;br/&gt;done&lt;br/&gt;RCS/tirador.c,v &amp;lt;-- tirador.c&lt;br/&gt;Enter description, terminated with single '.' or end file:&lt;br/&gt;NOTE: This is NOT the log message!&lt;br/&gt;&amp;gt;&amp;gt; Archivo que contiene implementacion de la funcion tirardado()&lt;br/&gt;&amp;gt;&amp;gt; .&lt;br/&gt;initial version 1.1&lt;br/&gt;done&lt;br/&gt;$ ls&lt;br/&gt;RCS&lt;br/&gt;$ &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Piensa en RCS como si fuera una biblioteca que guarda tus archivos. Puedes sacar copias de solo lectura con el comando co nombrearchivo. Cuando quieras modificar un archivo, puedes sacar un copia el la que se pueda escribir (bloqueada) con co -l. Puedes sacar cualquier cantidad de copias de s&amp;oacute;lo lectura (desbloquedas) a la vez. S&amp;oacute;lo puedes sacar una copia bloqueada a la vez. Por ejemplo:&lt;/p&gt;&lt;p class="codigomain"&gt;$ co ./juego.c&lt;br/&gt;./RCS/juego.c,v --&amp;gt; ./juego.c&lt;br/&gt;revisison 1.1&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;$ ls -l&lt;br/&gt;total 8&lt;br/&gt;-r--r--r--  1 root  root   466 2007-02-28 14:41 juego.c&lt;br/&gt;drwxr-xr-x  2 root  root  4096 2007-02-28 14:37 RCS&lt;/p&gt;&lt;p style="text-align: justify;"&gt;En este caso sacamos el archivo juego.c como solo lectura. Si utilizamos el comando ls -l veremos en la parte de permisos -r--r--r-- lo que quiere decir que no podemos editar dicho archivo.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Hay varias palabras reservadas de identificaci&amp;oacute;n que puedes colocar en tu archivo y que son reconocidas por RCS. Estas palabras reservadas empiezan y terminan con $. Podriamos, por ejemplo, modificar el programa juego.c as&amp;iacute;:&lt;/p&gt;&lt;p class="codigomain"&gt;#include&amp;lt;stdio.h&gt;&lt;br/&gt;#include&amp;lt;stdlib.h&gt;&lt;br/&gt;#include&amp;lt;string.h&gt;&lt;br/&gt;&lt;br/&gt;int tirarDado(void);&lt;br/&gt;&lt;br/&gt;int main(int argc, char * argv[])&lt;br/&gt;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int i, iIter, dado[6];&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(argc&amp;lt;2)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf("Uso: %s n\n",argv[0]);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iIter = atoi(argv[1]);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memset(dado, 0, sizeof(dado));&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(i=0; i&amp;lt;iIter; i++)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dado[tirarDado() - 1]++;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf("%d tiradas\n",iIter);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf("\tCara\tTiradas\n");&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(i=0; i&amp;lt;6; i++)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf("\t%d : \t%d\n",i+1, dado[i]);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf("$Header$\n");&lt;br/&gt;}&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Para ello tendr&amp;iacute;a que sacar el archivo bloqueado (con permisos de escritura), as&amp;iacute;:&lt;/p&gt;&lt;p class="codigomain"&gt;$ co -l ./juego.c&lt;br&gt;./RCS/juego.c,v --&amp;gt; ./juego.c&lt;br&gt;revisison 1.1 (locked)&lt;br&gt;done&lt;br&gt;&lt;br&gt;$ ls -l&lt;br&gt;total 8&lt;br&gt;-rw-r--r--   1 root   root     466 2007-02-28 14:43 juego.c&lt;br&gt;drwxr-xr-x   2 root   root    4096 2007-02-28 14:43 RCS&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora s&amp;iacute; podemos editar el archivo, ya que tiene permisos de lectura/escritura. Observemos que cuando saco el archivo desbloqueado (s&amp;oacute;lo lectura), RCS reemplaza la palabra reservada $Header$ con informaci&amp;oacute;n acerca del nombre y la versi&amp;oacute;n del archivo. Cuando lo saco bloqueado, RCS no reemplaza el encabezado.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Por &amp;uacute;ltimo meto de nuevo el programa juego.c (ya modificado), creo el programa y lo ejecuto:&lt;/p&gt;&lt;p class="codigomain"&gt;ci ./juego.c&lt;br/&gt;./RCS/juego.c,v  &amp;lt;--&amp;nbsp;./juego.c&lt;br/&gt;new revision: 1.2; previous revision: 1.1&lt;br/&gt;enter log message, terminated with single '.' or end of file:&lt;br/&gt;&amp;gt;&amp;gt; Le he agregado el Header&lt;br/&gt;&amp;gt;&amp;gt; .&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;$ ls&lt;br/&gt;RCS&lt;br/&gt;&lt;br/&gt;$ make&lt;br/&gt;co RCS/makefile,v makefile&lt;br/&gt;RCS/makefile,v&amp;nbsp;--&amp;gt;&amp;nbsp;makefile&lt;br/&gt;revision 1.1&lt;br/&gt;done&lt;br/&gt;co RCS/juego.c,v juego.c&lt;br/&gt;RCS/juego.c,v&amp;nbsp;--&amp;gt;&amp;nbsp;juego.c&lt;br/&gt;revision 1.2&lt;br/&gt;done&lt;br/&gt;cc -c juego.c&lt;br/&gt;co RCS/tirador.c,v tirador.c&lt;br/&gt;RCS/tirador.c,v&amp;nbsp;--&amp;gt;&amp;nbsp;tirador.c&lt;br/&gt;revision 1.1&lt;br/&gt;done&lt;br/&gt;cc -c tirador.c&lt;br/&gt;cc -O -o juego juego.o tirador.o&lt;br/&gt;&lt;br/&gt;$ ls -l&lt;br/&gt;total 40&lt;br/&gt;-rwxr-xr-x&amp;nbsp;&amp;nbsp;1 root&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;12689 2007-02-28 14:52 juego&lt;br/&gt;-r--r--r--&amp;nbsp;&amp;nbsp;1 root&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;562 2007-02-28 14:52 juego.c&lt;br/&gt;-rw-r--r--&amp;nbsp;&amp;nbsp;1 root&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1368 2007-02-28 14:52 juego.o&lt;br/&gt;-r--r--r--&amp;nbsp;&amp;nbsp;1 root&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;247 2007-02-28 14:52 makefile&lt;br/&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;2 root&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096 2007-02-28 14:46 RCS&lt;br/&gt;-r--r--r--&amp;nbsp;&amp;nbsp;1 root&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 65 2007-02-28 14:52 tirador.c&lt;br/&gt;-rw-r--r--&amp;nbsp;&amp;nbsp;1 root&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;804 2007-02-28 14:52 tirador.o&lt;br/&gt;&lt;br/&gt;$ ./juego 130&lt;br/&gt;130 tiradas&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cara&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tiradas&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1 : &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2 : &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3 : &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4 : &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5 : &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6 : &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;br/&gt;$Header: /mnt/doc/RCS/juego.c,v 1.2 2007/02/28 13:46:14 root Exp $&lt;br/&gt;&lt;br/&gt;$ &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Tambi&amp;eacute;n podemos buscar identificadores dentro de un archivo, por ejemplo:&lt;/p&gt;&lt;p class="codigomain"&gt;$ co ./juego.c&lt;br/&gt;./RCS/juego.c,v --&amp;gt; ./juego.c&lt;br/&gt;revisison 1.2&lt;br/&gt;done&lt;br/&gt;$ ident juego.c&lt;br/&gt;juego.c:&lt;br/&gt;&amp;nbsp;&amp;nbsp; $Header: /mnt/doc/RCS/juego.c,v 1.2 2007/02/28 13:46:14 root Exp $&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Es posible ver que cambios se han realizado de una versi&amp;oacute;n a otra, por ejemplo:&lt;/p&gt;&lt;p class="codigomain"&gt;$ rlog ./juego.c&lt;br/&gt;RCS file: ./RCS/juego.c,v&lt;br/&gt;Working file: ./juego.c&lt;br/&gt;head: 1.3&lt;br/&gt;branch:&lt;br/&gt;locks: strict&lt;br/&gt;access list:&lt;br/&gt;symbolic names:&lt;br/&gt;keyword substitution: kv&lt;br/&gt;total revisions: 3;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selected revisions: 3&lt;br/&gt;description:&lt;br/&gt;Archivo principal del programa tirar dados&lt;br/&gt;----------------------------&lt;br/&gt;revision 1.3&lt;br/&gt;date: 2007/02/28 14:32:09;&amp;nbsp;author: root;&amp;nbsp;state: Exp;&amp;nbsp;lines: +2 -2&lt;br/&gt;Le puse "numero de tiradas" en vez de "tiradas"&lt;br/&gt;----------------------------&lt;br/&gt;revision 1.2&lt;br/&gt;date: 2007/02/28 13:46:14;&amp;nbsp;author: root;&amp;nbsp;state: Exp;&amp;nbsp;lines: +3 -3&lt;br/&gt;Le he agregado el Header&lt;br/&gt;----------------------------&lt;br/&gt;revision 1.1&lt;br/&gt;date: 2007/02/28 13:36:34;&amp;nbsp;author: root;&amp;nbsp;state: Exp;&lt;br/&gt;Initial revision&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;CVS&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Para los que no sepan que es CVS, una peque&amp;ntilde;a introducci&amp;oacute;n...&lt;/p&gt;&lt;p class="cita"&gt;El Concurrent Versions System (CVS), tambi&amp;eacute;n conocido como Concurrent Version System o Concurrent Versioning System, es una aplicaci&amp;oacute;n inform&amp;aacute;tica que implementa un &lt;a href="http://es.wikipedia.org/wiki/Sistema_de_control_de_versiÃ³n" title="Leer en la Wikipedia"&gt;sistema de control de versiones&lt;/a&gt;: mantiene el registro de todo el trabajo y los cambios en los ficheros (c&amp;oacute;digo fuente principalmente) que forman un proyecto (de programa) y permite que distintos desarrolladores (potencialmente situados a gran distancia) colaboren. CVS se ha hecho popular en el mundo del software libre. Sus desarrolladores difunden el sistema bajo la licencia &lt;a href="http://es.wikipedia.org/wiki/GPL" title="Leer acerca de la GPL"&gt;GPL&lt;/a&gt;. Fragmento tomado de la &lt;a href="http://es.wikipedia.org/wiki/CVS" title="Ver art&amp;iacute;culo completo"&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Pero... Â¿porqu&amp;eacute; RCS y no CVS? o Â¿porqu&amp;eacute; CVS y no RCS? RCS es un sistema similar al CVS (Concurrent Versions System), de hecho CVS trabaja sobre RCS, con un repositorio (lugar donde se hace seguimiento de los cambios entre versiones), pero sin la parte de concurrencia. Es decir: RCS resulta conveniente cuando no hay varios desarrolladores trabajando sobre el mismo c&amp;oacute;digo fuente, que adem&amp;aacute;s pueden aplicar cambios de forma concurrente en el repositorio. As&amp;iacute; que para peque&amp;ntilde;os proyectos con uno o m&amp;aacute;s desarrolladores, pero con solo una persona encargada de aplicar los cambios, RCS es una opci&amp;oacute;n a considerar.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Antes de empezar debemos tener claros ciertos conceptos:&lt;br&gt;&lt;i&gt;repositorio&lt;/i&gt;: jerarqu&amp;iacute;a de directorios alojada en el servidor que contiene diferentes m&amp;oacute;dulos a disposici&amp;oacute;n de los usuarios.&lt;br&gt;&lt;i&gt;m&amp;oacute;dulo&lt;/i&gt;: &amp;aacute;rbol de directorios que forma parte del repositorio; cuenta con un nombre identificador gracias al cual podremos baj&amp;aacute;rnoslo de forma selectiva.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;La instalaci&amp;oacute;n la puedes hacer a trav&amp;eacute;s de apt-get, urmpi, emerge, o con el tarball. Lo m&amp;aacute;s sencillo ser&amp;iacute;a, si tienes Debian o un derivado, hacer:&lt;/p&gt;&lt;p class="codigomain"&gt;apt-get install cvs cvs-doc cvsbook&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Invocar a cvs&lt;/p&gt;&lt;p style="text-align: justify;"&gt;cvs es un programa que se invoca desde int&amp;eacute;rpretes de &amp;oacute;rdenes. seg&amp;uacute;n c&amp;oacute;mo sea su configuraci&amp;oacute;n (y estoy pensando en las diferentes formas de autenticaci&amp;oacute;n) lo podr&amp;aacute;s usar en procesos por lotes sin ning&amp;uacute;n problema.&lt;br/&gt;Un aspecto que debes tener en cuenta (sobre todo si este es el primer documento que lees sobre cvs) es que cvs tiene par&amp;aacute;metros para cada una de sus &amp;oacute;rdenes. para conocerlas tienes dos m&amp;eacute;todos: invocar cvs como Â«cvs helpÂ» o mirar la ayuda.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Configuraci&amp;oacute;n&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Puedes usar varios ficheros de configuraci&amp;oacute;n que cvs reconocer&amp;aacute; y usar&amp;aacute;. Los m&amp;aacute;s importantes:&lt;/p&gt;~/.cvsignore&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;que contiene los sufijos de los ficheros que no nos interesa que cvs controle: *.tex *.aux *.dvi *.ps *.log&lt;br&gt;~/.cvsrc&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;que contiene par&amp;aacute;metros que cvs usar&amp;aacute; cada vez que se invoque:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cvs -z 3&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;update -Pd&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;diff -uw&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;La autenticaci&amp;oacute;n&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Al trabajar en remoto con cvs pueden elegirse varias alternativas de autenticaci&amp;oacute;n (es decir, de demostrar al servidor que somos quienes decimos que somos). Las que m&amp;aacute;s he visto usar son v&amp;iacute;a pserver y v&amp;iacute;a ssh. Deber&amp;aacute;s elegir alguna de estas t&amp;eacute;cnicas en funci&amp;oacute;n de tus necesidades, las ganas que tengas de complicarte la vida y, sobre todo, del grado de neurosis obsesiva por la seguridad que padezcas.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;ssh&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Como uno va por la vida predicando el software libre no puedo m&amp;aacute;s que recomendar el uso de OpenSSH que puede encontrarse en http://www.openssh.org. Si no me equivoco, esta herramienta es compatible con la norma ssh 1.x.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Para que cvs use este modo de autenticarse se pueden usar estas variables de entorno:&lt;/p&gt;&lt;p class="codigomain"&gt;export CVSROOT=":ext:USUARIO@www.vivalavirgen.com:/home/cvs"&lt;br/&gt;export CVS_RSH=/usr/bin/ssh&lt;/p&gt;&lt;p style="text-align: justify;"&gt;donde USUARIO es nuestro nombre de usuario; www.vivalavirgen.com es el servidor que aloja al repositorio; /home/cvs es el directorio del servidor en el que est&amp;aacute; el repositorio; /usr/bin/ssh es la ruta completa al amigo ssh.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ten en cuenta que, usando esta t&amp;eacute;cnica, tendr&amp;aacute;s que autenticarse (es decir, suministrar su contrase&amp;ntilde;a) cada vez que ejecute cvs.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;pserver&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Esta t&amp;eacute;cnica es m&amp;aacute;s de Â«andar por casaÂ». Se monta r&amp;aacute;pidamente y no necesita de programas a&amp;ntilde;adidos.&lt;/p&gt;&lt;p class="codigomain"&gt;export CVSROOT=":pserver:USUARIO@www.vivalavirgen.com:/home/cvs"&lt;/p&gt;&lt;p style="text-align: justify;"&gt;donde USUARIO es nuestro nombre de usuario; www.vivalavirgen.com es el servidor que aloja al repositorio; /home/cvs es el directorio del servidor en el que est&amp;aacute; el repositorio.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Si usa esta t&amp;eacute;cnica, antes de poder trabajar con cvs debe autenticarse con el servidor. Eso se hace con la orden login:&lt;/p&gt;&lt;p class="codigomain"&gt;$ cvs login&lt;/p&gt;&lt;p style="text-align: justify;"&gt;CVS le pedir&amp;aacute; la contrase&amp;ntilde;a del usuario que haya configurado.  Si la contrase&amp;ntilde;a es correcta cvs guardar&amp;aacute; la informaci&amp;oacute;n que necesita en el fichero ~/.cvspass y no tendr&amp;aacute; que volver a autenticarse. Si por alg&amp;uacute;n motivo exot&amp;eacute;rico quisieras Â«cerrar la sesi&amp;oacute;n cvsÂ» bastar&amp;aacute; con hacer:&lt;/p&gt;&lt;p class="codigomain"&gt;$ cvs logout&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Modo de uso&lt;/p&gt;&lt;p style="text-align: justify;"&gt;A continuaci&amp;oacute;n se propone una sencilla metodolog&amp;iacute;a de trabajo con cvs para evitar trabajos redundantes. Pi&amp;eacute;nsese por ejemplo en la eliminaci&amp;oacute;n de erratas o errores en documentos o en c&amp;oacute;digo fuente.&lt;br/&gt;Antes de cada sesi&amp;oacute;n de trabajo es conveniente hacer Â«cvs updateÂ» para asegurarnos de que disponemos de las &amp;uacute;ltimas modificaciones.&lt;br/&gt;Justo al acabar cada sesi&amp;oacute;n de trabajo es conveniente hacer Â«cvs ciÂ» para que todas nuestras modificaciones se propaguen en el servidor.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Bajar por primera vez el m&amp;oacute;dulo&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Para crear una copia de trabajo local del m&amp;oacute;dulo cvs deseado debemos usar la orden co (o su equivalente checkout):&lt;/p&gt;&lt;p class="codigomain"&gt;$ cd [padre-de-directorio-donde-se-alojar&amp;aacute;-el-m&amp;oacute;dulo]&lt;br&gt;$ cvs co [nombre-del-m&amp;oacute;dulo]&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Esto crear&amp;aacute; una jerarqu&amp;iacute;a de directorios donde se almacenar&amp;aacute; el m&amp;oacute;dulo. Este paso s&amp;oacute;lo hay que hacerlo una vez por cada m&amp;oacute;dulo. A partir de este momento no es necesario configurar las variables de entorno porque cvs sabe a qu&amp;eacute; repositorio pertenece el m&amp;oacute;dulo con s&amp;oacute;lo examinar los subdirectorios CVS. No debes modificar nunca esos subdirectorios o volver&amp;aacute;s loco al pobre cvs.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Actualizar cambios&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Cuando queramos actualizar la copia local del m&amp;oacute;dulo con los cambios que hayan podido hacer otros usuarios y que ya han sido enviados al repositorio deberemos hacer:&lt;/p&gt;&lt;p class="codigomain"&gt;$ cd [directorio-del-m&amp;oacute;dulo]&lt;br/&gt;$ cvs update&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Observar&amp;eacute;is que cvs informa acerca de qu&amp;eacute; est&amp;aacute; haciendo con cada fichero y para eso utiliza un c&amp;oacute;digo de una letra. Este es el significado:&lt;/p&gt;&lt;p style="text-align: justify;"&gt;U&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Se ha bajado un fichero completamente nuevo.&lt;br/&gt;P&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Se ha bajado una modificaci&amp;oacute;n del fichero y ahora &amp;eacute;ste est&amp;aacute; actualizado.&lt;br/&gt;A&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;El fichero lo ha a&amp;ntilde;adido usted pero no lo ha subido todav&amp;iacute;a al repositorio.&lt;br/&gt;R&lt;br/&gt;El fichero ha sido borrado (pero podr&amp;iacute;a recuperarse del hist&amp;oacute;rico que se almacena en el repositorio).&lt;br/&gt;C&lt;br/&gt;Hay un conflicto: otra persona ha modificado antes las mismas partes del fichero y no le queda m&amp;aacute;s remedio que revisarlo manualmente antes de poder subir los cambios de ese fichero.&lt;br/&gt;M&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Usted ha modificado el fichero pero a&amp;uacute;n no lo ha subido al repositorio.&lt;br/&gt;?&lt;br/&gt;CVS se ha encontrado un fichero que no tiene registrado y simplemente avisa y lo deja en paz.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Publicar nuestras modificaciones&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Se usa la orden ci (o su equivalente commit):&lt;/p&gt;&lt;p class="codigomain"&gt;$ cd [directorio-del-m&amp;oacute;dulo]&lt;br/&gt;$ cvs ci&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Tras lo cual el sistema mostrar&amp;aacute; la pantalla de un editor de textos (el que tengamos configurado como nuestro favorito en las variables de entorno) para que describamos el cambio.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Resoluci&amp;oacute;n de conflictos&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Tal cual la ONU habr&amp;aacute; ocasiones en las que tengamos que resolver los conflictos que surjan entre diferentes versiones para que cvs contin&amp;uacute;e trabajando. Estos conflictos son normales y ocurren cuando dos o m&amp;aacute;s personas modifican a la vez exactamente la mismas partes de un fichero. El procedimiento es simple:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;cvs se quejar&amp;aacute; de un fichero;&lt;/li&gt;&lt;li&gt;editamos ese fichero;&lt;/li&gt;&lt;li&gt;encontraremos unas marcas del tipo&lt;br&gt;[...]&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;taca&lt;br&gt;===========&lt;br&gt;tacataca&lt;br&gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;br&gt;[...]&lt;/li&gt;&lt;li&gt;El texto entre marcas es el que produce el conflicto. Hay que elegir qu&amp;eacute; modificaci&amp;oacute;n nos gusta y borramos todo lo dem&amp;aacute;s.&lt;/li&gt;&lt;li&gt;Si no quedan conflictos volvemos a hacer el Â«ciÂ» y a ser felices.&lt;/li&gt;&lt;/ul&gt;&lt;p style="font-weight: bold;"&gt;A&amp;ntilde;adir ficheros al m&amp;oacute;dulo&lt;/p&gt;&lt;p style="text-align: justify;"&gt;No olvides que cvs controlar&amp;aacute; s&amp;oacute;lo los ficheros que se le hayan indiciado expresamente. Cualquier otro fichero en el directorio cvs ser&amp;aacute; ignorado.&lt;br/&gt;Si quieres incluir un nuevo fichero o directorio al m&amp;oacute;dulo cvs hay que seguir los siguientes pasos:&lt;/p&gt;&lt;p class="codigomain"&gt;$ cd [directorio-del-m&amp;oacute;dulo]&lt;br/&gt;$ cvs add [fichero]&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Pero si el fichero es binario hay que tener la precauci&amp;oacute;n de hacer:&lt;/p&gt;&lt;p class="codigomain"&gt;$ cd [directorio-del-m&amp;oacute;dulo]&lt;br/&gt;$ cvs add -kb [fichero]&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Â¿Por qu&amp;eacute;?, se preguntar&amp;aacute; el lector m&amp;aacute;s intr&amp;eacute;pido. Resulta que CVS usa varias variables (en realidad son de RCS, que funciona por debajo de CVS). Si el fichero es binario es posible que se de una combinaci&amp;oacute;n de bytes que coincidan con alguna de estas variables. Si as&amp;iacute; fuera, RCS/CVS modificar&amp;iacute;a el contenido y lo corromper&amp;iacute;a. Tambi&amp;eacute;n se debe a que el sistema de c&amp;aacute;lculo de diferencias que usan estos sistemas no est&amp;aacute; dise&amp;ntilde;ado para trabajar con informaci&amp;oacute;n binaria. Si se obra equivocadamente es probable que corrompamos los datos.&lt;br/&gt;Tambi&amp;eacute;n quiero se&amp;ntilde;alar que si bien se pueden gestionar ficheros binarios, no se har&amp;aacute; control de versiones de los mismos. S&amp;oacute;lo se guardar&amp;aacute; la &amp;uacute;ltima versi&amp;oacute;n.&lt;br/&gt;Tras el Â«addÂ» hay que hacer un Â«cvs ciÂ» para actualizar el servidor con los nuevos ficheros.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Eliminar ficheros del m&amp;oacute;dulo cvs&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Para eliminar un fichero del m&amp;oacute;dulo cvs hay que hacer lo siguiente una vez borrado el fichero:&lt;/p&gt;&lt;p class="codigomain"&gt;$ cd [directorio-del-m&amp;oacute;dulo]&lt;br/&gt;$ cvs remove [fichero]&lt;/p&gt;&lt;p style="text-align: justify;"&gt;En cambio, si queremos borrar f&amp;iacute;sicamente los ficheros a la vez que los eliminamos del m&amp;oacute;dulo deberemos usar:&lt;/p&gt;&lt;p class="codigomain"&gt;$ cd [directorio-del-m&amp;oacute;dulo]&lt;br&gt;$ cvs remove -f [fichero]&lt;/p&gt;&lt;p style="text-align: justify;"&gt;C&amp;oacute;mo configurar un servidor y c&amp;oacute;mo subir nuevos m&amp;oacute;dulos al repositorio. Si este documento es tu referencia favorita sobre cvs no merece la pena que te explique c&amp;oacute;mo se hacen estas cosas porque de todas formas no te ibas a enterar. Espabila un poco porque es bien f&amp;aacute;cil una vez que uno se ha mirado los manuales.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Si alguien con mejor coraz&amp;oacute;n que yo tiene tiempo, que ampl&amp;iacute;e esta secci&amp;oacute;n para beneficio de todos.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Herramientas con Interfaces gr&amp;aacute;ficas para CVS&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Espero que si llegas a este punto es por curiosidad o por la inercia de la lectura porque los verdaderos tecn&amp;oacute;filos tienen que saber exactamente qu&amp;eacute; es lo que hacen en cada momento sin que ninguna clase de software intente facilitarles la vida encapsulando complejidades. Sobre todo cuando ese software ofrece interfaces gr&amp;aacute;ficos.&lt;br/&gt;En cualquier caso y para que nadie pueda dudar de mi profesionalidad voy a enumerar unos cuantos interfaces gr&amp;aacute;ficos cvs en mayor o menor estado de desarrollo:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://pharmacy.sourceforge.net/index.html" title="Ir a la web de pharmacy"&gt;pharmacy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://freshmeat.net/projects/gcvs/?highlight=gcvs" title="Ir a la web de gcvs"&gt;gcvs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.twobarleycorns.net/tkcvs.html" title="Ir a la web de tkcvs"&gt;tkcvs&lt;/a&gt;, para unix y windows y que adem&amp;aacute;s saca un bonito grafo con el historial de desarrollo.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.tortoisecvs.org/" title="Ir a la web de Tortoise"&gt;Tortoise&lt;/a&gt;, para windows, integrado en el gestor de ficheros.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.wincvs.org/" title="Ir por allaaaaa!!!!"&gt;wincvs&lt;/a&gt;, para windows, como bien sugiere el nombre. He o&amp;iacute;do hablar mal de &amp;eacute;l, pero como no lo he probado no puedo asegurar nada.&lt;/li&gt;&lt;li&gt;&lt;a href="http://freshmeat.net/projects/cervisia/?highlight=cvs" title="Pa' los que les gusta KDE"&gt;cervisia&lt;/a&gt;, para KDE.&lt;/li&gt;&lt;li&gt;&lt;a href="http://freshmeat.net/projects/lincvs/" title="Ir a la web de lincvs"&gt;lincvs&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;Bueno, ya me aburr&amp;iacute;. para encontrar los enlaces que faltan, la mayor&amp;iacute;a aparecer&amp;aacute;n en &lt;a href="http://freshmeat.net/"&gt;http://freshmeat.net&lt;/a&gt; y con el tiempo tal vez aparezcan nuevas herramientas.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Otros recursos cvs interesantes&lt;/p&gt;&lt;ul&gt;&lt;li&gt;La p&amp;aacute;gina principal que creo que ahora est&amp;aacute; en &lt;a href="http://www.cvshome.org/" title="Visitar esta web"&gt;http://www.cvshome.org/&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;cvsq, una utilidad para trabajar sin conexi&amp;oacute;n permanente a la red: &lt;a href="http://freshmeat.net/news/2000/07/02/962595201.html"&gt;http://freshmeat.net/news/2000/07/02/962595201.html&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.loria.fr/~molli/cvs-index.html"&gt;Enlaces&lt;/a&gt; a documentaci&amp;oacute;n y otros recursos.&lt;/li&gt;&lt;li&gt;cvs2cl.pl, que es una herramienta para crear ficheros Changelog al estilo GNU y que puede encontrarse en &lt;a href="http://www.red-bean.com/cvs2cl/"&gt;http://www.red-bean.com/cvs2cl/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="font-weight: bold;"&gt;Otros recursos cvs m&amp;aacute;s avanzados&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://freshmeat.net/projects/cvsadmin/?highlight=cvsadmin"&gt;cvsadmin&lt;/a&gt; es una herramienta para administrar las cuentas de un repositorio.&lt;/li&gt;&lt;li&gt;&lt;a href="http://alexm.here.ru/cvs-nserver/"&gt;cvs-nserver&lt;/a&gt; es una reescritura y extensi&amp;oacute;n de cvs para mejorar sus capacidades en red.&lt;/li&gt;&lt;li&gt;&lt;a href="http://freshmeat.net/projects/cvsauth/?highlight=cvsauth"&gt;cvsauth&lt;/a&gt; sirve para autenticar usuarios sin ejecutar en el servidor cvs como root.&lt;/li&gt;&lt;/ul&gt;&lt;p class="navegador" align="center"&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/depuracin-de-programas-en-linux.html" title="Ir a Depuraci&amp;oacute;n en Linux, uso del gdb"&gt;&amp;lt;&amp;lt;anterior&lt;/a&gt; | &lt;a href="http://casidiablo.blogspot.com/2007/03/creacin-de-documentacin-para-el-comando.html" title="Ir a Creaci&amp;oacute;n de documentaci&amp;oacute;n para el comando man"&gt;siguiente&amp;gt;&amp;gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/programacin-c-sobre-linux.html" title="Ir al indice. Descargar tutorial completo en PDF"&gt;Indice&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-3150542353475432115?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/3150542353475432115/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=3150542353475432115' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3150542353475432115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/3150542353475432115'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/control-de-versiones-con-rcs-y-cvs.html' title='Control de versiones con RCS y CVS'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-2836851208673761514</id><published>2007-03-02T15:55:00.000-05:00</published><updated>2007-03-02T09:50:28.572-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Creación de documentación para el comando man</title><content type='html'>&lt;p style="text-align: justify;"&gt;Existen diversas herramientas para la creaci&amp;oacute;n de p&amp;aacute;ginas para el comando man. En este caso me centrar&amp;eacute; en pod2man, una aplicaci&amp;oacute;n muy f&amp;aacute;cil de usar y que viene en casi todas las distros. pod2man es una utilidad que viene junto al perl, por ello es muy dif&amp;iacute;cil que no se encuentre en una distro; es una de las razones por la que la he escogido.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Al grano. Para crear la p&amp;aacute;gina de manual de un programa (el de los dados, por variar). Lo primero ser&amp;aacute; editar un archivo de texto plano, para ello utilizamos vim o emacs (Â¿has utilizado nano?), que deber&amp;aacute; tener la siguiente estructura:&lt;/p&gt;&lt;p class="codigomain"&gt;=head1 NOMBRE&lt;br&gt;&lt;br&gt;juego - programa para lanzar dados&lt;br&gt;&lt;br&gt;=head1 SYNOPSIS&lt;br&gt;&lt;br&gt;juego un_numero&lt;br&gt;&lt;br&gt;=head1 DESCRIPCION&lt;br&gt;&lt;br&gt;Este es un programa que sirve para lanzar dados. Â¿qu&amp;eacute;? Â¿c&amp;oacute;mo? Â¿no te gusta? Â¿te parece in&amp;uacute;til? A mi tambi&amp;eacute;n y no me ando quejando Â¿acaso crees que es f&amp;aacute;cil hacer ejemplos de pr&amp;aacute;ctica? Mejor dedicate a aprender gran-son hijo de *******. Es en serio: si estudias este tutorial te volver&amp;aacute;s un poco m&amp;aacute;s inteligente, tu mente se abrir&amp;aacute;, cada vez aprender&amp;aacute;s m&amp;aacute;s, llegar&amp;aacute; a tu escritorio una carta donde se te pide trabajar en una sofisticada empresa de software (solo porque entiendes el programa de los dados), luego har&amp;aacute;s conferencias en todos lados (y para toda clase de personas: programadores, linuxeros, adictos al juego de dados, etc.), luego te har&amp;aacute;s muy rico, tendr&amp;aacute;s sexo con las mujeres m&amp;aacute;s lindas del mundo, comprar&amp;aacute;s Playboy, conquistar&amp;aacute;s el mundo... y cuando todo eso pase, te acordar&amp;aacute;s de mi, s&amp;iacute;, ese pobre que hizo un tutorial de m&amp;aacute;s de 30 p&amp;aacute;ginas, con el &amp;uacute;nico fin de aportar su granito de arena, y al que un dia miraste con asco, pensando que era un negligente, mediocre e ignorante, y.... eso es todo. (todo esto es para llenar m&amp;aacute;s espacio en esta parte manual, pero podr&amp;iacute;a facilmente suceder)&lt;br&gt;&lt;br&gt;=head1 AUTOR&lt;br&gt;&lt;br&gt;Cristian Castiblanco E&amp;lt;lt&amp;gt;castidiablo@gmail.comE&amp;lt;gt&amp;gt;.&lt;br&gt;&lt;br&gt;=cut&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Llamaremos a este archivo juego.pod. Luego utilizaremos el comando pod2man para crear la p&amp;aacute;gina de documentaci&amp;oacute;n, as&amp;iacute;:&lt;/p&gt;&lt;p class="codigomain"&gt;$ pod2man --lax juego.pod &gt; juego.1&lt;/p&gt;&lt;p style="text-align: justify;"&gt;La opci&amp;oacute;n lax se utiliza para que se acepten nombres diferentes a los habituales para las secciones, pues en este caso est&amp;aacute;n traducidos al espaÃ±ol. La p&amp;aacute;gina le&amp;iacute;da puede ser observada con el comando:&lt;/p&gt;&lt;p class="codigomain"&gt;$ man -l juego.1&lt;/p&gt;&lt;p style="text-align: justify;"&gt;El &amp;uacute;nico paquete necesario para la utilizaci&amp;oacute;n de pod2man es perl. Si el programa que se quiere documentar est&amp;aacute; escrito en perl, el c&amp;oacute;digo pod puede estar dentro del propio programa y puede servir tanto para documentar el c&amp;oacute;digo fuente, como para crear la documentaci&amp;oacute;n adicional para man. Por otro lado, he le&amp;iacute;do en una bit&amp;aacute;cora (en barrapunto) la existencia de un programa llamado asciidoc, y seg&amp;uacute;n los comentarios es excelente, pero en verdad no lo he utilizado, si deseas m&amp;aacute;s informaci&amp;oacute;n acerca de &amp;eacute;ste programa no queda m&amp;aacute;s que utilizar el Google.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1f_-HOfG6iQ/Reg5gKYXfGI/AAAAAAAAAFo/JoiAQryk6-Y/s1600-h/instant%C3%A1nea1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_1f_-HOfG6iQ/Reg5gKYXfGI/AAAAAAAAAFo/JoiAQryk6-Y/s400/instant%C3%A1nea1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5037339407919053922" /&gt;&lt;/a&gt;&lt;p class="navegador" align="center"&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/control-de-versiones-con-rcs-y-cvs.html" title="Ir a Control de versiones con RCS y CVS"&gt;&amp;lt;&amp;lt;anterior&lt;/a&gt; | &lt;a href="http://casidiablo.blogspot.com/2007/03/anjuta-un-ide-para-linux.html" title="Ir a Anjuta, un IDE para Linux"&gt;siguiente&amp;gt;&amp;gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://casidiablo.blogspot.com/2007/02/programacin-c-sobre-linux.html" title="Ir al indice. Descargar tutorial completo en PDF"&gt;Indice&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-2836851208673761514?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/2836851208673761514/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=2836851208673761514' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2836851208673761514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/2836851208673761514'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/creacin-de-documentacin-para-el-comando.html' title='Creación de documentación para el comando man'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1f_-HOfG6iQ/Reg5gKYXfGI/AAAAAAAAAFo/JoiAQryk6-Y/s72-c/instant%C3%A1nea1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6193924511549609208</id><published>2007-03-02T15:51:00.000-05:00</published><updated>2007-03-02T09:48:52.525-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Anjuta, un IDE de C++ para Linux</title><content type='html'>&lt;p style="text-align: justify;"&gt;Antes que nada debemos tener claro Â¿Qu&amp;eacute; es un IDE? IDE son las siglas en ingl&amp;eacute;s de Integrated Development Environment algo as&amp;iacute; como Ambiente Integrado de Desarrollo, y es un conjunto de herramientas &amp;uacute;tiles al programador colocadas en un todo para no tener que estar usando las herramientas por separado y de diferentes autores. Los componentes m&amp;aacute;s comunes de un IDE son: un editor de texto, un compilador, un int&amp;eacute;rprete, un depurador y despu&amp;eacute;s vendr&amp;aacute;n los plugins que cada IDE tenga como caracter&amp;iacute;stica especial.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1f_-HOfG6iQ/Reg4p6YXfCI/AAAAAAAAAE4/1IdSbbvxFtw/s1600-h/Pantallazo-Anjuta.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_1f_-HOfG6iQ/Reg4p6YXfCI/AAAAAAAAAE4/1IdSbbvxFtw/s400/Pantallazo-Anjuta.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5037338475911150626" /&gt;&lt;/a&gt;&lt;p style="text-align: justify;"&gt;Algunos IDE pueden tener soporte para varios lenguajes de programaci&amp;oacute;n y otros est&amp;aacute;n especializados para un solo lenguaje. El IDE del que hablaremos es Anjuta IDE; este es un proyecto libre que busca ofrecer un IDE para C y C++, aunque tambi&amp;eacute;n se soportan otros lenguajes como Perl. Anjuta est&amp;aacute; escrito para GTK+ y GNOME.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Muchas de las distribuciones m&amp;aacute;s populares de GNU/Linux ya traen entre sus paquetes a Anjunta, y ser&amp;aacute; f&amp;aacute;cil de instalar usando sus respectivas herramientas (apt-get, urmpi, emerge , e tc.) Sin embargo desde el sitio web del proyecto podemos descargar el tarball para instalarlo nosotros mismos.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Lo primero que debemos hacer una vez que lo hayamos descargado es extraer el contenido del tarball:&lt;/p&gt;&lt;p class="codigomain"&gt;$ tar -xvzf anjuta-1.2.4.tar.gz&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Despu&amp;eacute;s de esta instrucci&amp;oacute;n desde la lÃ­nea de comandos, entraremos al directorio en donde se encuentra todo el contenido del tarball&lt;/p&gt;&lt;p class="codigomain"&gt;$ cd ./anjuta-1.2.4a&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Algo que siempre recomiendo en la instalaci&amp;oacute;n de cualquier cosa es el leer el README.TXT, esto siempre es importante en todo lo que hagamos. Bien, continuando con la instalaci&amp;oacute;n debemos de tipear las siguientes instrucciones desde la l&amp;iacute;nea de comandos:&lt;/p&gt;&lt;p class="codigomain"&gt;$ ./configure&lt;br/&gt;$ make&lt;br/&gt;$ make install&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora s&amp;iacute; entiendes como funciona eso de make Â¿verdad? Con esto habremos terminado de construir Anjuta IDE sin importar si est&amp;aacute; o no empaquetado para nuestra distribuci&amp;oacute;n.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;El primer contacto con Anjuta&lt;/p&gt;&lt;p style="text-align: justify;"&gt;La primera vez que iniciemos Anjuta veremos un IDE sencillo, bien ordenado y que si no supiÃ©ramos nada de software alternativo, bien podrÃ­a pasar por un IDE de esos comerciales. Al dar click en nuevo nos aparecer&amp;aacute; un di&amp;aacute;logo que nos preguntar&amp;aacute; el tipo de archivo a crear, un .c, .cpp, .pl, etc. Algo que m e llam&amp;oacute; la atenci&amp;oacute;n de esta parte es que podemos activar una casilla con la cual nuestro nuevo programa ya aparecer&amp;aacute; comentado con la leyenda de la GPL, :D asÃ­ desde antes de escribir el c&amp;oacute;digo ya nuestro programa es libre.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1f_-HOfG6iQ/Reg4qaYXfDI/AAAAAAAAAFA/Kqd-VodROdc/s1600-h/largo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_1f_-HOfG6iQ/Reg4qaYXfDI/AAAAAAAAAFA/Kqd-VodROdc/s400/largo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5037338484501085234" /&gt;&lt;/a&gt;&lt;p style="text-align: justify;"&gt;Anjuta tiene todo lo que podemos esperar de un herramienta que nos ayudar&amp;aacute; a programar, como es un asistente que nos guiar&amp;aacute; paso a paso en la creaci&amp;oacute;n de nuestros proyectos; o si ya tenemos un proyecto hecho y queremos importarlo, bueno, pues Anjunta cuenta con esta opci&amp;oacute;n; y claro, ya hablando de las caracter&amp;iacute;sticas del editor pues tendremos el ya muy caracter&amp;iacute;stico resaltado de sintaxis, identado y el autocompletado de instrucciones y variables.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;En peque&amp;ntilde;o ejemplo&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Anjuta es tan sencillo que realmente no hay mucho que decir, pues todo no lo pone a nuestro alcance, as&amp;iacute; que probaremos nuestro ya famoso programa de lanzar dados. Como ya tenemos los archivos, lo &amp;uacute;nico que tenemos que hacer es ir al menÃº Archivo y dar click en Abrir; escogemos nuestros dos programas en C++ de ejemplo juego.cpp y tirador .cpp; luego vamos al men&amp;uacute; Build y le damos en "Compile".&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora ejecutemos el programa... recuerda que es necesario enviar/pasarle un argumento a nuestro programa. Anjuta nos d&amp;aacute; la posibilidad de simplemente Ejecutar el programa o Ejecutarlo con par&amp;aacute;metros. Para esto vamos al men&amp;uacute; Build y le damos en â€œSet program paramsâ€, click en ejecutar y...&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1f_-HOfG6iQ/Reg4qaYXfEI/AAAAAAAAAFI/HrsrdZDYIDs/s1600-h/Pantallazo-Execute+Program.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_1f_-HOfG6iQ/Reg4qaYXfEI/AAAAAAAAAFI/HrsrdZDYIDs/s400/Pantallazo-Execute+Program.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5037338484501085250" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1f_-HOfG6iQ/Reg4qqYXfFI/AAAAAAAAAFQ/Gzfj_CGb4R4/s1600-h/Pantallazo-Terminal.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_1f_-HOfG6iQ/Reg4qqYXfFI/AAAAAAAAAFQ/Gzfj_CGb4R4/s400/Pantallazo-Terminal.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5037338488796052562" /&gt;&lt;/a&gt;&lt;p style="text-align: justify;"&gt;Esto es lo b&amp;aacute;sico del Anjuta, pero el programa est&amp;aacute; lleno de opciones y herramientas... una muy buena es el permitenos trabajar con CVS.&lt;/p&gt;&lt;p class="navegador" align="center"&gt;&lt;a href="http://casidiablo.blogspot.com/2007/03/creacin-de-documentacin-para-el-comando.html" title="Ir a Creaci&amp;oacute;n de documentaci&amp;oacute;n para el comando man"&gt;&amp;lt;&amp;lt;anterior&lt;/a&gt; | &lt;a href="http://casidiablo.blogspot.com/2007/02/programacin-c-sobre-linux.html" title="Ir al indice. Descargar tutorial completo en PDF"&gt;Indice&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6193924511549609208?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6193924511549609208/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6193924511549609208' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6193924511549609208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6193924511549609208'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/03/anjuta-un-ide-para-linux.html' title='Anjuta, un IDE de C++ para Linux'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1f_-HOfG6iQ/Reg4p6YXfCI/AAAAAAAAAE4/1IdSbbvxFtw/s72-c/Pantallazo-Anjuta.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-1614331676705248646</id><published>2007-02-27T16:17:00.000-05:00</published><updated>2007-02-27T16:20:18.992-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista NEX IT</title><content type='html'>&lt;table style="width:100%;"&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 1&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit1.zip" title="Descargar n&amp;uacute;mero 1" target="_blank"&gt;&lt;img src="http://img172.imageshack.us/img172/2806/nit1wz2.png" alt="Revista#1"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 2&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit2.zip" title="Descargar n&amp;uacute;mero 2" target="_blank"&gt;&lt;img src="http://img297.imageshack.us/img297/7276/nit2ex8.png" alt="Revista#2"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 3&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit3.zip" title="Descargar n&amp;uacute;mero 3" target="_blank"&gt;&lt;img src="http://img185.imageshack.us/img185/4274/nit3sy0.png" alt="Revista#4"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 4&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit4.zip" title="Descargar n&amp;uacute;mero 4" target="_blank"&gt;&lt;img src="http://img105.imageshack.us/img105/5303/nit4vz9.png" alt="Revista#4"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 5&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit5.zip" title="Descargar n&amp;uacute;mero 5" target="_blank"&gt;&lt;img src="http://img256.imageshack.us/img256/5055/nit5gs2.png" alt="Revista#5"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 6&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit6.zip" title="Descargar n&amp;uacute;mero 6" target="_blank"&gt;&lt;img src="http://img102.imageshack.us/img102/1315/nit6ui5.png" alt="Revista#6"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 7&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit7.zip" title="Descargar n&amp;uacute;mero 7" target="_blank"&gt;&lt;img src="http://img170.imageshack.us/img170/4255/nit7nz0.png" alt="Revista#7"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 9&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit9.zip" title="Descargar n&amp;uacute;mero 9" target="_blank"&gt;&lt;img src="http://img172.imageshack.us/img172/7311/nit9rl0.png" alt="Revista#9"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 10&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit10.zip" title="Descargar n&amp;uacute;mero 10" target="_blank"&gt;&lt;img src="http://img144.imageshack.us/img144/2536/nit10nt2.png" alt="Revista#10"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 11&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit11.zip" title="Descargar n&amp;uacute;mero 11" target="_blank"&gt;&lt;img src="http://img170.imageshack.us/img170/8553/nit11un1.png" alt="Revista#11"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 12&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit12.zip" title="Descargar n&amp;uacute;mero 12" target="_blank"&gt;&lt;img src="http://img297.imageshack.us/img297/6969/nit12dl3.png" alt="Revista#12"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 13&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit13.zip" title="Descargar n&amp;uacute;mero 13" target="_blank"&gt;&lt;img src="http://img406.imageshack.us/img406/9729/nit13rs4.png" alt="Revista#13"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 14&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit14.zip" title="Descargar n&amp;uacute;mero 14" target="_blank"&gt;&lt;img src="http://img407.imageshack.us/img407/1369/nit14yl6.png" alt="Revista#14"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 15&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit15.zip" title="Descargar n&amp;uacute;mero 15" target="_blank"&gt;&lt;img src="http://img406.imageshack.us/img406/6518/nit15zs0.png" alt="Revista#15"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 16&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit16.zip" title="Descargar n&amp;uacute;mero 16" target="_blank"&gt;&lt;img src="http://img407.imageshack.us/img407/7535/nit16qb0.png" alt="Revista#16"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 17&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit17.zip" title="Descargar n&amp;uacute;mero 17" target="_blank"&gt;&lt;img src="http://img178.imageshack.us/img178/9297/nit17qp7.png" alt="Revista#17"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 18&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit18.zip" title="Descargar n&amp;uacute;mero 18" target="_blank"&gt;&lt;img src="http://img407.imageshack.us/img407/7968/nit18nl9.png" alt="Revista#18"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 19&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit19.zip" title="Descargar n&amp;uacute;mero 19" target="_blank"&gt;&lt;img src="http://img408.imageshack.us/img408/4886/nit19hw2.png" alt="Revista#19"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 20&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista.nexit.googlepages.com/nit20.zip" title="Descargar n&amp;uacute;mero 20" target="_blank"&gt;&lt;img src="http://img235.imageshack.us/img235/7817/nit20qq1.png" alt="Revista#20"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;Para m&amp;aacute;s informaci&amp;oacute;n visita la &lt;a href="http://www.nexweb.com.ar" title="Ir!!!" target="_blank"&gt;p&amp;aacute;gina web&lt;/a&gt; de la revista Nex IT.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-1614331676705248646?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/1614331676705248646/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=1614331676705248646' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1614331676705248646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1614331676705248646'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/revista-nex-it.html' title='Revista NEX IT'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-1338656356606676009</id><published>2007-02-26T16:07:00.000-05:00</published><updated>2007-02-26T16:20:08.333-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><title type='text'>Usando Google Docs para hacer más fácil la tarea de los bloggers...</title><content type='html'>Google Docs es uno de los tantos servicios de Google, que nos permite crear y modificar documentos cómunes y hojas de cálculo. Tiene una interfaz agradable y muy intuitiva usando programación en AJAX, como ya es costumbre entre los chicos de Google. Es posible acceder a este servicio con tu usuario y password de Google (el mismo que utilizas en Gmail, por ejemplo), la URL del sitio es http://docs.google.com.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Subiendo o creando archivos... &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para subir un archivo basta con ir al panel principal (Documentos de Inicio) y hacer click en “Subir”, con lo cual nos aparecerá lo siguiente:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1f_-HOfG6iQ/ReNONn5CU_I/AAAAAAAAAEY/BAhODezMw_8/s1600-h/8.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_1f_-HOfG6iQ/ReNONn5CU_I/AAAAAAAAAEY/BAhODezMw_8/s400/8.PNG" alt="" id="BLOGGER_PHOTO_ID_5035954804283823090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Click en “Examinar...”, escogemos el archivo a subir, click en “Subir archivo” y listo. También es posible subir archivos a nuestra cuenta enviandolo a un correo electrónico especial (NO el de Gmail), que se nos asigna al registrarnos a Google Docs, tal como se vé en la imagen.&lt;br /&gt;&lt;br /&gt;Además, Google Docs soporta varios tipos de archivos, por ejemplo: Archivos HTML, Archivos de texto plano (.txt), Archivos de MS Word (.doc), Texto Enriquecido (.rtf), Archivos de OpenDocument (.odt), Archivos de StarOffice (.sxw); y en cuanto a hojas de cálculo Valores separados por comas (.csv), Archivos de MS Excel (.xls), Archivos de OpenDocument (.ods).&lt;br /&gt;&lt;br /&gt;No creo que haya la necesidad de explicar como crear un documento nuevo ¿verdad?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jugando con nuestros documentos... &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Al igual que cualquier programa ofimático es posible hacer cualquier tipo de modificación a los archivos. Desde el uso de negrita, cursiva, subrayados, etc. pasando por fuentes, tamaños, colores, búsqueda y sustitución de texto, hasta correción ortográfica, contar palabras, y un sin número de características comúnes. También es posible editar documentos desde su código en HTML.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1f_-HOfG6iQ/ReNNd35CU-I/AAAAAAAAAEQ/W872h0Lo8-0/s1600-h/7.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_1f_-HOfG6iQ/ReNNd35CU-I/AAAAAAAAAEQ/W872h0Lo8-0/s400/7.PNG" alt="" id="BLOGGER_PHOTO_ID_5035953983945069538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Además, es posible guardar el documento en diferentes formatos (.doc, .odt, .pdf, entre otros), por ejemplo:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1f_-HOfG6iQ/ReNNdX5CU7I/AAAAAAAAAD4/l5ADnw3Gfc0/s1600-h/3.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_1f_-HOfG6iQ/ReNNdX5CU7I/AAAAAAAAAD4/l5ADnw3Gfc0/s400/3.PNG" alt="" id="BLOGGER_PHOTO_ID_5035953975355134898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;También es posible compartir los documentos en Internet, y añadir colaboradores para el mismo. Con esta característica es posible que varias personas revisen, modifiquen y/o corrijan el documento a través de Internet; incluyendo también un sistema de versiones con el cual es posible ver y/o administrar los cambios que hagan los difirentes “colaboradores”.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Para los Bloggers también hay herramientas... &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Una de las características más útiles y que más me ha gustado, es la de publicar documentos directamente a un blog. Esto es bastante útil entre usuarios que, como yo, prefieren editar sus entradas y posts estando offline, y luego, al terminar, subir los resultados.&lt;br /&gt;&lt;br /&gt;Google Docs tiene soporte para los servicios de blog más utilizados actualmente, y el proceso para publicar entradas es bastante sencilla. Veamos un ejemplo... Editamos un archivo, lo guardamos, y luego hacemos click en la pestaña “Publicar” (arriba a la derecha), luego configuraremos la cuenta para que pueda publicar entradas en nuestro blog.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1f_-HOfG6iQ/ReNNdn5CU9I/AAAAAAAAAEI/85cWsR0V-kw/s1600-h/6.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_1f_-HOfG6iQ/ReNNdn5CU9I/AAAAAAAAAEI/85cWsR0V-kw/s400/6.PNG" alt="" id="BLOGGER_PHOTO_ID_5035953979650102226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Como ves, Google Docs soporta una variedad de blogs, como: Blogger, BlogHarbor, BlogWare, LiveJournal, SquareSpace o WordPress (incluyendo blogs que tengas en un servidor propio). En este caso vamos a configurarlo para Blogger:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1f_-HOfG6iQ/ReNNdH5CU6I/AAAAAAAAADw/5uPMR7aBfEA/s1600-h/1.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_1f_-HOfG6iQ/ReNNdH5CU6I/AAAAAAAAADw/5uPMR7aBfEA/s400/1.PNG" alt="" id="BLOGGER_PHOTO_ID_5035953971060167586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Como vemos es muy fácil. Basta con tipear el nombre de usuario, la contraseña, el ID del blog (o el título) y listo!!!. Después de la configuración le damos click en “Publicar en blog” y... buaaalaaaa (¿o Voilá?)!!!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1f_-HOfG6iQ/ReNNdn5CU8I/AAAAAAAAAEA/7qVe2G4-EjM/s1600-h/5.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_1f_-HOfG6iQ/ReNNdn5CU8I/AAAAAAAAAEA/7qVe2G4-EjM/s400/5.PNG" alt="" id="BLOGGER_PHOTO_ID_5035953979650102210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-1338656356606676009?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/1338656356606676009/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=1338656356606676009' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1338656356606676009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1338656356606676009'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/usando-google-docs-para-hacer-ms-fcil.html' title='Usando Google Docs para hacer más fácil la tarea de los bloggers...'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1f_-HOfG6iQ/ReNONn5CU_I/AAAAAAAAAEY/BAhODezMw_8/s72-c/8.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7499553832136102564</id><published>2007-02-26T10:06:00.000-05:00</published><updated>2007-02-27T16:26:58.925-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><title type='text'></title><content type='html'>&lt;p style="MARGIN-BOTTOM:0in; FONT-FAMILY:Georgia"&gt;   &lt;b&gt;La importancia de la gramática...&lt;/b&gt; &lt;/p&gt; &lt;p style="MARGIN-BOTTOM:0in; FONT-FAMILY:Georgia"&gt;   &lt;br/&gt; &lt;/p&gt; &lt;p style="MARGIN-BOTTOM:0in; FONT-FAMILY:Georgia"&gt;   Para reflexionar XD: &lt;/p&gt; &lt;p style="MARGIN-BOTTOM:0in; FONT-FAMILY:Georgia"&gt;   &lt;br/&gt; &lt;/p&gt; &lt;p align="justify" style="MARGIN-BOTTOM:0in; FONT-FAMILY:Georgia"&gt;   Un gerente de una compañía está intrigado con el extraño comportamiento de uno   de sus empleados, por lo cual contrata un detective privado para que lo   investigue. Después de un par de dias el detective va a la oficina del   gerente, para informarle de los resultados que ha arrojado su investigación. &lt;/p&gt; &lt;p align="justify" style="MARGIN-BOTTOM:0in; FONT-FAMILY:Georgia"&gt;   El detective dice al gerente: “Juan López sale todos los dias a medio dia,   coge su coche, va a su casa, almuerza, hace el amor con su mujer, se fuma uno   de sus mejores habanos, y regresa al trabajo”. &lt;/p&gt; &lt;p align="justify" style="MARGIN-BOTTOM:0in; FONT-FAMILY:Georgia"&gt;   El gerente dice tranquilo: “Ahh, bueno, no hay nada de malo en eso”, entonces   el detective le pide permiso al gerente para tutearlo, a lo que el gerente   accede extrañado. &lt;/p&gt; &lt;p align="justify" style="MARGIN-BOTTOM:0in; FONT-FAMILY:Georgia"&gt;   El detective dice al gerente: “Te lo repito, Juan López sale todos los dias a   medio dia, coge tu coche, va a tu casa, almuerza, hace el amor con tu mujer,   se fuma uno de tus mejores habanos, y regresa al trabajo”. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7499553832136102564?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7499553832136102564/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7499553832136102564' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7499553832136102564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7499553832136102564'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/la-importancia-de-la-gramtica.html' title=''/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-6567032439695916181</id><published>2007-02-22T09:24:00.000-05:00</published><updated>2007-02-22T09:46:22.437-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='ejercicios en java'/><title type='text'>Instalación de un entorno Web: Tomcat + JSP + MySQL</title><content type='html'>Este pequeño artículo pretende orientarte un poco en los pasos para hacer correr aplicaciones Web en JSP que manipulen bases de datos en MySql. Aunque está orientado a Linux los pasos son muy similares para hacerlo en MS Windows. Primero aclarar unos conceptos, como...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/01/qu-es-un-servidor-web.html"&gt;Qué es un Servidor Web&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2006/12/el-servidor-apache-tomcat.html"&gt;Qué es Tomcat Apache&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/01/acerca-de-java.html"&gt;Qué es Java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2007/01/qu-es-jsp.html"&gt;Qué es JSP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://es.wikipedia.org/wiki/MySQL"&gt;Qué es MySQL&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Aunque ya debes tener la mayoría de esos conceptos más que claros, sino no estarías leyendo por aquí. Umm, ¿en qué me quedé? ammm, ya. Lo siguiente es instalar las aplicaciones que necesitamos en el siguiente órden.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Instalar el Java 2 SDK (si usas Debian o Ubuntu &lt;a href="http://casidiablo.blogspot.com/2006/07/cmo-instalar-java-en-distro-de-linux.html"&gt;esto talvez te interese&lt;/a&gt;), también hay algunas distros que vienen con el compilador de Java incluido (como Knoppix).&lt;/li&gt;&lt;li&gt;&lt;a href="http://casidiablo.blogspot.com/2006/12/instalacin-del-apache-tomcat-en-linux.html"&gt;Instalar el Apache Tomcat&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Instalar el MySQL (&lt;a href="http://www.google.com.co/search?hl=es&amp;q=instalar+mysql+en+windows&amp;amp;meta=lr%3Dlang_es"&gt;en Windows&lt;/a&gt; | &lt;a href="http://www.google.com.co/search?hl=es&amp;q=instalar+mysql+en+linux&amp;amp;meta=lr%3Dlang_es"&gt;en Linux&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Hecho esto tienes que copiar el controlador para Java de mysql que puedes encontrar en la página web de Java (te lo hago fácil, bájalo de &lt;a href="http://casidiablohost.googlepages.com/drivermysql.zip"&gt;aquí&lt;/a&gt;, descompríme el ZIP y te quedará el archivo de java mysql-connector-java-3.1.8-bin.jar) y cópialo en la ruta jre/lib/ext/ en mi caso lo copio en /usr/lib/j2sdk1.5-sun/jre/lib/ext/, por ej. Este es el driver que necesita JSP para accesar correctamente las clases para manipular bases de datos en el gestor MySQL.&lt;br /&gt;&lt;br /&gt;Eso es todo... solo aclarar que, en algunos casos, sistemas operativos basados en Debian como el Ubuntu el usuario y contraseña del MySql no se encuentra en el archivo mysql.cnf sino en el archivo debian.cnf que se encuentra en el directorio /etc/mysql.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Un ejemplo simple – Accesando una base de datos MySQL con JSP&lt;/span&gt;&lt;br /&gt;Vamos a hacer un pequeño ejemplo en el que consultaremos los datos de una tabla, no vamos a insertar, eliminar ni actualizar en el ejemplo, solo consultar, ya que el objetivo del artículo es otro (“les das la mano y te cogen todo el brazo” decía mi abuela). Lo primero es tener una base de datos base para operar sobre ella; entonces crearemos una sencilla.&lt;p class="cita"&gt;Para algunos: ¿qué? ¿cómo? ¿no sabes hacer bases de datos en MySQL? Ohh, no, no nooooo, por queeeee!!! Si es tu caso existen muchos manuales en la web para hacer esto, basta con una búsqueda en el Google, de seguro encontrarás miles de manuales (no es exageración).&lt;/p&gt;Pasado el susto proseguimos con la creación de la base de datos, que sería algo como esto (supongo que ya sabes como es la cosa): Pimero iniciar el MySQL, verificar las bases de datos existentes y crear la nuestra (la del ejemplo):&lt;br /&gt;&lt;br /&gt;&lt;p class="codigomain"&gt;&lt;/p&gt;&lt;p class="codigomain"&gt;root@casidiablo-coder:~/tomcat/bin# mysql&lt;br /&gt;Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;Your MySQL connection id is 8 to server version: 4.1.15-Debian_1ubuntu5-log&lt;br /&gt;&lt;br /&gt;Type 'help;' or '\h' for help. Type '\c' to clear the buffer.&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; show databases;&lt;br /&gt;+-------------+&lt;br /&gt;| Database    |&lt;br /&gt;+-------------+&lt;br /&gt;| ejemplo     |&lt;br /&gt;| mysql       |&lt;br /&gt;| organizador |&lt;br /&gt;| test        |&lt;br /&gt;+-------------+&lt;br /&gt;4 rows in set (0.28 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; create database simple;&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.14 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; show databases;&lt;br /&gt;+-------------+&lt;br /&gt;| Database    |&lt;br /&gt;+-------------+&lt;br /&gt;| ejemplo     |&lt;br /&gt;| mysql       |&lt;br /&gt;| organizador |&lt;br /&gt;| simple      |&lt;br /&gt;| test        |&lt;br /&gt;+-------------+&lt;br /&gt;5 rows in set (0.00 sec)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Ahora ingresaremos a la base de datos “ejemplo”, crearemos una tabla (“hombre”) e insertaremos datos en dicha tabla:&lt;p class="codigomain"&gt;mysql&amp;gt; use simple&lt;br /&gt;Database changed&lt;br /&gt;mysql&amp;gt; create table hombre(cedula int(15) primary key, nombre varchar(30));&lt;br /&gt;Query OK, 0 rows affected (0.12 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; describe hombre;&lt;br /&gt;+--------+-------------+------+-----+---------+-------+&lt;br /&gt;| Field  | Type        | Null | Key | Default | Extra |&lt;br /&gt;+--------+-------------+------+-----+---------+-------+&lt;br /&gt;| cedula | int(15)     |      | PRI | 0       |       |&lt;br /&gt;| nombre | varchar(30) | YES  |     | NULL    |       |&lt;br /&gt;+--------+-------------+------+-----+---------+-------+&lt;br /&gt;2 rows in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; insert into hombre values(1321654987,'Christian Castiblanco');&lt;br /&gt;Query OK, 1 row affected (0.11 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; insert into hombre values(1032654985,'Jenny Florez');&lt;br /&gt;Query OK, 1 row affected (0.03 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; insert into hombre values(1032654987,'Marcela Bohorquez');&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; insert into hombre values(55184953,'Arturo Cortez');&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; select * from hombre;&lt;br /&gt;+------------+-----------------------+&lt;br /&gt;| cedula     | nombre                |&lt;br /&gt;+------------+-----------------------+&lt;br /&gt;| 1321654987 | Christian Castiblanco |&lt;br /&gt;| 1032654985 | Jenny Florez          |&lt;br /&gt;| 1032654987 | Marcela Bohorquez     |&lt;br /&gt;|   55184953 | Arturo Cortez         |&lt;br /&gt;+------------+-----------------------+&lt;br /&gt;4 rows in set (0.08 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt;&lt;/p&gt;Listo!!! Ahora, lo que tenemos que hacer es crear nuestro programa en JSP que consulte (al menos) la base de datos...&lt;p class="cita"&gt;Para algunos: Noooo!!!! No me digas que tampoco sabes programar en JSP. Pero ¿cómo? ¿en que andas pensando? ¿que los santos sudan y les da pecueca? Shiiitt, ¿porqué Dios mio? ¿porqué a mi? si mi nick no es lo que parece DIOS!!! ummmjuuuuu, calmado, tranquilo... lo mismo de siempre: Busca en el google, hay infinidad de tutoriales: leelos!!!&lt;/p&gt;Pasado el segundo susto (me van a matar de un paro cardiaco) y confiando en que ya sepas lo básico de JSP proseguimos; primero crearemos un archivo llamado conexion.jsp que contendrá dos funciones, una que devuelve el usuario, y otra el password:&lt;p class="codigomain"&gt;&amp;lt;%!&lt;br /&gt; String usuarioMysql(){&lt;br /&gt;    return "debian-sys-maint";&lt;br /&gt; }&lt;br /&gt; String passwordMysql(){&lt;br /&gt;    return "i43sVHb2AAeK6SXw";&lt;br /&gt; }&lt;br /&gt;%&amp;gt;&lt;/p&gt;Esto es útil, ya que en muchos casos es necesario transportar la apilación a diversas plataformas o SO, y los datos de MySQL (user y password) cambian de una a otra. Además, cuando realizamos cualquier tipo de operación a la base de datos (consultar, modificar, etc.) desde JSP, es obligatorio el uso del par usuario/password; entonces, si los datos de usuario y password cambiasen por algún motivo, tendriamos que modificar todos y cada uno de los archivos de JSP que accedan a la base de datos, una tarea muy engorrosa y difícil, por no decir peligrosa.&lt;br /&gt;&lt;br /&gt;Para solucionar el problema utilizamos un archivo (en este caso conexión.jsp) que guarde usuario/password, y los otros archivos que necesiten dicha información lo único que tienen que hacer es invocar las funciones usuarioMysql() y passwordMyslq(); así, en caso tal que el usuario o el password cambien, solo es necesario modificar el archivo conexión.jsp. Veamos entonces el segundo archivo (listar.jsp):&lt;p class="codigomain"&gt;&amp;lt;%@ page import="java.io.*,java.util.*,java.net.*,java.sql.*" %&amp;gt;&lt;br /&gt;&amp;lt;%@ include file="conexion.jsp" %&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Ejemplo consulta JSP&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;&amp;lt;%&lt;br /&gt; Connection canal = null;&lt;br /&gt; Statement instruccion=null;&lt;br /&gt; ResultSet tabla= null;&lt;br /&gt; String conexion = "jdbc:mysql://localhost/simple?user="+usuarioMysql()+"&amp;password="+passwordMysql();&lt;br /&gt; //Abrir el enlace&lt;br /&gt; try{&lt;br /&gt;    Class.forName("com.mysql.jdbc.Driver").newInstance();&lt;br /&gt;    canal = DriverManager.getConnection(conexion);&lt;br /&gt;    instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);&lt;br /&gt; }&lt;br /&gt; catch(ClassNotFoundException e){ out.println(e);}&lt;br /&gt; catch(SQLException e){ out.println(e);}&lt;br /&gt; try{&lt;br /&gt;    tabla = instruccion.executeQuery("select cedula, nombre from hombre");&lt;br /&gt;    out.println("&amp;lt;table border=1&amp;gt;");&lt;br /&gt;    out.println("&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Cedula&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Nombre&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;");&lt;br /&gt;    while(tabla.next()){&lt;br /&gt;       out.println("&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;"+tabla.getString(1)+"&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;"+tabla.getString(2)+"&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;");&lt;br /&gt;    }&lt;br /&gt;    out.println("&amp;lt;/table&amp;gt;");&lt;br /&gt; }&lt;br /&gt; catch(Exception e){ out.println(e);}&lt;br /&gt;%&amp;gt;&lt;br /&gt;&amp;lt;/center&amp;gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;/p&gt;Detallemos un poco (muy poco) el programa:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;El la primera línea importamos los paquetes necesarios para realizar consultas en una base de datos en MySQL.&lt;/li&gt;&lt;li&gt;En la línea 2 importamos el archivo conexion.jsp que contiene las funciones usuarioMysql() y passwordMyslq(). Este es el equivalente a la función include en PHP.&lt;/li&gt;&lt;li&gt;La porción de código de JSP vá encerrada entre &lt;% y %&gt; (Esto ya lo debes saber ¿no?)&lt;/li&gt;&lt;li&gt;Se declaran los objetos necesarios para la conexión.&lt;/li&gt;&lt;li&gt;Se crea una instancia del controlador (driver) de MySQL.&lt;/li&gt;&lt;li&gt;Se ejecuta una sentencia SQL para la consulta.&lt;/li&gt;&lt;li&gt;Y mediante el uso de out.println se crea la tabla (en HTML) de los datos.&lt;/li&gt;&lt;/ul&gt;Si no te quedó claro es porque seguro no te has leído nada de JSP, en todo caso el objetivo del artículo era simplemente crear el entorno web JSP+MySQL, me he salido del tema, en fin... Copiamos estos archivos a la carpeta de apicaciones JSP del Tomcat (eso ya lo hicimos aquí, así que no es necesario detenerme a explicarlo). El servicio (daemon o demonio) de MySQL debe estar ejecutándose. Ponemos a correr el servidor tomcat, ejecutamos la aplicación y... buuuaaalaaaaaaa!!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1f_-HOfG6iQ/Rd2ri3dHKaI/AAAAAAAAADk/c9z2NuM1F1E/s1600-h/Ejemplo+consulta+JSP.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_1f_-HOfG6iQ/Rd2ri3dHKaI/AAAAAAAAADk/c9z2NuM1F1E/s400/Ejemplo+consulta+JSP.png" alt="" id="BLOGGER_PHOTO_ID_5034368573960038818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Eso es todo, espero que les sirva. Saludetes!!!&lt;p class="descarga"&gt;&lt;a href="http://casidiablohost.googlepages.com/JSPMySQL.pdf" title="Descargar el tutorial!!!"&gt;Descargar el tutorial completo en PDF&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-6567032439695916181?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/6567032439695916181/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=6567032439695916181' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6567032439695916181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/6567032439695916181'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/instalacin-de-un-entorno-web-tomcat-jsp.html' title='Instalación de un entorno Web: Tomcat + JSP + MySQL'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1f_-HOfG6iQ/Rd2ri3dHKaI/AAAAAAAAADk/c9z2NuM1F1E/s72-c/Ejemplo+consulta+JSP.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-8830203736490424955</id><published>2007-02-22T09:14:00.000-05:00</published><updated>2007-02-22T09:21:50.082-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Noticias...</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a style="color: blue;" href="http://www.cambiodemichoacan.com.mx/vernota.php?id=58419" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt; Reconoce el ITESZ a alumnos expertos en sistemas &lt;b&gt;Java&lt;/b&gt; y Solares&lt;br /&gt;&lt;/a&gt;&lt;span style="font-size:-1;"&gt;&lt;span style="color:#666666;"&gt;Cambio (Michoacán) - Morelia,Michoacán,Mexico&lt;/span&gt;&lt;b&gt;&lt;br /&gt;...&lt;/b&gt; a alumnos destacados que recibieron su certificación que los acredita como expertos en el manejo de los sistemas operativos informáticos &lt;b&gt;Java&lt;/b&gt; y Solares. &lt;b&gt;...&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt; &lt;a style="color: blue;" href="http://www.infobaeprofesional.com/interior/index.php?p=nota&amp;idx=41373&amp;amp;cookie" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt; La demanda de profesionales de tecnología se duplicará este año&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:-1;"&gt;&lt;span style="color:#666666;"&gt;infoBAE profesional - Buenos Aires,Argentina&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:-1;"&gt; Asimismo, el estudio muestra que los mayores problemas se presentan a la hora de conseguir analistas y programadores especializados en lenguaje &lt;b&gt;Java&lt;/b&gt; y .Net. &lt;b&gt;...&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a style="color: blue;" href="http://www.universia.com.ar/portada/actualidad/noticia_actualidad.jsp?noticia=20070" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt; Tecnologías &lt;b&gt;Java&lt;/b&gt;, una nueva carrera a distancia en la UTN&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:-1;"&gt;&lt;span style="color:#666666;"&gt;IS-Portal (Comunicados de prensa) - Barcelona,Spain&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:-1;"&gt; Solaris Express, Developer Edition, una distribución basada en OpenSolaris para desarrolladores de &lt;b&gt;Java&lt;/b&gt;, Solaris y la Web 2.0. &lt;b&gt;...&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-8830203736490424955?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/8830203736490424955/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=8830203736490424955' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8830203736490424955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8830203736490424955'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/noticias.html' title='Noticias...'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7784751556265127053</id><published>2007-02-20T12:50:00.000-05:00</published><updated>2007-06-13T08:17:16.999-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revistas y e-zines</title><content type='html'>&lt;p align="justify"&gt;En esta sección me gustaría compartir con ustedes algunas revistas y eZines que he coleccionado, orientadas fundamentalmente al software libre, la informática, el hacking, etc. Dichos documentos están en PDF, y de verdad recomiendo la lectura de estas grandes fuentes de información y conocimiento. Obviamente he de incluir (en un futuro) las famosas revistas de HackXCrack, pero las que tengo son/están escaneadas, por lo cual no son de buena calidad y pesan bastante; la buena noticia es que ya casi me las consigo todas (son 30) originales, vale la pena que las tengas. En este momento están disponibles estas, espero que les sirva:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://casidiablo.blogspot.com/2007/02/revista-essentia-libre.html"&gt;Essentia Libre&lt;/a&gt;: Es una revista colombiana enfocada al software libre y al open source. La recomiendo.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://casidiablo.blogspot.com/2007/02/prcticas-hacking-sacado-de-los-foros-de.html"&gt;Prácticas de los foros de HXC&lt;/a&gt;: Son 45 pequeños, pero completos, documentos que explican como hacer ciertas cosillas de redes y hacking.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://casidiablo.blogspot.com/2007/02/revista-sl-software-libre.html"&gt;RevistaSL&lt;/a&gt;: Es una revista mexicana enfocada al software libre.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://casidiablo.blogspot.com/2007/02/revista-insecure.html"&gt;[in]secure&lt;/a&gt;: Esta es una excelente revista dedicada a la (in)seguridad informática [en inglés].&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://casidiablo.blogspot.com/2007/02/seccin-como-how-to-de-los-foros-de.html"&gt;COMOS's&lt;/a&gt;: Algunos de los COMOs de los foros de HackXCrack.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://casidiablo.blogspot.com/2007/02/revista-begins.html"&gt;Begins&lt;/a&gt;: Es una revista chilena en la que se habla de software libre, linux, programación, etcs.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://casidiablo.blogspot.com/2007/02/revista-ware.html"&gt;WARE&lt;/a&gt;: Excelente revista de informática, lastimosamente solo sacaron 6 ediciones, ya que tuvieron problemas monetarios pero tenía contenidos muy buenos.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a style="FONT-WEIGHT: bold" href="http://casidiablo.blogspot.com/2007/02/revista-nex-it.html"&gt;NEX IT&lt;/a&gt;: Es una revista/periódico argentino que trata diversos temas del mundo IT (Windows, Linux, seguridad informática, redes), bastante profesional. De momento hay 20 números. &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a href="http://casidiablo.blogspot.com/2007/06/revista-usr-linux.html"&gt;&lt;strong&gt;Users Linux&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;La lista irá creciendo poco a poco (espero). Si conoces más y te gustaría compartirlas no dudes en poner un par de links o enviarmelas por correo.&lt;br /&gt;&lt;/p&gt;&lt;p class="importante" align="justify"&gt;Algunos de los mirrors de descarga son los originales de cada revista, es decir, son links a las repectivas webs de cada proyecto. Esto debido a que no tengo un buen hosting en donde alojar los archivos, talvez en un futuro compre uno para no tener más inconvenientes.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7784751556265127053?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7784751556265127053/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7784751556265127053' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7784751556265127053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7784751556265127053'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/revistas-y-e-zines.html' title='Revistas y e-zines'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-1728431751353817342</id><published>2007-02-19T14:59:00.000-05:00</published><updated>2007-02-19T15:12:37.430-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Prácticas Hacking [sacado de los foros de HackXCrack]</title><content type='html'>&lt;p&gt;Espero les sea de ayuda:&lt;/p&gt;&lt;p&gt;&lt;table&gt;&lt;tr&gt;&lt;td style="width: 20%;"&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica1.Configurandoesafeparaauten.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 1. Configurando esafe para autenticar sesiones&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="width: 20%;"&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica2.VigilanciadePcsnocustodiad.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 2. Vigilancia de Pc's no custodiados con salus&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="width: 20%;"&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica3.Video-VigilanciaconPCSpy.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 3. Video-Vigilancia con PCSpy&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="width: 20%;"&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica4.Crearunbancodepruebas.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 4. Crear un banco de pruebas&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="width: 20%;"&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica5.Esnifarsesionesdenavegacio.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 5. Esnifar sesiones de navegacion&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica6.OcultarlaIP.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 6. Ocultar la IP&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica7.Enviarmailanonimousandotel.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 7. Enviar mail anonimo usando telnet&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica8.Enviarmailanonimosmediante.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 8. Enviar mail anonimos mediante Phasma&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica9.RepelercartasbombaySPAMcon.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 9. Repeler cartas bomba y SPAM con Email Remover&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica10.Encriptarmensajesdecorreo.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 10. Encriptar mensajes de correo con PGP&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica11Creaciondeundiscodurovirtu.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 11 Creacion de un disco duro virtual encriptado con PGP&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica12.ConfigurarunServidordeFTP.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 12. Configurar un Servidor de FTP&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica13.FXPentreservidores.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 13. FXP entre servidores&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica14.Correosmaliciosos.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 14. Correos maliciosos&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica15.ConvertirelServ-Uenuntroy.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 15. Convertir el Serv-U en un troyano&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica16.Habilitarydeshabilitarlas.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 16. Habilitar y deshabilitar las auditorias&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica17.ArrancandoelServ-Uautomat.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 17. Arrancando el Serv-U automaticamente&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica18.ManipulandoelRegistrodeWi.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 18. Manipulando el Registro de Windows&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica19.EmpleodeRootKitNTRoot.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 19. Empleo de RootKit NTRoot&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica20.Instalacinyconfiguracinde.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 20. Instalacion y configuracion de ZoneAlarm&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica21.ComoSaltarseaZoneAlarmyao.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 21. Como Saltarse a ZoneAlarm y a otros&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica22.Ocultaciondearchivos.Join.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 22. Ocultacion de archivos. Joinner, Camuflages y Streaming&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica23.DatosdelregistroyPermitir.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 23. Datos del registro y Permitir Relay de correo con Sam Spade&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica24.VolcadodesuWebanuestroequ.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 24. Volcado de su Web a nuestro equipo con Teleport&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica25.BarridosPingytrazadoderut.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 25. Barridos Ping y trazado de rutas&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica26.Localizaciongeogroficacon.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 26. Localizacion geogrofica con VisualRoute y Neotrace&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica27.DetecciondelSistemaOperat.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 27. Deteccion del Sistema Operativo. Netcat, Grinder, chronicle&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica28.OcultarlaIPmedianteunBoun.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 28. Ocultar la IP mediante un Bouncer&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica29.Enviarmailanonimosusandou.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 29. Enviar mail anonimos usando un FTP&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica30.TunelesyRedirectoresdepue.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 30. Tuneles y Redirectores de puertos&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica31Escaneadoresyexploraciande.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 31 Escaneadores y exploracian de puertos&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica32.HerramientasdelSistemaOpe.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 32. Herramientas del Sistema Operativo para obtener informacion&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica33.EnumeraciondeUsuarios.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 33. Enumeracion de Usuarios&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica34.DNSyNslookup.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 34. DNS y Nslookup&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica35.Enumeracionerecursosyusua.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 35. Enumeracio ne recursos y usuarios con SNMP&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica36.AplicacionesRegistroyotro.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 36. Aplicaciones, Registro y otros Escaneres&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica37.Esniferycraqueodecontrase.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 37. Esnifer y craqueo de contrase&amp;ntilde;as. CAIN&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica38.Pasodelhash.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 38. Paso del hash&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica39.Exploitsparaobtenershelld.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 39. Exploits para obtener shell de system&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica40.Shellremotaconpsexec.exe.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 40. Shell remota con psexec.exe&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica41.Shellremotamedianteelprog.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 41. Shell remota mediante el programador de tareas&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica42.InteractividadconIexplore.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 42. Interactividad con Iexplorer&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica43.UnadeServicios....Marchan.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 43. Una de Servicios....Marchando!!!!&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica44.ControlRemoto.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 44. Control Remoto&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="rejilla" onmouseover="rejver(this)" onmouseout="rejoc(this)"&gt;&lt;a href="http://casidiablohost.googlepages.com/Practica45.Borradodehuellas.zip" title="Descargar &amp;eacute;sta pr&amp;aacute;ctica" target="_blank"&gt;Pr&amp;aacute;ctica 45. Borrado de huellas&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-1728431751353817342?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/1728431751353817342/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=1728431751353817342' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1728431751353817342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/1728431751353817342'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/prcticas-hacking-sacado-de-los-foros-de.html' title='Prácticas Hacking [sacado de los foros de HackXCrack]'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7445152107980049636</id><published>2007-02-19T11:08:00.000-05:00</published><updated>2007-02-19T11:09:56.466-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Dolphin: el sustituto de Konqueror como gestor de archivos en KDE 4</title><content type='html'>El gestor de archivos por defecto en KDE4 será Dolphin, en lugar del que ha venido siendo hasta ahora: Konqueror. Pero que nadie se alarme, Konqueror seguirá manteniendo todas sus funcionalidades para que los que prefieran seguir usándolo como gestor de archivos puedan seguir haciéndolo. En el &lt;em&gt;commit&lt;/em&gt; hablan de la posibilidad de crear un &lt;em&gt;dolphinpart&lt;/em&gt; para que la compartición de código entre ambas aplicaciones sea casi absoluta.&lt;br /&gt;&lt;br /&gt;Más información &lt;a href="http://enzosworld.gmxhome.de/news.html"&gt;aquí&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7445152107980049636?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7445152107980049636/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7445152107980049636' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7445152107980049636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7445152107980049636'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/dolphin-el-sustituto-de-konqueror-como.html' title='Dolphin: el sustituto de Konqueror como gestor de archivos en KDE 4'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-348586455509450274</id><published>2007-02-17T13:39:00.000-05:00</published><updated>2007-02-17T13:44:02.704-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>El cocinero que instaló Debian GNU/Linux y túvo éxito</title><content type='html'>&lt;div style="text-align: justify;"&gt;Por &lt;a href="mailto:fredyrivera@gmail.com"&gt;Fredy Rivera&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;Escribir un libro de cocina, es una gran bondad que nos brinda un cocinero, pues nos da la posibilidad de aprender a comer y a su vez de brindar placeres a nuestros amigos o seres queridos; también ofrece la posibilidad del progreso social y económico, pues en él, no sólo están las instrucciones para cocinar sino para trabajar, para vivir. La comida es el combustible del hombre.&lt;br /&gt;&lt;br /&gt;No soportaría que las recetas de cocina fueran textos proscritos, patentados y ocultos a la humanidad. Creo que nadie lo toleraría; nos quitarían el derecho a alimentarnos, a disfrutar, a vivir. ¿Acaso puede existir alguien tan perverso como para adjudicarse derechos sobre las papas fritas, el arroz cocido o la sopa de verduras?&lt;br /&gt;&lt;br /&gt;Los cocineros solemos ser gente arriesgada, que experimenta y busca por el mundo sabores y posibles combinaciones que nos den el plato perfecto. Un cocinero de verdad, jamás oculta el saber, disfruta tanto com partiendo una receta como preparando el plato mismo. El mejor cocinero no es aquel que más recetas conoce y se las guarda, sino el que es capaz de compartir; es decir, el que tiene la capacidad de enseñar y dar. No es un cocinero aquel que sabe preparar deliciosos manjares pero lo hace sólo para él y no muestra su talento al mundo, a sus amigos o clientes.&lt;br /&gt;&lt;br /&gt;Dado esto, algún día me dí cuenta que si compartía mis programas como comparto mis recetas, me convertía en una mala persona, infringía leyes y aparentemente, le vulneraba los derechos de autor a algunas personas o empresas. Pero, ¿cómo es posible que com partir sea algo malo? ¿por qué el dar es ilegal?. Si yo no podía dar mis recetas me sentía miserable y frustrado. No dar mis programas que al fin y al cabo sólo son información, me hacía sentir malvado. Así que decidí hacer algo para cambiar esto.&lt;br /&gt;&lt;br /&gt;Comencé a buscar por el mundo como cuando se busca una especia extraña, buscando esa receta o esa fórmula para poder dar y recibir sin convertirme en delincuente. Además creo que si tienes algo bueno y lo das, eres muy bueno y si tienes algo malo y lo das eres muy malo; es decir, que si le doy a alguien un program a de computador que es malo porque me impide compartir y ser libre, lo estoy esclavizando. Si tengo un manjar, lo doy. Si tengo un veneno, lo tiro. Esa es la lógica del cocinero.&lt;br /&gt;&lt;br /&gt;Así descubrí que existían programas de computador que no sólo se podían utilizar sino que todos podíamos conocer su receta y compartirla con los demás. En otras palabras, el sueño de un cocinero, algo como no sólo servir el plato sino enseñar a prepararlo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quién dijo que fuera fácil&lt;/span&gt;&lt;br /&gt;No escogí el software libre y GNU/Linux porque fuera fácil. Lo escogí porque es libre y puedo ser un mejor ser humano si lo uso y mejor aún si lo comparto y difundo. Pero no es de asustarse, pues si lo pude hacer yo que soy cocinero y disfruto entre sartenes, woks y cuchillos ¿por qué no tú que eres ingeniero, matemático, cineasta o arquitecto?&lt;br /&gt;&lt;br /&gt;El camino es caminando y sólo es cuestión de seguir. Al principio intenté con lo que pensé que era más sencillo, es decir programas que supuestamente lo hacían todo por mi. Descubrí un sistem a operativo llamado SUSE que m e parecía muy similar a lo que había trabajado. Lo instalé según las instrucciones que traía en un libro gordo y pude hacer muchas cosas. Sin embargo me dí cuenta que no era absolutamente libre y me sentí decepcionado. Así que decidí abandonarlo y seguir en busca del platillo especial de libertad. Me enteré que lo más cercano a la libertad era un sistema llamado Debian, que estaba soportado por miles de programadores y usuarios libertarios, pero que tenía la fama de ser el sistema operativo de los hackers, los gurús y toda la gente que sólo vive para el oficio de los computadores. Recordé la conversación con un comensal científico que alguna vez me dijo: Si lo hizo un humano como Einstein ¿por qué no lo puedo hacer yo que tengo el mismo cerebro?.&lt;br /&gt;&lt;br /&gt;Tuve mucha suerte a elegir Debian como mi distribución de GNU/Linux. Ahora me doy cuenta que no sólo es el sistema operativo más robusto y estable que jamás he tenido sino el más libre, manejable y fácil de usar, aunque llegar a este punto me ha costado cierto trabajo y esfuerzo. Pero recuerdo a Don Quijote cuando dijo: "La libertad, Sancho, es uno de los más preciosos dones que a los hombres dieron los cielos; con ella no pueden igualarse los tesoros que encierra la tierra ni el mar encubre; por la libertad, así como por la honra, se puede y debe aventurar la vida, y, por el contrario, el cautiverio es el mayor mal que puede venir a los hombres". Así que el esfuerzo que he invertido es un costo mínimo para conseguir ser libre.&lt;br /&gt;&lt;br /&gt;Parece dramático, pero ser libre desde el uso de las herramientas, es el primer paso para conseguir la libertad, pues la libertad además de ser contagiosa, se esparce por la vida como la sangre. Y así como soy libre en el uso de software, quise libertarme de mi teléfono celular y lo logré. Quise libertarme de los noticieros de televisión y lo logré. Creo que la bella locura de ser libre, le ha dado un nuevo impulso a mi creatividad.&lt;br /&gt;&lt;br /&gt;Para ayudar a contagiar al mundo de los no informáticos, estoy preparando mi libro "El Cocinero que instaló GNU/Debian y tuvo éxito" como una guía para personas no técnicas que q uieran empezar a conseguir su libertad desde el uso de ese magnifico sistema operativo y que hasta ahora no se han atrevido por la mitificación de la que se ha encargado la misma comunidad, que por fallas de comunicación cierra las puertas al ciudadano y al usuario final de programas informáticos, que son la base para que la sociedad se libere de las multinacionales del software y la comunicación, quienes distribuyen sus programas y mensajes diseñados para que la gente se embelese con el supuesto uso fácil y cesen cada vez más la capacidad de asombro y el ejercicio de analizar y aprender.&lt;br /&gt;&lt;br /&gt;Mi libro es un manual para más que "dummies", que lleva al lector paso a paso por el proceso de instalación de un sistem a GNU/Debian con bastantes referencias y aclaraciones de cada proceso que se dan por sentados en la mayoría de los manuales, pues asume que todos sabemos qué es un "sector de arranque" o una "partición". Para mi libro todos los lectores son cocineros que no tienen ni la más remota idea de los componentes de su computador y necesitan que un amigo los lleve de la mano por este proceso, la mayor de las veces, tortuoso e incierto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Y qué le falta para sacarlo del horno?&lt;/span&gt;&lt;br /&gt;Pues la verdad, no mucho, está casi todo cocido y dorado. Espero la salida de "Etch", la próxim a versión de Debian que está "Congelada" en el momento de escribir esta reseña, (es decir está en la etapa previa a ser lanzado como estable, según el procedimiento de Debian). Otra cosa importante es conseguir el patrocinador o editor que desee publicarla en papel, según las condiciones de la licencia Documento-GPL o Creative Commons. Esto es sumamente importante para que el medio no contradiga el mensaje. Por eso y mucho más:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;¡Viva el GNU/Linux!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-348586455509450274?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/348586455509450274/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=348586455509450274' title='3 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/348586455509450274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/348586455509450274'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/el-cocinero-que-instal-debian-gnulinux.html' title='El cocinero que instaló Debian GNU/Linux y túvo éxito'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-8186542826599769333</id><published>2007-02-17T13:35:00.000-05:00</published><updated>2007-02-17T13:38:18.777-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista WARE</title><content type='html'>&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edición 1&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.revistaware.com/downloads/WARE_01_NOV_2005.pdf" title="Descargar número 1" target="_blank"&gt;&lt;img src="http://www.revistaware.com/files/01-grande.jpg" alt="Revista#1" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edición 2&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.revistaware.com/downloads/WARE_02_DIC_2005.pdf" title="Descargar número 2" target="_blank"&gt;&lt;img src="http://www.revistaware.com/files/02-grande.jpg" alt="Revista#2" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edición 3&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.revistaware.com/downloads/WARE_03_ENE_2006.pdf" title="Descargar número 3" target="_blank"&gt;&lt;img src="http://www.revistaware.com/files/03-grande_1.jpg" alt="Revista#3" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edición 4&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.revistaware.com/downloads/WARE_04_FEB_2006.pdf" title="Descargar número 4" target="_blank"&gt;&lt;img src="http://www.revistaware.com/files/Tapa_web.jpg" alt="Revista#4" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edición 5&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.revistaware.com/downloads/WARE_05_MAR_2006.pdf" title="Descargar número 5" target="_blank"&gt;&lt;img src="http://www.revistaware.com/files/05_web.jpg" alt="Revista#5" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edición 6&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.revistaware.com/downloads/WARE_06_ABR_2006.pdf" title="Descargar número 6" target="_blank"&gt;&lt;img src="http://www.revistaware.com/files/06_web.jpg" alt="Revista#6" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Lastimosamente solo sacaron 6 ediciones, ya que tuvieron problemas monetarios y tal; una de las cosas que más me gusta de esta revista, aparte del contenido que es muy bueno, es su diseño, que es realmente novedoso y agradable. Para más información visita la &lt;a href="http://www.revistaware.com/" title="Ir!!!" target="_blank"&gt;página web&lt;/a&gt; de esta excelente revista.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-8186542826599769333?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/8186542826599769333/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=8186542826599769333' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8186542826599769333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/8186542826599769333'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/revista-ware.html' title='Revista WARE'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-182850384412947857</id><published>2007-02-17T13:28:00.000-05:00</published><updated>2007-02-17T13:34:32.922-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista SL (Software Libre)</title><content type='html'>&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 0&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista-sl.org/data/downloads/RevistaSL+Num+0.pdf" title="Descargar n&amp;uacute;mero 0" target="_blank"&gt;&lt;img src="http://img259.imageshack.us/img259/4099/sl0qz4.png" alt="Revista#0"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 1&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista-sl.org/data/downloads/Revista+SL+Num+1.pdf" title="Descargar n&amp;uacute;mero 1" target="_blank"&gt;&lt;img src="http://img260.imageshack.us/img260/8259/sl1kq8.png" alt="Revista#1"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 2&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista-sl.org/data/downloads/Revista+SL+Num+2.pdf" title="Descargar n&amp;uacute;mero 2" target="_blank"&gt;&lt;img src="http://img250.imageshack.us/img250/3284/sl2va9.png" alt="Revista#2"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 3&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista-sl.org/data/downloads/RevistaSL3.pdf" title="Descargar n&amp;uacute;mero 3" target="_blank"&gt;&lt;img src="http://img255.imageshack.us/img255/8479/sl3fx2.png" alt="Revista#3"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 4&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista-sl.org/data/downloads/RevistaSL4.pdf" title="Descargar n&amp;uacute;mero 4" target="_blank"&gt;&lt;img src="http://img45.imageshack.us/img45/8449/sl4wi2.png" alt="Revista#4"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 5&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://revista-sl.org/data/downloads/RevistaSL5.pdf" title="Descargar n&amp;uacute;mero 5" target="_blank"&gt;&lt;img src="http://img50.imageshack.us/img50/396/sl5zz3.png" alt="Revista#5"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Para m&amp;aacute;s informaci&amp;oacute;n visita la &lt;a href="http://www.revista-sl.org" title="Ir!!!" target="_blank"&gt;PINCHE p&amp;aacute;gina web&lt;/a&gt; de esta excelente revista Mexicana.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-182850384412947857?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/182850384412947857/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=182850384412947857' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/182850384412947857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/182850384412947857'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/revista-sl-software-libre.html' title='Revista SL (Software Libre)'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-7151695994708779878</id><published>2007-02-17T13:16:00.000-05:00</published><updated>2007-02-17T13:28:02.827-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='articulos'/><title type='text'>ImageShack, hosting gratuito para tus imagenes</title><content type='html'>Muchos ya conocen el servicio que ofrece ImageShack, aunque pocos los que le sacan todo el jugo. Para los que no conocen el servicio les comento que es un “hosting” para hospedar imagenes, de manera fácil y gratuita. El servicio no es nuevo, de hecho lleva bastantes años, por lo cual ha madurado mucho.&lt;br /&gt;&lt;br /&gt;Veamos alguna de las ventajas que proporciona ImageShack (sin estar registrado):&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Permite que subas imágenes en cualquier momento, aún sino eres usuario registrado; basta con entrar al &lt;a href="http://imageshack.us/"&gt;sitio web&lt;/a&gt;, seleccionar la imágen que desees subir (ya sea de tu PC u otra imágen en internet) y hacer click en Upload.&lt;/li&gt;&lt;li&gt;Puedes indicar que redimensione la imágen que estás subiendo.&lt;/li&gt;&lt;li&gt;Después de que la imágen esté alojada, puedes te facilitan ya echos el código para que las postees en un foro, en una página o el link directo de la imágen o su thumnail.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Esto está bien si lo que deseas es subir una imágen que vas a utilizar poco o desinteresadamente, pero también es posible crearnos una cuenta mediante la cual podemos administrar nuestras imágenes, etc. En cuanto a la registración basta con registrar (valga la redundancia) nuestro  correo, con lo cual nos llegará un mensaje de Bienvenida y tal (normal), y el proceso de logueo no es mediante el típico login/password, sino que (dentro de la bienvenida) te dan un link de activación que coloca unas cookies en tu navegador, por lo que de hay en adelante no se necesita logueos ni nada (desde ese navegador). Las ventajas de estar registrado son:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Obviamente tienes acceso a las imágenes que ya hayas subido anteriormente.&lt;/li&gt;&lt;li&gt;Si no estás en el navegador donde activaste las cuentas, puedes:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Volver a utilizar el link que te mandaron al correo, o...&lt;/li&gt;&lt;li&gt;Mejor aún, simplemente al momento de subir la imágen indicas el correo en la caja de texto correspondiente.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Es posible más de una imágen a la vez, mediante un sistema de créditos, por ejemplo: supongamos que queremos subir 15 imágenes; subirlas una por una resulta una tarea aburrida y lenta; ImagaShack te permite comprimir en un archivo ZIP todas las imágenes, y luego subir el ZIP; el sistema automáticamente descomprimirá el archivo y alojará las imágenes por separado en el hosting. Pero ¿que es eso de los créditos? Cuando te registran te regalan 20 creditos, retomando el ejemplo anterior, al subir las 15 imágenes con el ZIP ya habrás gastado 15 créditos, por lo que te quedan 5 (yuuuujuuu aprendí a restar). Para adquirir más créditos te toca comprarlos, aunque son muy baratos.&lt;/li&gt;&lt;li&gt;Hace poco han actualizado el sistema (utilizando mucho AJAX), y es mucho más agradable el manejo de nuestras imágenes. Por ejemplo:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Para subir imágenes tenemos una GUI más fácil de manejar, además de que utiliza las ya famosas etiquetas para organizar las imágenes:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1f_-HOfG6iQ/RddIH3dHKXI/AAAAAAAAADA/T3iS1G9EwI8/s1600-h/5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_1f_-HOfG6iQ/RddIH3dHKXI/AAAAAAAAADA/T3iS1G9EwI8/s400/5.png" alt="" id="BLOGGER_PHOTO_ID_5032570408592157042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Acceso más fácil a la información de cada imágen:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1f_-HOfG6iQ/RddIhXdHKYI/AAAAAAAAADI/KDCpDPWX37I/s1600-h/3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_1f_-HOfG6iQ/RddIhXdHKYI/AAAAAAAAADI/KDCpDPWX37I/s400/3.png" alt="" id="BLOGGER_PHOTO_ID_5032570846678821250" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Podemos ver qué imágenes subimos determinado dia, con el uso de un calendario que registra nuestra actividad:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1f_-HOfG6iQ/RddI33dHKZI/AAAAAAAAADQ/Tb2adnSdFV8/s1600-h/4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_1f_-HOfG6iQ/RddI33dHKZI/AAAAAAAAADQ/Tb2adnSdFV8/s400/4.png" alt="" id="BLOGGER_PHOTO_ID_5032571233225877906" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Ahora dirán algunos: “eso ya lo sabía” o cosas por el estilo; me atrevo a postear algo tan “fácil” ya que hay personas que no saben como hacer este tipo de cosas, en fin... Es un servicio que uso y recomiendo, y sí: hay otros parecidos, pero entre gustos... tú decides cual servicio utilizar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-7151695994708779878?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/7151695994708779878/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=7151695994708779878' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7151695994708779878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/7151695994708779878'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/imageshack-hosting-gratuito-para-tus.html' title='ImageShack, hosting gratuito para tus imagenes'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1f_-HOfG6iQ/RddIH3dHKXI/AAAAAAAAADA/T3iS1G9EwI8/s72-c/5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22206706.post-5248261452339754677</id><published>2007-02-16T16:21:00.000-05:00</published><updated>2007-02-16T16:22:03.351-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revistas'/><title type='text'>Revista [IN]SECURE</title><content type='html'>&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 1&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.insecuremagazine.com/INSECURE-Mag-1.pdf" title="Descargar n&amp;uacute;mero 1" target="_blank"&gt;&lt;img src="http://img76.imageshack.us/img76/4604/insecure1vq5.png" alt="Revista#1"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 2&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.insecuremagazine.com/INSECURE-Mag-2.pdf" title="Descargar n&amp;uacute;mero 2" target="_blank"&gt;&lt;img src="http://img76.imageshack.us/img76/8637/insecure2rm1.png" alt="Revista#2"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 3&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.insecuremagazine.com/INSECURE-Mag-3.pdf" title="Descargar n&amp;uacute;mero 3" target="_blank"&gt;&lt;img src="http://img76.imageshack.us/img76/1255/insecure3hu7.png" alt="Revista#3"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 4&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.insecuremagazine.com/INSECURE-Mag-4.pdf" title="Descargar n&amp;uacute;mero 4" target="_blank"&gt;&lt;img src="http://img76.imageshack.us/img76/2108/insecure4lj1.png" alt="Revista#4"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 5&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.insecuremagazine.com/INSECURE-Mag-5.pdf" title="Descargar n&amp;uacute;mero 5" target="_blank"&gt;&lt;img src="http://img76.imageshack.us/img76/921/insecure5jp0.png" alt="Revista#5"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 6&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.insecuremagazine.com/INSECURE-Mag-6.pdf" title="Descargar n&amp;uacute;mero 6" target="_blank"&gt;&lt;img src="http://img76.imageshack.us/img76/3758/insecure6gi9.png" alt="Revista#6"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 7&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.insecuremagazine.com/INSECURE-Mag-7.pdf" title="Descargar n&amp;uacute;mero 7" target="_blank"&gt;&lt;img src="http://img76.imageshack.us/img76/5501/insecure7pm1.png" alt="Revista#7"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 8&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.insecuremagazine.com/INSECURE-Mag-8.pdf" title="Descargar n&amp;uacute;mero 8" target="_blank"&gt;&lt;img src="http://img76.imageshack.us/img76/8910/insecure8sb5.png" alt="Revista#8"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div onmouseover="color(this)" onmouseout="sincolor(this)"&gt;&lt;div class="textico"&gt;Edici&amp;oacute;n 9&lt;/div&gt;&lt;div class="fotico"&gt;&lt;a href="http://www.insecuremagazine.com/INSECURE-Mag-9.pdf" title="Descargar n&amp;uacute;mero 9" target="_blank"&gt;&lt;img src="http://img76.imageshack.us/img76/8879/insecure9me6.png" alt="Revista#9"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Esta revista lastimosamente est&amp;aacute; en ingl&amp;eacute;s, pero me atrevo a ponerla ya que de verdad vale la pena leerla. Para m&amp;aacute;s informaci&amp;oacute;n visita la &lt;a href="xxxx" title="Ir!!!" target="_blank"&gt;p&amp;aacute;gina web&lt;/a&gt; de la revista [in]secure.&lt;/p&gt;&lt;p class="cita"&gt;Nota: Los links de descarga son los de la p&amp;aacute;gina oficial, ya que no tengo un buen hosting para hospedarlos; sin embargo, si por alg&amp;uacute;n motivo dicha web est&amp;aacute; caida puedes pedirme por correo alg&amp;uacute;n n&amp;uacute;mero y yo te lo enviar&amp;eacute;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22206706-5248261452339754677?l=casidiablo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://casidiablo.blogspot.com/feeds/5248261452339754677/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22206706&amp;postID=5248261452339754677' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/5248261452339754677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22206706/posts/default/5248261452339754677'/><link rel='alternate' type='text/html' href='http://casidiablo.blogspot.com/2007/02/revista-insecure.html' title='Revista [IN]SECURE'/><author><name>Casidiablo</name><uri>http://www.blogger.com/profile/15026409433027186130</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img175.imageshack.us/img175/9925/emobobtk8.jpg'/></author><thr:total>0</thr:total></entry></feed>
