<?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-9213580289119732835</id><updated>2012-01-31T18:28:03.594+01:00</updated><category term='tetris'/><category term='integración continua'/><category term='Animaciones'/><category term='navegadores'/><category term='Javahispano'/><category term='gaga'/><category term='seguridad'/><category term='Podcast'/><category term='Neurociencia'/><category term='Objetivos 2010 meme'/><category term='Dia del programador'/><category term='bingo'/><category term='gwt'/><category term='Estreno'/><category term='Matriz'/><category term='MyMobileWeb'/><category term='Posicionamiento SEO'/><category term='openoffice'/><category term='opinión'/><category term='test'/><category term='Freaklances'/><category term='File'/><category term='Software libre'/><category term='desarrollo ágil'/><category term='comunicando'/><category term='buscaminas'/><category term='32 minutos'/><category term='buscando'/><category term='documental'/><category term='directorio'/><category term='video'/><category term='Obama'/><category term='Sudoku'/><category term='español'/><category term='Experiemento'/><category term='MD5'/><category term='Android'/><category term='agile spain'/><category term='humor'/><category term='pentris'/><category term='Curiosidad'/><category term='retro'/><category term='Java3D'/><category term='sonic'/><category term='Apache Abdera'/><category term='Solo Programadores'/><category term='java'/><category term='Inglés'/><category term='zk'/><category term='resolver'/><category term='Screencast'/><category term='serie'/><category term='proyecto'/><category term='dudas foro'/><category term='GenbetaDev'/><category term='Objetivos 2011'/><category term='mujeres'/><category term='Google'/><category term='Friky'/><category term='carrera'/><category term='economia'/><category term='Entrevista'/><category term='oracle'/><category term='Open Sonic'/><category term='javazone'/><category term='spanair'/><category term='groovy'/><category term='etica'/><category term='Experimento'/><category term='noticias'/><category term='Musica'/><category term='Videotutoriales'/><category term='ScrumManager'/><category term='agilidad'/><category term='lady'/><category term='Vector'/><category term='videojuegos'/><title type='text'>El blog de Jorge Rubira</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>91</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-1240281861968300618</id><published>2012-01-15T23:51:00.005+01:00</published><updated>2012-01-16T16:16:41.498+01:00</updated><title type='text'>Objetivos para el 2012</title><content type='html'>Aunque lo tengo un poco abandonado por escribir en GenbetaDev voy a plasmar aquí los objetivos que me he propuesto este año y hacer balance de lo realizado en el 2011. Hay que decir que la incorporación a GenbetaDev me ha absorbido muchisimo tiempo y muchas no se han cumplido. Pero creo que ha merecido la pena el cambio, al menos por ahora, ya que estoy aprendiendo mucho escribiendo post y escuchar (en medida de lo posible) a toda la masa crítica que tiene GenbetaDev y que es lo que más interesa a todo el mundo (saliendo un poco del entorno Java).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Objetivos expuestos a principio del 2011&lt;/span&gt;&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Iniciar con clases particulares  online. Es una idea que llevo últimamente en cabeza y que creo que puede  ser interesante para descubrir la capacidad de internet. &lt;span style="color: rgb(255, 0, 0);"&gt;(No conseguido. Dí algunas pero al final no tuve tiempo)&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Si se  crease un fork de java (que seguramente se iniciará), participar en él.  En el caso de que sea no, buscar alternativas cómodas para un  programador java para recomendarlas. Es decir, alternativas que a partir  de un código java antiguo puedas desplegarlo en un entorno NO Oracle. &lt;span style="color: rgb(255, 0, 0);"&gt;(Oracle se resiste. No ha habido fork. ¡Bien por Oracle!)&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Aprender  y quizá colaborar con OpenXava. Ultimamente hablando con Javier Paniza  en las entrevistas, curiosamente, pensamos bastante igual. Yo también  pienso que, para ser productivo, hay que centrarse en los casos  generales (y no particulares) y para ello hay que definir más y  programar menos. &lt;span style="color: rgb(255, 0, 0);"&gt;(Buf. Nada de nada. Lo siento Javier).&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Aprender Android e incluso llegar a probar el Market. Ya va siendo hora de ver otras cosas diferentes a Java. &lt;span style="color: rgb(204, 102, 0);"&gt;(Semi-inicio. Al menos buscando info para escribir estoy encontrando Frameworks interesantes).&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ahorrar  energía eléctrica. Este es un modo de protesta por el incremento del  precio de la luz de manera desproporcionada a la vida. He iniciado desde  el anuncio de la noticia con la idea de apagar todo lo que no utilizo. Y  con apagar no es darle al off del aparato ya que estos también  consumen. Es apagarlo prácticamente de la red. &lt;span style="color: rgb(0, 102, 0);"&gt;(¡Conseguido con creces! Chupate esa Endesa).&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Finalmente,  investigar más acerca del comercio justo. Ultimamente ví una conferencia  de Joan Melé (que publiqué en este blog) que me hizo pensar. Me  gustaría investigar más sobre esto. &lt;span style="color: rgb(204, 102, 0);"&gt;(Pse. Hay que fiarse de lo que te cuentan. Yo que estoy acostumbrado ya a no creerme nada...).&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Objetivos para el 2012&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;La verdad es que para este 2012, el cambio de rumbo al acceder a GenbetaDev ha sido bastante curioso. En realidad, el tiempo que se invierte en preparar y escribir no compensa desde el punto de vista económico, pero es apasionante ver la cantidad de gente que nos lee y eso me hace seguir adelante. Así que mis propuestas técnicas para este año irán relacionadas a GenbetaDev y al Podcast.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Conseguir crear una Inteligencia Artificial que sea capaz de escribirme noticias a partir de lecturas o comentarios. De momento, para cuando tengo falta de tiempo, tengo automatizada la creación de imagenes, poner negritas en los post y la búsqueda de las mejores noticias ... pero quiero ir más alla. Quiero conseguir que el ordenador piense por mí. Igual es un poco de ciencia ficción, pero por soñar...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Conseguir crear un generador de canciones de manera aleatoria. El código lo iría publicando en GenbetaDev. En todo caso, cuando lo tengamos acabado, estaría chulo crear canciones relacionadas con la programación y publicarlas en el podcast.&lt;/li&gt;&lt;li&gt;Conseguir crear un generador de juegos. También he pensado, si soy capaz de generar aleatoriamente noticias, puedo publicar en el Market juegos de por ejemplo plataformas que se generen aleatoriamente. La forma será parecida pero cada juego tendría fases diferentes ...&lt;/li&gt;&lt;li&gt;Mejorar en el Badminton. Todo trabajador de oficina debería hacer deporte. Creo que es esencial para no acabar quemado. Este año pondré mi empeño en mejorar ahora que tengo rivales de mucho nivel, pues sigo siendo malísimo.&lt;/li&gt;&lt;li&gt;Adelgazar más. A ver si me quito de algunos malos hábitos dietéticos.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Y en principio, estos son todos los propósitos del 2012. Son propósitos un tanto complejos, pero si no se marcan, no se intentarán.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-1240281861968300618?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/1240281861968300618/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2012/01/objetivos-para-el-2012.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1240281861968300618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1240281861968300618'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2012/01/objetivos-para-el-2012.html' title='Objetivos para el 2012'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6809231456089698759</id><published>2011-12-16T23:06:00.006+01:00</published><updated>2011-12-16T23:13:14.487+01:00</updated><title type='text'>Nuevo feed de los podcast</title><content type='html'>Buenas,&lt;br /&gt;&lt;br /&gt;Aunque llevo bastante tiempo sin escribir aquí por estár colaborando en Genbetadev. Me gustaría poner un post para indicar el nuevo feed de los podcast de javaHispano ya que como han cambiando de servidor, los links ya no funcionan.&lt;br /&gt;&lt;br /&gt;El link es:&lt;br /&gt;&lt;a href="http://www.javahispano.org/podcast/"&gt;http://www.javahispano.org/podcast/&lt;/a&gt; (El podcast)&lt;br /&gt;&lt;a href="http://www.javahispano.org/podcast/rss.xml"&gt;http://www.javahispano.org/podcast/rss.xml&lt;/a&gt; (Feed de los últimos 30 números).&lt;br /&gt;&lt;a href="http://www.ivoox.com/javahispano_sb.html?sb=javahispano"&gt;http://www.ivoox.com/javahispano_sb.html?sb=javahispano&lt;/a&gt; (Lista de todos los podcast)&lt;br /&gt;&lt;a href="http://itunes.apple.com/es/podcast/podcast/id482381850?l=en"&gt;http://itunes.apple.com/es/podcast/podcast/id482381850?l=en&lt;/a&gt; (En iTunes)&lt;br /&gt;&lt;br /&gt;Saludos, Jorge&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-6809231456089698759?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6809231456089698759/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2011/12/nuevo-feed-de-los-podcast.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6809231456089698759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6809231456089698759'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2011/12/nuevo-feed-de-los-podcast.html' title='Nuevo feed de los podcast'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-9155207757217786543</id><published>2011-04-04T14:42:00.004+02:00</published><updated>2011-04-04T14:51:44.717+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GenbetaDev'/><title type='text'>Estreno de genbetadev</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-aA_mhnQpuac/TZm-kZdTgMI/AAAAAAAAAQA/yp5t-fXmRR0/s1600/headgenbetadev.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 105px;" src="http://4.bp.blogspot.com/-aA_mhnQpuac/TZm-kZdTgMI/AAAAAAAAAQA/yp5t-fXmRR0/s400/headgenbetadev.png" alt="" id="BLOGGER_PHOTO_ID_5591709944875548866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;br /&gt;Después de 15 días realizando los preparativos, hoy mismo se ha estrenado un nuevo portal orientado al desarrollo de software llamado &lt;a href="http://www.genbetadev.com/"&gt;GenBetaDev&lt;/a&gt;. Este portal pertenece al grupo de blogs profesionales &lt;a href="http://www.weblogssl.com/"&gt;Weblogs S.L.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Comentar también que estaré colaborando realizando funciones de editor en dicho portal donde iré publicando post con noticias referentes al mundo de la programación. Así que tendré que incorporar una nueva tarea más a mi larga lista de tareas. Por ahora, estamos 8 editores en el que hemos publicado entre 30-40 posts de los cuales puse &lt;a href="http://www.genbetadev.com/autor/jorge-rubira"&gt;11&lt;/a&gt; hasta la fecha.&lt;br /&gt;&lt;br /&gt;Espero que vaya bién esta nueva tarea y sea una larga colaboración. ¡Os invitamos a visitarlo!.&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/9213580289119732835-9155207757217786543?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/9155207757217786543/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2011/04/estreno-de-genbetadev.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/9155207757217786543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/9155207757217786543'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2011/04/estreno-de-genbetadev.html' title='Estreno de genbetadev'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-aA_mhnQpuac/TZm-kZdTgMI/AAAAAAAAAQA/yp5t-fXmRR0/s72-c/headgenbetadev.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-2437808702105795606</id><published>2011-02-06T13:56:00.009+01:00</published><updated>2011-02-06T23:15:12.790+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neurociencia'/><title type='text'>El mimetismo en grupos de desarrollo - Opinión</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cxC455IeoWc/Sr_ZrqpyKQI/AAAAAAAADSA/MbLVEwQ3z-Q/s400/Mimetismo.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 234px; height: 175px;" src="http://2.bp.blogspot.com/_cxC455IeoWc/Sr_ZrqpyKQI/AAAAAAAADSA/MbLVEwQ3z-Q/s400/Mimetismo.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;En muchas ocasiones no conocemos la influencia que tenemos con individuos del mismo grupo. El mimetismo es una actuación en toda especie humana y animal en el que el individuo aprende e imita con el fin de adaptarse a un grupo. Todo esto ocurre en todo tipo de empresas y &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;todo tipo de proyectos en los que hay un trabajo en grupo.&lt;br /&gt;&lt;br /&gt;Lo curioso surge cuando el grupo se sincroniza con unas creencias, ideas o actitudes y un nuevo individuo llega con otras ideas diferentes. Pueden ocurrir que el grupo sea abierto y esas nuevas ideas sean incorporadas como parte del conocimiento del grupo o por el contrario puede ocurrir que esas ideas choquen con el objetivo del grupo. Más curioso es cuando las ideas del grupo son incorrectas y el individuo llega con ideas mejores. Como podreis ver en los próximos videos, el individuo que desea no sentirse incomodo toma una actitud de indiferencia y simplemente imita aun sabiendo que lo que hace no es correcto. &lt;br /&gt;&lt;br /&gt;Por ello, mi conclusión es que cuanto más creencias tengas sobre algo más dificil será tu incorporación de acceder a un grupo con ideas incorrectas o diferentes a las tuyas. Las personas que toman una actitud de indiferencia se adaptarán mejor a ese grupo. Aunque también depende de lo abiertas que sean las personas del grupo y de uno mismo.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Via &lt;a href="http://www.navegapolis.net/content/view/1014/98/"&gt;nagegapolis de Juan Palacio&lt;/a&gt; he encontrado estos videos de experimentos interesantes:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;El experimento de Asch&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe title="YouTube video player" src="http://www.youtube.com/embed/rFVLyYDWbzY" allowfullscreen="" width="480" frameborder="0" height="390"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/ZS5ZMHdR-TQ" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;El experimento del elevador&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe title="YouTube video player" src="http://www.youtube.com/embed/yCbBjtYscAQ" allowfullscreen="" width="480" frameborder="0" height="390"&gt;&lt;/iframe&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/9213580289119732835-2437808702105795606?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/2437808702105795606/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2011/02/el-mimetismo-en-grupos-de-desarrollo.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2437808702105795606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2437808702105795606'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2011/02/el-mimetismo-en-grupos-de-desarrollo.html' title='El mimetismo en grupos de desarrollo - Opinión'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_cxC455IeoWc/Sr_ZrqpyKQI/AAAAAAAADSA/MbLVEwQ3z-Q/s72-c/Mimetismo.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-3429176039863029141</id><published>2011-01-23T12:24:00.005+01:00</published><updated>2011-01-23T13:18:52.456+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><title type='text'>100 números de javaHispano podcast</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/TGaNSIlKlmI/AAAAAAAAAOc/4GAKlmTAmrk/s1600/javahispanopodcast.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 151px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/TGaNSIlKlmI/AAAAAAAAAOc/4GAKlmTAmrk/s1600/javahispanopodcast.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Hace poco llegamos al número 100 de javaHispano. Al igual que hice con los videotutoriales, he decidido hacer un post donde se recopile un link a todos los números. Para darle un valor añadido a este post respecto al feed, he organizado los podcast por temas:&lt;br /&gt;&lt;br /&gt;Java EE y Desarrollo web:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/eCQ9TSOyrHs/"&gt;Introducción a Ajax&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/lGkh2lAIrwE/"&gt;Servidores web y servidores de aplicaciones&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/7zUGl4kJ5J8/"&gt;Mapeo de objetos relacionales (ORM)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/NCq1biAoJY0/"&gt;GWT&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/huPmIXy6ehM/"&gt;ICEFaces&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/HPPFGS0pXz0/"&gt;ZK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/-QL8vqyFU84/"&gt;Single page interface&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/3eYIKGY8QDc/"&gt;DataNucleus&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/i0sztsjrfrI/"&gt;OpenXava&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/HR-XOt9J5p8/"&gt;Loom&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/YbW3z0LQasg/"&gt;ExtJs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/ZZJewP1pj_c/"&gt;ItsNat&lt;br /&gt; &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/FDTtVn7L8Aw/"&gt;Gestor de contenidos OpenCMS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/QM3Dxf-RkFQ/"&gt;Introducción a Google App Engine&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/D0hK3kWnE0o/"&gt;JasperReports&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Java ME y Android:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/9TYZ0fN3Gww/"&gt;Tecnología movil&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/vhbH3BRzXhA/"&gt;Un año de Android&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/40HagMTWyt8/"&gt;TagsMe&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Java SE:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/VBWw5KV4oCQ/"&gt;Form4G&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/fg7W40YYrAo/"&gt;El futuro de java en el escritorio&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Videojuegos:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/jyCt-27F1g8/"&gt;Programacion de videojuegos&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/udtmEnyWouM/"&gt;Programación de videojuegos online&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/dcbvznfkF24/"&gt;Distribución de videojuegos por WiiWare&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Desarrollo ágil:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/pv_bu80Gifc/"&gt;Flexibilidad con Scrum&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/92vfPHfW_Vw/"&gt;Principios de agilidad&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/XRY8fY5IInM/"&gt;Chile Agil&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Test y automatización de procesos&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/OzSPmVkj1Qg/"&gt;Test de aplicaciones I&lt;/a&gt;&lt;br /&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/ArxxyUC1Mr0/"&gt;Test de aplicaciones II&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/uWeI9375lbQ/"&gt;Integración continua&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/IIF2dtuE_rQ/"&gt;Analizadores estáticos del código&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; Spring, Grails y Groovy:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/KvqAH47Vzig/"&gt;Introducción a Spring&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/4o7TXGv-998/"&gt;Spring (Core, DAO, ORM)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/f_sO1bml_WA/"&gt;Novedades de Spring 3.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/yZAQxugkeEQ/"&gt;Introducción a Grails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/yHChh2kPpa4/"&gt;Introducción a Groovy&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;IDEs:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/FWYd6r8qwRo/"&gt;Entornos de desarrollo integrado&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/hMr9gN_rWxU/"&gt;Introducción a Netbeans&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/M2WlLkzYVE0/"&gt;JDeveloperLA&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; Legal:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/wGy9h8lbWPs/"&gt;Propiedad intelectual del software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/Gkxkcrc7PPA/"&gt;Ley de protección de datos personales&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Eventos y reuniones:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/NoJtvqS64TM/"&gt;JavaOne 2009&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/UrfGrGYNIXM/"&gt;Spring2GXDay 2009&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/pnqfqGq9Ft4/"&gt;JavaOne 2010&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/0krkKrdtNt0/"&gt;Eventos en Mexico&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; SUN y Oracle:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/eQyUeTyx834/"&gt;Productos y estrategia Oracle&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/ugSvvtmkzS4/"&gt;Adquisición de SUN por Oracle&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/2umwlUF-yAI/"&gt;Webcast Larry Ellison&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Software libre:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/UGZ-RZJoflA/"&gt;Java y Linux&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/5Uj1maBz4vA/"&gt;OpenOffice y estandar ODF&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/xJUUoZYRm5w/"&gt;Mujeres en comunidades de software libre&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/9sJMqe_QojA/"&gt;De OpenSolaris a Illumnos&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Personas y entrevistas personales:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/M86pzcQyLV0/"&gt;Entrevista a Eduardo Pelegri - Creador de la especificación JSP&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/BYNBBfJnNyE/"&gt;Entrevista a Carlos Sanchez - Creador de Maven&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/iO2o_oXJLUY/"&gt;Entrevista a Francisco Morero Peyrona - Evangelista honorario Netbeans&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/pazh711gpHQ/"&gt;Entrevista a Francisco Morero Peyrona - Carrera profesional técnica&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/3OcpVoLiF2M/"&gt;Entrevista a Juan Carlos Viota - Ganador de Android Developer Challenge&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/yV0INBpfXhk/"&gt;Entrevista a Eduardo Toledo - Segundo en concurso Javascript 1K&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Otros temas:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/9sy9n7euPFU/"&gt;Presentación de la asociación javaHispano&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/Mqc3wB0WMA0/"&gt;Ediciones java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/sjTBGYbNF88/"&gt;Enterprise 2.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/-wkjy_nWZ9E/"&gt;Control de versiones (CVS, SVN)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/f0qPP0Ri5OM/"&gt;Criptografía y firma digital&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/kFje78ODESc/"&gt;Seguridad informática I&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/0Ojan7CF7CU/"&gt;Seguridad informática II&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/dHNJvhrfatk/"&gt;Debug Mode On&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/OD7V2gKiC_M/"&gt;Especial número 100&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;  Noticias:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/rffOYhrIxsg/"&gt;Septiembre 2008 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/kvpJ8ZhSBDQ/"&gt;Octubre 2008 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/dN1TwimZR0E/"&gt;Octubre 2008 (b)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/K4XoVXRarKY/"&gt;Noviembre 2008 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/GNl9fLaAva8/"&gt;Diciembre 2008 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/cS7KkY-fG5k/"&gt;Diciembre 2008 (b)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/gJDdqdp8X6s/"&gt;Febrero 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/0dvrVkH1p2I/"&gt;Marzo 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/JpOFYYW4HJ8/"&gt;Marzo 2009 (b)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/_JNb5ewMrJw/"&gt;Abril 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/BcChidhN4Vo/"&gt;Mayo 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/8j44T3WsHEY/"&gt;Junio 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/pZujU25CgDE/"&gt;Junio 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/RaKRNODFeP8/"&gt;Septiembre 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/jn68w9ODatU/"&gt;Septiembre 2009 (b)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/tRUaQmN2Kh8/"&gt;Octubre 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/76l_GmDijNY/"&gt;Noviembre 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/NOCxaSRK458/"&gt;Diciembre 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/K6xeldgt_ZQ/"&gt;Enero 2010 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/85wVu2ERfG4/"&gt;Marzo 2010 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/Rs_dQ_Mx4nI/"&gt;Abril 2010 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/ngF4k-rYl90/"&gt;Agosto 2010 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/OzkuqcFN9ww/"&gt;Agosto 2010 (b)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/OQJECKGQ4VI/"&gt;Noviembre 2010 (a)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Dudas foro:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/vK4F1LSAOJg/"&gt;Noviembre 2008 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/1VGNVedNAm8/"&gt;Diciembre 2008 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/2qEEOvie1bI/"&gt;Enero 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/QLr7ZYbi850/"&gt;Febrero 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/NWdp0uo06no/"&gt;Marzo 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/wGzXycvN2mo/"&gt;Abril 2009 (a)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/JHPodcasts/%7E3/wSoUqbI601M/"&gt;Septiembre 2009 (a)&lt;/a&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/9213580289119732835-3429176039863029141?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/3429176039863029141/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2011/01/100-numeros-de-javahispano-podcast.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3429176039863029141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3429176039863029141'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2011/01/100-numeros-de-javahispano-podcast.html' title='100 números de javaHispano podcast'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/TGaNSIlKlmI/AAAAAAAAAOc/4GAKlmTAmrk/s72-c/javahispanopodcast.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-3583144474743965542</id><published>2011-01-18T23:36:00.003+01:00</published><updated>2011-01-18T23:41:52.898+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sonic'/><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><title type='text'>Interés emocional vs interés económico</title><content type='html'>&lt;div style="text-align: justify;"&gt;Un claro ejemplo de que el interés emocional, pasional o gusto por algo puede ser más alto que el económico. Para ejemplo, la comparativa de las versiones Sonic 4 creada por el equipo de SEGA y tirando de nostalgia y la versión de Sonic Fan Remix creada por unos fans de Sonic con la intención de crear un juego tan solo por su pasión por Sonic y sin ningún animo de lucro. Aquí los resultados:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Sonic 4&lt;br/&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/5MzAW1UgfM4?fs=1&amp;amp;hl=es_ES"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/5MzAW1UgfM4?fs=1&amp;amp;hl=es_ES" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Sonic Fan Remix&lt;br/&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/iLeBCO84oaA?fs=1&amp;amp;hl=es_ES"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/iLeBCO84oaA?fs=1&amp;amp;hl=es_ES" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-3583144474743965542?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/3583144474743965542/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2011/01/interes-emocional-vs-interes-economico.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3583144474743965542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3583144474743965542'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2011/01/interes-emocional-vs-interes-economico.html' title='Interés emocional vs interés económico'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-8164558518030077991</id><published>2011-01-16T23:46:00.008+01:00</published><updated>2011-01-18T00:09:41.197+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='buscaminas'/><title type='text'>Primer prototipo para eficiencia en desarrollo de juegos Android con buscaminas de ejemplo</title><content type='html'>Buenas,&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;En el anterior post, comenté los perjuicios en el desarrollo que ví desarrollando directamente con el SDK. Para ello comenté la posibilidad de hacer la aplicación con frames y luego cambiando una clase poderla portar a Android. Pues bién, aquí hay un pequeño prototipo experimental con unos pequeños métodos que habrá que ir incrementado con el tiempo.&lt;br /&gt;&lt;br /&gt;Lo he llamado adaptador de juegos android ya que en realidad se basa en que hay que extender una clase y no utilizar directamente lo que dispone Android, si no unos métodos que hacen de adaptador al SDK. Además viene de ejemplo el juego del buscaminas, que es bastante sencillo de desarrollar.&lt;br /&gt;&lt;br /&gt;En el framework adaptador este hay que extender la clase JuegoAdaptador para poder pintar o extender eventos. Es muy importante el orden alfabético de los métodos ya que si inician por pintarXXXX es que se plasma algo sobre las ventanas. Si pone eventoXXXX es que es un evento del usuario.&lt;br /&gt;&lt;br /&gt;Los eventos implementados son:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public void eventoInicializar();&lt;/span&gt;  //Al iniciar la aplicacion&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public void eventoPausa();&lt;/span&gt; //Al pulsar pausa (de momento no es posible).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public void eventoFinalizar();&lt;/span&gt; //Al finalizar la aplicacion&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public void eventoTick(); &lt;/span&gt; //Hilo que sirve para animar la aplicación. Por defecto se ejecuta cada 100ms.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public void eventoPintar(int orientacion);&lt;/span&gt; //Se está solicitando pintar en pantalla. La variable orientación indica si está en 0 vertical, 1 horizontal. Sin embargo, para que no esteis haciendo if hay una funcion getValor(orientacion,20,30) donde devuelve 20 si está vertical o 30 en horizontal. Así solo teneis que pintar todo 1 vez.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public void eventoTocarPantalla(int orientacion, int x, int y);&lt;/span&gt; //Se ejecuta cuando se hace click sobre la pantalla.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public Serializable eventoEstadoCapturar(); &lt;/span&gt;//Para persistencia y grabación en "video". Si se guardan los datos en una clase Serializable hacer snapshot de la partida e incluso grabarla y poderla rebobinar. Aquí se solicitan los datos serializables.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public void eventoEstadoReestablecer(Serializable s);&lt;/span&gt; //Para lo mismo. Aquí se solicita modificar los datos.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_81YuvYbUu9A/TTN7YuKG8MI/AAAAAAAAAPw/IxLdEirM_Tc/s1600/Imagen.jpg"&gt;&lt;img style="cursor: pointer; width: 742px; height: 551px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/TTN7YuKG8MI/AAAAAAAAAPw/IxLdEirM_Tc/s400/Imagen.jpg" alt="" id="BLOGGER_PHOTO_ID_5562925629370200258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Monitor de grabación.&lt;/span&gt;&lt;br /&gt;Una cosa muy interesante es estar jugando y si ves algún fallo poder ver que está pasando. Para ello hay una ventana adicional que permite visualizar los métodos get del modelo Serializable e incluso rebobinar a un estado anterior. También permite guardar el estado actual en disco duro para seguir otro día. Mi recomendación es ejecutarlo en modo depuración pero para comprobar las variables utilizar este frame de visualización ya que en un videojuego hay muchas iteraciones.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ejemplo buscaminas.&lt;/span&gt;&lt;br /&gt;Para que veais como funciona, he preparado un buscaminas ya que es relativamente fácil de hacer. Ya lo iremos complicando poco a poco. Para ello, he aplicado el JuegoAdaptador con JuegoAdaptadorTablero que permite la visualización de tableros NxM de manera que cada número va asociado a una imagen.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Donde conseguir el programa?.&lt;/span&gt;&lt;br /&gt;Aún me falta hacer una lista de distribución y un portal para quien quiera participar. Si es que no tengo tiempo. Para que vayais probandolo lo teneis por SVN en google code y para quien quiera bajarlo sin SVN lo he subido a Mediafire.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://code.google.com/p/adaptador-de-juegos-android/"&gt;https://code.google.com/p/adaptador-de-juegos-android/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?lodwrratua8tdmi"&gt;&lt;/a&gt;&lt;a href="http://www.mediafire.com/?xs35doxzo9lgw08"&gt;http://www.mediafire.com/?xs35doxzo9lgw08&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Vuestras sugerencias son bienvenidas.&lt;/span&gt;&lt;br /&gt;Comentar que aún no está la clase que interaciona con Android. Este es un primer paso para recibir críticas. Hay cosas que están premeditadas como la utilización de español para hacer un API (ya lo explicaré en otro momento), pero ahora mismo se me habrán pasado miles de cosas y faltan muchas cosas por desarrollar. Vuestras ideas serán bienvenidas.&lt;br /&gt;&lt;br /&gt;Poco a poco iré dando de alta a más sitios para que sea más colaborativo. De momento, las sugerencias podeis hacerlas en este post.&lt;br /&gt;&lt;br /&gt;La licencia que le he puesto es Apache 2.0 para que sea lo más permisiva posible.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Resumen de todo este rollo.&lt;/span&gt;&lt;br /&gt;La idea es crear métodos en la clase JuegoAdaptador que aislen donde se están volcando datos en un frame o en un screen de Android. Extendiendo esta clase se debería poderse utilizar tanto para Java Frames como para Android cambiando la implementación de la clase JuegoAdaptador. De momento, es algo básico pero se irán añadiendo funcionalidades poco a poco (sonido, eventos de arrastrar, etc).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Actualización 18-01-2011&lt;/span&gt;:&lt;br /&gt;Subida una nueva versión con correcciones.&lt;br /&gt;&lt;br /&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/9213580289119732835-8164558518030077991?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/8164558518030077991/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2011/01/primer-prototipo-para-eficiencia-en.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8164558518030077991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8164558518030077991'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2011/01/primer-prototipo-para-eficiencia-en.html' title='Primer prototipo para eficiencia en desarrollo de juegos Android con buscaminas de ejemplo'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/TTN7YuKG8MI/AAAAAAAAAPw/IxLdEirM_Tc/s72-c/Imagen.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-2412571758677700443</id><published>2011-01-10T20:05:00.003+01:00</published><updated>2011-01-10T20:34:20.711+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Primeras impresiones de Android SDK</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.visualbeta.es/files/2008/10/android.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 268px; height: 261px;" src="http://www.visualbeta.es/files/2008/10/android.jpg" alt="" border="0" /&gt;&lt;/a&gt;Buenas,&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Este año he empezado con fuerza y he iniciado a aprender Android. El objetivo será desarrollar algunos juegos y subirlos al Market (algunos gratuitos y otros a unos 50 centimos). Ya anteriormente había intentado hacer algo y las herramientas las conocía, pero siempre se había quedado atrás por falta de tiempo. En esta ocasión va en serio, es un objetivo prioritario.&lt;br /&gt;&lt;br /&gt;Para instalación tan solo hay que seguir los pasos que están explicados.&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Descargas Eclipse&lt;/li&gt;&lt;li&gt;Descargas el SDK de Android y lo instalas&lt;/li&gt;&lt;li&gt;Instalas el plugin de Eclipse y lo configuras&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Y con todo ello ya puedes hacer tu primer "hola mundo". También puedes probar alguna demo si quieres.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Hasta aquí todo normal hasta que empiezo a ver inconvenientes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Inconvenientes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Memoria.&lt;/span&gt;&lt;br /&gt;Lo primero de todo, al ser emulado traga multitud de memoria. Está bién que el dispositivo emule bién el dispositivo pero ¿no puede haber una versión ligera con las opciones mínimas?. Es increible como cuando llevas 30 minutos programando (o más bién desplegando) deja de funcionar el emulador, eclipse, etc. Esto os comento en Windows. Lo he probado también en un Linux Ubuntu 10.10 y funciona un poco mejor, en vez de caer a los 30 minutos cae a los 60. Pero sigue utilizando mucha memoria.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lentitud de despliegue.&lt;/span&gt;&lt;br /&gt;El primer despliegue es bastante lento pero una vez arrancado el emulador, cada vez que despliegas genera el paquete y lo sube al emulador. Lo cual significa que si tengo una aplicación con muchos resources, cada despliegue será eterno. Esto habría que mejorarlo. El sistema se parece un poco a los Ant de JEE que generan el paquete entero. Está bién tener un paquete generado que sea la aplicación, pero cuando estás desarrollando lo primordial es la velocidad de despliegue subiendo unicamente los cambios.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Depuración.&lt;/span&gt;&lt;br /&gt;Al menos se puede depurar, pensé. En efecto, se puede depurar siempre y cuando no quieras cambiar el código al ver el error. Algo que es tremendamente util es la posibilidad de cambiar el código mientras se está ejecutando y que funcionen los cambios sin tener que volver a rearrancar y/o redesplegar la aplicación.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;No hay console.&lt;/span&gt;&lt;br /&gt;O al menos aún no la he encontrado. No puedo decir que no haya pues quizá no haya buscado adecuadamente pero esperaba que cuando pusiese System.out.println("Algo"); se visualizase en la consola del eclipse.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Modo horizontal y modo vertical.&lt;/span&gt;&lt;br /&gt;Una característica de los nuevos móviles es la posibilidad de girar el movil. Este es interesante aunque pone complejidad en el desarrollo ya que quizá la distribución de los componentes sean diferentes. Tienes la posibilidad de desarrollar unicamente para una orientación si quieres. La pega que veo es que si quieres desarrollar para las dos orientaciones el emulador solo visualiza una por lo que si quieres volver a testear si funciona para la otra orientacion debes volver a lanzar otro emulador y volver a probar todo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ventajas&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Aun así, me gustaría comentar alguna ventaja que le he visto:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Gestión de resources muy bueno.&lt;/span&gt;&lt;br /&gt;Está automatizado para que cargue imagenes de manera sencilla a través de una constante de una clase que se autogenera. Además tienes un directorio para poner diferentes imagenes según la orientación vertical-horizontal. Esto estaba interesante.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Doble buffer.&lt;/span&gt;&lt;br /&gt;Al pintar en pantalla ya se dispone de un doble buffer. Aun no tengo claro como puedo provocar el repaint(), pero poco a poco me iré haciendo. Comentar que todos los juegos consistiran en cargar imagenes y moverlas en un canvas. No hay componentes prediseñados.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;-------------&lt;br /&gt;Y hasta aquí mis primeras impresiones. Es normal que al principio se vean más pegas que beneficios porque los trucos se van aprendiendo poco a poco. Yo que soy un maniático del desarrollo y despliegue rápido he visto bastantes inconvenientes pues he estado más tiempo desplegando que desarrollando.&lt;br /&gt;&lt;br /&gt;Creo que para avanzar más rápido con Android habrá que crear un framework o API que permita ver mis aplicaciones en un JFrame y luego que el traspaso a Android sea cambiar dos cosas y vale. De esa forma, conseguimos la velocidad de desarrollo sencillo en un JFrame y luego lo podremos portar a algo más pesado.&lt;br /&gt;&lt;br /&gt;En cuanto consiga algo, veré publicarlo con licencia LGPL para ver si se anima más gente.&lt;br /&gt;&lt;br /&gt;Ya os iré contando.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&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/9213580289119732835-2412571758677700443?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/2412571758677700443/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2011/01/primeras-impresiones-de-android-sdk.html#comment-form' title='10 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2412571758677700443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2412571758677700443'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2011/01/primeras-impresiones-de-android-sdk.html' title='Primeras impresiones de Android SDK'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6551549031690631998</id><published>2010-12-31T15:24:00.004+01:00</published><updated>2010-12-31T15:53:50.835+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Objetivos 2011'/><title type='text'>Objetivos para el 2011</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://sixservix.com/blog/david/2010/12/31/objetivos-para-2011/"&gt;David Bonilla,&lt;/a&gt; ha escrito acerca los objetivos del 2011 y me ha invitado a hacerlo también. Así que haya vamos.&lt;br /&gt;&lt;br /&gt;Es curioso como nunca, a final de año, evaluas si has conseguido lo propuesto en el año. Sin embargo, esta vez lo apunté en el blog ... así que demosle un repaso.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Evaluación de objetivos del 2010.&lt;/span&gt; Aquí los indicadores: &lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Conseguido&lt;/span&gt;, &lt;span style="color: rgb(255, 102, 0);"&gt;Conseguido a medias&lt;/span&gt;, &lt;span style="color: rgb(255, 0, 0);"&gt;No conseguido&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Seguir con el podcast y entrevistar personajes de importancia de habla inglesa (traduciendolo a posteriorí al español) y crear una nueva sección llevada por algún compañero sobre entrevistas en inglés. &lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Conseguida la parte de seguir el podcast. Sin embargo no se pudo hacer lo de entrevistas en inglés.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Participar activamente en algún proyecto de software libre de importancia. &lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Practicamente sin conseguir. Unicamente, diseñé tres fases del openSonic y lo publiqué en su foro.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Compilar en C con los últimos IDEs. (Es frustrante descargarte el OpenSonic y que no compile porque las librerías de C no tienen el BITMAP. Grrrr). &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Sin conseguir&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Adelgazar 4 kilos más (de los 8 que llevo ya en este año). &lt;span style="color: rgb(255, 204, 0); font-weight: bold;"&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conseguí bajar 2 más pero los recuperé así que sigo igual pero es por culpa de las últimas cenas. &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Seguir practicando Badminton y conseguir ganar al monitor del curso (¡por presuntuoso!). &lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;Conseguido. No os podeis imaginar la dedicación que tuve que ponerle.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Crear un podcast totalmente diferente al resto de todo lo que existe (tengo la idea pero no tengo tiempo). &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;No conseguido.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Y aquí los propósitos para el 2011. &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Iniciar con clases particulares online. Es una idea que llevo últimamente en cabeza y que creo que puede ser interesante para descubrir la capacidad de internet.&lt;/li&gt;&lt;li&gt;Si se crease un fork de java (que seguramente se iniciará), participar en él. En el caso de que sea no, buscar alternativas cómodas para un programador java para recomendarlas. Es decir, alternativas que a partir de un código java antiguo puedas desplegarlo en un entorno NO Oracle.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Aprender y quizá colaborar con OpenXava. Ultimamente hablando con Javier Paniza en las entrevistas, curiosamente, pensamos bastante igual. Yo también pienso que, para ser productivo, hay que centrarse en los casos generales (y no particulares) y para ello hay que definir más y programar menos.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Aprender Android e incluso llegar a probar el Market. Ya va siendo hora de ver otras cosas diferentes a Java.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ahorrar energía eléctrica. Este es un modo de protesta por el incremento del precio de la luz de manera desproporcionada a la vida. He iniciado desde el anuncio de la noticia con la idea de apagar todo lo que no utilizo. Y con apagar no es darle al off del aparato ya que estos también consumen. Es apagarlo prácticamente de la red. &lt;/li&gt;&lt;li&gt;Finalmente, investigar más acerca del comercio justo. Ultimamente ví una conferencia de Joan Melé (que publiqué en este blog) que me hizo pensar. Me gustaría investigar más sobre esto.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Y creo que estos serían los próximos objetivos. A ver si se cumplen o no.&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-6551549031690631998?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6551549031690631998/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/12/objetivos-para-el-2011.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6551549031690631998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6551549031690631998'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/12/objetivos-para-el-2011.html' title='Objetivos para el 2011'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-885839211922692351</id><published>2010-12-24T18:29:00.002+01:00</published><updated>2010-12-24T18:31:19.237+01:00</updated><title type='text'>Feliz Navidad y próspero año nuevo</title><content type='html'>Que paseis todos feliz Navidad y próspero año nuevo.&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/tgtnNc1Zplc?fs=1&amp;amp;hl=es_ES"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/tgtnNc1Zplc?fs=1&amp;amp;hl=es_ES" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-885839211922692351?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/885839211922692351/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/12/feliz-navidad-y-prospero-ano-nuevo.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/885839211922692351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/885839211922692351'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/12/feliz-navidad-y-prospero-ano-nuevo.html' title='Feliz Navidad y próspero año nuevo'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-3135830522117936156</id><published>2010-12-15T23:31:00.004+01:00</published><updated>2010-12-15T23:41:44.208+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='economia'/><category scheme='http://www.blogger.com/atom/ns#' term='etica'/><title type='text'>La solución a las crisis empiezan por cambiar uno mismo.</title><content type='html'>Recientemente he encontrado en &lt;a href="http://www.navegapolis.net/content/view/1006/98/"&gt;navegapolis &lt;/a&gt;una conferencia muy interesante acerca del entorno y nuestro papel como celula de esa comunidad. Es realmente interesante la visión acerca de pensar en que invertimos nuestro esfuerzo. La pregunta que cada uno debe hacerse es ¿realmente el esfuerzo (ya sea de trabajo o económico) va destinado a tus propios principios?.&lt;br /&gt;&lt;br /&gt;La conclusión es cuando quieras cambiar tu entorno, hay que empezar por uno mismo.&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://www.youtube.com/embed/UK3hC1xxHQM?rel=0" title="YouTube video player" class="youtube-player" type="text/html" mce_src="http://www.youtube.com/embed/UK3hC1xxHQM?rel=0" width="480" frameborder="0" height="390"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;En la conferencia habla siempre de bancos y economía, pero se puede aplicar a cualquier campo trabajo, desarrollo de proyectos y gestión de equipos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-3135830522117936156?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/3135830522117936156/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/12/la-crisis-empieza-por-cambiar-uno-mismo.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3135830522117936156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3135830522117936156'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/12/la-crisis-empieza-por-cambiar-uno-mismo.html' title='La solución a las crisis empiezan por cambiar uno mismo.'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/UK3hC1xxHQM/default.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-8779886917634914991</id><published>2010-11-30T14:32:00.004+01:00</published><updated>2010-11-30T14:48:24.437+01:00</updated><title type='text'>Envianos un audio para el podcast 100 de javaHispano</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://kpl.lib.mo.us/content_uploads/podcastDefault.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 181px; height: 199px;" src="http://kpl.lib.mo.us/content_uploads/podcastDefault.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La próxima semana publicaremos el número 100 de javaHispano. Para dicho número, nos gustaría nos envieis audios de 1-2 minutos hablando, opinando, valorando o incluso criticando acerca  del podcast. Puede quedar bastante bién.&lt;br /&gt;&lt;br /&gt;Esta semana estoy preparando el podcast que consistirá en un recopilatorio de momentos interesantes del podcast. Anticiparos que durará 3-4 horas.&lt;br /&gt;&lt;br /&gt;Podeis enviar vuestro audio a jorgesub arroba gmail punto com.&lt;br /&gt;&lt;br /&gt;Mucho animo. Esperamos el tuyo.&lt;br /&gt;&lt;br /&gt;Gracias y saludos,&lt;br /&gt;Jorge Rubira&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/9213580289119732835-8779886917634914991?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/8779886917634914991/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/11/envianos-un-audio-para-el-podcast-100.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8779886917634914991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8779886917634914991'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/11/envianos-un-audio-para-el-podcast-100.html' title='Envianos un audio para el podcast 100 de javaHispano'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-1559110297307352352</id><published>2010-11-21T14:06:00.003+01:00</published><updated>2010-11-21T14:23:33.650+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neurociencia'/><title type='text'>La neurociencia será un campo a tener en cuenta para los programadores - Opinión</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_o_puovc6I8c/SDce2MXGmPI/AAAAAAAAAG0/FKMGY8ZHvM4/s400/brain.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 225px; height: 300px;" src="http://4.bp.blogspot.com/_o_puovc6I8c/SDce2MXGmPI/AAAAAAAAAG0/FKMGY8ZHvM4/s400/brain.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Recientemente he visto un capítulo de Redes que me ha gustado mucho sobre el efecto del ejercicio en la mente. De hecho, la búsqueda de la eficiencia mental es un tema que me interesa mucho porque la programación, así como cualquier trabajo creativo, es una cuestión intelectual y mental.&lt;br /&gt;&lt;br /&gt;Desde hace pocos años se está hablando de la neurociencia como una disciplina que se está investigando cada vez más en la que se están descubriendo cosas interesantes como las zonas que utilizamos ante diferentes estimulaciones o la posibilidad incluso de leer y plasmar en una pantalla lo que se está pensando (figuras sencillas como cuadrados o circulos, claramente).&lt;br /&gt;&lt;br /&gt;A medida que este campo avance, los trabajos que sean plenamente creativos irán siendo más eficientes, minimizando en gran medida, casos de depresión que se presentan por un stress continuado ocasionado por las presiones y la carga de trabajo (no material).&lt;br /&gt;&lt;br /&gt;Aquí teneis varios recursos, videos y audios que me han parecido interesantes:&lt;br /&gt;&lt;br /&gt;El primero a destacar es este donde hacen pruebas con ratas en las que algunas hacen ejercicio y otras no.&lt;br /&gt;&lt;a href="http://www.ivoox.com/deporte-para-cerebro-mas-sano-redes-72-audios-mp3_rf_426045_1.html"&gt;http://www.ivoox.com/deporte-para-cerebro-mas-sano-redes-72-audios-mp3_rf_426045_1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;El segundo que me parece interesante es este donde jovenes inventigadores hablan de su trabajo y cual es el objetivo en la actualidad (prioridades en el tratamiento de enfermedades y problemas mentales y fármacos).&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=wb_KJ2MhmQo"&gt;http://www.youtube.com/watch?v=wb_KJ2MhmQo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Un tercer número, también sería otro capítulo de Redes:&lt;br /&gt;&lt;a href="http://www.ivoox.com/pon-forma-tu-cerebro-redes-69-audios-mp3_rf_403409_1.html"&gt;http://www.ivoox.com/pon-forma-tu-cerebro-redes-69-audios-mp3_rf_403409_1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Un cuarto final es un tanto filosófico y un tanto introduccion y teórico. Pero digno para estar en esta lista:&lt;br /&gt;&lt;a href="http://www.ivoox.com/neurociencia-cognitiva-mente-cerebro-computacion-audios-mp3_rf_417961_1.html"&gt;http://www.ivoox.com/neurociencia-cognitiva-mente-cerebro-computacion-audios-mp3_rf_417961_1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Si conoceis algún audio o video sobre estos temas, se agradecerá vuestros links ya que es un tema que me interesa mucho.&lt;br /&gt;&lt;br /&gt;Saludos y que los disfruteis.&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/9213580289119732835-1559110297307352352?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/1559110297307352352/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/11/la-neurociencia-sera-un-campo-tener-en.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1559110297307352352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1559110297307352352'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/11/la-neurociencia-sera-un-campo-tener-en.html' title='La neurociencia será un campo a tener en cuenta para los programadores - Opinión'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_o_puovc6I8c/SDce2MXGmPI/AAAAAAAAAG0/FKMGY8ZHvM4/s72-c/brain.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6628163845451400509</id><published>2010-11-05T23:32:00.018+01:00</published><updated>2010-11-06T01:18:46.314+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Experiemento'/><title type='text'>Ley de Registro Civil, el hijo tendrá los apellidos de los padres ordenados alfabéticamente - Experimento práctico</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Introducción:&lt;/span&gt;&lt;br /&gt;Recientemente se ha publicado una noticia acerca de una modificación que se está fraguando en España en la Ley de Registro Civil en el que para igualar el hombre a la mujer el nombre de los apellidos se pondrán de manera ordenada alfabéticamente (en caso de no ponerse de acuerdo).&lt;br /&gt;&lt;a href="http://www.diariovasco.com/20101104/mas-actualidad/sociedad/apellidos-alfabetico-201011041307.html"&gt;http://www.diariovasco.com/20101104/mas-actualidad/sociedad/apellidos-alfabetico-201011041307.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.meneame.net/story/llamazares-avisa-variable-alfabeto-puede-traer-consecuencias/1"&gt;http://www.meneame.net/story/llamazares-avisa-variable-alfabeto-puede-traer-consecuencias/1&lt;/a&gt;&lt;a href="http://www.meneame.net/story/llamazares-avisa-variable-alfabeto-puede-traer-consecuencias/1"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Sin embargo, es curioso que ciertos políticos que han redactado la ley no se hayan dado cuenta de que a medida que pasen generaciones la probabilidad de tener los mismos apellidos será muy alta en el caso de aplicarse con habitualidad. Por ello, me ha parecido interesante realizar un algoritmo para comprobar a que velocidad, (en generaciones), perderiamos los apellidos que tenemos.&lt;br /&gt;&lt;br /&gt;El algoritmo:&lt;br /&gt;Aquí teneis el algoritmo. Es algo muy sencillo. Hay dos constantes para configurar el número de personas de muestra y el número de apellidos. Los apellidos vamos a tratarlos como enteros para generarlos aleatoriamente más facilmente. En cada generación, cada pareja genera dos nuevas personas y estas fallecen. Se guarda en una matriz cuantos apellidos tanto en el primer apellido como en el segundo hay de cada. Finalmente se visualiza el resultado en csv para poder hacer gráficas a través de un Excel:&lt;br /&gt;&lt;br /&gt;&lt;apellidos&gt;&lt;apellidos&gt;&lt;personas_por_generacion;n++){&gt;&lt;personas_por_generacion;m+="2){"&gt;&lt;personas_por_generacion;m++){"&gt;&lt;total_apellidos;m++){&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/total_apellidos;m++){&gt;&lt;/personas_por_generacion;m++){"&gt;&lt;/personas_por_generacion;m+="2){"&gt;&lt;/personas_por_generacion;n++){&gt;&lt;/apellidos&gt;&lt;/apellidos&gt;import java.util.ArrayList;&lt;br /&gt;&lt;br /&gt;public class Apellidos {&lt;br /&gt;&lt;br /&gt;public static int PERSONAS_POR_GENERACION=1000;&lt;br /&gt;public static int TOTAL_APELLIDOS=300;&lt;br /&gt;&lt;br /&gt;private int ape1;&lt;br /&gt;private int ape2;&lt;br /&gt;&lt;br /&gt;public Apellidos(int ape1, int ape2){&lt;br /&gt;     this.ape1=ape1;&lt;br /&gt;     this.ape2=ape2;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void main(String arg[]){&lt;br /&gt;   int contApellidos[][]=new int[20][TOTAL_APELLIDOS];&lt;br /&gt;   ArrayList&amp;lt;Apellidos&amp;gt; personas=new ArrayList&amp;lt;Apellidos&amp;gt;();&lt;br /&gt;   //Se insertan apellidos aleatorios&lt;br /&gt;   for (int n=0;n&amp;lt;PERSONAS_POR_GENERACION;n++){&lt;br /&gt;      int nApe1=(int)(Math.random()*TOTAL_APELLIDOS);&lt;br /&gt;      int nApe2=(int)(Math.random()*TOTAL_APELLIDOS);&lt;br /&gt;      Apellidos nuevo=new Apellidos(nApe1, nApe2);&lt;br /&gt;      personas.add(nuevo);&lt;br /&gt; }&lt;br /&gt; //Cada pareja tienen dos hijos y cuando muere una generación (1000 personas)&lt;br /&gt;    for (int n=0;n&amp;lt;20;n++){&lt;br /&gt;       for (int m=0;m&amp;lt;PERSONAS_POR_GENERACION;m+=2){&lt;br /&gt;             Apellidos hombre=personas.get(m);&lt;br /&gt;             Apellidos mujer=personas.get(m+1);&lt;br /&gt;             for (int i=0;i&amp;lt;2;i++){&lt;br /&gt;                personas.add((int)(Math.random()*(personas.size()-1000))+1000,&lt;br /&gt;                new Apellidos(&lt;br /&gt;                       Math.min(hombre.ape1, mujer.ape1),&lt;br /&gt;                       Math.max(hombre.ape1, mujer.ape1)&lt;br /&gt;                  )&lt;br /&gt;             );&lt;br /&gt;          }&lt;br /&gt;        //Contamos los apellidos de la gente que va a fallecer para así ver la linealidad de la generación inicial&lt;br /&gt;            contApellidos[n][hombre.ape1]++;&lt;br /&gt;           contApellidos[n][mujer.ape1]++;&lt;br /&gt;       }&lt;br /&gt;       for (int m=0;m&amp;lt;PERSONAS_POR_GENERACION;m++){&lt;br /&gt;            personas.remove(0);&lt;br /&gt;       }&lt;br /&gt;  }&lt;br /&gt;  //Visualización de la cantidad de apellidos para cada generacion&lt;br /&gt;  for (int m=0;m&amp;lt;TOTAL_APELLIDOS;m++){&lt;br /&gt;       for (int n=0;n&amp;lt;20;n++){&lt;br /&gt;            System.out.print(contApellidos[n][m] + ";");&lt;br /&gt;       }&lt;br /&gt;       System.out.println();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;apellidos&gt;&lt;apellidos&gt;&lt;personas_por_generacion;n++){&gt;&lt;personas_por_generacion;m+="2){"&gt;&lt;personas_por_generacion;m++){"&gt;&lt;total_apellidos;m++){&gt;&lt;/total_apellidos;m++){&gt;&lt;/personas_por_generacion;m++){"&gt;&lt;/personas_por_generacion;m+="2){"&gt;&lt;/personas_por_generacion;n++){&gt;&lt;/apellidos&gt;&lt;/apellidos&gt;&lt;br /&gt;&lt;apellidos&gt;&lt;apellidos&gt;&lt;personas_por_generacion;n++){&gt;&lt;personas_por_generacion;m+="2){"&gt;&lt;personas_por_generacion;m++){"&gt;&lt;total_apellidos;m++){&gt;&lt;span style="font-weight: bold;"&gt;Resultados: &lt;/span&gt;&lt;/total_apellidos;m++){&gt;&lt;/personas_por_generacion;m++){"&gt;&lt;/personas_por_generacion;m+="2){"&gt;&lt;/personas_por_generacion;n++){&gt;&lt;/apellidos&gt;&lt;/apellidos&gt;&lt;br /&gt;&lt;apellidos&gt;&lt;apellidos&gt;&lt;personas_por_generacion;n++){&gt;&lt;personas_por_generacion;m+="2){"&gt;&lt;personas_por_generacion;m++){"&gt;&lt;total_apellidos;m++){&gt;En la primera generación, claramente tendríamos todos los apellidos: &lt;/total_apellidos;m++){&gt;&lt;/personas_por_generacion;m++){"&gt;&lt;/personas_por_generacion;m+="2){"&gt;&lt;/personas_por_generacion;n++){&gt;&lt;/apellidos&gt;&lt;/apellidos&gt;&lt;br /&gt;&lt;apellidos&gt;&lt;apellidos&gt;&lt;personas_por_generacion;n++){&gt;&lt;personas_por_generacion;m+="2){"&gt;&lt;personas_por_generacion;m++){"&gt;&lt;total_apellidos;m++){&gt;&lt;/total_apellidos;m++){&gt;&lt;/personas_por_generacion;m++){"&gt;&lt;/personas_por_generacion;m+="2){"&gt;&lt;/personas_por_generacion;n++){&gt;&lt;/apellidos&gt;&lt;/apellidos&gt;&lt;a href="http://4.bp.blogspot.com/_81YuvYbUu9A/TNSNjLodJoI/AAAAAAAAAPE/QeolIfmVXy0/s1600/Generacion1.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 167px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/TNSNjLodJoI/AAAAAAAAAPE/QeolIfmVXy0/s400/Generacion1.PNG" alt="" id="BLOGGER_PHOTO_ID_5536205477502592642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En la segunda generación se empizan a ver las primeras consecuencias en los últimos apellidos:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_81YuvYbUu9A/TNSNnqYYq0I/AAAAAAAAAPM/T003bMKOZf0/s1600/Generacion2.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 169px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/TNSNnqYYq0I/AAAAAAAAAPM/T003bMKOZf0/s400/Generacion2.png" alt="" id="BLOGGER_PHOTO_ID_5536205554476165954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En la generación tercera:&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_81YuvYbUu9A/TNSNrP-p3vI/AAAAAAAAAPU/gShQv4SAiDw/s1600/Generacion3.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 167px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/TNSNrP-p3vI/AAAAAAAAAPU/gShQv4SAiDw/s400/Generacion3.png" alt="" id="BLOGGER_PHOTO_ID_5536205616108396274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;En la generación cuarta:&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_81YuvYbUu9A/TNSNvZ1ex_I/AAAAAAAAAPc/TrWqGfdjUus/s1600/Generacion4.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 168px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/TNSNvZ1ex_I/AAAAAAAAAPc/TrWqGfdjUus/s400/Generacion4.PNG" alt="" id="BLOGGER_PHOTO_ID_5536205687473752050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finalmente en la simulación, en la generación 12 ya eran todos los apellidos eran iguales y sigue una progresión de valor(generacion)=valor(generacion-1)*2 hasta que llega al 50% que va bajando el ritmo de crecimiento ya que se empiezan a juntar parejas con el mismo apellido.  Ver gráfica:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_81YuvYbUu9A/TNSNy2wngsI/AAAAAAAAAPk/dALyJ67sMe8/s1600/Generacion5.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 276px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/TNSNy2wngsI/AAAAAAAAAPk/dALyJ67sMe8/s400/Generacion5.PNG" alt="" id="BLOGGER_PHOTO_ID_5536205746777588418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusión:&lt;/span&gt;&lt;br /&gt;La desaparición de los apellidos se concentrarían en uno único de manera que en varias generaciones todos tendríamos el mismo apellido.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusión 2:&lt;/span&gt;&lt;br /&gt;Harían falta más matemáticos y estadísticos y personas de ciencias exactas ejerciendo como políticos. ;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ACTUALIZACION&lt;/span&gt;: Dado el feedback recibido, aclarar que la ley tal y como define el primer link que pongo, se aplica en caso de discusión. Este sería el caso en el que se aplica de manera habitual. He modificado la noticia para aclarar este hecho.&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/9213580289119732835-6628163845451400509?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6628163845451400509/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/11/ley-de-registro-civil-el-hijo-tendra.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6628163845451400509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6628163845451400509'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/11/ley-de-registro-civil-el-hijo-tendra.html' title='Ley de Registro Civil, el hijo tendrá los apellidos de los padres ordenados alfabéticamente - Experimento práctico'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/TNSNjLodJoI/AAAAAAAAAPE/QeolIfmVXy0/s72-c/Generacion1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4066909130566367019</id><published>2010-10-31T12:39:00.003+01:00</published><updated>2010-10-31T12:56:14.740+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><category scheme='http://www.blogger.com/atom/ns#' term='Solo Programadores'/><category scheme='http://www.blogger.com/atom/ns#' term='Videotutoriales'/><title type='text'>Videotutoriales Solo Programadores (Compilation)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.revistasprofesionales.com/img/20080107115529portada23723.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 150px; height: 200px;" src="http://www.revistasprofesionales.com/img/20080107115529portada23723.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Inicialmente, en este blog iba a publicar los videotutoriales uno a uno con sus respectivas presentaciones. Sin embargo, me he topado con falta de tiempo para ello y la web donde se albergaban ha dejado de funcionar. Por ello, he subido todos ellos a un servidor de compartir ficheros y he pensado en hacer una compilación de todos ellos en este post. Así que aquí teneis todos los videotutoriales que hice cuando estaba en la época de colaboración con Solo Programadores. Espero que los disfruteis.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?q1f7t2ffmycto2s"&gt;135-El juego del fugitivo (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?d2a1qhz3re3mbcu"&gt;136-Conversor de divisas (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?9r9ez4rb9e4qbbb"&gt;137-Buscando la pareja (.NET)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?qac03n47vqyvf10"&gt;138-Aprendiendo ingles (Flash)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?7mngoztelm69ovo"&gt;139-Gráficas dinámicas con PHPLot (PHP)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?fdpetsnnubldjg2"&gt;140-Patos al agua (Java3D)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?im38luhe66p7kgn"&gt;141-Boxeo en el móvil (Java ME)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?afimdx8nal3d8dd"&gt;142-Matamarcianos con Laszlo y Eclipse (Laszlo)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?afcwpix0g07slg3"&gt;143-Algoritmo minimax (Java EE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?csud2cziqlbvrdf"&gt;144-Pong3D con Java3D (Java 3D)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?5yalcva2m48g8kt"&gt;145-Bolera virtual (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?27lhy52ilvsyha6"&gt;146-Introducción MyMobileWeb (Java EE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?afjf210vxatyr8t"&gt;147-JavaCup (Torneo de futbol virtual)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?ibic5vjdbq5uaxr"&gt;148-Solo Pilotos (Game Maker)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?v22tq1vp2md9k7t"&gt;149-Juego de coches (Java ME)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?s6u4360dni666y8"&gt;151-Agenda de citas (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?5td6cs3g3q9wf47"&gt;152-Juego JavaScript&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?a6i7ar38hscvx65"&gt;153-Introducción a CakePHP (PHP)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?22al4m89gtfspom"&gt;154-Busqueda de soluciones IA (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?uekw1n4pbv4r5ld"&gt;155-Chat con Java (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?rppgic76zzemf36"&gt;156-Juego del trilero (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?pv96ep05itjf3x4"&gt;157-Autoexamen (C#)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?axz2tz0izdh0bnt"&gt;158-Menu arts (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?d41iik0thrisrnx"&gt;159-El juego del ahorcado (SharpDevelop)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?k82fwx7f4f1qeee"&gt;160-Disco duro remoto (PHP)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?pyxtvnoh7z7ycy6"&gt;161-Tiro a la diana (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?06waxw3zx9a7fdx"&gt;162-Busca las minas (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?w785issq9yi7f90"&gt;164-Tragaperras (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?2v5wqdqf7nxqbe6"&gt;165-SP Tetris (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?l38xip4mklpd9ga"&gt;166-SP Pang (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?85lxauib6u8w80i"&gt;167-Batalla naval (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?dcfzj8iey8idn9i"&gt;168-Interacción J2ME+J2EE+J4ME (Java ME+Java SE)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?kcf0eby04x3rkmr"&gt;169-Ritmico. (Java SE)&lt;/a&gt;&lt;br /&gt;&lt;br /&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/9213580289119732835-4066909130566367019?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4066909130566367019/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/10/videotutoriales-solo-programadores.html#comment-form' title='18 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4066909130566367019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4066909130566367019'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/10/videotutoriales-solo-programadores.html' title='Videotutoriales Solo Programadores (Compilation)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-7720281748862392014</id><published>2010-10-24T13:48:00.003+02:00</published><updated>2010-10-24T13:58:40.610+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Musica'/><title type='text'>Java Jive 1940s</title><content type='html'>Mmm, escuchando esta canción me recuerda a algo familiar. Para el deleite de a los que les gusta lo clásico.&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/iP6IUqrFHjw?fs=1&amp;amp;hl=es_ES"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/iP6IUqrFHjw?fs=1&amp;amp;hl=es_ES" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/EE69jBxZuXg?fs=1&amp;amp;hl=es_ES"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/EE69jBxZuXg?fs=1&amp;amp;hl=es_ES" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Aquí la letra:&lt;br /&gt;&lt;a href="http://www.bluesforpeace.com/lyrics/java-jive.htm"&gt;http://www.bluesforpeace.com/lyrics/java-jive.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-7720281748862392014?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/7720281748862392014/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/10/java-jive-1941.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7720281748862392014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7720281748862392014'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/10/java-jive-1941.html' title='Java Jive 1940s'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-3250953217968382705</id><published>2010-09-13T23:04:00.008+02:00</published><updated>2010-09-14T07:18:28.665+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dia del programador'/><title type='text'>13 de septiembre - Dia del programador</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://t3.gstatic.com/images?q=tbn:ANd9GcSqtYUoL7vGBLnMZQO6BnBc4tJrU6MAY9KQGHNqsfbxn1uHxEM&amp;amp;t=1&amp;amp;h=167&amp;amp;w=222&amp;amp;usg=__caiNGMkVE9Q_cUOSG7zh2psHwn8="&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 222px; height: 167px;" src="http://t3.gstatic.com/images?q=tbn:ANd9GcSqtYUoL7vGBLnMZQO6BnBc4tJrU6MAY9KQGHNqsfbxn1uHxEM&amp;amp;t=1&amp;amp;h=167&amp;amp;w=222&amp;amp;usg=__caiNGMkVE9Q_cUOSG7zh2psHwn8=" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;No lo sabía pero gracias "Fires" acabo de descubrir que hoy era el día del programador.&lt;br /&gt;&lt;a href="http://proyectosbeta.blogspot.com/2010/09/feliz-dia-del-programador.html"&gt;http://proyectosbeta.blogspot.com/2010/09/feliz-dia-del-programador.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para celebrarlo ha solicitado que escribamos alguna anécdota en el siguiente post.&lt;br /&gt;&lt;a href="http://proyectosbeta.blogspot.com/2010/09/celebremos-el-dia-del-programador-con.html"&gt;http://proyectosbeta.blogspot.com/2010/09/celebremos-el-dia-del-programador-con.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;y como tenía tiempo libre, así lo he hecho. ¡Que curioso que sea el día 256 = 2^8.&lt;br /&gt;&lt;br /&gt;Es una historia que le puede pasar a cualquiera pero en esta ocasión con final inesperado. Y en general se saca una moraleja de todo ello de la cual me ha dejado marca (por vivirla a través de compañeros).&lt;br /&gt;&lt;br /&gt;Borrar algo de manera irreversible siempre es un trauma. Es mayor aún  cuando lo que has borrado lleva mucho trabajo o no es tuyo. Pues bién  aquí una anecdota que le paso a un compañero.&lt;br /&gt;&lt;br /&gt;1. Se realiza una nueva instalación en un cliente.&lt;br /&gt;2. Durante una semana, el cliente se dedica a introducir los datos maestros.&lt;br /&gt;3. A la semana le piden a un técnico que mire ciertas cosas y modifique otras el caso es que derrepente se oye.&lt;br /&gt;- "Noooo!!". Exclama el técnico.&lt;br /&gt;- "¿Que pasa?". Preguntamos el resto&lt;br /&gt;El técnico palido no contesta.&lt;br /&gt;- "¿Ocurre algo?". Le insistimos.&lt;br /&gt;- "He borrado la tabla de productos". Dijo con voz cabizbaja.&lt;br /&gt;- "¡¿Que me dices?! Pero, ¿estas en serio?". Preguntamos.&lt;br /&gt;- "Si, si. He ido a hacer una cosa y he lanzado un borrado sin querer".&lt;br /&gt;- "Y ¿Había muchos registros?". Preguntamos.&lt;br /&gt;-  "¡Hombre!, Pues no sé. Pero si el cliente ha estado trabajando durante  toda la semana para meter los productos ... Datos tenía que haber". Dijo  el hombre más pálido todavia.&lt;br /&gt;&lt;br /&gt;El caso es que el tema se tuvo que comunicar al gerente para ver que se hacia.&lt;br /&gt;Finalmente, se decidió comunicarse al cliente. De esto se iba a encargar el propio gerente/responsable.&lt;br /&gt;&lt;br /&gt;- "Ya verás como se arma gorda". Dijo el técnico.&lt;br /&gt;&lt;br /&gt;(A los 5 minutos)&lt;br /&gt;&lt;br /&gt;- Gerente: "Oye! Que ya está comunicado".&lt;br /&gt;- "¿Y que ha dicho?". Preguntó el técnico.&lt;br /&gt;-  Con una cara de no me lo puedo creer el responsable dijo. "A dicho que: 'mejor porque así los vuelve a meter y aprende a utilizar la aplicación' ".&lt;br /&gt;&lt;br /&gt;- "Suspiro de todos con cara de estupefacción".&lt;br /&gt;&lt;br /&gt;---------&lt;br /&gt;Hasta aquí la historia que acabo con final feliz. Sin embargo, lo normal es que una cosa así acabe mal. Por ello sigo las siguientes reglas:&lt;br /&gt;- Siempre que se pueda usar un control de versiones y hacer commits.&lt;br /&gt;- Si puedo, nunca borro nada, siempre renombro la vieja versión o la versión a borrar.&lt;br /&gt;- Si no puedo renombrar me hago una copia de lo que tiene antes de trabajar.&lt;br /&gt;-  Si no puedo copiar porque son muchos datos o no se puedan copiar por diferente indole, miro  lo que voy a ejecutar si esto puede ser catastrófico durante 30-60  segundos antes de lanzarlo.&lt;br /&gt;- Incluso aún siguiendo esas reglas me  he llevado algún susto de pulsar la tecla que no debía sin intención,  aunque nunca he pasado una situción como la de mi compañero (por  suerte). ¡Siempre he tenido una copia de lo borrado accidentalmente!.&lt;br /&gt;&lt;br /&gt;Es muy costoso insertar registros, código o información y muy fácil de borrarla.&lt;br /&gt;&lt;br /&gt;Feliz día del programador :)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://seccperu.org/files/images/vida-programador.preview.jpg"&gt;&lt;img style="cursor: pointer; width: 640px; height: 480px;" src="http://seccperu.org/files/images/vida-programador.preview.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&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/9213580289119732835-3250953217968382705?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/3250953217968382705/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/09/13-de-septiembre-dia-del-programador.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3250953217968382705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3250953217968382705'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/09/13-de-septiembre-dia-del-programador.html' title='13 de septiembre - Dia del programador'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-821330679687493691</id><published>2010-09-06T23:59:00.003+02:00</published><updated>2010-09-07T00:16:00.825+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Obama'/><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Obama bajará los impuestos a las empresas que inviertan en tecnología y ciencia - Opinión</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://radio.capital.com.pe/mirandoalfuturo/files/2009/02/ciencias1.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 229px; height: 203px;" src="http://radio.capital.com.pe/mirandoalfuturo/files/2009/02/ciencias1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Recientemente ha aparecido en meneame la siguiente noticia:&lt;br /&gt;&lt;a href="http://www.abc.es/20100905/economia/obama-empresas-201009051941.html"&gt;http://www.abc.es/20100905/economia/obama-empresas-201009051941.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Aquí hay que analizar dos puntos muy importantes. La primera es la importancia de la ciencia y la segunda en las ayudas económicas a esta.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Como de importante es la ciencia?.&lt;/span&gt;&lt;br /&gt;Hace poco ví un video de porque es importante la ciencia.&lt;br /&gt;&lt;a href="http://amazings.es/2010/08/29/por-que-es-importante-la-ciencia/"&gt;http://amazings.es/2010/08/29/por-que-es-importante-la-ciencia/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Como bién dice, si mirais a vuestro alrededor, todo lo que nos rodea es ciencia. Me parece sorprendente que tengamos acceso a un montón de información, cachivaches electrónicos moviles que muestran mejores gráficos que las videoconsolas de hace 10 años, la capacidad de plasmar en papel un documento que tienes en pantalla con total perfección, etc.&lt;br /&gt;&lt;br /&gt;Realmente me maravillo más cuando miro una memoria MicroSD y pienso la cantidad de cosas que caben allí en esa fina capa que parece que vaya a romperse o salir volando si soplase el viento. Inovar en ciencia es hacer más barato y mejor lo que ya haciamos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Como de importante es apoyar ciencia?.&lt;/span&gt;&lt;br /&gt;Pues aquí está el punto malo y tiene que ver con la condición humana. Apoyar a la ciencia es sumamente importante pero hay que definir ¿que es la ciencia?. Pues la ciencia es hacer pruebas, trastear, sacar conclusiones, equivocarse, mejorar y finalmente obtener un conocimiento que te permite hacer algo más rápido.&lt;br /&gt;&lt;br /&gt;Entonces, ¿que ocurre cuando se suvenciona la ciencia y el estado paga una suvención si trabajas en un proyecto?. Pues que no se consigue nada o poco, principalmente porque las empresas no desean los objetivos si no la suvención. Y es muy habitual encontrarse con chanchullos de todo tipo inventandose proyectos y trabajos inexistentes para obtener cualquier tipo de ingreso económico con el mínimo esfuerzo. Crear ciencia puede ser precisamente pinchar un XXXXX en un palo y decir que has inovado porque has intentando hacer algo diferente.&lt;br /&gt;&lt;br /&gt;Por ello, es interesante la propuesta de Obama. No se trata de pagar suvenciones para que hagan invocación. Se trata de facilitar los costes administrativos o financieros a quienes quieran intentarlo. Pero si el producto es malo, tendrá perdidas de todas formas.&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/9213580289119732835-821330679687493691?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/821330679687493691/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/09/obama-bajara-los-impuestos-las-empresas.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/821330679687493691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/821330679687493691'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/09/obama-bajara-los-impuestos-las-empresas.html' title='Obama bajará los impuestos a las empresas que inviertan en tecnología y ciencia - Opinión'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-2439101065087219268</id><published>2010-09-02T20:33:00.006+02:00</published><updated>2010-09-02T20:47:13.606+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Curiosidad'/><title type='text'>¿Que hará este código? - Parte 1</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://cms7.blogia.com/blogs/v/vi/vin/vinosmexicanos/upload/20080420172741-pregunta.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 172px; height: 181px;" src="http://cms7.blogia.com/blogs/v/vi/vin/vinosmexicanos/upload/20080420172741-pregunta.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Este es un ejemplo que ví hace tiempo que me parece muy curioso.&lt;br /&gt;&lt;br /&gt;Antes de nada, no vale probar la aplicación, debeis adivinarlo y razonar la respuesta. A ver si acertais que haría este algoritmo escrito en java y por qué.&lt;br /&gt;class A{&lt;br /&gt;}&lt;br /&gt;class B extends A{&lt;br /&gt;}&lt;br /&gt;class Principal{&lt;br /&gt;&amp;nbsp;&amp;nbsp;public void ejecutar(A obj){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Clase A");&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;public void ejecutar(B obj){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Clase B");&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;public static void main(String arg[]){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (new Principal()).ejecutar(null);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Las opciones que teneis es:&lt;br /&gt;a) Visualiza: Clase A&lt;br /&gt;b) Visualiza: Clase B&lt;br /&gt;c) No compila.&lt;br /&gt;d) Error en tiempo de ejecución (Exception).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-2439101065087219268?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/2439101065087219268/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/09/que-hara-este-codigo-parte-1.html#comment-form' title='12 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2439101065087219268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2439101065087219268'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/09/que-hara-este-codigo-parte-1.html' title='¿Que hará este código? - Parte 1'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-2242893829005105976</id><published>2010-08-30T23:33:00.013+02:00</published><updated>2010-08-31T00:41:28.068+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vector'/><category scheme='http://www.blogger.com/atom/ns#' term='Matriz'/><title type='text'>¿Hay diferencia entre vector y matriz?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://net.pku.edu.cn/%7Ecourse/cs201/2003/mirrorWebster.cs.ucr.edu/Page_AoAWin/HTML/images/Arrays6.gif"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 306px; height: 246px;" src="http://net.pku.edu.cn/%7Ecourse/cs201/2003/mirrorWebster.cs.ucr.edu/Page_AoAWin/HTML/images/Arrays6.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Una pregunta muy sencilla ... prácticamente de 1º de ... no de ingeniería ... de formación básica. Al menos a mi siempre me han enseñado que el vector son colecciones de elementos de 1 dimensión y matrices las de 2 dimensiones que son las más utilizadas en el tema de juegos de tablero. Más de dos, las suelo llamar vectores de 3,4...N dimensiones, pero no recuerdo como me lo enseñaron.&lt;br /&gt;&lt;br /&gt;El caso es que preparando una documentación he consultado en la wiki y he encontrado esto:&lt;br /&gt;&lt;a href="http://es.wikipedia.org/wiki/Vector_%28inform%C3%A1tica%29"&gt;http://es.wikipedia.org/wiki/Vector_%28inform%C3%A1tica%29&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;En &lt;/span&gt;&lt;a style="font-style: italic;" href="http://es.wikipedia.org/wiki/Programaci%C3%B3n" title="Programación"&gt;programación&lt;/a&gt;&lt;span style="font-style: italic;"&gt;, una &lt;/span&gt;&lt;b style="font-style: italic;"&gt;matriz&lt;/b&gt;&lt;span style="font-style: italic;"&gt; o &lt;/span&gt;&lt;b style="font-style: italic;"&gt;vector&lt;/b&gt;&lt;span style="font-style: italic;"&gt; (llamados en &lt;/span&gt;&lt;a style="font-style: italic;" href="http://es.wikipedia.org/wiki/Idioma_ingl%C3%A9s" title="Idioma inglés"&gt;inglés&lt;/a&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;b style="font-style: italic;"&gt;arrays&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)  es una zona de almacenamiento contiguo, que contiene una serie de  elementos del mismo tipo, los elementos de la matriz. Desde el punto de  vista lógico una matriz se puede ver como un conjunto de elementos  ordenados en fila (o filas y columnas si tuviera dos dimensiones). En  principio, se puede considerar que todas las matrices son de una  dimensión, la dimensión principal, pero los elementos de dicha fila  pueden ser a su vez matrices (un proceso que puede ser &lt;/span&gt;&lt;a style="font-style: italic;" href="http://es.wikipedia.org/wiki/Recursi%C3%B3n" title="Recursión"&gt;recursivo&lt;/a&gt;&lt;span style="font-style: italic;"&gt;),  lo que nos permite hablar de la existencia de matrices  multidimensionales, aunque las más fáciles de imaginar son los de una,  dos y tres dimensiones.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Toma ya! Según esta definición dá igual como se llame. Cuando nos referimos a matrices también estamos hablando de 1 dimensión. Estonces, mientras una gota fria bajaba en mi frente, pensaba ¿Habré estado equivocado durante estos 15 años?&lt;br /&gt;&lt;br /&gt;El caso es que he buscado más información para comprobar si era yo el único que veia algo raro en esto o no y, menos mal, he encontrado gente como yo:&lt;br /&gt;&lt;a href="http://www.foroz.org/foroz/topic5540.html"&gt;http://www.foroz.org/foroz/topic5540.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.forosdelweb.com/f13/diferencia-entre-vector-matriz-420381/"&gt;http://www.forosdelweb.com/f13/diferencia-entre-vector-matriz-420381/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mailxmail.com/curso-aprende-programar/estructuras-datos-arreglos"&gt;http://www.mailxmail.com/curso-aprende-programar/estructuras-datos-arreglos&lt;/a&gt;&lt;br /&gt;&lt;a href="http://elvex.ugr.es/decsai/c/apuntes/vectores.pdf"&gt;http://elvex.ugr.es/decsai/c/apuntes/vectores.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pero también encontré lo contrario:&lt;br /&gt;&lt;a href="http://html.rincondelvago.com/arreglos.html"&gt;http://html.rincondelvago.com/arreglos.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Veamos lo que dice la RAE:&lt;br /&gt;&lt;a href="http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&amp;amp;LEMA=vector"&gt;Vector&lt;/a&gt;: No hay ninguna definición que encaje con colecciones de datos o algebra. ... ¿&lt;span class="eAcep"&gt;Agente que transporta algo de un lugar a otro? ... Un poco rebuscada ¿no?. Con esa definición una variable también podría ser un vector.&lt;/span&gt;&lt;br /&gt;&lt;a href="http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&amp;amp;LEMA=matriz"&gt;Matriz&lt;/a&gt;: &lt;span class="eAcep"&gt;Conjunto de números o símbolos algebraicos colocados en líneas horizontales y verticales y dispuestos en forma de rectángulo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y mi pregunta es ... ¿llamais vosotros a los arrays de 1 dimensión matrices? ¿Y como llamais a los de dos y tres dimensiones?&lt;br /&gt;&lt;br /&gt;Un saludo para los que los llamaron "arreglos" y no se liaron con diferentes términos :P&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/9213580289119732835-2242893829005105976?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/2242893829005105976/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/hay-diferencia-entre-vector-y-matriz.html#comment-form' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2242893829005105976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2242893829005105976'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/hay-diferencia-entre-vector-y-matriz.html' title='¿Hay diferencia entre vector y matriz?'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-9100712027429369436</id><published>2010-08-28T21:12:00.004+02:00</published><updated>2010-08-28T21:18:52.499+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gaga'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='lady'/><title type='text'>Lady Java - Humor</title><content type='html'>Hoy he estado buscando alguna canción para el podcast que tratase de algún tema de programación (para variar un poco). El caso es que he encontrado un video muy bién producido para la javazone 2010. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Así que... poniendo voz de locutor de listas de exitos...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;mode&gt;&lt;/mode&gt;&lt;/div&gt;&lt;div&gt;¡¡¡De los creadores del Trailer de "Java, why not to use .NET" ... el último hit que romperá todas las listas top 10 ... "Lady Java".!!!&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Mk3qkQROb_k?fs=1&amp;amp;hl=es_ES"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Mk3qkQROb_k?fs=1&amp;amp;hl=es_ES" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&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/9213580289119732835-9100712027429369436?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/9100712027429369436/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/lady-java-humor.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/9100712027429369436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/9100712027429369436'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/lady-java-humor.html' title='Lady Java - Humor'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-3883999443891676557</id><published>2010-08-21T10:47:00.006+02:00</published><updated>2010-08-21T12:36:24.949+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='seguridad'/><category scheme='http://www.blogger.com/atom/ns#' term='spanair'/><title type='text'>Caso Spanair, ¿puede el sistema informático tener parte de responsabilidad en el accidente del JK5022?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://fjsanta.es/uploads/lazonegro2.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 128px; height: 159px;" src="http://fjsanta.es/uploads/lazonegro2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Precisamente ayer 20 de agosto, hace dos años en España se sufrió un trágico accidente aereo en la términal T4 de barajas.&lt;br /&gt;&lt;br /&gt;A  día de hoy se sigue el secreto de sumario sobre la investigación de las  causas del accidente, pero los tentaculos de la prensa son muy amplios y  existen filtraciones. Una de las noticias con las que nos levantamos es precisamente un artículo del país:&lt;br /&gt;&lt;a href="http://www.elpais.com/articulo/espana/ordenador/Spanair/anotaba/fallos/aviones/tenia/virus/elpepuesp/20100820elpepinac_11/Tes"&gt;http://www.elpais.com/articulo/espana/ordenador/Spanair/anotaba/fallos/aviones/tenia/virus/elpepuesp/20100820elpepinac_11/Tes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En  este artículo comenta que además de los fallos técnicos del avión, el  sistema informático no estaba disponible por software malicioso. Por ese  motivo los técnicos no pudieron apuntar las incidencias y como  consecuencia no saltó la alarma a control para revisar más profundamente  el problema. A pesar de ser prensa escrita (que muchas veces lanzan  rótulos o noticias partidarias o exageradas) me gustaría comentar que  hoy en la radio han entrevisado al presidente de la asociación de  dagnificados por el accidente JK5022 y ha dicho que eso era secreto de  sumario pero que era una cosa que se había solicitado.&lt;br /&gt;&lt;br /&gt;El famoso  "sistema caido" son causas que nos encontramos cada vez más en puntos de  venta, gestiones o administración. En este caso, ha coincidido con una  tragedia y, por supuesto, hay que revisar absolutamente todo. En ningún  momento se dice que esta sea la principal causa ya que es una cadena de  circunstancias pero si puede ser un eslabón más. Sin embargo si es  interesante analizar como de responsable es el sistema, los técnicos  informáticos o los gerentes y directores.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sistema informático, ¿crítico o no crítico?.&lt;/span&gt;&lt;br /&gt;El  primero de los temas que nos debemos plantear es, ¿es el sistema  informático crítico para la vida de las personas?. Un sistema  informático puede ser muchas cosas, desde una simple extensión de lo que  gestionabamos antes con bolígrafos y papel, hasta sistemas de control  de máquinas. Determinar ese nivel de responsabilidad de cada sistema y poner recursos y presupuesto en función la responsabilidad depende de la parte gestora y dirección. Cuando de un sistema puede ser responsable de vidas  humanas, es necesario que exista una regulación al respecto, ¡pero ojo!,  no vale con decir si has estudiado 3-5 años una ingeniería vales o no.  Los ingenieros informáticos no tenemos control de, por ejemplo, el código que se implanta en las  actualizaciones de Windows o si un runtime o actualización de software  funcionará para todas las operaciones que se hagan. Si pueden evitar y  probar el sistema para minimizar el error pero a diferencia con otros  campos de ingenieria que trabajan con medidas y valores invariables, en  la informática se trabaja sobre el trabajo de otras personas que no  cuantifican su trabajo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;El CLUF: la mayoría de software excluyen de responsabilidad de fallos al proveedor&lt;/span&gt;&lt;br /&gt;En todos los sistemas operativos o  aplicaciones que solemos utilizar en ordenadores personales existe un  CLUF o contrato de uso en el que los proveedores de software excluyen  toda la responsabilidad de fallos del programa o sistema. No se puede certificar un trabajo que funciona sobre otro trabajo en el cual el propio fabricante excluye su responsabilidad en el caso de fallos. Por todo ello,  se utilizan excusas como "fallo informático" para evadirse de la  responsabilidad de fallos o errores. En cuestiones de gestión que lo  único que provoca son retrasos no es tan crítico pero en sistemas en los  que depende la vida de la personas la cosa es más seria.&lt;br /&gt;&lt;br /&gt;Para  que de la informática pueda depender de vidas humanas, hay que tener  sistemas operativos, lenguajes y aplicaciones certificados en seguridad y  disponibilidad. Decir que algo está certificado es decir que va a  funcionar para ciertas condiciones y para ciertas tareas y por supuesto  responsabilizarse de ello en vez de tener un CLUF de exclusión de  resposabilidad. Un sistema multiuso como Windows, Linux o Solaris que  son multiuso no pueden estar certificados asegurando que todo lo que  hacen lo va a hacer bién al 100% bién porque realizan muchas tareas y  existen muchos agentes que pueden tirar abajo el sistema. Por ejemplo,  un sistema operativo sin ninguna aplicación instalada, el propio  hardware lo puede tirar si dá problemas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Que es necesario para sistemas críticos?&lt;/span&gt;&lt;br /&gt;Para sistemas críticos,  nos tenemos que ir a sistemas informáticos especializados (Mainframes  menos conocidos para usuarios) que llevan el hardware y software  incorporado de fábrica y no se permite la realización de actualizaciones  o modificaciones de ficheros por otras aplicaciones ajenas al sistema.  Estos realizan tareas concretas y certifican que estas funcionan en las  tareas en las que están especializadas.&lt;br /&gt;&lt;br /&gt;Por los datos de la  noticia sobre malware, deduzco que el sistema operativo era un Windows   Server por lo que se deduce con esas condiciones parece que optaron por  reducir costes e ir a un sistema más comercial (menos industrial) y más  inestable. Desde el punto de vista de dirección, no era un sistema  crítico para la empresa. Tan solo una herramienta de gestión más.&lt;br /&gt;&lt;br /&gt;En  tal caso, si esa tarea de anotación de incidencias era vital para la  vida de las personas, debía existir un procedimiento alternativo (como  llamar por teléfono, apuntar en una hoja, etc), en el que se pudiese  realizar la misma tarea si ocurriese algo con el sistema informático. En  tal caso es responsabilidad del director de sistemas y/o organización  establecer más alternativas en el caso de que el sistema falle.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Informática es ahorrar, pero volcarte a otro sistema y ahorrar en informática es perder en disponibilidad del sistema.&lt;/span&gt;&lt;br /&gt;En  general la informática dá muchas ventajas. Se ahorran costes porque una  misma persona puede gestionar muchos más datos que escribirlo en papel.  Sin embargo, apuntes que son más serios se deben tener también en  papel.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Gestionar del mismo modo información abundante que sirve a  modo estadístico para optimizar procesos e información seria de  problemas es un error. Ambos pueden ir en el sistema informático, pero  los problemas serios al ser menos abundantes deben tener una gestión  alternativa (en papel o un sistema cerrado y certificado, por ejemplo).&lt;br /&gt;&lt;br /&gt;En  fin, no debemos olvidar que la informática multiuso (PCs personales)  son una evolución del bolígrafo y papel. Al igual que cuando antes nos  fallaba un boligrafo teniamos la alternativa o la precaución de tener  varios y tomar otro, el PC también puede fallar y debemos tener previsto  que hariamos en tal caso.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Resumen:&lt;/span&gt;&lt;br /&gt;Como conclusiones, ha salido a  relucir unos de los problemas que cada vez existen en multitud de  negocios. Que yo haya sufrido personalmente haciendome ir otro día: al  comprar billetes del tren, en el polideportivo, en un juzgado y en el  banco/caja. Existe una gran tendencia a informatizar todo para poder  sacar estadísticas o para centralizar la información, pero muchas veces  nos olvidamos de pensar en que ocurriría si el sistema informático cae. Esto es algo tolerable en negocios pero no en sistemas críticos.&lt;br /&gt;&lt;br /&gt;Por todo ello,  como hemos comentado, si existiese alguna resposabilidad, y la tarea de anotar  estas incidencias sea esencial para proteger la vida de las personas, sería de la parte de dirección de sistemas y/o organización o gerentes por no evaluar este procedimiento de anotación de incidencias como nivel crítico para la vida de las personas, y en tal caso, instalar un servidor que puede ser vulnerable a ataques tan comunes a costa de reducir costes y no tener un procedimiento alternativo en el caso de fallar el sistema.&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/9213580289119732835-3883999443891676557?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/3883999443891676557/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/caso-spanair-puede-el-sistema.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3883999443891676557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3883999443891676557'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/caso-spanair-puede-el-sistema.html' title='Caso Spanair, ¿puede el sistema informático tener parte de responsabilidad en el accidente del JK5022?'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-1693292703360090876</id><published>2010-08-18T22:28:00.005+02:00</published><updated>2010-08-18T22:51:40.536+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inglés'/><category scheme='http://www.blogger.com/atom/ns#' term='español'/><category scheme='http://www.blogger.com/atom/ns#' term='opinión'/><title type='text'>¿Programar en español o en inglés? - Opinión</title><content type='html'>&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px;" src="http://charmedfans.celebfans.org/img/ingles.jpg" border="0" alt="" /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En una ocasión me encontré con un proyecto en el que el responsable había decidido hacer el proyecto en inglés. La cuestión es ¿es ventajoso programar en inglés?. Con programar en inglés me refiero a declarar todos los nombres de las tablas, métodos y ciertas variables totalmente en inglés. A primera vista puede parecer una gran idea. Acostumbrarse a desarrollar en inglés puede facilitarnos a participar en proyectos de software libre que podemos ver en sourceforge, perfeccionar el inglés y quizá en un futuro nuestro proyecto pueda ser desarrollado en el extranjero.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sin embargo, esas ventajas se volvieron totalmente en contra del proyecto por los siguientes motivos.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;Empleo de términos incorrectos&lt;/b&gt;. Aunque sepamos inglés y hayamos estudiado bastantes años, nos podemos encontrar un término asociado a un tipo de negocio que no conozcamos. En ese caso, lo primero que haremos es utilizar un diccionario o utilizar un traductor. Lo más probable es que el término en concreto tenga varios significados y elijas el incorrecto.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;Ampliación el grupo de trabajo&lt;/b&gt;. Un problema siempre ha sido la incorporación de personal en un proyecto. Si utilizas términos en ingles perjudicarás en su incorporación ya que puede que no todo el mundo tiene el mismo nivel de ingles. Lo que ocurrirá es que estas personas intentarán escribir en español y finalmente quedará un batiburrillo de conceptos en inglés y español.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;Poca probabilidad de ser un proyecto internacional&lt;/b&gt;. Salvo que el proyecto tenga un enfoque internacional, pocas veces he visto que un programa se desarrolle mitad en España y mitad en extranjero. No digo que no haya pues si conozco algún caso, pero en general, los proyectos que tienen proyección de desarrollo en España no pasan fronteras (refiriendonos en el desarrollo)&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;Pocas personas hacen software libre&lt;/b&gt;. Quizás una de las ideas que tenias era practicar para familiarizarte en proyectos internacionales o participar en proyectos sourceforge. Sin embargo, existe un porcentaje muy pequeño que estén interesados en participar en este tipo de proyecto. Por ello, lo único que has hecho es hacer algo que te divertía pero al grupo quizá no.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Además de estos problemas, creo que tenemos una ventaja también al escribir en Español frente a desarrolladores en Inglés y es poder detectar en un momento que código es nuestro y que código pertenece a una librería externa.  Por ejemplo, en algún tutorial escrito en inglés a veces he copiado una función que a su vez hacía referencia a otra pero como esta estaba en inglés no sabía que también la tenía que incluir y luego me daba fallos. Sin embargo, cuando leo un tutorial con funciones en español, al ver la llamada ya sé que eso no pertenece a la librería y debe estar en otro sitio o la debo crear. &lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Finalmente, también es perjudicial pensar solo en español pues gran parte de documentación técnica está en inglés. En mi opinión hay que saber inglés para entender la documentación técnica pero en el día a día, donde no todo es perfecto, hay que facilitar las cosas.&lt;/div&gt;&lt;div&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/9213580289119732835-1693292703360090876?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/1693292703360090876/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/programar-en-espanol-o-en-ingles.html#comment-form' title='13 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1693292703360090876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1693292703360090876'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/programar-en-espanol-o-en-ingles.html' title='¿Programar en español o en inglés? - Opinión'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-3472938335100009901</id><published>2010-08-16T11:38:00.005+02:00</published><updated>2010-08-16T11:54:08.829+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='documental'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Documental - Los creadores de Google</title><content type='html'>&lt;img width="200px" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://pc-activo.com.ar/wp-content/uploads/2010/07/google_bot_logo.jpg" border="0" alt="" /&gt;He encontrado por casualidad un documental interesante sobre Google. En este habla de sus inicios, progresión y filosofía de empresa. El documental parece un poco viejo 2004, cuando Google acababa de entrar en bolsa. Aquí teneis el link:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.docuciencia.es/2009/05/los-creadores-de-google/"&gt;http://www.docuciencia.es/2009/05/los-creadores-de-google/&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Como conclusiones del documental, "no hacer algo innovador que puedas hacer es como no regar una jardín" y "siempre se tendrán problemas legales por entrar en campos inexplorados antés".&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-3472938335100009901?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/3472938335100009901/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/documental-los-creadores-de-google.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3472938335100009901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3472938335100009901'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/documental-los-creadores-de-google.html' title='Documental - Los creadores de Google'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4939988581482162522</id><published>2010-08-14T14:29:00.003+02:00</published><updated>2010-08-14T14:49:48.802+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 079 - Noticias Marzo 2010 (a)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/TGaNSIlKlmI/AAAAAAAAAOc/4GAKlmTAmrk/s1600/javahispanopodcast.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 151px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/TGaNSIlKlmI/AAAAAAAAAOc/4GAKlmTAmrk/s320/javahispanopodcast.png" alt="" id="BLOGGER_PHOTO_ID_5505242937187538530" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;" class="entrada"&gt;             &lt;p&gt;Publicado un nuevo número del podcast de javaHispano. En  esta ocasión Abraham Otero y Jorge Rubira hablarán de las noticias  publicadas en el portal. Las noticias que comentaremos:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_net_discontinuara_su_servicio_a_partir_del_21_de_febrero/?menuId=NEWS&amp;amp;onlypath=true"&gt;javaHispano.net discontinuará su servicio a partir del 21 de febrero&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javaspecialists_master_course_viene_a_espana/"&gt;Javaspecialists Master Course viene a España&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/code_bubbles__un_ide_java_completamente_diferente_a_cualquier_otro_ide_que_hayas_visto/?menuId=NEWS"&gt;Code Bubbles, un IDE Java completamente diferente a cualquier otro IDE que hayas visto&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/twitter_se_une_a_facebook_y_digg__y_abandona_mysql_por_cassandra/?menuId=NEWS&amp;amp;onlypath=true"&gt;Twitter se une a Facebook y Digg, y abandona MySQL por Cassandra&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/mongodb__la_mysql_del_nosql/"&gt;MongoDB, la MySQL del NoSQL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/publicado_op4j_1_0beta1/?menuId=NEWS&amp;amp;onlypath=true"&gt;Publicado op4j 1.0-beta1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/steve_jobs_critica_durisimamente_a_adobe/?menuId=NEWS&amp;amp;onlypath=true"&gt;Steve Jobs critica durísimamente a Adobe&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/manifiesto_single_page_interface/?menuId=ANNOUNCEMENTS&amp;amp;onlypath=true"&gt;Manifiesto Single Page Interface&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;A proposito de la entrada, dejamos un link de &lt;a href="http://www.youtube.com/watch?v=MiMKWVqxSls"&gt;la historia de la programación&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__079__noticias_marzo_2010_a/?menuId=JH_PODCASTS"&gt;Pulsar aquí para acceder a la noticia&lt;/a&gt;&lt;br /&gt;        &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__079__noticias_marzo_2010_a/?menuId=JH_PODCASTS"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&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/9213580289119732835-4939988581482162522?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4939988581482162522/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/javahispano-podcast-079-noticias-marzo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4939988581482162522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4939988581482162522'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/javahispano-podcast-079-noticias-marzo.html' title='JavaHispano Podcast - 079 - Noticias Marzo 2010 (a)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/TGaNSIlKlmI/AAAAAAAAAOc/4GAKlmTAmrk/s72-c/javahispanopodcast.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-2357996556822714785</id><published>2010-08-08T20:59:00.004+02:00</published><updated>2010-08-08T21:31:59.269+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinión'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>No temer y reconocer los errores nos hace grandes - Opinión</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.gurusblog.com/jordi/wp/wp-content/uploads/2010/07/google_imag_rara_billytec_com.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 278px; height: 213px;" src="http://www.gurusblog.com/jordi/wp/wp-content/uploads/2010/07/google_imag_rara_billytec_com.jpg" alt="" border="0" /&gt;&lt;/a&gt;Hoy he visto via meneame una noticia que quizá esté relacionada con una frase que alguna vez he dicho. "No hay que temer por equivocarse".  La noticia es:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;a href="http://googlesystem.blogspot.com/2010/08/failure-is-always-option-at-google.html"&gt;Google celebra el fracaso de su producto 'Wave' [ENG]&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Según la teoría de la evolución la celula ha mutado sin ningún tipo de razón, creando otros organismos que deberán luchar a sus nuevas características y que muchos de ellos, practicamente el 99%, se extinguirán por no saber adaptarse. Sin embargo, ese 1% dispone una nueva caracteristica que de manera aleatoria puede mejorar o empeorar la versión anterior y tendrá más o menos éxito en reproducirse. Continuadamente, siguiendo estas mutaciones aleatorias, se ha llegado a crear el ser humano, la fauna y todo nuestro entorno.&lt;br /&gt;&lt;br /&gt;Igualmente, muchos inventos han sido creados a base de realizar experimentos extraños, y a veces involuntarios, que nos han llevado a ver las cosas de otro modo.&lt;br /&gt;&lt;br /&gt;En el mundo empresarial y el mundo de la informática ocurre lo mismo. Entre una escala de grises, existen dos filosofías, hacer inversiones de capital riesgo o hacer inversiones en capital seguro. Haciendo un simil con la biología invertir en capital riesgo sería mutar un negocio a otro que deberá saber adaptarse. Invertir en algo seguro sería como dejar la celula como está.&lt;br /&gt;&lt;br /&gt;Normalmente a los inversionistas les dá igual donde invertir siempre que les dé el mayor beneficio posible. Y realmente eso es una pena. El capital riesgo que muta los negocios puede ser un beneficio para el empresario si sale bién, pero siempre será un beneficio para todos tanto si sale bién como si sale mal. Si sale mal, se habrá visto que otro enfoque diferente y quizá ese enfoque lleve a otras ideas que a su vez lleven otro enfoque. Un caso clarísimo de este es &lt;a href="http://es.wikipedia.org/wiki/Napster"&gt;Napster&lt;/a&gt;. Quizás sin Napster no tendríamos redes p2p o se hubiesen desarrollado de otra forma.&lt;br /&gt;&lt;br /&gt;Pero lo más intigrante de todo es el modo exponencial de esas mutaciones. Actualmente, el coste de desarrollo de una empresa riesgo es bastante más bajo y el nivel de difusión más alto. Las redes sociales hacen que las ideas y los negocios se transmitan más deprisa y en cuestión de pocos años una empresa suba como la espuma y en cuestión de otros pocos años caiga en picado.&lt;br /&gt;&lt;br /&gt;¿Se ha visto alguna vez un negocio que en cuestión de un año pueda tener cientos de miles de usuarios e igualmente se cierre?. Google Wave es un ejemplo. Esta ha sido una mutación que no ha podido sobrevivir al entorno pero que seguramente nos habrá dado ideas de lo que nos gustaba y de lo que no. Por ello, cuando Google dice que ellos celebran también los fallos, transmite la idea de que crear mutaciones en el mercado es bueno para que se generen herramientas y productos más espectaculares todavía.&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/9213580289119732835-2357996556822714785?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/2357996556822714785/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/no-temer-y-reconocer-los-errores-nos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2357996556822714785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2357996556822714785'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/no-temer-y-reconocer-los-errores-nos.html' title='No temer y reconocer los errores nos hace grandes - Opinión'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4889190430457766588</id><published>2010-08-06T00:29:00.003+02:00</published><updated>2010-08-06T00:30:41.735+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='integración continua'/><title type='text'>JavaHispano Podcast - 078 - Introducción a Integración Continua</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/TFs7gl9sIyI/AAAAAAAAAOU/YQ4IhUaNyAA/s1600/javahispanopodcast.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 151px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/TFs7gl9sIyI/AAAAAAAAAOU/YQ4IhUaNyAA/s320/javahispanopodcast.png" alt="" id="BLOGGER_PHOTO_ID_5502056800895902498" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. En  esta ocasión realizaremos una charla que tratará de integración  continua. Nuestros invitados serán Alfredo Casado y Manolo Carrasco  (commiter del proyecto Hudson). Durante la charla hablaremos de que es  Integración Continua y para que sirve dando algunos consejos para  iniciarse con esta tecnología.&lt;/div&gt;&lt;div class="entrada"&gt;&lt;p style="text-align: justify;"&gt;Links de interés:&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://www.dosideas.com/wiki/Integracion_Continua"&gt;Introducción a Integración Continua&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix"&gt;Comparativa de productos disponibles &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://hudson-ci.org/"&gt;Hudson&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://cruisecontrol.sourceforge.net/"&gt;Cruise Control&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://continuum.apache.org/"&gt;Continuum&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.hudson-ci.org/display/HUDSON/Emma+Plugin"&gt;Plugin Emma.&lt;/a&gt; (Autor Manolo Carrasco)&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.hudson-ci.org/display/HUDSON/Performance+Plugin"&gt;Performance Plugin.&lt;/a&gt; (Autor Manolo Carrasco)&lt;/li&gt;&lt;li&gt;&lt;a href="http://manolocarrasco.blogspot.com/2009/12/hudsons-jmeter-plugin-030-released.html"&gt;Usar JMeter&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.agile-spain.com/tema/integracion_continua"&gt;Más enlaces en agile-spain sobre integración continua.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;Blogs:&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://manolocarrasco.blogspot.com/"&gt;Blog de Manolo Carrasco&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.javahispano.org/artesanodeprimera/"&gt;Blog de Alfredo Casado&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;A  proposito de la introducción, ponemos un link a un fragmento del  documental "Historia Secreta de los Hackers Informáticos" donde se puede  ver los inicios de unas 23 empresas de informática, de entre ellas  Apple. Aquí se destaca la importacia de la motivación, la ilusión por la  tecnología y el compartir información para crear este nuevo sector. &lt;a href="http://www.youtube.com/watch?v=KIEr4NY5ItI"&gt;Pulsar aquí para ver el fragmento. &lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__078__introduccion_a_integracion_continua/"&gt;Pulsar aquí para acceder a la noticia.&lt;/a&gt;&lt;/p&gt;&lt;span style="text-decoration: underline;"&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/9213580289119732835-4889190430457766588?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4889190430457766588/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/javahispano-podcast-078-introduccion.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4889190430457766588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4889190430457766588'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/javahispano-podcast-078-introduccion.html' title='JavaHispano Podcast - 078 - Introducción a Integración Continua'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/TFs7gl9sIyI/AAAAAAAAAOU/YQ4IhUaNyAA/s72-c/javahispanopodcast.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4917562865973376558</id><published>2010-08-04T17:57:00.001+02:00</published><updated>2010-08-04T17:59:08.694+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Software libre'/><category scheme='http://www.blogger.com/atom/ns#' term='mujeres'/><title type='text'>JavaHispano Podcast - 077 - Mujeres en comunidades de software libre (Grupo centroamericanas)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/TFmON3jwrHI/AAAAAAAAAOM/lpA_zE_8nn8/s1600/javahispanopodcast.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 151px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/TFmON3jwrHI/AAAAAAAAAOM/lpA_zE_8nn8/s320/javahispanopodcast.png" alt="" id="BLOGGER_PHOTO_ID_5501584788713155698" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión  Abraham Otero entrevistará a Helen Ocampo, Gaby Mejia y Maria del Carmen  Castillo. En esta ocasión hableremos de la participación de las mujeres  en comunidades de software libre. Se tratarán temas como el porcentaje  de profesionales técnicos en ambos sexos y el porcentaje en comunidades.  Adicionalmente, comentarán problemas o circunstancias al participar en  estas comunidades y, finalmente, hablarán del proyecto centroamericanas  en el que se pretende fomentar la participación de la mujer en estas  comunidades.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Links de interés:&lt;br /&gt;&lt;br /&gt;Mujeres Centroamericanas por el Software Libre&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://centroamericanas.piensalibre.org/"&gt;Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://piensalibre.org/mailman/listinfo/centroamericanas_piensalibre.org"&gt;Suscribete a la lista&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://identi.ca/group/centroamericanas"&gt;Identi.ca &lt;/a&gt;&lt;/li&gt;&lt;li&gt;IRC #centroamericanas irc.freenode.com&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Otras iniciativas:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://www.mujeresenred.net/software_libre/indexsl.html"&gt;Mujeres en Red por el Software Libre&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linuxchix.org/"&gt;LinuxChix &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ubuntu-women.com/"&gt;Ubuntu Women&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://women.debian.org/"&gt;Debian Women&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://fedoraproject.org/wiki/Women"&gt;Fedora Women&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://live.gnome.org/GnomeWomen"&gt;Gnome Women &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://mail-archives.apache.org/mod_mbox/www-women"&gt;Apache Women &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.genderchangers.org/"&gt;Genderchanges&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gnurias.org.br/"&gt;Gnurias&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://women.kde.org/"&gt;KDE Women&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://www.javahispano.org/podcasts/077_JavahispanoPodcast_Mujeres.ogg"&gt;Audio en formato OGG.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finalmente,  a proposito de la entrada ponemos un link a una tira de humor sobre el  tiempo de desarrollo de un cambio en software. &lt;a href="http://2.bp.blogspot.com/_yaUmgkS5P-w/S4G1AXspWqI/AAAAAAAADYo/mHev9Sj3-tg/s1600-h/135.gif"&gt;Pulsar aquí para acceder.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__077__mujeres_en_comunidades_de_software_libre_grupo_centroamericanas/"&gt;Pulsar aquí para acceder a la noticia&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-4917562865973376558?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4917562865973376558/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/javahispano-podcast-077-mujeres-en.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4917562865973376558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4917562865973376558'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/javahispano-podcast-077-mujeres-en.html' title='JavaHispano Podcast - 077 - Mujeres en comunidades de software libre (Grupo centroamericanas)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/TFmON3jwrHI/AAAAAAAAAOM/lpA_zE_8nn8/s72-c/javahispanopodcast.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5857781311465011310</id><published>2010-08-02T19:00:00.002+02:00</published><updated>2010-08-02T19:02:51.079+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><title type='text'>JavaHispano Podcast - 076 - Programación de Videojuegos OnLine (Entrevista a Andrés Sahún)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/TFb55s0kIlI/AAAAAAAAAOE/eEDc2-tWucQ/s1600/Javahispano.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 67px; height: 84px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/TFb55s0kIlI/AAAAAAAAAOE/eEDc2-tWucQ/s200/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5500858764559131218" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. En  el número 62 hicimos un podcast sobre programación de videojuegos de  manera general. En esta ocasión entrevistaremos a Andrés Sahún que nos  hablará del desarrollo de videojuegos online en base a su experiencia.  Andrés es participe de la creación de un videojuego online que dispone  de una comunidad y ganó un concurso de emprendedores en un canal de  televisión local. A partir de ahí, creo la empresa y se dedica a  gestionar dicho videojuego así como una arquitectura para videojuegos  genérica.&lt;div style="text-align: justify;" class="entrada"&gt;&lt;p&gt;La entrevista estará dividida en varias partes. En la  primera parte Andrés nos hablará del videojuego y como se le ocurrió la  idea. En la segunda parte pasaremos a la parte técnica y pasaremos a  hablar a como está desarrollado, como se ha realizado el diseño y que  problemas técnicos tuvieron en la historia del mantenimiento del  software. Por último, hablaremos de otras circunstancias como las  consecuencias de participar y ganar el concurso, la creación de la  empresa y la atención a la comunidad.&lt;/p&gt;&lt;p&gt;Links de interés:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.shogunsfate.com/"&gt;Web del juego Shogun's Fate&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/user/TheUnforgivenIV#p/a/u/0/4MBmkCi8rzY"&gt;Video promocional&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=A6Hr1fVHO4k&amp;amp;feature=PlayList&amp;amp;p=C1FE1B7E9F4152C9&amp;amp;index=0&amp;amp;playnext=1"&gt;Concurso de emprendedores en televisión local&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=Fs6q6i4HSbo"&gt;(Spot en el concurso) &lt;/a&gt;&lt;/li&gt;&lt;li&gt;Medios de comunicación: &lt;a href="http://www.elperiodicodearagon.com/noticias/noticia.asp?pkid=469635"&gt;El Periodico de Aragón&lt;/a&gt;, &lt;a href="http://www.emprender-en-aragon.es/medias/pdf/shogunsfate.pdf"&gt;20 minutos&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=ML6MRX0x0SE"&gt;JEI Startup&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.hiddenstation.com/"&gt;La empresa creada: HiddenStation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__062__programacion_de_videojuegos/?utm_source=feed&amp;amp;utm_medium=feed&amp;amp;utm_campaign=podcasts"&gt;Podcast 62 sobre programación de videojuegos.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__076__programacion_de_videojuegos_online_entrevista_a_andres_sahun/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+JHPodcasts+%28Podcasts+javahispano.org%29&amp;amp;utm_content=FeedBurner+user+view"&gt;Pulsar aquí para acceder a la noticia&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.shogunsfate.com/img/ES/registrate/logoSup.gif"&gt;&lt;img style="cursor: pointer; width: 364px; height: 138px;" src="http://www.shogunsfate.com/img/ES/registrate/logoSup.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;      &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-5857781311465011310?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5857781311465011310/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/javahispano-podcast-076-programacion-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5857781311465011310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5857781311465011310'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/08/javahispano-podcast-076-programacion-de.html' title='JavaHispano Podcast - 076 - Programación de Videojuegos OnLine (Entrevista a Andrés Sahún)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/TFb55s0kIlI/AAAAAAAAAOE/eEDc2-tWucQ/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-7707947446816428626</id><published>2010-07-31T14:23:00.004+02:00</published><updated>2010-07-31T15:19:06.871+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Posicionamiento SEO'/><title type='text'>Black Hat SEO</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.linuxlatinamerica.com/wp-content/uploads/2010/04/seo.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 265px; height: 124px;" src="http://blog.linuxlatinamerica.com/wp-content/uploads/2010/04/seo.png" alt="" border="0" /&gt;&lt;/a&gt;Hoy via meneame he visto una noticia curiosa.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.adseok.com/google/google-los-seos-son-mas-listos-que-nosotros/"&gt;http://www.adseok.com/google/google-los-seos-son-mas-listos-que-nosotros/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Buscando un poco he descubierto más técnicas de SEO y he econtrado algunas interesantes.&lt;br /&gt;&lt;a href="http://www.seotalk.es/black-hat-seo/"&gt;http://www.seotalk.es/black-hat-seo/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Veamos algunas:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Cloaking&lt;/span&gt;: Se trata de detectar mediante la IP u otro procedimiento es de un robot y devolver otro resultado mediante código.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Spamming Keywords&lt;/span&gt;: Se trata de devolver un montón de palabras que deseas que sean indexadas. Comentar que se se está trabajando para evitar esto comprobando la densidad del texto y creando analizadores sintácticos. Para analizar la densidad de tu portal hay aquí una web interesante: &lt;a href="http://www.keyworddensity.com/" target="_blank"&gt;Keyword Density&lt;/a&gt;. Según el artículo se recomienda que la densidad esté entre el 3% y 15%&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Texto Oculto:&lt;/span&gt; Técnica utilizada hace tiempo que consiste en volcar contenido no visible. Actualmente, los motores reconocen esto.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Páginas Traseras&lt;/span&gt;: El objetivo es crear mucho contenido facilmente aunque no de la propiedad del autor de la página. Para ello se crean páginas de forma dinámica de contenido que no está albergado, leido por ejemplo, a través de un feed o de manera aleatoria.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Contenido Duplicado&lt;/span&gt;: Se trata de duplicar el contenido de las páginas. No sé muy bién cual es la diferencia entre esta y la anterior :\&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Cambio de Código&lt;/span&gt;: Se trata de iniciar la página con unicamente texto plano y cuando ya está posicionada cambiarla con lo que deseas mostrar. Esta técnica es pan para hoy y hambre para mañana pues al cambiar el texto volverá a ser penalizada.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Granja de Enlaces&lt;/span&gt;: Una característica del SEO son los links. Si yo hago link a otra página o viceversa ambas tendrán más puntuación. Pues bién, dado que es barato tener un enlace, una estrategia que crearme una granja de enlaces de manera que realizaría links entre estas. Existen casos claros de este tipo de estrategias. Sobre todo, se me ha dado el caso que cuando vas a registrar un dominio ves que está ocupado por otra empresa que unicamente tiene links. Con esto consiguen dos objetivos. Por una parte se apropian del dominio y luego lo revenden más caro si otra empresa está interesada en comprarlo. Por otra parte, utilizan estos dominios no "utilizados" para posicionar otras web que si lo tienen.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;En mi opinión, el SEO es inevitable. La única forma de conocer si un  contenido es bueno o no depende de las visitas usuarios. Sin embargo, en  internet no puedes saber si hablas con un usuario, un blogger, una  empresa, un robot o un perro. Los robots son capaces de hacer los  trabajos lógicos 1000 veces más rápidos. Muchas veces, no comprendo el  motivo de que no utilicemos más robots para todas nuestras labores  (tanto labores del hogar como con el ordenador).&lt;br /&gt;&lt;br /&gt;Lo curioso de estas es que son una estafa para los usuarios cuando hacen click pensando que van a encontrar algo. Se  trata de no solo generar contenido con el objetivo de posicionarse en  vez de ofrecer el contenido, si no de automátizar esa generación de  contenido. Adicionalmente, también hay una en la que intenta detectar los robots de los motores para cambiar el comportamiento (aunque dudo mucho que esta última pueda durar mucho tiempo). En fin, el SEO es una gran demostración de que el mejor modo de trabajar con máquinas es conocer como funcionan. Un conocimiento que se ha convertido en negocio.&lt;br /&gt;&lt;br /&gt;Pues nada, si quereis saber más de SEO, podeis también escuchar &lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__048__posicionamiento_seo_entrevista_a_ivan_garcia/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+JHPodcasts+%28Podcasts+javahispano.org%29&amp;amp;utm_content=FeedBurner+user+view"&gt;el podcast en el que entrevistamos a Ivan Garcia para hablar de SEO&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/9213580289119732835-7707947446816428626?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/7707947446816428626/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/black-hat-seo.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7707947446816428626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7707947446816428626'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/black-hat-seo.html' title='Black Hat SEO'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5506542029218056845</id><published>2010-07-31T01:46:00.002+02:00</published><updated>2010-07-31T01:47:31.063+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>JavaHispano Podcast - 075 - Ganador de Android Developer Challenge (Entrevista a Juan Carlos Viota)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/TFNkcdg3woI/AAAAAAAAAN8/ofvveFQ4dPI/s1600/Javahispano.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 67px; height: 84px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/TFNkcdg3woI/AAAAAAAAAN8/ofvveFQ4dPI/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5499850010071122562" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;" class="entrada"&gt;&lt;p&gt;Publicado un nuevo número del podcast de javaHispano. En  esta ocasión entrevistaremos a Juan Carlos Viota ganador del concurso  Android Developer Challenge organizado por Google. &lt;/p&gt;&lt;p&gt;Durante la  entrevista hablaremos de la aplicación ganadora Sweet Dream y Juan  Carlos nos explicará vivió las diferentes etapas desde la idea de crear  la aplicación, las fases del concurso y en qué le ha repercutido haber  ganado el concurso. &lt;/p&gt;&lt;p&gt;Adiccionalmente hablaremos que aceptación  tiene Android en el mundo empresarial y como de conocido es Android a  nivel de usuario.&lt;/p&gt;&lt;p&gt;Finalmente hablaremos de Android en general  comentando que ventajas tiene aprender Android y, por otra parte, que  inconvenientes existen actualmente desarrollar con Android.&lt;/p&gt;&lt;p&gt;Links de interés:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.inizziativa.com/blog/sweetdreams-ganadora-absoluta-y-por-categoria-del-adc2/"&gt;La aplicación Sweet Dreams.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.androidsis.com/sweet-dreams-ganadora-adc-ii-ya-en-android-market/"&gt;Como configurar Sweet Dreams&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.inizziativa.com/"&gt;La empresa Inizziativa&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/intl/es-ES/android/adc/gallery_winners.html"&gt;Galería de ganadores&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.elpais.com/articulo/portada/Google/premia/malagueno/aplicacion/Android/elpepisupcib/20100114elpcibpor_5/Tes"&gt;Artículo publicado en El País.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.guadalinfo.es/2010/01/19/esperamos-llegar-a-las-100000-descargas-de-nuestra-aplicacion-antes-de-final-de-ano/"&gt;Entrevista en Guadalinfo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.facebook.com/video/video.php?v=1111829934510&amp;amp;ref=mf"&gt;Entrevista en Radio Euskadi Digital&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.facebook.com/video/video.php?v=1108142762333&amp;amp;ref=mf"&gt;Entrevista en RNE&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=irxg6s8Tmk0&amp;amp;feature=player_embedded"&gt;Video presentación GolfPlay&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/entrevista_a_juan_carlos_viota_garrido__finalista_del_android_challenge_por_golfplay/"&gt;Entrevista en el 2008 sobre GolfPlay&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Al  margen del contenido principal del podcast, a proposito de la entrada,  dejamos un link a un número del podcast de Economia for Dummies donde se  explica que trabajar más horas no es producir más comparando la  economía española con otras economías como EEUU o Japón. Los datos que  dá el autor son muy interesantes para el sector del desarrollo de  software y tecnología. &lt;a href="http://economiafordummies.com/economia-for-dummies-026/"&gt;Pulsar aquí para ir al número.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__075__ganador_de_android_developer_challenge_entrevista_a_juan_carlos_viota_/"&gt;Pulsar aquí para acceder al podcast&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/9213580289119732835-5506542029218056845?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5506542029218056845/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/javahispano-podcast-075-ganador-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5506542029218056845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5506542029218056845'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/javahispano-podcast-075-ganador-de.html' title='JavaHispano Podcast - 075 - Ganador de Android Developer Challenge (Entrevista a Juan Carlos Viota)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/TFNkcdg3woI/AAAAAAAAAN8/ofvveFQ4dPI/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-379291154820602887</id><published>2010-07-28T12:30:00.002+02:00</published><updated>2010-07-28T12:31:47.707+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>JavaHispano Podcast - 074 - Impresiones del WebCast de Larry Ellison</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/TFAG2TunZFI/AAAAAAAAAN0/fUianqkFaes/s1600/Javahispano.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 67px; height: 84px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/TFAG2TunZFI/AAAAAAAAAN0/fUianqkFaes/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5498902675097871442" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. El pasado 27 de  enero Larry Ellison realizó una conferencia explicando que se va a hacer  con la tecnología de SUN. En este número Abraham Otero, David Bonilla y  Erick Camacho darán sus primeras impresiones sobre lo que se comentó en  este WebCast.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Links de interés:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/impresiones_del_webcast_de_oracle/"&gt;Noticia relacionada.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=ylNgcD2Ay6M&amp;amp;NR=1"&gt;Resumen del WebCast&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.oracle.com/webapps/events/EventsDetail.jsp?p_eventId=108481"&gt;URL del WebCast&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Al  margen del contenido principal, a proposito de la entrada, dejamos  también el link del video de las consecuencias de realizar un trabajo no  homogeneo haciendo un simil con la programación. &lt;a href="http://www.youtube.com/watch?v=l8xTzZUogD4&amp;amp;feature=PlayList&amp;amp;p=9BC78D44836C76AD&amp;amp;playnext=1&amp;amp;playnext_from=PL&amp;amp;index=55"&gt;Video de construcción.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__074__impresiones_del_webcast_de_larry_ellison/"&gt;Pulsar aquí para acceder al podcast&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-379291154820602887?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/379291154820602887/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/javahispano-podcast-074-impresiones-del.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/379291154820602887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/379291154820602887'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/javahispano-podcast-074-impresiones-del.html' title='JavaHispano Podcast - 074 - Impresiones del WebCast de Larry Ellison'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/TFAG2TunZFI/AAAAAAAAAN0/fUianqkFaes/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-1122938604309611397</id><published>2010-07-26T01:16:00.006+02:00</published><updated>2010-07-26T01:51:31.795+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Sonic'/><category scheme='http://www.blogger.com/atom/ns#' term='Software libre'/><title type='text'>Open Sonic - Desarrollo de dos fases (versión beta)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://opensnc.sourceforge.net/forum/img/logo.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 320px; height: 190px;" src="http://opensnc.sourceforge.net/forum/img/logo.png" alt="" border="0" /&gt;&lt;/a&gt;Al iniciar el año dos de los retos que me propuse fué retomar C a fondo (el actual, no del viejo Turbo C Borland) y participar en un proyecto de software libre. Pues bién, encontré un proyecto el año pasado que me llamó mucho la atención. Era una versión libre del Sonic. Aunque los gráficos del Sonic tienen copyright, (no os recomiendo distribuirlo aunque sea 'open'), el motor que lee los sprites y los anima, si lo es (al menos eso creo) y tengo que decir que está bastante bién diseñado ya que toda la animación, gráficos, musica, etc se realizan por configuración en ficheros txt. Un aplauso a los desarrolladores del proyecto.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Como siempre he sido un fan del Sonic, he decidido participar en este proyecto. La primera fase ha sido desarrollar dos fases para el juego. De momento están en versión beta y no sé si decorarlo más porque han quedado un tanto simples. Sin embargo, el desarrollo de las fases es muy interesante porque cada personaje solo pueden ir por un sitio y estos deben combinar los items que se encuentran para resolver la fase. La característica de Tails es que puede volar y puede levantar otro personaje, la de Knuckles es que puede trepar por las paredes y la de Sonic es que puede solo él puede traspasar un rayo azul que hay en el escenario.&lt;br /&gt;&lt;br /&gt;Para desarrollar una fase hay que crear los siguientes ficheros:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;En el directorio &lt;span style="font-weight: bold;"&gt;musics &lt;/span&gt;almacenar un fichero de audio con la canción de fondo. Comentar que la canción la he hecho con OpenMTP que es un tracker libre. Aquí podeis poner cualquier fichero .ogg por lo que podeis realizarlo con cualquier programa de edición de audio.&lt;/li&gt;&lt;li&gt;En el directorio &lt;span style="font-weight: bold;"&gt;images&lt;/span&gt; hay que almacenar los bloques y los fondos de pantalla (background). Puedes poner todo en un mismo fichero y luego referenciar las imagenes con (x1,y1)-(x2,y2).&lt;/li&gt;&lt;li&gt;En el directorio &lt;span style="font-weight: bold;"&gt;themes &lt;/span&gt;hay que crear dos ficheros. Uno con extensión .bg donde se indica que imagen será la de fondo. Puedes poner varias imagenes si quieres que tenga diferentes planos de scroll. El otro fichero tiene extensión .brk donde se asigna un número y un comportamiento a una imagen (x1,y1)-(x2,y2) del fichero de imagenes.&lt;/li&gt;&lt;li&gt;En el directorio &lt;span style="font-weight: bold;"&gt;levels &lt;/span&gt;hay que crear los niveles de manera que se indican las posiciones donde están los bloques, items o sprites (enemigos). No hace falta editar el fichero directamente ya que en cualquier momento de la partida pulsando F12, se ejecuta un editor donde permite añadir y borrar elementos. Para volver a la anterior ventana (sin guardar) pulsar otra vez F12 o si te han gustado CtrlIzq+F12. Si estás más interesado, hay en el foro unas instrucciones de las teclas posibles para editar pantallas.&lt;/li&gt;&lt;li&gt;Finalmente, como algo opcional, puedes agrupar diferentes niveles en un juego. Esto se realiza creando un fichero en el directorio &lt;span style="font-weight: bold;"&gt;quests&lt;/span&gt;. Se puede jugar a los niveles sin poner este fichero pero para jugar a él tendrás que ir a la parte de opciones.&lt;/li&gt;&lt;/ul&gt;¿Y que hay que hacer para probarlo?&lt;br /&gt;Para probar Open Sonic tan solo hay que descargarlo de la página oficial. &lt;a href="http://opensnc.sourceforge.net/"&gt;http://opensnc.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Q7us7wM14As&amp;amp;hl=es_ES&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Q7us7wM14As&amp;amp;hl=es_ES&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Aquí tendreis tanto los binarios como el código fuente. Una vez lo hayais hecho arrancar, podeis jugar partidas a las fases que vienen por defecto. Si quereis añadir más fases tan solo tendreis que descomprimir el fichero en el directorio donde esté ubicado de manera que encaje los ficheros .lev en el directorio levels, los .ogg o .it en el directorio musics, etc.&lt;br /&gt;&lt;br /&gt;Aquí teneis las fases que he diseñado llamada Puzzle Zone.&lt;br /&gt;&lt;a href="http://www.mediafire.com/?5in6xzirv5haah7"&gt;Pulsar aquí para descargar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por último, esta es una versión beta y espero ir dando acabados en futuras entregas. Por ello, se aceptan sugerencias para mejorarlo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-1122938604309611397?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/1122938604309611397/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/open-sonic-desarrollo-de-dos-fases.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1122938604309611397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1122938604309611397'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/open-sonic-desarrollo-de-dos-fases.html' title='Open Sonic - Desarrollo de dos fases (versión beta)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6980225988118805853</id><published>2010-07-22T00:01:00.006+02:00</published><updated>2010-07-22T01:07:44.464+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='Friky'/><category scheme='http://www.blogger.com/atom/ns#' term='Animaciones'/><title type='text'>Software Life - Un storyboard friky sin acabar</title><content type='html'>&lt;div style="text-align: justify;"&gt;Aquí la mayor frikada nunca jamás acabada (por el bién de todos)&lt;br /&gt;&lt;br /&gt;El año pasado un compañero y yo empezamos a maquinar una película/serie (9 capítulos de 10 minutos) basada en personificar programas como Firefox, Explorer, Word, Linux, Mysql, etc. crear un guión y experimentar con programas 3D para la realización de las animaciones. Sin embargo, hay una gran diferencia entre conocer el camino y andarlo. Todo con constancia y tiempo es posible pero nos faltó ambos.&lt;br /&gt;&lt;br /&gt;Una tarea que realicé fue la de crear un storyboard de como podía quedar, con voces, música y si tendría ritmo la película o no. Trás acabar las dos primeras escenas, se fué dejando y no se acabó. Recientemente, haciendo limpieza del HD las encontré. Las dos escenas son. Si tienes la osadía de pulsar play, comentar que son storyboard, nada más :P):&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/DYl30DgxsoE&amp;amp;hl=es&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/DYl30DgxsoE&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/neM-0zU4GYE&amp;amp;hl=es&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/neM-0zU4GYE&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;El guión también tenía cierta gracia ya que se trataba de que el malo "Explorer", rapta a la novia de la raza "Firefox" para ir al pasado y contruir un Explorer 3.0 básado en copiar a la "chica Firefox". El protagonista chico Firefox, que curiosamente su empresa había sido recientemente comprada por una empresa de software privado, viaja al pasado. Comentar que esto lo hicimos antes de la compra de Oracle sobre SUN :P. Trás unas aventuras, conociendo a otros programas, llega al pasado y consigue rescatar a la novia en el último momento (¡como no!). Es más, convence a la generación del pasado demostrando que el software libre tiene más ventajas que el privativo. Cuando vuelve al futuro todo ha cambiado y no existe el software privativo y su empresa sigue siendo de software libre. (¡A que es una frikada?!!)&lt;br /&gt;&lt;br /&gt;Por último, un respeto a los creadores de peliculas de Pixar. La verdad es que cuando nos pusimos con las herramientas, vimos que era más complicado de lo que parece y hace falta un talento especial.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;PD: En la parte1 una mención especial a buttercat, mitad gato, mitad tostada de mantequilla. Si no lo conoceis hay mucha información de él. &lt;a href="http://www.kafelog.com/2009/03/podcast-047/"&gt;Pero lo mejor podeis escuchar en el 47 de Kafelog (minuto 18)&lt;/a&gt;. &lt;a href="http://vimeo.com/1873796"&gt;Y aquí una demostración cientifica del buttercat-o-matic :P&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-6980225988118805853?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6980225988118805853/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/software-life-un-storyboard-friky-sin.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6980225988118805853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6980225988118805853'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/software-life-un-storyboard-friky-sin.html' title='Software Life - Un storyboard friky sin acabar'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-197879985108592082</id><published>2010-07-20T11:38:00.002+02:00</published><updated>2010-07-20T11:41:32.313+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 073 - Programación con GWT (Google Web Toolkit)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/TEVvL8Kg_qI/AAAAAAAAANs/QVHRnHxpaoE/s1600/Javahispano.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 67px; height: 84px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/TEVvL8Kg_qI/AAAAAAAAANs/QVHRnHxpaoE/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5495921171195035298" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión  hablaremos de GWT (Google Web Toolkit), un conjunto de herramientas  para desarrollo de aplicaciones web RIA. En este podcast participarán  Alfredo Casado, y nuestro invitado especial Manuel Carrasco. Manuel ha  creado herramientas como GWTChismes y GWTUpload, es commiter de la  fundación Apache a través del proyecto Hupa y es commiter de Hudson.&lt;p style="text-align: justify;"&gt;Durante  la charla explicaremos para que sirve GWT y en que ocasiones es  recomendable utilizarlo, hablaremos de prácticas interesantes como la  depuración o el testing y, finalmente, hablaremos de los proyectos "open  source" en los que Manuel participa. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Links de herramientas y  librerías.&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://code.google.com/intl/es-ES/webtoolkit/"&gt;GWT (Google Web  Toolkit)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/intl/es-ES/webtoolkit/examples/"&gt;Ejemplos  oficiales de &lt;span class="il"&gt;GWT&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="il"&gt;&lt;a href="http://manolocarrasco.blogspot.com/"&gt;Blog de Manuel Carrasco&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="il"&gt;&lt;a href="http://code.google.com/p/gwtchismes/"&gt;GWTChismes&lt;/a&gt;  y &lt;a href="http://code.google.com/p/gwtupload/"&gt;GWTUpload&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/gwt-mosaic/"&gt;Mosaic, Una librería de  widgets ricos para &lt;span class="il"&gt;GWT&lt;/span&gt; (licencia Apache)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://mosaic.arkasoft.com/gwt-mosaic-current/Showcase.html"&gt;Demo  de Mosaic&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://vaadin.com/"&gt;Vaadin, Un framework  completo para hace RIA basado en &lt;span class="il"&gt;GWT&lt;/span&gt; (licencia  Apache)&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://demo.vaadin.com/sampler"&gt;Demo  de Vaadin&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.extjs.com/products/gxt/"&gt;ext-GWT, Una libreria similar a  ext, pero hecha en &lt;span class="il"&gt;GWT&lt;/span&gt; (licencia comercial)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.extjs.com/examples/explorer.html#overview"&gt;Demo de  ext-GWT&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gwt-ext.com/"&gt;GWT-Ext, Una  envoltorio GWT para la libreria ext (LGPLv3)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gwt-ext.com/demo/"&gt;Demo de GWT-Ext&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/smartgwt/"&gt;Smart-&lt;span class="il"&gt;GWT&lt;/span&gt;,  Un wraper &lt;span class="il"&gt;GWT&lt;/span&gt; para la libreria de widgets  smartclient (licencia GLGPL)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.smartclient.com/smartgwt/showcase/"&gt;Demo de Smart-GWT&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sonar.codehaus.org/"&gt;Sonar, Una aplicación para ver la  calidad de código java, hecha con&lt;span class="il"&gt; GWT&lt;/span&gt; +  jRuby/Rails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://hupa.alcala.org/hupa"&gt;Apache-Hupa  Demo, Version BETA desplegada y configurada para utilizar cualquier  cuenta Imap en Gmail.&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;Links de presentaciones y  artículos&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://code.google.com/intl/es-ES/events/io/2009/sessions/GoogleWebToolkitBestPractices.html"&gt;Presentación  de Ray Ryan en Google IO donde describe el patron MVP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/intl/es-ES/events/io/2009/sessions/ProgressivelyEnhanceAjaxApps.html"&gt;Presentación  de Ray Cromwell hablando de GQuery para hacer SEO (Al final agracede a  Manuel Carrasco su contribucion a gquery)&lt;/a&gt;, &lt;a href="http://pds12.egloos.com/pds/200906/09/15/Th_0115_ProgressivelyEnhanceAJAXApplicationswithGoogleWebToolkitandGQuery.pdf"&gt;Descarga  de PDF&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/gwtchismes/wiki/Tutorial_ExportingGwtLibrariesToJavascript_es"&gt;Artículo  en español de cómo usar &lt;span class="il"&gt;GWT&lt;/span&gt; para generar  librerias JS normales (escrito por Manuel Carrasco)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://timepedia.blogspot.com/2009/12/gwt-20-so-good-its-ridiculous.html"&gt;Post  de las mejoras que aporta &lt;span class="il"&gt;gwt&lt;/span&gt; 2.0&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__073__programacion_con_gwt_google_web_toolkit/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+JHPodcasts+%28Podcasts+javahispano.org%29&amp;amp;utm_content=FeedBurner+user+view"&gt;Pulsar aquí para acceder a la noticia.&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/9213580289119732835-197879985108592082?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/197879985108592082/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/javahispano-podcast-073-programacion.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/197879985108592082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/197879985108592082'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/07/javahispano-podcast-073-programacion.html' title='JavaHispano Podcast - 073 - Programación con GWT (Google Web Toolkit)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/TEVvL8Kg_qI/AAAAAAAAANs/QVHRnHxpaoE/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4792108299494039610</id><published>2010-06-30T22:40:00.008+02:00</published><updated>2010-07-01T09:22:38.974+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='proyecto'/><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><category scheme='http://www.blogger.com/atom/ns#' term='carrera'/><title type='text'>Proyecto final de carrera</title><content type='html'>&lt;div style="text-align: justify;"&gt;Reorganizando los CDs he encontrado por casualidad mi proyecto final de carrera de hace 9 años. Este proyecto hoy mismo no tendría ningún valor comercial de los cambios que han habido pero quizá si tenga un valor académico o como simple curiosidad. Por ello, he decidido en subirlo aquí para compartirlo con quien esté interesado. Comentar de que hay partes de la documentación que dan pena pues fueron un simple tramite y la versión que utilice era la más actual de la época JDK 1.1.6. Creo que aún no habían sacado la JDK 1.2.&lt;br /&gt;&lt;br /&gt;El proyecto consiste en una aplicación cliente-servidor para la creación de juegos online. Desde la aplicación servidor se disponen de huecos en los cuales el administrador puede poner en los huecos el juego que queria. En el ejemplo se disponía de dos juegos pero la idea era que era ampliable a los juegos que se quisieran siempre que derivasen de una clase base que tenía precisamente la posibilidad de ser añadido a cualquier sala y ser gestionado.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/TCuvrT8ihuI/AAAAAAAAANU/sDKcgAPAjRc/s1600/ASala.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 333px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/TCuvrT8ihuI/AAAAAAAAANU/sDKcgAPAjRc/s400/ASala.PNG" alt="" id="BLOGGER_PHOTO_ID_5488673729504511714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Una vez creadas las salas, las aplicaciones clientes, pueden conectarse al servidor y una vez dentro chatear o entrar a una sala a jugar con otros jugadores. Los juegos disponibles son el "siete y medio" y el "tres en raya". Comentar que el código fuente está muy mal organizado y seguramente no sigue ciertos patrones, no hay un uso de packages correctos (tal y como se realiza ahora) y en ocasiones se cuelga el sistema. Aquí estaba en mis primeros contactos con java, pero está bién darle un ojo como curiosidad.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/TCuv1UVB46I/AAAAAAAAANc/ETFuy1QlqKo/s1600/ATresEnRaya.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 249px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/TCuv1UVB46I/AAAAAAAAANc/ETFuy1QlqKo/s400/ATresEnRaya.PNG" alt="" id="BLOGGER_PHOTO_ID_5488673901405922210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/TCuwGHdEb0I/AAAAAAAAANk/KXNsKK0pZbw/s1600/ASieteYMedio.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/TCuwGHdEb0I/AAAAAAAAANk/KXNsKK0pZbw/s400/ASieteYMedio.PNG" alt="" id="BLOGGER_PHOTO_ID_5488674190007758658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En lo que respecta a la documentación teníamos que entregar:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Pliegue de condiciones: Condiciones contractuales del proyecto.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Prespuesto: ¡Curioso! La regla que teníamos que llevar era 40% de Analisis-Diseño, 20% de desarrollo y 40% de pruebas. Al final puse 6€/hora la hora en pruebas porque si no se me iba de presupuesto. ¿A quién tendríamos explotado cobrando menos de 6€/hora?. Creo que me pase de poco, pero si llego a saber como estaban las cosas le pongo el logo de Accenture y le clavo 100€/h de pruebas :P&lt;/li&gt;&lt;li&gt;Memoria: Un gran tocho de todo lo que se me ha pasado por la cabeza y si lo he decidido usar por qué lo he decidio usar y si no lo he decidido usar por qué no. Y aunque no se me haya pasado por la cabeza, por si acaso, buscar todas las posibles cosas que puedo utilizar y explicar los pros y contras de utilizar eso acabando en una conclusión y un razonamiento de porque he utilizado lo que he utilizado. Menos mal que aún no había salido Android, iPhone, etc y la gran cantidad de lenguajes que hay ahora porque si no... (modo ironic on)Además en este documento, se plasmarán esos interesantísimos diagramas, los cuales sin ellos, los programadores no sabrían hacer el trabajo o tendríamos que hacer pensar al programador.(/modo ironic off)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Planificación: Por supuesto, hay que hacer una planificación de como vas a organizar los recursos. Si os quereis reir un poco, aquí teneis todos los posibles diagramas que permite hacer el MS Project poniendo como recursos 1 persona y 1 ordenador. Yo la verdad, no sé que esperaban que iba a presentar si los proyectos finales de carrera, (que yo sepa,) son individuales.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Manual: Una parte importante del proyecto es el manual. Esta documentación si la considero importante hoy en día. Es una forma rápida de reducir las llamadas a soporte  en un 50%. Por lo que, si desarrollais un sistema que vendeis a diferentes clientes, hacerles un manual para que no estén llamando para cosas que podían estar documentadas.&lt;/li&gt;&lt;/ul&gt;Como conclusión, interesantes documentos en un proyecto real: Condiciones contractuales y presupuesto para la parte comercial, un manual o circulares para los clientes informando de la evolución del proyecto y una memoria y planificación objetiva y real (no lo que solicitan en la universidad). Cuando digo una memoria es una metodología básica, es decir tomar cuatro reglas básicas de implementación y en el caso de existir casos particulares documentarlos en el proyecto/cliente correspondiente. En cuanto a la planificación es complicado ya que mi opinión es hacer pequeños hitos pero esto va en contraposición a tener un presupuesto cerrado. Quizá la mejor opción para desarrollos a medida no es vender una aplicación, si no un paquete de horas y que el cliente sea consciente que esas horas se le gastan a medida que va pidiendo. Pero como siempre digo, es mucho más fácil vender algo material que algo abstracto, ideas o productos a medida por el problema de la comunicación.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/file/0dtkwkmqzae/ProyectoFinalCarrera.zip"&gt;Pulsar aquí para descargar el proyecto (código fuente, instalables y documentación)&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/9213580289119732835-4792108299494039610?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4792108299494039610/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/06/proyecto-final-de-carrera.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4792108299494039610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4792108299494039610'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/06/proyecto-final-de-carrera.html' title='Proyecto final de carrera'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_81YuvYbUu9A/TCuvrT8ihuI/AAAAAAAAANU/sDKcgAPAjRc/s72-c/ASala.PNG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-745368219605137112</id><published>2010-06-28T20:42:00.006+02:00</published><updated>2010-06-28T23:55:47.008+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bingo'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Business Bingo (Humor)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.luigix.com/wp-content/uploads/aburrido.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 161px;" src="http://www.luigix.com/wp-content/uploads/aburrido.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Juas juas juas, ¡Pero que bueno!&lt;br /&gt;&lt;br /&gt;No os perdais este post de un nuevo juego llamado Business Bingo. &lt;a href="http://www.luigix.com/2008/10/31/guia-infalible-para-reuniones-de-trabajo/"&gt;Pulsar aquí para ver el post.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ideal para reunirte con consultores. Dice algo así.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;¿Sueles tener &lt;/span&gt;&lt;strong style="font-style: italic;"&gt;sueño&lt;/strong&gt;&lt;span style="font-style: italic;"&gt; en las reuniones en que tu  presencia no sirve para nada?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;¿Sientes un aburrimiento inmenso durante las conferencias, seminarios y charlas ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Aquí tienes un método eficaz para combatir ese problema: El ‘&lt;/span&gt;&lt;span style="color: rgb(153, 51, 0); font-style: italic;"&gt;&lt;strong&gt;Business Bingo&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;‘  !!!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Testimonios:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Mi capacidad para escuchar aumentó desde que empecé a jugar a Business  Bingo"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Ahora, voy a todas las reuniones de mi departamento, aunque no me  convoquen!"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Mi jefe creyó que estaba anotando todos los datos de la reunión y al  final de la misma, me felicitó!"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cuantas veces habré oido frases y frases de palabras bonitas, que juntandolas son aún más bonitas, y si preparas parrafos e incluso un discurso son ... "MAGIA"!!! ... hasta que te das cuenta que no han dicho nada objetivo y es tan coherente como crear castillos en el aire. No digo que no haya buenos consultores, pero cuando el cliente desconoce la tecnología, mejor andarse con cuidado con según que personajes ya que es bastante probable encontrarse con alguno. (Aunque en todos los negocios hay vendedores de crecepelo.)&lt;br /&gt;&lt;br /&gt;Espero que saquen otro pronto para políticos con palabras como:  sostenible, ajuste, etc.&lt;br /&gt;&lt;br /&gt;Yo estoy suscrito a emails de varios productos y he ido viendo la evolución de estos y he visto como un producto libre desde que vieron que se podía sacar dinero de él y se metieron comerciales por medio, intentar cerrarlo u ofuscarlo lo más posibles y en estos correos de suscrición pasar de recibir textos como "Descargate la última versión X v9.99" a recibir "Descargate la versión Acelerada agil y de bajo coste X v9.99". ¡Una pena!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-745368219605137112?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/745368219605137112/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/06/business-bingo-humor.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/745368219605137112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/745368219605137112'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/06/business-bingo-humor.html' title='Business Bingo (Humor)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5444513804499265951</id><published>2010-06-25T22:38:00.005+02:00</published><updated>2010-06-27T21:33:51.918+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='javazone'/><title type='text'>JavaZone Trailer - (Humor)</title><content type='html'>Via meneame he descubierto un video gracioso. Se trata de un trailer sobre una pelicula que trata de una familia que desarrolla en Microsoft pero un día uno de los hijos trás unos años esconder la verdad a su famila realiza la gran confesión. Programo en Java. :). Esta noticia será un gran palo para sus padres y este abandona la casa.&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/X3YBLBvxEr8&amp;hl=es_ES&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/X3YBLBvxEr8&amp;hl=es_ES&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Para no perderselo :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-5444513804499265951?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5444513804499265951/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/06/javazone-trailer-humor.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5444513804499265951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5444513804499265951'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/06/javazone-trailer-humor.html' title='JavaZone Trailer - (Humor)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-8155680315381868693</id><published>2010-06-24T23:57:00.002+02:00</published><updated>2010-06-25T00:01:53.211+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 072 - Spring2GXDay (Entrevista a Sergi Almar)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/TCPVxEfijrI/AAAAAAAAANE/L8txLb2Zkag/s1600/Javahispano.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 67px; height: 84px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/TCPVxEfijrI/AAAAAAAAANE/L8txLb2Zkag/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5486463810063732402" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión  entrevistaremos a Sergi Almar que nos hablará del evento que se va a  organizar el próximo 19 de febrero en Madrid. Durante la entrevista  trataremos que temas y ponencias se van a realizar.&lt;p style="text-align: justify;"&gt;Links de  interés:&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/spring2gxday/index.html"&gt;Página oficial&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/spring2gxday/agenda.html"&gt;Agenda&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/spring2gxday/registro.html"&gt;Registrarse  para asistir&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__072__spring2gxday_entrevista_a_sergi_almar/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+JHPodcasts+%28Podcasts+javahispano.org%29&amp;amp;utm_content=FeedBurner+user+view"&gt;Pulsar aquí para acceder a la noticia&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/9213580289119732835-8155680315381868693?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/8155680315381868693/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/06/javahispano-podcast-072-spring2gxday.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8155680315381868693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8155680315381868693'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/06/javahispano-podcast-072-spring2gxday.html' title='JavaHispano Podcast - 072 - Spring2GXDay (Entrevista a Sergi Almar)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/TCPVxEfijrI/AAAAAAAAANE/L8txLb2Zkag/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6948830191914426983</id><published>2010-05-23T22:43:00.002+02:00</published><updated>2010-05-23T22:47:31.904+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='serie'/><category scheme='http://www.blogger.com/atom/ns#' term='Freaklances'/><title type='text'>Serie freaklances</title><content type='html'>Hace poco he visto por casualidad un capítulo de una seríe que promete.&lt;br /&gt;&lt;object width="400" height="250"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8592892&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=8592892&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="250"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/8592892"&gt;Capítulo 02: ROI&lt;/a&gt; from &lt;a href="http://vimeo.com/freaklances"&gt;freaklances &amp;#039;la serie&amp;#039;&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;La verdad es que me ha hecho gracia este capítulo pues he vivido situaciones parecidas. Espero ver el resto cuando tenga tiempo :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-6948830191914426983?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6948830191914426983/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/05/serie-freaklances.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6948830191914426983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6948830191914426983'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/05/serie-freaklances.html' title='Serie freaklances'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-3027582814618815018</id><published>2010-05-13T19:20:00.002+02:00</published><updated>2010-05-13T19:22:00.837+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 071 - Analizadores estáticos del código</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/S-w1Ks8Y0WI/AAAAAAAAAMY/BWXzQVurBUg/s1600/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/S-w1Ks8Y0WI/AAAAAAAAAMY/BWXzQVurBUg/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5470806105327718754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ando tan liado que no me dá tiempo para actualizar el blog :(. Aquí viene el siguiente podcast.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;" class="entrada"&gt;             &lt;p&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión hablaremos de los analizadores estáticos del código presentado por Alfredo Casado, Francisco Morero Peyrona y Raúl Exposito. En esta ocasión hablaremos de los analizadores estáticos del código y enumeraremos algunos de ellos comentando sus características:&lt;/p&gt;&lt;p&gt;Links de interés:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://pmd.sourceforge.net/"&gt;PMD - Sugerencias básicas&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pmd.sourceforge.net/cpd.html"&gt;CPD - Control del Copy/Paste&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://checkstyle.sourceforge.net/"&gt;CheckStyle - Control del formato&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sourceforge.net/projects/jdepends/"&gt;JDP - Control de dependencias&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://findbugs.sourceforge.net/"&gt;Findbugs - Control de optimizacion&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sonar.codehaus.org/"&gt;Sonar - Centralizar varios análisis&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://codenarc.sourceforge.net/"&gt;Codenarc - Análizador para Groovy&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Links de los invitados:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://weblogs.javahispano.org/artesanodeprimera/"&gt;Blog de Alfredo Casado.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://raulexposito.com/blog/"&gt;Blog de Raul Exposito.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://raulexposito.com/documents/AnalisisEstaticoCodigo.pdf"&gt;Libro gratuito de Análisis Estático del Código.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;ACTUALIZACION: Subidas las reglas de PMD que comenta Peyrona. &lt;a href="http://www.javahispano.org/podcasts/Reglas_base_PMD_1.0.xml"&gt;Pulsar aquí para descargar&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__071__analizadores_estaticos_del_codigo/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+JHPodcasts+%28Podcasts+javahispano.org%29&amp;amp;utm_content=FeedBurner+user+view"&gt;Pulsar aquí para acceder a la noticia.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;         &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-3027582814618815018?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/3027582814618815018/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/05/javahispano-podcast-071-analizadores.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3027582814618815018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3027582814618815018'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/05/javahispano-podcast-071-analizadores.html' title='JavaHispano Podcast - 071 - Analizadores estáticos del código'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_81YuvYbUu9A/S-w1Ks8Y0WI/AAAAAAAAAMY/BWXzQVurBUg/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5377491134617950451</id><published>2010-04-01T15:44:00.004+02:00</published><updated>2010-04-01T15:56:56.025+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile spain'/><title type='text'>Agile-Spain en Aragón</title><content type='html'>&lt;div style="text-align: justify;"&gt;El pasado lunes asistí a la primera reunión de Agile-Spain que se realizó en Aragón. En ella pude conocer en persona a compañeros en los que había tratado con ellos sólo a través de Skype como &lt;a href="http://es.debugmodeon.com/usuario/gimenete"&gt;Gimente&lt;/a&gt; o &lt;a href="http://www.danilat.com/weblog/"&gt;Dani Latorre&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;La charla fue bastante informal ya que nos juntamos en un bar y entre cervezas y refrescos estuvimos debatiendo acerca de como hay que estimar las tareas y como hay que presupuestarlas o venderlas al cliente. De hecho, se apuntaron estas ideas para proponerlas en futuras charlas que sean más formales. Sin embargo, hubo más conversaciones que se hicieron entre otros asistentes. En total estuvimos unas 20 personas, asistencia alta para ser aquí en Zaragoza y haberse convocado de una manera bastante altruista e informal. Por supuesto, hay que agradecerle a &lt;a href="http://es.linkedin.com/in/teresaoliver"&gt;Teresa Oliver&lt;/a&gt; que haya realizado esta labor de convocatoria.&lt;br /&gt;&lt;br /&gt;Finalmente, cuando sacaron las pizzas para cenar tuve que irme, pues ya era algo tarde. En general, me gustó bastante aunque habrá que ver si en un futuro buscamos algún sitio más formal donde no haya música de fondo y gente jugando al billar para que así todos los asistentes puedan seguir una misma conversación.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://agile-spain.wikidot.com/encuentros-agiles-aragon"&gt;Aquí teneis el blog que iremos actualizando con futuras convocatorias y charlas.&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/9213580289119732835-5377491134617950451?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5377491134617950451/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/04/agile-spain-en-aragon.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5377491134617950451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5377491134617950451'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/04/agile-spain-en-aragon.html' title='Agile-Spain en Aragón'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4930441810014879509</id><published>2010-03-09T07:03:00.007+01:00</published><updated>2010-03-09T07:32:47.285+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Entrevista'/><title type='text'>Entrevista a Jorge Rubira (by José Alberto González von Schmeling )</title><content type='html'>La pasada semana me hicieron una entrevista donde hablaban un poco de todo para el blog de "Proyectos Beta" creado por José Alberto González von Schmeling. Se puede decir que es la primera entrevista que realizo estando en el otro lado así que he sentido que es no hacer las preguntas, si no las respuestas :)&lt;br /&gt;&lt;br /&gt;La entrevista está enfocada en la programación y desarrollo de software, la época de la revista con Solo Programadores y mi participación en la asociación de javaHispano.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://proyectosbeta.blogspot.com/2010/03/entrevista-jorge-rubira-de-javahispano.html"&gt;Pulsar aquí para acceder a la entrevista.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-4930441810014879509?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4930441810014879509/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/03/entrevista-jorge-rubira-by-jose-alberto.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4930441810014879509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4930441810014879509'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/03/entrevista-jorge-rubira-by-jose-alberto.html' title='Entrevista a Jorge Rubira (by José Alberto González von Schmeling )'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-9040638275719265621</id><published>2010-02-27T12:45:00.003+01:00</published><updated>2010-02-28T12:08:39.629+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><title type='text'>JavaHispano Podcast - 070 - Noticias Enero 2010 (a)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/S4kGOfPPWfI/AAAAAAAAAMQ/drlZkyKGPm8/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/S4kGOfPPWfI/AAAAAAAAAMQ/drlZkyKGPm8/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5442888470627310066" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión Abraham Otero y Erick Camacho realizarán el primer podcast presencial en el que hablarán de las noticias más revelantes publicadas en el portal.&lt;p style="text-align: justify;"&gt;De las noticias que hablarán:&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/spring2gxday/index.html"&gt;Evento spring2gxday. &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dirigidoportests.com/el-libro"&gt;Libro TDD.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/google_collections_library_1_0/"&gt;Google collection library.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://javahispano.org/contenidos/es/spring_source_anuncia_spring_roo_1_0/"&gt;Spring Roo 1.0 &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://springhispano.org/?q=node/599"&gt;Spring ScreenCasts en castellano de &lt;/a&gt;&lt;a href="http://springhispano.org/?q=node/599"&gt;springhispano.org&lt;/a&gt;&lt;a href="http://springhispano.org/?q=node/599"&gt;.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://javahispano.org/contenidos/es/popularidad_de_los_lenguajes_de_programacion_a_enero_de_2010/"&gt;Popularidad lenguajes.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://javahispano.org/contenidos/es/liberado_datanucleus_accessplatform_2_0_0/"&gt;Datanucleus.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__070__noticias_enero_2010_a/?utm_source=feed&amp;amp;utm_medium=feed&amp;amp;utm_campaign=podcasts"&gt;Hacer click para acceder a la noticia&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/9213580289119732835-9040638275719265621?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/9040638275719265621/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/02/javahispano-podcast-070-noticias-enero.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/9040638275719265621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/9040638275719265621'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/02/javahispano-podcast-070-noticias-enero.html' title='JavaHispano Podcast - 070 - Noticias Enero 2010 (a)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/S4kGOfPPWfI/AAAAAAAAAMQ/drlZkyKGPm8/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-2688630731957148166</id><published>2010-01-25T22:44:00.001+01:00</published><updated>2010-01-25T22:47:44.719+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><title type='text'>JavaHispano Podcast - 069 - Carrera profesional técnica (Entrevista a Francisco Morero Peyrona)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/S14RbRm3YCI/AAAAAAAAAMI/INIDAtQDTG8/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/S14RbRm3YCI/AAAAAAAAAMI/INIDAtQDTG8/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5430797360935952418" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión Abraham Otero y Jorge Rubira entrevistarán a Francisco Morero Peyrona. Nuestro invitado fue nombrado el año pasado Ambassador de SUN título que tan solo tienen unas 120 personas en el mundo. Durante la entrevista Peyrona nos hablará de su experiencia, trayectoria y las salidas o formas de desarrollo técnico se pueden realizar en SUN.&lt;/div&gt;&lt;div style="text-align: justify;" class="entrada"&gt;&lt;p&gt;En una segunda parte de la entrevista hablaremos del mercado laboral en España comparandolo con empresas estadounidenses y aportaremos nuestra opinión. En esta parte se hablará de casos buenos y malos o prácticas habituales según la percepción de cada uno de los que participamos.&lt;/p&gt;&lt;p&gt;Links de interés:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://kenai.com/projects/sepia/pages/Home"&gt;Proyecto Sepia&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__019__entrevista_a_carlos_sanchez_miembro_de_apache_software_fundation/?utm_source=feed&amp;amp;utm_medium=feed&amp;amp;utm_campaign=podcasts"&gt;Otro podcast donde se compara el mercado laboral en España y EEUU.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Al margen de la entrevista, a proposito de la entrada, ponemos aquí el link del experimento de Lewin indicando las conclusiones de la productividad en un equipo de trabajo en función del lider y el entorno social.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.navegapolis.net/content/view/945/98/"&gt;Los tres estilos de liderazgo de Lewin&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__069__carrera_profesional_tecnica_entrevista_a_francisco_morero_peyrona/"&gt;Pulsar aquí para acceder a la noticia.&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/9213580289119732835-2688630731957148166?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/2688630731957148166/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/01/javahispano-podcast-069-carrera.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2688630731957148166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2688630731957148166'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/01/javahispano-podcast-069-carrera.html' title='JavaHispano Podcast - 069 - Carrera profesional técnica (Entrevista a Francisco Morero Peyrona)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_81YuvYbUu9A/S14RbRm3YCI/AAAAAAAAAMI/INIDAtQDTG8/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-2267980406728650009</id><published>2010-01-24T16:58:00.001+01:00</published><updated>2010-01-24T17:00:53.589+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><title type='text'>JavaHispano Podcast - 068 - Desarrollo de Form4G (Entrevista a Eduardo Oscar Frigerio)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/S1xupEfFwOI/AAAAAAAAAMA/sy8RJ5N_3sM/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/S1xupEfFwOI/AAAAAAAAAMA/sy8RJ5N_3sM/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5430336902559809762" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión Abraham Otero y Jorge Rubira entrevistarán a Eduardo Frigerio. Nuestro invitado es el autor de un proyecto para desarrollar aplicaciones de escritorio al estilo web. Durante la entrevista nos explicará como funciona, en que experiencia se basó, veremos la arquitectura interna y finalmente enviaremos una invitación a participar en el proyecto.&lt;p style="text-align: justify;"&gt;Links de interés:&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://form4g.sourceforge.net/"&gt;&lt;span&gt;Host del proyecto.&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://sourceforge.net/projects/form4g/files/V%201.0.0%20alfa-1/Form4G.es.doc/download"&gt;Documentación.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://sourceforge.net/projects/form4g/files/V%201.0.0%20alfa-1/iPhone.alfa1-bin.zip/download"&gt;La demo del iPhone en alfa1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://sourceforge.net/projects/form4g/files/V1.0.0.PreAlfa-2/Canvas_Support_to_93.5.zip/download"&gt;Soporte de HTML5 Canvas al 93,5483871%&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ejohn.org/blog/bringing-the-browser-to-the-server/"&gt;Información de jQuery sobre Rhino por John Resig&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://sourceforge.net/projects/form4g/files/V1.0.0.PreAlfa-2/Canvas_Support_to_93.5.zip/download"&gt;Ejemplo de Asteroids.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__068__desarrollo_de_form4g_entrevista_a_eduardo_oscar_frigerio/?utm_source=feed&amp;amp;utm_medium=feed&amp;amp;utm_campaign=podcasts"&gt;Pulsar aquí para acceder a la noticia.&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/9213580289119732835-2267980406728650009?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/2267980406728650009/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/01/javahispano-podcast-068-desarrollo-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2267980406728650009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2267980406728650009'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/01/javahispano-podcast-068-desarrollo-de.html' title='JavaHispano Podcast - 068 - Desarrollo de Form4G (Entrevista a Eduardo Oscar Frigerio)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/S1xupEfFwOI/AAAAAAAAAMA/sy8RJ5N_3sM/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5131362215521845935</id><published>2010-01-06T13:56:00.003+01:00</published><updated>2010-01-06T14:00:08.233+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='openoffice'/><title type='text'>JavaHispano Podcast - 067 - OpenOffice y el estandar ODF (Entrevista a Alexandro Colorado)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/S0SI1u6-C9I/AAAAAAAAALw/fJUqzTtRUDc/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/S0SI1u6-C9I/AAAAAAAAALw/fJUqzTtRUDc/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5423610307970730962" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión Erick Camacho entrevistará a Alexandro Colorado, co-leader de OpenOffice.org en Español, en la que se tocarán muchos puntos sobre la plataforma OpenOffice.org y su futuro inmediato: &lt;ul style="text-align: justify;"&gt;&lt;li&gt;El formato ODF, su historia y su relevancia actual en la Comunidad Europea y en Latinoamérica.&lt;/li&gt;&lt;li&gt;La importancia de los formatos abiertos y de aplicaciones alrededor de ellos.&lt;/li&gt;&lt;li&gt;Cómo desarrollar aplicaciones que integren dicho formato usando ODF Toolkit.&lt;/li&gt;&lt;li&gt;Los programas de migración a la plataforma OpenOffice.org emprendidas por Brasil, Ecuador y Venezuela.  &lt;/li&gt;&lt;li&gt;El programa Open For Business que busca crear un ecosistema de empresas capacitadas en OpenOffice.org&lt;/li&gt;&lt;li&gt;El futuro de OOo dada la compra de Sun por Oracle.&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;Links de interés:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/S0SJFXmZOCI/AAAAAAAAAL4/D5X2is6A-ts/s1600-h/openoffice_logo.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 201px; height: 201px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/S0SJFXmZOCI/AAAAAAAAAL4/D5X2is6A-ts/s320/openoffice_logo.gif" alt="" id="BLOGGER_PHOTO_ID_5423610576588322850" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://es.openoffice.org/"&gt;OpenOffice.org ES&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://es.openoffice.org/lecturas/lecturas_0018.html"&gt;OpenOffice.org ES (Contribucion)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.openoffice.org/"&gt;OpenOffice.org&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://xml.openoffice.org/"&gt;OpenOffice.org XML&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://education.openoffice.org/"&gt;OpenOffice.org Education&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.ooo4kids.org/"&gt;OOo4Kids&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.odftoolkit.org/"&gt;ODFToolkit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.odfkit-project.org/"&gt;ODFKit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office"&gt;OASIS TC&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eionet.europa.eu/software/opendocument"&gt;Union Europea y ODF&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://extensions.services.openoffice.org/"&gt;OpenOffice.org Extensiones&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.services.openoffice.org/wiki/OpenOffice_NetBeans_Integration"&gt;OpenOffice.org NetBeans&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.services.openoffice.org/wiki/OpenOffice_Eclipse_Integration"&gt;OpenOffice.org Eclipse&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://odf-at-www.openoffice.org/"&gt;ODF en el WWW &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://development.openoffice.org/"&gt;Development Corner&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/"&gt;Developer Guide &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OpenOffice.org_Developers_Guide" target="_blank"&gt;OpenOffice.org_Developers_Guide&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Email de contacto con Alexandro: (jza arroba openoffice.org)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__067__openoffice_y_el_estandar_odf_entrevista_a_alexandro_colorado/?menuId=JH_PODCASTS"&gt;Pulsar aquí para acceder a la noticia.&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/9213580289119732835-5131362215521845935?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5131362215521845935/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2010/01/javahispano-podcast-067-openoffice-y-el.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5131362215521845935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5131362215521845935'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2010/01/javahispano-podcast-067-openoffice-y-el.html' title='JavaHispano Podcast - 067 - OpenOffice y el estandar ODF (Entrevista a Alexandro Colorado)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/S0SI1u6-C9I/AAAAAAAAALw/fJUqzTtRUDc/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6321442684963342871</id><published>2009-12-31T16:50:00.002+01:00</published><updated>2009-12-31T17:02:14.426+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>JavaHispano Podcast - 066 - Noticias Diciembre 2009 (a)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/SzzK6Be5KjI/AAAAAAAAALo/0uRHHUBsPzA/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SzzK6Be5KjI/AAAAAAAAALo/0uRHHUBsPzA/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5421431149626468914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p style="text-align: justify;"&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión Abraham Otero y David Bonilla tratarán las noticias más destacadas publicadas en el portal.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Las noticias serás:&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/aprobada_la_adquisicion_de_sun_por_la_union_europea/"&gt;Aprobada la adquisición de Sun por la Unión Europea&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/java_ee_6_ya_esta_aqui/?menuId=NEWS&amp;amp;onlypath=true"&gt;Java EE 6 ya está aquí!!!!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/novedad_en_java_ee_6_definicion_de_datasources_independiente_de_servidor/"&gt;Novedad en Java EE 6: Definición de DataSources independiente de servidor&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javafx__como_van_las_cosas_ultimamente/"&gt;JavaFX – Como van las cosas últimamente…&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/aprobada_la_quinta_edicion_de_ecmascript__una_nueva_especificacion_para_javascript/"&gt;Aprobada la quinta edición de ECMAScript, una nueva especificación para JavaScript&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/tarde_tecnologica_de_opencms/"&gt;Tarde Tecnológica de OpenCms&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/coding_dojo_el_proximo_22_de_diciembre_en_madrid/"&gt;Coding Dojo el próximo 22 de Diciembre en Madrid&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__066__noticias_diciembre_2009_a/?utm_source=feed&amp;amp;utm_medium=feed&amp;amp;utm_campaign=podcasts"&gt;Pulsar aquí para ver la noticia.&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/9213580289119732835-6321442684963342871?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6321442684963342871/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/javahispano-podcast-066-noticias.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6321442684963342871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6321442684963342871'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/javahispano-podcast-066-noticias.html' title='JavaHispano Podcast - 066 - Noticias Diciembre 2009 (a)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/SzzK6Be5KjI/AAAAAAAAALo/0uRHHUBsPzA/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-2102231497495148423</id><published>2009-12-28T14:38:00.006+01:00</published><updated>2009-12-28T21:13:04.460+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Objetivos 2010 meme'/><title type='text'>Objetivos para el 2010</title><content type='html'>Por lo visto, mis compañeros &lt;a href="http://sixservix.com/blog/david/2009/12/28/objetivos-para-2010/"&gt;David Bonilla&lt;/a&gt; y &lt;a href="http://raulexposito.com/blog/2009/12/loterias-y-memes/#more-285"&gt;Raul Exposito&lt;/a&gt; me han incluido en una meme de &lt;span style="font-weight: bold;"&gt;Objetivos para el 2010&lt;/span&gt;. Normalmente al principio del año tengo una lista de unas tres cosas que me gustaría hacer para el próximo año: trabajo, ocio, salud (dieta), etc. Pero este año he entrado al 2010 con todos mis objetivos cumplidos. He conseguido un equilibrio salud/trabajo/amor en el que ninguno de ellos sobrepasa sobre los demás. Por eso, para el 2010 mi deseo es quedarme como estoy.&lt;br /&gt;&lt;br /&gt;Sin embargo, si tengo pequeños retos de menor importancia pero que si no se cumplen, no tienen mucha importancia:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Seguir con el podcast y entrevistar personajes de importancia de habla inglesa (traduciendolo a posteriorí al español) y crear una nueva sección llevada por algún compañero sobre entrevistas en inglés.&lt;/li&gt;&lt;li&gt;Participar activamente en algún proyecto de software libre de importancia.&lt;/li&gt;&lt;li&gt;Compilar en C con los últimos IDEs. (Es frustrante descargarte el OpenSonic y que no compile porque las librerías de C no tienen el BITMAP. Grrrr)&lt;/li&gt;&lt;li&gt;Adelgazar 4 kilos más (de los 8 que llevo ya en este año).&lt;/li&gt;&lt;li&gt;Seguir practicando Badminton y conseguir ganar al monitor del curso (¡por presuntuoso!).&lt;/li&gt;&lt;li&gt;Crear un podcast totalmente diferente al resto de todo lo que existe (tengo la idea pero no tengo tiempo).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Y la verdad, poco más... en general, tener ese equilibrio de salud, ocio y trabajo que hace que quieras seguir como estás sin extrañar algo que te falte. Creo que en este 2009 se me han cumplido muchos objetivos por lo que, aunque para muchos ha sido un año muy duro, para mí ha ido a mejor.&lt;br /&gt;&lt;br /&gt;No le paso el meme a nadie :P&lt;br /&gt;&lt;br /&gt;PD: Igual ha sorprendido un poco y esperabais "aprender 100 frameworks más". Pero para poder aprender también hay que saber desconectar para poder ser constante en el trabajo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-2102231497495148423?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/2102231497495148423/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/objetivos-para-el-2010.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2102231497495148423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2102231497495148423'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/objetivos-para-el-2010.html' title='Objetivos para el 2010'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5339755089882396447</id><published>2009-12-20T17:00:00.001+01:00</published><updated>2009-12-20T17:01:43.663+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='test'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 065 - Test de aplicaciones (Parte 2)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/Sy5KXV6QSXI/AAAAAAAAALg/vWK1Qy_o7vk/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/Sy5KXV6QSXI/AAAAAAAAALg/vWK1Qy_o7vk/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5417349166652213618" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. Este podcast es la segunda parte del podcast sobre testing de aplicaciones java en el que participarán de nuevo Alfredo Casado, Julio César Pérez y Jose Luis Bugarin. &lt;div style="text-align: justify;" class="entrada"&gt;  &lt;p&gt;En el primer podcast se intento transmitir la importancia del testing y se dieron algunas recomendaciones generales, en esta segunda parte nos vamos a centrar más en las herramientas concretas de las que disponemos en la plataforma Java para dotar a nuestros proyectos de testing automático. Hablaremos sobre herramientas como jUnit, dbUnit o Selenium, discutiremos sobre la importancia de la integración continua como complemento indispensable de los test automáticos y mencionaremos frameworks que nos permiten escribir test de aceptación en un lenguaje más cercano al negocio como Fit/Fitnesse o concordion. &lt;/p&gt;  &lt;p&gt;Links de interes:&lt;/p&gt;         &lt;ul&gt;&lt;li&gt;&lt;a href="http://jcesarperez.blogspot.com/"&gt;Blog de Julio César Perez&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://planeta.javahispano.org/artesanodeprimera/"&gt;Blog de Alfredo Casado&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.consultorjava.com/"&gt;Blog de Jose Luis Bugarin&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de Junit: &lt;a href="http://www.junit.org/" target="_blank"&gt;http://www.junit.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de DbUnit: &lt;a href="http://www.dbunit.org/" target="_blank"&gt;http://www.dbunit.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de XMLUnit: &lt;a href="http://xmlunit.sourceforge.net/"&gt;http://xmlunit.sourceforge.net/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de JMeter:  &lt;a href="http://jakarta.apache.org/jmeter/" target="_blank"&gt;http://jakarta.apache.org/jmeter/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de Selenium: &lt;a href="http://seleniumhq.org/" target="_blank"&gt;http://seleniumhq.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de Watir: &lt;a href="http://watir.com/" target="_blank"&gt;http://watir.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de EasyMock: &lt;a href="http://easymock.org/"&gt;http://easymock.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de Mockito: &lt;a href="http://mockito.org/"&gt;http://mockito.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de Fitnesse: &lt;a href="http://fitnesse.org/" target="_blank"&gt;http://fitnesse.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de Concordion:&lt;a href="http://www.concordion.org/" target="_blank"&gt;http://www.concordion.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de Hudson: &lt;a href="https://hudson.dev.java.net/" target="_blank"&gt;https://hudson.dev.java.net/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de WebDriver: &lt;a href="http://code.google.com/p/webdriver/" target="_blank"&gt;http://code.google.com/p/webdriver/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site de SoapUi: &lt;a href="http://www.soapui.org/" target="_blank"&gt;http://www.soapui.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.hudson-ci.org/display/HUDSON/ChuckNorris+Plugin"&gt;Plugin de chuck-norris para hudson. &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Libros y documentación:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://jcesarperez.blogspot.com/2009/12/un-test-para-todos-tus-mapeos-hibernate.html"&gt;Un test para todos tus mapeos Hibernate v2.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.objectmentor.com/resources/articles/xpepisode.htm"&gt;bowling game&lt;/a&gt; de robert martin &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1260371091&amp;amp;sr=1-1"&gt;Test Driven Development by example&lt;/a&gt; de kent benck&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/xUnit-Test-Patterns-Refactoring-Code/dp/0131495054"&gt;xUnit Test Patterns&lt;/a&gt; de Gerard mezaros&lt;/li&gt;&lt;li&gt;&lt;a href="http://pragprog.com/titles/utj/pragmatic-unit-testing-in-java-with-junit"&gt;Pragmatic Unit Testing in Java with Junit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://login.osirislms.com/offline/junit/index.htm"&gt;Ejemplos básicos en castellano&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ipd.uka.de/Tichy/uploads/publikationen/35/edser03.pdf"&gt;Estudio de viabilidad de retorno de la inversión usando TDD&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.npolive.net/refcard/dzone/JUnit_10108.pdf"&gt;JUnit and EasyMock&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__065__test_de_aplicaciones_parte_2/"&gt;Pulsar aquí para acceder a la noticia.&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/9213580289119732835-5339755089882396447?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5339755089882396447/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/javahispano-podcast-065-test-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5339755089882396447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5339755089882396447'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/javahispano-podcast-065-test-de.html' title='JavaHispano Podcast - 065 - Test de aplicaciones (Parte 2)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/Sy5KXV6QSXI/AAAAAAAAALg/vWK1Qy_o7vk/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-1334600245634466850</id><published>2009-12-18T17:05:00.004+01:00</published><updated>2009-12-19T00:45:07.818+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Humor - Hay que comentar el código</title><content type='html'>&lt;div style="text-align: justify;"&gt;Esta es una viñeta que me han enviado esta mañana y me ha hecho mucha gracia. Hay que leerlo con enfasis de comentarista deportivo. :)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/Syuoo6_QaqI/AAAAAAAAALY/AiGSBp3lAuk/s1600-h/comentar_el_codigo.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 309px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/Syuoo6_QaqI/AAAAAAAAALY/AiGSBp3lAuk/s400/comentar_el_codigo.jpg" alt="" id="BLOGGER_PHOTO_ID_5416608397825960610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://eduangi.com/2009/12/08/las-aventuras-el-capitan-literal/"&gt;Pulsar aquí para ver el post.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-1334600245634466850?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/1334600245634466850/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/humor-hay-que-comentar-el-codigo.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1334600245634466850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1334600245634466850'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/humor-hay-que-comentar-el-codigo.html' title='Humor - Hay que comentar el código'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_81YuvYbUu9A/Syuoo6_QaqI/AAAAAAAAALY/AiGSBp3lAuk/s72-c/comentar_el_codigo.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-7471343642334589420</id><published>2009-12-08T21:31:00.001+01:00</published><updated>2009-12-08T21:32:52.076+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 064 - Test de aplicaciones (Parte 1)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/Sx635SnfWvI/AAAAAAAAALM/QTmLdmEgl3E/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/Sx635SnfWvI/AAAAAAAAALM/QTmLdmEgl3E/s400/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5412965997023812338" border="0" /&gt;&lt;/a&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión vamos a realizar una tertulia sobre test de aplicaciones. En este número participarán Alfredo Casado, Julio César Pérez y Jose Luis Bugarín. Dada la extensión del tema hemos dividido la tertulia en dos partes. En esta primera parte realizaremos una introducción a los test de aplicaciones, explicaremos para que sirven, clasificaremos los diferentes tipos de test que se pueden desarrollar, explicaremos buenas prácticas para que tu código sea testeable y finalmente hablaremos del desarrollo TDD.&lt;/div&gt;&lt;p style="text-align: justify;"&gt;Links de interés:&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://planeta.javahispano.org/artesanodeprimera/"&gt;Blog de Alfredo Casado&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jcesarperez.blogspot.com/"&gt;Blog de Julio César Pérez&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.consultorjava.com/"&gt;Blog de Jose Luis Bugarín&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jcesarperez.blogspot.com/2009/06/sobre-pruebas-y-errores.html"&gt;¿Por qué hacer test?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jcesarperez.blogspot.com/2009/04/buenas-practicas-para-programar-tests.html"&gt;Buenas prácticas para programar tests&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.javahispano.org/artesanodeprimera/entry/cleancode3"&gt;Principio FIRST (Ver capítulo 9)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.tolaemon.com/otros/testcast3.htm"&gt;Dossier sobre el test de software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Historia de integración: &lt;a href="http://jcesarperez.blogspot.com/2009/03/historia-de-una-integracion-el.html"&gt;1&lt;/a&gt;, &lt;a href="http://jcesarperez.blogspot.com/2009/04/historia-de-una-integracion-ii-la.html"&gt;2&lt;/a&gt;, &lt;a href="http://jcesarperez.blogspot.com/2009/04/historia-de-una-integracion-iii-el.html"&gt;3&lt;/a&gt;, &lt;a href="http://jcesarperez.blogspot.com/2009/04/historia-de-una-integracion-iv.html"&gt;4&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://misko.hevery.com/"&gt;Blog de Misko Hevery.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://defmain.blogspot.com/2009/02/guia-para-el-codigo-testeable.html"&gt;Crear código testeable.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://es.wikipedia.org/wiki/Desarrollo_guiado_por_pruebas"&gt;Desarrollo TDD&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__064__test_de_aplicaciones_parte_1/?menuId=JH_PODCASTS"&gt;Pulsar aquí para ver la noticia.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-7471343642334589420?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/7471343642334589420/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/javahispano-podcast-064-test-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7471343642334589420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7471343642334589420'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/javahispano-podcast-064-test-de.html' title='JavaHispano Podcast - 064 - Test de aplicaciones (Parte 1)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_81YuvYbUu9A/Sx635SnfWvI/AAAAAAAAALM/QTmLdmEgl3E/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6701021204021239357</id><published>2009-12-07T11:50:00.001+01:00</published><updated>2009-12-07T11:51:59.623+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 063 - Noticias Noviembre</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/SxzeQfckZeI/AAAAAAAAALE/6D9DL8aYlTU/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SxzeQfckZeI/AAAAAAAAALE/6D9DL8aYlTU/s400/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5412445227093091810" border="0" /&gt;&lt;/a&gt;En este podcast Erick Camacho y un servidor discutimos las noticias más relevantes del mes de noviembre. Muchas gracias a Rubén Egiluz por haber editado el audio de este podcast.&lt;p style="text-align: justify;"&gt; &lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/rumores_sobre_oracle_retirando_su_oferta_sobre_sun/?menuId=NEWS&amp;amp;onlypath=true"&gt;Rumores sobre posible pérdida de interés en la adquisición de Sun&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/es_oficial_mysql_es_el_unico_escollo_para_la_adquisicion_de_sun/?menuId=NEWS&amp;amp;onlypath=true"&gt;La unión europea identifica MySQL como el único escollo para permitir la adquisición&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/noticias_sobre_netbeans__glassfish_y_virtual_box_por_parte_de_oracle/?menuId=NEWS&amp;amp;onlypath=true"&gt;Oracle publica un comunicado donde explica el futuro de múltiples tecnologías de Sun &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/libertad_para_java__sap/?menuId=NEWS&amp;amp;onlypath=true"&gt;Libertad para Java - SAP&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/al_final_parece_que_el_jdk_7_va_a_soportar_closures/?menuId=NEWS&amp;amp;onlypath=true"&gt;Al final parece que el JDK 7 va a soportar closures&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javacard_3_calentando_motores/?menuId=NEWS&amp;amp;onlypath=true"&gt;JavaCard 3 calentando motores&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/terracota_compra_quartz/?menuId=NEWS&amp;amp;onlypath=true"&gt;Terracota compra Quartz&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__063__noticias_noviembre/?utm_source=feed&amp;amp;utm_medium=feed&amp;amp;utm_campaign=podcasts"&gt;Pulsar aquí para acceder a la noticia.&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/9213580289119732835-6701021204021239357?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6701021204021239357/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/javahispano-podcast-063-noticias.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6701021204021239357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6701021204021239357'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/javahispano-podcast-063-noticias.html' title='JavaHispano Podcast - 063 - Noticias Noviembre'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/SxzeQfckZeI/AAAAAAAAALE/6D9DL8aYlTU/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5178929959183061490</id><published>2009-12-04T23:44:00.003+01:00</published><updated>2009-12-04T23:47:52.515+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 062 - Programación de Videojuegos</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SxmRQ0UPNLI/AAAAAAAAAK8/eP5-aoWvylk/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SxmRQ0UPNLI/AAAAAAAAAK8/eP5-aoWvylk/s400/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5411516145369822386" border="0" /&gt;&lt;/a&gt;Ya es un poco viejo pero por sincronizar la información del blog con los trabajos realizados pongo este post.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;" class="entrada"&gt;&lt;p&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión participaremos Fabian Nuñez, Luis Javier Lopez y Jorge Rubira. Los tres hemos participado de alguna manera en el desarrollo del framework de la JavaCup en alguna de las tres ediciones y hablaremos de ello. Fabian fué el creador del visor de la javaCup 2008 y sus preferencias son tareas gráficas, artísticas y de diseño. Luis trabajó como ingeniero de localización durante dos años y medio en &lt;a href="http://www.es.ea.com/"&gt;Electronic Arts&lt;/a&gt;, autor del blog &lt;a href="http://hardprogrammer.blogspot.com/"&gt;hardprogrammer&lt;/a&gt; y actualmente imparte un master de juegos para moviles. Jorge creó el primer framework de la javaCup para la 2007, colaboró con la revista Solo Programadores publicando &lt;a href="http://jorgerubira.blogspot.com/search/label/Screencast"&gt;screencast donde se explica como programar videojuegos&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Adicionalmente, realizaremos una introducción a los videojuegos, clasificacion de estos, explicaremos que existen otro tipo de juegos al margen de las consolas de juegos y daremos nuestra opinión sobre las preferencias al desarrollar un juego con pocos recursos económicos.&lt;/p&gt;&lt;p&gt;Por otra parte, hablaremos de técnicas o conceptos básicos que el programador de videojuegos 2D debe conocer: Sprites, planos de scroll (Scroll parallax), eliminar parpadeo (Doblebuffer), detección de colisiones (Bounding box o sphere), reproducción de música, detección de teclas. &lt;/p&gt;&lt;p&gt;Links de interés:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Finales de la &lt;a href="http://www.youtube.com/watch?v=9rVXuuuIzac"&gt;javaCup&lt;/a&gt;: &lt;a href="http://www.youtube.com/watch?v=IcC-Pg34Wa4"&gt;2007&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=2HlN43dDS9o"&gt;2008&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=7cj56j9o-eU"&gt;2009 &lt;/a&gt;&lt;/li&gt;&lt;li&gt;Librería gráfica utilizada para javaCup: &lt;a href="http://slick.cokeandcode.com/"&gt;Slick&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Librería para reproducir audio en java: &lt;a href="http://www.javazoom.net/javalayer/javalayer.html"&gt;jLayer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://hardprogrammer.blogspot.com/"&gt;Blog de Luis&lt;/a&gt;. &lt;a href="http://hardprogrammer.blogspot.com/2009/07/j2me-my-student-projects.html"&gt;Videojuegos desarrollados por sus alumnos&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jorgerubira.blogspot.com/"&gt;Blog de Jorge&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Ejemplos de algunas técnicas:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ramzaengine.com/recopilacion-recursos-sprites/"&gt;Ejemplos de Sprites&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Ejemplo de planos de scroll: &lt;a href="http://www.youtube.com/watch?v=6_RbO0Vm-AA"&gt;Ejemplo1&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=l3wq67W3fFg"&gt;Ejemplo2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=eyeg0WUPp1k"&gt;Ejemplo de doblebuffer&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Lenguajes comentados para programar videojuegos comerciales: &lt;a href="http://www.youtube.com/watch?v=UkSV1rXJ0pU"&gt;JME&lt;/a&gt;, &lt;a href="http://creators.xna.com/es-ES/"&gt;XNA&lt;/a&gt;, &lt;a href="http://ar.groups.yahoo.com/group/DesarrolloC/"&gt;C++&lt;/a&gt;, &lt;a href="http://www.adobe.com/es/products/flash/"&gt;Flash&lt;/a&gt;, &lt;a href="http://developer.apple.com/iphone/program/download.html"&gt;SDK iPhone&lt;/a&gt;, &lt;a href="http://www.android.com/"&gt;Android&lt;/a&gt;. (Existen más. Estos son solo los comentados)&lt;/li&gt;&lt;li&gt;Videoconsolas y periféricos originales: &lt;a href="http://es.wii.com/"&gt;WII&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=UkSV1rXJ0pU"&gt;Microsoft Natal&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=RgIP7XW1lXM"&gt;Guitar Hero&lt;/a&gt; &lt;a href="http://www.youtube.com/watch?v=N_jf6g6CTao"&gt;Batería&lt;/a&gt; y &lt;a href="http://www.youtube.com/watch?v=xCwXhas8XVA"&gt;DJ&lt;/a&gt;, &lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__062__programacion_de_videojuegos/?utm_source=feed&amp;amp;utm_medium=feed&amp;amp;utm_campaign=podcasts"&gt;Pulsar aquí para acceder a la noticia&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/9213580289119732835-5178929959183061490?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5178929959183061490/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/javahispano-podcast-062-programacion-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5178929959183061490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5178929959183061490'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/12/javahispano-podcast-062-programacion-de.html' title='JavaHispano Podcast - 062 - Programación de Videojuegos'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SxmRQ0UPNLI/AAAAAAAAAK8/eP5-aoWvylk/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-7644905404356837800</id><published>2009-11-03T21:38:00.003+01:00</published><updated>2009-11-04T18:57:10.975+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 061 - Introducción a Netbeans (Entrevista a Aristides Villarreal)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SvCU8j9VgpI/AAAAAAAAAK0/GA3naVY8vMA/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SvCU8j9VgpI/AAAAAAAAAK0/GA3naVY8vMA/s200/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5399979721382789778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="entrada"&gt;&lt;div style="text-align: justify;"&gt;             &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión entrevistaremos a Arisitdes Villarreal para hablar de Netbeans. Nuestro invitado participa en la organización de la traducción del IDE al español. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Durante el podcast realizaremos una introducción a Netbeans, realizaremos un repaso de las últimas caracteristicas y nos explicará hacia donde se está enfocando el desarrollo. Finalmente explicaremos del proceso de traducción.&lt;/p&gt;&lt;p&gt;Links de interés:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://avbravo.blogspot.com/"&gt;Blog de Aristides.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/"&gt;Netbeans&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.tv/"&gt;Netbeans TV (Información en formato Screencast sobre Netbeans)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.netbeans.org/SpanishTranslation"&gt;Pagina de traducción de Netbeans al español &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__061__introduccion_a_netbeans_entrevista_a_aristides_villarreal/?menuId=JH_PODCASTS"&gt;Pulsar aqui para acceder a la noticia.&lt;/a&gt;&lt;br /&gt;       &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-7644905404356837800?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/7644905404356837800/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/11/javahispano-podcast-061-introduccion.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7644905404356837800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7644905404356837800'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/11/javahispano-podcast-061-introduccion.html' title='JavaHispano Podcast - 061 - Introducción a Netbeans (Entrevista a Aristides Villarreal)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SvCU8j9VgpI/AAAAAAAAAK0/GA3naVY8vMA/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5588629400715980047</id><published>2009-11-01T16:41:00.003+01:00</published><updated>2009-11-01T16:51:24.093+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='navegadores'/><category scheme='http://www.blogger.com/atom/ns#' term='comunicando'/><title type='text'>Comunicando podcast 115 - Navegadores</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/Su2t7hmaVgI/AAAAAAAAAKc/XeIgUpWf_wc/s1600-h/comunicando.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 170px; height: 92px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/Su2t7hmaVgI/AAAAAAAAAKc/XeIgUpWf_wc/s320/comunicando.png" alt="" id="BLOGGER_PHOTO_ID_5399162766430459394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;El día 17 de octubre volvimos a publicar un nuevo número de la sección de software libre en el podcast de Comunicando. En esta ocasión hicimos un repaso de algunos navegadores más relevantes en el mundo de internet y dimos nuestra opinión sobre las preferencias de Nacho y mias.&lt;br /&gt;&lt;br /&gt;Los navegadores que comentamos son:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://mozilla-europe.org/es/firefox/" title="Microsoft Internet Explorer"&gt;Firefox&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/latam/windows/internet-explorer/" title="Microsoft Internet Explorer"&gt;Internet Explorer &lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.apple.com/es/safari/" title="Apple Safari"&gt;Safari&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.opera.com/" title="Opera"&gt;Opera&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.google.com/chrome/index.html?hl=es" title="Google Chrome"&gt;Chrome&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3.org/Amaya/" title="Amaya"&gt;Amaya&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;Además comentamos algunos test que se pueden realizar como &lt;a href="http://acid3.acidtests.org/"&gt;Acid3&lt;/a&gt; o &lt;a href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html"&gt;SunSpider JavaScript Benchmark&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/Su2uTqYdbXI/AAAAAAAAAKs/5HneA3JeUn8/s1600-h/internet-browser.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 190px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/Su2uTqYdbXI/AAAAAAAAAKs/5HneA3JeUn8/s200/internet-browser.jpg" alt="" id="BLOGGER_PHOTO_ID_5399163181104721266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://comunicandopodcast.com/index.php?id=118"&gt;Pulsar aquí para acceder al podcast.&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/9213580289119732835-5588629400715980047?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5588629400715980047/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/11/comunicando-podcast-115-navegadores.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5588629400715980047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5588629400715980047'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/11/comunicando-podcast-115-navegadores.html' title='Comunicando podcast 115 - Navegadores'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/Su2t7hmaVgI/AAAAAAAAAKc/XeIgUpWf_wc/s72-c/comunicando.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5374497555895319204</id><published>2009-10-28T14:44:00.003+01:00</published><updated>2009-10-28T14:49:19.759+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 060 - Noticias Octubre 2009 (a)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/SuhK53wFEFI/AAAAAAAAAKU/df33ImDBMtg/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/SuhK53wFEFI/AAAAAAAAAKU/df33ImDBMtg/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5397646511482146898" border="0" /&gt;&lt;/a&gt;&lt;div class="entrada"&gt;&lt;p&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocación Abraham Otero y Alfredo Casado hablarán de las noticias más interesantes publicadas en el portal y nos darán su punto de vista.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/jetbrains_libera_intellijidea_community_edition_con_licencia_apache/"&gt;JetBrains libera IntelliJIdea Community Edition con licencia Apache&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/atlassian_anuncia_jira_4_con_grandes_mejoras_y_un_nuevo_esquema_de_precios/"&gt;Atlassian anuncia Jira 4 con grandes mejoras y un nuevo esquema de precios&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/form4g__aplicaciones_de_escritorio_al_estilo_web/"&gt;Form4G - Aplicaciones de escritorio al estilo web&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/swing_application_framework_no_sera_parte_del_jdk_7/"&gt;Swing Application Framework no será parte del JDK 7&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/java_y_las_gpus_/"&gt;Java y las GPUs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/ajax_esta_patentado__y_practicamente_todos_los_gigantes_de_it_han_sido_demandados/"&gt;Ajax está "patentado", y prácticamente todos los gigantes de IT han sido demandados&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/mysql_vs__postgresql/"&gt;MySQL vs. PostgreSQL&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__060__noticias_octubre_2009_a/?menuId=JH_PODCASTS"&gt;Pulsar aquí para acceder a la noticia&lt;/a&gt;&lt;br /&gt;       &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-5374497555895319204?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5374497555895319204/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/javahispano-podcast-060-noticias.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5374497555895319204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5374497555895319204'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/javahispano-podcast-060-noticias.html' title='JavaHispano Podcast - 060 - Noticias Octubre 2009 (a)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/SuhK53wFEFI/AAAAAAAAAKU/df33ImDBMtg/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-1898976118675273224</id><published>2009-10-25T12:43:00.012+01:00</published><updated>2009-10-25T23:48:14.397+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile spain'/><category scheme='http://www.blogger.com/atom/ns#' term='desarrollo ágil'/><title type='text'>Sobresaliente para Agile Open Spain</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/SuQ_Cs_Q3YI/AAAAAAAAAKM/7vZz1LaGR6A/s1600-h/AgileSpain.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 186px; height: 135px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/SuQ_Cs_Q3YI/AAAAAAAAAKM/7vZz1LaGR6A/s320/AgileSpain.jpg" alt="" id="BLOGGER_PHOTO_ID_5396507569165491586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Este fin de semana hemos tenido la grata alegría de poder asistir a un evento organizado por Agile Spain sobre desarrollo ágil en Madrid. Decir que vivo en Zaragoza por lo que no suele ser habitual para mí asistir a este tipo de eventos. En mi opinión fueron unas charlas muy amenas y entretenidas sin perder valor en la calidad del contenido.&lt;br /&gt;&lt;br /&gt;Como elementos &lt;span style="font-weight: bold;"&gt;positivos&lt;/span&gt; podriamos destacar :&lt;br /&gt;- Los exponentes hicieron charlas muy entretenidas y a la vez de alta calidad.&lt;br /&gt;- La participación del público fué muy importante porque se expusieron problemas reales del día a día. A diferencia de otros eventos unidireccionales donde se hablan de cosas que no corresponden con la realidad.&lt;br /&gt;- El precio del evento (0€) que para mi sorpresa venía incluida la comida. Comentar que para los que no somos de Madrid el precio es el transporte de tren o coche.&lt;br /&gt;- Al final hicieron una retrospectiva para ver que había gustado y que no. Así el año que viene pueden mejorar esto último.&lt;br /&gt;- Una cosa más que nadie dijo pero que a mí me hizo mucha gracia. Estabamos buscando la universidad y aún no habiamos llegado y vimos en una farola un cartel de Agil Spain indicando donde  estaba la universidad y como llegar al evento. Conforme ibamos avanzando nos ibamos encontrando más carteles con flechas indicando donde estaban las salas. Gracias a ello, lo encontramos a la primera :). Esto fué para mí una demostración de entrega y pasión de los organizadores (Aun no habiamos llegado a la universidad y ya nos indicaban donde estaba el evento. A partir de ahí fue como seguir migas de pan como el cuento de Pulgarcito ¡Una currada muy simpatica!)&lt;br /&gt;&lt;br /&gt;Como elementos &lt;span style="font-weight: bold;"&gt;negativos &lt;/span&gt;comentar los siguientes:&lt;br /&gt;- Había 6 tracks con charlas y solo podías elegir una y en alguna hora me hubiera gustado estar en varias. Además, las descripciones de algunos post-its (no todos) eran poco claras por lo que cuando entrabas a una charla no sabías de que iba a hablar. Por ello, no sé si se impartió o no, pero me hubiese gustado estar en una que me explicase como trabajar día a día con Scrum.&lt;br /&gt;- Debido a la asistencia inesperada de tanta gente (tres veces más de lo esperado) hubo tanta asistencia por charla que algunas personas tuvieron que estar de pié.&lt;br /&gt;- En algunas salas hacia calor (sobretodo por la tarde).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para lo que seguis este blog, imagino que ya sabreis que soy partidario del desarrollo ágil por lo que quizá mi opinión no tiene tanto valor. Por ello lo que hice es ir acompañado de una persona que trabaja con CMMI y que es neutral en metodologías para el desarrollo de software. Al final del evento le pregunté que nota le pondría para saber si a personas que no tratan con desarrollo ágil le hubiese gustado y la nota fué un 8 (notable). Por ello, felicitar a Agile Spain por el evento organizado e invitar a la gente a ir para el próximo año que se vuelva a organizar.&lt;br /&gt;&lt;br /&gt;Link de la noticia del evento:&lt;br /&gt;&lt;a href="http://www.agile-spain.com/agile-open-spain-2009"&gt;http://www.agile-spain.com/agile-open-spain-2009&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Aquí teneis unas fotos del evento:&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/legnita/sets/72157622525557859/"&gt;http://www.flickr.com/photos/legnita/sets/72157622525557859/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3234/4040662858_70345921aa.jpg"&gt;&lt;img style="cursor: pointer; width: 297px; height: 220px;" src="http://farm4.static.flickr.com/3234/4040662858_70345921aa.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2624/4039127630_60afb79337.jpg"&gt;&lt;img style="cursor: pointer; width: 296px; height: 232px;" src="http://farm3.static.flickr.com/2624/4039127630_60afb79337.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2787/4039902123_339d45ed24.jpg"&gt;&lt;img style="cursor: pointer; width: 296px; height: 219px;" src="http://farm3.static.flickr.com/2787/4039902123_339d45ed24.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-1898976118675273224?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/1898976118675273224/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/sobresaliente-para-agile-open-spain.html#comment-form' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1898976118675273224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/1898976118675273224'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/sobresaliente-para-agile-open-spain.html' title='Sobresaliente para Agile Open Spain'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_81YuvYbUu9A/SuQ_Cs_Q3YI/AAAAAAAAAKM/7vZz1LaGR6A/s72-c/AgileSpain.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6158123198088035661</id><published>2009-10-16T16:55:00.002+02:00</published><updated>2009-10-16T16:58:36.857+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>JavaHispano Podcast - 059 - Introducción a Groovy (Entrevista a Escuela de Groovy)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/StiJ8Vxi0uI/AAAAAAAAAKE/cwSXxQsfApQ/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/StiJ8Vxi0uI/AAAAAAAAAKE/cwSXxQsfApQ/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5393212223506272994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="entrada"&gt;&lt;div&gt;             &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión entrevistaremos a los responsables de Escuela de Groovy (Nacho Brito y Alvaro Sanchez Mariscal). Durante la entrevista nos explicarán las ventajas de utilizar este lenguaje de scripting.&lt;/p&gt;&lt;p&gt;Links de interés:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.escueladegroovy.com/"&gt;Escuela de Groovy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://groovy.org.es/"&gt;Groovy.org.es&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.manual-de-grails.es/"&gt;Libro comentado&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://groovy.codehaus.org/"&gt;Página oficial de Groovy.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://grails.org/"&gt;Página oficial de Grails.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__059__introduccion_a_groovy_entrevista_a_escuela_de_groovy/?menuId=JH_PODCASTS"&gt;Pulsar aquí para acceder a la noticia&lt;/a&gt;&lt;br /&gt;        &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-6158123198088035661?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6158123198088035661/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/javahispano-podcast-059-introduccion.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6158123198088035661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6158123198088035661'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/javahispano-podcast-059-introduccion.html' title='JavaHispano Podcast - 059 - Introducción a Groovy (Entrevista a Escuela de Groovy)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/StiJ8Vxi0uI/AAAAAAAAAKE/cwSXxQsfApQ/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6602924541704790785</id><published>2009-10-11T12:28:00.006+02:00</published><updated>2009-10-11T12:36:37.947+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='32 minutos'/><title type='text'>32 minutos - Un podcast para programadores</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/StG0-q2SGFI/AAAAAAAAAJ8/cs97YqzB1ig/s1600-h/32Minutos.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 192px; height: 34px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/StG0-q2SGFI/AAAAAAAAAJ8/cs97YqzB1ig/s320/32Minutos.JPG" alt="" id="BLOGGER_PHOTO_ID_5391289217686050898" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Aquí teneis otro podcast más sobre desarrollo de software. El podcast se llama 32 minutos organizado por David Vilchez y Hadi Hariri y de momento han publicado cuatro números. En estos han realizado tres entrevistas y una tertulia de opinión. Desde aquí enviar mis felicitaciones y mucho ánimo para seguir adelante.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://32minutos.net/"&gt;Pulsar aquí para acceder al podcast.&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/9213580289119732835-6602924541704790785?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6602924541704790785/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/32-minutos-un-podcast-para.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6602924541704790785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6602924541704790785'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/32-minutos-un-podcast-para.html' title='32 minutos - Un podcast para programadores'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/StG0-q2SGFI/AAAAAAAAAJ8/cs97YqzB1ig/s72-c/32Minutos.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4454705125270833987</id><published>2009-10-05T22:54:00.004+02:00</published><updated>2009-10-11T12:36:58.987+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='ScrumManager'/><category scheme='http://www.blogger.com/atom/ns#' term='agilidad'/><title type='text'>ScrumManager : Un podcast sobre agilidad</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/Sspd9zsHbGI/AAAAAAAAAJs/3kcBEE-H5AA/s1600-h/Scrum.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 63px; height: 48px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/Sspd9zsHbGI/AAAAAAAAAJs/3kcBEE-H5AA/s320/Scrum.jpg" alt="" id="BLOGGER_PHOTO_ID_5389223220530867298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Me gustaría mostraros un nuevo podcast que está empezando cuya temática es la agilidad en el desarrollo del software. De momento llevan tres números  publicados pero parece que promete tanto en la calidad del contenido y la continuidad. El podcast se llama ScrumManager y está orquestado por Agustín Villena, Claudia Ruata y Juan Palacio. Sinceramente, me alegro que cada vez haya podcast técnicos sobre desarrollo de software.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.scrummanager.net/ok/mod/resource/view.php?id=92"&gt;Pulsar aquí para acceder al podcast&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/9213580289119732835-4454705125270833987?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4454705125270833987/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/scrummanager-un-podcast-sobre-agilidad.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4454705125270833987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4454705125270833987'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/scrummanager-un-podcast-sobre-agilidad.html' title='ScrumManager : Un podcast sobre agilidad'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/Sspd9zsHbGI/AAAAAAAAAJs/3kcBEE-H5AA/s72-c/Scrum.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5246057526025860294</id><published>2009-10-05T00:24:00.002+02:00</published><updated>2009-10-05T00:29:06.755+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Abdera'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 058 - Apache Abdera (Entrevista a David Calavera)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/SskhcPe3enI/AAAAAAAAAJk/k-Y2G12aqFE/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/SskhcPe3enI/AAAAAAAAAJk/k-Y2G12aqFE/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5388875198201559666" border="0" /&gt;&lt;/a&gt;&lt;div class="entrada"&gt;&lt;p style="text-align: justify;"&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión tenemos un invitado de honor. Su nombre es David Calavera y es commiter del proyecto Apache Abdera, Hudson y del plugin de Groovy en Netbeans.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;La entrevista la divideros en dos partes. En la primera parte realizaremos una introducción del proyecto Apache Abdera comentado su finalidad y modo de uso. También hablaremos de la diferencia entre IRI y URI y de diferentes opciones que dispone esta herramienta como las extensiones para exportar a otros formatos. En la segunda parte David nos dará su opinión de la fundación Apache y nos explicará como se llega a ser commiter en un proyecto libre.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Links de interes:&lt;/p&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://thinkincode.net/"&gt;Blog de David.&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://abdera.apache.org/"&gt;Proyecto Apache Abdera.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Atom_%28standard%29"&gt;Atom Publishing Protocol&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__058__apache_abdera_entrevista_a_david_calavera/?menuId=JH_PODCASTS"&gt;Pulsar aquí para acceder a la noticia.&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/9213580289119732835-5246057526025860294?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5246057526025860294/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/javahispano-podcast-058-apache-abdera.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5246057526025860294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5246057526025860294'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/10/javahispano-podcast-058-apache-abdera.html' title='JavaHispano Podcast - 058 - Apache Abdera (Entrevista a David Calavera)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/SskhcPe3enI/AAAAAAAAAJk/k-Y2G12aqFE/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-3221606600744277802</id><published>2009-09-30T00:22:00.011+02:00</published><updated>2009-09-30T14:31:38.693+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Experimento'/><title type='text'>Experimento práctico - Dos cumpleaños en un mismo día</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SsKKuyPy9BI/AAAAAAAAAJc/yWzUrYA-0c0/s1600-h/Experimento.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SsKKuyPy9BI/AAAAAAAAAJc/yWzUrYA-0c0/s320/Experimento.png" alt="" id="BLOGGER_PHOTO_ID_5387020640655176722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ayer estube viendo el capítulo de redes y en uno de los comentarios del experto lanza una pregunta. ¿Cuantas personas tienen que haber para que haya un 50% de probabilidad en la que dos personas cumplan los años el mismo día?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.smartplanet.es/redesblog/?p=506"&gt;http://www.smartplanet.es/redesblog/?p=506&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;El experto comento que la gente suele decir mucho pero que con 23 personas es suficiente. Esto me extrañó mucho por lo que quise comprobarlo por mi cuenta mediante un algoritmo.&lt;br /&gt;&lt;br /&gt;Para ello reiterando la misma operacion de 1 a 30 personas y para cada caso crear números al azar entre 365 y utilizando un HashSet para comprobar si se repite sería suficiente. En menos de 30 líneas se puede comprobar. Dejo aquí el código:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;import java.util.HashSet;&lt;br /&gt;&lt;br /&gt;public class Main {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String arg[]){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int personas=1;personas&amp;lt;=30;personas++){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;long nRepetidos=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int n=0;n&amp;lt;1000;n++){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HashSet ht=new HashSet();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean bRep=false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int o=0;o&amp;lt;personas &amp;amp;&amp;amp; !bRep;o++){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int a=(int)((Math.random())*365);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (ht.contains(a)){&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;bRep=true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}else{&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;ht.add(a);&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;}&lt;br /&gt;&amp;nbsp;&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;if (bRep)&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;nRepetidos++;&lt;br /&gt;&amp;nbsp;&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;System.out.println("Personas:" + personas + " " + (nRepetidos/10) + "%" );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tras ejecutar este algoritmo el resultado que dió es...&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Personas:1 0%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:2 0%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:3 0%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:4 2%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:5 3%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:6 3%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:7 4%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:8 8%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:9 7%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:10 12%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:11 13%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:12 19%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:13 20%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:14 22%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:15 25%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:16 27%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:17 33%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:18 33%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:19 39%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:20 40%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:21 44%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:22 49%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:23 50%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:24 55%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:25 55%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:26 60%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:27 61%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:28 64%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:29 67%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Personas:30 70%&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Por lo que en conclusión, el experto estaba en lo cierto. Nunca te acostarás sin saber algo más.&lt;br /&gt;&lt;br /&gt;&lt;br /&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/9213580289119732835-3221606600744277802?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/3221606600744277802/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/experimento-practico-dos-cumpleanos-en.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3221606600744277802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3221606600744277802'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/experimento-practico-dos-cumpleanos-en.html' title='Experimento práctico - Dos cumpleaños en un mismo día'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SsKKuyPy9BI/AAAAAAAAAJc/yWzUrYA-0c0/s72-c/Experimento.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4838824438515263103</id><published>2009-09-28T19:09:00.009+02:00</published><updated>2009-09-28T19:18:56.932+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='retro'/><category scheme='http://www.blogger.com/atom/ns#' term='tetris'/><category scheme='http://www.blogger.com/atom/ns#' term='pentris'/><title type='text'>Juego retro en QBasic - Pentris (Tetris de cinco cuadros)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/SsDvALx5ztI/AAAAAAAAAI8/xx4STY3vFwM/s1600-h/Retro.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 100px; height: 100px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SsDvALx5ztI/AAAAAAAAAI8/xx4STY3vFwM/s320/Retro.png" alt="" id="BLOGGER_PHOTO_ID_5386567940776251090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En este post voy a publicar otro juego que hice junto con un amigo cuando era más chaval. En esta ocasión el juego se llama Pentris. Su nombre viene de Tetris pero con fichas de cinco cuadros. Utilizando cinco cuadros aparecen muchas más figuras posibles que el clásico Tetris en el que tiene unicamente 7 figuras diferentes. Las teclas para el control de las figuras son 4,8,6, 2 y Space.&lt;br /&gt;&lt;br /&gt;Como es un juego muy antiguo, si lo ejecutais directamente vereis que va muy rápido. Para conseguir que vaya más despacio utilizaremos un emulador de MSDos antiguo. Hay que seguir los siguientes pasos:&lt;br /&gt;&lt;br /&gt;1-Descargar e instalar &lt;a href="http://www.dosbox.com/"&gt;DOSBox&lt;/a&gt;.&lt;br /&gt;2-En la opción del menu nueva, ir a DOSBox-&gt;Configuración-&gt;Editar configuracion.&lt;br /&gt;3-Cambiar la linea cycles=auto por cycles=max. (A mí con esto me va más o menos a la misma velocidad del 486 de 66Mhz).&lt;br /&gt;4-Ejecutar DOSBox en el menú.&lt;br /&gt;5-Escribir "mount c rutadeldirectoriodelPentris"&lt;br /&gt;6-Escribir "c:"  y finalmente ejecutar el bat "Pentris"&lt;br /&gt;Y con esto ya estaría.&lt;br /&gt;&lt;br /&gt;Una vez más el código fuente está en un fichero .bas. Pero no seais muy críticos al leerlo (fué hace mucho). Que los disfruteis.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.mediafire.com/download.php?mnzy5iye2ny"&gt;&lt;img style="cursor: pointer; width: 400px; height: 262px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SsDvRmkT3yI/AAAAAAAAAJU/9DHOMilBAP0/s400/G003b.jpg" alt="" id="BLOGGER_PHOTO_ID_5386568240024772386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?mnzy5iye2ny"&gt;Pulsar aquí para descargar el juego + código fuente (.bas)&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/9213580289119732835-4838824438515263103?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4838824438515263103/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/juego-retro-en-qbasic-pentris-tetris-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4838824438515263103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4838824438515263103'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/juego-retro-en-qbasic-pentris-tetris-de.html' title='Juego retro en QBasic - Pentris (Tetris de cinco cuadros)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/SsDvALx5ztI/AAAAAAAAAI8/xx4STY3vFwM/s72-c/Retro.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5435431904908856414</id><published>2009-09-27T12:48:00.003+02:00</published><updated>2009-09-27T12:50:33.926+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 057 - Noticias Septiembre 2009 (b)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/Sr9DTM8apoI/AAAAAAAAAI0/ji-cwyeZCnQ/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/Sr9DTM8apoI/AAAAAAAAAI0/ji-cwyeZCnQ/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5386097676529608322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="entrada"&gt;             &lt;p&gt;Publicado el número 57 del podcast de javaHispano. En esta ocasión Abraham Otero y Erick Camacho hablarán de las noticias publicadas en el portal durante este mes. &lt;/p&gt;&lt;p&gt;Estas son las noticias:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/reanudamos_los_seminarios_gratuitos_en_madrid_comenzamos_con_groovy_/?menuId=NEWS&amp;amp;onlypath=true"&gt;Reanudamos los seminarios gratuitos en Madrid: comenzamos con Groovy&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/conferencia_open_space_organizada_por_agile_spain_en_madrid_/"&gt;Conferencia "Open Space" organizada por Agile Spain en Madrid&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/oracle__anuncio_a_los_clientes_de_sun/?menuId=NEWS&amp;amp;onlypath=true"&gt;Oracle : Anuncio a los clientes de SUN&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/noop_el_nuevo_lenguaje_para_la_jvm_de_google/?menuId=NEWS"&gt;Noop: El nuevo lenguaje para la JVM de Google&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/disponible_android_1_6_sdk/"&gt;Disponible Android 1.6 SDK  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/gaelyk_0_2_framework_ligero_para_groovy_en_appengine/"&gt;Gaelyk 0.2 framework ligero para Groovy en AppEngine&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javarebel_cambia_su_nombre_a_jrebel_/?menuId=NEWS&amp;amp;onlypath=truehttp://www.javahispano.org/contenidos/es/oracle__anuncio_a_los_clientes_de_sun/?menuId=NEWS&amp;amp;onlypath=true"&gt;JavaRebel cambia su nombre a JRebel&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__057__noticias_septiembre_2009_b/"&gt;Pulsar aquí para acceder a la noticia.&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/9213580289119732835-5435431904908856414?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5435431904908856414/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/javahispano-podcast-057-noticias.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5435431904908856414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5435431904908856414'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/javahispano-podcast-057-noticias.html' title='JavaHispano Podcast - 057 - Noticias Septiembre 2009 (b)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/Sr9DTM8apoI/AAAAAAAAAI0/ji-cwyeZCnQ/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-8425559150185763237</id><published>2009-09-24T21:39:00.004+02:00</published><updated>2009-09-24T21:50:58.616+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><category scheme='http://www.blogger.com/atom/ns#' term='MyMobileWeb'/><title type='text'>Screencast Solo Programadores 146 - Introducción MyMobileWeb</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/SrvMwhbFStI/AAAAAAAAAIs/oZb_e22r4po/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/SrvMwhbFStI/AAAAAAAAAIs/oZb_e22r4po/s320/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5385122913429310162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Vamos en este caso con un Screecast un poco distinto a lo habitual. Hace unos años hice un curso de MyMobileWeb en las instalaciones de Telefónica. Este framework era una aplicación orientada a desarrollo web para móviles que se gestaba dentro de la iniciativa Morfeo llevada por Telefónica. Una vez finalizado el curso, pensé que sería buena idea hacer una introducción de como funciona y enseñar algunas demos con las que venian.&lt;br /&gt;&lt;br /&gt;Por todo ello, el Screencast se divide en dos partes. En la primera se indica como hay que plantear un proyecto con este framework de manera teórica y en la segunda se muestran las demos que incluyen para ver los componentes.&lt;br /&gt;&lt;br /&gt;Actualmente, desconozco el estado del framework. Creo que se quedó en la versión tres. Sin embargo, ahora hay mucha más competencia en este campo y los móviles han mejorado enormemente sus posibilidades por lo que quizá se haya quedado desfasado. (Aunque tampoco lo sé seguro)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/146/Video-146.zip"&gt;&lt;img style="cursor: pointer; width: 320px; height: 208px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/SrvMrNkXXkI/AAAAAAAAAIk/5-zaI1QXBOI/s320/SC146.jpg" alt="" id="BLOGGER_PHOTO_ID_5385122822200188482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/146/Video-146.zip"&gt;Pulsar aquí para descargar el screencast&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/9213580289119732835-8425559150185763237?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/8425559150185763237/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/screencast-solo-programadores-146.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8425559150185763237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8425559150185763237'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/screencast-solo-programadores-146.html' title='Screencast Solo Programadores 146 - Introducción MyMobileWeb'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_81YuvYbUu9A/SrvMwhbFStI/AAAAAAAAAIs/oZb_e22r4po/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6100206512038157278</id><published>2009-09-21T22:57:00.002+02:00</published><updated>2009-09-21T23:00:00.450+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zk'/><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 056 - Introducción a ZK (Entrevista a Marioko)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/Srfo_QiSJNI/AAAAAAAAAIU/UG9EVKLgmE0/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/Srfo_QiSJNI/AAAAAAAAAIU/UG9EVKLgmE0/s400/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5384028053012882642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión entrevistaremos a Marioko que nos explicará su experiencia con ZK para desarrollo de aplicaciones web RIAA. Durante el podcast explicará algunos componentes y productos, integración con otros frameworks, ajax, realización de informes y, finalmente, hablaremos de la documentación disponible para iniciarse.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__056__introduccion_a_zk_entrevista_a_marioko/?menuId=JH_PODCASTS"&gt;Pulsar aquí para ir a la noticia&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/9213580289119732835-6100206512038157278?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6100206512038157278/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/javahispano-podcast-056-introduccion-zk.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6100206512038157278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6100206512038157278'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/javahispano-podcast-056-introduccion-zk.html' title='JavaHispano Podcast - 056 - Introducción a ZK (Entrevista a Marioko)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_81YuvYbUu9A/Srfo_QiSJNI/AAAAAAAAAIU/UG9EVKLgmE0/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-675214273143254722</id><published>2009-09-19T12:17:00.002+02:00</published><updated>2009-09-19T12:19:28.920+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='dudas foro'/><category scheme='http://www.blogger.com/atom/ns#' term='Javahispano'/><title type='text'>JavaHispano Podcast - 055 - Dudas del foro Septiembre (a)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SrSwJ-dUFSI/AAAAAAAAAIM/a2-Zw0QcQrQ/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SrSwJ-dUFSI/AAAAAAAAAIM/a2-Zw0QcQrQ/s400/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5383121140045845794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión Rubén Egiluz y Rugi nos hablarán de las dudas del foro que les han parecido muy interesantes. Producido por Rubén Egiluz.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Dudas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/forum/certificacion/es/que_pasara_con_las_certificaciones_java/"&gt;¿QUE PASARA CON LAS CERTIFICACIONES JAVA? &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/forums.thread.action?forum=1&amp;amp;thread=652065&amp;amp;id=652065"&gt;como forz&lt;/a&gt;&lt;a href="http://www.javahispano.org/forums.thread.action?forum=1&amp;amp;thread=652065&amp;amp;id=652065"&gt;ar el garbage collector&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/forums.thread.action?forum=2&amp;amp;thread=8782799&amp;amp;id=9186358"&gt;Desarrollo Aplicación Web por Módulos&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/forums.thread.action?forum=2&amp;amp;thread=3548201&amp;amp;id=5773875"&gt;Elección FrameWork y Herramientas para Desarrollo Aplicacion ...&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javahispano.org/forums.thread.action?forum=1&amp;amp;thread=7209422&amp;amp;id=7209422"&gt;CALCULO INTEGRAL EN JAVA !!!&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__055__dudas_del_foro_septiembre_a/?menuId=JH_PODCASTS"&gt;Pulsar aquí para acceder a la noticia.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-675214273143254722?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/675214273143254722/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/javahispano-podcast-055-dudas-del-foro.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/675214273143254722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/675214273143254722'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/javahispano-podcast-055-dudas-del-foro.html' title='JavaHispano Podcast - 055 - Dudas del foro Septiembre (a)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SrSwJ-dUFSI/AAAAAAAAAIM/a2-Zw0QcQrQ/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5796397657563907286</id><published>2009-09-14T20:38:00.007+02:00</published><updated>2009-09-14T21:01:03.042+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><title type='text'>Screencast Solo Programadores 145 - Bolera en perspectiva con Java</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/Sq6PZw-jMQI/AAAAAAAAAH8/gmhVw2ZLPng/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/Sq6PZw-jMQI/AAAAAAAAAH8/gmhVw2ZLPng/s400/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5381396277561078018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;¡Vamos con otro Screencast!. En esta ocasión vamos a programar un videojuego hecho con Java con una proyección de un dibujo en perspectiva.  El lenguaje utilizado en esta ocasión es Java con el IDE Netbeans. El juego estará diseñado en coordenadas (x,0,z) ya que y=0 siempre. Al dibujar realizaremos una proyección para que tenga un efecto de profundidas.  Adicionalmente, en la parte izquierda de la pantalla volvemos a ver el mismo contenido a vista de pájaro.&lt;br /&gt;&lt;br /&gt;Como cosas interesantes de este desarrollo, destacar la caida y rodaje de los bolos cuando se golpean unos con los otros y las líneas rectas de la pista que le dan un aspecto a madera. Decir que no hemos utilizado ninguna herramienta de 3D para dibujar los bolos.  Estos se dibujan utilizando una iteración y calculando senos y cosenos. También es interesante el modo de crear degradados bastante artísticos utilizando iteraciones y cambiando progresivamente de color.&lt;br /&gt;&lt;br /&gt;El juego consiste el lanzar los bolos pulsando el espacio cuando la trayectoria indicada con la recta roja es la idonea. Esta línea roja se mueve periódicamente de izquierda a derecha y rotando el ángulo de la trayectoria. Existe también una barra de fuerza que incrementará y decrementará periodicamente. El objetivo es darle al botón en el momento exacto (posición, ángulo, fuerza) para tirar los más bolos posibles.&lt;br /&gt;&lt;br /&gt;Espero os guste el screencast.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/145/Video-145.zip"&gt;&lt;img style="cursor: pointer; width: 400px; height: 243px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/Sq6Pg6HG10I/AAAAAAAAAIE/eChQZd4ju5w/s400/SC145.jpg" alt="" id="BLOGGER_PHOTO_ID_5381396400271972162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/145/Video-145.zip"&gt;Pulsar aquí para descargar el screencast&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/9213580289119732835-5796397657563907286?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5796397657563907286/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/screencast-solo-programadores-145.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5796397657563907286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5796397657563907286'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/screencast-solo-programadores-145.html' title='Screencast Solo Programadores 145 - Bolera en perspectiva con Java'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/Sq6PZw-jMQI/AAAAAAAAAH8/gmhVw2ZLPng/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-9192715398739593586</id><published>2009-09-12T11:41:00.007+02:00</published><updated>2009-09-12T12:34:14.799+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='buscando'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='directorio'/><category scheme='http://www.blogger.com/atom/ns#' term='File'/><category scheme='http://www.blogger.com/atom/ns#' term='Experimento'/><title type='text'>Experimento práctico - Buscando en un directorio con Java</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SqtzvBGQV5I/AAAAAAAAAHg/S8YWjBM05cc/s1600-h/Experimento.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SqtzvBGQV5I/AAAAAAAAAHg/S8YWjBM05cc/s320/Experimento.png" alt="" id="BLOGGER_PHOTO_ID_5380521431409907602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Estaba revisando el Analytics de javaHispano y curiosamente, y no sé por qué, habia un texto desde google que tenia muchas entradas en el que ponia "java buscando en un directorio". Si se busca en Google por ese texto hace referencia a un link de una pregunta en el foro que pretendía esto y muy bién contestada por Rugi.&lt;br /&gt;&lt;br /&gt;Por ello, he pensando en ampliar dicha información y preparar un buscador de ficheros utilizando Netbeans 6.7.1 que permite navegar por los directorios y ejecutar un fichero haciendo doble click sobre este. Adicionalmente se puede escribir un texto y buscar en el directorio activo y directorio que cuelgan de este los ficheros que tengan ese texto. Del mismo modo, haciendo doble click sobre los ficheros se pueden ejecutar con el programa predeterminado según su extensión.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lectura de ficheros de un directorio&lt;/span&gt;&lt;br /&gt;Para la lectura de ficheros de un directorio hemos utilizado la clase File. Esta clase permite a través del método listFiles() devolver todos los elementos que existen en la ruta configurada en el File donde se ejecuta. Después para separar los directorios de los ficheros preguntamos a cada unos de los elementos si es un directorio con la función isDirectory(). También para cada elemento hemos utilizado las funciones getName() para ver el nombre del fichero o directorio y getAbsoluteFile() para conocer la ruta. Y en principio no hay mucho más (No es muy complicado).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Buscar por los directorios.&lt;/span&gt;&lt;br /&gt;El algoritmo de busqueda también es sencillo. Hemos utilizado un algoritmo recursivo en el que se envia un directorio y obtiene todos los elementos de ese directorio. A continuación recorre los elementos y si encuentra otro directorio ejecuta la llamada a si mismo enviando el nuevo directorio. En caso de ser un fichero se comprueba que el nombre contenga el texto que hemos introducido con la función indexOf. Esta función devuelve la posición donde se encuentra o -1 si no encuentra el texto. Antes de comprobar, convertimos estos textos a mayúsculas para que no sea sensitivo a mayúsculas/minúsculas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ejecutandolo con un hilo.&lt;/span&gt;&lt;br /&gt;Algo que aborrecí cuando hacia procesos largos y que ejecutaban muchas operaciones en aplicaciones de escritorio era que me dijesen:&lt;br /&gt;- "Oye! Mira a ver que la aplicación se ha colgado."&lt;br /&gt;Tenia que contestar:&lt;br /&gt;- "No se ha colgado. Aún esta haciendo la operación".&lt;br /&gt;Sin embargo, si hacian click por la ventana a veces se quedaba en blanco y volvian a insistir:&lt;br /&gt;- "Que no! Que no! Que se ha quedado colgado. Mira todo en blanco".&lt;br /&gt;&lt;br /&gt;En realidad si que estaba ejecutandose las operaciones. La razón de que se quedase la pantalla en blanco es que si se realizan las operaciones con el hilo principal hasta que no se finaliza el proceso no hace otra cosa. Esto incluye repintar la pantalla. Por ello, si en algún momento teneis que programar un proceso que va a costar mucho, es preferible lo hagais en un hilo y a poder ser hagais alguna barra de progresión o alguna animación. Así el usuario se siente más seguro de que está funcionando (aunque sea mentira). En esta aplicación podreis ver que la clase que contiene la busqueda es implements de Runnable y, al iniciar la búsqueda, el algoritmo recursivo se invoca desde el método run(). Otra cosa que puede ser interesante es ir mostrando los resultados o una barra de progresión mientras se realiza la búsqueda. Esto lo hemos programado utilizando el interface Observer de manera que cada vez que encuentra un fichero se ejecuta el método update del Frame y actualiza la lista.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ejecutar un fichero externo:&lt;/span&gt;&lt;br /&gt;Algunas veces, es de nuestro interes lanzar una aplicación externa. Para ello podemos utilizar Runtime.getRuntime().exec. Sin embargo, esto solo sirve para ficheros .exe (en el caso de Windows) pero no sirve para el resto de ficheros (.bmp, .jpg, .mp3, etc). Pero ¿como podemos saber si la aplicación por defecto de cada una de las extensiones?. La respuesta es, "No te preocupes, no hace falta saberlo".  Existe un .exe que se encarga de esto llamado rundll32. Si invocas el método .exe de este modo, entiendiendo que sRuta es la ruta del fichero, verás que se abre con el programa predeterminado en el sistema operativo. Comentar que esto solo funcionará bajo Windows&lt;br /&gt;Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + sRuta);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Un poco de Swing.&lt;/span&gt;&lt;br /&gt;Y finalmente, aunque no voy a explicar nada en este post, si estais interesados en el Swing le podeis dar un vistazo a como hacer para que algo se ejecuta cuando se hace doble click getClickCount(), la clase DefaultListModel, y poco más. La parte gráfica no tiene mucho que podamos destacar.&lt;br /&gt;&lt;br /&gt;Pues nada, espero que os sirva de utilidad:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.mediafire.com/download.php?n5zqynmwmd1"&gt;&lt;img style="cursor: pointer; width: 400px; height: 247px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/Sqtz9VwjW0I/AAAAAAAAAHw/rBOViDi3ON8/s400/G007.jpg" alt="" id="BLOGGER_PHOTO_ID_5380521677474192194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?n5zqynmwmd1"&gt;Pulsar aquí para descargar la aplicación.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-9192715398739593586?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/9192715398739593586/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/experimento-practico-buscando-en-un.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/9192715398739593586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/9192715398739593586'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/experimento-practico-buscando-en-un.html' title='Experimento práctico - Buscando en un directorio con Java'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SqtzvBGQV5I/AAAAAAAAAHg/S8YWjBM05cc/s72-c/Experimento.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-2995885443932400400</id><published>2009-09-10T22:18:00.006+02:00</published><updated>2009-09-10T22:30:56.616+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><title type='text'>Screencast Solo Programadores 144 - El juego Pong3D con Java3D</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/SqlhCmWOxkI/AAAAAAAAAHI/23obN2glXoU/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SqlhCmWOxkI/AAAAAAAAAHI/23obN2glXoU/s320/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5379937927152191042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;A continuación podeis descargar otro screencast en el que vamos a programar un juego basado en el clásico juego Pong. La novedad de este juego es que estará desarrollado con Java3D y la perspectiva de visualización será en primera persona. Además, de la perspectiva 3D, la cámara está situada en la raqueta por lo que cuando mueves la raqueta realmente ves como se mueve el campo entero.&lt;br /&gt;&lt;br /&gt;Por último, para poner la guinda, comprobar como la pelota radia una luz verde que ilumina el campo reflejandose en las paredes. Conseguir esto parece fácil: "solo hay que poner una luz verde donde está la pelota". Pero al realizar pruebas, existe una pega. Una superficie solo puede ser de un color al ser iluminada por lo que si creamos una pared gigante utilizando unicamente un rectangulo no veremos como la pelota ilumina unicamente la parte más cercana a esta. Para solventar ese problema en vez de crear un rectangulo por cada pared hemos creado que una pared se componga de pequeños segmentos más pequeños para así que la luz pueda iluminar un espacio de la sala sin que ilumine el otro extremo (al ser el mismo polígono).&lt;br /&gt;&lt;br /&gt;Espero que os guste el video.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/144/Video144.zip"&gt;&lt;img style="cursor: pointer; width: 320px; height: 269px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/SqlhmaOk7fI/AAAAAAAAAHQ/yolmftTUgA0/s320/SC144.jpg" alt="" id="BLOGGER_PHOTO_ID_5379938542374153714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/144/Video144.zip"&gt;Pulsar aquí para descargar el screencast + código fuente&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/9213580289119732835-2995885443932400400?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/2995885443932400400/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/screencast-solo-programadores-144-el.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2995885443932400400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2995885443932400400'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/screencast-solo-programadores-144-el.html' title='Screencast Solo Programadores 144 - El juego Pong3D con Java3D'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/SqlhCmWOxkI/AAAAAAAAAHI/23obN2glXoU/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6389811287296805434</id><published>2009-09-08T21:38:00.006+02:00</published><updated>2009-09-08T22:26:14.072+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><title type='text'>JavaHispano Podcast - 054 - Noticias Septiembre 2009 (a)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/Sqa3EPad5PI/AAAAAAAAAHA/bay81Zy_DOo/s1600-h/Javahispano.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 67px; height: 84px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/Sqa3EPad5PI/AAAAAAAAAHA/bay81Zy_DOo/s320/Javahispano.jpg" alt="" id="BLOGGER_PHOTO_ID_5379188088425538802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Iniciamos nueva temporada en los podcast de javaHispano una vez pasado el periodo vacacional. Volvemos con las pilas cargadas y con ilusión para este nuevo inicio. Seguiremos con la dinámica de animar a participar a multitud de personas ya que todo el mundo tiene algo que aportar y con la mentalidad de que ninguno de nosotros somos unos cracks pero unidos creamos una sinergia y programa muy rico en opiniones, conocimientos y puntos de vista. También seguiremos entrevistando a personas que tienen menos que ver con la comunidad y con ello enriquecer de conocimiento distinto con perfiles diferentes.  Finalmente me gustaría comentar tendremos más personas habituales en el equipo y vamos a intentar crear nuevas secciones aún más atrevidas y arriesgadas para darle al podcast un toque diferente (pero de momento no digo nada que aún está cocinandose la sección).&lt;br /&gt;&lt;br /&gt;Por último, quiero invitar a las personas a seguir el podcast durante esta nueva temporada que estoy seguro que estará llena de noticias porque en tiempos de crisis hay muchos cambios y oportunidades (como la compra Oracle-SUN).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__054__noticias_septiembre_2009_a/?menuId=JH_PODCASTS"&gt;Pues nada, aquí teneis este primer número de la temporada...&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/9213580289119732835-6389811287296805434?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6389811287296805434/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/javahispano-podcast-054-noticias.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6389811287296805434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6389811287296805434'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/javahispano-podcast-054-noticias.html' title='JavaHispano Podcast - 054 - Noticias Septiembre 2009 (a)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/Sqa3EPad5PI/AAAAAAAAAHA/bay81Zy_DOo/s72-c/Javahispano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4333820413014727792</id><published>2009-09-07T00:19:00.006+02:00</published><updated>2009-09-07T00:37:37.181+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><title type='text'>Screencast Solo Programadores 143 - Algoritmo minimax. Inteligencia artificial para jugar al tres en raya.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SqQ4XUOON7I/AAAAAAAAAGw/lmeG51B62YM/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SqQ4XUOON7I/AAAAAAAAAGw/lmeG51B62YM/s320/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5378485828203722674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En el siguiente screencast vamos a programar un juego del tres en raya y lo realizaremos con una web JSP. Durante el podcast explicaremos como instalar las herramientas necesarias e inicialmente realizaremos un diseño sencillo.&lt;br /&gt;&lt;br /&gt;Sin embargo, a medida que vayamos avanzando vamos a programar que podamos jugar contra la máquina utilizando un algoritmo que se emplea en Inteligencia Artificial llamado Minimax. Este algoritmo se parece bastante a los algoritmos de busqueda con heuristica ya que su representación es igualmente en forma de árbol pero con una particularidad. Al ser un juego con adversario la maquina no se puede saber que movimientos va a realizar el jugador ya que aún no has movido. Sin embargo, lo que si se puede hacer es limitar las opciones de victoria. Por ello, en el caso del algoritmo minimax evalua la heuristica del tablero según quien mueve la ficha y asimilando también los movimientos del contrario y busca el mejor valor en su turno (la máxima heurística) y el peor movimiento del contrincario (la minima heurística). De ahí que se llame minimax, de mínimo y máximo. Al pretender recorrer un árbol también hemos utilizado recursividad, al igual que hicimos con la resolución del Sudoku (aunque un árbol también es posible recorrerlo de forma iterativa).&lt;br /&gt;&lt;br /&gt;Pues nada, espero que os guste el screencast y aprendais un algoritmo más que se imparte en la asignatura de inteligencia artificial.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/143/Video-143.zip"&gt;&lt;img style="cursor: pointer; width: 320px; height: 209px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SqQ4mhLJ_yI/AAAAAAAAAG4/B0SiOeDzoUc/s320/SC143.jpg" alt="" id="BLOGGER_PHOTO_ID_5378486089378561826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/143/Video-143.zip"&gt;Pulsar aquí para descargar el screencast + código fuente&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/9213580289119732835-4333820413014727792?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4333820413014727792/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/screencast-solo-programadores-143.html#comment-form' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4333820413014727792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4333820413014727792'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/screencast-solo-programadores-143.html' title='Screencast Solo Programadores 143 - Algoritmo minimax. Inteligencia artificial para jugar al tres en raya.'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SqQ4XUOON7I/AAAAAAAAAGw/lmeG51B62YM/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-8507903329408170818</id><published>2009-09-05T00:13:00.007+02:00</published><updated>2009-09-05T00:36:47.392+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java3D'/><title type='text'>Java 3D - Moverse por una casa usando los cursores</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/SqGUJzq2smI/AAAAAAAAAGI/PWMd26ky4ZQ/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/SqGUJzq2smI/AAAAAAAAAGI/PWMd26ky4ZQ/s400/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5377742326266770018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;A continuación os dejo público una aplicación que hice para otro artículo de la revista "Solo Programadores" programada con Java3D. Esta aplicación consiste en una casa diseñada en una matriz y el usuario es capaz de moverse por esta. Curiosamente este artículo también apareció en portada de la revista lo cual me gustó. Aunque quizá el título que eligieron "Realidad virtual" se salga un poco del objetivo, que era aprender Java3D.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/SqGWQZOXvPI/AAAAAAAAAGg/kpuVCvztmo8/s1600-h/G005b.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SqGWQZOXvPI/AAAAAAAAAGg/kpuVCvztmo8/s320/G005b.jpg" alt="" id="BLOGGER_PHOTO_ID_5377744638450318578" border="0" /&gt;&lt;/a&gt;Java3D es un entorno bastante curioso. Consiste en generar un arbol de objetos de manera que cada nodo puede tener unas propiedades de rotación, traslado, escalado o cualquier matriz de transformación que le queramos aplicar. Cuando se aplica una matriz de rotación sobre un nodo todos los objetos que descienden de ese nodo quedan rotados con los mismos grados. Desde el punto de vista real, tiene bastante lógica. Cuando un personaje rota un brazo todo el brazo queda rotado. Pero si a su vez rotamos la muñeca está tendrá aplicada dos rotaciones el correspondiente al brazo y el concreto de la muñeca. En este caso el brazo estaría por encima de la muñeca dentro del diseño del árbol.&lt;br /&gt;&lt;br /&gt;Desde el punto de vista del diseño, la casa está compuesta por paredes, puertas, camas y mesas. No es que sea mucho, pero está bién para ser un ejemplo. Claramente no se puede traspasar las paredes, camas y mesas. En el caso de las puertas hay un efecto muy curioso que consiste en que se abra la puerta automaticamente cuando te acercas. Finalmente, podreis ver en un pequeño plano 2D el mapa desde la parte superior para saber exactamente donde estais en cada momento.&lt;br /&gt;&lt;br /&gt;Para ejecutarlo disponeis de un fichero Casa3D.bat que os permitirá lanzar la aplicación con el classpath conectado a los ficheros .jar.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.mediafire.com/download.php?m2jmwmjxy2x"&gt;&lt;img style="cursor: pointer; width: 320px; height: 320px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SqGWYg2eOGI/AAAAAAAAAGo/68EvJfqha3E/s320/G005a.jpg" alt="" id="BLOGGER_PHOTO_ID_5377744777936517218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?m2jmwmjxy2x"&gt;Pulsar aquí para descargar el código&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-8507903329408170818?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/8507903329408170818/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/java-3d-moverse-por-una-casa-usando-los.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8507903329408170818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8507903329408170818'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/java-3d-moverse-por-una-casa-usando-los.html' title='Java 3D - Moverse por una casa usando los cursores'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_81YuvYbUu9A/SqGUJzq2smI/AAAAAAAAAGI/PWMd26ky4ZQ/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-7408385954246833719</id><published>2009-09-02T19:18:00.016+02:00</published><updated>2009-09-03T07:07:08.740+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='resolver'/><category scheme='http://www.blogger.com/atom/ns#' term='Sudoku'/><category scheme='http://www.blogger.com/atom/ns#' term='Experimento'/><title type='text'>Experimento práctico - Resolver un Sudoku en 10 minutos con Java</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/Sp7SLoMcjtI/AAAAAAAAAF4/-lXBf49wXyU/s1600-h/Experimento.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/Sp7SLoMcjtI/AAAAAAAAAF4/-lXBf49wXyU/s320/Experimento.png" alt="" id="BLOGGER_PHOTO_ID_5376966102336966354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La semana pasada compré una revista y en esta encontré un concurso que consistía en rellenar un Sudoku hexadecimal (16x16) y enviar el resultado para participar. Con los Sudokus normales (0-9 digitos) suelo tardar 1 o 2 horas en resolverlo o incluso dejarlo sin acabar por lo que no puedo imaginarme cuanto tardaría con este. Sin embargo, la idea de participar en el concurso me pareció atractiva. Así que la solución que opte es hacer un programa que me lo resolviese :). Pues bién, implementar el algoritmo puede costar unos 10 minutos. (He aquí una prueba de eficiencia que demuestra que hay que intentar automatizar todo lo posible en cualquier proyecto de software y evitar hacer las cosas manualmente.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Algoritmos de búsqueda&lt;/span&gt;&lt;br /&gt;Resolver este tipo de problemas mediante un algoritmo es relativamente fácil ya que se puede utilizar multitud de algoritmos de inteligencia artificial como los de busqueda o backtracking. Al hablar de inteligencia artificial parece que estamos hablando de algo complejo por la fama que se le ha dado en el cine. Sin embargo, si no hablo de inteligencia artificial y digo que es hacer que el ordenador pruebe cosas hasta que sale ya parece algo más fácil. Y de hecho tiene más de artificial que de inteligencia :).&lt;br /&gt;&lt;br /&gt;La problemática de este tipo de soluciones es la velocidad en resolución en ciertos casos. Al intentar probar todas las posibles combinaciones hay que tener mucho cuidado de que el algoritmo no intente realizar operaciones redundantes o de una gran cantidad de combinaciones para así llegar antes al resultado. Una forma de representar todas las combinaciones es con un árbol o un grafo. En este se dibujar un posible estado (posición del tablero) y una flecha por cada movimiento que se puede realizar de manera que si estás en un estado (nodo) y realizas un movimiento (flecha) llegas a otro estado (nodo). Lo interesante es recorrer ese nodo de manera adecuada y eficiente.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/Sp7WeIJgBdI/AAAAAAAAAGA/Fo4hbtIzzNs/s1600-h/G004.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 261px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/Sp7WeIJgBdI/AAAAAAAAAGA/Fo4hbtIzzNs/s400/G004.jpg" alt="" id="BLOGGER_PHOTO_ID_5376970818198701522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;La representación del tablero y variables de optimización&lt;/span&gt;&lt;br /&gt;En el caso del Sudoku hexadecimal, hemos representado el tablero en un array de 16x16 y para optimizar hemos creado tres matrices de booleanos de 16x16. Estas matrices sirven para marcar si en una misma fila, columna o recuadro ya hemos puesto ese número y así evitar pasar por estados imposibles del tablero y así ser más eficiente en la busqueda. De esta manera cuando ponemos un número en el tablero, marcamos la correspondiente fila, columna y cuadro para que no lo intente poner en un futuro. Si con ese número no ha funcionado y vamos a probar con otro, liberamos las casillas antes marcadas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Algoritmos recursivos&lt;/span&gt;&lt;br /&gt;Desde el punto de vista de algorítmica, hemos implementado un algoritmo recursivo. Yo personalmente no soy un fan de los algoritmos recursivos, pero tampoco les tengo manía. Tiene sus cosas buenas y malas. Recuerdo que cuando daba clases, la gente entiendía antes un algoritmo no recursivo que un algoritmo recursivo. En un algoritmo no recursivo se vé cuando algo se repite ya que lo estás indicando explícitamente. Un algoritmo recursivo hay que darse cuenta que has hecho una llamada a tí mismo (o de manera indirecta) para darte cuenta que eso se repite. Sin embargo, una vez comprendidos te das cuenta que para recorridos de árboles y gráfos se realizan con menos código.&lt;br /&gt;&lt;br /&gt;Pues nada, os dejo el programa para que os lo descargueis. Tiene una matriz Sudoku inicial con valores 0-15 e indicando con -1 las casillas a recorrer. Tras ejecutar el algoritmo recursivo de resolución de Sudokus mostrará la solución. El algoritmo muestra todas las soluciones posibles. En el caso de la revista claramente solo hay una posible solución.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Finalmente un reto fácil para que participeis.&lt;/span&gt;&lt;br /&gt;Si os apetece, os puedo proponer un reto de nivel fácil. ¿Como se hace un Sudoku? ¿Quien decide que letras se ponen? Pues bién, no hay un señor que se dedique a poner letras al azar y que salga lo que salga. Para que un Sudoku tenga una única posible solución solo se puede hacer a través de un algoritmo. Hacerlo a ojo sería muy dificil. La propuesta que os hago esta vez para que implementeis es crear un generador de Sudokus hexadecimales que genere el tablero totalmente al azar (tanto de números como de casillas libres) y que al resolverlo solo haya una solución  posible (y cada Sudoku tiene combinatoria diferente, no vale utilizar un mismo Sudoku alternando los números o rotarlos 90º). El primero que me lo envié lo publicaremos aquí ... y  se me ocurre que se puede preparar una especie de muro o zona con las personas o nicks que primero envían cada reto :)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?hojzmwmnkw2"&gt;Aquí podeis descargar el código fuente.&lt;/a&gt;&lt;br /&gt;&lt;tablero.length;n++){&gt;&lt;tablero[n].length;m++){&gt;&lt;tablero.length;n++){&gt;&lt;tablero[n].length;m++){&gt;&lt;tablero[n].length;m++){&gt;&lt;br /&gt;ACTUALIZACION: Sobre el reto, se me olvidaba comentar ... a&lt;/tablero[n].length;m++){&gt;&lt;/tablero[n].length;m++){&gt;&lt;/tablero.length;n++){&gt;&lt;/tablero[n].length;m++){&gt;&lt;/tablero.length;n++){&gt;demás, se le debe quitar los todos los recuadros posibles (no vale dejar vacio solo un recuadro).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-7408385954246833719?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/7408385954246833719/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/experimento-practico-resolver-un-sudoku.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7408385954246833719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7408385954246833719'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/09/experimento-practico-resolver-un-sudoku.html' title='Experimento práctico - Resolver un Sudoku en 10 minutos con Java'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/Sp7SLoMcjtI/AAAAAAAAAF4/-lXBf49wXyU/s72-c/Experimento.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-7230545903835091565</id><published>2009-08-31T16:18:00.007+02:00</published><updated>2009-08-31T22:10:17.328+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><title type='text'>Screencast Solo Programadores 142 - Matamarcianos con Laszlo y Eclipse</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/SpvfVw4ESkI/AAAAAAAAAFw/WPcsioJ7wzg/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/SpvfVw4ESkI/AAAAAAAAAFw/WPcsioJ7wzg/s400/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5376136145187129922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Este screencast está construido debido a una solicitud via email por una persona que nos pedía realizar algo con Laszlo. En esta ocasión podreis ver una matamarcianos bastante bueno de aspecto gráfico. De este videojuego podriamos destacar el uso de planos de scroll que dan una sensación de velocidad y perspectiva. De hecho los planos de scroll, antes de la llegada del 3D, era algo que se "vendia" como característica del videojuego (Ej: "Tiene 8 planos de scroll"). En esta ocasión estos planos los hemos construido utilizando ficheros .png por lo que hemos podido crear imagenes semitransparentes como son las nubes. También teneis hasta 5 fases diferentes que cambiarán cada 10.000 puntos.&lt;br /&gt;&lt;br /&gt;A parte de eso, comentar que cuando me solicitaron realizar algo con Laszlo no lo habia utilizado nunca pero sentía bastante curiosidad por lo que había oido hablar de él. Según mi opinión, es uno de los lenguajes/plataformas que se ha sabido poner en la ola de las aplicaciones RIAA siendo uno de las primeras herramientas que daba todo en un entorno de servidor-lenguaje propio declarativo y además permitia interfaces espectaculares. Como desventajas a tener en cuenta son que generan flash, al menos en aquel año, pero creo que estaban trabajando en una versión javascript (o lo he soñado, no sé). Actualmente, tiene muchisima competencia y más completa, y quizás más compatible con lenguajes y estandars a los que estamos acostumbrados.&lt;br /&gt;&lt;br /&gt;Finalmente, aquí teneis el juego que espero que os guste. Comentar que como compila a Flash encontrareis en el bin un fichero .swf y podeis jugar directamente (No hará falta montar todo el servidor. :) )&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/142/Video-142.zip"&gt;&lt;img style="cursor: pointer; width: 400px; height: 255px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/SpvfOh5B3YI/AAAAAAAAAFo/jCZ7h-OQujo/s400/SC142.jpg" alt="" id="BLOGGER_PHOTO_ID_5376136020905549186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/142/Video-142.zip"&gt;Pulsar aquí para descargar el juego y el código fuente&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/9213580289119732835-7230545903835091565?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/7230545903835091565/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-142.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7230545903835091565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/7230545903835091565'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-142.html' title='Screencast Solo Programadores 142 - Matamarcianos con Laszlo y Eclipse'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_81YuvYbUu9A/SpvfVw4ESkI/AAAAAAAAAFw/WPcsioJ7wzg/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-8518094034010728176</id><published>2009-08-27T00:15:00.005+02:00</published><updated>2009-08-27T00:30:54.037+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><title type='text'>Screencast Solo Programadores 141 - J2ME - Boxeo en el movil</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SpW27tQIm2I/AAAAAAAAAFQ/z854JZWcaYs/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SpW27tQIm2I/AAAAAAAAAFQ/z854JZWcaYs/s320/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5374402867212360546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Y aquí viene un screencast donde programaremos un juego de los que más me gustan. Estoy seguro que en algún momento habeis jugado al típico juego de boxeo de la Nintendo Wii u otras versiones anteriores. Es un juego cuya perspectiva es en primera persona y la estrategia es golpear al contrario pero también defenderte. En esta ocasión hemos programado un juego similar utilizando Java Micro Edition para poderlo portar a un movil.&lt;br /&gt;&lt;br /&gt;Uno de los problemas que tienen los juegos java en moviles es que no todas las pantallas tienen la misma resolución. Por ello, hay a veces que realizar un escalado de la imagen para adaptarlo a la resolución del movil. En nuestro caso, podremos ver que todos los x,y que se calculan pasan por una función de escalado. Todos los dibujos son poligonos, no utilizaremos imagenes. En el caso de las imagenes el problema del escalado es mayor ya que en su día no existia un drawImage que permitiese un escalado. En las versiones más actuales del JME si se permite ya pero hay que tener en cuenta que no todos los moviles tienen la última versión de Java.&lt;br /&gt;&lt;br /&gt;Hay que tener en cuenta las dos barras superiores. La roja es la vida que te queda y la azul la fuerza. La fuerza decrementa un poco si golpeais al contrario. A medida que esa vaya bajando los golpes serán menos efectivos por lo que aunque acerteis a golpearle no le quitareis casi vida al contrario. (No vayais a hacer como un compañero que se lo instaló en el movil para jugar y me dijo que no podia ganar nunca. Claramente daba golpes uno trás otro sin descansar).&lt;br /&gt;&lt;br /&gt;Durante el descanso hay dos posiciones: poner los puños arriba o abajo. Es importante que los pongais donde penseis que os va a pegar el contrario ya que si acertais el golpe será parado y no os quitará energía. Si recibis el golpe, lo notareis pues se pone la imagen roja durante un fotograma. Y creo que nada más ... 4 y 6 golpear, 2 y 8 subir y bajar puños. Que lo disfruteis !!! (Y disfruteis el screencast "making off")&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/141/Video-141.zip"&gt;&lt;img style="cursor: pointer; width: 224px; height: 320px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SpW2_gMSVVI/AAAAAAAAAFY/sxrUM-ieXV0/s320/SC141.jpg" alt="" id="BLOGGER_PHOTO_ID_5374402932426036562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/141/Video-141.zip"&gt;Pulsar aquí para descargar el screencast + código fuente&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/9213580289119732835-8518094034010728176?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/8518094034010728176/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-141-j2me.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8518094034010728176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/8518094034010728176'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-141-j2me.html' title='Screencast Solo Programadores 141 - J2ME - Boxeo en el movil'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SpW27tQIm2I/AAAAAAAAAFQ/z854JZWcaYs/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4503346934840618512</id><published>2009-08-25T00:30:00.007+02:00</published><updated>2009-08-25T00:36:26.938+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><title type='text'>Screencast Solo Programadores 140 - Java3D - Patos al agua</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/SpMVQp58jRI/AAAAAAAAAFI/9CmOkLvl-XY/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SpMVQp58jRI/AAAAAAAAAFI/9CmOkLvl-XY/s320/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5373662156254121234" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;En el siguiente screencast vamos a desarrollar una pequeña aplicación con Java3D. La animación consiste en un grupo de patos que nadan en un estanque de manera circular. Durante el video  podremos ver como instalar las herramientas necesarias, como diseñamos los patos y les damos movimiento.&lt;br /&gt;&lt;br /&gt;Es una práctica muy fácil para personas que quieren conocer Java3D. Actualmente, también hay más herramientas y más potentes para Java como JOGL para el diseño 3D.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/140/Video-140.zip"&gt;&lt;img style="cursor: pointer; width: 320px; height: 294px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SpMVHu-wcxI/AAAAAAAAAFA/HNLzdpxy5Qs/s320/SC140.jpg" alt="" id="BLOGGER_PHOTO_ID_5373662002997654290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/140/Video-140.zip"&gt;Pulsar aquí para descargar el video&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/9213580289119732835-4503346934840618512?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4503346934840618512/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-140.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4503346934840618512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4503346934840618512'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-140.html' title='Screencast Solo Programadores 140 - Java3D - Patos al agua'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_81YuvYbUu9A/SpMVQp58jRI/AAAAAAAAAFI/9CmOkLvl-XY/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-9157542262143535608</id><published>2009-08-23T23:24:00.012+02:00</published><updated>2009-08-24T01:02:19.112+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MD5'/><category scheme='http://www.blogger.com/atom/ns#' term='Experimento'/><title type='text'>Experimento práctico - ¡¡¡ Vamos a romper MD5 !!!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/SpG8GfeOr1I/AAAAAAAAAEw/2VyQnXIPLT8/s1600-h/Experimento.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/SpG8GfeOr1I/AAAAAAAAAEw/2VyQnXIPLT8/s320/Experimento.png" alt="" id="BLOGGER_PHOTO_ID_5373282650143240018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En esta ocasión me gustaría proponer un experimento para que podais participar: ¡Romper el algoritmo MD5!. Bueno ... de hecho, ya está roto. Hace ya unos años que explicaron que se encontraban colisiones. Me gustaría romperlo de una manera muy particular. Para el que no entienda de que estoy hablando, vamos con un poco de historia.&lt;br /&gt;&lt;br /&gt;Lo primero que creo que debo explicar es:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"¿Que es &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://es.wikipedia.org/wiki/MD5"&gt;MD5&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;?". &lt;/span&gt;&lt;br /&gt;Este es un algoritmo que permite crear un código de 128 bits a partir de un documento, texto o fichero. Las propiedades teóricas de este código es una función sin inversa, es decir a partir del código no se puede sacar el documento o texto original. Por ello se suele utilizar para guardar las claves, guardando en vez de la clave en texto plano, el código obtenido. Otra supuesta propiedad que tiene es que su clave es unica. Es decir, dos documentos no pueden generar la misma clave. Por ello, se utiliza para comprobar que cuando descargamos un documento de internet podamos verificar que todo ha llegado y no he descargado otro que alguien haya modificado con un virus o algo parecido.&lt;br /&gt;&lt;br /&gt;Pues bién, esta última propiedad de dos documentos siempre generan claves diferentes es lo que hay en entredicho. En realidad hay un ley matemática que en resumidas cuentas dice "de donde no hay no se puede sacar". Esto significa que es muy utópico que en 128 bits seamos capaces de representar todos los documentos que podamos generar sin que se repitan. Intentar que todos los posibles documentos que ocupan megas  se representen en 128 bits, incluso en 160 como SHA1, no tiene razón matemática por la limitación de la clave. Si es cierto que cuantos más bits tiene la clave, menos probabilidad, pero no es imposible.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;¿De que noticia está basada el experimento?&lt;/span&gt;&lt;br /&gt;El experimento que me gustaría proponer tiene como referencia una noticia del 2006 en el que un australiano recurrió una multa de tráfico. El caso es que la defensa alegó que la foto de la policía estaba modificada por haber cambiado la matrícula del coche. En ese momento los técnicos de la acusación ("policia") comentaron que eso era imposible porque guardaban también la clave Hash(MD5) de la imagen capturada. La parte de la defensa les pidieron que demostrarán que era imposible crear claves iguales a partir de diferentes imagenes, pero estos no supieron demostrar esa propiedad y el hombre se libró de pagar la multa. (No sé si es verídico pero esta noticia apareció en varios sitios).&lt;br /&gt;&lt;a href="http://www.geonoticias.com/noticias/software/usar-md5-para-multas-de-tr%E1fico.html"&gt;http://www.geonoticias.com/noticias/software/usar-md5-para-multas-de-tr%E1fico.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿En que consiste el experimento?&lt;/span&gt;&lt;br /&gt;Pues bién, me gustaría hacer eso mismo. He preparado dos imagenes del mismo coche pero uno con la matricula manipulada con el gimp y el objetivo es precisamente este, conseguir que las dos imagenes tengan el mismo MD5 sin que la imagen del coche quede alterada a la vista.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_81YuvYbUu9A/SpG7iDigXqI/AAAAAAAAAEg/l7dLRiu3j00/s1600-h/Coche01a.bmp"&gt;&lt;img style="cursor: pointer; width: 220px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SpG7iDigXqI/AAAAAAAAAEg/l7dLRiu3j00/s320/Coche01a.bmp" alt="" id="BLOGGER_PHOTO_ID_5373282024169692834" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/SpG7y2UME2I/AAAAAAAAAEo/WkCJeTSghmE/s1600-h/Coche02a.bmp"&gt; &lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SpHHw2znAWI/AAAAAAAAAE4/38Km2eoA0xc/s1600-h/Coche02.bmp"&gt;&lt;img style="cursor: pointer; width: 220px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SpHHw2znAWI/AAAAAAAAAE4/38Km2eoA0xc/s320/Coche02.bmp" alt="" id="BLOGGER_PHOTO_ID_5373295472589341026" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;¿Y como lo podemos conseguir?&lt;/span&gt;&lt;br /&gt;En los ficheros que podeis descargar teneis dos imagenes BMP de 24 bits con los coches. Estos ficheros almacenan la información rojo-verde-azul uno en cada byte. Un color por lo tanto se representa en ocho bits y segun sea su intensidad de color el valor del byte va incrementando.&lt;br /&gt;&lt;br /&gt;Ej: Imaginemos que tomamos un byte rojo. Si el valor que tiene es '00000000' significa que no existe rojo en ese pixel y si el valor que tiene es '11111111' significa que tiene la tonalidad roja al máximo. Mezclando este byte con los otros dos bytes es cuando podemos crear otros colores. Ahora bién, no todos los bits tienen la misma importancia. Los bits de menos peso prácticamente son inapreciables al ojo humano, y eso es lo que vamos a aprovechar. Si tenemos el siguiente byte '11111111' y lo cambiamos por '11111110' vas a comprobar que el color es el mismo. En realidad no lo es, pero tu no lo detectarás. Incluso el segundo bit también podríamos cambiarlo '11111111' por '11111100' y seguirás viendo el mismo color.&lt;br /&gt;&lt;br /&gt;Pues bién, he puesto a disposición para que podais descargar un algoritmo en java que hace precisamente esto. Comprueba que el MD5 de la imagen A y la B sean iguales. Si no lo es, modifica 2 bits aleatorios en la imagen de los que tienen menos peso y vuelve a comprobar si coincide el MD5 de la imagen A y B.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Y es posible que exista una colisión matematicamente?.&lt;/span&gt;&lt;br /&gt;Las imagenes de estos coches tienen un tamaño de 450x300. Esto significa que hay 135000 pixeles. Cada pixel tiene 3 colores RGB y de cada color modificamos los ultimos 2 bits -&gt; 135000 * 3 * 2=810000 bits que podemos estar cambiando. Es decir, que el número de documentos posibles que podemos generar es 2^810000 que es muy superior a 2^128 del MD5.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Y en cuanto tiempo se puede obtener?&lt;/span&gt;&lt;br /&gt;Aquí es donde está la pega. Este tipo de algoritmos son lo que se denomina "por fuerza bruta". Es decir, probar cosas hasta que sale. Ahora mismo en el código hay un sleep de 50 milisegundos para que si lo poneis funcionando, podais estar haciendo más cosas y el ordenador no se quede colgado. Este valor lo podeis cambiar. Si lo dejais como está se supone que prueba unos 14.400.000 casos al día. Es decir que para comprobar todos los casos tardaría unos 2^128/((14.5 millones)*365) = 64741698424836085133823174929,941 años.  (Creo que es más probable acertar con el salvapantallas de buscar vida extraterrestre). Yo en su día lo puse durante 1 semana y finalmente lo quité. Ahora lo he vuelto a intentar a ver si hay suerte :).&lt;br /&gt;&lt;br /&gt;En todo caso, es más interesante entender como funciona el algoritmo MD5 y atacar por ahí. Así que si quereis intentarlo de otro modo, adelante!!.&lt;br /&gt;&lt;br /&gt;Os dejo aquí el algoritmo de fuerza bruta por lo quereis probar suerte y quien quiera usar otros métodos, perfecto. Quién consiga crear el mismo MD5 le publicaremos algún tipo de noticia en su nombre y lo intentaremos promocionar por meneame y webs parecidas. Creo, aunque me puedo equivocar, que este experimento concreto no se ha hecho en el mundo, al menos hecho público, por lo que lo veo muy interesante.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.mediafire.com/download.php?45tnemtzmrm"&gt;Aquí podeis descargar el algoritmo java + las imagenes de los vehiculos.&lt;/a&gt;&lt;br /&gt;&lt;/div&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/9213580289119732835-9157542262143535608?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/9157542262143535608/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/experimento-practico-vamos-romper-md5.html#comment-form' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/9157542262143535608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/9157542262143535608'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/experimento-practico-vamos-romper-md5.html' title='Experimento práctico - ¡¡¡ Vamos a romper MD5 !!!'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/SpG8GfeOr1I/AAAAAAAAAEw/2VyQnXIPLT8/s72-c/Experimento.png' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4315104666301965791</id><published>2009-08-20T16:08:00.012+02:00</published><updated>2009-08-21T00:38:59.541+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='retro'/><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><title type='text'>Videojuego retro en QBasic - Zona Line 2 (Clon del Tron)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/So3KQKUmd7I/AAAAAAAAAEQ/qjuqDdgDpVs/s1600-h/Retro.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/So3KQKUmd7I/AAAAAAAAAEQ/qjuqDdgDpVs/s320/Retro.png" alt="" id="BLOGGER_PHOTO_ID_5372172309520349106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;A continuación vamos con un juego retro. Este es el juego propio más antiguo que aún conservo (del año 1995 aprox). El código fuente que podreis descargar está diseñado para QBasic. Este era un compilador/interprete para Basic que se regalaba con MSDos.&lt;br /&gt;&lt;br /&gt;Es muy curioso como se valoran las cosas según experiencias anteriores. Cuando inicié con QBasic me sorprendió gratamente ya que no tenía que poner en número de la línea al principio. Esto que parece una tontería, no lo es. En el antiguo Basic era obligatorio poner un número de línea por lo que tenias que tener muy claro que es lo que iba a realizar la aplicación y en cuantas líneas lo ibas a realizar. Existían trucos como númerar las líneas de 10 en 10 para de esta forma si necesitabas poner líneas en medio tenías 9 números más. La eliminación de los números en las líneas supuso un gran avance que convertía los lenguajes de programación en algo más humano. De hecho, ese es el futuro de la programación. A medida que los lenguajes evolucionan, intentan emular más a la perspectiva humana como por ejemplo la programación orientada a objetos. Para mí, los lenguajes del futuro estarán orientados al modo de ver de las personas, e incluso, a pensar y tomar decisiones. Aquí se abre otra reflexión pero que la trataré en otro hilo ¿Como se comenten menos fallos? ¿Intentar que el programador piense y decida o que el lenguaje de programación piense y decida? Actualmente, no conozco lenguajes de programación que tengan IA y sepan decidir que hacer cuando hay un null, una situación inesperada o incluso que se comunique con el usuario final para en caso de duda de elegir opciones y aprenda (al igual de en el desarrollo ágil pero interaccionando directamente con el programa), pero darle tiempo...&lt;br /&gt;&lt;br /&gt;Volviendo al tema del juego, este está básado en la famosa pelicula Tron en la que motos cibernéticas son dirigidas en un campo de batalla y dejan una estela en forma de muro. El objetivo del juego es conseguir que la otra moto se estrelle.  Aquí teneis una espectular escena de la película :)&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-3ODe9mqoDE&amp;amp;hl=es&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/-3ODe9mqoDE&amp;amp;hl=es&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;br/&gt;El juego básico, líneas que se mueven y se estrellan, es muy fácil de desarrollar. De hecho cuando faltaba el profesor en clase de programación, en 5-10 minutos programabamos uno y pasabamos la hora jugando entre varias personas :). Sin embargo, esta versión esta mejorada permitiendo elegir entre varios paises y cada uno tiene algo especial. Algunos lanzan bombas o estelas como Francia, España y URSS, otros son defensivos como Italia o Canada. Las teclas del juego son 8,4,6,2 para moverse y tecla espaciadora para lanzar la "magia" (aunque hay algunos que la propia característica la usan siempre y no utilizan el espacio como el caso de Brasil o Canada) . Comentar también que las "magias" hay que capturarlas. Podreis ver unos circulos en los que hay que pasar por encima.&lt;br /&gt;&lt;br /&gt;Para que no os asusteis, comentaros que al principio aparece al cambiar cada mes un mensaje de que se van a borrar los Hits. Esto es solo que las puntuaciones se reinician al cambiar de mes.&lt;br /&gt;&lt;br /&gt;Por último, como es un juego muy antiguo, seguramente os irá muy rápido por la velocidad del procesador. En aquél momento, los ordenadores tenían un botón "turbo" para poner el procesador a la mitad de la velocidad. Ahora está todo más sincronizado con el tiempo real, en vez de con la velocidad del CPU. Sin embargo, para jugar a juegos antiguos a una velocidad normal es necesario un emulador de MSDOS en procesadores antiguos. Si quereis podeis instalaros &lt;a href="http://www.dosbox.com/"&gt;DOSBox&lt;/a&gt;. Os explico los pasos:&lt;br /&gt;1-Descargar e instalar &lt;a href="http://www.dosbox.com/"&gt;DOSBox&lt;/a&gt;.&lt;br /&gt;2-En la opción del menu nueva, ir a DOSBox-&gt;Configuración-&gt;Editar configuracion.&lt;br /&gt;3-Cambiar la linea cycles=auto por cycles=max. (A mí con esto me va más o menos a la misma velocidad del 486 de 66Mhz).&lt;br /&gt;4-Ejecutar DOSBox en el menú.&lt;br /&gt;5-Escribir "mount c rutadeldirectoriodelZL2"&lt;br /&gt;6-Escribir "c:"  y finalmente ejecutar el bat "ZL2"&lt;br /&gt;Y con esto ya estaría.&lt;br /&gt;&lt;br /&gt;El código fuente lo teneis en el fichero con extensión .BAS. Lo escribi hace mucho así que no seais muy críticos. Recientemente fui a leer ese código y no entendia nada :)&lt;br /&gt;&lt;br /&gt;Y no me enrollo más ... que me ha salido un post muy largo. :)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.mediafire.com/download.php?3jzjlzzlidz"&gt;&lt;img style="cursor: pointer; width: 320px; height: 210px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/So3KXLx90oI/AAAAAAAAAEY/yxMvQmvNOMo/s320/G003a.jpg" alt="" id="BLOGGER_PHOTO_ID_5372172430171034242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?3jzjlzzlidz"&gt;Pulsar aquí para descargar el juego + código fuente (.bas)&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-4315104666301965791?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4315104666301965791/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/videojuego-retro-en-qbasic-zona-line-2.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4315104666301965791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4315104666301965791'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/videojuego-retro-en-qbasic-zona-line-2.html' title='Videojuego retro en QBasic - Zona Line 2 (Clon del Tron)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/So3KQKUmd7I/AAAAAAAAAEQ/qjuqDdgDpVs/s72-c/Retro.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-175666266725507733</id><published>2009-08-19T16:22:00.005+02:00</published><updated>2009-08-19T16:33:52.371+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><title type='text'>Screencast Solo Programadores 139 - Gráficas dinámicas con PHPLot</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/SowMrmEuzzI/AAAAAAAAAEI/WX0GvlMFq_c/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/SowMrmEuzzI/AAAAAAAAAEI/WX0GvlMFq_c/s320/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5371682398640459570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En esta ocasión teneis un screencast para las personas interesadas en PHP. La mayoria de las personas conoce lo fácil que es poner una imagen en un html. Sin embargo, ya menos personas sabrían crear esas imagenes de manera dinámica a partir de unos datos obtenidos de una base de datos, servicio web, fichero, etc. En este video aprenderemos como crear gráficas empresariales utilizando una herramienta llamada PHPLot.&lt;br /&gt;&lt;br /&gt;Durante el video veremos como instalar un servidor apache y dar servicio para ficheros php  y a continuación se explicará como configurar y utilizar esta librería mostrar estas gráficas dinámicas.&lt;br /&gt;&lt;br /&gt;En su día también existian otras alternativas para PHP como JpGraph. Sin embargo ,PHPLot me gustó por lo simple que era ya que su competencia directa(JpGraph) tiene una jerarquía de clases más compleja y, como consecuencia, una línea de aprendizaje más lenta (aunque los resultados con JpGraph son mucho mejores que con PHPlot).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/139/Video-139.zip"&gt;&lt;img style="cursor: pointer; width: 320px; height: 205px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SowMl8C2VYI/AAAAAAAAAEA/wy00-_r-SVA/s320/SC139.jpg" alt="" id="BLOGGER_PHOTO_ID_5371682301458929026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/139/Video-139.zip"&gt;Pulsar aquí para descargar el screencast&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/9213580289119732835-175666266725507733?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/175666266725507733/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-139.html#comment-form' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/175666266725507733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/175666266725507733'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-139.html' title='Screencast Solo Programadores 139 - Gráficas dinámicas con PHPLot'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/SowMrmEuzzI/AAAAAAAAAEI/WX0GvlMFq_c/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-5606523628309295341</id><published>2009-08-17T19:36:00.006+02:00</published><updated>2009-08-17T19:49:01.599+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><title type='text'>Screencast Solo Programadores 138 - Aprendiendo inglés</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/SomWm6mwNHI/AAAAAAAAADQ/oyQ2YjpW6ug/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/SomWm6mwNHI/AAAAAAAAADQ/oyQ2YjpW6ug/s320/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5370989625927021682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El siguiente screencast tratará de programar una aplicación utilizando Macromedia Flash 8 Profesional. En este caso crearemos una aplicación de preguntas y respuestas sobre traducción de palabras en inglés. Las palabras se leerá de un XML todas las palabras predefinidas. A continuación mostrará la palabra en español y solicitando la traducción. En el caso de acertar se incrementará la puntuación mostrando finalmente la nota obtenida.&lt;br /&gt;&lt;br /&gt;Al margén de la programación, también realizaremos una explicación de diseño utilizando degradados y edición de imagenes utilizando gimp. Además aprenderemos a crear un fichero .ico.  y finalmente explicaremos como crear un CD autoarrancable de manera que se ejecute el fichero .exe que haya generado con Flash al introducir el CD.&lt;br /&gt;&lt;br /&gt;Este tutorial es ideal para personas que deseen conocer el uso de Flash.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/138/Video-138.zip"&gt;&lt;img style="cursor: pointer; width: 270px; height: 195px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SomWsJVsIZI/AAAAAAAAADY/bw6jB9YVNBs/s320/SC138.jpg" alt="" id="BLOGGER_PHOTO_ID_5370989715781329298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/138/Video-138.zip"&gt;Pulsar aquí para descargar el screencast&lt;br /&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/9213580289119732835-5606523628309295341?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/5606523628309295341/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-138.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5606523628309295341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/5606523628309295341'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-138.html' title='Screencast Solo Programadores 138 - Aprendiendo inglés'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/SomWm6mwNHI/AAAAAAAAADQ/oyQ2YjpW6ug/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-985729737494163057</id><published>2009-08-14T15:42:00.005+02:00</published><updated>2009-08-14T15:59:36.473+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><title type='text'>Screencast Solo Programadores 137 - Buscando la pareja</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SoVsy0wz5RI/AAAAAAAAADA/5RT5lFLTsbA/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SoVsy0wz5RI/AAAAAAAAADA/5RT5lFLTsbA/s200/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5369817751121814802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En el siguiente screencast programaremos un juego realizado unicamente con botones. El juego consiste en esconder parejas de objetos, números, letras o lo que sea e ir descubriendolos. Para ello hay que hacer click en dos botones y descubrir lo que hay en estos. Al hacer click en dos casillas con elementos iguales estas desaparecerán. El objetivo del juego es hacer desaparecer todas las casillas antes de que se acabe el tiempo.&lt;br /&gt;&lt;br /&gt;Desde el punto de vista técnico, es un juego desarrollado con Visual Studio 2005 utilizando lenguaje Basic. Veremos como configurar las propiedades en modo diseño y en modo ejecución, aplicar un icono y finalmente generar un exe. Este tutorial estará orientado a personas que acaban de iniciar y quieren comprobar como funciona VS.NET&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/137/Video-137.zip"&gt;&lt;img style="cursor: pointer; width: 320px; height: 193px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SoVs5J3cnDI/AAAAAAAAADI/_pWn-Ka6QJk/s320/SC137.jpg" alt="" id="BLOGGER_PHOTO_ID_5369817859866008626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/137/Video-137.zip"&gt;Pulsar aquí para descargar el screencast&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-985729737494163057?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/985729737494163057/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-137.html#comment-form' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/985729737494163057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/985729737494163057'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-137.html' title='Screencast Solo Programadores 137 - Buscando la pareja'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SoVsy0wz5RI/AAAAAAAAADA/5RT5lFLTsbA/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-6475969564848550273</id><published>2009-08-13T19:26:00.007+02:00</published><updated>2009-08-13T20:04:56.753+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><title type='text'>Comunicando podcast 113 - Distribuciones Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/SoRPBYZjbfI/AAAAAAAAACo/0DECl-Laqbw/s1600-h/comunicando.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 170px; height: 92px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/SoRPBYZjbfI/AAAAAAAAACo/0DECl-Laqbw/s320/comunicando.png" alt="" id="BLOGGER_PHOTO_ID_5369503540880567794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ya hace algunas semanas que se publicó ... pero sigue estando el número más reciente. Hace poco nuestro amigo Nacho López del podcast de Linux Hispano y un servidor iniciamos una sección en el podcast de comunicando. La verdad es que es un honor que Jose Antonio Gelado nos haya dejado llevar a cabo esta sección ya que "Comunicando podcast" es quizá el podcast de más prestigio de habla española por ser el pionero y del que aprendí trucos como la importancia de nombrar la fecha al principio del podcast y otras cosas.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.comunicandopodcast.com/index.php?id=116"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 170px; height: 200px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/SoRPPWfjOMI/AAAAAAAAAC4/e8xRtzp4lLo/s200/CP01.jpg" alt="" id="BLOGGER_PHOTO_ID_5369503780887017666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;La sección tratará de software libre y en esta primera entrega hemos hablado precisamente de Linux. No entramos mucho en profundidad ya que lo que hicimos es repasar las distribuciones y algunas denominaciones para personas que no saben por donde empezar. En este número quién realmente "corta el bacalao" es Nacho ya que mi nivel es más bién de usuario.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.comunicandopodcast.com/index.php?id=116"&gt;Aquí teneis el link de la noticia y el audio del podcast.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-6475969564848550273?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/6475969564848550273/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/comunicando-podcast-109-distribuciones.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6475969564848550273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/6475969564848550273'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/comunicando-podcast-109-distribuciones.html' title='Comunicando podcast 113 - Distribuciones Linux'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/SoRPBYZjbfI/AAAAAAAAACo/0DECl-Laqbw/s72-c/comunicando.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-2435516681174971237</id><published>2009-08-11T16:54:00.015+02:00</published><updated>2009-08-11T17:28:01.775+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><title type='text'>Videojuego en java - Break ball 3D</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/SoGKz-fYdJI/AAAAAAAAABw/ZBVkWkOR6R4/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/SoGKz-fYdJI/AAAAAAAAABw/ZBVkWkOR6R4/s320/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5368724856354927762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Es curioso como una misma cosa puede tener valor diferente según la persona que lo desee. Para mí este juego tiene un gran valor sentimental pues fue mi primer artículo en la revista "Solo programadores" alla por el año 2003. En este conocí a Carlos Laparra, redactor-técnico de la revista de entonces, y según mi punto de vista, un gran profesional y una gran persona.&lt;br /&gt;&lt;br /&gt;Mi gran sorpresa fue que no solamente se publicó el artículo, sino que fue el tema de la portada de ese més. En aquella época de novedades profesionales para mí, estube con una sonrisa de oreja a oreja durante varias semanas enseñando la revista a todos mis conocidos cercanos.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_81YuvYbUu9A/SoGLZ-WaiEI/AAAAAAAAACQ/DHZPxYzlS7U/s1600-h/G002b.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 241px; height: 320px;" src="http://1.bp.blogspot.com/_81YuvYbUu9A/SoGLZ-WaiEI/AAAAAAAAACQ/DHZPxYzlS7U/s320/G002b.jpg" alt="" id="BLOGGER_PHOTO_ID_5368725509152344130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Sobre el juego, este consiste en un clon del Pang que permite jugar en 3D, es decir el jugador podrá avanzar hacia el fondo de la pantalla. Cuando lo finalicé y empecé a jugar en serio comprobé que estaba complicado disparar a la bola y entonces hice una modificación para que pulsando el botón derecho del ratón se convirtiese a 2D (Curioso no!). Tiene 10 fases diferentes aunque yo no he logrado pasar de la 5º o 6º en 2D y de la 3º en 3D. También puedes utilizar cuatro tipo de armas disparando a las cajas que van apareciendo en la parte superior. El lenguaje utilizado es java y es un applet que se ejecuta en un html.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Volviendo al tema de la revista, ahora mismo no sé si dispondrán en stock esta ya que hace 6 años de esto. Pero si teneis la ocasión de comprar los números 108 y 109, en estos explico cosas sobre desarrollo de juegos como detección de colisiones, doblebuffering, etc. Además si alguna vez nos encontramos en un futuro en algún evento de javaHispano ... os puedo poner una dedicatoria (aunque mi firma no vale nada. Ja ja ja)&lt;br /&gt;&lt;br /&gt;Aquí os dejo el juego y el código fuente para que os entretengais un poco. Anticipar que está todo en el mismo java (en aquella época aun no me tomaba en serio lo de organizar los proyectos debidamente).&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.mediafire.com/download.php?4rmzmmnrgy1"&gt;&lt;img style="cursor: pointer; width: 320px; height: 242px;" src="http://4.bp.blogspot.com/_81YuvYbUu9A/SoGMCiou3ZI/AAAAAAAAACg/rbG9CzyyvmY/s320/G002a.jpg" alt="" id="BLOGGER_PHOTO_ID_5368726206087617938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?4rmzmmnrgy1"&gt;Pulsar aquí para descargar juego + codigo fuente&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-2435516681174971237?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/2435516681174971237/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/videojuego-en-java-break-ball-3d.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2435516681174971237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/2435516681174971237'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/videojuego-en-java-break-ball-3d.html' title='Videojuego en java - Break ball 3D'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/SoGKz-fYdJI/AAAAAAAAABw/ZBVkWkOR6R4/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-3754980404656957680</id><published>2009-08-07T21:37:00.007+02:00</published><updated>2009-08-07T21:54:21.744+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><title type='text'>Screencast Solo Programadores 136 - Conversor de divisas</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SnyEc4NMOII/AAAAAAAAABo/dNdzDkuPmSM/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SnyEc4NMOII/AAAAAAAAABo/dNdzDkuPmSM/s320/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5367310487577704578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Aquí teneis un nuevo screencast publicado en el número 136 de la revista "Solo Programadores". En esta ocasión será una aplicación bastante sencilla en la que crearemos un conversor de divisas. La aplicación se dividirá en dos paneles JPanel: un teclado digital donde nosotros podremos escribir un importe y una tabla de conversiones que se podrá configurar. En dicha tabla tendremos los respectivos botones para añadir y borrar filas, ejecutar el factor de conversión, realizar la operación inversa y guardar/cargar la tabla en un fichero del disco duro.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;La aplicación está desarrollada en java utilizando componentes Swing y aprenderemos a añadir componentes compuestos en la paleta, utilizar un JTable usando un DefaultTableModel y utilizar persistencia de los datos mostrando un cuadro de selección de ficheros.   También podreis ver los layouts que se utilizaban (GridLayout, BorderLayout) antes que creasen &lt;em&gt;Matisse &lt;/em&gt;actualmente llamado Swing GUI Builder&lt;em&gt;.  &lt;/em&gt;La aplicación es bastante sencilla y está más orientado a personas que están iniciando con Swing.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/136/Video-136.zip"&gt;&lt;img style="cursor: pointer; width: 400px; height: 156px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SnyERUeqpDI/AAAAAAAAABg/nH_LXRbFI80/s400/SC136.jpg" alt="" id="BLOGGER_PHOTO_ID_5367310289008763954" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/136/Video-136.zip"&gt;Pulsar aquí para descargar el video.&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/9213580289119732835-3754980404656957680?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/3754980404656957680/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-136.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3754980404656957680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3754980404656957680'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/screencast-solo-programadores-136.html' title='Screencast Solo Programadores 136 - Conversor de divisas'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SnyEc4NMOII/AAAAAAAAABo/dNdzDkuPmSM/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-346977532669511988</id><published>2009-08-04T16:58:00.011+02:00</published><updated>2009-08-04T19:34:37.055+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><title type='text'>Videojuego en java - Columns Four Players</title><content type='html'>&lt;div style="text-align: justify;"&gt;Algunos videojuegos que se irán publicando en formato screencast surgieron antes de iniciar la sección en "Solo Programadores". Todo inició cuando un día me puse en contacto con la editorial RA-MA y les propuse hacer un libro de videojuegos. Recordaba un viejo libro que consistia en 20 juegos para Amstrad que se basaba unicamente en 20 codigos fuentes en lenguaje basic y la tarea consistía en escribir en el ordenador lo que habia en el libro exactamente.  A esta editorial le propuse crear un libro parecido con juegos en java y en principio la editorial estaba de acuerdo.&lt;br /&gt;&lt;br /&gt;Sin embargo, a medida que hacia los primeros capítulos, fui deduciendo que eran de muy dificil compresión. Quizá, los tiempos hayan cambiado y con lo que antes disfrutabamos escribiendo y trasteando, ahora lo difrutamos descargandolo. Por ello, al final no se acabó el libro quedando bastantes juegos huerfanitos sin una salida al público. Creí mejor que si se publicaban en formato video se entenderían más y sería más comodo para el que desee revisarlo.&lt;br /&gt;&lt;br /&gt;Hubo algún juego que el código era tan grande que no era posible implementarlo en un video por la cantidad de cosas que tenía. El juego que dejo público en este post es uno de ellos. Este juego era un clon del Columns en el que jugabas en una pista contra 3 jugadores más. La gracia del juego está en que cuando realizas un combo ganas una pieza gris que puedes lanzar a tus adversarios utilizando los números (2, 3 o 4 según quien te caiga peor). Los movimientos de las fichas se realizan utilizando las teclas cursores.&lt;br /&gt;&lt;br /&gt;Cuando lo finalicé, volví a crear una versión 2 en la que añadí degradados y efectos de explosión. No seguí evolucionandolo ya que, al menos en mi ordenador empezaba a ir un poco lento. Esta versión 2 es el juego que podreis descargar a continuación. Espero que os guste.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://download126.mediafire.com/4zjwaxmgn1yg/yvjvtn2enkm/Columns+Four+Players.zip"&gt;&lt;img style="cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SnhR5aJ2KzI/AAAAAAAAABY/ClyNbgzAycw/s400/G001.jpg" alt="" id="BLOGGER_PHOTO_ID_5366129002726959922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download126.mediafire.com/4zjwaxmgn1yg/yvjvtn2enkm/Columns+Four+Players.zip"&gt;Aquí podeis descargar el juego (.class) + código fuente (.java)&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/9213580289119732835-346977532669511988?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/346977532669511988/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/videojuego-en-java-columns-four-players.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/346977532669511988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/346977532669511988'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/08/videojuego-en-java-columns-four-players.html' title='Videojuego en java - Columns Four Players'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SnhR5aJ2KzI/AAAAAAAAABY/ClyNbgzAycw/s72-c/G001.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4796532191551177540</id><published>2009-07-31T22:19:00.009+02:00</published><updated>2009-08-04T17:32:38.179+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><title type='text'>Screencast Solo Programadores 135 - El juego del fugitivo</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/SnNWm9jtr2I/AAAAAAAAABA/OoHebalbMRk/s1600-h/soloprogramadores.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 135px; height: 48px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SnNWm9jtr2I/AAAAAAAAABA/OoHebalbMRk/s200/soloprogramadores.jpg" alt="" id="BLOGGER_PHOTO_ID_5364726808487767906" border="0" /&gt;&lt;/a&gt;En el año 2006, antes de entrar en javahispano, tuve la oportunidad de iniciar una sección en la revista "Solo Programadores" que consistía en explicar a desarrollar una aplicación entera y funcional. Mensualmente preparaba una aplicación diferente en la que intentaba utilizar multitud de lenguajes o ideas.&lt;br /&gt;&lt;br /&gt;Haciendo estos screencast surgieron cosas muy interesantes como la Javacup y como consecuencia conocer a Abraham y a Erick y posteriormente a toda la asociación de javaHispano al entrar a ella. Hace poco ví una noticia que hacia referencia a estos videos y por los comentarios parece que gustaban bastante. Sin embargo, solo publicaron 12 cuando en realidad hay unos 36. Sería un placer para mí poder permitiros descargar todos los videos publicandolos poco a poco por si hubiese alguién que no conoce estos.&lt;br /&gt;&lt;br /&gt;En este primer screencast, publicado en el número 135 de la revista, inicié los experimentos con el video (resolución, calidad, sonido, etc). El video consiste en la realización de un juego con java (escritorio) JSE. El IDE utilizado es Netbeans (que iba por la versión 3).&lt;br /&gt;&lt;br /&gt;El título del juego es "El juego del fugitivo" que consiste en bloquear con 4 policias a un fugitivo en un tablero de ajedrez. Las piezas solo pueden mover en diagonal, y mientras los policias solo pueden mover hacia adelante, el fugitivo puede mover en los cuatros sentidos diagonales.&lt;br /&gt;&lt;br /&gt;La característica interesante del juego es la perspectiva del tablero. La posición y tamaño de los cuadros no siguen una fórmula concreta por lo que hay que obtener estos valores uno a uno. El truco que utilicé es muy intersante y curioso. Por otra parte, comentar también la inteligencia artificial para que el fugitivo intente escapar. La lógica utilizada consiste en valorar con una heurística los cuadros del centro más que los laterales y valorar los cuadros en el que sus siguientes diagonales están libres.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/135/Video-135.zip"&gt;&lt;img style="cursor: pointer; width: 400px; height: 229px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/SnNX_Dwc8DI/AAAAAAAAABQ/tvwb3jLTp8E/s400/SC135.jpg" alt="" id="BLOGGER_PHOTO_ID_5364728321980297266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://digital.revistasprofesionales.com:8080/View_Ctrl/solop/archivo/135/Video-135.zip"&gt;Haciendo click aquí podreis descargar el video.&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/9213580289119732835-4796532191551177540?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4796532191551177540/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/07/screencast-solo-programadores-135-el.html#comment-form' title='10 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4796532191551177540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4796532191551177540'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/07/screencast-solo-programadores-135-el.html' title='Screencast Solo Programadores 135 - El juego del fugitivo'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/SnNWm9jtr2I/AAAAAAAAABA/OoHebalbMRk/s72-c/soloprogramadores.jpg' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-509426392521573025</id><published>2009-07-26T16:54:00.004+02:00</published><updated>2009-08-04T17:32:13.390+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><title type='text'>JavaHispano Podcast - 053 - Chile Agil (Entrevista a Agustín Villena)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_81YuvYbUu9A/Smxua8r4uRI/AAAAAAAAAAo/o-Ul0aNxWiQ/s1600-h/javahispano.jpeg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 70px; height: 85px;" src="http://2.bp.blogspot.com/_81YuvYbUu9A/Smxua8r4uRI/AAAAAAAAAAo/o-Ul0aNxWiQ/s320/javahispano.jpeg" alt="" id="BLOGGER_PHOTO_ID_5362782665537272082" border="0" /&gt;&lt;/a&gt;&lt;p style="text-align: justify;"&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión entrevistaremos a Agustín Villena para presentarnos el portal de Chile Agil, un portal orientado al desarrollo ágil. Nuestro invitado explicará los inicios y objetivos del portal y nos explicará sus experiencias. También comentará su punto de vista del desarrollo de software de gestión en grandes empresas.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Adicionalmente, invitaremos al oyente a escuchar el podcast de Chile Agil explicando como surgió la idea y que temas tratan. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__053__chile_agil_entrevista_a_agustin_villena/?utm_source=feed&amp;amp;utm_medium=feed&amp;amp;utm_campaign=podcasts"&gt;Aquí teneis el link de la noticia.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-509426392521573025?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/509426392521573025/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/07/javahispano-podcast-053-chile-agil.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/509426392521573025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/509426392521573025'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/07/javahispano-podcast-053-chile-agil.html' title='JavaHispano Podcast - 053 - Chile Agil (Entrevista a Agustín Villena)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_81YuvYbUu9A/Smxua8r4uRI/AAAAAAAAAAo/o-Ul0aNxWiQ/s72-c/javahispano.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-3785950758403607872</id><published>2009-07-12T10:21:00.003+02:00</published><updated>2009-08-04T17:32:26.235+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><title type='text'>JavaHispano Podcast - 052 - Productos y estrategia Oracle (Entrevista a Jaime Cid)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_81YuvYbUu9A/SlnWIEFzPxI/AAAAAAAAAAY/Wauq1hBsNgk/s1600-h/javahispano.jpeg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 70px; height: 85px;" src="http://3.bp.blogspot.com/_81YuvYbUu9A/SlnWIEFzPxI/AAAAAAAAAAY/Wauq1hBsNgk/s320/javahispano.jpeg" alt="" id="BLOGGER_PHOTO_ID_5357548665759285010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Publicado un nuevo número del podcast de javaHispano. En esta ocasión David Bonilla y Jorge Rubira entrevistarán a Jaime Cid. Nuestro invitado ha trabajado durante 5 años en SUN y actualmente desde hace 2 años trabaja en Oracle. &lt;/p&gt;&lt;p&gt;Durante la entrevista Jaime nos presentará inicialmente la empresa Oracle y nos explicará que tecnologías dispone actualmente. Adicionalmente, Jaime nos explicará las recomendaciones que Oracle ha realizado sobre sus productos respecto a la compra de otras empresas como BEA y de los productos adquiridos como WebLogic.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__052__productos_y_estrategia_oracle_entrevista_a_jaime_cid/?menuId=JH_PODCASTS"&gt;Aquí teneis el link de la noticia.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-3785950758403607872?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/3785950758403607872/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/07/javahispano-podcast-052-productos-y.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3785950758403607872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/3785950758403607872'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/07/javahispano-podcast-052-productos-y.html' title='JavaHispano Podcast - 052 - Productos y estrategia Oracle (Entrevista a Jaime Cid)'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_81YuvYbUu9A/SlnWIEFzPxI/AAAAAAAAAAY/Wauq1hBsNgk/s72-c/javahispano.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9213580289119732835.post-4726825499032651682</id><published>2009-07-04T12:34:00.000+02:00</published><updated>2009-07-04T12:45:53.958+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Estreno'/><title type='text'>Estreno del nuevo blog</title><content type='html'>Buenas,&lt;br /&gt;&lt;br /&gt;Lo primero presentarme: Mi nombre es Jorge Rubira y me gusta mucho la tecnología y la programación. Ya desde hace tiempo he estado participando en diferentes proyectos como la javacup (2007 y 2008) y el podcast de javaHispano el cual el exito creo que ha sido satisfactorio y nos dá animos a seguir adelante.&lt;br /&gt;&lt;br /&gt;Además, hace unos meses iniciamos junto con los miembros de debug_mode=ON otro podcast en el que entrevistamos a empresas e iniciativas interesantes. Recientemente hemos creado una nueva sección en Comunicando Podcast que junto a Nacho Lopez del podcast de Linux Hispano hablaremos de software libre.&lt;br /&gt;&lt;br /&gt;El proposito de este blog es para que esteis al día de las publicaciones y de la creación de nuevos proyectos e iniciativas.&lt;br /&gt;&lt;br /&gt;Espero os guste la iniciativa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9213580289119732835-4726825499032651682?l=jorgerubira.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jorgerubira.blogspot.com/feeds/4726825499032651682/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jorgerubira.blogspot.com/2009/07/estreno-del-nuevo-blog.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4726825499032651682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9213580289119732835/posts/default/4726825499032651682'/><link rel='alternate' type='text/html' href='http://jorgerubira.blogspot.com/2009/07/estreno-del-nuevo-blog.html' title='Estreno del nuevo blog'/><author><name>Jorge Rubira</name><uri>http://www.blogger.com/profile/11196546205110661127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
