<?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-3536418098237507411</id><updated>2012-01-30T07:59:59.468-08:00</updated><title type='text'>Blog de goLaDeD</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-5144474601887204387</id><published>2011-04-07T11:54:00.000-07:00</published><updated>2011-04-07T11:55:42.339-07:00</updated><title type='text'>JLO + La lambada = temazo para el verano</title><content type='html'>Terrible enganche a la recien descubierta On The Floor. Que la disfruteis tanto como yo en estos días de verano adelantado!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://0.gvt0.com/vi/t4H_Zoh7G5A/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/t4H_Zoh7G5A&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266" src="http://www.youtube.com/v/t4H_Zoh7G5A&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&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/3536418098237507411-5144474601887204387?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/5144474601887204387/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2011/04/jlo-la-lambada-temazo-para-el-verano.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/5144474601887204387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/5144474601887204387'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2011/04/jlo-la-lambada-temazo-para-el-verano.html' title='JLO + La lambada = temazo para el verano'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-7753589481780087493</id><published>2011-01-24T08:42:00.000-08:00</published><updated>2011-01-24T08:42:55.833-08:00</updated><title type='text'>Cambio pantalla rota: búsqueda de un recambio</title><content type='html'>Lo primero que hay que tener para hacer esto es paciencia. Si pretendes que tu compra sea todo un exito hay que dedicarle tiempo a buscar en varios sitios, hacer comparativas y leer bien la letra pequeña.&lt;br /&gt;&lt;br /&gt;Lo más fácil es meter el modelo HSD100IFW1 de nuestra pantalla en un buscador (Google) e investigar los enlaces que aparezcan detenidamente. Siempre nos quedará acudir a alguna tienda de nuestra ciudad, pero buscar por internet siempre es una buena opción.&lt;br /&gt;&lt;br /&gt;A partir de este punto ya es todo a elección de cada uno. Yo voy a indicar mi recomendación basada en mis experiencias anteriores.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Opción 1: comprar en España&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Esta opción tiene el beneficio de comprar en casa. Normalmente la tienda tiene una dirección física en algun punto del país y muy probable que un número de telefono. Eso siempre nos da cierta seguridad, por aquello de tener a quien reclamar. De todas formas hay que fijarse en la relación precio/envío ya que muchos sitios obligan a enviar el producto por medios más caros, y eso eleva mucho el presupuesto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Opción 2: comprar en el extranjero&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Esta opción tiene como beneficio que es muy probable encontrar el producto a muy bajo coste. Pero de antemano digo que hay que tener suerte. Suerte de encontrar el producto barato, que el envío sea coherente y que la suma de todo no sea superior a si lo hubieramos comprado en la tienda de debajo de nuestra casa.&lt;br /&gt;Una cosa muy importante a tener en cuenta cuando compramos fuera de España &lt;b&gt;&lt;u&gt;son las tasas&lt;/u&gt;&lt;/b&gt;. En ocasiones la tienda online no muestra estos detalles al principio, solo cuando indicamos nuestra dirección de envío.&lt;br /&gt;Lo dicho, hay que leer e investigar mucho antes de comprar.&lt;br /&gt;&lt;br /&gt;- Un ejemplo de tienda para la opción 1 es &lt;a href="http://www.piezasypartes.es/"&gt;http://www.piezasypartes.es/&lt;/a&gt;. Ya he comprado un teclado en esa tienda y la recomiendo. Precios en la media, envio correcto y rápido.&lt;br /&gt;&lt;br /&gt;- Un ejemplo de tienda para la opción 2 es &lt;a href="http://www.laptopaccessoriesstore.org/"&gt;http://www.laptopaccessoriesstore.org/&lt;/a&gt;. Es una tienda de California (al menos eso dicen). Hay que decir que la tienda es reciente pero en mi caso ha ido todo perfecto. Hay que decir que la compra me salió tan solo &lt;b&gt;8€ mas barata&lt;/b&gt; que si la hubiera cogido en la tienda española más barata, pero digamos que nos hemos ahorrado el IVA de aquí.&lt;br /&gt;En esta tienda hay muy buean comunicación, te confirman la compra personalmente y un envío inmediato. El paquete salio el miercoles y ha llegado hoy lunes. Muy buen y protector embalaje.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CONCLUSIÓN&lt;/b&gt;&lt;br /&gt;Debemos examinar bien todas nuestras opciones y comprobar junto con gastos de envío la suma total. Tener especial cuidado con las tasas si compramos fuera de España y cuidado con el IVA que nos añadan en el precio, ya que muchas veces cargan el impuesto en la suma total producto+envio y en esos casos nos puede salir por un buen pico.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-7753589481780087493?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/7753589481780087493/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2011/01/cambio-pantalla-rota-busqueda-de-un.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7753589481780087493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7753589481780087493'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2011/01/cambio-pantalla-rota-busqueda-de-un.html' title='Cambio pantalla rota: búsqueda de un recambio'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-8494420159201167299</id><published>2011-01-23T07:13:00.000-08:00</published><updated>2011-01-23T07:13:13.588-08:00</updated><title type='text'>Bios no detecta tamaño total disco duro: culpa jumper</title><content type='html'>A la hora de formatear un disco duro PATA en ocasiones nos encontramos con que &lt;b&gt;solo se detecta un % de la capacidad total&lt;/b&gt;. En realidad puede deberse a muchas razones, pero cuando ese límite coincide con 32 GB el motivo puede ser muy sencillo: &lt;i&gt;&lt;b&gt;los jumpers del disco&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Para explicar como solucionar esto lo haremos de forma rápida. Primero la situación inicial y luego la situación final.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;SITUACIÓN INICIAL&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- Disco duro: Samsung &lt;b&gt;160 GB&lt;/b&gt;&lt;br /&gt;- Configuración: DVDRW IDE Maestro + &lt;b&gt;HDD IDE Esclavo&lt;/b&gt;&lt;br /&gt;- La BIOS detecta &lt;b&gt;sólo 32 GB&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;COMPROBACIONES&lt;br /&gt;&lt;br /&gt;- Examinamos la etiqueta exterior del disco&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTw2fhguwUI/AAAAAAAAAQ0/aIciI6_hhRQ/s1600/IMGP8086.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTw2fhguwUI/AAAAAAAAAQ0/aIciI6_hhRQ/s320/IMGP8086.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Y nos fijamos en los detalles sobre su configuración de jumpers&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_9zDZ_X3disQ/TTw2gj7hNrI/AAAAAAAAARU/XRSQLGVuWCo/s1600/IMGP8092.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_9zDZ_X3disQ/TTw24wxM4QI/AAAAAAAAARc/8Fntv8iZl40/s1600/IMGP8086-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" src="http://4.bp.blogspot.com/_9zDZ_X3disQ/TTw24wxM4QI/AAAAAAAAARc/8Fntv8iZl40/s320/IMGP8086-2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Claramente se ve como el disco duro viene con una posible configuración para establecer un límite de capacida de 32 GB.&lt;br /&gt;- Si comprobamos el estado de los jumpers:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTw2gd-BaTI/AAAAAAAAARM/0SQ-CpIKEWE/s1600/IMGP8090.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTw2gd-BaTI/AAAAAAAAARM/0SQ-CpIKEWE/s320/IMGP8090.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTw_EzcZG-I/AAAAAAAAARg/JWOdXZPPp8M/s1600/IMGP8090-2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="254" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTw_EzcZG-I/AAAAAAAAARg/JWOdXZPPp8M/s320/IMGP8090-2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Vemos que el jumper se situa en la segunda posición, por lo que está indicando a la BIOS que detecte el disco duro como SLAVE y con límite de 32 GB.&lt;br /&gt;Fácil es comprobarlo si accedemos a la BIOS.&lt;br /&gt;&lt;br /&gt;- Accedemos a la BIOS (F2 al encender el PC)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_9zDZ_X3disQ/TTxA9E0GXFI/AAAAAAAAARw/vcAq05oud5c/s1600/IMGP8092.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_9zDZ_X3disQ/TTxA9E0GXFI/AAAAAAAAARw/vcAq05oud5c/s320/IMGP8092.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;Buscamos la configuración avanzada de IDE&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_9zDZ_X3disQ/TTxBT47I1SI/AAAAAAAAAR0/qlhCRu85W-k/s1600/IMGP8095.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_9zDZ_X3disQ/TTxBT47I1SI/AAAAAAAAAR0/qlhCRu85W-k/s320/IMGP8095.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Y veremos que (en nuestro caso) tenemos instalado una grabadora DVD Benq como IDE Master, y un disco duro SAMSUNG como IDE Slave, el que interesa. Lo seleccionamos y comprobaremos sus detalles:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTxB0FVqzkI/AAAAAAAAAR4/rpVXq21WX4I/s1600/IMGP8096.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTxB0FVqzkI/AAAAAAAAAR4/rpVXq21WX4I/s320/IMGP8096.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Detalles que nos interesan:&lt;br /&gt;- &lt;u&gt;Capacity:&lt;/u&gt; 33822 MB. Estos son los famosos 32 GB de límite que tenemos impuestos. Por lo tanto está más que comprobado que nuestra BIOS detecta solo un % de la capacidad del HD.&lt;br /&gt;- &lt;u&gt;Access Mode&lt;/u&gt;: Auto&amp;nbsp; -----&amp;gt; Cambiar por -----&amp;gt; &lt;b&gt;LBA&lt;/b&gt;. En auto debería de identificarlo pero lo marcamos nosotros manualmente para asegurarnos de que el metodo de direccionamiento es el que indica el HD (fijarse en la etiqueta del disco)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;SITUACIÓN FINAL&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- Tomamos de nuevo el disco duro y le extraemos el jumper&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_9zDZ_X3disQ/TTxD_22mlNI/AAAAAAAAAR8/NjSU6JV8Rkk/s1600/IMGP8089.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://2.bp.blogspot.com/_9zDZ_X3disQ/TTxD_22mlNI/AAAAAAAAAR8/NjSU6JV8Rkk/s320/IMGP8089.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;quedando de esta forma&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTxEThNV-cI/AAAAAAAAASA/ajcnwPqArr4/s1600/IMGP8088.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTxEThNV-cI/AAAAAAAAASA/ajcnwPqArr4/s320/IMGP8088.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTxEahw1LfI/AAAAAAAAASE/M5uZq8odfWM/s1600/IMGP8088-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTxEahw1LfI/AAAAAAAAASE/M5uZq8odfWM/s320/IMGP8088-2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;- Conectamos de nuevo el HD y accedemos a la BIOS. Comprobamos que detecta los 160GB correspondientes&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTxEahw1LfI/AAAAAAAAASE/M5uZq8odfWM/s1600/IMGP8088-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_9zDZ_X3disQ/TTxFBLErziI/AAAAAAAAASI/7eR0uR4fbJg/s1600/IMGP8100.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="294" src="http://2.bp.blogspot.com/_9zDZ_X3disQ/TTxFBLErziI/AAAAAAAAASI/7eR0uR4fbJg/s320/IMGP8100.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Y listo!&lt;br /&gt;&lt;br /&gt;NOTA: es importante fijarse en la etiqueta del disco duro para comprobar cual es la configuración de jumpers que nos conviene, y siempre acceder a la BIOS para comprobar que todo está correcto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-8494420159201167299?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/8494420159201167299/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2011/01/bios-no-detecta-tamano-total-disco-duro.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8494420159201167299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8494420159201167299'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2011/01/bios-no-detecta-tamano-total-disco-duro.html' title='Bios no detecta tamaño total disco duro: culpa jumper'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9zDZ_X3disQ/TTw2fhguwUI/AAAAAAAAAQ0/aIciI6_hhRQ/s72-c/IMGP8086.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-3394914294873282575</id><published>2011-01-18T12:18:00.000-08:00</published><updated>2011-01-18T12:18:58.791-08:00</updated><title type='text'>Ejecutar Apache como un servicio</title><content type='html'>Hace unos días &lt;a href="http://goladed.blogspot.com/2010/12/web-20-casera-instalacion-de-un.html"&gt;realizamos una instalación de Apache sobre Windows&lt;/a&gt; y la pusimos a funcionar. Fue un proceso muy sencillo siguiendo los pasos recomendados.&lt;br /&gt;&lt;br /&gt;Pero esta vez intentamos cambiar la configuración y aparecieron inconvenientes muy interesantes de resolver.&lt;br /&gt;&lt;br /&gt;Necesitaba instalar un segundo servidor Apache vinculado a otra cuenta de usuario en Windows, con idea de no mezclar las instalaciones ni configuraciones distintas de los cursos que estoy realizando.&lt;br /&gt;Previamente había instalado el paquete XAMMP, el cual incluye un entorno de trabajo ya configurado de Apache, PHP, MySQL y PHPMYAdmin entre otros. Al estar configurado previamente, Apache escuchaba en el puerto 80 por defecto, de modo que con mi segunda instalación de Apache no podía vincular el servicio al mismo puerto.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;¿Qué hacer entonces?&lt;/b&gt;&lt;br /&gt;- Pues sencillo.&lt;br /&gt;&lt;br /&gt;Durante el proceso de instalación de Apache:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTXtrbrKbQI/AAAAAAAAAQU/bKBzvMsHMdU/s1600/001.jpg" imageanchor="1" &gt;&lt;img border="0" height="245" width="320" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TTXtrbrKbQI/AAAAAAAAAQU/bKBzvMsHMdU/s320/001.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Existe la opción de no instalar Apache como servicio de forma que lo podremos hacer nosotros después manualmente.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTXvF3h2iFI/AAAAAAAAAQc/zR2p04lRdQg/s1600/001.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="109" width="320" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTXvF3h2iFI/AAAAAAAAAQc/zR2p04lRdQg/s320/001.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Conseguimos con esto que la nueva instalación de Apache no esté escuchando en el puerto 80 sino en el puerto 8080 y MUY IMPORTANTE realizaremos la instalación sin instalar el servicio de Apache.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;¿Qué ocurrirá ahora?&lt;/b&gt;&lt;br /&gt;- Pues que Apache no estará listo para su funcionamiento.&lt;br /&gt;&lt;br /&gt;Tras la instalación veremos como el icono de Apache aparece en nuestra barra de tareas con el simbolo de STOP, y si deslizamos el ratón sobre el icono aparecerá un mensaje indicando que "no hay servicios instalados".&lt;br /&gt;&lt;br /&gt;Exactamente esto es lo que pretendíamos. Apache no está iniciado.&lt;br /&gt;Si nos fijamos en el Monitor de Apache:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_9zDZ_X3disQ/TTXwzvMwHvI/AAAAAAAAAQk/uBsCDdi30TU/s1600/001.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="204" width="320" src="http://2.bp.blogspot.com/_9zDZ_X3disQ/TTXwzvMwHvI/AAAAAAAAAQk/uBsCDdi30TU/s320/001.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;los botones para "Iniciar/Start" el servidor se encuentran inactivos de modo que no podemos iniciar Apache manualmente de esta forma.&lt;br /&gt;&lt;br /&gt;Tenemos que instalar nosotros el servicio de Apache&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Instalar el servicio de Apache&lt;/b&gt;&lt;br /&gt;Nuestra intención era conseguir que Apache no se instalara para todos los usuarios del equipo, pretendíamos tener una instalación local para un determinado usuario del PC. Si instalabamos Apache como un servicio global sobre el puerto 80 todos los usuarios del equipo accederían a el y ningún otro programa (XAMMP por ejemplo) podría utilizar ese mismo puerto.&lt;br /&gt;&lt;br /&gt;La solución estaba en instalar Apache de forma local y sin instalar su servicio. Nosotros nos encargaríamos de instalar el servicio cuando nos hiciera falta.&lt;br /&gt;&lt;br /&gt;De modo que accedemos a &lt;blockquote&gt;Panel de Control -&gt; Herramientas adeministrativas -&gt; Servicios&lt;/blockquote&gt;Comprobaremos que no aparece ningun servicio de Apache para poder iniciar/detener/reiniciar a nuestro antojo. &lt;br /&gt;Esto es porque aún no está instalado.&lt;br /&gt;&lt;br /&gt;Abrimos una ventana de comandos &lt;blockquote&gt;Inicio-&gt;Ejecutar-&gt;cmd&lt;/blockquote&gt;y nos situamos sobre el directorio &lt;i&gt;&lt;b&gt;bin&lt;/b&gt;&lt;/i&gt; de Apache.&lt;br /&gt;Nota: la ruta normal puede ser &lt;i&gt;C:\Archivos de programa\Apache Software Foundation\Apache2.2\bin &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Tecleamos &lt;blockquote&gt;httpd -k install -n "ApacheSegundo" &lt;/blockquote&gt;y esperamos un mensaje de éxito en la operación.&lt;br /&gt;&lt;br /&gt;Nota: el nombre del servicio "ApacheSegundo" puede ser el que se desee. La idea es poder identificarlo entre los demás servicio sin que se confunda con otro servicio de Apache.&lt;br /&gt;&lt;br /&gt;Tras esto podremos comprobar como el icono de Apache de la barra de tareas ya presenta otro aspecto. Nos indica que hay un servicio activo pero sin arrancar.&lt;br /&gt;La consola tambien presentará otro aspecto y ya nos dejará Iniciar/Start Apache para poder funcionar correctamente.&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTX0MPHlsXI/AAAAAAAAAQs/8xrA5jlKwAA/s1600/001.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="204" width="320" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTX0MPHlsXI/AAAAAAAAAQs/8xrA5jlKwAA/s320/001.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;POSTDATA&lt;br /&gt;- Para desinstalar el servicio, bastará con teclear en la consola de comando la secuencia &lt;blockquote&gt;httpd -k uninstall -n "ApacheSegundo" &lt;/blockquote&gt;- Recordar que ahora el puerto para escuchar es el 8080 y por lo tanto la llamada en el navegador http://localhost:8080/&lt;br /&gt;- Más info al respecto en &lt;a href="http://httpd.apache.org/docs/2.0/platform/windows.html#winsvc"&gt;http://httpd.apache.org/docs/2.0/platform/windows.html#winsvc&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-3394914294873282575?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/3394914294873282575/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2011/01/ejecutar-apache-como-un-servicio.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3394914294873282575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3394914294873282575'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2011/01/ejecutar-apache-como-un-servicio.html' title='Ejecutar Apache como un servicio'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9zDZ_X3disQ/TTXtrbrKbQI/AAAAAAAAAQU/bKBzvMsHMdU/s72-c/001.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-8925337723780310027</id><published>2011-01-18T08:50:00.000-08:00</published><updated>2011-01-18T09:28:21.894-08:00</updated><title type='text'>Web 2.0: un poquito de XML</title><content type='html'>Aquí tenemos un poco de introducción al XML con DTD.&lt;br /&gt;El ejemplo es con una cartelera de cine, con un listado de las películas e información relativa a ella.&lt;br /&gt;&lt;br /&gt;XML facilita la estructuración de los documentos HTML, y las DTD "obligan" a seguir unas normas en dicha estructuración.&lt;br /&gt;El diseño y la forma en que se muestre esa información al usuario sigue quedando en manos de las hojas de estilo CSS, o en este caso, de las XSL (que incorporaré más adelante).&lt;br /&gt;&lt;br /&gt;Empezamos primero con las películas:&lt;br /&gt;&lt;br /&gt;- Archivo &lt;span style="font-weight:bold;"&gt;mispeliculas.xml&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;br /&gt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE mispeliculas SYSTEM "peliculas.dtd"&amp;gt;&lt;br /&gt;&amp;lt;mispeliculas&amp;gt;&lt;br /&gt; &amp;lt;pelicula&amp;gt;&lt;br /&gt;  &amp;lt;titulo&amp;gt;Cadena perpetua&amp;lt;/titulo&amp;gt;&lt;br /&gt;  &amp;lt;director&amp;gt;&lt;br /&gt;   &amp;lt;nombre&amp;gt;Frank&amp;lt;/nombre&amp;gt;&lt;br /&gt;   &amp;lt;apellido&amp;gt;Darabont&amp;lt;/apellido&amp;gt;&lt;br /&gt;  &amp;lt;/director&amp;gt;&lt;br /&gt;  &amp;lt;anio_pro&amp;gt;1994&amp;lt;/anio_pro&amp;gt;&lt;br /&gt;  &amp;lt;genero&amp;gt;&amp;lt;drama/&amp;gt;&amp;lt;/genero&amp;gt;&lt;br /&gt;  &amp;lt;actor&amp;gt;&lt;br /&gt;   &amp;lt;nombre&amp;gt;Tim&amp;lt;/nombre&amp;gt;&lt;br /&gt;   &amp;lt;apellido&amp;gt;Robbins&amp;lt;/apellido&amp;gt;&lt;br /&gt;  &amp;lt;/actor&amp;gt;&lt;br /&gt;  &amp;lt;actor&amp;gt;&lt;br /&gt;   &amp;lt;nombre&amp;gt;Morgan&amp;lt;/nombre&amp;gt;&lt;br /&gt;   &amp;lt;apellido&amp;gt;Freeman&amp;lt;/apellido&amp;gt;&lt;br /&gt;  &amp;lt;/actor&amp;gt;&lt;br /&gt;  &amp;lt;sinopsis&amp;gt;Andy Dufresne is a young and successful banker whose life changes drastically when he is convicted and sentenced to life imprisonment for the murder of his wife and her lover. Set in the 1940's, the film shows how Andy, with the help of his friend Red, the prison entrepreneur, turns out to be a most unconventional prisoner.&amp;lt;/sinopsis&amp;gt;&lt;br /&gt; &amp;lt;/pelicula&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;pelicula&amp;gt;&lt;br /&gt;  &amp;lt;titulo&amp;gt;En tierra hostil&amp;lt;/titulo&amp;gt;&lt;br /&gt;  &amp;lt;director&amp;gt;&lt;br /&gt;   &amp;lt;nombre&amp;gt;Kathryn&amp;lt;/nombre&amp;gt;&lt;br /&gt;   &amp;lt;apellido&amp;gt;Bigelow&amp;lt;/apellido&amp;gt;&lt;br /&gt;  &amp;lt;/director&amp;gt;&lt;br /&gt;  &amp;lt;anio_pro&amp;gt;2008&amp;lt;/anio_pro&amp;gt;&lt;br /&gt;  &amp;lt;genero&amp;gt;&amp;lt;accion/&amp;gt;&amp;lt;/genero&amp;gt;&lt;br /&gt;  &amp;lt;actor&amp;gt;&lt;br /&gt;   &amp;lt;nombre&amp;gt;Jeremy&amp;lt;/nombre&amp;gt;&lt;br /&gt;   &amp;lt;apellido&amp;gt;Renner&amp;lt;/apellido&amp;gt;&lt;br /&gt;  &amp;lt;/actor&amp;gt;&lt;br /&gt;  &amp;lt;actor&amp;gt;&lt;br /&gt;   &amp;lt;nombre&amp;gt;Anthony&amp;lt;/nombre&amp;gt;&lt;br /&gt;   &amp;lt;apellido&amp;gt;Mackie&amp;lt;/apellido&amp;gt;&lt;br /&gt;  &amp;lt;/actor&amp;gt;&lt;br /&gt;  &amp;lt;premio nombre_premio="Oscar" categoria="Mejor pelicula"/&amp;gt;&lt;br /&gt;  &amp;lt;premio nombre_premio="Oscar" categoria="Mejor director"/&amp;gt;&lt;br /&gt;  &amp;lt;premio nombre_premio="Oscar" categoria="Mejor guion"/&amp;gt;&lt;br /&gt;  &amp;lt;premio nombre_premio="Globo de oro" categoria="Mejor pelicula"/&amp;gt;&lt;br /&gt;  &amp;lt;premio nombre_premio="Globo de oro" categoria="Mejor director"/&amp;gt;&lt;br /&gt; &amp;lt;/pelicula&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;¿Semejanzas entre las dos películas?&lt;/span&gt;&lt;br /&gt;- Ambas tienen atributos en común (titulo, director, año, genero y actores). Por lo tanto esos atributos &lt;span style="font-weight:bold;"&gt;deberían de ser obligatorios&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;¿Diferencias entre las dos películas?&lt;/span&gt;&lt;br /&gt;- La primera tiene un atributo que la otra no tiene (sinopsis) y viceversa (premios). Por lo tanto, deberían de &lt;span style="font-weight:bold;"&gt;ser opcionales&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tenemos atributos obligatorios, donde pueden ser únicos (titulo) o múltiples (actor). También tenemos atributos opcionales, donde pueden ser únicos (sinopsis) o múltiples (premio).&lt;br /&gt;Con esta informacíon podemos trabajar ya en la DTD.&lt;br /&gt;- Archivo &lt;span style="font-weight:bold;"&gt;&lt;br /&gt;peliculas.dtd&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;!ELEMENT mispeliculas (pelicula*)&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT &lt;span style="font-weight:bold;"&gt;pelicula (titulo, director, anio_pro, genero, actor+, sinopsis?, premio*)&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT titulo (#PCDATA)&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT director (nombre, apellido)&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT anio_pro (#PCDATA)&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT genero (accion|drama|comedia|animacion)&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT actor (nombre, apellido)&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT sinopsis (#PCDATA)&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT premio EMPTY&amp;gt;&lt;br /&gt;&amp;lt;!ATTLIST premio&lt;br /&gt; nombre_premio CDATA #REQUIRED&lt;br /&gt; categoria CDATA #REQUIRED&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT nombre (#PCDATA)&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT apellido (#PCDATA)&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT accion EMPTY&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT drama EMPTY&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT comedia EMPTY&amp;gt;&lt;br /&gt;&amp;lt;!ELEMENT animacion EMPTY&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Lo importante de este código es ver como marcamos las propiedades antes descritas en el código de la DTD. Fijarse como el simbolo ? indica opcional y único; el simbolo + indica obligatorio y múltiple; el simbolo * opcional y múltiple; y como los atributos obligatorios y únicos no llevan níngun signo.&lt;br /&gt;&lt;br /&gt;Con mini ejemplos de este tipo resulta muy fácil desarrollar documentos mucho más amplios y apenas sin necesidad de consultar documentación específica de XML.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- ¿Cómo saber si nuestro código es correcto?&lt;br /&gt;Pues existen herramientas para ello:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.xmlvalidation.com/"&gt;http://www.xmlvalidation.com/&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;En esa sencilla web podremos cargar nuestros archivos y validarlos, incluso con estructura asociada como DTD.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-8925337723780310027?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/8925337723780310027/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2011/01/web-20-un-poquito-de-xml.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8925337723780310027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8925337723780310027'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2011/01/web-20-un-poquito-de-xml.html' title='Web 2.0: un poquito de XML'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-470444775646232860</id><published>2011-01-17T10:19:00.001-08:00</published><updated>2011-01-17T10:32:30.475-08:00</updated><title type='text'>Función readfile() en PHP: no muestra nada</title><content type='html'>Siguiendo con los pequeños ejercicios del curso sobre Web 2.0 nos sugieren que realicemos una pequeña página web que simplemente muestre un feedback de alguna página, todo a través de RSS. Como son tan sencillos los ejercicios tan solo nos proponen acceder a la web &lt;a href="http://www.rssinclude.com/"&gt;http://www.rssinclude.com/&lt;/a&gt; para conseguir el código fuente y ejecutarlo en nuestra mini-página sin necesidad de ningun esfuerzo.&lt;br /&gt;&lt;br /&gt;Claro está que lo de &lt;span style="font-style: italic; font-weight: bold;"&gt;ningun esfuerzo&lt;/span&gt; no se ha cumplido, ya que sino no estaría escribiendo esta entrada.&lt;br /&gt;&lt;br /&gt;Pues bien:&lt;br /&gt;1.- Creamos nuestra mini-página web con un &lt;span style="font-style: italic;"&gt;muy&lt;/span&gt; sencillo código:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Curso WEB 2.0: Segundo ejercicio entrega&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt; &amp;lt;h1&amp;gt;Curso WEB 2.0: Segundo ejercicio entrega&amp;lt;/h1&amp;gt;&lt;br /&gt; &amp;lt;h2&amp;gt;Un primer contacto con la Web 2.0&amp;lt;/h2&amp;gt;&lt;br /&gt; &amp;lt;h3&amp;gt;Codigo generado con PHP&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Y guardamos el archivo como &lt;span style="font-style: italic; font-weight: bold;"&gt;index.php &lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;2.- Acudimos a la web que nos facilitan http://www.rssinclude.com/, en concreto a la sección para editar nuestra RSSBoox:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://www.rssinclude.com/my_rssboxes/edit_box?id=201579&amp;amp;tab=feeds"&gt;http://www.rssinclude.com/my_rssboxes/edit_box?id=201579&amp;amp;tab=feeds&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;3.- Introducimos una dirección feedback, por ejemplo de Yahoo &lt;a href="http://rss.news.yahoo.com/rss/internet"&gt;http://rss.news.yahoo.com/rss/internet&lt;/a&gt; y presionamos sobre &lt;span style="font-style: italic;"&gt;AddFeed&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4.- Gracias a la web podremos ver un ejemplo de como quedará nuestra RSSBox.&lt;br /&gt;&lt;br /&gt;5.- Presionamos sobre la pestaña &lt;span style="font-style:italic;"&gt;Include!&lt;/span&gt; y aparecerán los diferentes códigos fuente para integrar la RSSBox (JavaScript, PHP, iFrame, ...)&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;&amp;lt;?php &lt;br /&gt;readfile('http://output52.rssinclude.com/output?type=php&amp;id=201464&amp;hash=74fd6675161c35313f7aec9c5d53abd2'); &lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;NOTA: Es necesario registrarse en la web para obtener el código fuente. El registro apenas dura un minuto.&lt;br /&gt;NOTA2: Por cada dirección feedback que incluyamos obtendremos diferente código fuente&lt;br /&gt;&lt;br /&gt;6.- A nosotros nos interesa el código PHP, de modo que lo copiamos y pegamos en nuestra mini-página web:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Curso WEB 2.0: Segundo ejercicio entrega&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt; &amp;lt;h1&amp;gt;Curso WEB 2.0: Segundo ejercicio entrega&amp;lt;/h1&amp;gt;&lt;br /&gt; &amp;lt;h2&amp;gt;Un primer contacto con la Web 2.0&amp;lt;/h2&amp;gt;&lt;br /&gt; &amp;lt;h3&amp;gt;Codigo generado con PHP&amp;lt;/h3&amp;gt;&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;&amp;lt;?php readfile('http://output52.rssinclude.com/output?type=php&amp;id=201464&amp;hash=74fd6675161c35313f7aec9c5d53abd2');&lt;br /&gt; ?&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Guardamos, subimos/copiamos a nuestro servidor y abrimos la página.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;¿Y qué ocurre?&lt;/span&gt; - Pues ocurre que la página se muestra así:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTR6uV8J5UI/AAAAAAAAAP8/_hga9Ql4kjw/s1600/1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 174px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTR6uV8J5UI/AAAAAAAAAP8/_hga9Ql4kjw/s320/1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5563206376291427650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Y, claramente, no es lo buscamos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;¿Qué ha pasado?&lt;/span&gt; ó &lt;span style="font-weight:bold;"&gt;¿Qué esta fallando?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Resulta que la función &lt;span style="font-style:italic;"&gt;readfile()&lt;/span&gt; de PHP obtiene los bytes del archivo recibido y los devuelve, en este caso el archivo está alojado en la web http://rssinclude.com. Si la lectura del archivo es errónea devuelve un error que se debería de mostrar por pantalla.&lt;br /&gt;&lt;br /&gt;En nuestro caso no se muestra ningún error, de modo que insistimos en preguntarnos qué es lo que falla. Y llegamos a la conclusión que el problema está en que &lt;span style="font-weight:bold;"&gt;el servidor no ejecuta la función&lt;/span&gt; en ningún momento, simplemente la ignora.&lt;br /&gt;Llegando a esta sencilla conclusión es fácil pensar que el problema resida en que la función esté desactivada en nuestro servidor, y sobretodo estando el archivo alojado en un hosting contratado.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;¿Qué podemos hacer entonces?&lt;/span&gt; - Pues ejecutar el archivo &lt;span style="font-style:italic;"&gt;index.php&lt;/span&gt; de forma "casera".&lt;br /&gt;- Como &lt;a href="http://goladed.blogspot.com/2010/12/web-20-casera-instalacion-de-un.html"&gt;tenemos Apache instalado en nuestro sistema&lt;/a&gt;, acudimos a la carpeta &lt;br /&gt;&lt;blockquote&gt;C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs&lt;/blockquote&gt;&lt;br /&gt;y copiamos nuestro archivo index.php en ella.&lt;br /&gt;- Arrancamos Apache&lt;br /&gt;- Comprobamos en un navegador &lt;a href="http://localhost/index.php"&gt;http://localhost/index.php&lt;/a&gt;&lt;br /&gt;- Y &lt;span style="font-style:italic;"&gt;voilà!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTR_Ftj0H_I/AAAAAAAAAQM/0wnWtWRS4y4/s1600/1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 252px; height: 320px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/TTR_Ftj0H_I/AAAAAAAAAQM/0wnWtWRS4y4/s320/1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5563211175815290866" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CONCLUSIÓN&lt;br /&gt;Si el servidor donde hacemos las pruebas está alojado en un hosting contratado, habrá que asegurarse de que tenga las opciones que necesitamos activadas, en este caso activada la ejecución de la función readfile() para PHP.&lt;br /&gt;Si no hay forma de averiguarlo, siempre podemos ejecutar el archivo sobre un servidor local.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-470444775646232860?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/470444775646232860/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2011/01/funcion-readfile-en-php-no-muestra-nada.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/470444775646232860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/470444775646232860'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2011/01/funcion-readfile-en-php-no-muestra-nada.html' title='Función readfile() en PHP: no muestra nada'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9zDZ_X3disQ/TTR6uV8J5UI/AAAAAAAAAP8/_hga9Ql4kjw/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-6231078815297340730</id><published>2011-01-12T17:01:00.000-08:00</published><updated>2011-01-25T06:04:23.612-08:00</updated><title type='text'>Cambiar pantalla rota Asus Eee PC 1000 HD: Primera parte</title><content type='html'>El primer paso de la planificación que me puse por meta ya está terminado.&lt;br /&gt;&lt;br /&gt;Como el número de fotos que fui sacando era bastante elevado, he creído mejor agruparlas en un video con explicaciónes de &lt;span style="font-style: italic;"&gt;"Cómo desmontar el portatil"&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/yKfW4C99-DY?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/yKfW4C99-DY?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;Tras realizar todos los pasos indicados en el video, &lt;span style="font-weight: bold;"&gt;hemos extraído la pantalla&lt;/span&gt; del mini portátil &lt;span style="font-weight: bold;"&gt;con éxito&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_9zDZ_X3disQ/TS5Q8O18ulI/AAAAAAAAAPs/TqZT9yxIojk/s1600/IMGP8056.jpg"&gt;&lt;img 0pt="" 10px="" alt="" border="0" id="BLOGGER_PHOTO_ID_5561471585555888722" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/TS5Q8O18ulI/AAAAAAAAAPs/TqZT9yxIojk/s320/IMGP8056.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Ahora que la tenemos en nuestras manos, es el momento de buscar en su parte trasera el modelo concreto de pantalla TFT, el cual es muy importante para buscar el recambio en internet.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_9zDZ_X3disQ/TS5RxxHxP8I/AAAAAAAAAP0/o3dbIiAbXw4/s1600/IMGP8065.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5561472505290506178" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/TS5RxxHxP8I/AAAAAAAAAP0/o3dbIiAbXw4/s320/IMGP8065.jpg" style="cursor: pointer; float: right; height: 240px; margin: 0pt 0pt 10px 10px; width: 320px;" /&gt;&lt;/a&gt;El modelo de pantalla para nuestro Asus Eee PC 1000 HD es&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;HSD100IFW1 - A00&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;cuyo fabricante es &lt;span style="font-style: italic; font-weight: bold;"&gt;HannStar&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;De momento con estos datos tenemos suficiente para buscar el recambio en internet.&lt;br /&gt;Luego y a medida que indaguemos por tiendas online y buscadores, descubriremos que existen dos versiones para nuestro modelo, en concreto con pantalla &lt;span style="font-style: italic;"&gt;"Mate"&lt;/span&gt; o &lt;span style="font-style: italic;"&gt;"Brillante"&lt;/span&gt;. En mi caso será la primera.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tras este éxito, nos resta avanzar hacia la segunda parte de la planificación, donde seguramente hallaremos inconvenientes y conocimientos más interesantes.&lt;br /&gt;&lt;br /&gt;Cambio y corto!&lt;br /&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/3536418098237507411-6231078815297340730?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/6231078815297340730/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2011/01/cambiar-pantalla-rota-asus-eee-pc-1000.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/6231078815297340730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/6231078815297340730'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2011/01/cambiar-pantalla-rota-asus-eee-pc-1000.html' title='Cambiar pantalla rota Asus Eee PC 1000 HD: Primera parte'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9zDZ_X3disQ/TS5Q8O18ulI/AAAAAAAAAPs/TqZT9yxIojk/s72-c/IMGP8056.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-3731941490461959156</id><published>2011-01-11T17:23:00.000-08:00</published><updated>2011-01-11T17:54:17.056-08:00</updated><title type='text'>Cambiar pantalla rota de un portátil Asus Eee PC: Introducción</title><content type='html'>Hace un par de meses se nos rompió en casa la pantalla de un mini portátil, y no es de extrañar cuando el aparato habitaba en todos los sitios menos encima de una mesa firme y segura.&lt;br /&gt;&lt;br /&gt;El netbook en cuestión es un &lt;span style="font-weight: bold;"&gt;Asus Eee PC 1000HD Black&lt;/span&gt;.&lt;br /&gt;Verdaderamente no es un &lt;span style="font-style: italic;"&gt;"fuera de serie"&lt;/span&gt; pero para uso exporádico estaba muy bien (aquí dejo &lt;a href="http://www.ciao.es/Asus_EEE_PC_1000HD__1430761#productdetail"&gt;un enlace&lt;/a&gt; para ver las características técnicas).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TS0FgYxi1RI/AAAAAAAAAPc/swXlWXa0oZ8/s1600/IMGP7964.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TS0FgYxi1RI/AAAAAAAAAPc/swXlWXa0oZ8/s320/IMGP7964.JPG" alt="" id="BLOGGER_PHOTO_ID_5561107168836637970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Su precio ronda los 250 euros y una pantalla tft de recambio los 75-100 euros en la mayoría de tiendas de internet. Realmente hay que pensárse bastante si reparar ese portátil o comprarse uno nuevo.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TS0JYQQSRBI/AAAAAAAAAPk/qRYSV8ZhdEs/s1600/IMGP7966.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TS0JYQQSRBI/AAAAAAAAAPk/qRYSV8ZhdEs/s320/IMGP7966.JPG" alt="" id="BLOGGER_PHOTO_ID_5561111427157214226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Resulta que tengo una nefasta tendencia a encariñarme con las cosas y me suele dar pereza deshacerme de ellas si tienen arreglo, es por esto que a pesar de no ser un netbook con increibles prestaciones, creo que merece la pena invertir ese dinero en una nueva pantalla y darle un poco mas de vida al ordenador.&lt;br /&gt;De modo que VAMOS ALLÁ!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Planificación&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El objetivo será crear el pequeño manual en dos o tres partes más:&lt;br /&gt;- el desamblado del portátil Asus Eee PC para la extracción de la pantalla rota&lt;br /&gt;- la búsqueda en internet de un recambio a buen precio&lt;br /&gt;- y por último, el acople de la nueva pantalla junto con el montaje del portátil&lt;br /&gt;&lt;br /&gt;Veamos que tal se nos da ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-3731941490461959156?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/3731941490461959156/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2011/01/cambiar-pantalla-rota-de-un-portatil.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3731941490461959156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3731941490461959156'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2011/01/cambiar-pantalla-rota-de-un-portatil.html' title='Cambiar pantalla rota de un portátil Asus Eee PC: Introducción'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9zDZ_X3disQ/TS0FgYxi1RI/AAAAAAAAAPc/swXlWXa0oZ8/s72-c/IMGP7964.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-4274600055010729250</id><published>2010-12-12T09:51:00.000-08:00</published><updated>2011-01-18T12:24:54.745-08:00</updated><title type='text'>Web 2.0 casera: instalación de un servidor web Apache</title><content type='html'>Volvemos &lt;span style="font-style: italic;"&gt;al tajo&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;Con motivo de un curso sobre Web 2.0 que estoy iniciando estos días, nos han pedido preparar el entorno para trabajar durante el mismo, que ahora en los comienzos consiste en instalar un &lt;a href="http://es.wikipedia.org/wiki/Servidor_web"&gt;servidor web&lt;/a&gt; en nuestro ordenador.&lt;br /&gt;&lt;br /&gt;Es demasiado sencillo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;1. Descargar los archivos de instalación del servidor&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En el curso nos han recomendado el servidor HTTP Apache por ser de libre distribución, de modo que no nos rompemos la cabeza &lt;a href="http://pt.wikipedia.org/wiki/Anexo:Lista_de_servidores_web"&gt;escogiendo un servidor web&lt;/a&gt; y descargaremos la versión más estable desde &lt;a href="http://httpd.apache.org/"&gt;http://httpd.apache.org/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Nota:&lt;/u&gt; En la web de Apache se explicarán diferentes requisitos y conocimientos previos dependiendo de nuestras circunstancias. Es muy importante el sistema operativo sobre el que se instalará. En nuestro caso será Windows Vista por lo que no necesita apenas preparativos.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;- Descargar versión &lt;a href="http://apache.rediris.es//httpd/binaries/win32/httpd-2.2.17-win32-x86-openssl-0.9.8o.msi"&gt;httpd-2.2.17-win32-x86-openssl-0.9.8o.msi&lt;/a&gt;.&lt;/blockquote&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;2. Ejecutar el archivo descargado&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El archivo &lt;span style="font-style: italic;"&gt;.MSI&lt;/span&gt; es un ejecutable, de modo que lo ejecutamos haciendo &lt;span style="font-style: italic;"&gt;doble click&lt;/span&gt; sobre él.&lt;br /&gt;Se nos abrirá el asistente de instalación:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TQUQsuHlFOI/AAAAAAAAANo/ebPsMQRD48c/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 245px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TQUQsuHlFOI/AAAAAAAAANo/ebPsMQRD48c/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549860476284114146" border="0" /&gt;&lt;/a&gt;- Presionamos en &lt;span style="font-style: italic;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_9zDZ_X3disQ/TQUSffDth1I/AAAAAAAAANw/d26Iz7yFh0o/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 245px;" src="http://2.bp.blogspot.com/_9zDZ_X3disQ/TQUSffDth1I/AAAAAAAAANw/d26Iz7yFh0o/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549862447926314834" border="0" /&gt;&lt;/a&gt;- Aceptamos los términos de uso y presionamos sobre &lt;span style="font-style: italic;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_9zDZ_X3disQ/TQUS8vSW68I/AAAAAAAAAN4/Qr5IjaTNoh4/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 245px;" src="http://4.bp.blogspot.com/_9zDZ_X3disQ/TQUS8vSW68I/AAAAAAAAAN4/Qr5IjaTNoh4/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549862950498921410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;- Presionamos de nuevo sobre &lt;span style="font-style: italic;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_9zDZ_X3disQ/TQUTTCA9bJI/AAAAAAAAAOA/1T8iIING4bM/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 245px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/TQUTTCA9bJI/AAAAAAAAAOA/1T8iIING4bM/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549863333483342994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;- Rellenamos los campos tal y como se muestra en la imagen, con la dirección local &lt;span style="font-style: italic; font-weight: bold;"&gt;localhost&lt;/span&gt;. En el futuro intentaremos instalar el servidor de forma que responda sobre un dominio, pero de momento y para hacer nuestras pequeñas pruebas lo configuraremos así.&lt;br /&gt;También indicar la&lt;span style="font-weight: bold;"&gt; dirección email del Administrador&lt;/span&gt; del servidor, que pondremos una nuestra cualquiera.&lt;br /&gt;En la sección inferior nos pide configurar el puerto en el que dará las respuestas el servidor, que lo dejaremos en lo recomendado del &lt;span style="font-weight: bold;"&gt;puerto 80&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;EDICIÓN: Con el post &lt;a href="http://goladed.blogspot.com/2011/01/ejecutar-apache-como-un-servicio.html"&gt;Ejecutar Apache como un servicio&lt;/a&gt; vemos el funcionamiento si cambiamos la opción del puerto&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Y presionamos sobre &lt;span style="font-style: italic;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TQUUpiF1EUI/AAAAAAAAAOQ/omacVFJq2WA/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 245px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TQUUpiF1EUI/AAAAAAAAAOQ/omacVFJq2WA/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549864819562451266" border="0" /&gt;&lt;/a&gt;- Dejamos marcada la opción &lt;span style="font-style: italic;"&gt;Typical&lt;/span&gt;, que instalará la configuración típica y presionamos sobre &lt;span style="font-style: italic;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_9zDZ_X3disQ/TQUVCLPywOI/AAAAAAAAAOY/17nyuS0mpy0/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 245px;" src="http://2.bp.blogspot.com/_9zDZ_X3disQ/TQUVCLPywOI/AAAAAAAAAOY/17nyuS0mpy0/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549865242926956770" border="0" /&gt;&lt;/a&gt;- En la siguiente pantalla nos muestran la ruta donde se instalarán los archivos. Dejamos la que viene por defecto y presionamos sobre &lt;span style="font-style: italic;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TQUVcyzk1oI/AAAAAAAAAOg/MhwCzmmZvZM/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 245px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TQUVcyzk1oI/AAAAAAAAAOg/MhwCzmmZvZM/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549865700222621314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;- Presionamos sobre el botón de &lt;span style="font-style: italic;"&gt;Install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_9zDZ_X3disQ/TQUV_TVcHQI/AAAAAAAAAOo/q7pzbW5ocf0/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 245px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/TQUV_TVcHQI/AAAAAAAAAOo/q7pzbW5ocf0/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549866293070142722" border="0" /&gt;&lt;/a&gt;- Empezará el proceso de instalación y deberemos esperar unos pocos minutos. Al principio puede que tarde en aparecer algun avance en la barra de progreso.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_9zDZ_X3disQ/TQUXNPqUI5I/AAAAAAAAAOw/fpc8xxdWZys/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 245px;" src="http://4.bp.blogspot.com/_9zDZ_X3disQ/TQUXNPqUI5I/AAAAAAAAAOw/fpc8xxdWZys/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549867632113755026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;- Tras unos minutos se nos mostrará ésta pantalla indicando que Apache HTTP Server 2.2.17 se ha instalado correctamente. Presionamos sobre el botón de &lt;span style="font-style: italic;"&gt;Finish&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;3. Arrancar el servidor&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Despues de la instalación, el servidor Apache no solo estará instalado sino que ya estará ejecutándose.&lt;br /&gt;Podremos comprobarlo observando los procesos iniciados:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TQUZINBTeQI/AAAAAAAAAO4/HCo_LEhBFow/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 150px; height: 158px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/TQUZINBTeQI/AAAAAAAAAO4/HCo_LEhBFow/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549869744528783618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;- Presionamos botón derecho sobre él y seleccionamos &lt;span style="font-weight: bold;"&gt;Open Apache Monitor&lt;/span&gt;.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_9zDZ_X3disQ/TQUbaM1QzdI/AAAAAAAAAPI/py9wpLImnLk/s1600/001.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_9zDZ_X3disQ/TQUaBrf6nLI/AAAAAAAAAPA/pEtGMzVCpNo/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 202px;" src="http://4.bp.blogspot.com/_9zDZ_X3disQ/TQUaBrf6nLI/AAAAAAAAAPA/pEtGMzVCpNo/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549870731962784946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;-  Se nos abrirá el monitor del servidor, donde podremos detenerlo,  reiniciarlo, observar los servicios que se están ejecutando o bien  cerrar el servidor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;4. Comprobar que funciona&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Habíamos  indicado al servidor durante su instalación que resolviera a la máquina  local y sobre el puerto 80, por lo tanto abriremos un navegador e  introduciremos la siguiente url:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;http://localhost:80/&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Nota:  funcionará tambien sin introducirle el puerto, pero es recomendable  acostumbrarse a indicarlo, ya que en el futuro modificaremos estos  parámetros.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_9zDZ_X3disQ/TQUZINBTeQI/AAAAAAAAAO4/HCo_LEhBFow/s1600/001.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_9zDZ_X3disQ/TQUbaM1QzdI/AAAAAAAAAPI/py9wpLImnLk/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 248px;" src="http://4.bp.blogspot.com/_9zDZ_X3disQ/TQUbaM1QzdI/AAAAAAAAAPI/py9wpLImnLk/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5549872252739177938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;- El navegador mostrará un mensaje de alivio, donde se demuestra que el servidor funciona correctamente.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Y listo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-4274600055010729250?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/4274600055010729250/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/12/web-20-casera-instalacion-de-un.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/4274600055010729250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/4274600055010729250'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/12/web-20-casera-instalacion-de-un.html' title='Web 2.0 casera: instalación de un servidor web Apache'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9zDZ_X3disQ/TQUQsuHlFOI/AAAAAAAAANo/ebPsMQRD48c/s72-c/001.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-7660160506079557756</id><published>2010-10-14T19:54:00.000-07:00</published><updated>2010-10-14T20:15:28.653-07:00</updated><title type='text'>Te lo debo ...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9zDZ_X3disQ/TLfGvhog_KI/AAAAAAAAANg/zumURot_ddI/s1600/IMGP6927.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 509px; height: 381px;" src="http://4.bp.blogspot.com/_9zDZ_X3disQ/TLfGvhog_KI/AAAAAAAAANg/zumURot_ddI/s320/IMGP6927.JPG" alt="" id="BLOGGER_PHOTO_ID_5528105587405028514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Te echo tanto de menos ...&lt;br /&gt;Mi bebito. Mi Kalel&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-7660160506079557756?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/7660160506079557756/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/10/te-lo-debo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7660160506079557756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7660160506079557756'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/10/te-lo-debo.html' title='Te lo debo ...'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9zDZ_X3disQ/TLfGvhog_KI/AAAAAAAAANg/zumURot_ddI/s72-c/IMGP6927.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-5749204463450008700</id><published>2010-10-11T10:00:00.000-07:00</published><updated>2010-10-11T12:05:26.905-07:00</updated><title type='text'>Optimizando la PSP - Parte I</title><content type='html'>Supongo que sería un mejor título "Pirateando mi PSP" pero quizas sonaba un tanto problematico, sobre todo en vistas de la actitud general por internet y los foros sobre videoconsolas, donde la palabra "pirata" esta poco mas que prohibida. Ahora es tabú.&lt;br /&gt;Lo normal es decir que hacemos copias de seguridad de nuestros juegos, actualizamos nuestras consolas, instalamos software casero y mas jerga informatica que pocos llegan a comprender la primera vez que lo leen.&lt;br /&gt;Pero estoy a favor de esta forma de hablar por la red, y es que "la ley" esta ultimamente bastante mosqueada con todo este tema del pirateo y en mi opinión buscan lo invisible, persiguen lo que va mas rapido que ellos e intentan parar lo imparable y cortar lo indestructible, y es que internet es mucho mas poderoso de lo que aun hoy ninguno nos damos cuenta.&lt;br /&gt;&lt;br /&gt;Estamos en transición entre dos epocas muy diferentes.&lt;br /&gt;&lt;br /&gt;Pero esto no viene al caso.&lt;br /&gt;Lo que si viene al caso es lo terriblemente complicado que resulta preparar tu PSP para cargar copias de juegos que circulan por internet. Y es que hay tanta información y es tan variada por los foros de la red que una se confunde a la minima y no sabe por donde empezar.&lt;br /&gt;&lt;br /&gt;No voy a ponerme a resumir toda esa información porque sería inutil y absurdo habiendo tantos foros especializados, pero voy a contar lo que he hecho en esta misma tarde siguiendo varios manuales y aplicado a mi caso especial.&lt;br /&gt;Lo cuento para acudir a ello en un futuro, ya que seguro que se me olvidará y seguro lo necesitaré otro día.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;He seguido (y con exito) &lt;a href="http://www.todopsp.com/foros/showthread.php?t=97512"&gt;este manual&lt;/a&gt;, y por si algun dia lo pierdo, aqui van los pasos:&lt;br /&gt;&lt;br /&gt;INICIO&lt;br /&gt;&lt;br /&gt;- Necesitamos &lt;span style="font-weight: bold;"&gt;configurar la memory stick&lt;/span&gt; con el programa de instalacion del firmware no oficial. (utilizando PSP pirateada)&lt;br /&gt;- Necesitamos &lt;span style="font-weight: bold;"&gt;preparar una bateria PANDORA&lt;/span&gt; para arrancar la PSP en "Modo servicio" y poder ejecutar le programa de instalacion del firmware no oficial. (utilizando PSP pirateada)&lt;br /&gt;- Cuando tengamos ambas cosas, &lt;span style="font-weight: bold;"&gt;las colocaremos en la PSP no pirateada&lt;/span&gt; y ejecutaremos la instalacion para instalar el firmware no oficial, el cual nos sera capaz de leer las copias de los juegos que circulan por la red.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CONFIGURAR MEMORY STICK&lt;br /&gt;&lt;br /&gt;- Formatea la memory stick desde el PSP (se perderan todos los datos).&lt;br /&gt;- Conecta tu PSP al PC por USB&lt;br /&gt;- Descarga el &lt;a href="http://www.megaupload.com/?d=PA9BZDV0"&gt;Ultra Pandora Installer v4.B&lt;/a&gt;&lt;br /&gt;- Copia la carpeta UPI4B en la carpeta RAIZ/PSP/GAME&lt;br /&gt;- Desactiva la conexión USB&lt;br /&gt;- Ejecuta el Ultra Pandora Installer v4.B desde el menu de juego del PSP&lt;br /&gt;- Selecciona Particionar Memory Stick&lt;br /&gt;- El programa te dara una alerta de que formatearas la Memory Stick, dale “SI“&lt;br /&gt;- Espera que el proceso termine y que la aplicacion salga al menu del PSP nuevamente&lt;br /&gt;- Una vez en el menu del PSP, activa la conexion USB&lt;br /&gt;- Copia la carpeta UPI4B a RAIZ/PSP/GAME (otra vez)&lt;br /&gt;- Descarga el &lt;a href="http://www.megaupload.com/es/?d=9BU8B5WQ"&gt;Update 5.00 oficial de sony&lt;/a&gt;&lt;br /&gt;- Copia el Update con nombre 500.PBP en la raiz de la memory stick&lt;br /&gt;- Saca la memory stick y desactiva la conexion USB&lt;br /&gt;- Vuelve a introducir la memoria en el PSP&lt;br /&gt;- Activa la conexion USB&lt;br /&gt;- Descarga el &lt;a href="http://www.megaupload.com/es/?d=EC1MTD5P"&gt;Despertar del Cementerio V8&lt;/a&gt;&lt;br /&gt;- Copia el contenido del archivo descargado DC8 a PSP/GAME&lt;br /&gt;- Despues, desactiva la conexion USB&lt;br /&gt;(A partir de aquí ya no necesitamos el PC)&lt;br /&gt;- Ahora, ve al menu de juego del PSP y ejecuta el: Despertar del Cementerio v8.&lt;br /&gt;- Cuando termine Tendreis que pulsar X para salir&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Al hacer todos los pasos anteriores tenemos la memoria lista&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;PREPARAR BATERIA PANDORA&lt;br /&gt;&lt;br /&gt;- Ejecuta el Ultra Pandora Installer 4.B desde el menu de juego del PSP&lt;br /&gt;- Ve a la opción: Opciones Bateria-&gt;Pandorizar Batería&lt;br /&gt;- Una vez dado a X en Pandorizar batería aparecerá un mensaje. Dale que si&lt;br /&gt;- Espera que el proceso termine&lt;br /&gt;- Dale al boton HOME para salir del juego.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Todo listo, ya tenemos la bateria y memoria magica.&lt;/blockquote&gt;&lt;br /&gt;INSERTAR AMBAS EN PSP NO PIRATEADA&lt;br /&gt;&lt;br /&gt;- Introduce la memory stick preparada y la bateria PANDORA en la PSP que quieras piratear&lt;br /&gt;(Aconsejan encender la PSP sin toma de corriente, pero en mi caso la batería estaba en las ultimas y no tenia apenas autonomia, de modo que encendi con la PSP enchufada a la corriente. Despues de varios intentos encencio)&lt;br /&gt;- Encender la PSP&lt;br /&gt;- Aparecera un menu (uno distinto al normal de PSP&lt;br /&gt;- SeleccionaInstall 5.00 M33&lt;br /&gt;- Espera que todo el proceso termine.&lt;br /&gt;- Cuando el proceso termine saldra un mensaje en pantalla que te indicara que todo se ha realizado.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Al hacer todos los paso anteriores, tendras un PSP 5.00 M33-4&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ULTIMOS PASOS&lt;br /&gt;- Cargar en PSP una bateria no PANDORA (se puede realizar con el programa de antes, dandole a normalizar bateria&lt;br /&gt;- Cargar en PSP una memoria formatizada por PSP (desde el menu de PSP -&gt; formatear tarjeta)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Parece complicado pero siguiendo los pasos funciono.&lt;br /&gt;En el caso de mi consola, para jugar a algunos juegos es necesario tener un disco UML metido dentro.&lt;br /&gt;&lt;br /&gt;Y si navegais un poco y le echais paciencia, hay infinidad de comunidades y otros tantos tutoriales para entender mejor estas cosas&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTAS:&lt;br /&gt;PSP Slim 2004 pirateada&lt;br /&gt;PSP Fat 1004 inicialmente firmware 6.6 oficial. Posteriormente pirateada con firmware 5.00 M33-4&lt;br /&gt;Bateria usada para PANDORA: la de PSP Fat (que funciona en Slim) 3.6v 1800mAh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-5749204463450008700?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/5749204463450008700/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/10/optimizando-la-psp-parte-i.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/5749204463450008700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/5749204463450008700'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/10/optimizando-la-psp-parte-i.html' title='Optimizando la PSP - Parte I'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-2382443448547695889</id><published>2010-07-09T17:51:00.000-07:00</published><updated>2010-07-09T18:06:11.402-07:00</updated><title type='text'>Un año más ... disfrutando de la vida</title><content type='html'>Pues sí. Hoy 9 de Julio, mi cumpleaños.&lt;br /&gt;Veintiseis pueden sonar a tantos como a tan pocos. Digamos que este año para mi son suficientes.&lt;br /&gt;&lt;br /&gt;Un día muy raro para ser un cumple. Lo primero por culpa del nuevo sistema educativo universitario, que con exámenes en pleno Julio lo último que nos parece es verano y que deberíamos estar en plena operación moreno en vez de estudiando monotonía y cálculo integral.&lt;br /&gt;Supongo que otro defecto del sistema educativo de la ESO, que arrastro mis problemas de matemáticas de Bachiller hasta la última asignatura de la carrera.&lt;br /&gt;&lt;br /&gt;Pero esto no viene al caso con el motivo de este post.&lt;br /&gt;&lt;br /&gt;Me han regalado cositas varias hoy. Cosas útiles, cosas simpáticas, cosas "mundialistas" como la bandera de España que aguarda al Domingo con ansia :). Pero hoy me quedo con un regalo.&lt;br /&gt;&lt;br /&gt;Alguien me paso el siguiente video, el cual me ha rejuvenecido todos los años cumplidos y me ha infundido ganas de cumplir más.&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/A8Equd6JpGk&amp;amp;hl=es_ES&amp;amp;fs=1"&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/A8Equd6JpGk&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;br /&gt;&lt;br /&gt;Y para que me quede apuntado en algún sitio:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Señores y señoras usen protector solar.&lt;br /&gt;Si pudiera ofrecerles sólo un consejo para el futuro, sería éste: Usen protector solar.&lt;br /&gt;Los científicos han comprobado sus beneficios a largo plazo mientras que los consejos que les voy a dar, no tienen ninguna base fiable y se basan únicamente en mi propia experiencia. He aquí mis consejos:&lt;br /&gt;&lt;br /&gt;Disfruta de la fuerza y belleza de tu juventud.&lt;br /&gt;&lt;br /&gt;No me hagas caso. Nunca entenderás la fuerza y belleza de tu juventud hasta que no se haya marchitado.&lt;br /&gt;Pero créeme, dentro de veinte años, cuando en fotos te veas a ti mismo comprenderás, de una forma que no puedes comprender ahora, cuántas posibilidades tenías ante ti y lo guapo que eras en realidad.&lt;br /&gt;No estás tan gordo como imaginas.&lt;br /&gt;No te preocupes por el futuro. O preocúpate sabiendo que preocuparse es tan efectivo como tratar de resolver una ecuación de álgebra masticando chicle.&lt;br /&gt;Lo que sí es cierto es que los problemas que realmente tienen importancia en la vida son aquellos que nunca pasaron por tu mente, de ésos que te sorprenden a las 4 de la tarde de un martes cualquiera.&lt;br /&gt;Todos los días haz algo a lo que temas. Canta.&lt;br /&gt;No juegues con los sentimientos de los demás. No toleres que la gente juegue con los tuyos.&lt;br /&gt;Relájate. No pierdas el tiempo sintiendo celos. A veces se gana y a veces se pierde.&lt;br /&gt;La competencia es larga y, al final, sólo compites contra ti mismo.&lt;br /&gt;Recuerda los elogios que recibas. Olvida los insultos (pero si consigues hacerlo, dime cómo hacerlo).&lt;br /&gt;Guarda tus cartas de amor. Tira las cartas del banco. Estírate. No te sientas culpable si no sabes muy bien qué quieres de la vida.&lt;br /&gt;Las personas más interesantes que he conocido no sabían qué hacer con su vida cuando tenían 22 años. Es más, algunas de las personas que conozco tampoco lo sabían a los 40.&lt;br /&gt;Toma mucho calcio. Cuida tus rodillas sentirás la falta que te hacen cuando te fallen.&lt;br /&gt;Quizá te cases, quizá no. Quizá tengas hijos, quizá no. Quizá te divorcies a los 40, quizá no.&lt;br /&gt;Quizá bailes el vals en tu 75 aniversario de bodas. Hagas lo que hagas no te enorgullezcas ni te critiques demasiado. Optarás por una cosa u otra, como todos los demás.&lt;br /&gt;Disfruta de tu cuerpo. Aprovéchalo de todas las formas que puedas.&lt;br /&gt;No tengas miedo ni te preocupes por lo que piensen los demás porque es el mejor instrumento que jamás tendrás.&lt;br /&gt;Baila, aunque tengas que hacerlo en el salón de tu casa.&lt;br /&gt;Lee las instrucciones aunque no las sigas. No leas revistas de belleza pues para lo único que sirven es para hacerte sentir feo.&lt;br /&gt;&lt;br /&gt;Aprende a entender a tus padres. Será tarde cuando ellos ya no estén.&lt;br /&gt;Llévate bien con tus hermanos. Son el mejor vínculo con tu pasado y, probablemente, serán los que te acompañen en el futuro.&lt;br /&gt;Entiende que los amigos vienen y se van pero hay un puñado de ellos que debes conservar con mucho cariño.&lt;br /&gt;Esfuérzate por no desvincularte de algunos lugares y costumbres porque, cuando pase el tiempo, más los necesitarás.&lt;br /&gt;Vive en una ciudad alguna vez pero múdate antes de que te endurezcas.&lt;br /&gt;Vive en un pueblo alguna vez pero múdate antes de que te ablandes.&lt;br /&gt;Viaja. Acepta algunas verdades ineludibles: los precios siempre subirán, los políticos siempre mentirán y tú también envejecerás.&lt;br /&gt;Y, cuando seas viejo, añorarás los tiempos en que eras joven: los precios eran razonables, los políticos eran honestos y los niños respetaban a los mayores.&lt;br /&gt;Respeta a los mayores. No esperes que nadie te mantenga pues tal vez recibas una herencia o, tal vez te cases con alguien rico pero, nunca sabrás cuánto durará.&lt;br /&gt;No te hagas demasiadas cosas en el pelo porque cuando tengas 40 años parecerá el de alguien de 85.&lt;br /&gt;Sé cauto con los consejos que recibes y ten paciencia con quienes te los dan. Los consejos son una forma de nostalgia.&lt;br /&gt;Dar consejos es una forma de sacar el pasado del cubo de la basura, limpiarlo, ocultar las partes feas y reciclarlo dándole más valor del que tiene.&lt;br /&gt;Pero hazme caso en lo del protector solar.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El original, de Mary Theresa Schmich 'Wear Sunscreen'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-2382443448547695889?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/2382443448547695889/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/07/un-ano-mas-disfrutando-de-la-vida.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/2382443448547695889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/2382443448547695889'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/07/un-ano-mas-disfrutando-de-la-vida.html' title='Un año más ... disfrutando de la vida'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-8952957520828313845</id><published>2010-06-06T15:39:00.001-07:00</published><updated>2010-06-06T16:03:09.281-07:00</updated><title type='text'>El Grand Slam Rojo</title><content type='html'>En este año 2010 algunos hemos sido testigos de la gran hazaña de Rafa Nadal en tierra batida. Y es que Rafa ha logrado conseguir el 'no tan conocido' Grand Slam Rojo, que significa haber ganado los tres ATP Masters 1000 sobre tierra batida en Montecarlo, Roma y Madrid, y además, el Gran Slam de Roland Garros de París, todo en el mismo año.&lt;br /&gt;&lt;br /&gt;Hoy ha sido la final de Roland Garros, y hay que decir que la más emocionante de todas las que ganó Rafa, porque la disputaba nada más y nada menos que frente a Robin Soderling, aquel hombre que odiabamos por sus desplantes y que maldecimos por vencer a Rafa en 2009 en la misma pista en la que hoy lo pulverizó.&lt;br /&gt;&lt;br /&gt;Poco se ha oido hablar del Grand Slam Rojo. Por lo pronto, ni la wikipedia lo recoge. ¿Será porque nadie lo había logrado nunca? - Es cierto que el Masters de Madrid pasó de pista dura a arcilla hace un par de años, pero eso no resta el increible merito que tiene ganarlos. Y es que Rafa es el Rey de la tierra, y esperemos que sea así por mucho más tiempo.&lt;br /&gt;&lt;br /&gt;Esta pasión que me entra ultimamente por el tenis no es fortuita, ni siquiera tiene que ver con los títulos que está ganando el mayorquín. Creo más bien que tiene que ver con la forma en que gana títulos, en la que gana partidos, en la que gana puntos, la forma en la que hace todo lo que hace.&lt;br /&gt;&lt;br /&gt;Aunque suene ridículo y demasiado fantasioso, he llegado a entender la famosa coletilla de "es un estilo de vida" que se aplica a muchas cosas en el mundo. Habría que indagar en el verdadero significado de esa frase.&lt;br /&gt;&lt;br /&gt;Para mí, ver la entrega que dedica a cada paso que hace, todos los detalles desde que sale a la pista hasta que marcha, incluso lo que puedes imaginar que haga fuera de ella, todo eso me hace pensar en la increible fortaleza mental que tiene, y a su vez, me hace pensar en por qué no podría yo aplicarla a mi vida. Aprender de esa fortaleza, y aplicarla a mi vida diaria. Ese debería de ser un estilo de vida. El trabajo constante, la humildad en lo que haces, sabiendo que siempre habrá alguien mejor que tu, las ganas de ser siempre mejor de lo que eres ahora, respetar a tu rival, apreciar cada pequeño triunfo que obtengas, pelear por un punto cuando pierdes 0-40 en bola de partido, pelearlo porque puedes ganarlo y con mentalidad ganar el partido, creer que puedes ganar, confiar en tí y en tus posibilidades, pero siempre yendo poco a poco, sin prisas, sin ansiedad, sabiendo llorar cuando ganas y sabiendo sonreir cuando pierdes. Tantos y tantos detalles en su forma de actuar que le hacen conseguir grandes cosas, y más.&lt;br /&gt;&lt;br /&gt;Hoy cuando ha levantado la Copa de los Mosqueteros, me dije: 'lo había visto. la noche antes había visto esta misma imagen, y había visto rotulos en los periodicos anunciando que el era el Campeon de Roland Garros 2010'. Y ahora me digo, '¿por qué no le imitas?'&lt;br /&gt;&lt;br /&gt;El viernes tengo un examen final y me digo a mi misma que si Rafa es capaz de ganar su quinto Roland Garros con toda la presión que se le ha echado encima estos últimos meses, ¿por qué no voy a ser yo capaz de aprobar ese examen final? - Es cierto, Rafa es un excepcional tenista, que pocos habrá nunca, y yo soy infinitamente más pequeña que el; pero ganar en París también es infinitamente más dificil que aprobar el exámen final del viernes, por lo que todo se compensa.&lt;br /&gt;&lt;br /&gt;¿Cuál sería la solución? - pues aplicar sus detalles, aplicar su forma de trabajar, aplicar su mentalidad, su madurez, su estabilidad, aplicar ese estilo de vida que el lleva y con ello conseguir mis objetivos. Si el puede, yo también. En eso consiste mi pasión por Rafa, es la pasión por su saber hacer ya que al fin y al cabo, las copas van a parar a la vitrina de su casa, y a mi vitrina deberían de ir a parar 'mis propios triunfos'.&lt;br /&gt;&lt;br /&gt;Enhorabuena Rafa. Y ahora, a por Wimbledon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-8952957520828313845?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/8952957520828313845/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/06/el-grand-slam-rojo.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8952957520828313845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8952957520828313845'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/06/el-grand-slam-rojo.html' title='El Grand Slam Rojo'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-5610098715005840402</id><published>2010-04-10T18:55:00.000-07:00</published><updated>2010-04-10T19:17:10.485-07:00</updated><title type='text'>Drupal + modulo node_limitnumber: redirigir cuando se llega al límite</title><content type='html'>Cuando queremos limitar el número de publicaciones de un usuario (crear contenido) podemos utilizar el módulo &lt;a href="http://drupal.org/project/node_limitnumber"&gt;NODE_LIMITNUMBER&lt;/a&gt; con el que se puede escoger el límite de creaciones de contenido para un role concreto y para un tipo de contenido concreto.&lt;br /&gt;&lt;br /&gt;En este caso, queremos que los usuarios registrados puedan enviar un boletín de inscripción.&lt;br /&gt;Para ello necesitamos que SOLO puedan editarlo UNA sóla vez.&lt;br /&gt;Por lo tanto configuramos el nuevo módulo para que aquellos usuarios con el ROLE miembros sólamente puedan crear 1 contenido de tipo BOLETIN.&lt;br /&gt;&lt;br /&gt;Para comprobar su funcionamiento, basta con crear un contenido y luego volver a acceder al path NODE/ADD/BOLETIN y nos saldrá el mensaje siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9zDZ_X3disQ/S8EwwkCoiaI/AAAAAAAAANA/qdmlCWLHV60/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 156px;" src="http://2.bp.blogspot.com/_9zDZ_X3disQ/S8EwwkCoiaI/AAAAAAAAANA/qdmlCWLHV60/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5458697834216327586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pero para hacer el site mucho mas dinámico, sería interesante que cuando un usuario intente crear un nuevo contenido de ese tipo y le salga el mensaje de "prohibido crear", se le mostrara a continuación el boletín ya creado. De esta forma no dejaría lugar a dudas que SOLO puede crear/enviar ese boletín.&lt;br /&gt;&lt;br /&gt;Para esto primero necesitamos el PATH del boletín que ha creado el usuario.&lt;br /&gt;Podríamos copiar el path del nodo e indicarselo, pero necesitamos que la aplicación sea dinámica, por lo tanto pediremos ayuda a VIEWS y crearemos una vista de "los boletines creados por el propio usuario" y tomaremos nota del path de la vista (o view).&lt;br /&gt;&lt;br /&gt;Luego, necesitamos acceder al código fuente de DRUPAL.&lt;br /&gt;&lt;br /&gt;No nos asustemos! No es un método agresivo.&lt;br /&gt;&lt;br /&gt;En el FTP: drupal-&gt;sites-&gt;all-&gt;modules-&gt;node_limitnumber&lt;br /&gt;Editamos el archivo node_limitnumber.module&lt;br /&gt;En la línea 156 y 157:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;drupal_set_message(t("You can't create more content of type !type, sorry.", array('!type' =&amp;gt; $nodetypename)), 'error');&lt;br /&gt;&lt;br /&gt;       drupal_goto('&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;path_view&lt;/span&gt;');&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Sustituimos "node/add" por "path_view".&lt;br /&gt;&lt;br /&gt;Y listo!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9zDZ_X3disQ/S8ExGKi9HII/AAAAAAAAANI/uuuKc7beLio/s1600/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 293px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/S8ExGKi9HII/AAAAAAAAANI/uuuKc7beLio/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5458698205329693826" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-5610098715005840402?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/5610098715005840402/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/04/drupal-modulo-nodelimitnumber-redirigir.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/5610098715005840402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/5610098715005840402'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/04/drupal-modulo-nodelimitnumber-redirigir.html' title='Drupal + modulo node_limitnumber: redirigir cuando se llega al límite'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9zDZ_X3disQ/S8EwwkCoiaI/AAAAAAAAANA/qdmlCWLHV60/s72-c/001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-847131258996629963</id><published>2010-04-10T18:04:00.000-07:00</published><updated>2010-04-10T18:10:32.180-07:00</updated><title type='text'>Drupal: código php para Default value en los CCK field</title><content type='html'>Cuando mostramos un formulario que debe rellenar un usuario, podemos mostrar algunos campos ya rellenados con la información que disponemos.&lt;br /&gt;&lt;br /&gt;En este caso, quiero que el campo EMAIL sea rellenado con la dirección email que está asignada a cada cuenta de usuario, de este modo, el formulario seguirá siendo identificado de forma no sólo única sino rápida.&lt;br /&gt;&lt;br /&gt;Para hacerlo es tan sencillo como ir a la configuración del FIELD_EMAIL que hemos creado con CCK; buscamos la pestaña DEFAULT VALUE y desplegamos PHP CODE.&lt;br /&gt;&lt;br /&gt;Copiamos el siguiente código:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;div class="codeblock"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;&lt;code&gt;&lt;br /&gt;global $user;&lt;br /&gt;&lt;br /&gt;return array(&lt;br /&gt;&lt;br /&gt;0 =&amp;gt; array('value' =&amp;gt; user_load($user-&amp;gt;uid)-&amp;gt;mail ),&lt;br /&gt;&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="codeblock"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;Y el campo email del formulario se rellenará al inicio con la dirección del usuario.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-847131258996629963?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/847131258996629963/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/04/drupal-codigo-php-para-default-value-en.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/847131258996629963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/847131258996629963'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/04/drupal-codigo-php-para-default-value-en.html' title='Drupal: código php para Default value en los CCK field'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-5948785451448513391</id><published>2010-03-12T13:04:00.000-08:00</published><updated>2010-03-12T13:40:41.940-08:00</updated><title type='text'>jSeblod CCK y JA purity: problemas en Firefox</title><content type='html'>Cuando intentamos visualizar en nuestro front-end los articulos creados con jSeblod, comprobamos que hay un problema de visualización en Mozilla Firefox.&lt;br /&gt;&lt;br /&gt;Concretamente ocurre con la plantilla JA Purity que viene por defecto con Joomla.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PROBLEMA&lt;/span&gt;&lt;br /&gt;El texto de cada articulo "se sale" de la plantilla y aparece sobreimpreso hacia la derecha.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9zDZ_X3disQ/S5qvw7OLiDI/AAAAAAAAAMs/WLU_99ACxd8/s1600-h/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 194px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/S5qvw7OLiDI/AAAAAAAAAMs/WLU_99ACxd8/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5447859954323785778" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9zDZ_X3disQ/S5qvD2UwFKI/AAAAAAAAAMk/nboM7mQ-5mk/s1600-h/001.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CAUSA&lt;/span&gt;&lt;br /&gt;La estructura que adopta la plantilla es:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;h2 class="contentheading"&amp;gt;&lt;br /&gt;  ¿Dónde está el ítem del contenido estático?&lt;br /&gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div class="article-tools"&amp;gt;&lt;br /&gt;      &amp;lt;div class="article-meta"&amp;gt;&lt;br /&gt;                  // Fecha de edicion y autor&lt;br /&gt;      &amp;lt;/div&amp;gt;&lt;br /&gt;      &amp;lt;div class="buttonheading"&amp;gt;&lt;br /&gt;              //Iconos de PDF, impresora, email&lt;br /&gt;      &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;class="article-content&lt;/span&gt;"&amp;gt;&lt;br /&gt;    // Texto de nuestro nuevo articulo creado con jSeblod&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Si nos fijamos, nuestro nuevo contenido estará incrustado en una caja DIV a continuación de la caja DIV que alberga los botones de pdf, imprimir y email. El codigo CSS de estos ultimos indica lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;.article-tools {&lt;br /&gt;     float: right;&lt;br /&gt;}&lt;br /&gt;.article-meta {&lt;br /&gt;   float: right;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Por lo tanto nuestra caja DIV donde albergamos el texto de nuestro nuevo articulo adopta la posicion flotante &lt;span style="font-weight: bold;"&gt;RIGHT&lt;/span&gt;, por lo que sale a la derecha y superponiendose con el resto de los modulos.&lt;br /&gt;&lt;br /&gt;No tengo claro si la culpa es de una mala programación de la plantilla, o bien que Mozilla Firefox interpreta mal estos datos ya que en el resto de navegadores se ve correctamente.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SOLUCION&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pues la solución está bien clara: necesitamos indicarle a nuestro DIV que su posición es &lt;span style="font-weight: bold;"&gt;LEFT&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Para ello nos vamos a la&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt; plantilla de jSeblod&lt;/span&gt;.&lt;br /&gt;NOTA: esto es muy importante. Si modificamos la plantilla de Joomla los cambios no se reflejaran, ya que la zona de codigo que añade jSeblod, esta gestionada por las plantillas de jSeblod.&lt;br /&gt;&lt;br /&gt;Desde nuestro Back-end:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;jSeBlood CCK -&gt; Gestor de plantillas -&gt; Buscamos la plantilla &lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;[Default Content]&lt;/span&gt; y la abrimos.&lt;/blockquote&gt;&lt;br /&gt;Esta plantilla es la que tiene por defecto los articulos de jSeblod. Si la hubieramos cambiado, tendríamos que buscar la plantilla correspondiente.&lt;br /&gt;&lt;br /&gt;En la sección inferior &lt;span style="font-weight: bold;"&gt;SOURCES&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Code(CSS) -&gt; Site.css&lt;/blockquote&gt;Presionamos sobre el &lt;span style="font-weight: bold;"&gt;icono de edición&lt;/span&gt; y se nos abrira una ventana para editar el archivo.&lt;br /&gt;&lt;br /&gt;Añadimos el siguiente código:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;.article-content{&lt;br /&gt;float:left;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Guardamos todo y debería aparecer el texto correctamente ubicado.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9zDZ_X3disQ/S5qzOw9BlUI/AAAAAAAAAM0/qGfhF2lUJf8/s1600-h/001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 206px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/S5qzOw9BlUI/AAAAAAAAAM0/qGfhF2lUJf8/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5447863765498434882" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-5948785451448513391?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/5948785451448513391/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/03/jseblod-cck-y-ja-purity-problemas-en.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/5948785451448513391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/5948785451448513391'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/03/jseblod-cck-y-ja-purity-problemas-en.html' title='jSeblod CCK y JA purity: problemas en Firefox'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9zDZ_X3disQ/S5qvw7OLiDI/AAAAAAAAAMs/WLU_99ACxd8/s72-c/001.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-6381908507751203218</id><published>2010-03-03T18:19:00.000-08:00</published><updated>2010-03-03T18:40:12.986-08:00</updated><title type='text'>Joomla + jSeblod CCK = subcategorías y mucho más</title><content type='html'>Y volvemos con otro plugin extra de Joomla.&lt;br /&gt;&lt;br /&gt;Esta vez le toco el turno a &lt;a href="http://www.jseblod-cck.com/"&gt;jSeblod CCK&lt;/a&gt; ante la necesidad de incluir subcategorías a la estructura de Joomla, el cual solo dispone de secciones y categorías por defecto.&lt;br /&gt;&lt;br /&gt;En muchas ocasiones nos gustaría poder clasificar un artículo en un arbol más complejo que el que viene por defecto y creo que este nuevo componente puede servir.&lt;br /&gt;&lt;br /&gt;Se consigue a través de la &lt;a href="http://extensions.joomla.org/extensions/news-production/content-construction/9128"&gt;web de extensiones de joomla&lt;/a&gt; y se instala el zip como cualquier otro plugin.&lt;br /&gt;&lt;br /&gt;Ya a primera vista se puede comprobar que parece muy completo y con una interfaz muy agradable. Y sólo nos resta empezar a movernos por joomla para comprobar tambien su increible integración con el cms, realmente estupenda.&lt;br /&gt;&lt;br /&gt;Las &lt;a href="http://www.jseblod-cck.com/documentation/install.html"&gt;instrucciones de instalación&lt;/a&gt; del plugin son una buena recomendación a seguir, de las cuales es interesante destacar un par de notas importantes:&lt;br /&gt;Eliminar la cache del navegador (en caso de ser una actualización, aunque yo lo realice de todas formas).&lt;br /&gt;&lt;br /&gt;1.- Cambiar el salto de línea por defecto de Joomla. El editor TinyMCE de Joomla tiene por defecto marcar los parrafos con P, pero para un correcto funcionamiento e integración con el nuevo plugin es necesario que este salto de línea sea BR. Para ello:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Extensiones -&gt; Gestor de plugins&lt;/li&gt;&lt;li&gt;Buscamos el plugin "Editor - TinyMCE 2.0" y lo editamos.&lt;/li&gt;&lt;li&gt;Buscamos en la zona derecha (abajo) "Líneas nuevas" y marcamos "Elementos BR"&lt;/li&gt;&lt;/ul&gt;2.- No tener activada la función automática de FTP en Joomla.&lt;br /&gt;&lt;br /&gt;3.- Comprobar que el nuevo plugin es el primero de la lista de contenido:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Extensiones &gt; Gestor de  plugins&lt;/li&gt;&lt;li&gt;Buscar el plugin "Content - Cckjseblod" .&lt;/li&gt;&lt;/ul&gt;4.- Configurar un acceso directo en la barra de la administración&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Extensiones -&gt; Gestor de módulos -&gt; Enlace Administración&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Buscamos el módulo "Extended Admin Menu - jSeblod" y lo habilitamos&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt;&lt;br /&gt;También puede resultar muy útil los &lt;a href="http://www.jseblod-cck.com/documentation/videos.html"&gt;video-tutoriales&lt;/a&gt; que tienen a nuestra disposición. Aunque son un poco acelerados, se puede ver lo amplio, complejo, completo y atractivo que es este gran plugin.&lt;br /&gt;&lt;br /&gt;Ahora voy a experimentar un poco más con él :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-6381908507751203218?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/6381908507751203218/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/03/joomla-jseblod-cck-subcategorias-y.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/6381908507751203218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/6381908507751203218'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/03/joomla-jseblod-cck-subcategorias-y.html' title='Joomla + jSeblod CCK = subcategorías y mucho más'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-563081103768927172</id><published>2010-02-28T17:31:00.000-08:00</published><updated>2010-03-01T16:23:15.841-08:00</updated><title type='text'>Joomla - Cambiar nombre carpeta administrator</title><content type='html'>Estos días los estoy dedicando a aumentar la seguridad de algunos sitios web que tengo operativos por la red. Entre muchas cosas se habla de lo muy recomendable que es ocultar la url del panel de administración, sobretodo de un CMS tan conocido como Joomla y el cual, recien me doy cuenta ahora, es tan dificil realizar.&lt;br /&gt;&lt;br /&gt;Joomla dispone de su directorio administrator donde se encuentra su back-end:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9zDZ_X3disQ/S4sayAkslgI/AAAAAAAAAMY/nwdSgt_7Eyw/s1600-h/001.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 268px;" src="http://2.bp.blogspot.com/_9zDZ_X3disQ/S4sayAkslgI/AAAAAAAAAMY/nwdSgt_7Eyw/s320/001.jpg" alt="" id="BLOGGER_PHOTO_ID_5443474021057074690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Su dirección url es &lt;span style="font-weight: bold;"&gt;http://www.midominio.com/administrator&lt;/span&gt; suponiendo que hemos subido nuestros archivos Joomla directamente en la raiz de nuestra carpeta pública de nuestro dominio.&lt;br /&gt;&lt;br /&gt;Sabiendo esto, es muy fácil para "algun curioso" intentar entrar a nuestro sistema de administración con una dirección tan conocidad.&lt;br /&gt;&lt;br /&gt;Es por esto que es muy recomendable cambiar el nombre del directorio donde se almacenan los archivos de administración. Aunque esto no hace a nuestro sitio web invulnerable, si es una gran ayuda y limitaría el número de "curiosos" que pueden intentar acceder.&lt;br /&gt;&lt;br /&gt;Como Joomla basa su estructura en modulos relacionados entre sí, éstos también hacen constantes referencias a la ruta administrator, por lo que hay que encontrar todos esos archivos y modificar la ruta manualmente.&lt;br /&gt;&lt;br /&gt;A modo de recopilatorio para mi propi uso voy a ir apuntando en esta entrada una lista de los archivos modificados.&lt;br /&gt;&lt;br /&gt;-------------------------------&lt;br /&gt;&lt;br /&gt;Lo primero, vamos a trabajar con la versión de Joomla 1.5.15, concretamente el Spanish pack completo.&lt;br /&gt;&lt;br /&gt;.SQL&lt;br /&gt;installation\sql\mysql\sampledata.sql&lt;br /&gt;&lt;br /&gt;.TXT&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/robots.txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;.XML&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;administrator\templates\khepri\templateDetails.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;components\com_poll\views\poll\tmpl\default.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;components\com_newfeeds\views\category\tmpl\default.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;components\com_newfeeds\views\newsfeed\tmpl\default.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;modules\mod_banners\mod_banners.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;administrator\components\com_translationsmanager\config.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;components\com_contact\views\contact\tmpl\default.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;components\com_contact\views\category\tmpl\default.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;administrator\components\com_content\models\article.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;components\com_content\views\article\tmpl\default.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;modules\mod_poll\mod_poll.xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;.PHP&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;administrator\components\com_admin\tmpl\sysinfo_directory.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;administrator\components\com_templates\admin.templates.html.php line: 122&lt;/span&gt;&lt;br /&gt;administrator\components\com_translationsmanager\controller.php&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;administrator\components\com_media\views\images\view.html.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;administrator\components\com_media\views\imageslist\view.html.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;administrator\includes\defines.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;libraries\joomla\enviroment\uri.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;installation\installer\models\model.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;includes\defines.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;installation\includes\defines.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;xmlrpc\includes\defines.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;installation\installer\helper.php line: 412&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;libraries\joomal\html\html\image.php line: 131&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;plugins\search\content.php line 50&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;installation\includes\application.php line 244&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;El cambio hay que fijarse concretamente cuando las sentencias de código hablen de rutas, path, la palabra sea en minusculas, sea una cadena de texto, e intuitivamente parezca ser relativo a la ruta.&lt;br /&gt;&lt;br /&gt;Vamos a subir los archivos y comprobar si todo ha ido bien.&lt;br /&gt;&lt;br /&gt;NOTA: no cambiar en &lt;span style="font-weight: bold;"&gt;administrator\includes\application.php&lt;/span&gt; en &lt;span style="font-style: italic;"&gt;getRouter()&lt;/span&gt;. En este archivo hace referencia a un nombre de aplicación que nada tiene que ver con el nombre de la ruta que intentamos cambiar.&lt;br /&gt;&lt;br /&gt;NOTA2: Tampoco cambiarlo en &lt;span style="font-weight: bold;"&gt;administrator\index.php&lt;/span&gt; en &lt;span style="font-style: italic;"&gt;mainframe&lt;/span&gt;, ya que volvemos a tratar de la aplicación.&lt;br /&gt;&lt;br /&gt;NOTA3: en algunos sitios aparece la palabra de la forma &lt;span style="font-weight: bold;"&gt;"image.administrator"&lt;/span&gt;. En esta ocasion no se sustituye ya que representa una funcion con el nombre administrator en el archivo image.php&lt;br /&gt;&lt;br /&gt;NOTA FINAL: Despues de muchos intentos y de dejarme los ojos en el código, la transformación parece ser más complicada. Actualmente, el backend se muestra pero el menu no se activa. Puede ser un problema con la template, ya que en texto plano los links funcionan correctamente. Puede que tambien los archivos donde pase por alto la modificación por parecer del tipo de usuario, deberían de haber sido cambiados.&lt;br /&gt;Es un poco lioso, y no quiero que me queden bugs perdidos, sobretodo cuando lo quiero implantar para una muestra pública, de modo que desisto, hasta ver si algún día doy con la solución definitiva.&lt;br /&gt;&lt;br /&gt;Realmente una pena ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-563081103768927172?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/563081103768927172/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/02/joomla-cambiar-nombre-carpeta.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/563081103768927172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/563081103768927172'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/02/joomla-cambiar-nombre-carpeta.html' title='Joomla - Cambiar nombre carpeta administrator'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9zDZ_X3disQ/S4sayAkslgI/AAAAAAAAAMY/nwdSgt_7Eyw/s72-c/001.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-8685436184051560416</id><published>2010-02-25T19:26:00.000-08:00</published><updated>2010-02-25T19:41:47.583-08:00</updated><title type='text'>Un poco de todo</title><content type='html'>He ido a ver esta noche Shutter Island, de Scorssese con Di Caprio.&lt;br /&gt;La verdad que un buen amigo me dijo que no tenía muy claro si le había gustado o no, y yo he salido del cine con la misma sensación. Su final es impactante, aunque no por ello esperado. Pero es los tipicos finales ambiguos, que lo mismo te da que acabe así que todo lo contrario. Giro sobre giro en la trama es como lo llaman.&lt;br /&gt;Yo me quedaré con que durante todo el grueso de la pelicula (excluyendo principio=expectativas y el final=curiosidad) pues tenía unas ganas locas de que acabara el dichoso film y salir de esa maldita isla. Me rayo bastante, la verdad.&lt;br /&gt;&lt;br /&gt;Por otra parte, cada vez estoy mas nerviosa por que llegue "el gran día". El día 9. Nueve de Marzo de Dos Mill Diez. Qué gran fecha!&lt;br /&gt;Está claro que sólo los fanáticos de Final Fantasy como yo comprenden exactamente la ansiedad que producen estos 10 días.&lt;br /&gt;En el fondo nos da igual si el juego cumple las expectativas o no. Lo importante es tenerlo, jugarlo, probarlo, juzgarlo y pasarlo. Luego llegan las criticas, que si esto me gusta mas, que si esto no me gusta, que porque hicieron esto otro, ... pero al cabo de dos días, volveremos a empezarlo de nuevo y acabarlo, jeje.&lt;br /&gt;&lt;br /&gt;Yo que soy una obsesionada con "el no saber nada de nada" por lo pronto no he visto ni un  trailer. No quiero! Ya es suficiente que me se los rostros de algunos personajes, que la acción comienza en un mundo llamando Cocoon (El Nido en el idioma de Cervantes) y que es lineal.&lt;br /&gt;Es de lo único que se habla del juego.&lt;br /&gt;Sinceramente, lo prefiero. Lo interesante de cada Final Fantasy es su nueva historia, que te guste, que te enganche, que te deje con ganas de ver que ocurre en el siguiente video, en la siguiente ciudad, tras la siguiente mision.&lt;br /&gt;Por dios! Tiempo a salir al campo a luchar con enemigos y subir nivel siempre tenemos.&lt;br /&gt;&lt;br /&gt;Solo pido por favor que no me frustre como lo hizo la anterior entrega, donde mi imaginación corría más que la trama del juego. En el fondo, viví una historia paralela: la que yo me esperaba y nunca apareció.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Y cambiando de tema friki, decir que se acabó la implementación de la pasarela de pago.&lt;br /&gt;Al final han decidido no implantar un TPV virtual para el pago por tarjeta, y con ello se acaba mi mini proyecto para agregarlo a la web. Asique del paso 0.0 no "pasamos" a ninguno mas xD.&lt;br /&gt;&lt;br /&gt;De todas formas, ahora empiezo con un apartado nuevo y estoy segura que algo bueno sacaremos para publicar aquí.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-8685436184051560416?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/8685436184051560416/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/02/un-poco-de-todo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8685436184051560416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8685436184051560416'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/02/un-poco-de-todo.html' title='Un poco de todo'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-7448905063276661279</id><published>2010-02-16T15:59:00.000-08:00</published><updated>2010-02-16T16:27:47.759-08:00</updated><title type='text'>ConfigBox: un buen registrador de dominios y alojamiento web</title><content type='html'>Hagamos un poco de publicidad!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hubo un día, hace años, dónde el aburrimiento me llevo a registrar el dominio goladed.com en una compañía americana, FreeServers se llamaba.&lt;br /&gt;Al final resulto que era como una subempresa que ofrecía productos de una mayor (no recuerdo el nombre).&lt;br /&gt;El caso es que, inocencia del momento, pague unos 13 euros por tener "una web"; otros 26 euros al año siguiente, 35 al siguiente, y así sucesivamente. Como el pago era una vez al año, cuando llegaba agosto y me lo renovaban automáticamente me decía a mi misma: "bah, solo es un pago ahora, y puede que la necesite algun día para algo". Qué capacidad de auto-convicción!&lt;br /&gt;&lt;br /&gt;Lo cierto es que la web tenia un panel de control bastante nefasto, y publicidad por todos los lados. Supongo que se refugiaban en que lo compre creyendo que era gratuito, pero pagaba una cantidad al año, no deberían de meterme publicidad.&lt;br /&gt;Además a mí me gustaba manejar archivos, tener un poco el control de mi web, y no solo escribir en un procesador de textos via web.&lt;br /&gt;&lt;br /&gt;Intente borrarme. Atención que este es un dato muy importante!. Lo intente, una y mil veces. La opción Unsuscribre era un bucle entre dos páginas. Mande emails. Llama no iba a llamar a un numero extranjero, para hablar extranjero, y que no me entendieran. De modo que siempre me decía: "bueno, lo intento otro día, igual así funciona". Otra vez auto-convenciéndome.&lt;br /&gt;&lt;br /&gt;---------------------&lt;br /&gt;&lt;br /&gt;De modo que llegó el día que tenía que registrar un dominio, y encontrar un alojamiento web decente. Con 4 o 5 años más de madurez, acerté esta vez a informarme sobre el tema de registros y hosting.&lt;br /&gt;&lt;br /&gt;Los dominios pertenecen al estado (seguramente es algo más complicado que esto, pero como en el fondo no me importa y este post no trata de esto, pues vamos a dejarlo con que "pertenecen al estado").  Una empresa registradora ofrece registros de dominio por un precio, es decir, los vende. (tampoco entiendo mucho el funcionamiento de estas ni de dónde sacan los dominios, sus tratos tendrán digo yo).&lt;br /&gt;Si tu quieres un dominio, por ejemplo, &lt;b&gt;goladed.com&lt;/b&gt; debes comprarlo a una empresa registradora.&lt;br /&gt;&lt;br /&gt;Hay miles!, pero como lo casa siempre resulta estar "mas cerca", recomiendo comprar el dominio a una empresa española, con sede en España, sobretodo por aquello de "reclamar".&lt;br /&gt;Como hay miles, supongo que se pueden leer sendas opiniones sobre cada una, y al final, solo te queda que alguien te recomiende alguna, o elegir a dedillo. Este último caso fue el mío.&lt;br /&gt;Y acerte!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.configbox.com/" target="_blank"&gt;&lt;img src="http://www.configbox.net/banners/configbox-468x60.gif" alt="Alojamiento web y dominios" border="0" height="60" width="468" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ConfigBox tiene su sede en Valencia y reconozco que sólo tengo buenas palabras para ellos. Espero que nunca me defrauden, jeje.&lt;br /&gt;&lt;br /&gt;No voy a discutir si sus precios son más bajos o más altos que otras empresas de dominios o hostings, porque supongo que las habrá para todos los gustos. Sólo voy a enumerar las pequeñas cualidades positivas que tienen, desde mi punto de vista.&lt;br /&gt;&lt;br /&gt;1. Contratación rápida. Entras, indicas tu pedido, pagas y al momento recibes un email con los datos y claves de acceso, y voila! empiezas a funcionar. Ocurre exactamente lo mismo cuando quieres renovar, o ampliar algún servicio.&lt;br /&gt;&lt;br /&gt;2. Asistencia rápida, clara y eficiente. Parece que siempre están disponibles. Duda que tengas, te la resuelven con gran diligencia y eficacia. Siempre ha sido por email mis dudas, pero tiene un sistema de llamada de 9 a 20 h.&lt;br /&gt;&lt;br /&gt;3. Administración sencilla. Te proporcionan un panel de control Pararells Plesk Control, que si no sabes manejarlo ya, tranquilo que aprenderás bien rápido. MySql con MyPHPAdmin, servicio ftp para que puedas manejar los archivos como a ti te de la gana, buzones de correo, y mil cosas más que todavía no he investigado.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Si os habeís dado cuenta, estas últimas características no pertenecen al registro de dominio sino a un hosting o alojamiento web. Y es que tambien proporcionan estos servicios.&lt;br /&gt;Insisto en que no me preocupa su precio, de momento estoy muy conforme con las tasas que imponen.&lt;br /&gt;&lt;br /&gt;Actualmente tengo 6 dominios registrados con ConfigBox, 2 alojamientos web contratados y asociados a los dominios. Realice un traspaso del dominio goladed.com hace un año y algo, tras muchos intentos y peticiones, ya que el registrador americano no me quería "soltar" el dominio ni a la de tres. Pero al final lo consegui, con una gran asistencia del equipo técnico de ConfigBox y ahora tambien lo gestiono con esta empresa.&lt;br /&gt;&lt;br /&gt;Por último, algo que no quiero dejar sin comentar, es que tiene la opcion de contratar durante 10 días y gratuitamente un plan de hosting, para que puedas hacer pruebas.&lt;br /&gt;A mí me vino genial para comprobar como iba todo el funcionamiento, ya que cuando lo encontre estaba bastante pez en todo este tema. Me ayudo mucho, y no tuvieron que pasar los 10 días para contratarlo finalmente.&lt;br /&gt;&lt;br /&gt;Recomendación total!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-7448905063276661279?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/7448905063276661279/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/02/configbox-un-buen-registrador-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7448905063276661279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7448905063276661279'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/02/configbox-un-buen-registrador-de.html' title='ConfigBox: un buen registrador de dominios y alojamiento web'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-4192663286859241798</id><published>2010-02-16T12:52:00.000-08:00</published><updated>2010-02-16T15:49:12.347-08:00</updated><title type='text'>E-commerce y TPV virtual: PASO 0.0</title><content type='html'>Pensaba escribir mas adelante, cuando tuviera ya algo montado y en el fondo, algo bueno que contar. Pero como esto de la informática no sólo conlleva mucha lectura y búsqueda sino también largas esperas en la subida y descarga de contenido y archivos, pues aquí estoy, "matando un poco el tiempo" mientras me suben al FTP los archivos de Magento.&lt;br /&gt;&lt;br /&gt;Para quien no lo sepa Magento es una aplicación web para comercio electrónico. En pocas palabras, es un sitio web ya creado que puedes obtener gratuitamente - Open Source - que simula una tienda virtual. Pero ya me centraré mas en él cuando llegue el momento.&lt;br /&gt;&lt;br /&gt;---------------------&lt;br /&gt;&lt;br /&gt;Un cliente me ha sugerido la idea de incluir en su sitio web una inscripción online, con su correspondiente pago online, bien sea por tarjeta o transferencia bancaria. Y me puse a "estudiar las posibilidades".&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;1. Lo primero: identificar "el nombre oficial" de aquello que buscaba.&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Con un poco que navegues por internet, rápidamente descubres que se llama &lt;b&gt;TPV virtual&lt;/b&gt;. Y yo me dije: ¿y qué es un TPV?. - Pues el tipico aparato de las tiendas, bares o comercios en general por el que pasan la tarjeta de credito. Supuestamente ese aparato te lo proporciona el banco tras una contratación previa.&lt;br /&gt;Pues el TPV virtual es exactamente lo mismo pero virtual, es decir, electrónico.&lt;br /&gt;&lt;br /&gt;Si alguna vez habeís comprado algo por internet con tarjeta, os dareís cuenta que tras elegir la opción de pagar se os redirige a una página relacionada con un banco en concreto, y esta en ocasiones con la pagina de vuestro propio banco. Pues bien, esa pagina de tramitacion del banco es el TPV virtual.&lt;br /&gt;&lt;br /&gt;En palabras mas llanas es una aplicación web que tiene montada la entidad bancaria para que nuestro comercio electronico se conecte a ella y pueda realizar las transacciones.&lt;br /&gt;&lt;br /&gt;En realidad nosotros no hacemos ningun tipo de movimiento de dinero "chungo", ya que de eso se encarga el banco con sus propias medidas se seguridad.&lt;br /&gt;&lt;br /&gt;Por supuesto, no todo el mundo se puede conectar a esta aplicación web tan a la ligera y cuando le venga en gana, sino que el banco debera darte de alta y proporcionarte unas claves.&lt;br /&gt;&lt;br /&gt;Como ahora mismo ya se que el banco tiene que participar, llega el momento de pasar al paso siguiente.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;2. Recavar información en tu banco (o en varios)&lt;/h3&gt;&lt;br /&gt;Desde ya digo que mejor hubiera leido algun comentario por internet antes de aventurarme en entrar en alguna sucursal. Y es que por lo visto es generalizado que nadie sabe de lo que les estas hablando cuando solicitas información sobre un TPV virtual.&lt;br /&gt;&lt;br /&gt;Entre en tres bancos una mañana preguntando por lo mismo. En el primero nadie sabia de lo que hablaba y amablemente me pidieron mi número de teléfono con el pretexto de que ya me llamarían. En otro sencillamente me dijeron que eso "lo llevaban en Madrid, que tendría que hablar con ellos".&lt;br /&gt;&lt;br /&gt;Pero tuve suerte con el tercero.&lt;br /&gt;Precisamente era uno de los bancos donde tengo una cuenta abierta, y por suerte el encargado sabía de lo que le hablaba, incluso supo asesorarme sobre mis dudas.&lt;br /&gt;Recientemente habían implantado un TPV virtual para un comercio y tenían muy "fresco" lo que necesitaban.&lt;br /&gt;&lt;br /&gt;A grosso modo me comento que ellos realizan un contrato con diversos datos del cliente y en unos 10 días a lo sumo ya esta implantado. Un equipo técnico que lleva la aplicación web del pago del banco se pondrá en contacto con el administrador web de la tienda virtual para suministrar ciertos datos. Dispones de un tiempo de prueba para comprobar que todo va bien, y luego ya esta listo para activarlo.&lt;br /&gt;En resumen, que veinte o treinta días lo tendrías todo funcionando.&lt;br /&gt;&lt;br /&gt;Como he dicho me lo explico a grosso modo, pero salí de la sucursal con una sonrisa de satisfacción porque, aunque no había concretado muchos conceptos, en el banco sabían lo que quería y cómo lo quería.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;3. Preparación del website de la tienda virtual para el sistema de pago electrónico&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Ya sabía que en el banco me implantaban el sistema y que al darme una serie de claves podría emepezar a funcionar con el TPV virtual. Pero claro, ¿que narices hacía yo con esas claves?&lt;br /&gt;&lt;br /&gt;Era momento de buscar intensamente por internet.&lt;br /&gt;&lt;br /&gt;Encontre un manual para la aplicación Pasat Internet de 4B, donde explica muy detalladamente como funcionar con esta aplicación. Evidentemente cada sucursal tendrá su propia aplicación de pago electrónico.&lt;br /&gt;Gracias a este manual descubrí que la aplicación de pago del banco necesita comunicarse varias veces con nuestro servidor de la tienda virtual para el traspaso de cierta información. Esta comunicación es recomendable que se realice con seguridad - nota 1: repasar certificados SSL - y que no todas las paginas web sencillas pueden soportar este tipo de comunicación - nota 2: repasar qué es un CGI - por lo que el tema empezaba a pintar un poco más complicado que al principio.&lt;br /&gt;&lt;br /&gt;En este caso (Pasat Internet de 4B), el banco proporciona al propietario de la tienda virtual una &lt;b&gt;clave de comercio&lt;/b&gt;, un &lt;b&gt;usuario&lt;/b&gt; y una &lt;b&gt;&lt;contraseña&gt;&lt;/contraseña&gt;&lt;/b&gt; para acceder al sistema de administración.&lt;br /&gt;Este sistema de administración proporciona una panel de control para gestionar la comunicación de nuestra tienda virtual con el sistema de pago. Además incluye un gestor desde el cual se puede ver un resumen de las transacciones realizadas.&lt;br /&gt;&lt;br /&gt;Lo cierto es que me pareció muy completo y muy fácil. Pero cómo no todos los bancos tienen esta aplicación necesitaba saber más.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;4. ¿Qué es un CGI y para que lo quiero?&lt;/h3&gt;&lt;br /&gt;Este es el momento donde encontre a Magento.&lt;br /&gt;Magento además de proporcionar un site para manejar una tienda virtual completa (mostrar productos, carrito de la compra, gestion de almacen, etc) proporciona un modulo para TPV virtual. Esto quiere decir que la configuración de la tienda para comunicarse con la aplicación del banco se vuelve más sencilla.&lt;br /&gt;&lt;br /&gt;Como comentaba al empezar este post, estoy subiendo los archivos de Magento al ftp, de modo que volveré pronto por aquí para comentar como me ha ido.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-4192663286859241798?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/4192663286859241798/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/02/e-commerce-y-tpv-virtual-paso-00.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/4192663286859241798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/4192663286859241798'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/02/e-commerce-y-tpv-virtual-paso-00.html' title='E-commerce y TPV virtual: PASO 0.0'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-5332221143711951312</id><published>2010-02-07T21:31:00.000-08:00</published><updated>2010-02-07T21:39:49.521-08:00</updated><title type='text'>Pinitos en Flash</title><content type='html'>Pues sí señor! Esta vez le ha tocado el turno a la programación el Flash - o diría más bien, "charigar en Flash".&lt;br /&gt;&lt;br /&gt;El año pasado estuve de becaria en un departamento de la Universidad, y entre tantas tareas estaba el mantenimiento de la web. Al llegar la navidad se me ocurrió hacer una pequeña animación flash para desear las felices fiestas en el inicio del web site del dpto, y pues con un pequeño texto y dos animaciones consegui que se vieran un "Feliz Navidad" en movimiento.&lt;br /&gt;&lt;br /&gt;Pero el otro día necesitaba ir un poco más allá y crear un movimiento propio, no uno "de plantilla" que solo modifiques el texto.&lt;br /&gt;&lt;br /&gt;Quería conseguir un banner que mostrará el típico reflejo en movimiento de un brillo.&lt;br /&gt;&lt;br /&gt;No lo consegui.&lt;br /&gt;&lt;br /&gt;Pero en cambio conseguí entener un poco más el mudillo de Adobe y SUS CAPAS. Y es que siempre me he negado a entender como funcionaban todas esas caracteristicas y todos esos agregados. Brrr, donde estuviera Paint!&lt;br /&gt;&lt;br /&gt;Hay muchos tutoriales por la red, pero yo prefiero un videotutorial, y que sea en español. Tengo unos cuantos en favoritos, que seguramente ponga algun día aquí en el blog. Me parecen muy interesantes y se aprende mucho. Los que yo he visto trabajan con CS4 y yo ahora mismo tengo instalado el Macromedia Flash 8, asi que me toca pelearme con algunas opciones que no encuentro a primera vista.&lt;br /&gt;&lt;br /&gt;De todas formas, a pesar de ser muy torpe, consegui crear "algo" parecido a un banner, que se ve en el sidebar de la derecha.&lt;br /&gt;&lt;br /&gt;Lo siguiente: meterle un enlace la banner, porque sino estamos listos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-5332221143711951312?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/5332221143711951312/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/02/pinitos-en-flash.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/5332221143711951312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/5332221143711951312'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/02/pinitos-en-flash.html' title='Pinitos en Flash'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-2479505037904854101</id><published>2010-02-02T08:52:00.001-08:00</published><updated>2010-02-02T09:41:18.453-08:00</updated><title type='text'>Anécdotas de un día cualquiera</title><content type='html'>Puede pasar de todo en un día normal (o no tan normal) y de todo se aprende:&lt;br /&gt;&lt;br /&gt;8:45 am&lt;br /&gt;Descubrimos que cuando el gasolinero se empeña en abrirte la puerta de la Mercedes Vito, no es para que chupes frío con el, sino porque para abrir el tanque de gasolina es necesario abrir la puerta del piloto. Estuve un buen rato para entenderle.&lt;br /&gt;&lt;br /&gt;9:20 am&lt;br /&gt;Aparcamos en el culo del mundo de Oviedo, en busqueda de una zona blanca "libre". Y es que el dinero que se saca la ciudad  con la zona azul ha de ser terrible, porque no hay otro color en la calzada. Yo pagaría por zona azul lo que fuera, no me importa; pero si pretendes ir a un examen que durara mas de hora y media, ya te puedes ir despidiendo de tu coche, o de 5 euros mas, porque no te dejan poner mas tiempo de una vez. ¿Debería pues pedirle al profesor salir para recargar el ticket? ¿Y la gente que trabaja durante 6 o 8 horas, que hace?&lt;br /&gt;&lt;br /&gt;Pues eso, que muy lejos, en una nueva zona al lado del parque de invierno, muy frecuentada por gente con perros.&lt;br /&gt;&lt;br /&gt;9:45 am&lt;br /&gt;Llegamos a Valdés Salas despues de una navegación al mas puro estilo gps por el parque de invierno de Oviedo. Y es que el día antes, muy hábil yo me metí en Google Maps para trazar la ruta desdel el nuevo aparcamiento blanco hasta la facultad. Y que bien que se me ocurrio!&lt;br /&gt;Llego un momento que me vi en medio de un prado, con los tacones llenos de escarcha y barro y buscando desesperadamente el camino de salida. Dios que parque!&lt;br /&gt;&lt;br /&gt;10:00&lt;br /&gt;A esta hora he aprendido la lección más valiosa del día, y quizás de los últimos años. Y es que en un momento tan importante como es un exámen final extraordinario, no recordé realizar la burocracia adecuada para que mi acta apareciera en la convocatoria de Febrero, y no pude presentarme al examen.&lt;br /&gt;&lt;br /&gt;Lo había preparado, e iba bastante convencida de aprobarlo, y quizás es lo que más rabia me da. Además que fue un lapsus tonto. Pero son cosas que pasan, que ocurren, y de las que hay que aprender y no lamentarse. Hay que pensar en las salidas que se tenga, y las formas de solucionarlo. De modo que no queda otra que tirar &lt;span style="font-style: italic;"&gt;pa'lante&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Aún así fue un momento bastante "raro" la vuelta al parquing: muy reflexiva a traves del parque jeje.&lt;br /&gt;&lt;br /&gt;10:30 am&lt;br /&gt;Hemos vuelto a la Vito y nos trasladamos a una zona mas centrica - en zona azul, por supuesto.&lt;br /&gt;Y pues como nos vamos a quedar dentro esperando, no metemos ticket -hay que tener jeta en esta vida.&lt;br /&gt;&lt;br /&gt;11:30&lt;br /&gt;El &lt;span style="font-style: italic;"&gt;poli-amarillo-mira-tickets-zona-azul&lt;/span&gt; (no recuerdo su nombre real) me pica en la ventanilla del copiloto y gesticula muy alegremente que "no tenga cara, y que eche moneda".&lt;br /&gt;Cierto es que no había puesto ticket, pero tambien es la primera vez que el guardia me mira el parabrisas y yo montada en el coche. Tal que le digo un escueto "voy ahora".&lt;br /&gt;&lt;br /&gt;11:31&lt;br /&gt;El &lt;span style="font-style: italic;"&gt;poli-amarillo-mira-tickets-zona-azul&lt;/span&gt;, me abre la puerta del copiloto y me dice alegremente: "si no quieres pagar porque vas a estar poco rato, colocate mas arriba y estas al sol (debía ver que tenía cara de frío). o vas a estar mucho rato?"&lt;br /&gt;- Que majo! -&lt;br /&gt;Y cerro la puerta.&lt;br /&gt;&lt;br /&gt;12:00&lt;br /&gt;Descubrimos lo dificil que es hacer un examen y cambiarse de sitio con torticolis en el cuello y en la espalda&lt;br /&gt;&lt;br /&gt;12:15&lt;br /&gt;Ya con acompañante, nos dirigimos a Los Prados. Y de camino perseguimos a un coche de la Autoescuela - imposible explicar el por que.&lt;br /&gt;&lt;br /&gt;12:45&lt;br /&gt;Pitamos en todas las tiendas, mientras nos hacemos amigas de los polis de las puertas. Frases como "¿que llevas un bolso de blanco, no?" suenan a cada paso que damos&lt;br /&gt;&lt;br /&gt;12:47&lt;br /&gt;Intentamos jugar a un videojuego de coches. ¿Por qué será que en los ceentros comerciales los aparatos no funcionan y cuando funcionan están ocupados? No lo entiendo!!&lt;br /&gt;&lt;br /&gt;12:50&lt;br /&gt;Investigamos un Mac y su raton. Concluimos que no tienen Internet.&lt;br /&gt;&lt;br /&gt;12:51&lt;br /&gt;Sorpresa! Estan dando Matrix Reloaded. ¿Y cuál es la escena? Pues la que sale Neo hablando en el parque con &lt;span style="font-style: italic;"&gt;"Crepusculo"&lt;/span&gt;, a no! que es el &lt;span style="font-style: italic;"&gt;"Oraculo"&lt;/span&gt; xDD&lt;br /&gt;&lt;br /&gt;13:15&lt;br /&gt;Probamos el nuevo &lt;span style="font-style: italic;"&gt;"Wrap Tomato &amp;amp; Cheese"&lt;/span&gt; de McDonals y está ... buenísimo!&lt;br /&gt;&lt;br /&gt;14:15&lt;br /&gt;Seguimos comprobando que los bolsos de Blanco pitan en las tiendas.&lt;br /&gt;&lt;br /&gt;14:30&lt;br /&gt;Otra cosa aprendida: no bebas el agua de una botella que ha estado en el parabrisas del coche un mediodía soleado.&lt;br /&gt;&lt;br /&gt;15:00&lt;br /&gt;Otra cosa aprendida: las tejas de un tejado caen si estan mal pegadas.&lt;br /&gt;Y es que al llegar a casa la acera estaba sembrada de 10 tejas del tejado.&lt;br /&gt;Menos mal que el coche no estaba, porque siempre se aparca justo debajo. O peor! me hubiera matado al perro!&lt;br /&gt;ufff ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Y el día no ha acabado ...&lt;br /&gt;&lt;br /&gt;El caso es que de un día se pueden sacar muchas cosas en claro. Risas, disgustos, lecciones, etc...&lt;br /&gt;Yo me quedo con que al menos las puedo contar hoy aquí.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-2479505037904854101?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/2479505037904854101/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/02/anecdotas-de-un-dia-cualquiera.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/2479505037904854101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/2479505037904854101'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/02/anecdotas-de-un-dia-cualquiera.html' title='Anécdotas de un día cualquiera'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-4142718808067225883</id><published>2010-01-31T08:52:00.000-08:00</published><updated>2010-10-01T05:18:12.767-07:00</updated><title type='text'>Un poco de Japon</title><content type='html'>Estos últimos días han estado coloreados de cierto color oriental.&lt;br /&gt;&lt;br /&gt;Mismamente este fin de semana descubrí una película de animación que probablemente sea la más impactante y emotiva que he visto nunca; y más probable que lo sea durante un buen tiempo: "La tumba de las luciérnagas".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 51, 0);font-size:130%;" &gt;La tumba de las luciérnagas&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9zDZ_X3disQ/S2W2wno0T6I/AAAAAAAAAMQ/8ssT8pzT3sI/s1600-h/luciernagas.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 470px; height: 314px;" src="http://2.bp.blogspot.com/_9zDZ_X3disQ/S2W2wno0T6I/AAAAAAAAAMQ/8ssT8pzT3sI/s320/luciernagas.jpg" alt="" id="BLOGGER_PHOTO_ID_5432949471882530722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Fácil es saber cómo dí con ella al comprobar que pertenece al Studio Ghibli, y tiene por director a Isao Takahata, en realidad su primera película con el Studio.&lt;br /&gt;Se estrenó en Japon en 1988 en una sesión doble junto a "&lt;span style="font-style: italic;"&gt;Mi vecino Totoro&lt;/span&gt;" de Hiyao Miyazaki y mucha gente opina que fué muy desacertado por la crudeza de una frente a la ternura de la otra.&lt;br /&gt;&lt;br /&gt;En mi opinión es una película muy dura, muy triste, muy desalentadora, que llena de impotencia, de dolor y de llanto. Y a pesar de ello, consigue sacarte risas y carcajadas en ocasiones, toca la ternura y llegas a disfrutarla olvidando a veces el comienzo.&lt;br /&gt;&lt;br /&gt;Aprecio mucho haberla visto sin tener constancia alguna de su trama ni su temática. Eso logro impactarme aún más.&lt;br /&gt;Me caló muy hondo. Tanto que no he dejado de pensar en ella desde entonces, y ya van un par de días.&lt;br /&gt;Por momentos se me viene a la cabeza la voz de Setsuko comentando cualquier cosa, y otras veces, las imágenes que mas me han impactado pasan ante mis ojos dejando completamente bloqueada. Incluso escenas que creí no fijarme mientras la veía, vuelven a mí para que las analice detenidamente.&lt;br /&gt;&lt;br /&gt;Tarde en dormirme aquella noche. Y los sueños no fueron del todo agradables.&lt;br /&gt;&lt;br /&gt;A veces me sorprendo a mi misma quieta, con la mirada perdida y pensando en nada - o quizás pensando en cada detalle de la laguna, del paraguas roto que no los protegía de la lluvia, en el sonido de los tres últimos caramelos dentro de la lata, de la pequeña caja de madera tan mal escondida, del color de la roja sandía ...&lt;br /&gt;&lt;br /&gt;A veces digo que no podré volver a verla. Pero se que algun día lo haré, aunque no creo que pueda ser pronto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-4142718808067225883?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/4142718808067225883/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/01/un-poco-de-japon.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/4142718808067225883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/4142718808067225883'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/01/un-poco-de-japon.html' title='Un poco de Japon'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9zDZ_X3disQ/S2W2wno0T6I/AAAAAAAAAMQ/8ssT8pzT3sI/s72-c/luciernagas.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-3825518147214720112</id><published>2010-01-31T08:22:00.000-08:00</published><updated>2010-01-31T08:46:58.804-08:00</updated><title type='text'>¿Por qué solemos perder el tiempo cuando mas falta nos hace?</title><content type='html'>Soy de esas personas que siguen un claro patrón: cuánto más &lt;span style="font-weight: bold;"&gt;importante&lt;/span&gt; es algo en lo que debo trabajar, más frecuentemente &lt;span style="font-weight: bold;"&gt;pierdo el tiempo&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;¿Y no ha sido ese motivo por el que cree en su día este blog?&lt;br /&gt;&lt;br /&gt;Estamos en los días previos a los exámenes de la convocatoria de Febrero, y ya hay quien ha realizado alguno. Los míos son en esta próxima semana, y se puede decir que a medida que va muriendo el domingo, menos ganas encuentro para repasar.&lt;br /&gt;&lt;br /&gt;Quizás es la edad, que acaba haciendo mella en una y no resulta tan fácil concentrarse; o quizás sea el tiempo que llevo haciendo lo mismo, que degrada las energías por acabar, cuando debería ser todo lo contrario; o quizás es, simple y llanamente, que nací vaga, vivo siendo vaga y, probablemente, moriré siendo más vaga aún.&lt;br /&gt;&lt;br /&gt;Pero no debería refugiarme en ello, disculpando todo lo que puedo llega a hacer mal en estos días tan importantes. Lo cierto es que con frecuencia lo utilizo contra mi misma, para acallar la conciencia que no cesa de taladrarme la moral ...&lt;br /&gt;&lt;br /&gt;¿Por qué será que es en estos días cuando mas se echa la vista atrás, más se reflexiona, y más conclusiones se sacan de una misma y de la propia vida que he llevado? - Supongo que la respuesta es muy obvia: porque ya no hay marcha atrás.&lt;br /&gt;Ya no hay remedio.&lt;br /&gt;El tiempo se ha esfumado entre los dedos y yo era consciente de ello a medida que fluían los días del invierno. Las semanas caían tan rápido como las hojas de los árboles de la calle, y cada noche me sentaba a contemplar la oscuridad mientras recordaba que estaba haciendo lo mismo que la anterior, pero ya era un día más; o un día menos, según se mire.&lt;br /&gt;&lt;br /&gt;He hecho tantas cosas desde Octubre, y a fin de cuentas se quedan en nada ahora mismo. Porque son eso: nada. Nada que deba importar más que las verdaderas obligaciones.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Se que el miercóles pensaré de otra forma.&lt;br /&gt;Me volveré positiva, tenaz, sentenciosa con los días futuros. Haré planes que me hincharán de energía; y toda mi vida hasta ese día la exprimiré para convertirla en una moraleja - cómo si mi vida fuese una fábula - y me la repetiré una y otra vez durante un par de días.&lt;br /&gt;&lt;br /&gt;Pero serán eso: un par de días. Porque sé que al cabo de un tiempo se me olvidará todo lo que siento ahora mismo, todo lo que pienso y me compadezco, y viviré los días de primavera sin acordarme apenas de todo esto. Aunque sé, que en el fondo, siempre hay una vocecilla que me habla, con un sonido apenas perceptible, y me dice las mismas palabras que estoy escribiendo aquí.&lt;br /&gt;&lt;br /&gt;Ojala la escuchara más veces. Ojalá le prestara más atención.&lt;br /&gt;Ojalá le hiciera caso ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-3825518147214720112?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/3825518147214720112/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/01/por-que-solemos-perder-el-tiempo-cuando.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3825518147214720112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3825518147214720112'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/01/por-que-solemos-perder-el-tiempo-cuando.html' title='¿Por qué solemos perder el tiempo cuando mas falta nos hace?'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-7039330002757153730</id><published>2010-01-15T19:06:00.002-08:00</published><updated>2010-01-15T19:21:36.528-08:00</updated><title type='text'>"Vamos haver"</title><content type='html'>Desde luego, Internet va a acabar con nosotros ...&lt;br /&gt;&lt;br /&gt;¿Quién no ha visto alguna vez escrito por Internet en foros, blogs o comentarios la expresión "Vamos haver"?&lt;br /&gt;&lt;br /&gt;Ni que decir que esto ESTA MAL. MUY MAL escrito ortográficamente.&lt;br /&gt;&lt;br /&gt;Ojala Google lo puseria en rojo en su encabezado, la forma correcta de escribirlo.&lt;br /&gt;Entiendo que no se sepa que, como expresión popular su traducción es que "vas a mostrar algo", es decir, "otra persona verá lo que tú quieres mostrar con los ojos".&lt;br /&gt;&lt;br /&gt;¿Cómo es el verbo VER? Pues con V de Valencia&lt;br /&gt;¿Cómo es ir a un sitio? Pues con preposición A&lt;br /&gt;¿Cómo se escribe? - Pues 'SEPARAO'&lt;br /&gt;&lt;br /&gt;Vamos a ver&lt;br /&gt;&lt;br /&gt;Es comprensible que, como expresión popular su traducción no se entienda como "ir a ver algo", sino que se puede confundir con lo verbo 'haber' de toda la vida: HABER con B de Barcelona.&lt;br /&gt;&lt;br /&gt;Pero en fin, hay que decir que he visto todas las variantes posibles por ahí ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Otros ejemplos de nuestra sana cultura y "lo grande" que es Internet:&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Halludar&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;hayudar&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;alludar&lt;/span&gt;: cómo vereis, la primera es la que mas hace sangrar los ojos&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Hai&lt;/span&gt;: no se sabe si lo que quieren poner es AHI o HAY o AY. (por dios que debe de haber un capitulo de Barrio Sesamo solo para estas tres formas y ya ponen otra mas enrevesada)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lo cierto es que con los mensajes cortos y las ganas de escribir y acabar rápido, nos estamos acostumbrando a ciertas palabras como 'ola', 'ai', 'q', etc, que son mas bien simplificaciones de lo que escribimos. Pero si pones OLA dejas el margen de duda de si quitas la H porque no la quieres escribir o bien porque no sabes que la lleva; pero poner H donde no la lleva es que lo haces mal y encima lo dices a voces.&lt;br /&gt;&lt;br /&gt;Si es que Internet mucho avance para uno y mucho retroceso para otro. Y yo que no me aguantaba sin dejarlo constatado aquí, pero es que mis ojos sufren con estas cosas ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-7039330002757153730?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/7039330002757153730/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/01/vamos-haver.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7039330002757153730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7039330002757153730'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/01/vamos-haver.html' title='&quot;Vamos haver&quot;'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-1000876260616339047</id><published>2010-01-14T17:14:00.000-08:00</published><updated>2010-01-14T17:40:28.628-08:00</updated><title type='text'>Recorrer HashMap con Struts 2 y el tag iterator</title><content type='html'>Hace unos días indicaba como recorrer un HashMap desde una clase java, pero hoy he necesitado mostrar con Struts 2 y mediante el tag iterator los elementos y valores de un Map.&lt;br /&gt;&lt;br /&gt;En concreto se trataba del un carrito de la compra:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;equipo,&gt;&lt;equipo,&gt;&lt;code&gt;&lt;br /&gt;Map&amp;lt;Equipo, Integer&amp;gt; carrito = new HashMap&amp;lt;Equipo, Integer&amp;gt;();&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/equipo,&gt;&lt;/equipo,&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;siendo Equipo una clase java&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public class Equipo {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private Long id;&lt;br /&gt;&lt;br /&gt;private String nombre;&lt;br /&gt;&lt;br /&gt;private Long precio;&lt;br /&gt;&lt;br /&gt;[...]&lt;br /&gt;&lt;br /&gt;[...geters() y seters()...]&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;y almacenando como Integer la cantidad de productos de ese tipo Equipo que tenemos en el carrito de la compra.&lt;br /&gt;&lt;br /&gt;La idea era mostrar el carrito en una tabla de HTML y finalmente el código quedo de esta forma:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;table&amp;gt;&lt;br /&gt;&amp;lt;thead&amp;gt;Estado actual del carrito&amp;lt;/thead&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Nombre___________&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Cantidad______&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;s:iterator id="carrito" value="carrito"&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;s:property value="key.nombre"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;s:property value="value"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/s:iterator&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lo importante de éste código son las líneas&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;value="key.nombre"&lt;br /&gt;value="value"&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;donde Struts captura del HashMap carrito su KEY, que en este caso es una clase EQUIPO y muestra su nombre. No accede directamente a su atributo nombre, sino que mediante Struts 2 se accede al metodo getNombre() de la clase Equipo.&lt;br /&gt;&lt;br /&gt;Para el caso de VALUE, es el valor Integer del HashMap correspondiente.&lt;br /&gt;&lt;br /&gt;Si al carrito le añadimos:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;carrito.put(new Equipo("Jabalina", 3);&lt;br /&gt;carrito.put(new Equipo("Gorra", 1);&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;la tabla resultante se puede ver en la siguiente imagen:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9zDZ_X3disQ/S0_G04pCmpI/AAAAAAAAAMA/SaWS3cyvvdw/s1600-h/image.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 110px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/S0_G04pCmpI/AAAAAAAAAMA/SaWS3cyvvdw/s320/image.jpg" alt="" id="BLOGGER_PHOTO_ID_5426774687864756882" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-1000876260616339047?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/1000876260616339047/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/01/recorrer-hashmap-con-struts-2-y-el-tag.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/1000876260616339047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/1000876260616339047'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/01/recorrer-hashmap-con-struts-2-y-el-tag.html' title='Recorrer HashMap con Struts 2 y el tag iterator'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9zDZ_X3disQ/S0_G04pCmpI/AAAAAAAAAMA/SaWS3cyvvdw/s72-c/image.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-292372529128898450</id><published>2010-01-13T09:30:00.000-08:00</published><updated>2010-01-13T09:34:19.860-08:00</updated><title type='text'>Enganchada a OST Avatar</title><content type='html'>Muchas me gustan, pero estos días cada vez que aleatoriamente sale &lt;span style="font-style: italic;"&gt;Becoming One of The People, Becoming one with Neytiri&lt;/span&gt; me doy cuenta que cada vez me gusta más.&lt;br /&gt;&lt;br /&gt;Aquí la dejo para disfrute ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QtdZrVzaeJ0&amp;amp;hl=es_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/QtdZrVzaeJ0&amp;amp;hl=es_ES&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&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/3536418098237507411-292372529128898450?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/292372529128898450/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/01/enganchada-ost-avatar.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/292372529128898450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/292372529128898450'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/01/enganchada-ost-avatar.html' title='Enganchada a OST Avatar'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-8341144455047874704</id><published>2010-01-13T08:54:00.000-08:00</published><updated>2010-01-13T09:27:09.913-08:00</updated><title type='text'>Utilizando EJB 3.0 y Java Persistence API (JPA)</title><content type='html'>&lt;blockquote&gt;Está visto que en esta vida no te lo dan todo hecho&lt;/blockquote&gt;&lt;br /&gt;Estoy con las ampliaciones de la práctica de DASDI, que en mi caso mas que ampliaciones son "mejoras" de mi practica.&lt;br /&gt;&lt;br /&gt;Despues de muchas vueltas, tengo una aplicación compuesta de 72 archivos para compilar con una gran masa de paquetes y clases, por lo que va siendo hora de echarle un vistazo a todo y ver que se puede agrupar y de que podemos prescindir.&lt;br /&gt;&lt;br /&gt;Durante el desarrollo de la tienda virtual me fui dando cuenta de que era mejor agrupar ciertas funciones en una misma clase con varios metodos en vez de utilizar clase por función. Pero la parte de Miis y Jugadores sigue siendo muy redundante.&lt;br /&gt;&lt;br /&gt;En la practica 9 se nos explicó como dar rentabilidad transversal a nuestra aplicación con el uso de &lt;span style="font-weight: bold;"&gt;Enterprise Java Beans (EJB)&lt;/span&gt;, utilizandolos en la fachada entre la capa de logica o negocio y la capa de presentación.&lt;br /&gt;&lt;br /&gt;Para ello añadimos dos nuevos interfaces, uno Local y otro Remote.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;package impl.uo.dasdi.business.mii;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import javax.ejb.Local;&lt;/span&gt;&lt;br /&gt;import com.dasdi.business.MiisService;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;@Local&lt;/span&gt;&lt;br /&gt;public interface MiisServiceLocal extends MiisService {&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;La anotación o etiqueta de @Local  necesita la importacion de la clase Local de la librería EJB 3; y, como decía al principio, no se nos facilitó la librería EJB, por lo que toca descargarla de &lt;a href="http://java.sun.com/products/ejb/docs.html"&gt;Sun Developer Network&lt;/a&gt;, y seguir los siguientes pasos:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Descargar los archivos de clases (&lt;a href="http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/ejb-3_0-fr-api.zip?BundledLineItemUUID=3u1IBe.pjmQAAAEm0JA8yCil&amp;amp;OrderID=D7ZIBe.pgyQAAAEmwpA8yCil&amp;amp;ProductID=gOLACUFBjJEAAAEYHpw5AXtt&amp;amp;FileName=/ejb-3_0-fr-api.zip"&gt;ejb-3_0-fr-api.zip&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Descomprimir el ZIP, obteniendo la librería JAR ejb-3_0-api.jar&lt;/li&gt;&lt;li&gt;Copiamos la librería a nuestro directorio /lib del proyecto&lt;/li&gt;&lt;li&gt;Abrimos Proyecto en Eclipse (o actualizamos F5 si ya estuviera abierto)&lt;/li&gt;&lt;li&gt;Nos aparecera en la carpeta /lib del explorador de paquetes, pero no estará aún enlazada al proyecto&lt;/li&gt;&lt;li&gt;Botón derecho sobre la librería -&gt; Build Path -&gt; Añadir&lt;/li&gt;&lt;li&gt;Ya está enlazada, por lo que debería salir en References libraries, de nuestro proyecto&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Listo! Ya podemos hacer la importación de la clase Local y Remote.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;Java Persistence API (JPA)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para la adaptación de la capa de persistencia mediante el mapeo de dominio necesitamos las librerías y ha ocurrido una cosa similar con la librería de EJB, por lo que hacemos lo mismo:&lt;br /&gt;&lt;br /&gt;Accedemos a la pagina de &lt;a href="http://java.sun.com/javaee/technologies/persistence.jsp"&gt;Sun Developer Network correspondiente a JPA&lt;/a&gt; donde nos re-dirige a GlassFish para obtener los archivos binarios:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Descargamos el paquete &lt;a href="http://download.java.net/javaee5/fcs_branch/promoted/shared/glassfish-persistence/glassfish-persistence-installer-v1_ur1-b14.jar"&gt;v1_ur1 b14&lt;/a&gt; de la web de &lt;a href="https://glassfish.dev.java.net/downloads/persistence/JavaPersistence.html"&gt;GlassFish&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Extraemos el contenido del paquete o bundle para obtener las classes:&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Abrimos un interprete de comandos: Ejecutar -&gt; cmd&lt;/li&gt;&lt;li&gt;Nos situamos en el directorio del archivo descargado glassfish-persistence-installer-v1_ur1-b14.jar&lt;/li&gt;&lt;li&gt;Ejecutamos: &lt;span style="font-weight: bold;"&gt;java -jar glassfish-persistence-installer-v1_ur1-b14.jar&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Hemos obtenido una carpeta  con los JAR de las clases&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Copiamos la librería &lt;span style="font-weight: bold;"&gt;toplink-essentials.jar&lt;/span&gt; a nuestro directorio /lib del proyecto&lt;/li&gt;&lt;li&gt;Actualizamos Proyecto en Eclipse&lt;/li&gt;&lt;li&gt;Boton derecho sobre la nueva librería&lt;/li&gt;&lt;li&gt;Añadimos al Build Path&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Y listo! ya podemos utilizar las clases para el mapeo, en concreto las etiquetas de @Entity, @Id, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-8341144455047874704?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/8341144455047874704/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/01/utilizando-ejb-30-y-java-persistence.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8341144455047874704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8341144455047874704'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/01/utilizando-ejb-30-y-java-persistence.html' title='Utilizando EJB 3.0 y Java Persistence API (JPA)'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-3569199174077819245</id><published>2010-01-09T11:23:00.001-08:00</published><updated>2010-01-09T11:37:47.099-08:00</updated><title type='text'>Nieve en Enero</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9zDZ_X3disQ/S0jYVY81y-I/AAAAAAAAALg/5Hv_gepDxLw/s1600-h/IMGP4919.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 444px; height: 332px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/S0jYVY81y-I/AAAAAAAAALg/5Hv_gepDxLw/s320/IMGP4919.JPG" alt="" id="BLOGGER_PHOTO_ID_5424823613154249698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Llevamos tres días de un intenso temporal de nieve y frio en toda España, y aquí en Palaciós, a casi 400 metros sobre el nivel del mar, ha llegado a cubrirlo todo con una gran capa.&lt;br /&gt;&lt;br /&gt;Muchas fotos estos días, muchas bolas de nieve, muchas carreras con Kalel y, sobretodo, muy cansada de limpiar nieve de la entrada de casa para que pueda pasar el coche.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9zDZ_X3disQ/S0jZLMCSZRI/AAAAAAAAALo/BdQ9bcCgCfY/s1600-h/IMGP4983.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/S0jZLMCSZRI/AAAAAAAAALo/BdQ9bcCgCfY/s320/IMGP4983.JPG" alt="" id="BLOGGER_PHOTO_ID_5424824537400370450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Lo único malo que tienen estos temporales son si tienes que coger el coche y desplazarte al trabajo u otra cita ineludible. Sino, son días con un encanto muy especial, y hay que saber disfrutarlo.&lt;br /&gt;&lt;br /&gt;Esta noche volveré a pasarme un buen rato sobre la nieve, disfrutando de los colores y la noche, que lo dibuja todo como una bonita postal de Navidad.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9zDZ_X3disQ/S0ja5QMOv5I/AAAAAAAAALw/u8ejde5QEPc/s1600-h/IMGP5019.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 360px; height: 269px;" src="http://2.bp.blogspot.com/_9zDZ_X3disQ/S0ja5QMOv5I/AAAAAAAAALw/u8ejde5QEPc/s320/IMGP5019.JPG" alt="" id="BLOGGER_PHOTO_ID_5424826428301426578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9zDZ_X3disQ/S0jX-jsqJDI/AAAAAAAAALY/WXnC9Txjufs/s1600-h/IMGP5020.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-3569199174077819245?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/3569199174077819245/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/01/nieve-en-enero.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3569199174077819245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3569199174077819245'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/01/nieve-en-enero.html' title='Nieve en Enero'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9zDZ_X3disQ/S0jYVY81y-I/AAAAAAAAALg/5Hv_gepDxLw/s72-c/IMGP4919.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-2920894903394047024</id><published>2010-01-08T12:15:00.000-08:00</published><updated>2010-01-08T12:35:27.968-08:00</updated><title type='text'>Ubuntu Live CD para recuperar archivos Windows</title><content type='html'>Este día me dejaron un portátil Toshiba para arreglar, el cuál al arrancar mostraba el error&lt;blockquote&gt;Falta archivo NTLDR&lt;/blockquote&gt;.&lt;br /&gt;&lt;br /&gt;Si se busca por la red hay miles de enlaces comentando la posible solución a este error, y lo cierto es que funciona. Pero la técnica -que describiré al final de esta entrada - no deja de ser un tanto agresiva y siempre hay un riesgo, aunque mínimo, de perder los datos de la partición de Windows.&lt;br /&gt;&lt;br /&gt;Por lo tanto, antes quise asegurarme de hacer una copia de todos los archivos que había en Windows, ¿y cómo lo hice?. - Pues utilizando un LIVE CD DE UBUNTU.&lt;br /&gt;&lt;br /&gt;Este tipo de CD consiguen hacer funcionar en un ordenador un sistema operativo Linux sin necesidad de utilizar el SO Windows instalado, tan sólo utilizan parte del hardware como la memoria RAM para cargar los datos.&lt;br /&gt;&lt;br /&gt;La primera necesidad de tener este tipo de CDs es para poder probar Ubuntu sin necesidad de instalarlo (tal y como tenemos Windows) y de esta forma comprobar si nos gusta o no. Pero acaba siendo muy necesario para este tipo de problemas, donde el acceso a nuestros datos del disco duro es muy limitado.&lt;br /&gt;&lt;br /&gt;A pesar de tener ya versiones anteriores, en esta ocasión decidí descargarme de &lt;a href="http://www.ubuntu.com/getubuntu/download"&gt;la web oficial de UBUNTU el Live CD de la versión 9.10&lt;/a&gt; y grabarla en un cd.&lt;br /&gt;&lt;br /&gt;Esta versión viene con unas mejoras respecto a las anteriores, en mi caso la 6.06, dónde no es necesario cambiar los permisos de administrador para acceder y copiar archivos, y desaparecen problemas con la conexión de algunos dispositivos USB, como los discos duros portatiles.&lt;br /&gt;&lt;br /&gt;Los pasos fueron:&lt;br /&gt;1.- Descargar la imagen ISO de la web&lt;br /&gt;2.- Grabarla con NERO - esto no tiene mucha ciencia&lt;br /&gt;3.- Introducir CD en portatil&lt;br /&gt;4.- Activar en la BIOS el orden de BOOT para que arranque primero desde CD&lt;br /&gt;5.- Reiniciar portatil&lt;br /&gt;&lt;br /&gt;Aparecerán datos que indican la carga del LIVE CD y saldrá el menú de UBUNTU. A veces incluso se cargar todo solo y lo siguiente que se verá es el escritorio del Sistema Operativo.&lt;br /&gt;&lt;br /&gt;Gracias a esta versión de UBUNTU, aparecerán las unidades lógicas conectadas al equipo, y con ellas el disco duro con los datos de la partición de WIndows que queremos. Tan solo sera cuestion de copiarlas donde queramos, es decir a un dispositivo portatil, memoria flash, disco duro portatil, etc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;COMO SOLUCIONAR EL ERROR NTLDR&lt;br /&gt;Básicamente esta explicado mucho mejor por otras web pero:&lt;br /&gt;1.- Obtener un disco de arranque de Windows XP (o el sistema operativo en cuestion)&lt;br /&gt;2.- Arrancar desde CD e iniciar la carga de la instalación&lt;br /&gt;3.- Acceder a la consola de recuperación (R)&lt;br /&gt;4.- Seleccionar la unidad o partición (1)&lt;br /&gt;5.- Introducir contraseña de administrador (normalmente vacia)&lt;br /&gt;6.- Teclear FIXMBR y Enter&lt;br /&gt;7.- Aceptar con una S y Enter&lt;br /&gt;8.- Teclear copy D:\i386\ntldr C:\ y Enter&lt;br /&gt;9.- Teclear copy D:\i386\ntldetect.com C:\ y Enter&lt;br /&gt;10.- Salimos con EXIT y reiniciamos&lt;br /&gt;&lt;br /&gt;Debería cargar Windows perfectamente.&lt;br /&gt;Lo que hemos hecho es obtener los archivos que pedía en el ordenador del CD de instalación del Windows XP, y los hemos copiado al sitio correspondiente para que cuando arranquemos Windows, se cargue correctamente.&lt;br /&gt;&lt;br /&gt;Este error es frecuente tras un mal uso del apagado de Windows, como apagarlo con el botón de Power, desenchufarlo, problemas de batería, etc. De modo que es recomendable, no solo tener copias de seguridad de todo, si no tener un ordenador en buen estado, sobretodo el tema de la alimentación.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-2920894903394047024?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/2920894903394047024/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2010/01/ubuntu-live-cd-para-recuperar-archivos.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/2920894903394047024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/2920894903394047024'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2010/01/ubuntu-live-cd-para-recuperar-archivos.html' title='Ubuntu Live CD para recuperar archivos Windows'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-437449175611119140</id><published>2009-12-30T15:04:00.001-08:00</published><updated>2009-12-30T15:10:50.819-08:00</updated><title type='text'>Avatar II</title><content type='html'>Y el día llegó: fuí a ver Avatar por segunda vez y en esta ocasión en 3D.&lt;br /&gt;La pena fue que no saque yo las entradas, porque de saber que había tan pocos sitios atractivos lo hubiera dejado para otro día: me toco fila 11 en la pared izquierda.&lt;br /&gt;&lt;br /&gt;La distancia era buena (era eso o fila 3, es decir, dolor de cuello) pero la zona izquierda de la pantalla  siempre se veía muy poco nítida y en ocaciones borrosa.&lt;br /&gt;&lt;br /&gt;Por otra parte, el resto de película se apreciaba perfectamente el 3D: las gotitas de agua, el hollin de los árboles quemados, las semillas del arbol sagrado; incluso el detalle de los subtítulos, los cuales no se mostraban entre los personajes y parecía que las letras salía de ellos mismos.&lt;br /&gt;&lt;br /&gt;Me emocione muchísimo mas en esta ocasión, llegando a llorar lagrimas de cocodrilo en las escenas mas emotivas. Lo cierto es que la disfrute mucho mas esta vez, aunque se me hizo mas corta.&lt;br /&gt;&lt;br /&gt;En ocasiones me quitaba las gafas y se podía seguir la película perfectamente, ignorando ciertos momentos demasiado borrosos.&lt;br /&gt;&lt;br /&gt;Me quedare con la incógita de saber si desde el centro de la sala se podría haber apreciado mejor los efectos, de todas formas ha sido un placer volver a verla, y en un cine lleno de gente, se podía sentir las risas, los suspiros y hasta algun tímido aplauso al final.&lt;br /&gt;&lt;br /&gt;Que gana de que salga en DVD ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-437449175611119140?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/437449175611119140/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/avatar-ii.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/437449175611119140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/437449175611119140'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/avatar-ii.html' title='Avatar II'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-8048721177764993061</id><published>2009-12-29T05:18:00.000-08:00</published><updated>2009-12-29T05:42:37.860-08:00</updated><title type='text'>Nintendo DS Lite + cartucho M3i Zero = regalo de Reyes estrella</title><content type='html'>Pues sí, al final despues de varios años intentando regalarla para reyes o cumpleaños, estas navidades a mi madre el "he encargado" la Nintendo DS.&lt;br /&gt;&lt;br /&gt;Y como estoy muy contenta del resultado de mi compra, voy a hacer un poco de publicidad.&lt;br /&gt;&lt;br /&gt;La consola comprada en FNAC por unos "modestos" 139 euros. Modelo DS Lite, ya que preferia ahorrarme los 30 euros más que costaba la DSi, y practicamente todo el mundo dice que la unica diferencia es su camara de fotos -camara que no quiero. De todos los colores, la clásica blanca; aunque si hubiera habido el modelo rojo ...&lt;br /&gt;&lt;br /&gt;Cartucho flash M3 i Zero, del equipo M3 (o M3 team). No sabía si decantarme por este o por R4 Revolution, y a pesar de que una amiga tenía esta última, elegí la primera. Quizás porque en algunos sitios se ha leido que la producción de la R4 esta parada, y las referencias para la M3 siempre han sido muy buenas.&lt;br /&gt;&lt;br /&gt;Comprado el cartucho M3 i Zero + una tarjeta MicroSD de 8 gigas en &lt;a href="http://www.tuconsola.com/"&gt;tuconsola.com&lt;/a&gt; por 42,90 euros. Todos los precios por la red andaban similares, y me resulto un site muy atractivo y el tener una tienda física en Madrid me dio bastante seguridad.&lt;br /&gt;Aprovechando los gastos de envío, tambien me adjudique una funda de cuero blanca por 4,50 euros.&lt;br /&gt;&lt;br /&gt;El envío desde tuconsola.com fue a través de NATEX y muy puntual a pesar de las fiestas navideñas por el medio. Notar que mi dirección de correos no es facil encontrarla - es lo que tiene vivir en un pueblo asturiano - y NATEX estuvo muy atento por telefono para que pudiera recibir el paquete. En el registro de tuconsola.com te piden el telefono movil: yo recomiendo darlo ya que sirvió de mucho para el mensajero y sms informativos del estado de mi pedido.&lt;br /&gt;&lt;br /&gt;Y por último la instalación de todo para poder funcionar con la consola a pleno rendimiento fue acudir a NEXUS. Tan sólo seguí el facil manual de &lt;a href="http://www.nexusedy.com/noticias/?p=83"&gt;esta dirección&lt;/a&gt; y todo fue como la seda.&lt;br /&gt;Pero así en resumen:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Formatear la tarjeta microSD a traves del adaptador tipico para el PC&lt;/li&gt;&lt;li&gt;Descargarse los &lt;a href="http://edy.dshd.es/Ficheros_Nexus_para_M3.exe"&gt;archivos del instalador&lt;/a&gt; de NEXUS&lt;/li&gt;&lt;li&gt;Ejecutar el .exe&lt;/li&gt;&lt;li&gt;Indicar la ruta de la tarjeta SD&lt;/li&gt;&lt;li&gt;Instalar&lt;/li&gt;&lt;li&gt;Tardara un par de minutos&lt;/li&gt;&lt;li&gt;Cuando termine se abrira un bloc de notas con información muy útil. QUE HAY QUE LEER&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Cargamos los archivos que queramos de nuestro PC a la tarjeta SD (los .nds en la carpeta NDS, ahí a granel tirados entre todos los demás)&lt;/li&gt;&lt;li&gt;Extraemos la tarjeta SD (de forma segura) de nuestro PC&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Introducimos la microSD en el cartucho M3 i Zero&lt;/li&gt;&lt;li&gt;Cogemos el adaptador USB que viene con el cartucho, lo enchufamos al PC y al mismo cartucho &lt;a href="http://www.nexusedy.com/noticias/imagenes/2009/08/usbm3.jpg"&gt;DE ESTA FORMA&lt;/a&gt;, y teniendo mucho cuidado ya que es muy fragil&lt;/li&gt;&lt;li&gt;Sin hacer nada mas esperamos a que la luz roja en el cartucho deje de parpadear - seran unos 40 segundos.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Retiramos del PC y retiramos el adaptador USB&lt;/li&gt;&lt;li&gt;Cogemos nuestro cartucho M3 i Zero con su mmicroSD dentro y lo introducimos en nuestra Nintendo DS&lt;/li&gt;&lt;li&gt;Encendemos la consola&lt;/li&gt;&lt;li&gt;Y nos aparecera un sencillisimo menu para funcionar con los archivos de la tarjeta&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Y listo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-8048721177764993061?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/8048721177764993061/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/nintendo-ds-lite-cartucho-m3i-zero.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8048721177764993061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8048721177764993061'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/nintendo-ds-lite-cartucho-m3i-zero.html' title='Nintendo DS Lite + cartucho M3i Zero = regalo de Reyes estrella'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-6087098309765181295</id><published>2009-12-29T01:12:00.000-08:00</published><updated>2009-12-29T01:17:04.362-08:00</updated><title type='text'>Cómo recorrer un HashMap en Java</title><content type='html'>De la mano de &lt;a href="http://unpoquitindetodo.blogspot.com/"&gt;Jorge de La Coruña&lt;/a&gt;, recopilo la forma mas prática de recorrer un HashMap aplicado a mi caso particular, donde pretendo llevar un contador de todos los productos que hay en el carrito de la compra.&lt;br /&gt;El HashMap es de la forma (código del item, cantidad):&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;blockquote&gt;HashMap hashMap = new HashMap();&lt;br /&gt;&lt;br /&gt;      hashMap.put("1","5");&lt;br /&gt;      hashMap.put("2","5");&lt;br /&gt;      hashMap.put("3","2");&lt;br /&gt;&lt;br /&gt;int cantidad = 0;&lt;br /&gt;&lt;br /&gt;      Iterator it = hashMap.entrySet().iterator();&lt;br /&gt;      while (it.hasNext()) {&lt;br /&gt;      Map.Entry e = (Map.Entry)it.next();&lt;br /&gt;cantidad += (Integer) e.getValue();&lt;br /&gt;      }&lt;/blockquote&gt;&lt;br /&gt;&lt;/span&gt;Es una buena forma de tenerlo apuntado en algun sitio, para cuando se me olvide ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-6087098309765181295?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/6087098309765181295/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/como-recorrer-un-hashmap-en-java.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/6087098309765181295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/6087098309765181295'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/como-recorrer-un-hashmap-en-java.html' title='Cómo recorrer un HashMap en Java'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-2289216131247169123</id><published>2009-12-27T19:37:00.001-08:00</published><updated>2009-12-27T19:49:41.053-08:00</updated><title type='text'>Estructuras de control en Struts 2: un ejemplo sencillo</title><content type='html'>Una forma sencilla de ver el funcionamiento de una estructura de control con Struts 2 es el caso del Gestor de usuarios para aquellos que tienen permisos de administrador o no.&lt;br /&gt;&lt;br /&gt;En la mini aplicación que estoy desarrollando he dividido a los usuarios o jugadores en dos tipos, Administrador e Invitado a través de un atributo en la base de datos del tipo "admin" o "invitado".&lt;br /&gt;&lt;br /&gt;La diferencia entre ser administrador o invitado es que el primero puede acceder al gestor de jugadores, y con ello añadir, editar o eliminar usuarios; mientras que un usuario con permiso de Invitado no podrá.&lt;br /&gt;&lt;br /&gt;El gestor se muestra a través de un simple botón.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dos posibles soluciones&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Encontre dos formas de implementarlo.&lt;br /&gt;La primera consistía en, a través de una clase action identificar el permiso del usuario actual y dependiendo de este atributo mostrar un PANELCONTROL1.jsp o un PANELCONTROL2.jsp, correspondiendo estos a cada uno de los dos tipos de perfil. El primero no mostraría el boton "Gestor de usuarios" y el segundo sí lo mostraría.&lt;br /&gt;&lt;br /&gt;En mi opinión esta solución, a pesar de funcionar, parecía poco limpia ya que estabamos creando dos paginas jsp identicas salvo una opción. Sería código redundante.&lt;br /&gt;&lt;br /&gt;Por lo tanto eche mano de las estructuras de control que tiene Struts 2, y las utilice en la unica panelContro.jsp de la siguiente forma:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;table&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;thead&amp;gt;&amp;lt;h3&amp;gt;Panel de control&amp;lt;/h3&amp;gt;&amp;lt;/thead&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;td&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:form action="ConsultaMiis"&amp;gt;&lt;br /&gt;&lt;br /&gt;            &amp;lt;s:submit value="Gestor de Miis"/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;/s:form&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;s:if test="%{perfil.permiso=='admin'}"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;td&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:form action="ConsultaJugadores"&amp;gt;&lt;br /&gt;&lt;br /&gt;            &amp;lt;s:submit value="Gestor de perfiles de jugador"/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;/s:form&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/s:if&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;De esta forma solo se mostrará el boton cuando el permiso del usuario sea de administrador.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Notas finales&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El guión de la entrega final indica que no deberemos introducio codigo en las jsp, y aunque esta ultima solucion así lo parezca, una estructura de control de Struts no deberia considerarse codigo del todo.&lt;br /&gt;De todas formas, espero encontrar una mejor forma de implementar esta opcion ya que parece poco robusta.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-2289216131247169123?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/2289216131247169123/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/estructuras-de-control-en-struts-2-un.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/2289216131247169123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/2289216131247169123'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/estructuras-de-control-en-struts-2-un.html' title='Estructuras de control en Struts 2: un ejemplo sencillo'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-7131474542166954177</id><published>2009-12-27T18:49:00.000-08:00</published><updated>2009-12-27T19:31:49.758-08:00</updated><title type='text'>La importancia de ActionSupport en Java con Struts 2</title><content type='html'>Hasta ahora siempre he utilizado una clase que heredaba de ActionSupport para tratar la action que lanzabamos desde la JSP - mas que nada porque así me habían enseñado en las clases prácticas - pero ha sido hoy cuando he entendido el verdadero significado de hacer esto, y sobretodo, lo importante que resulta.&lt;br /&gt;&lt;br /&gt;Tenemos una pagina index.jsp con dos formularios de Struts 2 para recoger el login y el password del usuario.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9zDZ_X3disQ/SzgebIJsbZI/AAAAAAAAALE/XEowBEU6yaY/s1600-h/image.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 279px; height: 162px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/SzgebIJsbZI/AAAAAAAAALE/XEowBEU6yaY/s320/image.jpg" alt="" id="BLOGGER_PHOTO_ID_5420115602933837202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Cuando hacemos click sobre el boton Acceder, se lanza la action correspondiente, es decir, aquella que le indiquemos a traves del TAG de Struts ACTION:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;h3&amp;gt;Acceso al perfil de jugador&amp;lt;/h3&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p&amp;gt;Introduzca su usuario y contraseña:&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;&lt;span style="font-weight: bold; color: rgb(102, 102, 204);"&gt;s:form action="Login"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;s:textfield key="login" label="Login de jugador: " /&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;s:password key="password" label="Contraseña: " /&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;s:submit value="Acceder"/&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;/s:form&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;en este caso, la ACTION se llama LOGIN.&lt;br /&gt;&lt;br /&gt;En nuestra aplicación deberemos tener un fichero struts.xml en nuestra carpeta de codigo fuente que contendra un mapeo de las acciones. Esto quiere decir que cuando el ACTION del codigo de la JSP sea LOGIN, se ha de proceder de la manera X.&lt;br /&gt;&lt;br /&gt;En el ejemplo que seguimos, en nuestro struts.xml deberiamos tener:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;action name="Login" class="com.dasdi.presentation.login.LoginAction"&amp;gt;&lt;br /&gt;&lt;br /&gt;           &amp;lt;result name="success" &amp;gt;/panelControl.jsp&amp;lt;/result&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;/action&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;que traducido así de forma mas "llana" viene a ser que cuando el action sea LOGIN ejecutes el codigo de la clase LOGINACTION. Si el resultado del método execute es SUCCESS, muestra la página panelControl.jsp.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;¿Y qué hace la clase LoginAction?, ¿Y cual es el metodo execute? ¿Y si no devuelve SUCCESS que hara?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pues bien, toda navegacion de una pagina a otra en nuestra aplicacion debera tener asociado una clase java que se ejecute con los action; salvo aquellos casos básicos, por ejemplo cuando damos de alta un usuario, solo necesitamos que se muestre un formulario, por lo que no hara falta una clase action relacionada con el proceso.&lt;br /&gt;Pero en el ejemplo que estamos tratando, el loguearse obliga a ejecutar un codigo, es decir, buscar en la base de datos el nombre de usuario y contraseña introducidos y ver que coinciden. Estas comprobaciones se hacen a traves de las capas de negocio y persistencia, con sus respectivos facades, por lo tanto deberemos relacionar nuestras JSP con las diferentes capas de la aplicacion.&lt;br /&gt;&lt;br /&gt;LoginAction recogera de los campos de la JSP el login y la contraseña y se los pasara a la capa de negocio a traves de su facade. Esta fachada debera devolver una confirmacion de que el logueo es correcto o no.&lt;br /&gt;En codigo seria:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public class LoginAction extends ActionSupport implements SessionAware{&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;   private String login;&lt;br /&gt;&lt;br /&gt;   private String password;&lt;br /&gt;&lt;br /&gt;   private Jugador perfil;&lt;br /&gt;&lt;br /&gt;   private Map&amp;lt;String, Object&amp;gt; session;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   public String execute() throws Exception {&lt;br /&gt;&lt;br /&gt;       JugadoresService service;&lt;br /&gt;&lt;br /&gt;       try {&lt;br /&gt;&lt;br /&gt;           service = Factories.services.createJugadoresService();&lt;br /&gt;&lt;br /&gt;           this.perfil = service.verifyLogin(login, password);&lt;br /&gt;&lt;br /&gt;           this.session.put("perfil", perfil);&lt;br /&gt;&lt;br /&gt;           return SUCCESS;&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;&lt;br /&gt;       } catch( Exception e ) {&lt;br /&gt;&lt;br /&gt;           e.printStackTrace();&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;&lt;br /&gt;           return LOGIN;&lt;br /&gt;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;        /*añadir metodos get y set para cada atributo*/&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;El service sera una referencia a la fachada de la capa de negocio.&lt;/li&gt;&lt;li&gt;A traves de esta referencia pediremos la confirmacion de un logueo correcto.&lt;/li&gt;&lt;li&gt;Si no es correcto recibira una excepcion, por lo que se devolvera ERROR&lt;/li&gt;&lt;li&gt;Si todo fue bien, colocamos el nuevo usuario (o jugador, o perfil) en la sesion de la aplicacion.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Por qué todo esto es importante?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pues bien, si intentaramos volver atras desde cualquier pagina JSP de nuestra aplicación a otra JSP sin lanzar la ejecución de un clase ACTION, no habría forma de relacionarse con el resto de capas, y por lo tanto con los datos, tanto de la sesion como de la persistencia (base de datos).&lt;br /&gt;&lt;br /&gt;Un ejemplo es el panel de control.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9zDZ_X3disQ/SzgkV3TJ_vI/AAAAAAAAALM/VgQyDTr_2Ec/s1600-h/image.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 219px; height: 228px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/SzgkV3TJ_vI/AAAAAAAAALM/VgQyDTr_2Ec/s320/image.jpg" alt="" id="BLOGGER_PHOTO_ID_5420122109580541682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Esto es lo que muestra panelControl.jsp, donde se indica el nombre del usuario de la sesion, en este caso ADMINISTRADOR.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Cómo se obtuvo este dato?&lt;/span&gt; - Pues utilizando PanelControlAction, el cual recoge de la sesión el Jugador, llamandolo "perfil" y lo asigna como uno de sus atributos. De esta forma, cuando panelControl.jsp devuelve el código HTML, la etiqueta de "Perfil:" mostrara el nombre del jugador que inicio la sesión.&lt;br /&gt;&lt;br /&gt;Esto en código sería:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;panelControl.jsp&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;h3&amp;gt;Perfil: &amp;lt;s:label value="%{perfil.nombre}"/&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;PanelControlAction.java&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;code&gt;&lt;br /&gt;public class PanelControlAction extends ActionSupport implements SessionAware{&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    private Map&amp;lt;String, Object&amp;gt; session;&lt;br /&gt;&lt;br /&gt;    private Jugador perfil;&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    public String execute()throws Exception{&lt;br /&gt;&lt;br /&gt;        try{&lt;br /&gt;&lt;br /&gt;            this.perfil = (Jugador)session.get("perfil");&lt;br /&gt;&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;            return SUCCESS;&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        catch(Exception e){&lt;br /&gt;&lt;br /&gt;            e.printStackTrace();&lt;br /&gt;&lt;br /&gt;            return ERROR;&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;/*mas get y set de los atributos*/&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;struts.xml&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;action name="Login" class="com.dasdi.presentation.login.LoginAction"&amp;gt;&lt;br /&gt;&lt;br /&gt;            &amp;lt;result name="success" type="chain"&amp;gt;PanelControl&amp;lt;/result&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;/action&amp;gt;&lt;br /&gt;&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        &amp;lt;action name="PanelControl" class="com.dasdi.presentation.PanelControlAction"&amp;gt;&lt;br /&gt;&lt;br /&gt;            &amp;lt;result name="success"&amp;gt;/panelControl.jsp&amp;lt;/result&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;/action&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sin utilizar el PanelControlAction.java, es decir, redirigiendo directamente a panelControl.jsp, no podríamos mostrar siempre el nombre del perfil, ya que nunca se obtendría de la sesion.&lt;br /&gt;&lt;br /&gt;He aquí la importancia de añadir estos detalles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-7131474542166954177?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/7131474542166954177/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/la-importancia-de-actionsupport-en-java.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7131474542166954177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7131474542166954177'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/la-importancia-de-actionsupport-en-java.html' title='La importancia de ActionSupport en Java con Struts 2'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9zDZ_X3disQ/SzgebIJsbZI/AAAAAAAAALE/XEowBEU6yaY/s72-c/image.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-3993444200193283510</id><published>2009-12-21T14:49:00.000-08:00</published><updated>2009-12-21T15:10:57.328-08:00</updated><title type='text'>Struts 2: añadir selector a través de jsp y actions</title><content type='html'>Seguimos con la entrega de DASDI.&lt;br /&gt;Ésta vez queremos añadir un selector con Struts, lo que en java se conoce como &lt;span style="font-style: italic;"&gt;JComboBox&lt;/span&gt; y en forms de windows &lt;span style="font-style: italic;"&gt;Select&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Tenemos un formulario en JSP para recoger los datos de un nuevo Mii, y en concreto, el dato sexo queremos que sea un ComboBox. El archivo JSP se llama formularioMii.jsp y el código con los formularios de struts es el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;s:form action="SaveMii"&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:textfield name="nombre" label="Nombre: " value="%{mii.nombre}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:select name="sexo" label="Sexo: " list="#{'Hombre':'Hombre','Mujer':'Mujer'}" value="%{mii.sexo}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:textfield name="estatura" label="Estatura: " value="%{mii.estatura}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:textfield name="peso" label="Peso: " value="%{mii.peso}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:textfield name="pelo" label="Pelo: " value="%{mii.pelo}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:textfield name="ojos" label="Ojos: " value="%{mii.ojos}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:textfield name="color" label="Color favorito: " value="%{mii.color}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:hidden name="id" value="%{mii.id}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;s:submit value="Aceptar" /&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/s:form&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;En el texto resaltado se puede ver como agregar un selector. Es interesante detallar la declaración del atributo list:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;list="#{cod_item1 : texto_item1, cod_item2 : texto_item2}"&lt;/blockquote&gt;En la mayoria de ejemplos en internet el &lt;span style="font-style: italic;"&gt;cod_item&lt;/span&gt; suele ser un número entero de manera que se pueda controlar en la capa de negocio. Para el caso en particular que quiero tratar aquí, no me hace falta utilizar un código entero, sino que prefiero utilizar un código de texto o String para que se transmita de capa a capa siendo un String, hasta llegar a la capa de persistencia y se agregue tal cual a la base de datos.&lt;br /&gt;&lt;br /&gt;Este código de formularioMii.jsp no sólo sirve para dar un alta a un Mii, sino tambien para mostrar la edición de uno de estos. Es por eso que a cada formulario se le asigna un value, de forma que cuando se trate de un alta aparecerá vacío, y cuando sea una edición se mostrará el valor del Mii en cuestión.&lt;br /&gt;&lt;br /&gt;Existe otra forma más compleja de utilizar el selector, pero que explicaré más adelante, si la llego a utilizar. Como adelante, implicaría que el atributo sexo en la base de datos fuera de tipo entero, crearíamos una nueva clase en la capa de modelo llamada SexoMii, y el selector tendría un cod_item como valor numérico. Esto puede llegar a ser muy útil en futuras implementaciónes más complejas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-3993444200193283510?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/3993444200193283510/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/struts-2-anadir-selector-traves-de-jsp.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3993444200193283510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3993444200193283510'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/struts-2-anadir-selector-traves-de-jsp.html' title='Struts 2: añadir selector a través de jsp y actions'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-8548692196966480922</id><published>2009-12-21T10:06:00.000-08:00</published><updated>2010-01-01T09:35:07.788-08:00</updated><title type='text'>Sintaxis SQL en HSQL Database Manager</title><content type='html'>Para la asignatura de DASDI, se nos ha proporcionado una SGBD integrado en cada proyecto llamado HSQL Database Manager.&lt;br /&gt;&lt;br /&gt;NOTA: Un &lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=hsqldbBrowser"&gt;buen tutorial&lt;/a&gt; donde se explica un poco este gestor.&lt;br /&gt;&lt;br /&gt;Hasta ahora he trabajado con MySql, SqlDeveloper para Oracle y es la primera vez que trabajo con este, por lo que estoy notando ciertas diferencias.&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/_9zDZ_X3disQ/Sy-9aEzqHSI/AAAAAAAAAK8/dncz3c9109g/s1600-h/image.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 275px;" src="http://4.bp.blogspot.com/_9zDZ_X3disQ/Sy-9aEzqHSI/AAAAAAAAAK8/dncz3c9109g/s320/image.jpg" alt="" id="BLOGGER_PHOTO_ID_5417757132414655778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Lo que más me está llamando la atención es que existen diversas sintaxis para cada gestor y, si tenemos en cuenta que soy bastante nueva en el manejo de las bases de datos, pues mi desconcierto es mayor.&lt;br /&gt;&lt;br /&gt;He empezado a realizar la entrega final partiendo como base de un ejemplo dado en clase, el cual tiene una base de datos ya elaborada sobre una gestión de alumnos. A medida que avanzo me veo en la necesidad de modificar ciertos valores, atributos, propiedades, varias cosas en general; y, como no, voy encontrando diversos problemas con algunas sentencias que no funcionaban para HSQL.&lt;br /&gt;Tras varias pruebas y busquedas por internet las he ido encontrado y como va a ser tan probable que las vuelva a necesitar como que las olvide, pues las voy a ir recogiendo en este post:&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Cambiar el nombre a una columna o propiedad de una tabla&lt;/span&gt;&lt;br /&gt;ALTER TABLE alumno ALTER apellidos RENAME TO sexo&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Modificar una propiedad para que no pueda ser null&lt;/span&gt;&lt;br /&gt;ALTER TABLE mii ALTER id INTEGER NOT NULL&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Modificar un dato&lt;/span&gt;&lt;br /&gt;UPDATE alumno SET peso='gordo' WHERE id='2''&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Añadir nueva columna o propiedad a una tabla&lt;/span&gt;&lt;br /&gt;ALTER TABLE alumno ADD pelo VARCHAR(20)&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Renombrar una tabla&lt;/span&gt;&lt;br /&gt;ALTER TABLE alumno RENAME TO mii&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Cambiar el tipo de una columna o propiedad&lt;/span&gt;&lt;br /&gt;ALTER TABLE mii ALTER sexo INTEGER&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Crear una tabla con atributo auto incremento&lt;/span&gt;&lt;br /&gt;CREATE TABLE jugador (id_jugador INTEGER NOT NULL IDENTITY, login VARCHAR NOT NULL, password VARCHAR NOT NULL, nombre VARCHAR)&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Añadir atributo auto incremento a una propiedad&lt;/span&gt;&lt;br /&gt;ALTER TABLE jugador ALTER id_jugador INTEGER NOT NULL IDENTITY&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Insertar un dato en una tabla&lt;/span&gt;&lt;br /&gt;INSERT INTO jugador (login, password, nombre) VALUES ('admin', 'password', 'Administrador')&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Eliminar clave primaria de una tabla&lt;/span&gt;&lt;br /&gt;ALTER TABLE jugador DROP PRIMARY KEY&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Añadir una clave unica a una tabla&lt;/span&gt;&lt;br /&gt;ALTER TABLE jugador ADD UNIQUE(login)&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Añadir clave externa a una tabla&lt;/span&gt;&lt;br /&gt;ALTER TABLE mii ADD FOREIGN KEY(id_jugador) REFERENCES jugador(id_jugador)&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Añadir un atributo fecha a una tabla&lt;/span&gt;&lt;br /&gt;ALTER TABLE jugador ADD COLUMN lastvisita DATE&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Modificar el tipo de atributo fecha con hora&lt;/span&gt;&lt;br /&gt;ALTER TABLE jugador ALTER lastvisita DATETIME&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Añadir una entrada con la fecha actual&lt;/span&gt;&lt;br /&gt;UPDATE jugador SET lastvisita=curdate() where id_jugador='0'&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Añadir una entrada con fecha y hora actual&lt;/span&gt;&lt;br /&gt;UPDATE jugador SET lastvisita=now() where id_jugador='0'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-8548692196966480922?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/8548692196966480922/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/sintaxis-sql-en-hsql-database-manager.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8548692196966480922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8548692196966480922'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/sintaxis-sql-en-hsql-database-manager.html' title='Sintaxis SQL en HSQL Database Manager'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9zDZ_X3disQ/Sy-9aEzqHSI/AAAAAAAAAK8/dncz3c9109g/s72-c/image.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-8717177032568023499</id><published>2009-12-20T17:10:00.001-08:00</published><updated>2009-12-20T17:54:38.102-08:00</updated><title type='text'>JEvents - Calendario para Joomla</title><content type='html'>He descubierto un componente para Joomla super potente: &lt;a href="http://www.jevents.net/"&gt;JEvents&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9zDZ_X3disQ/Sy7RcP-eZ6I/AAAAAAAAAKk/DUkxcFN_ofY/s1600-h/image.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 211px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/Sy7RcP-eZ6I/AAAAAAAAAKk/DUkxcFN_ofY/s320/image.jpg" alt="" id="BLOGGER_PHOTO_ID_5417497685028399010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Consiste en un sistema completo de agenda con navegación por calendario, muy parecido a Google Calendar. No solo te permite manejar los eventos, sino tambien permitir que otros usuarios editen o creen nuevos eventos a través de un sistema de permisos.&lt;br /&gt;&lt;br /&gt;Para lo que yo buscaba un componente de estos, JEvents puede parecer muy grande y complejo, pero nada mas lejos de la realidad ya que es muy facil de modificar.&lt;br /&gt;Tan solo buscaba un modulo donde se mostrara un mes con sistema de navegación de mes a mes y año a año y se visualizaran los días de dicho mes. A cambio he conseguido que cada evento programado se muestre como un tooltip al pasar el raton por la fecha; he conseguido tener una agenda donde se puede organizar a gusto del navegante, por dia, semana, mes, año; y todo ello de forma muy dinámica.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;INSTALACIÓ&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;N&lt;/span&gt;&lt;br /&gt;Para instalar JEvents se necesita:&lt;br /&gt;1.- El componente JEvents, cuya versión mas reciente ahora mismo es &lt;a href="http://joomlacode.org/gf/download/frsrelease/10987/44977/com_jevents_1.5.2.zip"&gt;1.5.2&lt;/a&gt;. Este componente se instala a través del instalador de Joomla.&lt;br /&gt;&lt;br /&gt;2.- El módulo &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9zDZ_X3disQ/Sy7R0hUeUrI/AAAAAAAAAKs/8AKg8nKQNFc/s1600-h/image.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 207px; height: 195px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/Sy7R0hUeUrI/AAAAAAAAAKs/8AKg8nKQNFc/s320/image.jpg" alt="" id="BLOGGER_PHOTO_ID_5417498102000931506" border="0" /&gt;&lt;/a&gt;JEvents, cuya versión más reciente ahora mismo es también la &lt;a href="http://joomlacode.org/gf/download/frsrelease/10987/43581/mod_jevents_cal_1.5.2.zip"&gt;1.5.2&lt;/a&gt;. Este módulo utiliza el componente de JEvents y crea un mini calendario para ubicarlo en la posición que se prefiera. Existen muchos más módulos para utilizar JEvents, como Latest Events, etc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.- Paquete de &lt;a href="http://www.jevents.net/forum/download/file.php?id=382"&gt;traducción español&lt;/a&gt;. Se instala del mismo modo, a través del instalador de Joomla, e inmediatamente el componente JEvents reconocerá el nuevo lenguaje y lo aplicará. No tendremos que modificar nada.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt; &lt;span style="font-weight: bold;"&gt;DETALLES MODIFICABLES&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;- Se puede modificar la apariencia, tanto del mini calendario como de la agenda en general a través de Componentes-&gt;JEvents-&gt;Configuración-&gt;Pestaña componente-&gt;Elegir visualización.&lt;br /&gt;El código fuente de estas plantillas se encuentra en el directorio de nuestra web en components-&gt;com_jevents-&gt;views.&lt;br /&gt;Cada plantilla esta dividida en las secciones que componen JEvents.&lt;br /&gt;&lt;br /&gt;La más destacada es la sección ASSETS donde se encuentran las css para modificar tanto el mini calendario (archivo modstyles.css) como la agenda completa (events_css). El resto apenas necesita modificación, a excepción de casos especiales.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9zDZ_X3disQ/Sy7VK_NE5iI/AAAAAAAAAK0/cB97do8vvc8/s1600-h/image.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 242px;" src="http://4.bp.blogspot.com/_9zDZ_X3disQ/Sy7VK_NE5iI/AAAAAAAAAK0/cB97do8vvc8/s320/image.jpg" alt="" id="BLOGGER_PHOTO_ID_5417501786514974242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;JEvents es un GRAN componente para Joomla y la utilización de una agenda muy completa, o un simple calendario con algunos eventos importantes. Apariencia fresca, fácil manejo, y un componente muy potente.&lt;br /&gt;Recomendadísimo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-8717177032568023499?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/8717177032568023499/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/jevents-calendario-para-joomla.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8717177032568023499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/8717177032568023499'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/jevents-calendario-para-joomla.html' title='JEvents - Calendario para Joomla'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9zDZ_X3disQ/Sy7RcP-eZ6I/AAAAAAAAAKk/DUkxcFN_ofY/s72-c/image.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-7573881611736434437</id><published>2009-12-19T15:43:00.001-08:00</published><updated>2009-12-19T16:15:18.935-08:00</updated><title type='text'>Avatar</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9zDZ_X3disQ/Sy1lPJOn4DI/AAAAAAAAAKc/ok6v4SoYEfM/s1600-h/Avatar-1940.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_9zDZ_X3disQ/Sy1lPJOn4DI/AAAAAAAAAKc/ok6v4SoYEfM/s320/Avatar-1940.jpg" alt="" id="BLOGGER_PHOTO_ID_5417097237646270514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Espero que si aún no la has visto, tengas reservado un día para ir a verla.&lt;br /&gt;&lt;br /&gt;Yo he escogido la tarde de hoy, lo cierto que sin prisa y sin terribles ansias. Simplemente sabía que la tendría que ver.&lt;br /&gt;&lt;br /&gt;Quizás por su director, James Cameron, el mismo que me hizo llorar y llorar con Titanic hace más de 10 años - dios mío como pasa el tiempo - paralizando un pais de adolescentes y no tan adolescentes. Pues creo que volverá a paralizarlo, sino lo ha hecho ya, con Avatar.&lt;br /&gt;&lt;br /&gt;Pues me ha encantado.&lt;br /&gt;Han sido dos horas y media largas donde no he sentido la presencia del paso del tiempo, ninguno que no fuera el que indicaba la película. He deseado no irme de Pandora, quería seguir corriendo por el bosque del arbol madre, quería seguir volando entre las montañas flotantes, quería seguir sintiendo la mezcla de tensión, emoción, paz, y sobretodo libertad.&lt;br /&gt;&lt;br /&gt;No recuerdo ningún momento en el que haya deseado tanto no ser de la raza humana sino de otra, tan distinta pero tan igual a la nuestra.&lt;br /&gt;&lt;br /&gt;Creo que lo bueno de Avatar no son sus efectos especiales, menos impactantes que 2012; ni su guión, el cual sigue las pautas de una película tradicional; sino mas bien esa sensación que describo, esa sensación y sentimiento de revivir una y otra vez ese mundo, compartirlo y estar dentro.&lt;br /&gt;&lt;br /&gt;Normalmente en el trascurso de un film sueles simpatizar con algun personaje, algunas veces con el protagonista, otras veces con el "malo de la peli", incluso en ocasiones desear ponerte en la piel de ese personaje. Con Avatar, lo que consigue James Cameron es que no te importe quien de todos ellos seas, si con eso puedes vivir ese mundo.&lt;br /&gt;&lt;br /&gt;Seguramente aparezcan muchas críticas a la película estos días, buenas y malas, pero yo me quedo con una buena, y la recomiendo encarecidamente.&lt;br /&gt;&lt;br /&gt;El señor de los anillos y Star Wars son sagas que han triunfado y siguen triunfando años despues de sus estrenos, y que entorno a ellas se forman verdaderas comunidades. Es muy pronto para decir que Avatar puede seguir su estela, pero yo lo espero con ansias. Así como me encantan esas sagas, se que harán secuelas en el mundo de Pandora, y espero que sean grandes, para volverme fanática de ellas también.&lt;br /&gt;&lt;br /&gt;Por lo pronto, cuando pasen unos días volvere a ir al cine, y esa vez será en una sala Imax a probar como se verá en 3D.&lt;br /&gt;Hasta entonces, seguiré empapandome de los trailers que no ví, de su banda sonora con la firma del increible James Horner, y de tantas cosas que empieza a haber por la red.&lt;br /&gt;&lt;br /&gt;Espero que hoy sea un comienzo de algo grande mañana ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-7573881611736434437?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/7573881611736434437/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/avatar.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7573881611736434437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/7573881611736434437'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/avatar.html' title='Avatar'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9zDZ_X3disQ/Sy1lPJOn4DI/AAAAAAAAAKc/ok6v4SoYEfM/s72-c/Avatar-1940.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-3855211060700262239</id><published>2009-12-15T18:21:00.000-08:00</published><updated>2009-12-15T19:14:54.503-08:00</updated><title type='text'>El Castillo Ambulante</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9zDZ_X3disQ/SyhNZIwqDyI/AAAAAAAAAJw/z4oJlHKRzw8/s1600-h/296.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 444px; height: 238px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/SyhNZIwqDyI/AAAAAAAAAJw/z4oJlHKRzw8/s320/296.png" alt="" id="BLOGGER_PHOTO_ID_5415663646156656418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ayer volví a ver El Castillo Ambulante de Hayao Miyazaki.&lt;br /&gt;&lt;br /&gt;Me encanta.&lt;br /&gt;&lt;br /&gt;Descubrí a este director/escritor a través de El viaje de Chihiro, y me gusto mucho la esencia y lo diferente de la película. Fue tal el buen sabor de boca que me dejo que no dude en conseguir el resto de la filmografía:&lt;br /&gt;&lt;br /&gt;- El viaje de Chihiro&lt;br /&gt;- La princesa Mononoke&lt;br /&gt;- El castillo ambulante&lt;br /&gt;- Ponyo, en el acantilado&lt;br /&gt;- Nausicaa, en el valle del viento&lt;br /&gt;- Mi vecino Totoro&lt;br /&gt;- El castillo en el aire&lt;br /&gt;- Nicky, la aprendiz de bruja&lt;br /&gt;- Porco rosso&lt;br /&gt;&lt;br /&gt;Alguna ha sido mejor que otra, pero todas han tenido esa 'magia' que te atrapa desde las primeras imágenes. Son películas que consiguen despertar la imaginación; te presentan un mundo distinto sin necesidad de describirlo; hacen posible lo imposible logrando que parezca algo natural; y sobretodo, te sorprenden, te pillan desprevenida y destruyen todas las suposiciones haciendo que lo que creías predecible no tenga sentido, y aquello inesperado se haga realidad pareciendo lógico y natural. Consiguen intrigar, emocionar, reir, ...&lt;br /&gt;&lt;br /&gt;El Castillo Ambulante está basado en una historia de Diana Wynnes Jones.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9zDZ_X3disQ/SyhM-i2ggPI/AAAAAAAAAJo/1De-tYrDlAU/s1600-h/10.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 173px;" src="http://1.bp.blogspot.com/_9zDZ_X3disQ/SyhM-i2ggPI/AAAAAAAAAJo/1De-tYrDlAU/s320/10.png" alt="" id="BLOGGER_PHOTO_ID_5415663189304049906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Mi recomendación es que sin conocer nada absolutamente de su historia, la veas, tranquilamente en el sofa de tu casa, sin prisa y con la mente despierta.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-3855211060700262239?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/3855211060700262239/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/el-castillo-ambulante.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3855211060700262239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/3855211060700262239'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/el-castillo-ambulante.html' title='El Castillo Ambulante'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9zDZ_X3disQ/SyhNZIwqDyI/AAAAAAAAAJw/z4oJlHKRzw8/s72-c/296.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-2354499205312600379</id><published>2009-12-15T17:42:00.000-08:00</published><updated>2009-12-15T18:18:42.837-08:00</updated><title type='text'>Flash back</title><content type='html'>&lt;blockquote&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-style: italic;"&gt;Hay veces que sin quererlo, me repito un comentario que oí una vez a un hombre, el cual confesaba que 'era incapaz de no tener más de un proyecto entre manos'.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;Como comentaba en un post anterior, estoy desarrollando una mini aplicación web para la asignatura de DASDI (Desarrollo de aplicaciones en sistemas distribuidos e Internet).&lt;br /&gt;Es una asignatura optativa de 6 créditos. La evaluación consiste en la entrega de una práctica final con una serie de caracteristicas, pero de temática libre. Aún no es definitivo el tema que elegiré, aunque más o menos ya la tengo encaminada.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://t2.gstatic.com/images?q=tbn:HlgeaHb1DzF49M:http://cohesion.rice.edu/centersandinst/icon/emplibrary/twitter_logo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 143px; height: 53px;" src="http://t2.gstatic.com/images?q=tbn:HlgeaHb1DzF49M:http://cohesion.rice.edu/centersandinst/icon/emplibrary/twitter_logo.jpg" alt="" border="0" /&gt;&lt;/a&gt;Mientras me peleo con JBoss y Struts, estoy realizando el proyecto fin de carrera sobre Twitter. En realidad es un proyecto de investigación, algo muy diferente a lo que llevo viendo hasta ahora, donde todo lo desarrollado han sido aplicaciones de escritorio.&lt;br /&gt;A pesar de ya llevar un par de meses investigando con el API de Twitter aún no tengo claro el objetivo final del proyecto. En los próximos días he de ir especificando los requisitos de la futura aplicación e intentando fijar esos objetivos y funcionalidades. Ahora mismo es bastante abstracto lo que tengo, y sinceramente, me preocupa, pero sobretodo me desilusiona.&lt;br /&gt;Espero que mas adelante, cuando vaya cogiendo forma el PFC, quizas me anime y 'me motive'.&lt;br /&gt;&lt;br /&gt;Para el proyecto, mi director me ha recomendado escribir en &lt;a href="http://goladed.com/blog"&gt;un blog de seguimiento&lt;/a&gt; los avances, dudas y todo lo que me vaya surgiendo. Lo uso sobretodo de diario, para recordar entre parón y parón lo que hice la última vez que lo toque.&lt;br /&gt;&lt;br /&gt;Durante estas vacaciones de navidad, estaré alternando entre la práctica de DASDI y el proyecto, de modo que auguro muchas, muchas horas al ordenador ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-2354499205312600379?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/2354499205312600379/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/flash-back.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/2354499205312600379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/2354499205312600379'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/flash-back.html' title='Flash back'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-6598910643680258176</id><published>2009-12-15T17:04:00.000-08:00</published><updated>2009-12-15T17:26:30.765-08:00</updated><title type='text'>Temática para aplicación web</title><content type='html'>Esta mañana habían colgado en la web de la asignatura el guión de la práctica final de DASDI.&lt;br /&gt;No hay muchas diferencias con el guión del año pasado, salvo un par de detalles. Lo importante es que sigue siendo de temática libre y en esto no estaba yo hoy muy imaginativa.&lt;br /&gt;&lt;br /&gt;Básicamente se trata de implementar una aplicación web con Struts 2 que siga el modelo N-capas y el patrón &lt;span style="font-style: italic;"&gt;Facade&lt;/span&gt;. Ha de contar con autentificación de usuarios, contador de visitas, carrito de la compra y mínimo un formulario por vista.&lt;br /&gt;&lt;br /&gt;Pensando y pensando, me apetece hacer algo diferente al clásico carrito de la compra de cualquier tienda virtual.&lt;br /&gt;He pensado implementar una especie de 'personalizacion de personajes': el usuario cargara su perfil de jugador, estilo PS3 (autentificación) y con una serie de vistas, dicho jugador o usuario podrá ir seleccionando distintos atributos, objetos, caracteristicas de un personaje y estos se vayan cargando sobre el personaje final (carrito de la compra).&lt;br /&gt;En todo momento el jugador podrá examinar el aspecto de su personaje (ver carrito) y una vez acabada la configuración, tendrá la opción de guardar el estado del personaje (persistencia).&lt;br /&gt;&lt;br /&gt;He de pensar una forma original de adaptar el contador de visitas, para no agregarlo así tal cual. Además, aún quedan un par de prácticas con nuevos conceptos, y es posible que intente añadirlos, pero de momento yo creo que la idea original basta para empezar a programar.&lt;br /&gt;&lt;br /&gt;Con suerte, debería de tenerlo acabado para la vuelta de navidades, para una aprobación de los profesores antes de la entrega, no vaya a ser que para nada tenga que ver con lo que piden xD&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-6598910643680258176?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/6598910643680258176/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/tematica-para-aplicacion-web.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/6598910643680258176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/6598910643680258176'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/tematica-para-aplicacion-web.html' title='Temática para aplicación web'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3536418098237507411.post-4589861545486482415</id><published>2009-12-15T16:43:00.000-08:00</published><updated>2009-12-15T16:59:12.506-08:00</updated><title type='text'>Comenzando ...</title><content type='html'>Parece ser que cuando una más tiene que hacer, más tiempo pierde en insignificancias.&lt;br /&gt;Por lo pronto, aquí estoy yo, creando un blog en Blogger.com cuando debería estar programando.&lt;br /&gt;&lt;br /&gt;De todas formas, me apetece aprovechar un recurso gratuito como es este, y tener un 'otro rinconcito' donde contar cosas de vez en cuando.&lt;br /&gt;&lt;br /&gt;¿La culpable?, pues Isa y &lt;a href="http://elpequenodesastrequeorigino.blogspot.com/"&gt;el pequeño desastre que origina&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Siempre he tenido en mente un blog, pero reconozco que nunca acabo de encontrar el tiempo para dedicarselo. Tengo algunos proyectos por ahi perdidos, abandonados a la espera de que algun día les eche un vistazo y los reflote.&lt;br /&gt;&lt;br /&gt;Lo mío es mas navegar en silencio.&lt;br /&gt;&lt;br /&gt;Pero intentaré no abandonar esto, y de momento, vamos a 'charigar' por la configuración y explotar un poco el diseño y estructura del blog.&lt;br /&gt;&lt;br /&gt;Vamos a ello ...&lt;br /&gt;&lt;br /&gt;* Ahps! Se me olvidaba: gracias por leerme ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3536418098237507411-4589861545486482415?l=goladed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://goladed.blogspot.com/feeds/4589861545486482415/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://goladed.blogspot.com/2009/12/comenzando.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/4589861545486482415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536418098237507411/posts/default/4589861545486482415'/><link rel='alternate' type='text/html' href='http://goladed.blogspot.com/2009/12/comenzando.html' title='Comenzando ...'/><author><name>goLaDeD</name><uri>http://www.blogger.com/profile/01694070026028265893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_9zDZ_X3disQ/SyhWPx3h-SI/AAAAAAAAAJ8/NdRNfwBYOaU/S220/IMGP2003.JPG'/></author><thr:total>0</thr:total></entry></feed>
