<?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-15675910</id><updated>2011-11-05T16:46:51.700+01:00</updated><category term='apache'/><category term='linux'/><category term='mobile'/><category term='cheat sheet'/><category term='ideology'/><category term='web'/><category term='php'/><category term='development'/><category term='congress'/><category term='webdesign'/><category term='fedora'/><category term='cadius'/><category term='kde'/><category term='firefox'/><category term='portable'/><category term='msie'/><category term='accessibility'/><category term='css'/><category term='opensource'/><category term='extension'/><category term='html'/><category term='delicious'/><category term='zaragoza'/><category term='windows'/><category term='datetime'/><category term='usability'/><title type='text'>abc Web</title><subtitle type='html'>Recursos y tutoriales para desarrolladores web. Trucos y comentarios sobre Linux y "otros" sistemas operativos.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-15675910.post-3159459750522119226</id><published>2011-11-05T16:30:00.008+01:00</published><updated>2011-11-05T16:46:51.744+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ideology'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><title type='text'>Proyectos varios</title><content type='html'>&lt;p&gt;Mis inquietudes y quehaceres van más allá del mundo de la web. Hace ya varios años que cambié de &lt;em&gt;modus vivendi&lt;/em&gt; y me introduje en la administración de sistemas. Además, me he ido involucrando en proyectos de programación y sociales. He aquí la lista:&lt;/p&gt;&lt;h3&gt;&lt;a href="http://zaragozaciudad.net/azlinux/"&gt;AZLinux&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Formo parte del equipo de desarrollo de la distribución y he escrito algunos de los artículos del blog:&lt;/p&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;2011-11-02: &lt;a href="http://zaragozaciudad.net/azlinux/2011/110201-el-nucleo-de-azlinux-3.php"&gt;El núcleo de AZLinux 3&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2011-10-31: &lt;a href="http://zaragozaciudad.net/azlinux/2011/103101-certificados-digitales-en-azlinux-3.php"&gt;Certificados digitales en AZLinux 3&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2011-08-25: &lt;a href="http://zaragozaciudad.net/azlinux/2011/082501-razones-para-hacer-una-distribucion-propia.php"&gt;Razones para hacer una distribución propia&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2011-06-17: &lt;a href="http://zaragozaciudad.net/azlinux/2011/061701-charla-de-migasfree-en-software-y-barra-libre.php"&gt;Charla de migasfree en Software y Barra Libre&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2011-06-02: &lt;a href="http://zaragozaciudad.net/azlinux/2011/060201-conclusiones-del-opendnie-hackfest.php"&gt;Conclusiones del OpenDNIe hackfest&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2011-05-16: &lt;a href="http://zaragozaciudad.net/azlinux/2011/051601-hackfest-del-opendnie-en-cadiz.php"&gt;Hackfest del OpenDNIe en Cádiz&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2011-02-16: &lt;a href="http://zaragozaciudad.net/azlinux/2011/021602-opendnie-en-azlinux.php"&gt;OpenDNIe en AZLinux&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2010-05-19: &lt;a href="http://zaragozaciudad.net/azlinux/2010/051901-ponencia-en-el-gnome-3.0-marketing-hackfest.php"&gt;Ponencia en el Gnome 3.0 Marketing Hackfest&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2010-03-23: &lt;a href="http://zaragozaciudad.net/azlinux/2010/032301-como-modificar-un-live-cd-de-opensuse-y-convertirlo-en-un-live-usb.php"&gt;Cómo modificar un Live CD de openSUSE y convertirlo en un Live USB&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2009-10-29: &lt;a href="http://zaragozaciudad.net/azlinux/2009/102901-como-configurar-el-servicio-networkmanager-en-el-arranque-de-opensuse.php"&gt;Cómo configurar el servicio NetworkManager en el arranque de openSUSE&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2009-10-26: &lt;a href="http://zaragozaciudad.net/azlinux/2009/102601-como-forzar-un-chequeo-de-disco.php"&gt;Cómo forzar un chequeo de disco&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href="http://softwareybarralibre.org/"&gt;Software &amp; Barra Libre&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;He colaborado desde el principio con el proyecto y también he escrito algunas entradas en el blog:&lt;/p&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;2011-07-22: &lt;a href="http://softwareybarralibre.org/?q=node/65"&gt;El Tao de la programación&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2011-06-30: &lt;a href="http://softwareybarralibre.org/?q=node/57"&gt;Hora de tomar decisiones&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2011-06-18: &lt;a href="http://softwareybarralibre.org/?q=content/migas-para-todos-en-el-pabell%C3%B3n-digital-del-agua"&gt;Migas para todos en el Pabellón Digital del Agua&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2011-06-13: &lt;a href="http://softwareybarralibre.org/?q=node/52"&gt;Charla de migasfree en el Digital Water Pavilion&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2011-06-03: &lt;a href="http://softwareybarralibre.org/?q=content/otro-mi%C3%A9rcoles-de-pensamiento-libre-0"&gt;Otro miércoles de pensamiento libre&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href="http://www.migasfree.org/"&gt;Proyecto migasfree&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;En este sitio web todavía no me he estrenado como &lt;em lang="en-US"&gt;blogger&lt;/em&gt;, pero también he colaborado haciendo el tema para el &lt;em lang="en-US"&gt;blog&lt;/em&gt;, &lt;a href="http://github.com/jact/migasfree-client"&gt;programando en Python la parte cliente de la solución&lt;/a&gt; y echando una mano en el instalador del servidor.&lt;/p&gt;&lt;h3&gt;&lt;a href="http://www.libresoftwareworldconference.com"&gt;Libre Software World Conference 2011&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Aprovechando la oportunidad que me brinda estar trabajando en el Grupo de Software Libre del Ayuntamiento de Zaragoza, estaré como ponente hablando de &lt;a href="http://www.libresoftwareworldconference.com/programa/ponentes/demostracion-de-paquetizacion-en-rpm-y-distribucion-de-software-con-migasfree.html"&gt;paquetes RPM y su distribución en una organización con migasfree&lt;/a&gt; y de &lt;a href="http://www.libresoftwareworldconference.com/programa/ponentes/azlinux-evolucion-del-proyecto.html"&gt;AZLinux: evolución del proyecto&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-3159459750522119226?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/3159459750522119226/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=3159459750522119226' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/3159459750522119226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/3159459750522119226'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2011/11/proyectos-varios.html' title='Proyectos varios'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-1252359507152203836</id><published>2011-06-11T19:18:00.014+02:00</published><updated>2011-06-11T21:09:41.134+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zaragoza'/><category scheme='http://www.blogger.com/atom/ns#' term='congress'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Sacando el pajarito a pasear</title><content type='html'>Crónica de un experimento &lt;a href="http://es.wikipedia.org/wiki/Medio_social_%28social_media%29" lang="en-US"&gt;social media&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Aprovechando la celebración del &lt;a href="http://congresoweb.es/"&gt;Congreso Web de Zaragoza&lt;/a&gt;, he hecho mi incursión en un nuevo medio social: Twitter.&lt;br /&gt;&lt;br /&gt;Aunque hace años que conozco la herramienta, nunca me había atraido para un uso personal. Siempre he sido muy celoso de mi privacidad y consideraba (y lo sigo considerando) a Twitter un medio &lt;em&gt;muy cotilla&lt;/em&gt;. Pero, desde hace un tiempo, &lt;a href="http://twitter.com/azlinuxzgz"&gt;en el trabajo compartimos una cuenta&lt;/a&gt; para contar nuestro día a día y había empezado a ver el lado más profesional de esta herramienta. Sin ir más lejos, la semana pasada, &lt;a href="http://zaragozaciudad.net/azlinux/2011/060201-conclusiones-del-opendnie-hackfest.php"&gt;cuando estuve en Cádiz en el OpenDNIe hackfest&lt;/a&gt;, hice un uso bastante exhaustivo de esta cuenta compartida.&lt;br /&gt;&lt;br /&gt;Esta es la crónica del Congreso Web contada a través de mis experiencias.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Preparativos&lt;/h4&gt;&lt;br /&gt;Creé mi cuenta el día 2 de junio, justo antes de comenzar el congreso. El primer problema lo encontré a la hora de escoger un nombre. Mis alias habituales ya estaban en uso pero tenía que seleccionar alguno relacionado conmigo y que fuera relacionable con alguna de mis facetas en Internet. Al final, la elección fue &lt;a href="http://twitter.com/jact_abcweb"&gt;@jact_abcweb&lt;/a&gt;, la unión de mi nombre y mi blog.&lt;br /&gt;&lt;br /&gt;Elegir el logotipo no fue difícil ya que sólo tuve que usar el que utilizo en este blog, pero escribir la biografía tuvo su dificultad. El formato de Twitter (los famosos 140 caracteres), es a la vez lo que lo hace tan atractivo e inmediato y que sea tan complicado en ocasiones condensar algo con el suficiente sentido.&lt;br /&gt;&lt;br /&gt;La biografía de la cuenta de Twitter es como la tarjeta de visita en el mundo real y conseguir aunar descripción y &lt;em lang="en-US"&gt;marketing&lt;/em&gt; en 160 caracteres es todo un desafío.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Primer día&lt;/h4&gt;&lt;br /&gt;Me estrené en el congreso con la charla de &lt;a href="http://twitter.com/gmolino"&gt;@gmolino&lt;/a&gt;. El título de la misma no podía ser más oportuno: &lt;a href="http://www.slideshare.net/gmolino/fundamentos-de-redes-sociales-para-empresas-8222642"&gt;Aterrizando en las redes sociales&lt;/a&gt;. La herramienta que utilicé para &lt;em lang="en-US"&gt;twittear&lt;/em&gt; durante el congreso fue &lt;a href="http://gwibber.com/"&gt;Gwibber&lt;/a&gt; (que viene por defecto en &lt;a href="http://www.ubuntu.com"&gt;Ubuntu 11.04&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Tenía ganas de estrenarme y en cuanto Gabriel lanzaba un concepto interesante, lo escribía en Twitter tal cual (pero siempre citando la fuente). A la vez, intentaba ver cómo lo hacía el resto de &lt;em&gt;twitteros&lt;/em&gt; de la sala, gracias a la monitorización que me permitía Gwibber. Enseguida comprobé que había bastante gente en el congreso que estaba &lt;em&gt;twitteando&lt;/em&gt; y que se repetían (cambiadas muy ligeramente) las ideas que iba contando Gabriel. Entre las muchas que nos relató, me gustaría destacar las siguientes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Facebook se ha adaptado a los usuarios, pero Twitter no ha evolucionado en absoluto.&lt;/li&gt;&lt;li&gt;Dentro de las redes hay negocio. No estar en ellas va a salir caro a las empresas que renuncien a estos medios, y estar cuesta muy poco dinero (pero sí mucha dedicación).&lt;/li&gt;&lt;li&gt;2/3 de la población mundial usa las redes sociales a diario (no son sólo una moda). Si Facebook fuera un país, sería el tercero más poblado.&lt;/li&gt;&lt;li&gt;Conversar crea confianza, igual que la gente se relaciona el bar de toda la vida. Hay que hablar de lo que uno sabe porque engañar se paga caro (al final todo se sabe).&lt;/li&gt;&lt;li&gt;Las redes sociales deben tomarse como algo divertido, no como una obligación. Y uno debe abarcar lo que sea capaz. Es mejor empezar poco a poco. Paciencia, paciencia y más paciencia (a la hora de recoger resultados).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;La siguiente charla prometía bastante por el &lt;a href="http://congresoweb.es/programa-congreso-internet/medicion-web-%C2%BFcomo-saber-si-mi-campana-es-efectiva/"&gt;título&lt;/a&gt; pero la ejecución de la misma no estuvo a la altura de las expectativas. Twitter echaba humo con críticas negativas. Aunque personalmente también me decepcionó, algunas ideas interesantes fueron:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Internet ha crecido mucho en poco tiempo y cambia y evoluciona aún más rápido. Internet es ya el tercer medio por inversión publicitaria en España (el consumo de medios está cambiando).&lt;/li&gt;&lt;li&gt;El consumo de TV no ha caido, se usan 3 pantallas: TV, PC, móvil (necesidad de analizar los 3 medios).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Para acabar la primera jornada, estuve en la charla de &lt;a href="http://twitter.com/carmenurbano"&gt;@carmenurbano&lt;/a&gt;: &lt;a href="http://www.slideshare.net/Carmenurbano/congreso-web-zaragoza-internacionaliza-tu-proyecto-web-carmen-urbano-3-de-junio-2011"&gt;Internacionaliza tu proyecto web&lt;/a&gt;. Aunque a nivel técnico no me aportó mucho (hubo mención a conceptos de usabilidad y accesibilidad), sí que lo hizo a nivel comercial. Conocía que las referencias culturales eran un aspecto muy importante a tener en cuenta (simbología de los colores, banderas, iconografía), pero fue algo novedoso el hecho de realizar sitios web completamente diferentes para distintos mercados internacionales. Hasta ese punto es necesario impactar para destacar entre la competencia. La charla fue tan amena que ni siquiera dio tiempo de verla al completo. Los ejemplos que propocionó Carmen sobre campañas a nivel internacional (unas acertadas y otras no) fueron de lo más esclarecedores.&lt;br /&gt;&lt;br /&gt;Al final del día, había hecho 27 &lt;em lang="en-US"&gt;tweets&lt;/em&gt; y había conseguido 6 menciones y 2 &lt;em lang="en-US"&gt;retweets&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Segundo día&lt;/h4&gt;&lt;br /&gt;Después de la experiencia del día anterior, vi claramente que no podía &lt;q&gt;competir&lt;/q&gt; con los reyes del teclado y tenía que diferenciarme en la estrategia (buscar el valor añadido). La verdad es que era muy fácil citar a los ponentes para hacer más y más &lt;em&gt;tweets&lt;/em&gt;: sólo hacía falta ser más rápido que los demás. También contaba la lista de seguidores de cada uno. En ambos campos no tenía nada que hacer: mi rapidez en la escritura es nula y al ser un recién llegado a Twitter, no tenía apenas seguidores.&lt;br /&gt;&lt;br /&gt;Así pues, cambié la forma de proceder. Me dediqué a monitorizar los &lt;em lang="en-US"&gt;tweets&lt;/em&gt; de la sala, a redactar mis resúmenes personales y a incluir hacia el final de las charlas aquellas cosas que no había visto en otros &lt;em lang="en-US"&gt;tweets&lt;/em&gt; y que consideraba importantes. Como resultado, realicé menos entradas que el día anterior (17), pero conseguí más &lt;em lang="en-US"&gt;retweets&lt;/em&gt; (7). También influyó en el resultado final la falta de Internet que tuve en algunos momentos del día (que fueron ajenas a la organización). Ya que había tanto tráfico del evento, consideré ridículo comentar sobre charlas ya acabadas hacía unas horas. Twitter es un medio de comunicación &lt;em&gt;enfermizamente inmediato&lt;/em&gt; y era necesario adaptarse al medio como parte del experimento.&lt;br /&gt;&lt;br /&gt;En cuanto a las charlas, si ya fue complicado elegir las del día anterior, el panorama para el sábado empeoraba bastante: 4 ubicaciones simultáneas donde ponentes de renombre iban a impartir sus discursos. Por lo que tuve que escoger (y fue realmente difícil) entre las de &lt;a href="http://es.wikipedia.org/wiki/Comercio_electr%C3%B3nico"&gt;comercio electrónico&lt;/a&gt; y las relacionadas con los medios sociales.&lt;br /&gt;&lt;br /&gt;Las que más me impresionaron, por las grandes dotes de comunicación de los ponentes fueron:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://congresoweb.es/programa-congreso-internet/escribir-para-el-seo-y-las-personas/"&gt;Escribir para el SEO y las personas&lt;/a&gt; (&lt;a href="http://twitter.com/senormunoz"&gt;@senormunoz&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://congresoweb.es/patrocinadores-congreso-2011/social-media-business/"&gt;Social Media Business&lt;/a&gt; (&lt;a href="http://juanmerodio.com"&gt;@juanmerodio&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://congresoweb.es/programa-congreso-internet/gestion-de-la-reputacion-online-en-las-redes-sociales/"&gt;Gestión de la reputación online en las redes sociales&lt;/a&gt; (&lt;a href="http://victorpuig.es"&gt;@victorpuig&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Mesa redonda: Social Media Marketing (&lt;a href="http://twitter.com/gelito"&gt;@gelito&lt;/a&gt;, &lt;a href="http://twitter.com/calvoconbarba"&gt;@calvoconbarba&lt;/a&gt;, &lt;a href="http://twitter.com/victorpuig"&gt;@victorpuig&lt;/a&gt;, &lt;a href="http://twitter.com/juanmerodio"&gt;@juanmerodio&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Terminé agotado tras más de 12 horas de ponencias, pero la sensación fue la de haber asistido a un curso intensivo con varios de los mejores profesionales nacionales. Un lujo que debo agraceder a los artífices de este evento.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Tercer día&lt;/h4&gt;&lt;br /&gt;Menos mal que no fui a la cena del congreso, porque si no, no hubiera podido asistir a las charlas del último día. Aún así, estaba demasiado cansado y hacia media mañana, no pude seguir con el &lt;em&gt;experimento Twitter&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Sin embargo, me dio tiempo de presenciar el &lt;q&gt;robo&lt;/q&gt; de mi primer &lt;em lang="en-US"&gt;tweet&lt;/em&gt; (o al menos el primero del que tenía constancia). Recordé entonces a &lt;a href="http://www.ricardotayar.com/2011/05/10/me-han-copiado-la-web/"&gt;@rtayar&lt;/a&gt; y me lo tomé por el lado positivo. Justo la semana pasada también había oído comentar que &lt;q&gt;&lt;em&gt;if your work has stolen, it has value&lt;/em&gt;&lt;/q&gt;. Por cierto, que la &lt;a href="http://www.ricardotayar.com/2011/06/07/refranes-comercio-electronico-congreso-web-zaragoza/"&gt;charla de Ricardo Tayar&lt;/a&gt; fue un buen revulsivo para iniciar la mañana.&lt;br /&gt;&lt;br /&gt;Otras charlas a las que asistí, fueron:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.slideshare.net/andreskarp/presentacion-mobile-marketing"&gt;Mobile Marketing&lt;/a&gt; (&lt;a href="http://twitter.com/andreskarp"&gt;@andreskarp&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.slideshare.net/Sorprendida/embudos-de-conversion"&gt;Analítica web en e-Commerce&lt;/a&gt; (&lt;a href="http://twitter.com/sorprendida"&gt;@sorprendida&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://congresoweb.es/programa-congreso-internet/usabilidad-en-el-ecommerce/"&gt;Usabilidad en el e-Commerce&lt;/a&gt; (&lt;a href="http://twitter.com/torresburriel"&gt;@torresburriel&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://congresoweb.es/programa-congreso-internet/estrategias-de-marketing-en-facebook/"&gt;Estrategias de Marketing en Facebook&lt;/a&gt; (&lt;a href="http://twitter.com/elqudsi"&gt;@elqudsi&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://congresoweb.es/programa-congreso-internet/estrategias-en-twitter/"&gt;Estrategias en Twitter&lt;/a&gt; (Ana Santos y &lt;a href="http://twitter.com/javig"&gt;@javig&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Los números del último día de congreso: 10 &lt;em lang="en-US"&gt;tweets&lt;/em&gt;, 3 menciones y 4 &lt;em lang="en-US"&gt;retweets&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Conclusiones&lt;/h4&gt;&lt;br /&gt;A lo largo del congreso se fueron repitiendo varios conceptos que me hacen pensar que, &lt;strong&gt;aunque el &lt;em lang="en-US"&gt;social media&lt;/em&gt; sea un mundo virtual, sólo es un reflejo del mundo real&lt;/strong&gt;. Si bien es más vertiginoso y global, sirven las mismas reglas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;El sentido común es la mejor estrategia.&lt;/li&gt;&lt;li&gt;Una estrategia que debe ser coherente indiferentemente del medio usado.&lt;/li&gt;&lt;li&gt;Nadie da duros a cuatro pesetas: es necesario rodearse de buenos profesionales.&lt;/li&gt;&lt;li&gt;El factor humano es el recurso esencial en cualquier empresa.&lt;/li&gt;&lt;li&gt;Trabajar, trabajar, medir, analizar y trabajar aún más. Es necesario hacer muchas pequeñas cosas bien.&lt;/li&gt;&lt;li&gt;Y sobre todo, tener paciencia para recoger los resultados. La competencia es brutal (y más en Internet).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Se podría pensar que existiendo un medio tan global como Internet, y siendo gran parte de los asistentes, habitantes de ese mundo, un evento de tanta envergadura como este, cada vez tendría menos sentido. Sin embargo, personalmente ha sido muy gratificante ver como en 3 días, el congreso ha conseguido lo que yo no había conseguido en varios años. Había intentado hacer ver a &lt;em&gt;cierta persona&lt;/em&gt; los beneficios profesionales de los medios sociales. Hasta que no la vivido en directo durante el congreso, no se ha convertido en una &lt;em&gt;creyente&lt;/em&gt; más. Sólo espero que ahora no pare y le saque todo el partido posible. Por ahora lleva un &lt;a href="http://es.linkedin.com/in/rosanaceron"&gt;buen&lt;/a&gt; &lt;a href="http://twitter.com/roxice"&gt;camino&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;En cuanto a Twitter, aunque no todos los días voy de conferencias, le he cogido cierto gustillo e intentaré que sea un complemento a &lt;a href="http://zaragozaciudad.net/azlinux/"&gt;mis otras&lt;/a&gt; &lt;a href="http://softwareybarralibre.org/"&gt;presencias&lt;/a&gt; en la red. Y digo complemento porque lo que escribes en las redes sociales &lt;q&gt;comerciales&lt;/q&gt; (como Facebook o Twitter) es de esas redes, no tuyo. Sólo lo que escribes en tu sitio web, es de tu propiedad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-1252359507152203836?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/1252359507152203836/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=1252359507152203836' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/1252359507152203836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/1252359507152203836'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2011/06/sacando-el-pajarito-pasear.html' title='Sacando el pajarito a pasear'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-7842207941436915927</id><published>2011-03-12T16:13:00.007+01:00</published><updated>2011-03-13T12:09:25.609+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ideology'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><title type='text'>Barra libre de software</title><content type='html'>&lt;p&gt;Hola, mi nombre es &lt;a href="http://es.linkedin.com/in/jachavar"&gt;Jose Antonio Chavarría&lt;/a&gt; y uso software libre. Toda mi vida profesional, y antes la universitaria, ha estado relacionada con el software libre. Como adicto, voy a relatar mi experiencia para compartirla con vosotros, porque, conforme pasa el tiempo, esta adicción va a peor.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Durante mi etapa universitaria conocí &lt;a href="http://www.youtube.com/watch?v=LHZCZcJeTFE"&gt;Linux&lt;/a&gt; por primera vez. Recuerdo que se llamaba &lt;a href="http://www.debian.org"&gt;Debian&lt;/a&gt; y que la instalación era en modo texto, pero la libertad que descubrí, me hizo pensar en un mundo lleno de posibilidades. La gente se suele fijar en &lt;a href="http://www.blogsdna.com/wp-content/uploads/2008/06/windows_7_5.jpg"&gt;las curvas y las caras bonitas&lt;/a&gt;, ¿pero a quién le importan esas superficilalidades cuando puedes &lt;a href="http://phyx.files.wordpress.com/2008/09/girl7.jpg"&gt;configurar todo a tu gusto&lt;/a&gt;, cuando &lt;a href="http://apereza.wordpress.com/2007/09/17/las-4-libertades-del-software-libre/"&gt;todo se puede conocer y se puede adaptar a tus necesidades&lt;/a&gt;?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Luego, tuve que pensar en hacer mi proyecto fin de carrera. En aquella época, el mundo de la informática médica era totalmente cerrado y propietario. A un &lt;a href="http://www.linkedin.com/in/cazcarra"&gt;amigo&lt;/a&gt; y a mí se nos ocurrió que era hora de que esta situación cambiara y propusimos un &lt;a href="http://openclinic.sf.net"&gt;proyecto de historia clínica digital basado en herramientas totalmente libres y transparentes&lt;/a&gt;. Incluso la documentación del proyecto la hicimos en &lt;a href="http://www.docbook.org"&gt;formatos abiertos&lt;/a&gt;. Por supuesto, la licencia del producto es &lt;a href="http://www.gnu.org/licenses/gpl.html"&gt;GPL&lt;/a&gt; (creo que fue el primer proyecto que se presentaba bajo esta licencia en &lt;a href="http://www.eupla.es/"&gt;nuestra universidad&lt;/a&gt;, pero espero que no fuera el último).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Gracias a los &lt;a href="http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29"&gt;conocimientos adquiridos durante la realización de este proyecto&lt;/a&gt;, inmediatamente después de acabar mis estudios, empecé a trabajar como desarrollador de aplicaciones web. Mis herramientas diarias de trabajo eran ya en su mayoría libres. El servidor de base de datos era &lt;a href="http://dev.mysql.com"&gt;MySQL&lt;/a&gt;, el servidor de aplicaciones web &lt;a href="http://httpd.apache.org/"&gt;Apache&lt;/a&gt; y el &lt;a href="http://php.net/"&gt;lenguaje de programación &lt;acronym title="Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt;&lt;/a&gt;. El navegador web principal sobre el que desarrollaba era &lt;a href="http://www.firefox.com"&gt;Firefox&lt;/a&gt; (al principio fue &lt;a href="http://www-archive.mozilla.org/products/mozilla1.x/"&gt;Mozilla&lt;/a&gt;).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Pero también en el trabajo, descubrí nuevos programas de software libre. Allí empecé a usar &lt;a href="http://www.mozillamessaging.com"&gt;Thunderbird&lt;/a&gt; como cliente de correo. Tanto me gustó, que al poco tiempo, logré que todo el mundo en la &lt;a href="http://www.scati.com"&gt;empresa&lt;/a&gt; lo usara. El sistema de control de versiones era un &lt;a href="http://www.nongnu.org/cvs/"&gt;&lt;acronym title="Concurrent Versions System"&gt;CVS&lt;/acronym&gt;&lt;/a&gt; en una máquina con Debian que además hacía las funciones de servidor de correo interno. Usábamos &lt;a href="http://www.mediawiki.org/"&gt;MediaWiki&lt;/a&gt; como herramienta de gestión del conocimiento. Nuestro blog interno estaba hecho con &lt;a href="http://wordpress.org/"&gt;WordPress&lt;/a&gt;. El virus se extendió aún más cuando cambié el sistema de documentación que se usaba para las aplicaciones que se vendían. Instalé una plataforma de desarrollo de documentación basada en Docbook, &lt;a href="http://www.tug.org/texlive/"&gt;TexLive&lt;/a&gt; y una serie de scripts en MS-DOS, que luego un &lt;a href="http://es.linkedin.com/pub/jorge-l%C3%B3pez/29/863/2b"&gt;compañero (pero también amigo)&lt;/a&gt; rehizo en &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;. La plaga se iba extendiendo, pero por entonces, el sistema operativo usado en los ordenadores todavía era Windows.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Pero hace ya casi 3 años, cambié de empleo. Primero, he de decir que si no hubiera sido por todo el conocimiento que adquirí por usar herramientas libres, no lo hubiera conseguido. El &lt;a href="http://www.zaragoza.es"&gt;Ayuntamiento de Zaragoza&lt;/a&gt; me contrató para formar parte del &lt;a href="http://zaragozaciudad.net/azlinux/"&gt;proyecto de migración del escritorio a software libre&lt;/a&gt;. Desde el primer día comencé a usar &lt;a href="http://www.opensuse.org/"&gt;SuSE&lt;/a&gt; en mi ordenador y desde entonces me dedico a hacer &lt;a href="http://en.wikipedia.org/wiki/RPM_Package_Manager"&gt;paquetes RPM&lt;/a&gt; y scripts en &lt;a href="http://www.gnu.org/software/bash/"&gt;Bash&lt;/a&gt; y Python. También me dedico a dar formación los usuarios. Una parte importante de la formación consiste en evangelizar a la gente con las bondades del software libre. Como herramienta de distribución de software usamos &lt;a href="http://migasfree.org/"&gt;MigasFree&lt;/a&gt;. Este programa es invención de un &lt;a href="http://twitter.com/albertogacias"&gt;compañero&lt;/a&gt; y es una pieza esencial del proyecto de migración.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Aparte de mi trayectoria profesional, está mi experiencia personal y cotidiana con el software libre. Cuando me planteé poner Internet en casa, es cuando instalé &lt;a href="http://fedoraproject.org/"&gt;linux&lt;/a&gt; en mi ordenador. Quería evitar riesgos y sorpresas, y sentirme a la vez seguro. Llevo ya 6 años sin haber tenido ninguna infección. Como &lt;a href="http://www.sromero.org/wiki/linux/sistema/pringao_howto"&gt;pringao&lt;/a&gt; ahora sólo recomiendo (e instalo) Linux en ordenadores de conocidos y amigos.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Hace un par de días, un nuevo &lt;a href="http://softwareybarralibre.org/"&gt;proyecto ha nacido en Zaragoza&lt;/a&gt;. Un &lt;a href="http://pcsofia.blogspot.com/"&gt;amigo&lt;/a&gt; se ha liado la manta a la cabeza y ha comenzado una nueva locura. Y a mí no se me ha ocurrido otra cosa que &lt;em&gt;&lt;q&gt;arar con los bueyes que tengo&lt;/q&gt;&lt;/em&gt;, es decir, contagiar a otros con mis experiencias. Esto que me pasa, ¿es tan grave como parece, doctor?&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;Actualización: 2011-03-13&lt;/h4&gt;&lt;p&gt;Sí que es grave y ha empezado por mi memoria. Como me apunta &lt;a href="http://twitter.com/jlontheweb"&gt;jlontheweb&lt;/a&gt;, en &lt;a href="http://www.scati.com"&gt;Scati Labs&lt;/a&gt; ya se usaba antes de entrar yo, &lt;a href="http://www.bugzilla.org/"&gt;Bugzilla&lt;/a&gt; como gestor de incidencias del software creado allí, y &lt;a href="http://filezilla-project.org/"&gt;FileZilla&lt;/a&gt; como cliente &lt;acronym title="File Transfer Protocol"&gt;FTP&lt;/acronym&gt;. También me comenta que han empezado a usar &lt;a href="http://www.openoffice.org/"&gt;OpenOffice.org&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Esta &lt;a href="http://es.wikipedia.org/wiki/Suite_ofim%C3%A1tica"&gt;suite ofimática&lt;/a&gt; está instalada en el 100% de los ordenadores del Ayuntamiento a día de hoy. Y para convertir a los equipos Windows en equipos con Linux, usamos a diario &lt;a href="clonezilla.org/"&gt;Clonezilla&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-7842207941436915927?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/7842207941436915927/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=7842207941436915927' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/7842207941436915927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/7842207941436915927'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2011/03/barra-libre-de-software.html' title='Barra libre de software'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-5499200386722165867</id><published>2010-01-02T16:45:00.018+01:00</published><updated>2010-01-02T22:34:26.452+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Personalización del listado de directorios de Apache</title><content type='html'>&lt;h4&gt;mod_autoindex&lt;/h4&gt;&lt;br /&gt;Aunque para entornos de producción nunca es buena idea dejar disponible para el público el listado de directorios, para algunas tareas es una funcionalidad que viene bien. Por ejemplo, para un &lt;a href="http://download.opensuse.org/update/"&gt;repositorio de paquetes para una distribución Linux&lt;/a&gt;. Y la pregunta que surge al ver cómo quedan esos listados tan elaborados es saber cómo se pueden hacer fácilmente.&lt;br /&gt;&lt;br /&gt;La respuesta viene de la de mano del &lt;a href="http://httpd.apache.org/docs/2.2/mod/mod_autoindex.html"&gt;módulo autoindex&lt;/a&gt; para Apache. Pero antes de entrar en detalle en este módulo, recordemos cómo evitar la generación de estos listados automáticos en la configuración de Apache.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;Nota&lt;/strong&gt;: Todas las referencias a la configuración y funcionamiento de Apache se han hecho sobre la &lt;a href="http://apache.rediris.es/httpd/binaries/win32/apache_2.2.14-win32-x86-no_ssl.msi"&gt;versión 2.2.14 para Win32&lt;/a&gt;, excepto las que se indiquen explícitamente.&lt;/blockquote&gt;&lt;br /&gt;&lt;h5&gt;Desactivación de los listados automáticos&lt;/h5&gt;&lt;br /&gt;Dentro de las directivas &lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#location"&gt;&lt;code&gt;Location&lt;/code&gt;&lt;/a&gt; y &lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#directory"&gt;&lt;code&gt;Directory&lt;/code&gt;&lt;/a&gt;, la directiva &lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#options"&gt;&lt;code&gt;Options&lt;/code&gt;&lt;/a&gt; se encarga de configurar las opciones disponibles para esa determinada ubicación. El modificador &lt;code&gt;Indexes&lt;/code&gt; es el encargado de activar al módulo &lt;strong&gt;autoindex&lt;/strong&gt;, por lo que para evitar esta funcionalidad, deberemos configurarlo más o menos así:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;Location /&amp;gt;&lt;br /&gt;  Options -Indexes &lt;em&gt;&amp;hellip;&lt;/em&gt;&lt;br /&gt;  &lt;em&gt;&amp;hellip;&lt;/em&gt;&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Otra opción más radical es comentar la línea de carga del módulo en el fichero &lt;code&gt;httpd.conf&lt;/code&gt;. Pero si elegimos esta opción, deberemos revisar el resto de la configuración para quitar la opción &lt;code&gt;Indexes&lt;/code&gt; de cualquier directiva &lt;code&gt;Options&lt;/code&gt; en la que aparezca. En caso contrario, al reiniciar el servicio, Apache informará que se ha producido un error y no arrancará.&lt;br /&gt;&lt;h4&gt;Creación de la configuración para autoindex&lt;/h4&gt;&lt;br /&gt;Si nos fijamos en el fichero de configuración global de Apache, la siguiente línea se encuentra comentada por defecto:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;# Fancy directory listings&lt;br /&gt;#Include conf/extra/httpd-autoindex.conf&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Por lo que si tenemos activado el listado automático, veremos que el resultado es de lo más espartano.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_QKBs06KZRKw/Sz9qxav5qKI/AAAAAAAAAAM/ZIzUOK45nfk/s1600-h/example_without_autoindex.png"&gt;&lt;img src="http://4.bp.blogspot.com/_QKBs06KZRKw/Sz9qxav5qKI/AAAAAAAAAAM/ZIzUOK45nfk/s400/example_without_autoindex.png" alt="Ejemplo de listado de directorio sin la configuración de mod_autoindex" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En lugar de hacer modificaciones sobre el fichero &lt;code&gt;httpd-autoindex.conf&lt;/code&gt;, vamos a crear uno nuevo, llamado &lt;code&gt;custom_autoindex.conf&lt;/code&gt;, que situaremos en el mismo directorio donde se encuentre el archivo &lt;code&gt;httpd.conf&lt;/code&gt;. De esta forma, sólo con incluir esta línea al final del fichero &lt;code&gt;httpd.conf&lt;/code&gt;, se cargarán nuestras modificaciones:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;# Añadir al final del fichero httpd.conf&lt;br /&gt;Include conf/custom_autoindex.conf&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h4&gt;Personalización de las directivas&lt;/h4&gt;&lt;br /&gt;En el manual oficial de Apache, se encuentran explicadas cada una de las directivas disponibles para el &lt;a href="http://httpd.apache.org/docs/2.2/mod/mod_autoindex.html"&gt;módulo autoindex&lt;/a&gt;. En el presente artículo sólo se muestran algunas de ellas, por lo que si alguien necesita alguna funcionalidad más de las aquí presentadas, recomiendo la lectura de la documentación oficial.&lt;br /&gt;&lt;h5&gt;IndexOptions&lt;/h5&gt;&lt;br /&gt;Los modificadores de esta directiva se pueden agrupar todos dentro de la misma línea o bien se pueden ir agregando uno por línea, para que el fichero quede más claro y legible y para que sea más fácil &lt;em&gt;jugar&lt;/em&gt; (comentar/descomentar) las diferentes opciones.&lt;br /&gt;&lt;br /&gt;La primera opción en nombrar es, precisamente, la que permite activar otras opciones más avanzadas de los listados de directorios. Se llama &lt;code&gt;FancyIndexing&lt;/code&gt; y, si está desactivada, el listado de archivos se presenta en forma de lista simple (tal y como se puede ver en la imagen del primer ejemplo).&lt;br /&gt;&lt;br /&gt;La siguiente que vamos a presentar es &lt;code&gt;FoldersFirst&lt;/code&gt; y, como su nombre indica, independientemente del orden que escoja el usuario (las columnas nombre, última modificación, tamaño, etc), siempre aparecerán primero los directorios y después los ficheros.&lt;br /&gt;&lt;br /&gt;Otra opción relacionada con la ordenación es &lt;code&gt;IgnoreCase&lt;/code&gt;. Si está activada, mayúsculas y minúsculas no importarán a la hora de ordenar los archivos.&lt;br /&gt;&lt;br /&gt;Adicionalmente, también vamos a añadir la opción &lt;code&gt;VersionSort&lt;/code&gt; para que, en el caso de mostrar varios ficheros con mismo nombre pero versión diferente, se ordenen perfectamente de acuerdo a la versión y no al orden ASCII: la versión &lt;var&gt;1.12&lt;/var&gt; iría después de la &lt;var&gt;1.9&lt;/var&gt;, por ejemplo.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;IconsAreLinks&lt;/code&gt; permite que los iconos asociados a cada fichero también sean un enlace a dicho archivo. Como las imágenes suelen ser zonas muy apetecibles para el ratón, dejaremos esta opción activada.&lt;br /&gt;&lt;br /&gt;Para nuestro ejemplo, vamos a activar la opción &lt;code&gt;SuppressDescription&lt;/code&gt;, para no mostrar la descripción de los tipos de archivo en el listado. Aunque en un entorno real, es una funcionalidad que puede ser interesante si se listan tipos de fichero poco usuales.&lt;br /&gt;&lt;br /&gt;Para tener más control sobre la salida &lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt; generada por &lt;code&gt;mod_autoindex&lt;/code&gt;, vamos a activar las opciones &lt;code&gt;SuppressRules&lt;/code&gt;, &lt;code&gt;SuppressHTMLPreamble&lt;/code&gt; y &lt;code&gt;XHTML&lt;/code&gt;. De esta forma, obligamos a que el módulo saque el contenido del listado en formato &lt;a href="http://www.w3.org/1999/xhtml/"&gt;&lt;acronym title="eXtensible HyperText Markup Language"&gt;XHTML&lt;/acronym&gt;&lt;/a&gt; (y no en &lt;a href="http://www.w3.org/TR/REC-html32"&gt;HTML 3.2&lt;/a&gt;) y que se ocupe sólamente de generar dicho listado. El resto de la página la generaremos nosotros más adelante.&lt;br /&gt;&lt;br /&gt;El fichero &lt;code&gt;custom_autoindex.conf&lt;/code&gt;, con todo lo visto hasta ahora, comenzaría así:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;IndexOptions FancyIndexing&lt;br /&gt;IndexOptions FoldersFirst&lt;br /&gt;IndexOptions IgnoreCase&lt;br /&gt;IndexOptions VersionSort&lt;br /&gt;IndexOptions IconsAreLinks&lt;br /&gt;IndexOptions SuppressDescription&lt;br /&gt;IndexOptions SuppressRules&lt;br /&gt;IndexOptions SuppressHTMLPreamble&lt;br /&gt;IndexOptions XHTML&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h5&gt;Directorio de iconos&lt;/h5&gt;&lt;br /&gt;Los iconos por defecto que vienen distribuidos con Apache, aunque funcionales, se han quedado algo antiguos en cuanto a diseño. Por esa razón, vamos a cambiarlos por los que vienen en la colección &lt;a href="http://gnome-look.org/content/show.php/hydroxygen?content=88575"&gt;hidroxygen&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Para ello, vamos a poner en un mismo directorio todos los iconos de esta colección de tamaño 32x32 píxeles. Conviene recordar que cualquier cambio en la asociación de ficheros, requiere reiniciar Apache.&lt;br /&gt;&lt;br /&gt;La configuración de este directorio, quedaría así:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;Alias /icons/ "D:/Apache2/conf/hidroxygen/"&lt;br /&gt;&lt;br /&gt;&amp;lt;Directory "D:/Apache2/conf/hidroxygen"&amp;gt;&lt;br /&gt;    Options Indexes MultiViews&lt;br /&gt;    AllowOverride None&lt;br /&gt;    Order allow,deny&lt;br /&gt;    Allow from all&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h5&gt;Asociación de tipos de archivos&lt;/h5&gt;&lt;br /&gt;Hay varias directivas relacionadas con la asociación:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;AddIconByEncoding&lt;/code&gt;: sirve para asociar un icono a una &lt;a href="http://es.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions"&gt;codificación MIME&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;AddIconByType&lt;/code&gt;: asocia un icono a un &lt;a href="http://en.wikipedia.org/wiki/Internet_media_type"&gt;tipo MIME&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;AddIcon&lt;/code&gt;: asocia un icono a una extensión.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Para nuestro ejemplo, este sería el código:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip&lt;br /&gt;&lt;br /&gt;AddIconByType (IMG,/icons/image.png) image/*&lt;br /&gt;AddIconByType (SND,/icons/sound.png) audio/*&lt;br /&gt;AddIconByType (VID,/icons/video.png) video/*&lt;br /&gt;&lt;br /&gt;AddIcon /icons/binary.png .bin .exe&lt;br /&gt;AddIcon /icons/tar.png .tar&lt;br /&gt;AddIcon /icons/zip.png .Z .z .tgz .gz .zip&lt;br /&gt;AddIcon /icons/pdf.png .ps .ai .eps .pdf .dvi&lt;br /&gt;AddIcon /icons/www.png .html .shtml .htm&lt;br /&gt;AddIcon /icons/txt.png .txt&lt;br /&gt;AddIcon /icons/text-x-csrc.png .c .h&lt;br /&gt;AddIcon /icons/application-x-php.png .php&lt;br /&gt;AddIcon /icons/application-x-perl.png .pl&lt;br /&gt;AddIcon /icons/application-x-python.png .py&lt;br /&gt;AddIcon /icons/text-x-script.png .conf .sh .shar .csh .ksh .tcl .cgi&lt;br /&gt;AddIcon /icons/tex.png .tex&lt;br /&gt;AddIcon /icons/rar.png .rar&lt;br /&gt;AddIcon /icons/rpm.png .rpm&lt;br /&gt;AddIcon /icons/text-css.png .css&lt;br /&gt;&lt;br /&gt;AddIcon /icons/violet-go-up.png ..&lt;br /&gt;AddIcon /icons/gnome-blog.png README&lt;br /&gt;AddIcon /icons/oxyviolet-folder.png ^^DIRECTORY^^&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Las últimas 3 líneas son especiales porque sirven para asociar al directorio anterior (&lt;code&gt;..&lt;/code&gt;), los archivos &lt;a href="http://es.wikipedia.org/wiki/README"&gt;README&lt;/a&gt; y los directorios, respectivamente.&lt;br /&gt;&lt;br /&gt;La lista de asociación se puede hacer tan larga y específica como se quiera o necesite. Como podemos ver, puede ser genérica (usando &lt;code&gt;AddIconByEncoding&lt;/code&gt; y &lt;code&gt;AddIconByType&lt;/code&gt;) o más particular (con &lt;code&gt;AddIcon&lt;/code&gt; y la lista de extensiones).&lt;br /&gt;&lt;br /&gt;Hay una directiva más, &lt;code&gt;DefaultIcon&lt;/code&gt;, que sirve para mostrar un icono por defecto para los tipos de archivo que no hayamos declarado explícitamente:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;DefaultIcon /icons/unknown.png&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h5&gt;Salida XHTML&lt;/h5&gt;&lt;br /&gt;Antes hemos dicho que del módulo &lt;code&gt;autoindex&lt;/code&gt; sólo queríamos que generara los listados de archivos, porque el resto de la salida la personalizaríamos nosotros.&lt;br /&gt;&lt;br /&gt;La directiva &lt;code&gt;HeaderName&lt;/code&gt; sirve para indicar el fichero que se antepondrá al listado de &lt;code&gt;mod_autoindex&lt;/code&gt;. Y la directiva &lt;code&gt;ReadmeName&lt;/code&gt;, para indicar el archivo que se añadirá al final de listado generado. De esta forma, y con ayuda de la opción &lt;code&gt;SuppressHTMLPreamble&lt;/code&gt;, tendremos control total sobre el HTML que enviaremos al navegador desde el servidor web.&lt;br /&gt;&lt;br /&gt;Si se quisieran diferentes contenidos de cabecera y pie para cada directorio a mostrar, es posible hacerlo indicando una ruta relativa a los ficheros en estas directivas. Sin embargo, para este ejemplo, vamos a usar una ruta absoluta, que debe estar (esta sí) dentro del &lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#documentroot"&gt;directorio de publicación de Apache&lt;/a&gt;.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;ReadmeName "/autoindex/footer.shtml"&lt;br /&gt;HeaderName "/autoindex/header.shtml"&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h5&gt;IndexIgnore&lt;/h5&gt;&lt;br /&gt;Para acabar con la configuración de este ejemplo, conviene nombrar la directiva &lt;code&gt;IndexIgnore&lt;/code&gt;. Sirve para ocultar del listado automático ciertos archivos. Por ejemplo, para evitar que se muestren las copias de seguridad (ficheros acabados en &lt;code&gt;~&lt;/code&gt; en los sistemas Linux), los propios archivos usados para cabecera y pie de los listados, etcétera.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t *.shtml&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h4&gt;Contenido de los archivos HeaderName y ReadmeName&lt;/h4&gt;&lt;br /&gt;El contenido de estos ficheros debe generar HTML, por lo que o bien puede estar en HTML puro o puede estar programado en algún lenguaje interpretado como &lt;a href="http://httpd.apache.org/docs/1.3/howto/ssi.html"&gt;&lt;acronym title="Server Side Includes"&gt;SSI&lt;/acronym&gt;&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Php"&gt;&lt;acronym title="PHP Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt;&lt;/a&gt;, &lt;a href="http://es.wikipedia.org/wiki/Python"&gt;Python&lt;/a&gt; o &lt;a href="http://es.wikipedia.org/wiki/Perl"&gt;Perl&lt;/a&gt;, por ejemplo. Esta opción es interesante para poder mostrar contenido variable y poder tener unos ficheros de cabecera globales. Dicho contenido variable nos lo proporciona el propio servidor a través de sus &lt;a href="http://httpd.apache.org/docs/2.2/env.html"&gt;variables de entorno&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;En nuestro ejemplo, vamos a hacer la programación en &lt;strong&gt;SSI&lt;/strong&gt;, puesto que sólo vamos a mostrar algunas de estas variables de Apache. Para activar la interpretación de las instrucciones SSI en el directorio donde hemos puesto los archivos &lt;code&gt;.shtml&lt;/code&gt;, debemos añadir a la configuración:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;Location "/autoindex"&amp;gt;&lt;br /&gt;  Options +Includes&lt;br /&gt;  AddType text/html .shtml&lt;br /&gt;  AddOutputFilter INCLUDES .shtml&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;En entornos Linux, los archivos &lt;code&gt;.shtml&lt;/code&gt; deben tener el atributo de ejecución (además del de lectura para el usuario que ejecute Apache) para que puedan ser ejecutados por el servidor web.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Ejemplo completo&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;Como resultado de la configuración aplicada en este artículo, el contenido del directorio que hemos mostrado antes, ahora luciría de esta forma:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_QKBs06KZRKw/Sz9rHcpLS8I/AAAAAAAAAAU/zWXXk5lvSfo/s1600-h/example_autoindex.png"&gt;&lt;img src="http://2.bp.blogspot.com/_QKBs06KZRKw/Sz9rHcpLS8I/AAAAAAAAAAU/zWXXk5lvSfo/s400/example_autoindex.png" alt="Ejemplo de listado de directorio empleando mod_autoindex" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;El contenido completo del fichero &lt;code&gt;custom_autoindex.conf&lt;/code&gt;:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;IndexOptions FancyIndexing&lt;br /&gt;IndexOptions FoldersFirst&lt;br /&gt;IndexOptions IgnoreCase&lt;br /&gt;IndexOptions VersionSort&lt;br /&gt;IndexOptions IconsAreLinks&lt;br /&gt;IndexOptions SuppressDescription&lt;br /&gt;IndexOptions SuppressRules&lt;br /&gt;IndexOptions SuppressHTMLPreamble&lt;br /&gt;IndexOptions XHTML&lt;br /&gt;&lt;br /&gt;Alias /icons/ "D:/Apache2/conf/hidroxygen/"&lt;br /&gt;&lt;br /&gt;&amp;lt;Directory "D:/Apache2/conf/hidroxygen"&amp;gt;&lt;br /&gt;    Options Indexes MultiViews&lt;br /&gt;    AllowOverride None&lt;br /&gt;    Order allow,deny&lt;br /&gt;    Allow from all&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;br /&gt;AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip&lt;br /&gt;&lt;br /&gt;AddIconByType (IMG,/icons/image.png) image/*&lt;br /&gt;AddIconByType (SND,/icons/sound.png) audio/*&lt;br /&gt;AddIconByType (VID,/icons/video.png) video/*&lt;br /&gt;&lt;br /&gt;AddIcon /icons/binary.png .bin .exe&lt;br /&gt;AddIcon /icons/tar.png .tar&lt;br /&gt;AddIcon /icons/zip.png .Z .z .tgz .gz .zip&lt;br /&gt;AddIcon /icons/pdf.png .ps .ai .eps .pdf .dvi&lt;br /&gt;AddIcon /icons/www.png .html .shtml .htm&lt;br /&gt;AddIcon /icons/txt.png .txt&lt;br /&gt;AddIcon /icons/text-x-csrc.png .c .h&lt;br /&gt;AddIcon /icons/application-x-php.png .php&lt;br /&gt;AddIcon /icons/application-x-perl.png .pl&lt;br /&gt;AddIcon /icons/application-x-python.png .py&lt;br /&gt;AddIcon /icons/text-x-script.png .conf .sh .shar .csh .ksh .tcl .cgi&lt;br /&gt;AddIcon /icons/tex.png .tex&lt;br /&gt;AddIcon /icons/rar.png .rar&lt;br /&gt;AddIcon /icons/rpm.png .rpm&lt;br /&gt;AddIcon /icons/text-css.png .css&lt;br /&gt;&lt;br /&gt;AddIcon /icons/violet-go-up.png ..&lt;br /&gt;AddIcon /icons/gnome-blog.png README&lt;br /&gt;AddIcon /icons/oxyviolet-folder.png ^^DIRECTORY^^&lt;br /&gt;&lt;br /&gt;DefaultIcon /icons/unknown.png&lt;br /&gt;&lt;br /&gt;ReadmeName "/autoindex/footer.shtml"&lt;br /&gt;HeaderName "/autoindex/header.shtml"&lt;br /&gt;&lt;br /&gt;IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t *.shtml&lt;br /&gt;&lt;br /&gt;&amp;lt;Location "/autoindex"&amp;gt;&lt;br /&gt;  Options +Includes&lt;br /&gt;  AddType text/html .shtml&lt;br /&gt;  AddOutputFilter INCLUDES .shtml&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Contenido del fichero &lt;code&gt;header.shtml&lt;/code&gt;:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&amp;gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr"&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;  &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /&amp;gt;&lt;br /&gt;  &amp;lt;title&amp;gt;&amp;lt;!--#echo var="SERVER_NAME" --&amp;gt;&amp;lt;!--#echo var="REQUEST_URI" --&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;  &amp;lt;link rel="stylesheet" type="text/css" href="/autoindex/style.css" media="screen" /&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;div id="header"&amp;gt;&lt;br /&gt;  &amp;lt;h1&amp;gt;&amp;lt;!--#echo var="SERVER_NAME" --&amp;gt;&amp;lt;!--#echo var="REQUEST_URI" --&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id="content"&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Contenido de &lt;code&gt;footer.shtml&lt;/code&gt;:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id="footer"&amp;gt;&lt;br /&gt;  &amp;lt;address&amp;gt;Copyright &amp;copy; jact 2010&amp;lt;/address&amp;gt;&lt;br /&gt;  &amp;lt;address&amp;gt;&amp;lt;!--#echo var="SERVER_SOFTWARE" --&amp;gt; on &amp;lt;!--#echo var="SERVER_NAME" --&amp;gt;&amp;lt;/address&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Hoja de estilos (&lt;code&gt;style.css&lt;/code&gt;):&lt;br /&gt;&lt;pre&gt;&lt;code&gt;body {&lt;br /&gt;  background: #F6F6F6;&lt;br /&gt;  font-family: "Trebuchet MS", sans-serif;&lt;br /&gt;  margin: 1.5em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#header {&lt;br /&gt;  border-bottom: 1px solid #000;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#content pre {&lt;br /&gt;  font-family: "Lucida Console", monospace;&lt;br /&gt;  font-size: 120%;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#footer {&lt;br /&gt;  border-top: 1px solid #000;&lt;br /&gt;  padding-top: 1em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;a img {&lt;br /&gt;  border: none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;address {&lt;br /&gt;  font-style: normal;&lt;br /&gt;  font-size: 90%;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h4&gt;Referencias&lt;/h4&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.webmasterworld.com/apache/3589651.htm"&gt;Tutorial: Custom Apache Directory Listing with linked CSS, and PHP&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://howto.unixdev.net/dirlist.html"&gt;Apache 2 Custom Directory Listing&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-5499200386722165867?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/5499200386722165867/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=5499200386722165867' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/5499200386722165867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/5499200386722165867'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2010/01/personalizacion-del-listado-de.html' title='Personalización del listado de directorios de Apache'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QKBs06KZRKw/Sz9qxav5qKI/AAAAAAAAAAM/ZIzUOK45nfk/s72-c/example_without_autoindex.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-2393711161562717722</id><published>2009-12-18T12:19:00.009+01:00</published><updated>2009-12-18T12:36:29.536+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>El falso proxy</title><content type='html'>A primera vista, un &lt;em&gt;proxy falso&lt;/em&gt; (o mal configurado), lo único que puede provocar es que no naveguemos en absoluto por la red. Sin embargo, &lt;em&gt;bien configurado&lt;/em&gt;, puede ser un sustituto casero para permitir el acceso a determinados sitios, y restringir el resto. Efectivamente, sería mejor montar una solución con &lt;a href="http://www.squid-cache.org/"&gt;Squid&lt;/a&gt;, pero ya he dicho que es un &lt;strong&gt;remedio casero&lt;/strong&gt;, siempre y cuando, la lista de sitios permitidos no sea muy grande.&lt;br /&gt;&lt;br /&gt;Un ejemplo válido sería un ordenador de consulta público, en &lt;a href="http://en.wikipedia.org/wiki/Kiosk_software"&gt;modo quiosco&lt;/a&gt;, en el que sólo queremos que se pueda visitar la web de nuestra empresa.&lt;br /&gt;&lt;br /&gt;El truco radica, básicamente, en configurar un &lt;strong&gt;proxy inexistente&lt;/strong&gt; en el navegador web y poner como excepciones de ese proxy, la lista de sitios a los que se quiere dar acceso exclusivo. La gracia del truco está en que esta configuración no pueda ser cambiada por el usuario que tiene acceso al navegador.&lt;br /&gt;&lt;br /&gt;A continuación, vamos a configurar adecuadamente el navegador &lt;a href="http://www.mozilla.com/"&gt;Firefox&lt;/a&gt; para que sirva a nuestros propósitos. Los parámetros a configurar son:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://kb.mozillazine.org/Network.proxy.type"&gt;network.proxy.type&lt;/a&gt;: Deberá tener valor &lt;strong&gt;1&lt;/strong&gt; para hacer la configuración manual del proxy.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://kb.mozillazine.org/Network.proxy.%28protocol%29"&gt;network.proxy.http&lt;/a&gt;:  Este es el lugar donde indicaremos el nombre del &lt;em&gt;falso proxy&lt;/em&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://kb.mozillazine.org/Network.proxy.%28protocol%29_port"&gt;network.proxy.http_port&lt;/a&gt;: Indica el puerto de escucha del proxy. Como en nuestro caso no existe, pondremos un valor comprendido entre 1024 y 65535.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://kb.mozillazine.org/Network.proxy.share_proxy_settings"&gt;network.proxy.share_proxy_settings&lt;/a&gt;: Al poner a true esta clave, la configuración para el protocolo HTTP valdrá también para el resto de protocolos (SSL, FTP, ...).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://kb.mozillazine.org/Network.proxy.no_proxies_on"&gt;network.proxy.no_proxies_on&lt;/a&gt;: Como valor, separados por comas, pondremos la lista de sitios a los que sí se quiere tener acceso.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Ahora, lo que interesa es poner en el sitio adecuado los parámetros anteriores. Deberán estar en la configuración global del navegador (para que afecte a todos los usuarios de la máquina) y estarán bloqueados para que nadie los pueda modificar en su configuración local.&lt;br /&gt;&lt;br /&gt;¿Cómo bloquear las preferencias? Para ello utilizaremos la directiva &lt;a href="http://kb.mozillazine.org/Lock_Prefs"&gt;lockPref&lt;/a&gt;. El código resultante sería el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;// Opciones bloquedas&lt;br /&gt;lockPref("network.proxy.type", 1);&lt;br /&gt;lockPref("network.proxy.http", "falso.proxy.miempresa.com");&lt;br /&gt;lockPref("network.proxy.http_port", 8888);&lt;br /&gt;lockPref("network.proxy.share_proxy_settings", true);&lt;br /&gt;lockPref("network.proxy.no_proxies_on", "miempresa.com,otrapagina.com");&lt;br /&gt;lockPref("browser.startup.homepage", "http://miempresa.com");&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;Además, hemos incluido la opción &lt;a href="http://kb.mozillazine.org/Browser.startup.homepage"&gt;browser.startup.homepage&lt;/a&gt;, para que la página de inicio del navegador sea una de la lista permitida (la principal). Aunque siempre es posible &lt;a href="http://www.pcc-services.com/kixtart/firefox-lockdown.html"&gt;bloquear más opciones de configuración&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Para el final, hemos dejado la parte difícil: elegir el sitio donde poner el código. Como ya hemos dicho, no interesa poner esta configuración en el &lt;a href="http://www.gemal.dk/mozilla/profile.html"&gt;perfil del usuario&lt;/a&gt; de consulta, sino que es mejor que esté a nivel global y con permisos restringidos.&lt;br /&gt;&lt;br /&gt;Llamaremos al archivo de configuración con los bloqueos &lt;code&gt;&lt;strong&gt;lock.js&lt;/strong&gt;&lt;/code&gt;. Este fichero lo tendremos que colocar dentro del directorio de instalación de Firefox. Para Windows sería &lt;code&gt;&lt;a href="http://en.wikipedia.org/wiki/Program_Files"&gt;%ProgramFiles%&lt;/a&gt;\Mozilla Firefox\&lt;/code&gt; y para entornos Linux, algo parecido a esta ruta: &lt;code&gt;/usr/lib/firefox/&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Por último, para que Firefox tenga en cuenta estos nuevos parámetros, habrá que añadir o modificar los siguientes parámetros:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;pref("general.config.filename", "lock.js");&lt;/code&gt; Así se indica un fichero adicional de configuración. No debe indicarse la ruta, sólo el nombre.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;pref("general.config.obscure_value", 0);&lt;/code&gt; El valor &lt;strong&gt;0&lt;/strong&gt; permite que el contenido del fichero &lt;code&gt;lock.js&lt;/code&gt; vaya en texto claro. Por defecto, suele tener el valor &lt;strong&gt;13&lt;/strong&gt;, y eso significaría que el archivo debe estar &lt;a href="http://www.alain.knaff.lu/howto/MozillaCustomization/cgi/byteshf.cgi"&gt;codificado&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Dichos parámetros se encuentran dentro de los ficheros de configuración globales de la aplicación, y es en este punto donde hay alguna variación de la ruta, dependiendo de la versión de Firefox. Algunos ejemplos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Para la versión 3.0 de Firefox para Windows, el fichero a modificar sería &lt;code&gt;%ProgramFiles%\Mozilla Firefox\greprefs\all.js&lt;/code&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Para &lt;a href="http://fedoraproject.org/"&gt;Fedora 12&lt;/a&gt; y Firefox 3.5, el fichero sería &lt;code&gt;/usr/lib/firefox-3.5.5/defaults/preferences/firefox.js&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Pero es conveniente avisar que, dependiendo de la distribución de Linux utilizada, estos parámetros pueden encontrarse en algún otro fichero que haya en ese directorio.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-2393711161562717722?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/2393711161562717722/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=2393711161562717722' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/2393711161562717722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/2393711161562717722'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2009/12/el-falso-proxy.html' title='El falso proxy'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-2316906424481848972</id><published>2009-01-12T21:23:00.009+01:00</published><updated>2009-07-08T21:43:57.992+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><title type='text'>Pidgin y el protocolo MSN</title><content type='html'>Hoy, como todos los días, he llegado a casa y he puesto en marcha mi &lt;a href="http://pidgin.im/"&gt;cliente de mensajería instantánea multiplataforma, Pidgin&lt;/a&gt;. Pero hoy, una de las cuentas, la de &lt;acronym title="Microsoft Network"&gt;MSN&lt;/acronym&gt; para más señas, no ha conectado al iniciar el programa. El mensaje que mostraba Pidgin era el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code lang="en_US"&gt;Unable to retrieve MSN Address Book&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Lo primero que he hecho, ha sido intentar entrar con mi cuenta &lt;em lang="en_US"&gt;passport&lt;/em&gt; en el &lt;a href="http://messenger.live.com/"&gt;sitio de Windows Live&lt;/a&gt; para verificar si estaba o no activa. &lt;br /&gt;&lt;br /&gt;Como sí lo estaba, he empezado a buscar por Internet. Allí, he encontrado una &lt;a href="http://www.alphatek.info/2009/01/12/live-msn-messenger-is-broken-in-pidgin/"&gt;noticia que señalaba que hoy (precisamente hoy), Microsoft había hecho un cambio en el protocolo&lt;/a&gt; y que era necesario instalar un nuevo plugin en Pidgin para solucionar el problema. O eso, o utilizar otro programa de mensajería.&lt;br /&gt;&lt;br /&gt;De hecho, al probar con &lt;a href="http://kopete.kde.org/"&gt;Kopete&lt;/a&gt; (el cliente por defecto del escritorio &lt;acronym title="K Desktop Environment"&gt;KDE&lt;/acronym&gt;), he entrado sin inconvenientes a la cuenta y he podido acceder a mis contactos. Otro programa que recomendaba la noticia era &lt;a href="http://live.gnome.org/Empathy"&gt;Empathy Instant Messenger&lt;/a&gt;. Aunque el programa es bastante más simple que Pidgin, también ha funcionado a la primera.&lt;br /&gt;&lt;br /&gt;Pero el asunto es que quería solucionar el problema para Pidgin. Existe ya, desde hace unos meses, un paquete específico con el plugin para los usuarios de &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;, que se puede descargar desde la web oficial del proyecto (&lt;a href="http://code.google.com/p/msn-pecan/"&gt;msn-pecan&lt;/a&gt;, &lt;em lang="en_US"&gt;Alternative MSN protocol plugin for libpurple&lt;/em&gt;) y que también reside en los repositorios de la distribución.&lt;br /&gt;&lt;br /&gt;En cambio, para &lt;a href="http://fedoraproject.org/"&gt;Fedora&lt;/a&gt;, sólo parecían existir 2 opciones:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Compilar el fuente.&lt;/li&gt;&lt;li&gt;Esperar a que Pidgin (que ya comentan en su web el problema y que ya están trabajando en ello), sacara una actualización para el sistema.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Pero he encontrado una tercera opción. Edouard Bourguignon, ha compilado el código fuente y ha hecho un paquete específico para &lt;strong&gt;Fedora Core 10&lt;/strong&gt; y lo ha colgado en &lt;a href="http://www.linuxed.net/~madko/fedora/"&gt;su página web&lt;/a&gt;. Gracias a él (otro héroe anónimo del software libre), el imprevisto con el protocolo MSN ha estado resuelto en menos de un día, preparado para miles de usuarios.&lt;br /&gt;&lt;br /&gt;El último paso para volver a conectar con la red MSN en Pidgin, tras instalar el paquete, es reiniciarlo y &lt;a href="http://www.lifelog.be/2009/01/12/pidgin-unable-to-retrieve-msn-address-list/"&gt;cambiar el tipo de cuenta de MSN a WLM&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;¿Qué sistema de pago hubiera hecho lo mismo, de forma gratuita, para sus clientes, en tan poco tiempo?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-2316906424481848972?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/2316906424481848972/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=2316906424481848972' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/2316906424481848972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/2316906424481848972'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2009/01/pidgin-y-el-protocolo-msn.html' title='Pidgin y el protocolo MSN'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-681147475456332488</id><published>2009-01-05T15:17:00.037+01:00</published><updated>2009-07-08T10:17:46.072+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>Actualización de Fedora 7 a la versión 10</title><content type='html'>Un año y medio en informática es muchísimo tiempo y, más si cabe, si hablamos de la evolución de escritorio de las distribuciones Linux. Desde mediados del año 2007, en el que me instalé &lt;a href="http://fedoraproject.org/wiki/Releases/7"&gt;Fedora Core 7&lt;/a&gt;, tan sólo había renovado el sistema con las actualizaciones de seguridad de la versión. Por fin, estas navidades, aprovechando el tiempo libre, me decidí a hacer un &lt;a href="http://en.wikipedia.org/wiki/Upgrade" lang="en_US"&gt;upgrade&lt;/a&gt; de la distribución.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Primera desilusión&lt;/h4&gt;&lt;a href="http://fedoraproject.org/"&gt;Fedora&lt;/a&gt;, que está basada en &lt;a href="http://www.redhat.com/"&gt;Red Hat&lt;/a&gt;, tiene &lt;a href="http://es.wikipedia.org/wiki/Yellow_dog_Updater,_Modified"&gt;&lt;code&gt;yum&lt;/code&gt;&lt;/a&gt; como gestor de paquetes. Podríamos decir que &lt;code&gt;yum&lt;/code&gt; es a Fedora como &lt;a href="http://es.wikipedia.org/wiki/Advanced_Packaging_Tool"&gt;&lt;code&gt;apt&lt;/code&gt;&lt;/a&gt; es a &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;: la herramienta que permite instalar lo que necesitas sin preocuparte por las (odiosas, en algunos casos) dependencias.&lt;br /&gt;&lt;br /&gt;Una de las opciones que tiene &lt;code&gt;yum&lt;/code&gt;, es actualizar el sistema entero a través del modificador &lt;a href="http://fedoraproject.org/wiki/YumUpgradeFaq"&gt;&lt;code&gt;upgrade&lt;/code&gt;&lt;/a&gt;. Al menos, eso era lo que creía. Siempre que ejecutaba el comando en cuestión, llegaba al mismo problema irresoluble de dependencias conflictivas. ¿No se suponía que esta herramienta era, precisamente, la indicada para no tratar nunca más con semejantes problemas? Pues no hubo manera, aún cuando, en un intento desesperado, le cambié las direcciones de los repositorios para apuntar a las versiones más modernas (e inestables) de dichos repositorios.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;El único camino posible&lt;/h4&gt;La única alternativa viable era iniciar una instalación/actualización desde un &lt;acronym title="Compact Disc"&gt;CD&lt;/acronym&gt; de la nueva versión. Para ello, aprovechando la &lt;q&gt;&lt;em&gt;magnífica&lt;/em&gt;&lt;/q&gt; banda ancha de la que disponemos en España, me descargué la &lt;a href="http://fedoraproject.org/es/get-fedora-all"&gt;ISO más pequeña&lt;/a&gt;, que instala todos los componentes desde los repositorios de Internet.&lt;br /&gt;&lt;br /&gt;Para que este método funcione, por precaución, siempre es conveniente seguir estas 2 normas:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Tener los datos de los usuarios (&lt;code&gt;/home&lt;/code&gt;) en una partición diferente a la del sistema. (Actualmente, casi todas las distribuciones Linux respetan esta norma y no hay que preocuparse por ello.)&lt;/li&gt;&lt;li&gt;Hacer una copia de seguridad de los datos, en otro disco duro independiente al del sistema (o en un &lt;acronym title="Digital Versatile Disc"&gt;DVD&lt;/acronym&gt;, si cabe).&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Primer arranque tras la instalación&lt;/h4&gt;Antes de comenzar con los &lt;q&gt;problemillas&lt;/q&gt; que encontré tras la actualización de Fedora, un comentario sobre el proceso de instalación: el asistente de instalación a través de red es verdaderamente simple, pero casi demasiado escueto en información sobre el proceso (cada vez se parece más a la filosofía de Windows, ocultando el máximo de información...).&lt;br /&gt;&lt;br /&gt;Ahora, empecemos con lo bueno. El proceso de arranque de esta versión 10 es muchísimo más simplista que el de la 7 (está visto que hay que parecerse al sistema de &lt;em&gt;ventanas&lt;/em&gt; como sea...). Mi anterior sistema estaba preparado para &lt;a href="http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlrunlevels.html"&gt;entrar en modo gráfico tras el arranque&lt;/a&gt;, pero tras el &lt;em lang="en_US"&gt;upgrade&lt;/em&gt;... este último paso, falló. Al menos tenía acceso al sistema desde la consola de texto. También tenía acceso a Internet para buscar soluciones, pero... sin modo gráfico... ¿cómo continuar?&lt;br /&gt;&lt;br /&gt;Había una alternativa de primeros auxilios, y otra un poco más... ¿cómo decirlo?, de chico con recursos. La primera consistía en instalar (en modo texto) un navegador en modo texto, como &lt;a href="http://lynx.isc.org/"&gt;lynx&lt;/a&gt; o &lt;a href="http://links.sourceforge.net/"&gt;links&lt;/a&gt;. La segunda, por la que opté, era utilizar otro ordenador para conectarme a Internet en busca de información. Para ello, me agencié un &lt;a href="http://es.wikipedia.org/wiki/Aspire_One"&gt;Acer Aspire One&lt;/a&gt; con Linux preinstalado (una distro llamada &lt;a href="http://es.wikipedia.org/wiki/Linpus_Linux"&gt;Linpus&lt;/a&gt; que está basada en Fedora) y procedí a solventar mi contratiempo.&lt;br /&gt;&lt;br /&gt;En uno de los foros donde recalé, indicaban que buscara más detalles sobre el problema en el fichero &lt;code&gt;/var/log/Xorg.0.log&lt;/code&gt;. Editándolo, pude ver al final del mismo, estas líneas:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;(EE) No devices detected&lt;br /&gt;Fatal server error:&lt;br /&gt;No screens found&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Increible, pero cierto. Hasta hace unos minutos había tenido mi &lt;a href="http://es.wikipedia.org/wiki/X_Window_System"&gt;servidor X&lt;/a&gt; funcionando a la perfección, pero el proceso de actualización había sido incapaz de reconocer mi tarjeta gráfica (pese a que todo el procedimiento se había llevado a a cabo en modo gráfico).&lt;br /&gt;&lt;br /&gt;Por suerte, existía una solución: ejecutar en modo root el siguiente comando (habiendo realizado antes una copia del fichero &lt;code&gt;/etc/X11/xorg.conf&lt;/code&gt;, por si acaso):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;# &lt;kbd&gt;system-config-display&lt;/kbd&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Tras reiniciar el equipo, la secuencia de arranque se completó hasta el final correctamente, pero... siguieron las sorpresas.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Nueva versión de KDE&lt;/h4&gt;Una especie de &lt;a href="http://es.wikipedia.org/wiki/Dejavu" lang="fr"&gt;déjà vu&lt;/a&gt; recorrió mi mente la primera vez que vi arrancar el escritorio &lt;acronym title="K Desktop Environment"&gt;KDE&lt;/acronym&gt;. Parecía que estaba viendo el escritorio de &lt;acronym title="Microsoft Windows XP"&gt;XP&lt;/acronym&gt;: limpio como una patena, sin ningún icono ni documento a la vista. ¿Quién se había llevado mis &lt;a href="http://standards.freedesktop.org/desktop-entry-spec/latest/"&gt;lanzadores de aplicaciones&lt;/a&gt; y archivos?&lt;br /&gt;&lt;br /&gt;Hasta entonces, KDE (versión 3.5), siempre me había parecido un entorno muy amigable (aunque tal vez, demasiado parecido al de Windows), pero la desaparición de iconos del escritorio (en esta versión 4.1) ya me parecía un toque de mimetismo demasiado... cruel. Así pues empecé a investigar por el nuevo sistema, por si era una opción de configuración (como en su &lt;a href="http://es.wikipedia.org/wiki/Alter_ego"&gt;&lt;em&gt;alter ego&lt;/em&gt;&lt;/a&gt;). Después de un rato de no encontrar nada, pasé la búsqueda al ámbito de Internet. Tan sólo extraje como conclusiones que &lt;a href="http://plasma.kde.org/"&gt;KDE reinventaba el escritorio&lt;/a&gt; y que la documentación oficial sobre &lt;a href="http://techbase.kde.org/Projects/Plasma"&gt;Plasma&lt;/a&gt; (que así se llama ahora la aplicación que lo controla) está un &lt;a href="http://docs.kde.org/development/en/kdebase-workspace/plasma/index.html"&gt;poco&lt;/a&gt; &lt;a href="http://techbase.kde.org/Projects/Plasma/"&gt;verde&lt;/a&gt; todavía.&lt;br /&gt;&lt;br /&gt;Lo que parecía claro, es que el directorio &lt;code&gt;/home/&lt;var&gt;mi_usuario&lt;/var&gt;/Escritorio&lt;/code&gt; no era lo que estaba viendo en pantalla y que, ahora, no se creaban lanzadores, sino &lt;em lang="en_US"&gt;applets&lt;/em&gt; (incluso se pueden utilizar los de Mac OS X), &lt;em lang="en_US"&gt;widgets&lt;/em&gt; y &lt;em lang="en_US"&gt;plasmoids&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;¿Dónde estaba el explorador de archivos?&lt;/h4&gt;Eso es lo que me pregunté cuando intenté ver el contenido del disco duro. Ni rastro de &lt;a href="http://www.konqueror.org/"&gt;Konqueror&lt;/a&gt;, ni de su sustituto en esta versión: &lt;a href="http://dolphin.kde.org/"&gt;Dolphin&lt;/a&gt;. Tampoco encontré el programa de terminal de KDE: &lt;a href="http://konsole.kde.org/"&gt;Konsole&lt;/a&gt;. Ni siquiera estaba el editor de textos sencillo, el programa &lt;a href="http://docs.kde.org/stable/en/kdebase-apps/kwrite/index.html"&gt;KWrite&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Una vez más, eché mano de Internet a través de mi flamante nueva versión de Firefox (¡por fin podía disfrutar de la versión 3!). Llegué a una página donde podía buscar programas de Fedora, y me devolvía &lt;a href="https://admin.fedoraproject.org/pkgdb/search/"&gt;información sobre el desarrollo (código fuente) de la herramienta&lt;/a&gt;. De esta forma, pude encontrar la clave de la cuestión: todos los programas que echaba en falta, estaban dentro de un paquete llamado &lt;code&gt;kdebase&lt;/code&gt;. Cuando busqué ese paquete en mi sistema (&lt;kbd&gt;rpm -qa | grep kdebase&lt;/kbd&gt;), comprobé que, efectivamente, no estaba... el de la versión 4. Sí que seguía estando el correspodiente paquete para la versión 3. Entonces, ¿por qué no se había actualizado?&lt;br /&gt;&lt;br /&gt;La herramienta &lt;code&gt;yum&lt;/code&gt;, cuando actualiza paquetes, se fija en el nombre de los mismos. El formato de los nombres de los paquetes es como sigue:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;var&gt;nombre&lt;var&gt;-&lt;var&gt;versión&lt;/var&gt;-&lt;var&gt;release&lt;/var&gt;.&lt;var&gt;arquitectura&lt;/var&gt;.rpm&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Resumiendo, que si el nombre no coincide, &lt;code&gt;yum&lt;/code&gt; no actualiza. Eso es lo que había pasado en mi caso. El paquete, para KDE 3.5, se llamaba &lt;code&gt;kdebase3&lt;/code&gt;, y, para la versión 4, el nombre había cambiado a, simplemente, &lt;code&gt;kdebase&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Instalando manualmente el paquete (&lt;kbd&gt;yum install kdebase&lt;/kbd&gt;), tuve de nuevo todos mis programas.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Inconvenientes con las codificaciones de archivos&lt;/h4&gt;Ni la nueva versión de Konqueror, ni el nuevo Dolphin, entendían algunos de los nombres de mis antiguos archivos: aquellos que estaban en una codificación distinta a &lt;a href="http://es.wikipedia.org/wiki/UTF-8"&gt;UTF-8&lt;/a&gt;. Ni siquiera me dejaban, ninguno de los 2 exploradores de archivos, renombrar los ficheros de la discordia. Solución: hacerlo manualmente desde la línea de comando.&lt;br /&gt;&lt;br /&gt;Esto, en cuanto a nombres se refiere. Pero el contenido de mis archivos de texto (abiertos con KWrite), en &lt;a href="http://es.wikipedia.org/wiki/ISO_8859-1"&gt;codificación ISO-8859-1&lt;/a&gt;, tampoco se salvaba de la quema. Como ya he dicho, ahora todos los programas en Linux, trabajan con UTF-8 por defecto, y cada vez va siendo más complicado cambiar este comportamiento. En KWrite, versión para KDE 3.5, existía un menú de la aplicación, donde se podía cambiar fácilmente el modo de la codificación, pero en la nueva versión, está algo más escondido. Más exáctamente, está en: &lt;strong lang="en_US"&gt;Settings&lt;/strong&gt;, &lt;strong lang="en_US"&gt;Configure editor...&lt;/strong&gt;, &lt;strong lang="en_US"&gt;Open/save&lt;/strong&gt;, &lt;strong lang="en_US"&gt;General&lt;/strong&gt;, opción &lt;strong lang="en_US"&gt;Encoding autodetection&lt;/strong&gt;. Es necesario poner el valor &lt;var lang="en_US"&gt;western european&lt;/var&gt; para ver correctamente el contenido de los archivos generados en &lt;a href="http://es.wikipedia.org/wiki/ISO_8859-1"&gt;ISO Latin 1&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Los nombres de las opciones de la aplicación los pongo en inglés, porque el instalador no me puso el paquete de español para KDE. Tal vez pase algo parecido que en el caso del paquete &lt;code&gt;kdebase&lt;/code&gt;, pero la verdad es que el cambio de idioma no me afecta tanto como el perder programas.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Conclusiones&lt;/h4&gt;Seguro que me dejo de comentar más pequeñas pegas pero, por el momento, tan sólo comentaré una más: el directorio &lt;code&gt;/sbin&lt;/code&gt; ya no está en el &lt;strong&gt;PATH&lt;/strong&gt; del usuario &lt;em&gt;root&lt;/em&gt;. Aunque solucionarlo es sencillo (añadirlo en el archivo &lt;code&gt;.bash_profile&lt;/code&gt; del usuario, por ejemplo), no dejó de resultarme curioso que antes estuviera y ahora no.&lt;br /&gt;&lt;br /&gt;La pregunta que me hago es si los problemillas que me han surgido en la actualización, también hubieran ocurrido en una instalación limpia. Por lo demás, con la nueva versión, el ordenador ha mejorado en rendimiento y la respuesta al usuario de los programas es más ligera que antes. Así que, pese a todo, el cambio ha sido para mejor.&lt;br /&gt;&lt;br /&gt;En todo cambio, mudanza, innovación... hay pérdidas. Unas veces reales y tangibles, otras veces en comodidad. Pero si hay una cosa que he aprendido en este año que termina es que si no te atreves a cambiar, no hay posibilidad de mejorar y de aprender cosas nuevas.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Actualización (2009-01-14):&lt;/strong&gt;&lt;br /&gt;Como me temía, que KDE 4 estuviera en inglés en lugar de en español, era debido al cambio de nombre del paquete de internacionalización. En la versión 3.5 se llama &lt;code&gt;kde-i18n-Spanish&lt;/code&gt; y, en la versión 4.1, pasa a ser &lt;code&gt;kde-l10n-Spanish&lt;/code&gt;. Instalando el nuevo paquete y configurando el idioma en las preferencias del sistema (&lt;em lang="en_US"&gt;Systems Settings&lt;/em&gt;, &lt;em lang="en_US"&gt;Country &amp; Language&lt;/em&gt;), el tema queda solucionado.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-681147475456332488?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/681147475456332488/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=681147475456332488' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/681147475456332488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/681147475456332488'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2009/01/actualizacin-de-fedora-7-la-versin-10.html' title='Actualización de Fedora 7 a la versión 10'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-4090311864821690375</id><published>2008-06-08T11:52:00.002+02:00</published><updated>2008-06-08T12:27:24.035+02:00</updated><title type='text'>Si lo pago, lo uso</title><content type='html'>Soy linuxero de pro. Tengo actualmente una &lt;a href="http://www.debian.org/releases/testing/"&gt;Debian testing&lt;/a&gt; en el sobremesa y una &lt;a href="http://es.wikipedia.org/wiki/Arch_Linux"&gt;Arch linux&lt;/a&gt; en el &lt;a href="http://servicios.ahtec.org/index_menu.htm"&gt;portátil&lt;/a&gt;. Y me encanta. Lo que necesito, lo tiene. Navegar por internet, escuchar música, ver vídeos y dvd's, tareas ofimáticas, amuladores, juegos...&lt;br /&gt;&lt;br /&gt;Pero he comprado un nuevo portátil. Un Sony VAIO VGN-FZ31E. Muy pero que muy bonito. Y claro, viene con un Windows Vista Home Premium. Así que me dije, vamos a ponerle un linux.&lt;br /&gt;&lt;br /&gt;Pero para qué? Libertad, licencias, mejor seguridad... Si, me conozco todos los argumentos. Pero he pagado por un producto. Considero absurdo tirar algo que he pagado. Se actualiza solo, lleva software por un tubo ya instalado, bien propio de Sony o de terceros. Y si necesito de veras algo más, siempre puedo poner &lt;a href="http://www.gimp.org.es/"&gt;GIMP&lt;/a&gt;, &lt;a href="http://es.openoffice.org/"&gt;OpenOffice&lt;/a&gt;, &lt;a href="http://www.pidgin.im/"&gt;Pidgin&lt;/a&gt;, &lt;a href="http://www.difundefirefox.com/"&gt;Firefox&lt;/a&gt;, &lt;a href="http://www.mozilla-europe.org/es/products/thunderbird/"&gt;Thunderbird&lt;/a&gt;. Y ahora con los futuros ports de kde podría incluso poner alguna de las utilidades que más me gustan. Como &lt;a href="http://www.k3b.org/"&gt;k3b&lt;/a&gt;, &lt;a href="http://kopete.kde.org/"&gt;kopete&lt;/a&gt;, &lt;a href="http://basket.kde.org/"&gt;basket&lt;/a&gt;, &lt;a href="http://amarok.kde.org/"&gt;amarok&lt;/a&gt;, &lt;a href="http://kaffeine.kde.org/"&gt;kaffeine&lt;/a&gt; o &lt;a href="http://es.wikipedia.org/wiki/D3lphin"&gt;dolphin&lt;/a&gt;. Aunque en este último caso creo que no hay nada mejor que &lt;a href="http://www.ghisler.com/"&gt;Total Commander&lt;/a&gt;, aunque sea &lt;a href="http://es.wikipedia.org/wiki/Shareware"&gt;shareware&lt;/a&gt; ;)&lt;br /&gt;&lt;br /&gt;Pero en general, para qué? El portátil viene ya con todo lo que necesito para mi trabajo habitual. Así que este portátil se va a quedar con su Windows Vista Home Premium y todas sus utilidades.&lt;br /&gt;&lt;br /&gt;Al menos hasta que me harte de reinicios y de preguntas estúpidas. Preguntas, no llevo muchas la verdad, pero reinicios llevo ya 5 y no hace ni una hora que está en marcha.&lt;br /&gt;&lt;br /&gt;No me lo quiero ni imaginar cuando le ponga la capturadora de DVB-T. Seguro que alcanzaré los 15 reinicios antes de que funcione del todo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-4090311864821690375?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/4090311864821690375/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=4090311864821690375' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/4090311864821690375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/4090311864821690375'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2008/06/si-lo-pago-lo-uso.html' title='Si lo pago, lo uso'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/02978209112090777687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-5848605384652497465</id><published>2007-12-16T15:22:00.001+01:00</published><updated>2007-12-16T15:54:59.993+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Cómo instalar WAPP (II)</title><content type='html'>Los tiempos avanzan que es una barbaridad y ya ha pasado casi año y medio desde que escribí &lt;a href="http://abcweb.blogspot.com/2006/08/cmo-instalar-wapp.html"&gt;la primera parte de este artículo&lt;/a&gt;. En él explicaba cómo instalar 2 versiones de PHP (PHP4 y PHP5), sobre un mismo servidor Apache, en un sistema operativo Microsoft Windows. En esta segunda parte voy a intentar dar un giro de tuerca al asunto, instalando ambas versiones de PHP como módulos del mismo servidor Apache, pero corriendo en procesos (servicios) separados.&lt;br /&gt;&lt;br /&gt;Con este proceso, podremos aprovechar la misma potencia que nos ofrece Apache para un intérprete y para el otro. Además, de esta forma, iremos renovando nuestra infraestructura para el día en que &lt;a href="http://www.gophp5.org/"&gt;la versión 4 de PHP no se soporte más&lt;/a&gt;. Podremos tener nuestro servidor preparado por defecto para PHP5 y, a la vez, seguir manteniendo algún viejo script de PHP4.&lt;br /&gt;&lt;br /&gt;Este método sólo tiene un problema: necesita de más memoria RAM en el servidor porque se estarán lanzando 2 servicios en lugar de uno.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Requisitos previos&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Tener una máquina con Microsoft Windows (recomendado XP, pero también sirve 2003 Server).&lt;/li&gt;&lt;li&gt;Haber leído &lt;a href="http://abcweb.blogspot.com/2006/08/cmo-instalar-wapp.html"&gt;la primera parte de este artículo&lt;/a&gt; para tener instaladas ambas versiones de PHP en el ordenador. Actualmente, recomiendo instalar las últimas versiones disponibles: la &lt;a href="http://www.php.net/downloads.php#v4"&gt;4.4.7&lt;/a&gt; y la &lt;a href="http://www.php.net/downloads.php#v5"&gt;5.2.5&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Desinstalación de Apache&lt;/h3&gt;Este apartado es opcional, pero es recomendable seguirlo si en nuestra máquina ya estamos ejecutando el servidor de Apache y queremos partir de cero para continuar con el resto de instrucciones que se mencionan más adelante.&lt;br /&gt;&lt;br /&gt;La idea es dejar la máquina lo más limpia posible, para que nada de lo que haya anteriormente instalado, cause complicaciones con lo que instalaremos a continuación. Estos son los pasos a seguir:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Parar el servicio de Apache. Para ello hay varias opciones:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Ejecutar desde una consola de comandos la orden:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;c:\&amp;gt; &lt;kbd&gt;net stop nombre_del_servicio_apache&lt;/kbd&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ir a la consola de servicios del sistema (&lt;code&gt;services.msc&lt;/code&gt;) y parar desde allí el servicio.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Utilizar &lt;strong&gt;Apache Monitor&lt;/strong&gt; (el programa que se instala en la bandeja del sistema cuando instalamos Apache).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Parar la ejecución de &lt;strong&gt;Apache Monitor&lt;/strong&gt;, abriéndo la aplicación y pulsando el botón &lt;kbd&gt;Exit&lt;/kbd&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Desinstalar Apache desde &lt;strong&gt;Agregar/Quitar programas&lt;/strong&gt; (en el Panel de Control).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Borrar la carpeta de instalación de Apache desde el explorador de archivos. Antes de hacer esto, podemos hacer una copia de seguridad por si acaso luego quisiéramos restaurar alguna configuración especial.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Un Apache, 2 procesos&lt;/h3&gt;Vamos a instalar la versión 2.0.61 de Apache. La razón de no utilizar una versión 2.2.x es la misma que daba hace ya un tiempo: la librería de PHP4 que se carga como módulo de Apache no funciona con la versión 2.2.&lt;br /&gt;&lt;br /&gt;Si alguien quiere probar con Windows Vista, será mejor que &lt;a href="http://sentidoweb.com/2007/02/05/como-instalar-apache-en-windows-vista.php"&gt;lea estas instrucciones para instalar Apache&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Haremos una instalación normal, hasta que lleguemos al paso en que pregunta si queremos instalar como servicio (utilizando el puerto 80) o sólo para el usuario actual (en el puerto 8080). Elegiremos esta última opción porque, posteriormente, ya nos encargaremos de instalar manualmente los servicios que necesitemos. Para el resto del artículo, consideraré que Apache se ha instalado en el directorio &lt;code&gt;c:\apache\&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Una vez acabado el asistente de instalación, iremos al directorio de configuración de Apache (&lt;code&gt;c:\apache\conf\&lt;/code&gt;) y haremos 2 copias del fichero &lt;code&gt;httpd.conf&lt;/code&gt;: una se llamará &lt;code&gt;php5_httpd.conf&lt;/code&gt; y la otra &lt;code&gt;php4_httpd.conf&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Nuestro servidor &lt;em&gt;"principal"&lt;/em&gt; (el que operará en el puerto 80), cargará como módulo PHP5. El otro servidor, que estará en el puerto 8080 (pero puede elegirse otro puerto), llevará el módulo de PHP4.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Edición del fichero php5_httpd.conf&lt;/h4&gt;Partiendo de la configuración base de Apache, estas son las líneas que deberemos modificar:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;ScoreBoardFile logs/php5_apache_runtime_status&lt;br /&gt;PidFile logs/php5_httpd.pid&lt;br /&gt;Listen 80&lt;br /&gt;ServerName localhost:80&lt;br /&gt;ErrorLog logs/php5_error.log&lt;br /&gt;CustomLog logs/php5_access.log common&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Y estas líneas, las deberemos añadir (se considera que PHP5 está instalado en &lt;code&gt;c:\php5\&lt;/code&gt;, si no es así, habrá que modificar la ruta):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;LoadModule php5_module "c:/php5/php5apache2.dll"&lt;br /&gt;AddType application/x-httpd-php .php&lt;br /&gt;PHPIniDir "C:/php5"&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Edición del fichero php4_httpd.conf&lt;/h4&gt;Líneas a modificar:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;ScoreBoardFile logs/php4_apache_runtime_status&lt;br /&gt;PidFile logs/php4_httpd.pid&lt;br /&gt;Listen 8080&lt;br /&gt;ServerName localhost:8080&lt;br /&gt;ErrorLog logs/php4_error.log&lt;br /&gt;CustomLog logs/php4_access.log common&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Líneas a añadir (se considera que PHP4 está instalado en &lt;code&gt;c:\php4\&lt;/code&gt;, si no es así, habrá que modificar la ruta):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;LoadModule php4_module "c:/php/sapi/php4apache2.dll"&lt;br /&gt;AddType application/x-httpd-php .php&lt;br /&gt;PHPIniDir "C:/php"&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Dos configuraciones, dos servicios&lt;/h4&gt;La idea es, viendo el contenido de ambos ficheros, mantener en archivos distintos la información de cada uno de los procesos que vamos a lanzar. Y como van a ser 2 los servicios ejecutados, tenemos que utilizar puertos de escucha diferentes.&lt;br /&gt;&lt;br /&gt;El siguiente paso a seguir es instalar los 2 servicios. Desde una consola de comandos, iremos al directorio donde está el ejecutable de Apache y escribiremos:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;c:\&gt; &lt;kbd&gt;cd c:\apache\bin&lt;/kbd&gt;&lt;br /&gt;c:\apache\bin&gt; &lt;kbd&gt;apache -k install -n "Apache2PHP5" -f "c:\apache\conf\php5_httpd.conf"&lt;/kbd&gt;&lt;br /&gt;c:\apache\bin&gt; &lt;kdb&gt;apache -k install -n "Apache2PHP4" -f "c:\apache\conf\php4_httpd.conf"&lt;/kbd&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Y para lanzar los servicios:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;c:\apache\bin&gt; &lt;kbd&gt;apache -k start -n "Apache2PHP5"&lt;/kbd&gt;&lt;br /&gt;c:\apache\bin&gt; &lt;kbd&gt;apache -k start -n "Apache2PHP4"&lt;/kbd&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Si todo ha ido bien, ya tenemos todo listo para invocar a ambos servicios por separado. Vamos a hacer una prueba rápida, escribiendo un script llamado &lt;code&gt;prueba_php.php&lt;/code&gt; con este contenido:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;/* fichero prueba_php.php */&lt;br /&gt;phpinfo();&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;El script lo colocaremos en el directorio &lt;a href="http://httpd.apache.org/docs/1.3/mod/core.html#documentroot"&gt;DocumentRoot&lt;/a&gt; de ambos servidores (que debería ser &lt;code&gt;c:\apache\htdocs\&lt;/code&gt; si no hemos modificado la ruta por defecto). Ejecutando &lt;kbd&gt;http://localhost/prueba_php.php&lt;/kbd&gt; y &lt;kbd&gt;http://localhost:8080/prueba_php.php&lt;/kbd&gt; en el navegador, nos debería salir información diferente acerca de cada uno de los módulos de PHP.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Cómo testear la configuración de cada servicio&lt;/h4&gt;Por si necesitáramos añadir más prestaciones a alguno de los 2 servicios, voy a comentar como comprobar si el fichero de configuración tiene o no algún fallo. Desde una consola de comandos, tendríamos que escribir:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;c:\&gt; &lt;kbd&gt;cd c:\apache\bin&lt;/kbd&gt;&lt;br /&gt;c:\apache\bin&gt; &lt;kbd&gt;apache -t -f "c:\apache\conf\fichero_de_configuracion.conf"&lt;/kbd&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Un puerto abierto, 2 servicios en puertos diferentes&lt;/h3&gt;Las siguientes instrucciones son totalmente opcionales pero pueden venir bien, en el caso de que queramos dejar solamente abierto un puerto en nuestro router para acceder a cualquiera de los 2 Apaches montados y tengamos acceso al &lt;acronym title="Domain Name System"&gt;DNS&lt;/acronym&gt; para montar más dominios.&lt;br /&gt;&lt;br /&gt;Como último paso, podemos hacer que desde fuera del servidor, parezca que las todas las peticiones sean para un único servidor. Realmente, lo que ocurre es que las peticiones que no puede gestionar el primero, las redirige al segundo, sin que por ello cambie la &lt;acronym title="Universal Resource Locator"&gt;URL&lt;/acronym&gt; que escribe el usuario. Para ello será necesario que podamos discriminar por nombre de dominio ambos servidores porque sólo disponemos de un puerto de salida para los dos.&lt;br /&gt;&lt;br /&gt;Para el siguiente ejemplo, se considerará que el Apache con PHP5 es accesible a través de &lt;code&gt;www.examplephp5.org&lt;/code&gt; y el otro Apache con PHP4, a través de &lt;code&gt;www.examplephp4.org&lt;/code&gt;. Estas 2 entradas, en el DNS, apuntarán a la misma máquina física (serán 2 alias de esa máquina).&lt;br /&gt;&lt;br /&gt;Podemos hacer las pruebas en la máquina local, añadiendo estas entradas en el fichero &lt;code&gt;c:\windows\system32\drivers\etc\hosts&lt;/code&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;127.0.0.1       www.examplephp5.org&lt;br /&gt;127.0.0.1       www.examplephp4.org&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;¡Ojo!. Esta configuración del archivo &lt;code&gt;hosts&lt;/code&gt; sólo sirve para la máquina local, no para un cliente exterior.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Una vez que ya tenemos nuestro entorno de prueba, veamos qué es lo que tenemos que configurar en el servicio principal (&lt;strong&gt;Apache2PHP5&lt;/strong&gt; que escucha en el puerto 80). En el fichero de configuración &lt;code&gt;php5_httpd.conf&lt;/code&gt; debemos modificar estas líneas (descomentándolas):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;NameVirtualHost *:80&lt;br /&gt;LoadModule proxy_module modules/mod_proxy.so&lt;br /&gt;LoadModule proxy_http_module modules/mod_proxy_http.so&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Y añadiremos estas:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;  ServerName localhost&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;  ServerName www.examplephp4.org&lt;br /&gt;  ProxyPass / http://localhost:8080/&lt;br /&gt;  ProxyPassReverse / http://localhost:8080/&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Tras reiniciar el servicio, podemos hacer la prueba, poniendo las URLs a nuestro fichero de prueba en el navegador web: &lt;kbd&gt;http://www.examplephp5.org/prueba_php.php&lt;/kbd&gt; y &lt;kbd&gt;http://www.examplephp4.org/prueba_php.php&lt;/kbd&gt;. Si todo ha ido bien, la información mostrada debe ser diferente. En el primer caso, el módulo cargado es el de PHP5 y, en el segundo, el de PHP4.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Referencias&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.skiffie.com/code/server/run-2-versions-php-as-modules"&gt;Run 2 Versions of PHP as Apache Modules&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gentoo.org/proj/en/php/php4-php5-configuration.xml"&gt;Configure Apache to work with PHP4 and PHP5&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://schlitt.info/applications/blog/index.php?/archives/83-How-to-run-PHP4-and-PHP-5-prallel.html"&gt;How to run PHP4 and PHP 5 prallel&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://httpd.apache.org/docs/2.0/mod/mod_proxy.html"&gt;Apache Module mod_proxy&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-5848605384652497465?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/5848605384652497465/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=5848605384652497465' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/5848605384652497465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/5848605384652497465'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/12/cmo-instalar-wapp-ii.html' title='Cómo instalar WAPP (II)'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-4533785709526569403</id><published>2007-11-06T19:31:00.001+01:00</published><updated>2009-01-05T16:52:57.214+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='extension'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Firefox &amp; Proxy</title><content type='html'>A veces, cuando trabajas con un portátil lo tienes que enchufar a diferentes redes. Y estas a veces te proporcionan acceso a internet a través de un &lt;a href="http://es.wikipedia.org/wiki/Proxy"&gt;proxy&lt;/a&gt;. Y como cada red seguro que tiene su propio proxy definido, pues hay que hacer el cambio en las preferencias de &lt;a href="http://www.getfirefox.es/"&gt;firefox&lt;/a&gt; a mano.&lt;br /&gt;&lt;br /&gt;Para evitarnos tener que hacer eso hay una extensión de firefox de lo más interesante. Se llama &lt;a href="https://addons.mozilla.org/es-ES/firefox/addon/125"&gt;SwitchProxy&lt;/a&gt; y tiene un montón de características interesantes. Entre otras, la posibilidad de añadirle un listado de servidores proxy anónimos e ir pasando de uno a otro automáticamente cada x tiempo. Con lo que tu navegación será todo lo anónima que este sistema permite (para cosas más &lt;span style="font-style: italic;"&gt;serias&lt;/span&gt;, mírese &lt;a href="http://www.torproject.org/index.html.es"&gt;tor&lt;/a&gt; y téngase siempre en cuenta que &lt;span style="font-weight: bold;"&gt;todo&lt;/span&gt; pasa por la red del proveedor ;-) y que lo único verdaderamente seguro por ahora es el &lt;a href="http://es.wikipedia.org/wiki/GPG"&gt;cifrado&lt;/a&gt; &lt;a href="http://www.openssh.com/es/features.html"&gt;fuerte&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Como colofón a esta entrada, aquí van una serie de direcciones interesantes relacionadas con el tema.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.security-database.com/toolswatch/Turning-Firefox-to-an-Ethical.html"&gt;Turning Firefox to an Ethical Hacking Platform&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.security-database.com/toolswatch/FireCAT-1-Firefox-Catalog-of.html"&gt;FireCAT 1.0 Firefox Catalog of Auditing Tools released&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Otras extensiones interesantes para firefox sobre el tema: &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/4457"&gt;ProxySel&lt;/a&gt; y &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2464"&gt;FoxProxy&lt;/a&gt; (la más famosa) aunque yo me quedo con &lt;a href="https://addons.mozilla.org/es-ES/firefox/addon/125"&gt;SwitchProxy Tool&lt;/a&gt;.&lt;a href="https://addons.mozilla.org/es-ES/firefox/addon/125"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Listas de servidores proxy (no fiarse mucho): &lt;a href="http://www.checkedproxylists.com/"&gt;http://www.checkedproxylists.com/&lt;/a&gt; y &lt;a href="http://gonzo.teoriza.com/almacen/proxy-lista.html"&gt;http://gonzo.teoriza.com/almacen/proxy-lista.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-4533785709526569403?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/4533785709526569403/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=4533785709526569403' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/4533785709526569403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/4533785709526569403'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/11/firefox-proxy.html' title='Firefox &amp; Proxy'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/02978209112090777687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-3775347952719392836</id><published>2007-10-20T20:15:00.002+02:00</published><updated>2007-10-20T21:12:07.590+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Jornadas sobre la web móvil</title><content type='html'>Dentro de los simposios del &lt;a href="http://www.congresocedi.es/2007/"&gt;CEDI 2007&lt;/a&gt;, que se celebró en Zaragoza del 11 al 14 de septiembre, hubo uno dedicado a la web móvil, organizado por la &lt;a href="http://www.w3c.es/"&gt;oficina del W3C de España&lt;/a&gt;, la &lt;a href="http://www.fundacionctic.org/"&gt;fundación CTIC&lt;/a&gt; y el &lt;a href="http://zaragoza.es/"&gt;Ayuntamiento de Zaragoza&lt;/a&gt;. Las conferencias de estas jornadas tuvieron lugar los días 12 y 13. El &lt;a href="http://www.w3c.es/Eventos/2007/MWeb/Programa/"&gt;programa y las ponencias están disponibles en la página del W3C&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;El resumen que se presenta a continuación está basado en el contenido de las ponencias y en apuntes personales que tomé como asistente a las mismas.&lt;br /&gt;&lt;h4&gt;Introducción&lt;/h4&gt;Como ocurre en la web de escritorio (para &lt;acronym title="Personal Computers"&gt;PCs&lt;/acronym&gt;), es muy difícil desarrollar un diseño que sirva para todos los dispositivos y navegadores de los móviles. El hardware es muy diverso y tiene inconvenientes frente al mundo del PC:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Poca capacidad de proceso y memoria.&lt;/li&gt;&lt;li&gt;Limitado tamaño de pantalla (resolución, orientación).&lt;/li&gt;&lt;li&gt;Escasos colores.&lt;/li&gt;&lt;li&gt;Dificultad a la hora de introducir datos.&lt;/li&gt;&lt;li&gt;Poco ancho de banda.&lt;/li&gt;&lt;li&gt;Excesivo precio de las tarifas de conexión.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Los navegadores (como siempre), tampoco ayudan a mejorar el panorama pues cada uno implementa un &lt;a href="http://www.littlespringsdesign.com/resources/articles/xhtmlinfo/"&gt;lenguaje de marcado distinto&lt;/a&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Wireless_Markup_Language"&gt;WML&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.i-mode-emulator.com/en/ihtml/ihtml_reference.php"&gt;iHTML&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/xhtml-basic/"&gt;XHTML-Basic&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/XHTML_Mobile_Profile"&gt;XHTML-MP&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Y sólo algunos tienen características avanzadas como el soporte de CSS y de JavaScript. Por si fuera poco, el abanico de navegadores disponibles es incluso mayor que en el caso de los PCs. Sin embargo, el parque de móviles se renueva mucho más rápidamente que el de ordenadores de escritorio.&lt;br /&gt;&lt;h4&gt;El concepto de movilidad&lt;/h4&gt;&lt;blockquote&gt;&lt;em&gt;Toda la información disponible para cualquier persona, en cualquier lugar y en cualquier instante de tiempo.&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Por primera vez en la historia de la tecnología, se está más cerca de conseguir este sueño, gracias a la utilización de dispositivos móviles. Gracias a su pequeño tamaño, y cada vez más prestaciones, pueden acercarnos a la información que necesitemos en cualquier momento (como la &lt;a href="http://en.wikipedia.org/wiki/Proximity_marketing"&gt;información de proximidad&lt;/a&gt;). Siempre que contemos con la cobertura necesaria y si se empiezan a desarrollar servicios que cubran la gran demanda de información que puede surgir.&lt;br /&gt;&lt;br /&gt;Aún así, Internet a través del móvil nunca será como la Internet que vemos en los ordenadores de sobremesa:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Por las limitaciones de los dispositivos y del medio de acceso.&lt;/li&gt;&lt;li&gt;Por las ventajas que le otorga la movilidad.&lt;/li&gt;&lt;li&gt;Por la diferencia en el tipo de uso y la necesidad del usuario.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;La web móvil requiere que la información sea breve, concisa y que se pueda acceder ágil y rápidamente a ella. Para ello hay que recordar a los generadores de contenidos para los dispositivos móviles que, más que en ningún otro medio de comunicación, la palabra la tienen los usuarios. Si no hay buenos (y útiles) servicios, los usuarios no los consumirán.&lt;br /&gt;&lt;br /&gt;Otro reto que queda, para las empresas que ofrecen la cobertura, es disminuir los costes para que más gente pueda acceder a los servicios creados.&lt;br /&gt;&lt;br /&gt;Esto con respecto a Internet, pero también hay claras ventajas que aporta la &lt;em&gt;movilización&lt;/em&gt; en aplicaciones:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Gestión en tiempo real&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Capacidad de procesar incidentes en tiempo real&lt;/li&gt;&lt;li&gt;Mejor información al cliente&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Mejora de productividad (evitar el envío posterior de datos)&lt;/li&gt;&lt;li&gt;Mejora de calidad (evitar la perdida de datos, detalles)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Desarrollo móvil&lt;/h4&gt;Pero para tener esas ventajas es necesario producir aplicaciones para los dispositivos móviles. En este apartado comentaremos algunas herramientas disponibles para llevar a cabo la difícil tarea del desarrollo.&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Identificación de dispositivos&lt;/h5&gt;En primer lugar es crucial conocer las características técnicas de los dispositivos de los potenciales usuarios. Al conjunto de capacidades del dispositivo (hardware y software) y preferencias de usuario se le denomina &lt;em&gt;perfil de dispositivo&lt;/em&gt;. Hay diversos sistemas que podemos consultar para acceder a estos perfiles:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.w3.org/Mobile/CCPP/"&gt;&lt;acronym title="Composite Capabilities/Preference Profiles"&gt;CC/PP&lt;/acronym&gt;&lt;/a&gt;: Para almacenar la información usa notación &lt;a href="http://www.w3.org/RDF/"&gt;&lt;acronym title="Resource Description Framework"&gt;RDF&lt;/acronym&gt;&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/UAProf"&gt;&lt;acronym title="User Agent Profile"&gt;UAProf&lt;/acronym&gt;&lt;/a&gt;: Promovido por la &lt;a href="http://www.openmobilealliance.org/"&gt;Open Mobile Alliance&lt;/a&gt;. También se basa en RDF. Pero no están todos los que son (los grandes ausentes son dispositivos con Windows Mobile) ni son todos los que están (parte de la información puede no corresponder con datos reales).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://wurfl.sourceforge.net/index.php"&gt;&lt;acronym title="Wireless Universal Resource File"&gt;WURFL&lt;/acronym&gt;&lt;/a&gt;: A diferencia de los otros sistemas, la &lt;em&gt;base de datos&lt;/em&gt; se va completando con datos aportados por usuarios de los dispositivos móviles (es una de las ventajas por ser software libre). Esto tiene el problema de que contiene información no autentificada por los fabricante. Sin embargo, tiene la ventaja de que se puede recoger información sobre todo tipo de dispositivos (incluso de los que no tienen perfil UAProf). Además, este sistema se complementa con &lt;acronym title="Application Program Interfaces"&gt;APIs&lt;/acronym&gt; de consulta para la base de datos (que es un fichero XML) en diversos lenguajes de programación (Java, PHP, Perl, Ruby, Python, dotNet, ...). Por todo esto, es un sistema mucho más usado y fiable que UAProf.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.w3.org/2005/MWI/DDWG/"&gt;&lt;acronym title="Device Description Repository"&gt;DDR&lt;/acronym&gt;&lt;/a&gt;: Con el objetivo de solucionar los problemas de UAProf, el W3C está desarrollando este nuevo sistema. El apoyo por parte de los fabricantes de dispositivos será crucial para que esta iniciativa fructifique.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Por su parte, para el desarrollo de aplicaciones en Java &lt;acronym title="Micro Edition"&gt;ME&lt;/acronym&gt;, están disponibles estas herramientas:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://java.sun.com/products/midp/"&gt;&lt;acronym title="Mobile Information Device Profile"&gt;MIDP&lt;/acronym&gt; 2.0&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://java.sun.com/products/cldc/"&gt;&lt;acronym title="Connected Limited Device Configuration"&gt;CLDC&lt;/acronym&gt; 1.1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Buenas prácticas en el desarrollo de la web móvil&lt;/h5&gt;Reconocer las capacidades que permite el dispositivo de un usuario es sólo el inicio del camino en el desarrollo de contenidos web. Aparte de seleccionar el lenguaje de marcado adecuado a cada situación, es preciso hacer un buen diseño de arquitectura de la información para mostrar tan sólo los datos justos y precisos en cada página mostrada.&lt;br /&gt;&lt;br /&gt;Para no dejarnos solos en esta ardua tarea, el W3C ha escrito un &lt;em&gt;manual&lt;/em&gt; donde se recogen las buenas prácticas que nunca debemos olvidar en el desarrollo de contenidos para la web móvil: &lt;a href="http://w3.org/TR/mobile-bp"&gt;Mobile Web Best Practice 1.0 Basic Guidelines&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Como resumen de la presentación de estas normas, veamos cuáles han puesto en práctica el &lt;a href="http://zaragoza.es/"&gt;Ayuntamiento de Zaragoza&lt;/a&gt; para adaptar su web a los dispositivos móviles:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/mobile-bp/#iddiv3126749392"&gt;Adaptación del lenguaje de marcado&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/mobile-bp/#bpgroupplayout"&gt;Reubicación del contenido&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/mobile-bp/#iddiv3126702920"&gt;Particionado de los documentos&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/mobile-bp/#OBJECTS_OR_SCRIPT"&gt;Eliminación de JavaScript&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/mobile-bp/#iddiv3126724712"&gt;Transformación de tablas&lt;/a&gt; y &lt;a href="http://www.w3.org/TR/mobile-bp/#iddiv3126678344"&gt;mapas de imágenes&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/mobile-bp/#ImageSize"&gt;Imágenes: escalado y reducción de colores&lt;/a&gt;&lt;ul&gt;&lt;li&gt;Archivos de audio: reducción de la frecuencia de muestreo&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Archivos de video: escalado y reducción de la calidad de codificación&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/mobile-bp/#CACHING"&gt;Mecanismos de caché de información&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Herramientas de desarrollo&lt;/h5&gt;Cuando sale un nuevo dispositivo, no siempre podremos acceder a la compra del mismo. Una buena alternativa (aunque no sea fiable al 100%), es usar emuladores. Todos los fabricantes importantes ponen a disposición de los desarrolladores emuladores de sus modelos más significativos.&lt;br /&gt;&lt;br /&gt;Durante el proceso de diseño e implantación de la solución son herramientas esenciales, para las pruebas finales siempre sería recomendable usar los dispositivos reales, porque no siempre las emulaciones se van a corresponder con la realidad.&lt;br /&gt;&lt;br /&gt;La otra gran herramienta que debemos tener siempre a mano es un validador de código para dispositivos móviles. Hay uno disponible en la &lt;a href="http://validadores.tawdis.net/mobileok"&gt;web de TAW&lt;/a&gt;. Además de verificar que el código esté bien escrito, al igual que hacen con los tests de accesibilidad, nos dirá si nuestras páginas son &lt;a href="http://www.w3.org/TR/mobileOK-basic10-tests/"&gt;MobileOK&lt;/a&gt;. Es decir, si cumplimos las &lt;em&gt;buenas prácticas&lt;/em&gt; o no.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;dotMobi&lt;/h4&gt;Con el fin de proporcionar un servicio de calidad a los usuarios móviles, ha nacido la iniciativa &lt;a href="http://mtld.mobi/"&gt;dotMobi&lt;/a&gt;. Estas son algunas de sus características:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;dotMobi es un dominio &lt;em&gt;específico&lt;/em&gt; para el móvil.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Cualquiera puede conseguir un dominio dotMobi, pero se compromete a cumplir esta máxima y respetar las guías de estilo obligatorias. Por ejemplo, en el caso de un site:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Accesible como dominio de segundo nivel (&lt;a href="http://bmw.mobi"&gt;bmw.mobi&lt;/a&gt;) (sin &lt;strong&gt;www.&lt;/strong&gt;).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Desarrollado conforme a &lt;a href="http://www.w3.org/Mobile/"&gt;W3C MWI&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;No frames: Muchos móviles no soportan frames.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Si un servicio dotMobi no cumple las guías de estilo, mTLD (el organismo que desarrolla esta iniciativa) iniciará un proceso de apercibimiento que podría terminar con su desconexión del &lt;acronym title="Domain Name System"&gt;DNS&lt;/acronym&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Es muy intuitivo, fácil de publicitar y de recordar.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Las páginas dotMobi son una garantía de que el contenido estará bien distribuido, no tendrá grandes fotos, no habrá texto que no se pueda ver ni información fuera de contexto o que no pueda mostrar la pantalla del móvil, ...&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://pc.dev.mobi/?q=node/197"&gt;dotMobi Mobile Web Developer Guide&lt;/a&gt; ofrece información extremadamente útil con reglas para los profesionales.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://ready.mobi/"&gt;Ready.mobi&lt;/a&gt; es un analizador de conformidad para las páginas y sites dotMobi que, además de una clasificación, ofrece recomendaciones específicas para mejorar el código empleado.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h4&gt;Opinión personal sobre las conferencias&lt;/h4&gt;El nivel de las ponencias fue grande y me ayudaron a asentar los pocos conocimientos que hasta entonces tenía sobre los fundamentos de la web móvil.&lt;br /&gt;&lt;br /&gt;Como nota negativa, no para el simposio, pero sí para la organización del congreso, decir que la publicidad que se hizo de un evento de estas características fue bastante pobre y escasa (sobre todo en Zaragoza). Personalmente, me enteré del evento a través del &lt;a href="http://www.torresburriel.com/weblog/2007/09/04/accesibilidad-y-las-buenas-practicas-para-la-web-movil/"&gt;blog de Torres Burriel&lt;/a&gt;. Si se hubiera dado la cobertura necesaria, el congreso habría tenido incluso más éxito en participación (sobre todo local) que el que no dudo que obtuvo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-3775347952719392836?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/3775347952719392836/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=3775347952719392836' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/3775347952719392836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/3775347952719392836'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/10/jornadas-sobre-la-web-mvil.html' title='Jornadas sobre la web móvil'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-5411096555057832372</id><published>2007-10-07T14:34:00.001+02:00</published><updated>2009-01-05T16:54:22.522+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='datetime'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>A la hora señalada</title><content type='html'>A veces, cuando la pila del ordenador está muy gastada o simplemente por un problema hardware, el reloj del ordenador se retrasa. Y no deja de ser incómodo el tener la hora que no toca en la esquina inferior derecha de la pantalla.&lt;br /&gt;&lt;br /&gt;En M$ Windows existe desde su versión 2000 la posibilidad de ajustar la hora mediante un servidor de &lt;a href="http://es.wikipedia.org/wiki/Network_Time_Protocol"&gt;ntp&lt;/a&gt;. Aunque muchas veces, no se porqué no funciona del todo bien. Al final, la última vez que lidie con este problema tuve que buscar en el registro la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers y cambiar su contenido por alguno de los servidores que aparecen en alguno de los links que hay al final del todo de esta entrada.&lt;br /&gt;&lt;br /&gt;En linux es como siempre mucho más fácil. Sólo se se necesita el programa ntpdate. Y el resto de la explicación en &lt;a href="http://administradores.educarex.es/wiki/index.php/NTPDATE"&gt;este link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;También está la opción de utilizar un demonio para ello, con lo que se puede tener un único ordenador de la red que tenga la hora bien establecida desde internet y los demás que la actualicen desde este. Con lo que se se reduce la carga de los servidores de ntp de internet.&lt;br /&gt;&lt;br /&gt;Para más información, mirar &lt;a href="http://bulma.net/body.phtml?nIdNoticia=1778"&gt;aquí&lt;/a&gt;,  &lt;a href="http://bulma.net/impresion.phtml?nIdNoticia=1947"&gt;aquí&lt;/a&gt; y &lt;a href="http://linuca.org/body.phtml?nIdNoticia=124"&gt;aquí&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-5411096555057832372?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/5411096555057832372/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=5411096555057832372' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/5411096555057832372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/5411096555057832372'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/10/la-hora-sealada.html' title='A la hora señalada'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/02978209112090777687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-7050307075992975270</id><published>2007-08-27T17:47:00.000+02:00</published><updated>2007-08-27T23:00:44.182+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='accessibility'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Formularios web (II): Agrupación de los campos con HTML</title><content type='html'>En el primer artículo de esta serie, vimos &lt;a href="http://abcweb.blogspot.com/2007/08/formularios-web-i-elementos-bsicos-de.html"&gt;como se codificaba cada uno de los elementos del formulario de contacto en HTML&lt;/a&gt;. Aun siendo totalmente funcional el formulario resultante, no es muy usable porque todos los elementos están apelotonados, sin orden ni sentido. Hay que dotar de estructura y semántica al conjunto y para ello veremos varias opciones de distribución y agrupación.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Distribución libre&lt;/h4&gt;La primera forma de &lt;em&gt;ordenar&lt;/em&gt; los elementos del formulario podría ser esta: &lt;a href="http://openclinic.sourceforge.net/examples/web_forms/form_free_layout_unstyled.html"&gt;form_free_layout_unstyled.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Simplemente ponemos un &lt;em&gt;retorno de carro&lt;/em&gt; después de cada campo y listo. Como primera aproximación, no está mal pero no es la más acertada. De hecho, recuerda mucho a como construyen algunos usuarios de un conocido procesador de textos los saltos de página: a base de retornos de carro hasta pasar de página. Pero ambos casos tienen el mismo problema: simplemente, &lt;strong&gt;no funcionan&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;En el caso del procesador de textos, si aumentamos o disminuimos el tamaño de letra o quitamos o añadimos contenido, tendremos que cambiar el número de retornos de carro que sirven para alcanzar la siguiente página.&lt;br /&gt;&lt;br /&gt;En el caso de nuestro formulario, la etiqueta &lt;code&gt;&amp;lt;br /&amp;gt;&lt;/code&gt; no tiene significado alguno dentro de la enumeración de campos. Sólo tiene como objetivo &lt;em&gt;mejorar&lt;/em&gt; la presentación. Pero la presentación no debería ser objeto de la codificación HTML, para eso ya están las hojas de estilo CSS. Mediante HTML debemos escribir el contenido de las páginas y dotarlo de significado a través de los diferentes elementos. Así pues, esta primera opción queda descartada.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Distribución basada en tabla&lt;/h4&gt;Es la forma más &lt;em&gt;sencilla&lt;/em&gt; de disponer los elementos en la plantilla y la que más &lt;em&gt;prestaciones de presentación&lt;/em&gt; ofrece, pero también es la que menos semántica aporta al contenido y la que más marcado HTML necesita.&lt;br /&gt;&lt;br /&gt;Es sencilla si se domina la codificación de las tablas (que no es nada fácil de aprender) pero, lamentablemente, debido a un &lt;a href="http://www.effectivetranslations.com/stupidtables/"&gt;mal uso de este elemento&lt;/a&gt;, es fácil asumir que esta es una técnica muy conocida porque en multitud de páginas se usan para lo que no fueron hechas: para &lt;a href="http://www.wordreference.com/definicion/maquetar"&gt;maquetar&lt;/a&gt; las páginas en lugar de usarlas para mostrar datos tabulados.&lt;br /&gt;&lt;br /&gt;Ejemplo: &lt;a href="http://openclinic.sourceforge.net/examples/web_forms/form_table_layout_unstyled.html"&gt;form_table_layout_unstyled.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Con este ejemplo se puede observar que:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Cada etiqueta queda alineada con su campo asociado.&lt;/li&gt;&lt;li&gt;Aunque no se aprecie, la tabla se ajusta al contenido. Es decir, no tiene un ancho del 100% de la página.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Estas &lt;em&gt;ventajas&lt;/em&gt; que nos aporta el uso de tablas sólo tienen fines de presentación pero, hemos dicho que de la presentación ya se ocuparían las hojas de estilo, ¿no? De lo que se trata en HTML es de dotar de significado al contenido mediante el marcado. Sin embargo, lo que hemos conseguido es esto:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;El título del formulario se ha convertido en un encabezado de tabla.&lt;/li&gt;&lt;li&gt;Hacer trabajar más a los lectores de pantalla porque hemos aumentado el marcado.&lt;/li&gt;&lt;li&gt;La estructura se ha convertido en algo sin sentido por utilizar las celdas de la tabla como contenedores de los campos (¿qué sentido tiene poner un botón dentro de la celda de una tabla?).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Ante estas &lt;em&gt;terribles&lt;/em&gt; circunstancias, será mejor valorar otras opciones.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Distribución basada en lista&lt;/h4&gt;Para dotar de significado a la codificación del formulario, se podría pensar que los campos constituyen una enumeración (y poder utilizar entonces como contenedor el elemento &lt;code&gt;ul&lt;/code&gt;), que puede incluso determinarse un orden en la importancia de los campos (para usar el elemento &lt;code&gt;ol&lt;/code&gt;). Otra posible idea sería considerar que tenemos que rellenar la &lt;em&gt;definición&lt;/em&gt; que se nos da en la etiqueta (entonces podríamos escribir una lista de definiciones con los elementos &lt;code&gt;dl, dd y dt&lt;/code&gt;).&lt;br /&gt;&lt;br /&gt;Ejemplo: &lt;a href="http://openclinic.sourceforge.net/examples/web_forms/form_list_layout_unstyled.html"&gt;form_list_layout_unstyled.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Con cualquiera de estas formas se dota de estructura al contenido y de &lt;em&gt;cierto significado&lt;/em&gt;, si alguna de las metáforas tuviera fundamento. Todas me parecen algo sacadas de contexto, sobre todo la de la lista de definiciones (aunque no me he podido resistir a ponerla en el ejemplo por ser la más rebuscada). De todas maneras, veamos si hemos ganado algo respecto al anterior punto:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Hemos conseguido la ordenación de los campos.&lt;/li&gt;&lt;li&gt;Hay menos marcado HTML.&lt;/li&gt;&lt;li&gt;Se consigue dotar de semántica al contenido (aunque no sea la más adecuada).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Distribución basada en párrafos&lt;/h4&gt;Antes de explicar la siguiente propuesta, vamos a hacer un pequeño paréntesis para explicar 2 elementos que dotarán de significado al formulario.&lt;br /&gt;&lt;br /&gt;El elemento &lt;code&gt;fieldset&lt;/code&gt; sirve para agrupar lógicamente un grupo de campos dentro de un formulario. Por ejemplo, podríamos agrupar dentro de un &lt;code&gt;fieldset&lt;/code&gt; los datos personales (nombre y apellidos) y dentro de otro, los datos postales (dirección, código postal, etc.), todo ello dentro de un mismo formulario:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;form action="http://www.example.com/store_info.php" method="post"&amp;gt;&lt;br /&gt;  &lt;strong&gt;&amp;lt;fieldset&amp;gt;&lt;br /&gt;    &amp;lt;legend&amp;gt;Datos personales&amp;lt;/legend&amp;gt;&lt;/strong&gt;&lt;br /&gt;    &amp;lt;label for="first_name"&amp;gt;Nombre:&amp;lt;/label&amp;gt; &amp;lt;input type="text" id="first_name" name="first_name" value="" /&amp;gt;&lt;br /&gt;    &amp;lt;label for="surname"&amp;gt;Apellidos:&amp;lt;/label&amp;gt; &amp;lt;input type="text" id="surname" name="surname" value="" /&amp;gt;&lt;br /&gt;    ...&lt;br /&gt;  &lt;strong&gt;&amp;lt;/fieldset&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;  &lt;strong&gt;&amp;lt;fieldset&amp;gt;&lt;br /&gt;    &amp;lt;legend&amp;gt;Datos postales&amp;lt;/legend&amp;gt;&lt;/strong&gt;&lt;br /&gt;    &amp;lt;label for="address"&amp;gt;Dirección:&amp;lt;/label&amp;gt; &amp;lt;input type="text" id="address" name="address" value="" /&amp;gt;&lt;br /&gt;    &amp;lt;label for="city"&amp;gt;Población:&amp;lt;/label&amp;gt; &amp;lt;input type="text" id="city" name="city" value="" /&amp;gt;&lt;br /&gt;    ...&lt;br /&gt;  &lt;strong&gt;&amp;lt;/fieldset&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;  &lt;strong&gt;&amp;lt;fieldset&amp;gt;&lt;/strong&gt;&lt;br /&gt;    &amp;lt;input type="submit" name="send" value="Enviar" /&amp;gt;&lt;br /&gt;  &lt;strong&gt;&amp;lt;/fieldset&amp;gt;&lt;/strong&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Aunque con el ejemplo ya se puede intuir el uso del elemento &lt;code&gt;legend&lt;/code&gt;, vamos a explicarlo un poco más en detalle. Con este elemento se &lt;em&gt;etiqueta&lt;/em&gt; a un grupo de campos, se describe la función lógica de ese conjunto de datos.&lt;br /&gt;&lt;br /&gt;Como hemos visto, sólo con el uso de estos elementos ya se dota de cierta estructura al contenido pero todavía es necesario utilizar elementos de bloque para dar estructura a cada uno de los campos. Para ello, vamos a ver como queda utilizando párrafos: &lt;a href="http://openclinic.sourceforge.net/examples/web_forms/form_paragraph_layout_unstyled.html"&gt;form_paragraph_layout_unstyled.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Hemos cambiado el encabezado &lt;code&gt;h1&lt;/code&gt; por el uso del elemento &lt;code&gt;legend&lt;/code&gt;, con lo que hemos dotado de más semántica al &lt;em&gt;título&lt;/em&gt; del formulario. De rebote, también hemos mejorado la accesibilidad ya que los lectores de pantalla podrán describir mejor los campos del formulario.&lt;/li&gt;&lt;li&gt;Hemos conseguido &lt;em&gt;ordenar&lt;/em&gt; los campos para que sea más fácil rellenarlos.&lt;/li&gt;&lt;li&gt;El marcado HTML no puede ser más simple ni reducido y, a la vez, no puede tener más semántica.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;¿Acaso ya hemos descubierto la forma más correcta de escribir el formulario en HTML? Pues, como casi todo, es relativo y dependerá de nuestras necesidades. Hay un pequeño inconveniente en esta distribución y por eso vamos a ver un ejemplo más.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Distribución basada en divisiones lógicas&lt;/h4&gt;El inconveniente tiene que ver con lo que puede ir dentro de un elemento &lt;code&gt;p&lt;/code&gt;. Existe una limitación que, en algunos casos, puede ser importante: no podemos poner otros &lt;a href="http://www.librosweb.es/xhtml/capitulo2/elementos_en_linea_y_elementos_de_bloque.html"&gt;elementos de bloque&lt;/a&gt; dentro (sólo es posible insertar texto y algunos elementos en línea). Esta es la razón por la que, en lugar de utilizar el elemento &lt;code&gt;p&lt;/code&gt;, utilizaremos el elemento &lt;code&gt;div&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Ejemplo: &lt;a href="http://openclinic.sourceforge.net/examples/web_forms/form_div_layout_unstyled.html"&gt;form_div_layout_unstyled.html&lt;/a&gt; (este será el formulario que utilizaremos en el siguiente artículo de la serie para aplicarle estilos CSS y darle una apariencia más amigable).&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;La legibilidad se mantiene a la hora de rellenar el formulario.&lt;/li&gt;&lt;li&gt;El marcado HTML es casi tan mínimo como antes e igual de sencillo.&lt;/li&gt;&lt;li&gt;Podemos añadir elementos de bloque dentro de cada agrupación lógica de cada campo. Por ejemplo, si se quiere adjuntar una pequeña ayuda en línea para algún campo.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;fieldset&amp;gt;&lt;br /&gt;  &amp;lt;legend&amp;gt;Datos postales&amp;lt;/legend&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;div&gt;&lt;br /&gt;    &amp;lt;label for="address"&amp;gt;Dirección:&amp;lt;/label&amp;gt;&lt;br /&gt;    &amp;lt;input type="text" id="address" name="address" value="" /&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;p&amp;gt;Ejemplo: calle, número, piso, letra&amp;lt;/p&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;  ...&lt;br /&gt;&amp;lt;/fieldset&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Bibliografía recomendada&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sitepoint.com/books/cssdesign1/"&gt;The Art and Science of CSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Web-Accessibility-Standards-Regulatory-Compliance/dp/1590596382"&gt;Web Accessibility&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-7050307075992975270?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/7050307075992975270/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=7050307075992975270' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/7050307075992975270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/7050307075992975270'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/08/formularios-web-ii-agrupacin-de-los.html' title='Formularios web (II): Agrupación de los campos con HTML'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-232841293961094040</id><published>2007-08-19T19:57:00.000+02:00</published><updated>2007-08-27T23:00:28.948+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='accessibility'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Formularios web (I): Elementos básicos de HTML</title><content type='html'>Los formularios en las páginas web sirven para obtener datos de los usuarios. Igual que a nadie gusta rellenar largos e interminables formularios en papel, debemos tener esto, aún más en cuenta, a la hora de diseñar para la web. Para ello, podemos seguir estas sencillas reglas:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Nunca se deben pedir más datos de los estrictamente necesarios. De esta forma evitaremos pesadez al usuario y nos ahorraremos espacio en nuestro sistema de almacenamiento de datos. A este consejo habría que añadir esta recomendación: nunca pedir datos al usuario &lt;strong&gt;hasta&lt;/strong&gt; que no sean necesarios para la acción que está realizando. En una tienda del &lt;em&gt;mundo real&lt;/em&gt;, a nadie nos preguntan el número de la tarjeta de crédito hasta que no vamos a pagar en la caja.&lt;/li&gt;&lt;li&gt;Proporcionar valores por defecto siempre que sea posible (para rellenar menos campos y mejorar la satisfacción del usuario: cuanto menos tenga que teclear, mejor).&lt;/li&gt;&lt;li&gt;En los campos que necesiten información específica, es buena idea proporcionar ayuda &lt;em&gt;en línea&lt;/em&gt; que explique cómo rellenarlo, mostrando ejemplos reales o determinando rangos de entrada.&lt;/li&gt;&lt;li&gt;Si hay errores en el formulario, mostrar claramente dónde se han producido y cómo resolverlos. Para los valores que sí estén correctos, habrá que recordarlos para evitar que el usuario los tenga que volver a rellenar.&lt;/li&gt;&lt;li&gt;Si el número de campos a completar es alto, habrá que mostrar la información en grupos lógicos que tengan relación para que sea más fácil localizarla. Incluso puede ser buena idea descomponer un formulario grande en varias páginas, simulando el funcionamiento de un asistente. Si optamos por esta opción, la navegación entre las distintas páginas debe ser clara para permitir al usuario moverse de una a otra sin perder ningún dato.&lt;/li&gt;&lt;li&gt;No hay nada más frustrante para el usuario que llegar al final de un formulario y equivocarse de botón (por ejemplo, pulsar el botón &lt;strong&gt;Cancelar&lt;/strong&gt; y observar que todo lo que había escrito desaparece como por arte de magia). Hay que separar (o hacer más grande, o poner en una posición predominante, ...) la opción principal (que es enviar los datos) de otras secundarias (como la de restablecer los campos o volver a otra página anterior) para evitar esta situación.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Esta lista podría seguir hasta casi el infinito. El diablo está en los detalles y la diferencia entre un sitio amigable y con un buen número de visitantes puede estar en cómo, cuándo y cuánta información pide a los usuarios. Un buen estudio sobre estos y otros consejos para el diseño de formularios, podemos encontrarlo en &lt;a href="http://www.lukew.com/resources/articles/WebForms_LukeW.pdf"&gt;Best Practices For Form Design&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;El objetivo de esta serie de artículos es presentar un ejemplo sencillo de formulario web y ver los diferentes pasos que hay que hacer para integrarlo en una página web. Más concretamente, los objetivos de cada uno de los artículos son los siguientes:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Elementos básicos de HTML (el presente artículo): breve introducción a algunos de los elementos disponibles en HTML para la construcción de los campos.&lt;/li&gt;&lt;li&gt;&lt;a href="http://abcweb.blogspot.com/2007/08/formularios-web-ii-agrupacin-de-los.html"&gt;Agrupación de los campos con HTML&lt;/a&gt;: hay diferentes formas de distribuir y presentar los campos de un formulario en HTML. Veremos algunas de ellas junto con sus ventajas e inconvenientes.&lt;/li&gt;&lt;li&gt;Diseño con CSS: una vez estructurado el contenido en HTML, llega el momento de mostrar al usuario de la forma más amigable posible el formulario.&lt;/li&gt;&lt;li&gt;Programación del lado del servidor: es buena idea crear una &lt;em&gt;librería&lt;/em&gt; de código (para PHP) para construir formularios HTML puesto que es una tarea repetitiva en cualquier proyecto web.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;El ejemplo que nos va a servir para ir viendo cada una de las partes (HTML, CSS y programación), es la creación de un sencillo formulario de contacto. Contendrá 3 campos: el nombre, el correo electrónico (para que podamos responder al visitante) y un campo de texto libre en el que irá el comentario que nos quieran escribir.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Campo de texto simple&lt;/h4&gt;En primer lugar vamos a ver como se codificaría en HTML el campo para el correo electrónico:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;Correo electrónico: &lt;input type="text" name="email" size="35" value=""&gt;&lt;br /&gt;&lt;br /&gt;Correo electrónico: &amp;lt;input type="text" name="email" size="35" value=""&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;En principio, esta sería la forma más básica (y totalmente funcional) de construir el campo de nuestro formulario:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;El atributo &lt;code&gt;type&lt;/code&gt; indica que es un campo de texto simple (que sólo puede contener una línea de texto).&lt;/li&gt;&lt;li&gt;El atributo &lt;code&gt;name&lt;/code&gt; indica el nombre de la variable que contendrá el valor del formulario.&lt;/li&gt;&lt;li&gt;&lt;code&gt;size&lt;/code&gt; indica el ancho del control en la visualización, en este caso, para que quepan 35 caracteres. Nada tiene que ver con el máximo número de caracteres que pueden introducirse en el control.&lt;/li&gt;&lt;li&gt;Por último, el atributo &lt;code&gt;value&lt;/code&gt; sirve para indicar el contenido por defecto que mostrará el control.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Hemos visto la forma simple, pero vamos a introducir algunas mejoras en el marcado HTML:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&lt;label for="email"&gt;Correo electrónico:&lt;/label&gt; &lt;input type="text" id="email" name="email" size="35" maxlength="35" value="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&amp;lt;label for="email"&amp;gt;Correo electrónico:&amp;lt;/label&amp;gt;&lt;/strong&gt; &amp;lt;input type="text" &lt;strong&gt;id="email"&lt;/strong&gt; name="email" size="35" &lt;strong&gt;maxlength="35"&lt;/strong&gt; value="" &lt;strong&gt;/&lt;/strong&gt;&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;El elemento &lt;code&gt;label&lt;/code&gt; sirve para relacionar un texto (que llamaremos etiqueta) con el campo al que hace referencia. Esto se hace en 2 fases: primero se marca en el atributo &lt;code&gt;id&lt;/code&gt; del elemento &lt;code&gt;input&lt;/code&gt; correspondiente el identificador del campo (que puede tener el mismo valor que el atributo &lt;code&gt;name&lt;/code&gt;) y, después, indicar en el atributo &lt;code&gt;for&lt;/code&gt; de &lt;code&gt;label&lt;/code&gt; el identificador del campo al que se asocia. Con esta medida mejoramos el formulario en estos aspectos:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;En semántica, porque dotamos de estructura lógica al texto que hace de etiqueta del campo.&lt;/li&gt;&lt;li&gt;En usabilidad, porque si se pulsa sobre el texto, el foco se situará sobre el control asociado.&lt;/li&gt;&lt;li&gt;&lt;a href="http://diveintoaccessibility.org/day_28_labeling_form_elements.html"&gt;En accesibilidad, al proporcionar la asociación implícita entre el texto y el campo&lt;/a&gt;. Alguien que ve el formulario en la pantalla &lt;em&gt;asocia&lt;/em&gt; la etiqueta al campo por la cercanía de los elementos pero para quien no lo puede ver, esa pista, por sí sola, no es suficiente.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Hemos indicado, a través del atributo &lt;code&gt;maxlength&lt;/code&gt; la cantidad máxima de caracteres que admitirá el campo. De esta forma, por más que lo intente, el usuario no podrá introducir más caracteres de los permitidos y se evita que luego halla efectos de truncado de la información (si hubiéramos permitido introducir más pero en la base de datos no caben, tendríamos que haber truncado los caracteres sobrantes).&lt;br /&gt;&lt;br /&gt;Como último retoque, hemos cambiado la forma en la que se &lt;em&gt;cierra&lt;/em&gt; el elemento &lt;code&gt;input&lt;/code&gt; (&lt;code&gt;&amp;lt;input ... /&amp;gt;&lt;/code&gt;), añadiendo una barra al final. De esta forma conseguimos compatibilidad con XHTML si queremos usar un formato más riguroso, sin perder la compatibilidad con el HTML normal porque también acepta esta forma de cerrar los elementos vacíos. Por la misma razón, los elementos y atributos siempre deben ir en minúsculas y los valores de los atributos entre comillas.&lt;br /&gt;&lt;br /&gt;Los valores de los atributos &lt;code&gt;id&lt;/code&gt; y &lt;code&gt;name&lt;/code&gt; no tienen por qué coincidir. Sólo hay que recordar que se puede repetir el mismo valor de &lt;code&gt;name&lt;/code&gt; en un formulario pero no así el valor de &lt;code&gt;id&lt;/code&gt;, que debe ser único para cada elemento en una misma página.&lt;br /&gt;&lt;br /&gt;Otra posible forma de codificar el campo del correo electrónico en HTML sería esta:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;label&amp;gt;Correo electrónico: &amp;lt;input type="text" name="email" size="35" maxlength="35" value="" /&amp;gt;&amp;lt;/label&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Escribiendo el elemento &lt;code&gt;input&lt;/code&gt; dentro del &lt;code&gt;label&lt;/code&gt; no hace falta indicar explícitamente la relación entre ambos elementos (atributos &lt;code&gt;id&lt;/code&gt; y &lt;code&gt;for&lt;/code&gt;). Pero, aun siendo totalmente válida esta alternativa, no es recomendable usarla porque puede causar algún problema en ciertos navegadores y lectores de pantalla.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Campo de texto multilínea&lt;/h4&gt;Continuemos viendo como escribir el código del campo &lt;strong&gt;Comentario&lt;/strong&gt;. La idea es que el visitante de nuestra página escriba &lt;em&gt;todo lo que quiera&lt;/em&gt; sin problemas de espacio. Como hemos visto antes, el elemento &lt;code&gt;input&lt;/code&gt; se nos queda un poco pequeño pues sólo permite una línea de texto. Existe otro elemento, llamado &lt;code&gt;textarea&lt;/code&gt;, que se ajusta mucho mejor a nuestras necesidades: el usuario puede escribir en varias líneas y viendo más texto de vez, como si escribiera un correo.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&lt;label for="comment"&gt;Comentario:&lt;/label&gt; &lt;textarea id="comment" name="comment" rows="4" cols="40"&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;label for="comment"&amp;gt;Comentario:&amp;lt;/label&amp;gt; &amp;lt;textarea id="comment" name="comment" rows="4" cols="40"&amp;gt;&amp;lt;/textarea&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Hemos utilizado la asociación entre etiqueta y control a través de los atributos &lt;code&gt;for&lt;/code&gt; e &lt;code&gt;id&lt;/code&gt;, como en el caso anterior.&lt;br /&gt;&lt;br /&gt;Los atributos &lt;code&gt;rows&lt;/code&gt; y &lt;code&gt;cols&lt;/code&gt; sirven para dar dimensiones gráficas al control dentro de la página (4 líneas de alto y 40 caracteres de ancho).&lt;br /&gt;&lt;br /&gt;En este elemento, el valor por defecto que se mostraría al visitante, debemos escribirlo como contenido de la etiqueta &lt;code&gt;textarea&lt;/code&gt;. Por ejemplo, si quisiéramos mostrar un texto de muestra, tendríamos que escribir algo como esto:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&lt;label for="comment2"&gt;Comentario:&lt;/label&gt; &lt;textarea id="comment2" name="comment" rows="4" cols="40"&gt;Texto de ejemplo&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;label for="comment"&amp;gt;Comentario:&amp;lt;/label&amp;gt; &amp;lt;textarea id="comment" name="comment" rows="4" cols="40"&amp;gt;&lt;strong&gt;Texto de ejemplo&lt;/strong&gt;&amp;lt;/textarea&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;En cambio, si lo que queremos es que el campo esté completamente vacío, no debe haber ningún caracter extra (como un espacio o un retorno de carro) entre el cierre de &lt;code&gt;&amp;lt;textarea ... &lt;strong&gt;&amp;gt;&lt;/strong&gt;&lt;/code&gt; y el comienzo de &lt;code&gt;&lt;strong&gt;&amp;lt;&lt;/strong&gt;/textarea&amp;gt;&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Botón de envío&lt;/h4&gt;Ahora necesitamos añadir un botón de envío para que el usuario pueda mandarnos sus datos a un lugar donde podamos almacenar la información.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&lt;input type="submit" name="send" value="Enviar" /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type="submit" name="send" value="Enviar" /&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Utilizando de nuevo el elemento &lt;code&gt;input&lt;/code&gt;, cambiando el valor del atributo &lt;code&gt;type&lt;/code&gt; por &lt;strong&gt;submit&lt;/strong&gt; ya tenemos nuestro botón. Además, este valor indica que cuando se pulse el botón, se producirá el envío de los datos al lugar especificado por el atributo &lt;code&gt;action&lt;/code&gt; del elemento &lt;code&gt;form&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;En este caso, el contenido del atributo &lt;code&gt;value&lt;/code&gt; es lo que se mostrará como texto del botón, por lo que no es necesario añadir una etiqueta con el elemento &lt;code&gt;label&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Elemento form&lt;/h4&gt;Todos los controles de formulario que hemos visto hasta ahora, tenemos que ponerlos dentro de otro elemento, denominado &lt;code&gt;form&lt;/code&gt;, para indicar que todos los campos forman parte de la misma transacción de información y, también, para indicar el destino de esos datos.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&lt;strong&gt;&amp;lt;form action="http://www.example.com/store_info.php" method="post"&amp;gt;&lt;/strong&gt;&lt;br /&gt;  &amp;lt;label for="name"&amp;gt;Nombre:&amp;lt;/label&amp;gt; &amp;lt;input type="text" id="name" name="name" size="35" maxlength="35" value="" /&amp;gt;&lt;br /&gt;  &amp;lt;label for="email"&amp;gt;Correo electrónico:&amp;lt;/label&amp;gt; &amp;lt;input type="text" id="email" name="email" size="35" maxlength="35" value="" /&amp;gt;&lt;br /&gt;  &amp;lt;label for="comment"&amp;gt;Comentario:&amp;lt;/label&amp;gt; &amp;lt;textarea id="comment" name="comment" rows="4" cols="40"&amp;gt;&amp;lt;/textarea&amp;gt;&lt;br /&gt;  &amp;lt;input type="submit" name="send" value="Enviar" /&amp;gt;&lt;br /&gt;&lt;strong&gt;&amp;lt;/form&amp;gt;&lt;/strong&gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;El atributo &lt;code&gt;action&lt;/code&gt; establece el lugar a donde irán a parar los datos del formulario. Generalmente, indicaremos la dirección de un &lt;a href="http://es.wikipedia.org/wiki/Gui%C3%B3n_%28inform%C3%A1tica%29"&gt;script&lt;/a&gt; donde recoger y procesar la información pero también se puede indicar una dirección de correo de destino para que los datos se envíen mediante correo electrónico. Sólo recomiendo esta opción si no se dispone de otra forma de envío de datos porque el funcionamiento depende mucho de los programas con los que cuente el usuario en su máquina para enviar el correo.&lt;br /&gt;&lt;br /&gt;Según el método de codificación de datos indicado en el atributo &lt;code&gt;method&lt;/code&gt;, la información tendrá que ser decodificada de forma diferente en el lado del servidor porque se enviará de distinta forma desde el navegador cliente. Para simplificar esta cuestión, diré que el método &lt;strong&gt;post&lt;/strong&gt; es algo más seguro y permite enviar más datos en la transacción.&lt;br /&gt;&lt;br /&gt;Antes de terminar, quisiera comentar el uso del atributo &lt;code&gt;title&lt;/code&gt; dentro de los campos para simular una sencilla ayuda contextual para rellenar el control.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&lt;label for="email2"&gt;Correo electrónico:&lt;/label&gt; &lt;input type="text" id="email2" name="email" size="35" maxlength="35" value="" title="Se requiere una dirección de correo válida" /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;label for="email"&amp;gt;Correo electrónico:&amp;lt;/label&amp;gt; &amp;lt;input type="text" id="email" name="email" size="35" maxlength="35" value="" &lt;strong&gt;title="Se requiere una dirección de correo válida"&lt;/strong&gt; /&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Aunque su uso no es totalmente eficaz, pues sólo aparece si nos posicionamos sobre el control y no es un buen sistema para textos largos, sin embargo puede servir si el mensaje no es muy largo, además de ser una solución accesible para los programas &lt;a href="http://en.wikipedia.org/wiki/Screen_reader"&gt;lectores de pantalla&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Para una información más detallada sobre otros elementos que se pueden agregar en los formularios (como listas despleglables o casillas de verificación), recomiendo la lectura de los siguientes enlaces:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/html401/interact/forms.html"&gt;Forms in HTML documents&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://webdesign.about.com/od/forms/a/aa071299.htm"&gt;How to Use the Input Tag&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.yourhtmlsource.com/forms/basicforms.html"&gt;Basic Forms&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.webaim.org/techniques/forms/"&gt;Creating Accessible Forms&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Bibliografía recomendada&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.oreilly.com/catalog/html5/"&gt;HTML &amp; XHTML: The Definitive Guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Mastering-Integrated-HTML-CSS/dp/047009754X"&gt;Mastering Integrated HTML And CSS&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-232841293961094040?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/232841293961094040/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=232841293961094040' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/232841293961094040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/232841293961094040'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/08/formularios-web-i-elementos-bsicos-de.html' title='Formularios web (I): Elementos básicos de HTML'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-1822337669875038526</id><published>2007-04-14T19:15:00.000+02:00</published><updated>2007-04-14T20:58:21.451+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='accessibility'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='webdesign'/><title type='text'>Pruebas de una web</title><content type='html'>Hay muchas formas de probar una página (o un sitio) web. Disponemos de validadores automáticos que nos pueden dar una primera valoración del trabajo realizado y que también ayudan durante el proceso de desarrollo, para saber si vamos por el buen camino:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://validator.w3.org/"&gt;Validador HTML&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jigsaw.w3.org/css-validator/"&gt;Validador CSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://validator.w3.org/checklink"&gt;Validador de enlaces&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3.org/WAI/ER/tools/complete.php"&gt;Validadores de accesibilidad&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Pero estos validadores automáticos tienen algunas carencias, que sólo se pueden cubrir con otra serie de pruebas (manualmente en muchos casos). Dependerá de factores como el público al que está orientado nuestro sitio web, el realizar todas o algunas de las siguientes pruebas.&lt;br /&gt;&lt;h4&gt;Navegadores&lt;/h4&gt;Las páginas web pueden verse en diferentes en muy distintos navegadores y en muchas posibles configuraciones. Como mínimo, será necesario probar en este subconjunto de navegadores:&lt;br /&gt;&lt;h5&gt;&lt;a href="http://www.firefox.com/"&gt;Firefox&lt;/a&gt;&lt;/h5&gt;Este primer lugar en la lista no es por casualidad. Es un navegador en constante desarrollo, con un buen nivel de seguimiento de los estándares y que cuenta con una serie de &lt;a href="http://abcweb.blogspot.com/2005/10/extensiones-para-desarrolladores-web.html"&gt;herramientas (extensiones) que facilitan la realización de una página web&lt;/a&gt;.&lt;br /&gt;&lt;h5&gt;&lt;acronym title="Microsoft Internet Explorer"&gt;MSIE&lt;/acronym&gt;&lt;/h5&gt;Es el más usado y con el que más cuidado habrá que tener, ya que sus diferentes versiones (5.5, 6.0, 7.0 entre otras) son muy diferentes entre sí. Dependerá de nuestro público objetivo el soportar más o menos versiones de este navegador. Seguramente, deberemos saltarnos algún estándar (CSS sobre todo) para adecuar nuestro trabajo a las particularidades de este cliente web. Esta es una de las razones por las que un validador automático no siempre es una buena medida de la situación.&lt;br /&gt;&lt;h5&gt;&lt;a href="http://www.opera.com/"&gt;Opera&lt;/a&gt;&lt;/h5&gt;Tiene menos seguidores que Firefox, pero tiene una mejor implantación de los estándares. Además, su versión para dispositivos móviles puede extenderse casi tanto como &lt;acronym title="Microsoft Internet Explorer"&gt;MSIE&lt;/acronym&gt; en los próximos años.&lt;br /&gt;&lt;h5&gt;&lt;a href="http://www.apple.com/macosx/features/safari/"&gt;Safari&lt;/a&gt;&lt;/h5&gt;Es un navegador específico para Mac OS X. Esta en esta lista por 2 razones: porque cubre una parte importante de los usuarios de esta plataforma y (una razón más técnica) porque utiliza internamente otro motor de renderizado de páginas distinto de los anteriores, que también deberemos tener en cuenta (diferente motor =&amp;gt; distintas reglas que pueden tener &lt;a href="http://es.wikipedia.org/wiki/Error_de_software"&gt;bugs&lt;/a&gt; y que tendremos que solventar).&lt;br /&gt;&lt;h5&gt;&lt;a href="http://lynx.browser.org/"&gt;Lynx&lt;/a&gt;&lt;/h5&gt;Es la nota exótica de esta lista. Pero no por ser exótica, está de más saltársela. Aunque su uso está relegado a unos cuantos &lt;a href="http://es.wikipedia.org/wiki/Geek"&gt;geeks&lt;/a&gt; de sistemas Unix y Linux, tiene poderosas razones (prácticas) para estar aquí: nos da una buena aproximación a cómo se ve nuestra página en ausencia de CSS, imágenes, JavaScript y nos permite probar la navegación sin ratón entre los contenidos del sitio web.&lt;br /&gt;&lt;br /&gt;Todas estas pruebas se pueden simular por separado con otras herramientas, pero con este navegador de sólo texto podemos llevar a cabo estas pruebas de una sóla tacada. Si no podemos acceder a una versión de este programa (y eso que la hay hasta para Windows), siempre podemos tener &lt;a href="http://www.delorie.com/web/lynxview.html"&gt;acceso a una simulación online&lt;/a&gt;.&lt;br /&gt;&lt;h4&gt;Configuraciones de navegadores&lt;/h4&gt;Según la plataforma que utilice el usuario, el abanico de posibilidades de configuración de un mismo navegador puede ser extenso. Ante todo, para valorar el resultado de las siguientes pruebas, hay que ver si nuestra página &lt;em&gt;se degrada elegantemente&lt;/em&gt; (&lt;a href="http://en.wikipedia.org/wiki/Fault-tolerance" lang="en"&gt;graceful degradation&lt;/a&gt;). Es decir, como reacciona la página ante la pérdida de funcionalidad.&lt;br /&gt;&lt;h5&gt;Sin imágenes&lt;/h5&gt;Si el cliente no dispone de una conexión rápida, puede que tenga desactivada la descarga de imágenes. Si es así, el contenido de nuestra página deber seguir siendo legible. Es una buena prueba para ver cómo se adaptan los textos alternativos de los elementos gráficos dentro del resto del contenido escrito.&lt;br /&gt;&lt;h5&gt;Sin JavaScript&lt;/h5&gt;No es una situación tan extraña si recordamos que muchas personas, en su trabajo, por cuestiones de seguridad (que no pueden cambiar), tienen deshabilitado el soporte de JavaScript en sus navegadores. Así pues, ante esta circunstancia, la página debe seguir operativa, prescindiendo de la funcionalidad añadida que le daba JavaScript). &lt;br /&gt;&lt;br /&gt;Esto, aunque ideal, no siempre puede cumplirse (sobre todo, en aplicaciones web). Por ello, al menos, se deberá mostrar un mensaje aclarando por qué la página no puede funcionar.&lt;br /&gt;&lt;h5&gt;Sin cookies&lt;/h5&gt;Por las mismas razones que el apartado anterior, el soporte de cookies, por motivos de seguridad, no siempre está garantizado. Cómo reaccionar ante esto, dependerá del contexto de nuestro sitio web.&lt;br /&gt;&lt;h5&gt;Sin plugin de Flash&lt;/h5&gt;Si gran parte de nuestro contenido se basa en el uso de Flash, puede que estemos en un grave problema si nuestros usuarios, o bien no tienen el plugin, o bien no tienen la versión adecuada. Habrá que verificar como de legible es nuestro contenido ante la ausencia de Flash.&lt;br /&gt;&lt;h5&gt;Sin CSS&lt;/h5&gt;Aunque hoy en día esta circunstancia ya no es muy frecuente (hay muy pocas personas que todavía utilicen navegadores antiguos sin soporte para CSS), sí que es útil probar a leer y a navegar por el contenido sin &lt;em&gt;estilo&lt;/em&gt;. De esta forma veremos si hemos utilizado correctamente los elementos &lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt; a la hora de construir la página (los encabezados, las listas, si no hemos &lt;a href="http://www.effectivetranslations.com/stupidtables/"&gt;utilizado tablas para maquetar&lt;/a&gt;, etc.).&lt;br /&gt;&lt;h4&gt;Configuraciones de pantalla&lt;/h4&gt;Si diversos son los navegadores que nos pueden visitar, también son diferentes las propiedades de los monitores que usarán los visitantes.&lt;br /&gt;&lt;h5&gt;Resolución&lt;/h5&gt;¿Qué resoluciones deberemos soportar: 800x600, 1024x768, 1280x1024, 1600x1200, ...? Y la lista sigue y sigue. Pero la respuesta es simple y a la vez complicada de resolver: todas ellas. O bien nuestra &lt;a href="http://en.wikipedia.org/wiki/Page_layout"&gt;plantilla&lt;/a&gt; es lo suficientemente fluída como para adaptarse a las distintas resoluciones o bien cambiamos la &lt;a href="http://www.alistapart.com/articles/switchymclayout"&gt;plantilla dependiendo de la resolución&lt;/a&gt; (esto se puede hacer mediante JavaScript).&lt;br /&gt;&lt;br /&gt;Sinceramente, creo que lo mejor y más pragmático es lo primero: hacer un diseño fluído que se adapte lo mejor posible a todas las resoluciones posibles. Con las demasiado pequeñas o las demasiado grandes tal vez el resultado no sea el más adecuado, pero para el resto de rangos, será óptimo (pero si no lo probamos, no lo sabremos).&lt;br /&gt;&lt;h5&gt;Colores&lt;/h5&gt;Si difícil es hacer un diseño (en cuanto a disposición de los elementos), más difícil es aún conseguir una buena paleta de colores para ese diseño. Una buena paleta que consiga un buen contraste entre fondo y texto y que diferencie de un vistazo distintos elementos.&lt;br /&gt;&lt;br /&gt;Una buena prueba para probar un contraste adecuado, es poner en escala de grises la página. Esto podemos conseguirlo cambiando nuestra configuración de escritorio o utilizando esta &lt;a href="http://colorfilter.wickline.org/"&gt;herramienta online para simular defectos de visión&lt;/a&gt;. Nos dará una buena medida de la accesibilidad de nuestra página (pensando en usuarios con problemas en la visión y para evitar que nuestros visitantes tengan estos problemas de visión).&lt;br /&gt;&lt;br /&gt;También podemos hacer pruebas de otros problemas de visión (como el daltonismo), a través del &lt;a href="http://www.vischeck.com/"&gt;servicio online de Vischeck&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Probar la página a 256 colores, hoy en día, no creo que sea necesario. Al igual que el número de usuarios con navegadores del siglo pasado, el número con configuraciones tan restrictivas, es muy pequeño. A no ser que sepamos, a ciencia cierta, que alguno de nuestros potenciales clientes pertenece a este reducido grupo, podemos prescindir de esta prueba.&lt;br /&gt;&lt;h4&gt;Formato de impresión&lt;/h4&gt;¿Qué tal se imprimen nuestros contenidos? Aunque es más ecológico (y algunas veces más cómodo) guardar en formato electrónico una página web, en ocasiones, es interesante imprimir algunas páginas, o exportar a &lt;a href="http://es.wikipedia.org/wiki/Portable_Document_Format"&gt;PDF&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Hay unas cuantas recomendaciones que conviene seguir para conseguir un &lt;a href="http://www.alistapart.com/articles/goingtoprint/"&gt;buen formato de impresión&lt;/a&gt;, pero todas tienen un denominador común: la simplicidad. Se deberá prescindir de todos los elementos del diseño que no aporten nada al contenido principal de la página.&lt;br /&gt;&lt;h4&gt;Sistemas operativos&lt;/h4&gt;Para cuidar el diseño de la página, habrá que elegir un conjunto de fuentes de letras adecuadas a los distintos sistemas operativos, porque no todas están en todos ellos. Habrá que probar estas elecciones en cada uno de los sistemas que hayamos optado por hacer nuestro desarrollo. Una forma de ahorrar en máquinas físicas (hardware), es hacer uso de máquinas virtuales.&lt;br /&gt;&lt;br /&gt;Cada sistema operativo tiene sus propias herramientas de virtualización:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Microsoft Windows: &lt;a href="http://www.microsoft.com/windows/virtualpc/default.mspx"&gt;Virtual PC&lt;/a&gt;, &lt;a href="http://www.vmware.com/"&gt;VMWare&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.usinglinux.org/emulators/"&gt;Linux&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Mac OS X: &lt;a href="http://www.iemulator.com/"&gt;iEmulator&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Otro aspecto a tener en cuenta en las diferentes plataformas, serán los plugins que tengan unas y otras. No todas soportan el uso de ActiveX (por ejemplo), o no todas poseen las mismas versiones de los plugins (como el de Flash).&lt;br /&gt;&lt;h4&gt;Redes lentas&lt;/h4&gt;Puede que hayamos hecho un sitio demasiado recargado o que utilice demasiados ficheros. Una forma de probar si nuestro sitio es rápido (en cuanto a velocidad de descarga), es probándolo en una red lenta. Esto se puede conseguir utilizando un módem o un programa limitador de la red, como &lt;a href="http://www.netlimiter.com/"&gt;NetLimiter&lt;/a&gt;.&lt;br /&gt;&lt;h4&gt;Dispositivos móviles&lt;/h4&gt;¿Está nuestra página preparada para ser vista desde un móvil? ¿Tiene que estarlo? La respuesta a estas preguntas, es un rotundo &lt;strong&gt;sí&lt;/strong&gt;. Las ciencias adelantan que es una barbaridad y seguramente, dentro de poco tiempo (si no es ya mismo), la gran mayoría de nuestros visitantes lo harán a través de alguna clase de dispositivo móvil.&lt;br /&gt;&lt;br /&gt;Debemos preparar nuestro sitio web para esta circunstancia y deberemos probarlo. La opción más económica es hacerlo a través de emuladores de dispositivos móviles. Cada fabricante suele tener disponibles en su web unos cuantos de los modelos que va sacando al mercado.&lt;br /&gt;&lt;h4&gt;Lectores de pantalla&lt;/h4&gt;Otra forma de probar la accesibilidad de una página web, es leerla tal y como la leería un lector de pantalla para un usuario invidente.&lt;br /&gt;&lt;br /&gt;Como estos dispositivos suelen ser bastante caros (como &lt;a href="http://www.freedomscientific.com/fs_products/software_jaws.asp"&gt;Jaws&lt;/a&gt;), la mejor forma de hacer nuestras pruebas será, una vez, a través de emuladores.&lt;br /&gt;&lt;br /&gt;Uno de ellos se llama &lt;a href="http://www.standards-schmandards.com/index.php?show/fangs"&gt;Fangs&lt;/a&gt; y es una extensión para Firefox.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-1822337669875038526?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/1822337669875038526/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=1822337669875038526' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/1822337669875038526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/1822337669875038526'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/04/pruebas-de-una-web.html' title='Pruebas de una web'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-194816072835473869</id><published>2007-03-14T12:31:00.000+01:00</published><updated>2007-03-14T13:30:55.063+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='portable'/><title type='text'>Dos programas</title><content type='html'>A veces uno descubre programas que se le acaban convirtiendo en casi imprescindibles. Sobre todo cuando se necesitan compartir datos entre Linux y Windows o entre el trabajo y casa.&lt;br /&gt;&lt;br /&gt;Programas como &lt;a href="http://portableapps.com/apps/office/openoffice_portable"&gt;OpenOffice portable&lt;/a&gt;, &lt;a href="http://portableapps.com/apps/internet/firefox_portable"&gt;Firefox portable&lt;/a&gt; o &lt;a href="http://portableapps.com/apps/internet/putty_portable"&gt;Putty portable&lt;/a&gt;. Todos ellos descargables desde &lt;a href="http://www.portableapps.com/"&gt;PortableApps&lt;/a&gt; y que pueden correr desde un lapiz usb sin dejar rastro en el ordenador en el que estás. Y que, como he dicho antes, puedes usar igualmente en Linux y en Windows (Putty tal cual no, pero para eso está ssh).&lt;br /&gt;&lt;br /&gt;Aún así, he encontrado dos programas que no están en esa página y que utilizo sin parar desde que los encontré:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;KeePass:&lt;/span&gt; Gestor de contraseñas. Después de probar varios de ellos tanto libres como 'pirateados', me quedo con este de lejos. Versión para &lt;a href="http://keepass.sourceforge.net/"&gt;windows&lt;/a&gt; y &lt;a href="http://keepassx.sourceforge.net/"&gt;linux&lt;/a&gt;, tiene un campo de comentarios grande para cada entrada, generador de claves mediante aleatoriedad (del tamaño y complejidad que se quiera) y se pueden adjuntar archivos en las entradas. Lo uso principalmente para las claves del trabajo, pero también para las de casa.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;TreeLine:&lt;/span&gt; Gestor de notas, outliner, no sé cómo llamarlo. Pero desde luego, de nuevo, otro que me ha enganchado. Sirve para casi todo. Es como una base de datos donde los datos pueden ser estructurados y buscados de la forma que mejor te convenga (viva el XML!!!). Hecho de menos el uso de etiquetas en vez de la forma de arbol, pero como es tan configurable, se las puedes poner igualmente en el registro/s que te crees. Adiós a las notas que pierdes o que no puedes encontrar, los papelitos por encima de la mesa, las 200 ideas diferentes apuntadas una entre otra en una hoja de cuaderno. Los cuadernos de notas no son en absoluto algo obsoleto, pero desde luego son menos versátiles que este tipo de aplicaciones. Imprescindible (creo yo) para programadores, administradores y demás geeks informáticos. Programado en python, con versión para &lt;a href="http://www.bellz.org/treeline/"&gt;Linux&lt;/a&gt; y &lt;a href="http://www.bellz.org/treeline/"&gt;Windows&lt;/a&gt; y permite cifrar el fichero de notas (algo creo que imprescindible para un programa portable de los de llevar en un pendrive).&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Desde luego que existen programas on-line que permiten lo mismo. O incluso quizá más versátiles (como &lt;a href="http://www.google.com/notebook"&gt;google notebook&lt;/a&gt; y su sistema de  etiquetas o &lt;a href="https://www.passpack.com/info/home/"&gt;PassPack&lt;/a&gt; como gestor de claves on-line). Pero a mi no me gusta mucho dejar estas cosas en los servidores de otros. Mejor en mi disco local ;) por si acaso.&lt;br /&gt;&lt;br /&gt;Por cierto, para ver cómo hacer TreeLine portable, buscarlo en &lt;a href="http://www.portablefreeware.com/"&gt;esta página&lt;/a&gt;. Hay muchas instrucciones de cómo hacer aplicaciones de primeras no portables, portables.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-194816072835473869?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/194816072835473869/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=194816072835473869' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/194816072835473869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/194816072835473869'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/03/dos-programas.html' title='Dos programas'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/02978209112090777687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-3528826995919331401</id><published>2007-02-14T15:30:00.001+01:00</published><updated>2007-02-14T15:30:35.772+01:00</updated><title type='text'>Seguridad informática</title><content type='html'>&lt;blockquote&gt;"La defensa necesita cubrir todas las vulnerabilidades. El atacante sólo necesita explotar una."&lt;/blockquote&gt;&lt;br /&gt;Mr_Marshall.&lt;br /&gt;&lt;br /&gt;Leido en los comentarios de &lt;a href="http://www.kriptopolis.org/"&gt;Kriptópolis&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-3528826995919331401?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/3528826995919331401/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=3528826995919331401' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/3528826995919331401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/3528826995919331401'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/02/seguridad-informtica.html' title='Seguridad informática'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/02978209112090777687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-7687794791489067722</id><published>2007-01-28T18:58:00.000+01:00</published><updated>2007-01-28T21:03:03.884+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cadius'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='webdesign'/><title type='text'>Usabilidad y cartografía medieval</title><content type='html'>El pasado día 18 de enero, asistí al laboratorio sobre cartografía medieval que impartió &lt;a href="http://pasapues.blogia.com/2007/011901-laboratorio-cadius-en-zaragoza-sobre-cartografia-medieval.-i.php"&gt;Javier Mendívil&lt;/a&gt; en &lt;a href="http://cadius-zaragoza.blogia.com/2007/012301-cronica-del-i-laboratorio-de-cadius-zaragoza.php"&gt;Cadius Zaragoza&lt;/a&gt;. Mi visión particular de aquel acto, va a consistir en ver algunos problemas de usabilidad comunes entre mapas y páginas web, y mencionar directrices de cómo solucionarlos. Eso sí, quisiera agradecer a Javier, tanto los magníficos contenidos impartidos en el laboratorio, como los complementarios que iban como regalo para los asistentes.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Contenido denso&lt;/h4&gt;La apariencia de una página llena de texto y de imágenes sugiere que será difícil obtener la información que se está buscando. No es posible rastrear bien el contenido.&lt;br /&gt;&lt;br /&gt;En un sitio web, esto es aún más problemático que en un mapa, puesto que el usuario simplemente decidirá que no merece la pena invertir esfuerzo en la búsqueda, y se irá a otra página.&lt;br /&gt;&lt;br /&gt;Habrá que redactar contenidos más cortos, que vayan al grano, que hablen el mismo idioma que la clientela a la que está dirigido el contenido, y saber jugar con el &lt;a href="http://www.sheriftariq.org/design/whitespace/"&gt;espacio en blanco&lt;/a&gt; en el diseño para que los usuarios puedan centrar su atención en el rastreo de la información.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Diseño relleno&lt;/h4&gt;Muchas páginas web comenten el error de abrumar a los usuarios con elementos móviles, luces parpadeantes y enlaces mal estructurados.&lt;br /&gt;&lt;br /&gt;No hay necesidad de poner más gráficos que los necesarios y a un tamaño manejable. No hace falta perder el tiempo y el espacio en decorar, sino en comunicar. Los sitios web deberían ir directos al negocio, que es lo que buscan los clientes.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Artilugios de interfaz gráfica de usuario de diseño propio&lt;/h4&gt;Algunos diseñadores de interfaz, &lt;em&gt;prefieren&lt;/em&gt; no seguir las convenciones existentes para ciertos elementos de diseño, como campos de introducción de datos (cajas de texto, botones de radio, casillas de verificación) o las barras de desplazamiento. En muchas ocasiones por ser sitios construidos en &lt;a href="http://en.wikipedia.org/wiki/Adobe_Flash"&gt;Flash&lt;/a&gt; o por intentar diferenciar el diseño del sitio web.&lt;br /&gt;&lt;br /&gt;Si algo no parece lo que es, seguramente no se percibirá como tal y no se usará correctamente. Esto se traduce en que si se están pidiendo datos al usuario, tal vez este no logre enviarlos, o que si se está cambiando la forma de una barra de desplazamiento, al no reconocerse como tal, no se utilice y se pierda contenido importante.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;No mostrar quién está detrás de la información&lt;/h4&gt;Al igual que para dar credibilidad de una obra vale con una firma, para dar credibilidad y confianza a los usuarios de un sitio web, es conveniente añadir información sobre la compañía (o las personas) que están detrás.&lt;br /&gt;&lt;br /&gt;Es muy común facilitar esta información en páginas tituladas &lt;em&gt;Acerca de nosotros&lt;/em&gt; o &lt;em&gt;Quiénes somos&lt;/em&gt;. En ellas debe figurar claramente como contactar y encontrar la compañía, la filosofía de la organización y, como información auxiliar, no estaría mal añadir algunos hechos relevantes en la historia de la empresa.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Legibilidad&lt;/h4&gt;La tipografía ofrece una idea sobre el sitio web y transmite información acerca de lo que el usuario puede hacer en él. Las distintas fuentes de letra pueden significar capricho o seriedad y el tamaño y el color pueden destacar el contenido.&lt;br /&gt;&lt;br /&gt;Pero si el tamaño no es legible, ya sea por el tamaño o por la grafía, se convierte en incómodo y molesto, y el usuario desistirá de leer el contenido aunque le pueda resultar de interés.&lt;br /&gt;&lt;br /&gt;Para contenidos en pantalla, es mejor utilizar letras &lt;a href="http://es.wikipedia.org/wiki/Serifa"&gt;sin serifa&lt;/a&gt;. Para titulares, puede utilizarse tanto letras con serifa como sin ella porque el tamaño será mayor y habrá menos problemas con la resolución. En tamaños pequeños, las letras con serifa se vuelven borrosas por el &lt;a href="http://en.wikipedia.org/wiki/Font_rasterization"&gt;suavizado de los bordes dentados&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Si, por cuestiones de diseño, se ha elegido un tamaño menor al recomendable (12 puntos), siempre hay que dar la posibilidad de que el usuario pueda aumentar el tamaño, ya sea mediante alguna herramienta del navegador o &lt;a href="http://alexking.org/blog/2006/12/23/font-size-switcher"&gt;proporcionando enlaces (o botones) en la página para agrandar el texto&lt;/a&gt;. Para que desde el navegador siempre se pueda cambiar el tamaño del texto, es mejor usar &lt;a href="http://www.maxdesign.com.au/presentation/relative/"&gt;tamaños relativos&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Contraste entre texto y fondo&lt;/h4&gt;Leer en pantalla es mucho más costoso que leer en papel porque existe menos resolución para &lt;em&gt;pintar&lt;/em&gt; las letras. En un libro podemos tener unos 3000 puntos por pulgada (&lt;acronym title="dots per inch"&gt;dpi&lt;/acronym&gt;), mientras que en un monitor podemos haber 100 dpi como mucho (lo normal suele ser 72 dpi).&lt;br /&gt;&lt;br /&gt;Los contrastes altos entre texto y fondo pueden hacer la lectura más fácil. Aunque lo mejor sigue siendo texto negro sobre fondo blanco, la norma a seguir es evitar el uso de colores similares, ya que el bajo contraste cansa la vista causa molestias. Tampoco es recomendable utilizar combinaciones de colores brillantes porque causan un efecto vibrante en los textos (como usar texto rojo sobre fondo azul).&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Palabras clave resaltadas&lt;/h4&gt;Resaltar las palabras importantes de un texto atraen la atención del lector hacia áreas específicas. Sin embargo, resaltar frases completas o demasiado largas, ralentiza la lectura, porque enfatizar demasiados elementos, causa el efecto contrario: nada destaca, todo parece igual de importante.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;El extracto del listado de problemas de usabilidad ha sido obtenido del libro &lt;cite&gt;&lt;a href="http://www.useit.com/prioritizing/"&gt;Prioritizing Web Usability&lt;/a&gt;&lt;/cite&gt;, escrito por &lt;cite&gt;&lt;a href="http://www.useit.com/jakob/"&gt;Jakob Nielsen&lt;/a&gt;&lt;/cite&gt; y &lt;cite&gt;&lt;a href="http://www.nngroup.com/about/people/hloranger.html"&gt;Hoa Loranger&lt;/a&gt;&lt;/cite&gt;, disponible en español en la colección de &lt;cite&gt;&lt;a href="http://www.anayamultimedia.es/"&gt;Anaya Multimedia&lt;/a&gt;&lt;/cite&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-7687794791489067722?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/7687794791489067722/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=7687794791489067722' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/7687794791489067722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/7687794791489067722'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/01/usabilidad-y-cartografa-medieval.html' title='Usabilidad y cartografía medieval'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-7855763426015908170</id><published>2007-01-03T16:37:00.000+01:00</published><updated>2007-01-12T21:25:26.649+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Los elementos perdidos de HTML</title><content type='html'>Soy una de esas personas que, cuando miran una nueva página web, no se fijan tanto en lo que se ve a simple vista como en el esqueleto que le da forma: el código fuente. Ahí es donde se puede apreciar la verdadera estructura del contenido y la semántica que se ha utilizado (la que se encontrarán los motores que indexen esa página web).&lt;br /&gt;&lt;br /&gt;Bien es verdad que &lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt; tiene algunas carencias para marcar el contenido, que se están intentando solucionar con la redacción de &lt;a href="http://www.w3.org/TR/xhtml2/"&gt;XHTML 2.0&lt;/a&gt; o &lt;a href="http://whatwg.org/specs/"&gt;HTML 5.0&lt;/a&gt; (que todavía está más en pañales que XHTML 2.0). Pero también es cierto que, algunos elementos que sí posee, no son utilizados (en los casos en los que se deberían utilizar). Tal vez sea por desconocimiento o por usar algunos editores &lt;acronym title="What You See Is What You Get"&gt;WYSIWYG&lt;/acronym&gt; (bien sean de escritorio como &lt;a href="http://www.adobe.com/products/dreamweaver/"&gt;DreamWeaver&lt;/a&gt; o bien estén hechos en JavaScript como &lt;a href="http://tinymce.moxiecode.com/"&gt;TinyMCE&lt;/a&gt;), pero no debemos olvidar que para darle un correcto significado al contenido, hay que marcarlo de la forma adecuada.&lt;br /&gt;&lt;br /&gt;No debemos caer en la tentación de &lt;em&gt;marcar&lt;/em&gt; en función de la presentación que luego los navegadores dan a esos elementos. Hay que recordar que siempre podemos cambiar la presentación gracias a las &lt;dfn&gt;hojas de estilo en cascada&lt;/dfn&gt; (CSS).&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Marcado de edición de textos&lt;/h4&gt;&lt;h5&gt;ins y del&lt;/h5&gt;Cuando estamos desarrollando un documento, hay cosas que no siempre se escriben bien a la primera, o bien luego hay que hacer algún ajuste o actualización. HTML nos permite marcar los cambios, ya sean añadidos o borrados, con las etiquetas &lt;code&gt;ins&lt;/code&gt; y &lt;code&gt;del&lt;/code&gt;. De esta forma, al igual que en otros editores de texto, de un vistazo, se pueden descubrir los cambios en el documento.&lt;br /&gt;&lt;br /&gt;Además, estas etiquetas tienen 2 atributos que sirven para saber las razones del cambio (&lt;code&gt;cite&lt;/code&gt;) y cuándo se realizó dicho cambio (&lt;code&gt;datetime&lt;/code&gt;). El formato de este último atributo es un poco especial y riguroso. Está basado en esta plantilla: &lt;var&gt;YYYY-MM-DDThh:mm:ssTZD&lt;/var&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;var&gt;YYYY&lt;/var&gt;: año con 4 dígitos&lt;/li&gt;&lt;li&gt;&lt;var&gt;MM&lt;/var&gt;: mes con 2 dígitos (01-12)&lt;/li&gt;&lt;li&gt;&lt;var&gt;DD&lt;/var&gt;: día con 2 dígitos (01-31)&lt;/li&gt;&lt;li&gt;&lt;code&gt;T&lt;/code&gt;: caracter separador entre fecha y hora&lt;/li&gt;&lt;li&gt;&lt;var&gt;hh&lt;/var&gt;: hora con 2 dígitos (00-23)&lt;/li&gt;&lt;li&gt;&lt;var&gt;mm&lt;/var&gt;: minutos con 2 dígitos (00-59); es información opcional&lt;/li&gt;&lt;li&gt;&lt;var&gt;ss&lt;/var&gt;: segundos con 2 dígitos (00-59); es información opcional&lt;/li&gt;&lt;li&gt;&lt;var&gt;TZD&lt;/var&gt;: zona horaria, &lt;code&gt;Z&lt;/code&gt; para hora &lt;dfn&gt;Zulú&lt;/dfn&gt; (la del meridiano de Greenwich) o desfase en horas y minutos (positivo o negativo) del huso horario correspondiente&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Más información sobre la plantilla de datetime en &lt;a href="http://en.wikipedia.org/wiki/ISO_8601"&gt;ISO 8601 de la Wikipedia&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ejemplo de uso de los elementos &lt;code&gt;ins&lt;/code&gt; y &lt;code&gt;del&lt;/code&gt;:&lt;br /&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;p&amp;gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit&amp;lt;ins cite="lorem ipsum..." datetime="2007-01-05T13:24+01:00"&amp;gt;, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat&amp;lt;/ins&amp;gt;. Ut wisi enim ad minim veniam&amp;lt;del cite="lorem ipsum..." datetime="2007-01-04T08:21:34-05:00"&amp;gt;, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat&amp;lt;/del&amp;gt;. Duis autem vel eum iriure dolor in hendrerit in ...&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;br /&gt;&lt;h5&gt;bdo&lt;/h5&gt;&lt;br /&gt;Otro desconocido elemento para la edición de textos es &lt;code&gt;bdo&lt;/code&gt;. En inglés, &lt;abbr&gt;bdo&lt;/abbr&gt; es la abreviatura de &lt;em lang="en-US"&gt;bidirectional override&lt;/em&gt;, y si nos atenemos a esta definición, podemos adivinar su función: sobreescribir el tratamiento direccional del texto para el contenido que se encierre dentro del elemento.&lt;br /&gt;&lt;br /&gt;Por si no ha quedado claro, intentaré explicarlo mejor. Uno de los atributos de la etiqueta &lt;code&gt;html&lt;/code&gt; es &lt;code&gt;dir&lt;/code&gt;, que sirve para indicar cómo se debe escribir (el navegador) el texto que contiene el documento, es decir, si se escribe de izquierda a derecha (&lt;code&gt;ltr&lt;/code&gt;) o de derecha a izquierda (&lt;code&gt;rtl&lt;/code&gt;).&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html&lt;br /&gt; PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;br /&gt; "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" &lt;strong&gt;dir="ltr"&lt;/strong&gt; lang="es"&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;/samp&gt;&lt;br /&gt;Como se puede ver en el ejemplo, con el atributo &lt;code&gt;dir&lt;/code&gt; se define la legibilidad de todo el documento pero, ¿qué ocurre si dentro de un texto que se lee de izquierda a derecha, necesitamos incrustar algo de contenido que está en otro idioma y además se lee al revés? Para eso existe el elemento &lt;code&gt;bdo&lt;/code&gt;. Veámoslo con otro ejemplo:&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" &lt;strong&gt;dir="ltr"&lt;/strong&gt; lang="es"&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;p&amp;gt;Contenido en idioma español. Se escribe de izquierda a derecha.&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;&amp;lt;bdo lang="zh-TW" dir="rtl"&amp;gt;Contenido en otro idioma (chino tradicional) que se redacta de derecha a izquierda.&amp;lt;/bdo&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;Como se puede ver en el ejemplo, se ha definido un idioma y una dirección de escritura general para el documento (en la etiqueta &lt;code&gt;html&lt;/code&gt;) y luego se ha marcado el texto en otro idioma (que si supiera chino, estaría correctamente escrito ;-) ) gracias a la etiqueta &lt;code&gt;bdo&lt;/code&gt;.&lt;br /&gt;&lt;h4&gt;Etiquetas de estilo basado en contenido&lt;/h4&gt;&lt;br /&gt;&lt;h5&gt;cite&lt;/h5&gt;&lt;br /&gt;&lt;code&gt;cite&lt;/code&gt; sirve para indicar que el texto que contiene es una referencia bibliográfica. Junto con el elemento para enlaces (&lt;code&gt;a&lt;/code&gt;), puede servir para hacer referencia a otro documento donde se encuentra la fuente que hemos citado.&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;blockquote lang="en-GB"&amp;gt;You can't always get what you want; but if you try sometimes, you just might find, you get what you need.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p&amp;gt;&amp;lt;cite&amp;gt;&amp;lt;a href="http://en.wikipedia.org/wiki/You_Can't_Always_Get_What_You_Want"&amp;gt;Rolling Stones&amp;lt;/a&amp;gt;&amp;lt;/cite&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h5&gt;code&lt;/h5&gt;&lt;br /&gt;La etiqueta &lt;code&gt;code&lt;/code&gt; indica que el texto que encierra es código fuente de programación. Esto hace que los navegadores utilicen (por defecto y a no ser que establezcamos lo contrario con CSS) una &lt;dfn&gt;fuente monoespaciada&lt;/dfn&gt; (todos los caracteres tienen la misma anchura) para visualizar el texto.&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;pre&amp;gt;&amp;lt;code lang="en-US"&amp;gt;&lt;br /&gt;/**&lt;br /&gt;* string numberToAlphabet(int $number)&lt;br /&gt;*&lt;br /&gt;* Converts an integer in an alphabetical string (1 &amp;lt;= $number &amp;lt;= 702)&lt;br /&gt;*&lt;br /&gt;* @author PHP manual, user contributes notes for chr() function&lt;br /&gt;* @param int $number integer to convert&lt;br /&gt;* @return string alphabetical string&lt;br /&gt;* @access public&lt;br /&gt;*/&lt;br /&gt;function numberToAlphabet($number)&lt;br /&gt;{&lt;br /&gt; return ($number-- &gt; 26 ? chr(($number / 26 + 25) % 26 + ord('A')) : '') . chr($number % 26 + ord('A'));&lt;br /&gt;}&lt;br /&gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;En el ejemplo, se ha encerrado el contenido de &lt;code&gt;code&lt;/code&gt; dentro de la etiqueta &lt;code&gt;pre&lt;/code&gt; por 2 razones:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;code&lt;/code&gt; es una etiqueta para texto en línea (es decir, tiene [o debe] ir dentro de otra etiqueta de bloque distinta de &lt;code&gt;body&lt;/code&gt;, que sólo debería contener otros elementos de bloque)&lt;/li&gt;&lt;li&gt;con el uso de &lt;code&gt;pre&lt;/code&gt; se preservan los espacios y líneas en blanco del texto, necesarios para dar formato al código fuente&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h5&gt;dfn&lt;/h5&gt;&lt;br /&gt;La etiqueta &lt;code&gt;dfn&lt;/code&gt; se utiliza para marcar los términos (y no las definiciones) nuevos (o especiales) de un documento que necesitan la atención del lector. Como regla de buen estilo, sólo se delimita la primera aparición del término en el texto.&lt;br /&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;p&amp;gt;El software libre es también llamado software de código abierto. La razón por la que se llama así es que, junto con el &amp;lt;dfn&amp;gt;programa objeto&amp;lt;/dfn&amp;gt;, se distribuye el &amp;lt;dfn&amp;gt;código fuente&amp;lt;/dfn&amp;gt; del mismo.&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;br /&gt;&lt;br /&gt;Para definir los conceptos (como cuando se escribe un glosario de términos) existe otro conjunto de etiquetas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dl&lt;/code&gt;: lista de definiciones&lt;/li&gt;&lt;li&gt;&lt;code&gt;dt&lt;/code&gt;: término a definir&lt;/li&gt;&lt;li&gt;&lt;code&gt;dd&lt;/code&gt;: definición del término&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;dl&amp;gt;&lt;br /&gt; &amp;lt;dt&amp;gt;Programa objeto&amp;lt;/dt&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;dd&amp;gt;Instrucciones que se ejecutan directamente contra la máquina y que no son comprensibles por las personas.&amp;lt;/dd&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;dt&amp;gt;Código fuente&amp;lt;/dt&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;dd&amp;gt;Instrucciones escritas en un lenguaje de programación que el ser humano puede leer pero que no comprende directamente la máquina.&amp;lt;/dd&amp;gt;&lt;br /&gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h5&gt;kbd&lt;/h5&gt;&lt;br /&gt;&lt;code&gt;kbd&lt;/code&gt; es la forma más indicada de indicar que un determinado texto es introducido desde el teclado (&lt;span lang="en"&gt;&lt;strong&gt;k&lt;/strong&gt;ey&lt;strong&gt;b&lt;/strong&gt;oar&lt;strong&gt;d&lt;/strong&gt;&lt;/span&gt;). Es muy útil para el caso de redactar manuales o cualquier otro tipo de documentación técnica.&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;pre&amp;gt;&amp;lt;samp&amp;gt;&lt;br /&gt;C:\&amp;gt;&amp;lt;kbd&amp;gt;c:\mysql\bin\mysql -uadmin -p mysql&amp;lt;/kbd&amp;gt;&lt;br /&gt;Enter password: &amp;lt;kbd&amp;gt;*********&amp;lt;/kbd&amp;gt;&lt;br /&gt;&amp;lt;/samp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h5&gt;samp&lt;/h5&gt;&lt;br /&gt;Como se ha podido ver en el ejemplo anterior, en el que hemos hecho uso ya de la etiqueta &lt;code&gt;samp&lt;/code&gt; (&lt;span lang="en"&gt;&lt;strong&gt;samp&lt;/strong&gt;le&lt;/span&gt;), esta sirve para mostrar la salida de algunos programas o ejemplos de código fuente (como los que estoy utilizando en este artículo).&lt;br /&gt;&lt;h5&gt;var&lt;/h5&gt;&lt;br /&gt;La etiqueta &lt;code&gt;var&lt;/code&gt; se utiliza para marcar texto que sirve de &lt;em&gt;plantilla&lt;/em&gt;, es decir, para texto que no se debe introducir tal cual, sino que debe reemplazarse por otro a la hora de teclearlo. Como ejemplo, puede servir este extracto donde se combinan además otras etiquetas vistas anteriormente.&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;p&amp;gt;Verifique su base de datos y usuario accediendo a la nueva base de datos con el nuevo usuario.&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;pre&amp;gt;&amp;lt;samp&amp;gt;&lt;br /&gt;C:\&amp;gt;&amp;lt;kbd&amp;gt;C:\mysql\bin\mysql -u &amp;lt;var&amp;gt;new_user&amp;lt;/var&amp;gt; -p&amp;lt;var&amp;gt;new_password&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;new_database&amp;lt;/var&amp;gt;&amp;lt;/kbd&amp;gt;&lt;br /&gt;&amp;lt;/samp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h4&gt;Notas finales&lt;/h4&gt;&lt;br /&gt;Para la redacción de este artículo he utilizado algunas deficiones y ejemplos que aparecen en el libro &lt;cite&gt;&lt;a href="http://www.oreilly.com/catalog/html5/"&gt;HTML y XHTML: La Guía Definitiva&lt;/a&gt;&lt;/cite&gt;, original de la editorial &lt;cite&gt;&lt;a href="http://www.oreilly.com/"&gt;O'Reilly&lt;/a&gt;&lt;/cite&gt; pero traducido al español por &lt;cite&gt;&lt;a href="http://www.anayamultimedia.es/"&gt;Anaya Multimedia&lt;/a&gt;&lt;/cite&gt;.&lt;br /&gt;&lt;br /&gt;En los ejemplos expuestos se ha usado el punto de vista de quien codifica la página, por eso se muestra el código fuente necesario para marcar el contenido. Queda a disposición del lector la prueba de dichos ejemplos en su propio navegador para ver cómo se visualizan. Se ha optado por hacerlo de este modo porque no existen reglas fijas de presentación y estas pueden diferir entre diferentes &lt;dfn&gt;agentes de usuario&lt;/dfn&gt; (navegadores web).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Actualización (2007-01-04):&lt;/strong&gt;&lt;br /&gt;Sólo un día después de la publicación de este artículo, me encuentro con esta &lt;a href="http://www.blue-anvil.com/archives/guide-to-semantic-mark-up"&gt;guía de marcado semántico&lt;/a&gt;. Para quienes deseen completar esta lectura, se lo recomiendo encarecidamente: se habla también del correcto uso de los elementos más habituales (encabezados, párrafos, listas, ...) y hay más ejemplos sobre la adecuada utilización de las etiquetas de HTML.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-7855763426015908170?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/7855763426015908170/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=7855763426015908170' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/7855763426015908170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/7855763426015908170'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2007/01/los-elementos-perdidos-de-html.html' title='Los elementos perdidos de HTML'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-4668777576860561826</id><published>2006-12-25T03:13:00.000+01:00</published><updated>2006-12-25T03:23:33.165+01:00</updated><title type='text'>Grub</title><content type='html'>A veces, cuando uno toca lo que no debe o instala sistemas operativos que no respetan para nada el actual &lt;a href="http://es.wikipedia.org/wiki/Master_Boot_Record"&gt;MBR&lt;/a&gt;, el resultado es que intentas arrancar y o bien te es imposible, o te arranca el bendito Windows. Últimamente he tenido que reinstalar &lt;a href="http://www.gnu.org/software/grub/"&gt;GRUB&lt;/a&gt; en el arranque de mi máquina y nunca me acuerdo de cómo se hace, así que siempre tengo que acudir a &lt;a href="http://www.google.es/"&gt;Google&lt;/a&gt; a mirarlo. Pues bien, si me lo apunto aquí seguro que sabré dónde ir a buscarlo:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Arrancar con una Live-CD que disponga de GRUB (como &lt;a href="http://www.kubuntu.com/"&gt;Kubuntu&lt;/a&gt;/&lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;, &lt;a href="http://www.knoppix-es.org/"&gt;Knoppix&lt;/a&gt;). O con cualquier distribución que entre sus opciones de arranque esté el modo rescate (rescue mode - F5 - linux rescue).&lt;/li&gt;&lt;li&gt;Ejecutar &lt;span style="font-style: italic;"&gt;grub&lt;/span&gt; desde consola y en el intérprete de comandos de GRUB:&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;root (hd0,1) # en mi caso /dev/sda2&lt;/li&gt;&lt;li&gt;setup (hd0) # /dev/sda &lt;/li&gt;&lt;li&gt;quit&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Y listos. Ya podemos reiniciar y sacar el cd. Tendremos el menú de GRUB tal cual estaba antes de liarla.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-4668777576860561826?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/4668777576860561826/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=4668777576860561826' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/4668777576860561826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/4668777576860561826'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/12/grub.html' title='Grub'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/02978209112090777687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-116517525140063211</id><published>2006-12-03T20:44:00.000+01:00</published><updated>2006-12-21T22:33:52.910+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='msie'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Comentarios condicionales de HTML</title><content type='html'>Las &lt;a href="http://www.andyrutledge.com/web-wars.php"&gt;guerras entre navegadores&lt;/a&gt; fueron cruentas en su día y sólo han dejado vencidos a su paso: los pobres desarrolladores web que tienen que usar todo su ingenio para conseguir que una página se vea igual en todos los navegadores (actuales, antiguos y futuros).&lt;br /&gt;&lt;br /&gt;Afortunadamente, el futuro pinta bastante bien en este aspecto. Los nuevos clientes web que salen al mercado (Firefox, Opera, Safari, Konqueror, etc...) tienen entre sus objetivos seguir y cumplir los estándares que se discuten y aprueban en el &lt;a href="http://www.w3c.org/"&gt;&lt;acronym title="Worl Wide Web Consortium"&gt;W3C&lt;/acronym&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Pero, ¿qué hacer con los navegadores que a día de hoy se usan aunque sean auténticas reliquias del pasado? Existen varias opciones:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Hacer varias hojas de estilos, cada una para cada navegador.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Hacer una única hoja de estilos, mezclando código válido (que es lo que el W3C recomienda) con selectores específicos que sacan partido de los errores de interpretación de las &lt;acronym title="Cascading Style Sheet"&gt;CSS&lt;/acronym&gt; de cada navegador.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Como variación de la primera opción (varias CSS), podemos hacer una CSS general para todos, y alguna más específica para aquellos navegadores en los que haya algún problemilla que resolver.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;La primera opción requiere de 2 cosas: tener una manera de poder identificar a cada uno de los navegadores (a través de un lenguaje de programación del lado del servidor como &lt;a href="http://www.php.net/"&gt;PHP&lt;/a&gt;, por ejemplo), y mucho trabajo por nuestra parte, ya que deberemos repetir muchísimo código en cada una de las hojas de estilos. El trabajo de hacer CSS, en principio, dependerá de nuestra paciencia, pero identificar navegadores web no es una tarea fácil y no siempre será posible llevarlo a cabo (si sólo disponemos de &lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt; para hacer nuestras páginas).&lt;br /&gt;&lt;br /&gt;La segunda opción (una sóla CSS), ha sido durante los últimos años la más usada (e incluso recomendada). Requiere de una gran curva de aprendizaje puesto que navegadores ha habido (y hay) muchos y cada uno tiene unos &lt;a href="http://es.wikipedia.org/wiki/Error_de_software"&gt;bugs&lt;/a&gt; distintos para explotar.&lt;br /&gt;&lt;br /&gt;Tal y como va el artículo, todo parece indicar que la tercera opción es la más recomendable. Si hubiera escrito estas líneas hace un año, mi respuesta hubiera sido que la mejor era la segunda (aunque implique muchas búsquedas en Internet y muchas horas de pruebas y más pruebas), pero el mundillo web tiene estas cosas: lo que hasta ayer era el estándar de facto, mañana mismo se convierte en una tecnología obsoleta. Más o menos es lo que ha pasado. Microsoft ha sacado (después de 6 años de sequía) su nuevo navegador (el flamante y renovado &lt;acronym title="Internet Explorer"&gt;IE&lt;/acronym&gt; 7) y como siempre, para bien o para mal, las reglas del juego han cambiado.&lt;br /&gt;&lt;br /&gt;La forma de implantar la tercera opción es hacer una CSS general (que se aplicará a todos los navegadores) desarrollándola en algún cliente web que respete lo más posible los estándares de hojas de estilos (como Opera, Safari o Firefox), y luego hacer otras CSS más reducidas (que servirán para sobrescribir algunas reglas generales) para los (en realidad el) navegadores que no siguen las reglas del juego en algún aspecto. ¿Y cómo se consigue esto? Pues con alguna de las herramientas que la misma Microsoft desarrolló en su momento para competir con la casi desaparecida &lt;a href="http://www.netscape.com/"&gt;NetScape&lt;/a&gt;: &lt;a href="http://www.quirksmode.org/css/condcom.html"&gt;los comentarios condicionales en HTML&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Veamos esto con un ejemplo:&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" type="text/css" href="./css/all_nav.css" media="screen" title="Hoja de estilos general" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!--[if IE 6]&amp;gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" type="text/css" href="./css/ie_fix.css" media="screen" title="Hoja de estilos específica para IE 6" /&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!--[if IE 7]&amp;gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" type="text/css" href="./css/ie7_fix.css" media="screen" title="Hoja de estilos específica para IE 7" /&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Esta técnica (apoyada por la mismísima Microsoft para que los desarrolladores web lleven a cabo la migración de sitios para que funcionen con su nuevo explorador), nos permite tener una CSS general acorde a los estándares promulgados por el W3C que nos servirá para los navegadores actuales y para los que vengan después, y por otro lado, tener localizados, en pequeños archivos, las excepciones a las reglas, sin tener que utilizar molestos y &lt;a href="http://centricle.com/ref/css/filters/"&gt;complicados hacks&lt;/a&gt;. Así, el código de nuestras páginas &lt;a href="http://jigsaw.w3.org/css-validator/"&gt;validará&lt;/a&gt; y a la vez, los contenidos (que es lo que realmente importa), se verán de una forma bastante similar en todos los navegadores que se usan hoy en día.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-116517525140063211?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/116517525140063211/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=116517525140063211' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/116517525140063211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/116517525140063211'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/12/comentarios-condicionales-de-html.html' title='Comentarios condicionales de HTML'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-116507112547415418</id><published>2006-12-02T15:23:00.000+01:00</published><updated>2006-12-21T22:34:29.876+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cadius'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='webdesign'/><title type='text'>Visita al Laboratorio Aragonés de Usabilidad</title><content type='html'>Ayer, con motivo del &lt;a href="http://cadius-zaragoza.blogia.com/"&gt;Cadius Zaragoza&lt;/a&gt; de Diciembre, fuimos de visita al &lt;a href="http://www.laboratoriousabilidad.com/"&gt;Laboratorio Aragonés de Usabilidad&lt;/a&gt;. Entre los actos a los que asistimos, hubo un &lt;a href="http://en.wikipedia.org/wiki/Focus_group"&gt;focus group&lt;/a&gt; sobre la página web que han realizado. Hubo multitud de propuestas y de todas ellas tomaron nota, pero como el movimiento se demuestra andando, aprovecho la ocasión para presentar un &lt;a href="http://www.usolab.com/wl/archives/000438.php"&gt;rediseño (o realineamiento)&lt;/a&gt; de su página web.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://openclinic.sf.net/examples/usalab/"&gt;Propuesta rediseño&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://openclinic.sf.net/examples/usalab/usalab_original.png"&gt;Diseño original&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://openclinic.sf.net/examples/usalab/usalab_redesign_without_css.png"&gt;Rediseño sin CSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://openclinic.sf.net/examples/usalab/usalab_redesign_print.png"&gt;Versión imprimible del rediseño&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://openclinic.sf.net/examples/usalab/usalab_redesign_without_img.png"&gt;Rediseño con CSS pero sin imágenes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://openclinic.sf.net/examples/usalab/usalab_redesign.png"&gt;Rediseño tal y como se ve en Firefox 1.0.6 (en Windows)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://openclinic.sf.net/examples/usalab/usalab_redesign_code.png"&gt;Código fuente del rediseño&lt;/a&gt; (capturado con la extensión de Firefox &lt;a href="http://addons.mozilla.org/firefox/655/"&gt;View Rendered Source Chart&lt;/a&gt;)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;La página propuesta ha sido probada en los siguientes navegadores:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Firefox 1.0.6 (windows)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mozilla.com/firefox/"&gt;Firefox&lt;/a&gt; 2.0 (linux)&lt;/li&gt;&lt;li&gt;Internet Explorer 6.0 (windows)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.opera.com/"&gt;Opera&lt;/a&gt; 8 (windows)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-116507112547415418?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/116507112547415418/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=116507112547415418' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/116507112547415418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/116507112547415418'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/12/visita-al-laboratorio-aragons-de.html' title='Visita al Laboratorio Aragonés de Usabilidad'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-116076248816374037</id><published>2006-10-13T19:59:00.000+02:00</published><updated>2006-11-26T20:48:52.456+01:00</updated><title type='text'>Convertir videos flv a mpg/avi/etc.</title><content type='html'>&lt;p&gt;Si se desea convertir un archivo .flv a .mpg o a .avi, se puede usar gratuitamente &lt;a href="http://www.rivavx.com/?encoder"&gt;Riva FLV Encoder&lt;/a&gt; en Windows Para linux se puede usar &lt;a href="http://ffmpeg.mplayerhq.hu/"&gt;ffmpeg&lt;/a&gt;, teniendo que introducir, desde consola, el comando: &lt;/p&gt;   &lt;p&gt;~$ ffmpeg -i origen.flv -s 320×240 -r 15.00 -b 300 -f mpeg4 -acodec mp3 -ab 96 destino.avi&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Más info sobre el tema de descargas de videos y demás &lt;a href="http://ffmpeg.mplayerhq.hu/"&gt;aquí&lt;/a&gt; y &lt;a href="http://www.guia-ubuntu.org/index.php/Ffmpeg"&gt;aquí&lt;/a&gt; en español.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-116076248816374037?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/116076248816374037/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=116076248816374037' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/116076248816374037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/116076248816374037'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/10/convertir-videos-flv-mpgavietc.html' title='Convertir videos flv a mpg/avi/etc.'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-115990050590285921</id><published>2006-10-03T20:29:00.000+02:00</published><updated>2006-11-20T22:16:40.580+01:00</updated><title type='text'>Cajas fuertes digitales.</title><content type='html'>Para &lt;a href="http://blog.txipinet.com/index.php/2006/09/12/32-como-crear-una-caja-fuerte-digital-en-ms-windows"&gt;windows&lt;/a&gt;.&lt;br /&gt;Para &lt;a href="http://blog.txipinet.com/index.php/2006/09/13/33-como-crear-una-caja-fuerte-digital-en-gnu-linux"&gt;linux&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-115990050590285921?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/115990050590285921/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=115990050590285921' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115990050590285921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115990050590285921'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/10/cajas-fuertes-digitales.html' title='Cajas fuertes digitales.'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-115990007220462019</id><published>2006-10-03T20:24:00.000+02:00</published><updated>2006-10-03T20:29:33.556+02:00</updated><title type='text'>Normalizar el audio de los mp3</title><content type='html'>&lt;p&gt;Dando una vuelta por el &lt;a href="http://ubuntu.wordpress.com/"&gt;blog de ubuntu&lt;/a&gt;. Veo un interesante manual para &lt;a href="http://ubuntu.wordpress.com/2006/09/11/normalize-the-gain-playback-volume-of-your-mp3s/"&gt;normalizar el audio de nuestros mp3&lt;/a&gt;. Tan solo nos hace falta el programa &lt;em&gt;mp3gain&lt;/em&gt;(disponible en los repositorios de ubuntu). Abrimos una consola, nos dirijimos al directorio donde tengamos los mp3 y ejecutamos&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;blockquote&gt;$find . -type f -iname '*.mp3' -print0 | xargs -0 mp3gain -r -k&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;  Y con eso mp3gain hara automáticamente una normalización de nuestros mp3.&lt;br /&gt;&lt;br /&gt;Noticia original &lt;a href="http://devnull.wordpress.com/2006/09/18/normalizar-el-audio-de-los-mp3/"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-115990007220462019?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/115990007220462019/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=115990007220462019' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115990007220462019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115990007220462019'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/10/normalizar-el-audio-de-los-mp3.html' title='Normalizar el audio de los mp3'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-115643684673616431</id><published>2006-08-24T18:07:00.000+02:00</published><updated>2007-12-16T12:00:10.568+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Cómo instalar WAPP</title><content type='html'>Para empezar, ¿qué significa eso de &lt;acronym&gt;WAPP&lt;/acronym&gt;? Es un acrónimo que quiere decir &lt;strong&gt;Windows Apache PHP4 PHP5&lt;/strong&gt;. Si hay infinidad de referencias a cómo instalar LAMP (Linux Apache MySQL PHP) o AMP (Apache MySQL PHP), tanto en Linux como en Windows, hay muy pocas explicaciones acerca de cómo instalar un entorno mixto de desarrollo para PHP (versiones 4 y 5). De eso trata este artículo.&lt;br /&gt;&lt;br /&gt;PHP es un lenguaje de programación bastante usado en entornos web dinámicos, que ha evolucionado muchísimo en muy poco tiempo. Hace ya 2 años que salió la versión 5, sin embargo, aun siendo mejor, no está siendo usada por la comunidad de programadores. Las razones son simples. Mejor dicho, la razón es simple. Casi todo el &lt;a href="http://es.wikipedia.org/wiki/Hosting"&gt;hosting&lt;/a&gt; que permite la ejecución de scripts PHP está sólamente preparado para PHP4. Los cambios entre ambas versiones son profundos (sobre todo en cuestiones de &lt;a href="http://es.wikipedia.org/wiki/OOP"&gt;OOP&lt;/a&gt;) y la compatibilidad hacia atrás de la versión 5 tiene sus problemas. Ante esta perspectiva, las empresas de hospedaje web han preferido mantener la versión 4 para que todo el código existente (que es cuantioso) siga funcionando.&lt;br /&gt;&lt;br /&gt;Pero como las mejoras de la versión 5 (aunque ya está en preparación la &lt;a href="http://php6dev.blogspot.com/"&gt;versión 6&lt;/a&gt;) son evidentes, qué mejor que juguetear con ella en un entorno controlado (como puede ser nuestro ordenador personal) e ir viendo sobre el terreno cómo se comportan nuestros programas en ambas versiones.&lt;br /&gt;&lt;br /&gt;Los siguientes pasos explican como instalar la versión 4 de PHP como módulo de Apache y la versión 5 como &lt;acronym title="Common Gateway Interface"&gt;&lt;a href="http://es.wikipedia.org/wiki/Common_Gateway_Interface"&gt;CGI&lt;/a&gt;&lt;/acronym&gt;, sobre un entorno de desarrollo con Microsoft Windows XP y &lt;a href="http://httpd.apache.org/"&gt;Apache&lt;/a&gt; (ambos componentes se sobrentiende que están ya instalados). Para facilitar la instalación, se considerará que Apache (versión 1.3.x o 2.0.x, &lt;strong&gt;no la versión 2.2.x&lt;/strong&gt; porque actualmente todavía no existe módulo de PHP para esta versión) está instalado en &lt;code&gt;c:\apache\&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Descargar las últimas versiones disponibles tanto de la versión 4 como de la 5. A día de hoy: &lt;a href="http://www.php.net/downloads.php#v4"&gt;4.4.4&lt;/a&gt; y &lt;a href="http://www.php.net/downloads.php#v5"&gt;5.1.6&lt;/a&gt;. Es conveniente bajar los comprimidos para win32, &lt;strong&gt;no los instaladores&lt;/strong&gt;. De esta forma podremos llevar a cabo la instalación de una forma más limpia y sin que nos falte nada (los instaladores para Windows sólo instalan PHP como CGI, no como módulo de Apache, y vienen sin extensiones externas).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Descomprimir la versión 4 en el directorio &lt;code&gt;c:\php\&lt;/code&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Copiar el archivo &lt;code&gt;c:\php\php.ini-recommended&lt;/code&gt; como &lt;code&gt;c:\php\php.ini&lt;/code&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Será necesario cambiar algunos parámetros del archivo &lt;code&gt;php.ini&lt;/code&gt;. Son estos:&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;extension_dir = "c:/php/extensions/"&lt;br /&gt;&lt;br /&gt;session.save_path = "C:\php\session"   &lt;strong&gt;; además será necesario crear ese directorio&lt;/strong&gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Añadir al PATH del sistema las rutas &lt;code&gt;c:\php&lt;/code&gt; y &lt;code&gt;c:\php\extensions&lt;/code&gt;. Para ello, al final del actual PATH, añadimos lo siguiente: &lt;code&gt;;c:\php;c:\php\extensions&lt;/code&gt;. El punto y coma es el separador de rutas. De esta forma, en lugar de copiar el fichero al directorio &lt;code&gt;c:\windows\system32\&lt;/code&gt;, podremos actualizar a la próxima versión de PHP4 de una forma más ágil y limpia. Lo malo de hacerlo así, es que será necesario reiniciar el ordenador para que el sistema relea el PATH (con cerrar la sesión de usuario no es suficiente).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Crear el fichero &lt;code&gt;c:\apache\conf\php4.conf&lt;/code&gt; con el siguiente contenido:&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;# carga el módulo de Apache de PHP&lt;br /&gt;LoadModule php4_module "c:/php/sapi/php4apache2.dll"&lt;br /&gt;&lt;br /&gt;# permite tener el fichero php.ini en ese directorio y no en c:\windows&lt;br /&gt;PHPIniDir "C:/php"&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Editamos el fichero &lt;code&gt;c:\apache\conf\httpd.conf&lt;/code&gt; y añadimos como última línea esto:&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;include conf/php4.conf&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;Es conveniente terminar la línea con un retorno de carro (por si acaso).&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Por último, como antes he indicado, habrá que reiniciar el sistema por haber cambiado el PATH. Tras hacerlo, ya tendremos instalado PHP4 como módulo de Apache. Para comprobarlo, crearemos en &lt;a href="http://httpd.apache.org/docs/2.0/es/mod/core.html#documentroot"&gt;DocumentRoot&lt;/a&gt; (se considera como directorio de publicación para este artículo &lt;code&gt;c:\apache\htdocs\&lt;/code&gt;, pero se puede cambiar en el archivo de configuración), el fichero &lt;code&gt;prueba_php.php&lt;/code&gt;, que tendrá el siguiente contenido:&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;phpinfo();&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;Para ejecutarlo, habrá que apuntar el navegador web a &lt;code&gt;http://localhost/prueba_php.php&lt;/code&gt; y ver qué aparece. Si todo ha ido bien, deberían mostrarse las características del entorno y los módulos de PHP cargados.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Ahora sigamos con PHP5.&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Para ello, lo primero será descomprimir la versión 5 en el directorio &lt;code&gt;c:\php5\&lt;/code&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Copiar el archivo &lt;code&gt;c:\php5\php.ini-recommended&lt;/code&gt; como &lt;code&gt;c:\php5\php.ini&lt;/code&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Habrá que retocar ciertos parámetros del archivo &lt;code&gt;php.ini&lt;/code&gt;. Son estos:&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;; Windows: "\path1;\path2"&lt;br /&gt;;include_path = ".;c:\php5\includes" ; aunque esté comentado, corregimos la ruta para futuros usos&lt;br /&gt;&lt;br /&gt;extension_dir = "c:/php5/ext/"&lt;br /&gt;&lt;br /&gt;session.save_path = "c:/php5/session"   &lt;strong&gt;; además será necesario crear ese directorio&lt;/strong&gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Paso opcional. Si necesitamos acceder a bases de datos MySQL, deberemos habilitar la extensión en el archivo php.ini porque por defecto, en la versión 5, viene deshabilitada. Deberemos dejar así esta línea:&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;extension=php_mysql.dll ; sin el punto y coma del principio para que no se tome como comentario&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Crear el fichero &lt;code&gt;c:\apache\conf\php5.conf&lt;/code&gt; con el siguiente contenido:&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;# para habilitar la escucha de Apache en otro puerto además del 80&lt;br /&gt;Listen 8080&lt;br /&gt;&lt;br /&gt;&amp;lt;VirtualHost *:8080&amp;gt;&lt;br /&gt;ScriptAlias /php5/ "c:/php5/"&lt;br /&gt;SetEnv PHPRC c:/php5&lt;br /&gt;&lt;br /&gt;# si nuestro DocumentRoot es otro directorio, habrá que cambiarlo&lt;br /&gt;&amp;lt;Directory "c:/apache/htdocs"&amp;gt;&lt;br /&gt;  Options +ExecCGI +FollowSymLinks&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;AddHandler php-cgi-script .php&lt;br /&gt;Action php-cgi-script /php5/php-cgi.exe&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Editamos el fichero &lt;code&gt;c:\apache\conf\httpd.conf&lt;/code&gt; y añadimos como última línea esto:&lt;br /&gt;&lt;pre&gt;&lt;samp&gt;&lt;br /&gt;include conf/php5.conf&lt;br /&gt;&lt;/samp&gt;&lt;/pre&gt;&lt;br /&gt;Es conveniente, como antes hemos indicado, terminar la línea con un retorno de carro (por si acaso).&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Como último paso, habrá que reinicar de nuevo el servicio de Apache para que admita los cambios de configuración. Para probar que esta parte también funciona, esta vez pondremos en el navegador web &lt;code&gt;http://localhost:8080/prueba_php.php&lt;/code&gt;. Nótese el cambio de puerto en la petición. PHP4, al ser módulo de Apache, recogerá las peticiones que se hagan al puerto 80. PHP5, en cambio, escuchará lo que se le mande en el puerto 8080. De esta forma, ya tenemos listo el entorno mixto de PHP.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Actualización (2006-11-09):&lt;/strong&gt;&lt;br /&gt;En la instalación de &lt;strong&gt;PHP4&lt;/strong&gt;, si queremos habilitar alguna extensión (por ejemplo la relacionada con gettext [&lt;code&gt;php_gettext.dll&lt;/code&gt;] para internacionalizar nuestras aplicaciones), será necesario añadir al path del sistema el directorio &lt;code&gt;c:\php\dlls\&lt;/code&gt;. Para ello, habrá que modificar el path y agregar al final: &lt;code&gt;;c:\php\dlls&lt;/code&gt;. Después, hay que reiniciar el equipo para que el sistema se adapte al cambio.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-115643684673616431?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/115643684673616431/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=115643684673616431' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115643684673616431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115643684673616431'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/08/cmo-instalar-wapp.html' title='Cómo instalar WAPP'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-115408960983381382</id><published>2006-07-28T14:24:00.000+02:00</published><updated>2006-07-28T14:26:49.846+02:00</updated><title type='text'>Si tus vecinos te roban el ancho de banda</title><content type='html'>Y te das cuenta, incordialos un rato.&lt;br /&gt;La noticia &lt;a href="http://www.ex-parrot.com/%7Epete/upside-down-ternet.html"&gt;original&lt;/a&gt;.&lt;br /&gt;La noticia en &lt;a href="http://tufuncion.com/navegacion_segura"&gt;español&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-115408960983381382?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/115408960983381382/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=115408960983381382' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115408960983381382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115408960983381382'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/07/si-tus-vecinos-te-roban-el-ancho-de.html' title='Si tus vecinos te roban el ancho de banda'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-115400521612181846</id><published>2006-07-27T14:59:00.000+02:00</published><updated>2006-07-27T15:00:16.136+02:00</updated><title type='text'>Hoja de tramposo para Firefox</title><content type='html'>&lt;a href="http://lesliefranke.com/files/reference/firefoxcheatsheet.html"&gt;Firefox Cheat Sheet&lt;/a&gt;. Atajos de teclado para Firefox.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-115400521612181846?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/115400521612181846/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=115400521612181846' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115400521612181846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115400521612181846'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/07/hoja-de-tramposo-para-firefox.html' title='Hoja de tramposo para Firefox'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-115273053750762272</id><published>2006-07-12T20:39:00.000+02:00</published><updated>2006-07-12T21:42:15.826+02:00</updated><title type='text'>Firefox y Thunderbird</title><content type='html'>Otra vez de probatinas. Después de tener una Fedora Core 4 corriendo en mi sobremesa, decidí pasarme a una Suse 10.0. La experiencia fue positiva, pero no acababa de convencerme. Así que, partiendo del comentario de uno de los editores de &lt;a href="http://www.kriptopolis.org"&gt;Kriptopolis&lt;/a&gt;, me he puesto una &lt;a href="http://www.archlinux.org"&gt;Arch linux&lt;/a&gt;.&lt;br /&gt;&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Vínculo" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;br /&gt;La distribución es muy buena en general. Instala lo 'mínimo' y funciona muy ligera al estar compilada para i686. Pero resulta que, entre otras coñas (como el automount de las unidades usb, por ejemplo) no asocia los enlaces http a firefox desde thunderbird y viceversa.&lt;br /&gt;&lt;br /&gt;La solución la encontré en &lt;a href="http://www.yahoo.com/search"&gt;yahoo&lt;/a&gt; (que no en &lt;a href="http://www.google.es"&gt;google&lt;/a&gt;, jejeje) buscando por la cadena '&lt;span style="font-style: italic;"&gt;open thunderbird links in firefox&lt;/span&gt;'. La solución, en pocos pasos es:&lt;br /&gt;&lt;br /&gt;En Firefox.&lt;br /&gt;&lt;/span&gt;&lt;div class="directions"&gt; &lt;ol&gt;&lt;li&gt;Escribir en la barra de direcciones '&lt;span style="font-style: italic;"&gt;about:config&lt;/span&gt;'.&lt;/li&gt;&lt;li&gt; En la página que aparece y en caso de no existir, crear la entrada tipo cadena (&lt;span style="font-style: italic;"&gt;string&lt;/span&gt;) '&lt;span style="font-style: italic;"&gt;network.protocol-handler.app.mailto&lt;/span&gt;' con el valor '&lt;span style="font-style: italic;"&gt;ruta/al/ejecutable/de/Thunderbird&lt;/span&gt;'.  &lt;ol style="list-style-type: lower-alpha;"&gt;&lt;li&gt;Botón derecho del ratón --&gt; new --&gt; string. &lt;/li&gt;&lt;li&gt; Poner como '&lt;span style="font-style: italic;"&gt;preference name&lt;/span&gt;' la cadena '&lt;span style="font-style: italic;"&gt;network.protocol-handler.app.mailto&lt;/span&gt;'.&lt;/li&gt;&lt;li&gt; Y como '&lt;span style="font-style: italic;"&gt;string value&lt;/span&gt;' la cadena '&lt;span style="font-style: italic;"&gt;ruta/al/ejecutable/de/Thunderbird&lt;/span&gt;'. &lt;/li&gt;&lt;/ol&gt;  &lt;/li&gt;&lt;li&gt; Reiniciar Firefox. &lt;/li&gt;&lt;/ol&gt; &lt;/div&gt;En Thunderbird.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Para llegar al about:config en versiones anteriores había que instalar una extensión a thunderbird o bien editar a mano el fichero de configuración. En las últimas versiones ya no es necesario y se accede desde el menú  Edición (Edit) --&gt; Preferencias (Preferences) --&gt; opción Avanzadas (Advanced) --&gt; botón 'Config Editor'. &lt;/li&gt;&lt;li&gt;Se abrirá una nueva ventana desde la que haremos lo siguiente.  &lt;ol style="list-style-type: lower-alpha;"&gt;&lt;li&gt;Botón derecho del ratón --&gt; new --&gt; string. &lt;/li&gt;&lt;li&gt;  Poner como '&lt;span style="font-style: italic;"&gt;preference name&lt;/span&gt;' la cadena 'network.protocol-handler.app.http'.&lt;/li&gt;&lt;li&gt;  Y como '&lt;span style="font-style: italic;"&gt;string value&lt;/span&gt;' la cadena '&lt;span style="font-style: italic;"&gt;ruta/al/ejecutable/de/&lt;/span&gt;/Firefox'. &lt;/li&gt;&lt;li&gt;Poner también la cadena 'network.protocol-handler.app.https' Con el valor '&lt;span style="font-style: italic;"&gt;ruta/al/ejecutable/de/&lt;/span&gt;Firefox" de la misma manera.&lt;/li&gt;&lt;/ol&gt;  &lt;/li&gt;&lt;li&gt; Reiniciar Thunderbird.&lt;/li&gt;&lt;/ol&gt;El enlace al sitio con la información original en inglés es &lt;a href="http://www.bytecave.net/anders/guide/SinglePage/#FirefoxFromThunderbird"&gt;este&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-115273053750762272?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/115273053750762272/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=115273053750762272' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115273053750762272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115273053750762272'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/07/firefox-y-thunderbird.html' title='Firefox y Thunderbird'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-115027563963760814</id><published>2006-06-14T10:58:00.000+02:00</published><updated>2006-06-14T17:54:18.386+02:00</updated><title type='text'>Multimedia y Ubuntu Linux</title><content type='html'>A pesar de que actualmente no tengo esa distribución instalada, sigo con la mosca detrás de la oreja para tenerla como distribución de escritorio. Así que para no tener que recordar nada, aquí dejo unos links para poder reproducir prácticamente todos los formatos multimedia necesarios desde esa distribución.&lt;br /&gt;&lt;br /&gt;Original en inglés &lt;a href="http://www.ehomeupgrade.com/entry/2663/how-to_get_full"&gt;aquí&lt;/a&gt;.&lt;br /&gt;Traducción al castellano &lt;a href="http://devnull.wordpress.com/2006/06/13/traduccion-de-la-guia-soporte-multimedia-en-ubuntu/"&gt;aquí&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Lista de servidores para apt-get:&lt;br /&gt;&lt;blockquote&gt;deb http://us.archive.ubuntu.com/ubuntu/ dapper main restricted&lt;br /&gt;deb-src http://us.archive.ubuntu.com/ubuntu/ dapper main restricted&lt;br /&gt;&lt;br /&gt;# Ubuntu 'Universe' Repository&lt;br /&gt;deb http://archive.ubuntu.com/ubuntu/ dapper universe main restricted multiverse&lt;br /&gt;deb-src http://us.archive.ubuntu.com/ubuntu/ dapper universe main restricted multiverse&lt;br /&gt;&lt;br /&gt;# Ubuntu 'Backports' Repository&lt;br /&gt;deb http://us.archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse&lt;br /&gt;deb-src http://us.archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse&lt;br /&gt;&lt;br /&gt;# Ubuntu Security Updates&lt;br /&gt;deb http://security.ubuntu.com/ubuntu dapper-security main restricted&lt;br /&gt;deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted&lt;br /&gt;deb http://security.ubuntu.com/ubuntu dapper-security universe&lt;br /&gt;deb-src http://security.ubuntu.com/ubuntu dapper-security universe&lt;br /&gt;&lt;br /&gt;# PLF - Collection of Non-Free Proprietary Codecs &amp;amp; Applications&lt;br /&gt;deb ftp://ftp.free.fr/pub/Distributions_Linux/plf/ubuntu/plf/ dapper free non-free&lt;br /&gt;deb-src ftp://ftp.free.fr/pub/Distributions_Linux/plf/ubuntu/plf/ dapper free non-free&lt;br /&gt;&lt;br /&gt;# WINE - Windows API for Linux&lt;br /&gt;deb http://wine.budgetdedicated.com/apt dapper main&lt;br /&gt;deb-src http://wine.budgetdedicated.com/apt dapper main&lt;br /&gt;&lt;br /&gt;# Skype - VoIP Software&lt;br /&gt;deb http://download.skype.com/linux/repos/debian/ stable non-free&lt;br /&gt;&lt;br /&gt;# Opera - Web Browser&lt;br /&gt;deb http://deb.opera.com/opera/ etch non-free&lt;/blockquote&gt;Y comando para el mogollón:&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install totem-xine totem-xine-firefox-plugin libxine-extracodecs w32codecs libdvdcss2 flashplugin-nonfree sun-java5-plugin banshee streamtuner xmms skype msttcorefonts realplay f-spot&lt;br /&gt;&lt;/blockquote&gt;Donde:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Banshee ? CD Ripper/Music Player/Track Editor con soporte para ipod en Gnome.&lt;/li&gt;&lt;li&gt;F-Spot ? Administrador/Editor de fotos con soporte para subir a Flickr.&lt;/li&gt;&lt;li&gt;Streamtuner ? Ligero navegador de Radios a traves de internet (SHOUTcast, Live365, etc.)&lt;/li&gt;&lt;li&gt;Skype ? Aplicación de Voip.&lt;/li&gt;&lt;li&gt;RealPlayer Gold 10 ? Alternativa también propietaria al reproductor Windows Media Player.&lt;/li&gt;&lt;/ul&gt;Fanáticos de AMD64 abstenerse. Demasiada aplicación sólo disponible para 32 bits.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-115027563963760814?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/115027563963760814/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=115027563963760814' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115027563963760814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/115027563963760814'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/06/multimedia-y-ubuntu-linux.html' title='Multimedia y Ubuntu Linux'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-114541076818456033</id><published>2006-04-19T03:27:00.000+02:00</published><updated>2006-04-19T03:39:28.236+02:00</updated><title type='text'>DNS</title><content type='html'>Hace unos días tuve un problema extraño. No había forma de navegar por internet. Sólo a determinadas páginas. No a todas.&lt;br /&gt;&lt;br /&gt;Se podía acceder a www.google.es y a www.eupla.unizar.es por ejemplo, pero no a páginas extrañas. De las poco buscadas. De esas 'underground' que de vez en cuando se visitan para estar uno al filo de la noticia. Vamos, de esas en las que la mayoría de la gente no entra.&lt;br /&gt;&lt;br /&gt;Haciendo pruebas con el maravilloso comando 'ping' descubrí que el problema era que los servidores de DNS configurados en mi /etc/resolv.conf sólo devolvían IP de las URL que tenían en caché. Así que tenían algún tipo de error que hacía que no pudiera navegar mas que por direcciones que hubieran sido pedidas anteriormente por otro usuario.&lt;br /&gt;&lt;br /&gt;Solución sencilla. Sólo hay que cambiar unos servidores por otros. ¿Y de dónde se sacan las IP's de esos servidores? Pues gracias al buen trabajo de algunas personas se pueden obtener de &lt;a href="http://www.bandaancha.st/toolsdns.php"&gt;http://www.bandaancha.st/toolsdns.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Página áltamente recomendable para cualquiera que tenga conexión ADSL en España.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-114541076818456033?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/114541076818456033/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=114541076818456033' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/114541076818456033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/114541076818456033'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/04/dns.html' title='DNS'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-113873011872125853</id><published>2006-01-31T18:46:00.000+01:00</published><updated>2006-01-31T20:02:08.383+01:00</updated><title type='text'>Ubuntu Xperience</title><content type='html'>Al fin me decidí por instalarme la última versión de la distribución linux &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;. Mira que estaba contento con &lt;a href="http://fedora.redhat.com/"&gt;Fedora&lt;/a&gt; y que siempre he sido un fan de &lt;a href="http://www.mandriva.com/"&gt;Mandriva linux&lt;/a&gt;. Pero bueno, todo el mundo estaba que si lo bien que iba y lo maja que era. Y además, tenía las últimas versiones de software y se actualizaba fácilmente. También estaba el uso (o la falta de uso, mejor) de la cuenta de root en esa distribución. Total, que al final me decidí a probar.&lt;br /&gt;&lt;br /&gt;Además, estaba el hecho de que tengo un &lt;a href="http://www.amd.com/"&gt;AMD&lt;/a&gt; 64 con lo que me apetecía tener una distribución más adaptada a mi hardware actual que la Fedora 32 que tenía instalada. Puesto y bien mandado, empecé la instalación con alegría en el corazón.&lt;br /&gt;&lt;br /&gt;Y todo empezó muy bien. Incluso buscaba actualizaciones en Internet antes de terminar la instalación, con lo que los paquetes eran lo más actuales posible. También funcionó bien el montaje de las particiones que tenía de la Fedora, con lo que no perdí las configuraciones personales de mi cuenta en $HOME.&lt;br /&gt;&lt;br /&gt;Llegó el primer rearranque y... &lt;span style="font-family:courier new;"&gt;grub&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y nada más. No carga nada. Ningún sistema operativo.&lt;br /&gt;&lt;br /&gt;Bueno, como ya me había pasado algo parecido anteriormente, tenía impresa la documentación de grub y pude arrancar el ubuntu. Terminó de instalarse aunque me dio unos mensajes de fallo del demonio de bluetooth. ¿Y para qué si yo no tengo bluetooth? Bueno, para luego. Primero que funcione.&lt;br /&gt;&lt;br /&gt;¡Vaya! Fallan las X. El driver de la tarjeta gráfica. Era de esperar. Es una &lt;a href="http://www.ati.com/"&gt;ATI&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Pero eso me obliga a tener que rearrancar la máquina. Y vuelta al &lt;span style="font-family:courier new;"&gt;grub&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ala pues. Vuelvo a meter los comandos necesarios para arrancar la ubuntu. Y vuelven a fallar las X. Como no he sido previsor, no se de dónde sacar los drivers. Navegar por Internet en modo texto no es muy agradable pero no es imposible, así que gracias al uso de e-links y a &lt;a href="http://www.google.es/"&gt;google&lt;/a&gt;, encontré los arcanos necesarios para poder instalar el driver.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install xorg-driver-fglrx&lt;br /&gt;echo fglrx | sudo tee -a /etc/modules&lt;br /&gt;sudo sed -e 's/"ati"/"fglrx"/' -i /etc/X11/xorg.conf&lt;/blockquote&gt;Pero no funcionó.&lt;br /&gt;&lt;br /&gt;Recordé que el driver de fglrx para Fedora contenía un script de configuración (fglrxconfig). Lo busqué y lo ejecuté. ¡Milagro! Las X funcionan. Pero aún queda el problema del grub.&lt;br /&gt;&lt;br /&gt;Dos horas e incontables rearanques después, decidí dejarlo. No había forma. Aparte, entre intento e intento había descubierto unas cosillas que hacían inviable para mí el uso de la ubuntu 64.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;El plug-in de &lt;a href="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"&gt;flash&lt;/a&gt; sólo funciona sobre sistemas operativos de 32 bits. No funciona en 64.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.winehq.com/"&gt;Wine&lt;/a&gt; no funciona ni compila (lógicamente) sobre sistemas operativos de 64 bits.&lt;/li&gt;&lt;li&gt;No conseguí que funcionara &lt;a href="http://www.gnome.org/projects/totem/"&gt;Totem&lt;/a&gt; para ver películas.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Así que, para que sea a 32 bits, me vuelvo a mi Fedora Core 4 con wine en rpm, plugin de flash y mplayer para ver películas.&lt;br /&gt;&lt;br /&gt;Por mucho que me guste &lt;a href="http://www.nongnu.org/synaptic/"&gt;Synaptic&lt;/a&gt;... ¡Que viva Fedora!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-113873011872125853?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/113873011872125853/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=113873011872125853' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113873011872125853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113873011872125853'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/01/ubuntu-xperience.html' title='Ubuntu Xperience'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-113794605524757299</id><published>2006-01-22T16:44:00.000+01:00</published><updated>2006-12-21T22:36:06.874+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheat sheet'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Hojas para tramposos</title><content type='html'>Curiosa traducción del término inglés &lt;em&gt;cheat sheets&lt;/em&gt;. Supongo que nombrarlas como &lt;em&gt;chuletas&lt;/em&gt; es algo más correcto y comprensible. Pero ya que espero que no sirvan para aprobar ningún examen sino que se utilicen para resfrescar la memoria cuando más se necesite, creo que la denominación más adecuada sería &lt;em&gt;colecciones de pequeños recordatorios&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Me gustaría destacar 2 de estas colecciones:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ilovejackdaniels.com/cheat-sheets/"&gt;Cheat Sheets - ILoveJackDaniels&lt;/a&gt;: centrada en temas de desarrollo web. Los formatos disponibles para descargar son &lt;acronym title="Portable Network Graphics"&gt;PNG&lt;/acronym&gt; y &lt;acronym title="Portable Document Format"&gt;PDF&lt;/acronym&gt; (excepto la de colores RGB, que sólo está en PNG).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ilovejackdaniels.com/ruby-on-rails/ruby-on-rails-cheat-sheet/"&gt;Ruby on Rails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ilovejackdaniels.com/cheat-sheets/asp-vbscript-cheat-sheet/"&gt;&lt;acronym title="Active Server Pages"&gt;ASP&lt;/acronym&gt;/VBScript&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ilovejackdaniels.com/design/html-character-entities-cheat-sheet/" lang="en"&gt;HTML Character Entities&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ilovejackdaniels.com/javascript/javascript-cheat-sheet/"&gt;JavaScript&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ilovejackdaniels.com/php/mysql-cheat-sheet/"&gt;MySQL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ilovejackdaniels.com/cheat-sheets/mod_rewrite-cheat-sheet/"&gt;Módulo de Apache mod_rewrite&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ilovejackdaniels.com/css/css-cheat-sheet/"&gt;CSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ilovejackdaniels.com/php/php-cheat-sheet/"&gt;PHP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ilovejackdaniels.com/resources/colour-chart/"&gt;Paleta de colores RGB&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.petefreitag.com/item/455.cfm" lang="en"&gt;Cheat Sheet Roundup&lt;/a&gt;. Incluye entre sus referencias a las anteriores y añade otras muchas, como por ejemplo: &lt;acronym title="Concurrent Version System"&gt;CVS&lt;/acronym&gt;, Subversion, Vim, ColdFusion, &lt;acronym title="Java Server Pages"&gt;JSP&lt;/acronym&gt;, Java, Python...&lt;br /&gt;&lt;br /&gt;Ambos enlaces son indispensables para vuestra colección particular.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-113794605524757299?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/113794605524757299/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=113794605524757299' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113794605524757299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113794605524757299'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2006/01/hojas-para-tramposos.html' title='Hojas para tramposos'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-113362377152499614</id><published>2005-12-03T16:28:00.000+01:00</published><updated>2005-12-03T17:49:21.070+01:00</updated><title type='text'>Instalación de IE6sp1 en Linux - Parte 3</title><content type='html'>Como ya se ha comentado en los dos [&lt;a href="http://abcweb.blogspot.com/2005/11/instalacin-de-ie6sp1-en-linux-parte-1.html"&gt;1&lt;/a&gt;][&lt;a href="http://abcweb.blogspot.com/2005/11/instalacin-de-ie6sp1-en-linux-parte-2.html"&gt;2&lt;/a&gt;] artículos anteriores, el objetivo es instalar IE6sp1 con los plugins de &lt;a href="http://www.macromedia.com/software/flashplayer/"&gt;Flash&lt;/a&gt; y de &lt;a href="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/default.html"&gt;ShockWave&lt;/a&gt; sobre un Linux &lt;a href="http://fedora.redhat.com/"&gt;Fedora Core 4&lt;/a&gt;. En el artículo &lt;a href="http://abcweb.blogspot.com/2005/11/instalacin-de-ie6sp1-en-linux-parte-2.html"&gt;anterior&lt;/a&gt; se había conseguido realizar plenamente este &lt;span style="font-style: italic;"&gt;crimen&lt;/span&gt;, pero no estábamos del todo satisfechos de cómo nos había quedado.&lt;br /&gt;&lt;br /&gt;Y aunque parece que con la versión 1.3 de IEs4Linux el problemilla con las TTF's se ha solucionado, en este artículo emplearemos &lt;a href="http://www.von-thadden.de/Joachim/WineTools/"&gt;winetools&lt;/a&gt; para instalar y configurar lo que necesitamos.&lt;br /&gt;&lt;br /&gt;La verdad es que winetools, cuando funciona bien, es de lo mejorcito. La versión probada para el primer artículo fallaba más que una escopeta de feria. Por eso las menciones hechas allí sobre las chapuzas que hubo que hacer para que funcionara el explorer y se pudieran descargar los plugins que no se instalaban con la versión 1.0.1 de IEs4Linux. Ahora todo eso ya no es necesario.&lt;br /&gt;&lt;br /&gt;Ahora todo funciona de maravilla. No se necesita hacer prácticamenta nada más que seguir la instalación de las aplicaciones en el orden que salen en el menú del programa. Pero cómo sólo interesan algunas de las múltiples utilidades que instala, aquí va una pequeña guía de cómo hacer una instalación con los requisitos mínimos deseados como objetivo de este artículo. Aunque desde luego, nadie debería privarse de investigar un poco por los menús de la aplicación. Si algo se rompe es suficiente con borrar el directorio $HOME/.wine y empezar de nuevo.&lt;br /&gt;&lt;br /&gt;Una vez instalado el &lt;a href="http://www.von-thadden.de/Joachim/WineTools/index.html#download"&gt;rpm&lt;/a&gt;, desde una consola de texto se ha de ejecutar la siguiente orden:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;wt&lt;/span&gt;&lt;/blockquote&gt; Y aparecerán una serie de ventanas sobre el programa y la licencia del mismo. Si se lee la primera de las ventanas, esta avisa en inglés que no se ha configurado adecuadamente wine aún y que recomienda ir a la opción 'Base setup' e instalar una por una todas las opciones de ese submenú antes de instalar cualquier otro software. El resto de las ventanas son avisos y las EULA's de diferentes programas que instala. Leer esto con atención si se quiere mantener el software del ordenador siempre dentro de la legalidad.&lt;br /&gt;&lt;br /&gt;Una vez dentro de la opción 'Base setup' lo primero es ejecutar la opción 'Create a Fake Windows drive'. Esto creará el directorio oculto .wine dentro de nuestro $HOME y realizará todas las acciones necesarias para hacer creer a los programas que se vayan a instalar después que windows existe. A las preguntas sobre la unidad de &lt;span style="font-style: italic;"&gt;cd-rom&lt;/span&gt;, el &lt;span style="font-style: italic;"&gt;username&lt;/span&gt; y la &lt;span style="font-style: italic;"&gt;organization&lt;/span&gt; basta contestarlas pinchando sobre el botón de OK.&lt;br /&gt;&lt;br /&gt;La siguiente acción es descargar e instalar la fuente Arial desde la opción 'Truetype Font Arial', las librerías 'DCOM98' y las 'Microsoft Fundation Clases 4.x' del menú 'Base setup'. Aquí me gustaría volver a insistir en que todos estos programas tiene una EULA que hay que cumplir si no se quiere estar utilizando este software de manera alegal.&lt;br /&gt;&lt;br /&gt;Una vez hecho esto, ya podemos pasar a la instalación de IE6sp1 en inglés. Lo que también instalará el Outlook Express y Windows Mediaplayer 6.4 de forma automática y sin opción de elegir. Bueno, luego se puede desinstalar lo que no interese desde la opción 'Unistall' del menú principal de winetools.&lt;br /&gt;&lt;br /&gt;Como de lo que hay en este menú ya no se necesita nada más, podemos volver al menú principal pinchando en el botón 'Main menu'.&lt;br /&gt;&lt;br /&gt;Lo siguiente a instalar serían las fuentes que salen en la opción 'Install Microssoft Truetype core fonts'. Muy sencillo. sólo hay que pinchar en cada una de ellas y listo.&lt;br /&gt;&lt;br /&gt;De la opción 'Install Windows system software' sería recomendable instalar los 'Common Controls 5.0'. Sobre todo si se necesita acceder a servicios web microsoft tales como el OWA (&lt;a href="http://www.microsoft.com/spain/servidores/exchange/evaluacion/outlook/owa_trial.aspx"&gt;Outlook Web Acess&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Una vez echo esto. sería recomendable ir a la página de &lt;a href="http://www.macromedia.com/shockwave/welcome"&gt;test de plugins&lt;/a&gt; de macromedia y comprobar las versiones de los mismos. A partir de este momento se puede dejar de utilizar las winetools ya que todo lo demás se puede instalar y actualizar como si de un windows normal se tratara. Tanto es así que se puede probar a instalar, por ejemplo, la &lt;a href="http://barra.yahoo.es/"&gt;barra&lt;/a&gt; de yahoo. Y funciona. Aunque la barra de &lt;a href="http://toolbar.msn.es/"&gt;MSN&lt;/a&gt; no ha sido posible hacer que funcionara.&lt;br /&gt;&lt;br /&gt;Como última cosa. winetools crea dentro de $HOME/bin un script para lanzar el IE. Tan sólo es necesario hacer un icono de acceso directo en el escritorio de las X para poder acceder cómodamente a la ejecución del IE.&lt;br /&gt;&lt;br /&gt;Unos pocos apuntes como colofón:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Actualizar el plugin de flahs que viene con IE6sp1. Es una versión antigua y tiene problemas de seguridad.&lt;/li&gt;   &lt;li&gt;Es muy recomendable en el caso del IE el tener instalada una barra de herramientas como la de &lt;a href="http://toolbar.google.es/"&gt;google&lt;/a&gt; o la de &lt;a href="http://barra.yahoo.es/"&gt;yahoo&lt;/a&gt;. Evitan las molestias de las ventanas pop-up y en el caso de la barra de yahoo también previene el spyware.&lt;/li&gt;   &lt;li&gt;Recordar leer las licencias (EULA's) de los programas que instalemos en wine. Muchos son gratuitos, pero otros no lo son o exigen que se tenga licencia de otro programa para poder ser legalmete instalados (como IE o DCOM98).&lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;Links interesantes sobre estos artículos:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.getfirefox.com/"&gt;Firefox&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.winehq.com/"&gt;Wine&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.von-thadden.de/Joachim/WineTools/"&gt;Wine Tools&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.tatanka.com.br/ies4linux/"&gt;IEs4Linux&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.kyz.uklinux.net/cabextract.php"&gt;Cab extract&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://corefonts.sourceforge.net/"&gt;Core web fonts&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.reactos.org/xhtml/en/index.html"&gt;Reactos&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://sidenet.ddo.jp/winetips/config.html"&gt;Sidenet&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://barra.yahoo.es/"&gt;Barra de Yahoo&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://toolbar.google.es/"&gt;Barra de Google&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.desktoplinux.com/articles/AT7798707143.html"&gt;Eligiendo una vía de actualización de Windows 98&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-113362377152499614?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/113362377152499614/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=113362377152499614' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113362377152499614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113362377152499614'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/12/instalacin-de-ie6sp1-en-linux-parte-3.html' title='Instalación de IE6sp1 en Linux - Parte 3'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-113300043029332537</id><published>2005-11-26T11:11:00.000+01:00</published><updated>2005-12-05T17:26:40.646+01:00</updated><title type='text'>Instalación de IE6sp1 en Linux - Parte 2</title><content type='html'>Como ya está indicado en la &lt;a href="http://abcweb.blogspot.com/2005/11/instalacin-de-ie6sp1-en-linux-parte-1.html"&gt;primera parte&lt;/a&gt; de este &lt;span style="font-style: italic;"&gt;post&lt;/span&gt;, hay versiones nuevas de casi todos los programas utilizados para cometer esta aberración. Así pues, lo primero será bajar las nuevas versiones de los programas implicados.&lt;br /&gt;&lt;ol&gt; &lt;li&gt;Descargar el RPM de &lt;a href="http://www.winehq.org/site/download"&gt;WINE&lt;/a&gt; e instalarlo como root (rpm -Uvh nb_paquete.rpm)&lt;/li&gt;&lt;li&gt;Descargar el tar.gz de &lt;a href="http://www.tatanka.com.br/ies4linux/download.php"&gt;IEs4LINUX&lt;/a&gt; y descomprimir en el $HOME del usuario a configurar.&lt;/li&gt;&lt;li&gt;Descargar el RPM de &lt;a href="http://www.von-thadden.de/Joachim/WineTools/index.html#download"&gt;WINETOOLS&lt;/a&gt; e instalarlo como root (rpm -Uvh nb_paquete.rpm)&lt;/li&gt; &lt;/ol&gt; Como se puede ver, no está la utilidad &lt;a href="http://www.kyz.uklinux.net/cabextract.php"&gt;cabextract&lt;/a&gt; puesto que se supone que ya está descargada e instalada tal y como se indica en la primera parte de este artículo.&lt;br /&gt;&lt;br /&gt;Como primer inconveniente, parece ser que es recomendable desinstalar e instalar de nuevo wine si se encuentra una versión anterior ya instalada en la máquina. Además de esto, sería recomendable eliminar las instalaciones previas de IE y re-hacer todo desde cero.&lt;br /&gt;&lt;br /&gt;El primer paso después de la desinstalación y posterior instalación de la versión 0.9.2 de wine en fedora core 4 fue probar el script de IEs4Linux.&lt;br /&gt;&lt;br /&gt;Y sigue tan sencillo como antes, sólo que ahora instala la última versión del plugin de &lt;a href="http://www.macromedia.com/software/flashplayer/"&gt;flash&lt;/a&gt; automáticamente sin tener que decirle nada. Para instalar el plugin de &lt;a href="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/default.html"&gt;shockwave&lt;/a&gt;, el de &lt;a href="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveAuthorware"&gt;authorware&lt;/a&gt; y el de &lt;a href="http://www.ipix.com/download/ie_activex.html"&gt;IPIX&lt;/a&gt;, no hay más que hacer click en los links anteriores y se instalarán tal y como en un windows normal. Se puede probar la instalación de los plugins de &lt;a href="http://www.macromedia.com/"&gt;macromedia&lt;/a&gt; en &lt;a href="http://www.macromedia.com/shockwave/welcome/"&gt;esta&lt;/a&gt; página.&lt;br /&gt;&lt;br /&gt;También se puede instalar la barra de google. Tan sólo hay que ir a &lt;a href="http://toolbar.google.com/"&gt;esta&lt;/a&gt; página y presionar en el botón de descarga. Todo funciona como la seda.&lt;br /&gt;&lt;br /&gt;Pero hay peros. Los más importantes se refieren a las fuentes para mostrar las páginas y el propio IE. Todo sale con una fuente grande y horrorosa. Tanto los menús del navegador como la barra de google como las propias páginas web que se visualizan. Solución. Ir a &lt;a href="http://www.microsoft.es/"&gt;microsoft&lt;/a&gt; y descargar e instalar un pack de fuentes. Como &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1f0303ae-f055-41da-a086-a65f22cb5593&amp;displaylang=es"&gt;este&lt;/a&gt; o &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=6d75b47e-78f1-4e1e-b466-aea0197d72e3&amp;amp;displaylang=es"&gt;este&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Es muy recomendable instalar (cuidado con las EULA's) todas las fuentes que aparecen en &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=34153&amp;package_id=56408"&gt;este&lt;/a&gt; otro sitio. Con estas fuentes se mejora la visibilidad de las páginas, pero para nada la de los menús del navegador ni la de la barra de google. Pero el objetivo está cumplido. IE6sp1, plugins de flash y de shockwave funcionando.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;Actualización:&lt;/span&gt; Con la versión 1.3 de IEs4Linux se soluciona este pequeño inconveniente de las fuentes. Al instalarse, afectan también a la ventana del IE y no sólo a las páginas que muestra. Aun así, es preferible aunque un poco más compleja, la instalación desde las winetools.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Aunque queda muy feo y seguimos sin haber utilizado las winetools. Eso para el siguiente y espero último artículo sobre este asunto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-113300043029332537?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/113300043029332537/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=113300043029332537' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113300043029332537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113300043029332537'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/11/instalacin-de-ie6sp1-en-linux-parte-2.html' title='Instalación de IE6sp1 en Linux - Parte 2'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-113234482933481638</id><published>2005-11-18T20:44:00.000+01:00</published><updated>2005-11-18T22:04:11.833+01:00</updated><title type='text'>La tabla de rutas</title><content type='html'>Hace unos días, un amigo mío contactó conmigo por &lt;a href="http://www.jabber.org/about/overview.shtml"&gt;jabber&lt;/a&gt;. Se conecta a internet mediante un router Zyxel inalámbrico de los que proporciona &lt;a href="http://www.telefonica.net/"&gt;Telefónica&lt;/a&gt; y quería saber cuál era su dirección IP externa. Es decir, la que se ve de cara a internet. Le dije que fuera a la página web de &lt;a href="http://www.adsl4ever.com/"&gt;adsl4ever&lt;/a&gt; y que &lt;a href="http://www.adsl4ever.com/ip/"&gt;allí&lt;/a&gt; lo podría ver.&lt;br /&gt;&lt;br /&gt;Una vez que hubo satisfecho su curiosidad, intentó ver si tenía algún puerto abierto en su router. El más fácil de comprobar era el puerto de gestión del router, accesible por interfaz web (puerto 80). Así que dirigió su navegador a la dirección IP externa del router y... cáspita! Sale la interfaz de login para la administración del router.&lt;br /&gt;&lt;br /&gt;¿Significa eso que cualquiera que acceda a la dirección externa de mi router puede ver esta página? ¿Y que puede intentar, mediante prueba y error, logarse en mi router y cambiar y hacer lo que quiera con el?&lt;br /&gt;&lt;br /&gt;Eso, en efecto, sería un problema de seguridad. Así que volvió a contactar conmigo y me preguntó cómo saber si tenía algún puerto abierto en su router. Hay varios 'port scanners' en internet, pero siempre recuerdo el &lt;span style="font-style: italic;"&gt;shieldsUP&lt;/span&gt; de &lt;a href="http://www.grc.com/"&gt;Gibson Research Corporation&lt;/a&gt;. Después de realizar el test de puertos, mi amigo descubrió que no había ni un solo puerto abierto en su router. Así que, visto desde el exterior, estaba todo cerrado y bien cerrado.&lt;br /&gt;&lt;br /&gt;Pero el seguía entrando en la página web de administración del router apuntando con su navegador a su dirección IP externa. Algo que no lo dejaba del todo tranquilo. Bueno, pues la solución es sencilla. El comportamiento del router es normal y se debe a su tabla de rutas.&lt;br /&gt;&lt;br /&gt;Es fácil entender el problema mirando la salida del comando '&lt;span style="font-style: italic;"&gt;route'&lt;/span&gt; en linux o&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt; 'route print'&lt;/span&gt; en M$ Windows. Si se mira con atención la línea donde aparece la IP del interfaz de red del sistema, puede verse algo como esto:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Destino de red     Máscara de red   Puerta de acceso   Interfaz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   ...&lt;/span&gt;                                    &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;                                        &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;                                             &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;   192.168.xxx.xx  255.255.255.255  127.0.0.1          127.0.0.1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;Como puede verse en esta captura, aunque uno intente conectarse desde la máquina local al interfaz de red, acabas siendo antendido por el interfaz de loopback. Ese es el caso del router. Aunque se intenta conectar con la interfaz externa del router, en su tabla de rutas aparece una línea equivalente a esta, que hace que cualquier petición que venga de la red interna al interfaz externo acabe siendo atendida por la interfaz interna. Y por lo tanto, aparece el login para entrar en la configuración del router.&lt;br /&gt;&lt;br /&gt;Así que no, nadie va a poder acceder a la configuración del router desde internet. A no ser que en la configuración del firewall que cierra los puertos aparezcan un par de excepciones a las reglas por defecto. Excepciones que permiten a cierto grupo de direcciones IP pertenecientes &lt;a href="http://www.telefonica.net/"&gt;Telefónica&lt;/a&gt; acceder remotamente a la configuración de &lt;span style="font-style: italic;"&gt;su&lt;/span&gt; router.&lt;br /&gt;&lt;br /&gt;Pero eso, eso es otra historia ;-)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-113234482933481638?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/113234482933481638/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=113234482933481638' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113234482933481638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113234482933481638'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/11/la-tabla-de-rutas.html' title='La tabla de rutas'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-113165126264485073</id><published>2005-11-10T20:15:00.000+01:00</published><updated>2005-11-10T20:34:22.666+01:00</updated><title type='text'>PCSofía: La sabiduría del PC</title><content type='html'>Con este nombre se presenta el amigo Hernan Berguan. Espero que nos dé la lata durante mucho tiempo. Estrena &lt;a href="http://groups.google.es/group/PCSofia"&gt;publicación online&lt;/a&gt; y estrena &lt;a href="http://pcsofia.blogspot.com/"&gt;weblog&lt;/a&gt;. Todo un despliegue de medios para intentar llegar a cuanta más gente mejor.&lt;br /&gt;&lt;br /&gt;Los temas sobre los que nos va a deleitar están relacionados con el quehacer diario de cualquier usuario de un ordenador personal. He aquí el sumario de temas del primer número.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Descubrimiento de la herramienta &lt;q&gt;&lt;em&gt;oculta&lt;/em&gt;&lt;/q&gt; &lt;a href="http://netsquirrel.com/msconfig/"&gt;msconfig&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Creación de archivos &lt;acronym title="Portable Document Format"&gt;PDF&lt;/acronym&gt; con &lt;a href="http://sourceforge.net/projects/pdfcreator/"&gt;PDFCreator&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Enseñanzas sobre como buscar en Google&lt;/li&gt;&lt;li&gt;Semejanzas y diferencias entre el Explorer y el Internet Explorer&lt;/li&gt;&lt;li&gt;Filosofía y &lt;em&gt;modus vivendi&lt;/em&gt; de los &lt;strong&gt;pringaos&lt;/strong&gt; de la informática doméstica&lt;/li&gt;&lt;li&gt;Y un apunte sobre &lt;a href="http://www.google.com/url?sa=D&amp;q=http://www.el-mundo.es/navegante/2005/09/15/laimagen/1126776424.html"&gt;retretes galácticos&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Que este resumen no os sirva como excusa para no suscribiros, bien al &lt;a href="http://groups.google.es/group/PCSofia"&gt;boletín electrónico&lt;/a&gt; (en formato PDF), bien a la &lt;a href="http://pcsofia.blogspot.com/"&gt;bitácora&lt;/a&gt;. El estilo utilizado es refrescante y educativo. Merece la pena leerlo. A mí ya me ha enganchado y espero con ansia el próximo número.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-113165126264485073?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/113165126264485073/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=113165126264485073' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113165126264485073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113165126264485073'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/11/pcsofa-la-sabidura-del-pc.html' title='PCSofía: La sabiduría del PC'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-113129881351114779</id><published>2005-11-06T18:35:00.000+01:00</published><updated>2006-12-21T22:32:00.034+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='delicious'/><title type='text'>Del.icio.us, o como mantener al día tus favoritos</title><content type='html'>En casa, en el trabajo, en el cibercafé..., todos en algún momento hemos necesitado guardar un enlace en la lista de favoritos del navegador web. Para muchos, incluso, es un hábito muy común. Pero el sistema tradicional de manejo de estas listas de enlaces, deja bastante que desear en cuanto a clasificación y deslocalización. Mantener múltiples listas, según el navegador que estemos usando o la ubicación donde nos encontremos, y lo que aun es peor, como ir clasificando por temas todos los enlaces no es tarea sencilla si no podemos mantener todo centralizado.&lt;br /&gt;&lt;br /&gt;Con el objetivo de paliar estos dos problemas, clasificación y centralización, nace el proyecto &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt;. Es un proyecto donde todos los enlaces que van incorporando los usuarios, a la vez son públicos para el resto. Nos permite tener centralizados todos los enlaces porque todos se almacenan en Internet y, gracias a su sistema de clasificación mediante etiquetas (tags en inglés), podremos ir catalogando nuestra colección de favoritos.&lt;br /&gt;&lt;br /&gt;La gracia de las etiquetas es que sean a la vez breves y descriptivas. Por ejemplo, si para clasificar una dirección web necesitamos más de 4 o 5 etiquetas, probablemente no estaremos eligiendo las más adecuadas. El otro matiz importante sobre la elección de las etiquetas es que, si son comunes a las que utilizan otros usuarios, será más fácil buscar por estos conceptos dentro del propio sistema del.icio.us. Recordemos que toda la información es compartida y pública y, si la clasificación de la misma es la correcta, será más fácil recuperarla y acceder a otras direcciones relacionadas.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Cómo empezar a utilizar del.icio.us&lt;/h4&gt;Para &lt;a href="http://del.icio.us/register"&gt;resgistrarse en el sitio web de del.icio.us&lt;/a&gt;, sólo es necesario un nombre, una dirección de correo y una contraseña.&lt;br /&gt;&lt;br /&gt;El modo de funcionamiento tampoco puede ser más sencillo, pero para que todavía lo sea más, vamos a explicar como simplificarlo gracias a varias extensiones disponibles para el &lt;a href="http://www.getfirefox.com/"&gt;navegador web Firefox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://delicious.mozdev.org/"&gt;Extensión delicious&lt;/a&gt;&lt;/h4&gt;El proceso de agregación de enlaces a nuestra colección no puede ser más simple gracias a esta extensión. Una vez instalada, añade un menú propio al menú contextual propio del navegador y, lo que es mejor, se puede añadir un nuevo botón en la barra de herramientas. Si esta es la opción elegida, mientras visualizamos la página que queremos agregar, sólo hará falta darle al nuevo botón para añadirla a la colección.&lt;br /&gt;&lt;br /&gt;Para terminar de completar el proceso, se nos mostrará un diálogo con los siguientes campos:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Cuenta de del.icio.us donde agregar el enlace (podemos configurar varias en la extensión).&lt;/li&gt;&lt;li&gt;Dirección web de la página.&lt;/li&gt;&lt;li&gt;Título&lt;/li&gt;&lt;li&gt;Descripción (de no más de 255 caracteres).&lt;/li&gt;&lt;li&gt;Etiquetas para clasificar la información (separadas por espacios, se pueden poner tantas como queramos). Para que nos sirvan de referencia, también se mostrarán las etiquetas que nos recomienda el sistema, las de nuestra colección y las más populares que tengan que ver con la información que queremos clasificar.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Truco&lt;/h5&gt;Si utilizamos como etiqueta &lt;code&gt;for:nombre_usuario_delicious&lt;/code&gt; podremos mandar enlaces a otro usuario. &lt;a href="http://www.microsiervos.com/archivo/internet/delicious-for.html"&gt;Más información sobre este tema en Microsiervos&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://dietrich.ganx4.com/foxylicious/"&gt;Extensión foxylicious&lt;/a&gt;&lt;/h4&gt;Una cosa es tener siempre en todo momento y lugar (siempre que tengamos conexión a la red), nuestra colección de enlaces en Internet, pero puede que queramos tener una copia de seguridad, por si acaso, en nuestro propio navegador. Esto es posible gracias a &lt;strong&gt;foxylicious&lt;/strong&gt;. Con esta herramienta podremos mantener una copia sincronizada de la colección de enlaces en nuestros favoritos del navegador.&lt;br /&gt;&lt;br /&gt;Después, exportando la lista a formato &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;, tendremos preparada una copia de seguridad.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://www.polarhome.com:753/%7Epwlin05/delic123/"&gt;Extensión delic123&lt;/a&gt;&lt;/h4&gt;O mejor llamada, delicious todo en uno. Nos intalará una barra de herramientas con todas las opciones a realizar con del.icio.us. Entre sus opciones, destacaré una: el campo de búsqueda que permite buscar enlaces en todo el sitio, en nuestra cuenta y en muchos sitios más.&lt;br /&gt;&lt;br /&gt;Si os aficionais al sistema, acabareis utilizando esta última extensión. Está en constante evolución, al igual que el propio del.icio.us, para estar a la par en funcionalidades.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-113129881351114779?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/113129881351114779/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=113129881351114779' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113129881351114779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113129881351114779'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/11/delicious-o-como-mantener-al-da-tus.html' title='Del.icio.us, o como mantener al día tus favoritos'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-113112009541418415</id><published>2005-11-04T16:40:00.000+01:00</published><updated>2005-12-03T17:51:26.426+01:00</updated><title type='text'>Instalación de IE6sp1 en Linux - Parte 1</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;Actualización:&lt;/span&gt; Hay versiones nuevas de wine, IEs4Linux y winetools. Todo es ahora mucho más fácil. De hecho, con wine e IEs4Linux es suficiente para el objetivo de este &lt;span style="font-style: italic;"&gt;crimen&lt;/span&gt;. Aunque hay otras cosas a tener en cuenta que serán añadidas a la segunda parte de este post.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Ya se, ya se. Antes que nada, no es por mi gusto el haber tenido que hacer semejante aberración. A mi entender mucho mejor un &lt;a href="http://www.getfirefox.com/"&gt;Firefox&lt;/a&gt; como navegador que el IE e incluso que &lt;a href="http://www.opera.com/"&gt;Opera&lt;/a&gt; tanto para Linux como para Windows o Mac. Pero por desgracia, no me ha quedado otro remedio si quería acceder a un curso gratuito del programa &lt;a href="http://www.forintel.es/"&gt;forintel&lt;/a&gt; que me habían concedido. Para ejecutar dicho curso on-line, se necesita la versión 8 del plugin de Flash y el plugin de ShockWave, ambos no disponibles en plataforma linux :-(&lt;br /&gt;&lt;br /&gt;También quiero indicar antes que nada que este es un método que funciona. No es elegante ni está bien realizado, pero funciona. Es lo que sería un 'hack', pero a lo bruto. O sea, sin ningún derecho a ser definido como un 'hack'.&lt;br /&gt;&lt;br /&gt;Vamos paso a paso. Lo primero, lo necesario para cometer el &lt;span style="font-style: italic;"&gt;crimen&lt;/span&gt; sobre una &lt;a href="http://fedora.redhat.com/"&gt;Fedora Core 4&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Descargar el RPM de &lt;a href="http://www.winehq.com/"&gt;WINE&lt;/a&gt; e instalarlo como root (rpm -Uvh nb_paquete.rpm)&lt;/li&gt;   &lt;li&gt;Descargar el RPM de &lt;a href="http://www.kyz.uklinux.net/cabextract.php"&gt;CABEXTRACT&lt;/a&gt; e instalarlo como root (rpm -Uvh nb_paquete.rpm)&lt;/li&gt;   &lt;li&gt;Descargar el tar.gz de &lt;a href="http://www.tatanka.com.br/ies4linux/"&gt;IEs4LINUX&lt;/a&gt; y descomprimir en el $HOME del usuario a configurar.&lt;/li&gt;   &lt;li&gt;Descargar el RPM de &lt;a href="http://www.von-thadden.de/Joachim/WineTools/"&gt;WINETOOLS&lt;/a&gt; e instalarlo como root (rpm -Uvh nb_paquete.rpm)&lt;/li&gt; &lt;/ol&gt;&lt;br /&gt;Doy por hecho que lo que hay que hacer como root se hace como root y el resto como usuario normal.&lt;br /&gt;&lt;br /&gt;Una vez listo todo esto, desde una consola de texto, entrar en el directorio que ha creado IEs4LINUX y lanzar la aplicación "./ies4linux". Este es un script muy facilón donde simplemente hay que elegir lo que se quiere instalar. Como a mi sólo me interesaba el IE6 elegí la opción &lt;span style="font-weight: bold;"&gt;[2]&lt;/span&gt; pero si eres desarrollador web y quieres probar los IE 5.0, 5.5 y 6.0 los puedes instalar todos juntos sin que se peguen entre ellos con sólo elegir la opción &lt;span style="font-weight: bold;"&gt;[1]&lt;/span&gt;. Si quieres salir del script sin hacer nada, usa Ctrl-C :-)&lt;br /&gt;&lt;br /&gt;Este script descargará los siguientes ficheros:&lt;br /&gt;&lt;br /&gt;249863USA8_128.EXE - Parche para el IE6&lt;br /&gt;249973USA8.exe - Parche para el IE6&lt;br /&gt;DCOM98.EXE - Librerías de Win98 no emuladas por wine.&lt;br /&gt;ie60.exe - El instalador propiamente dicho del IE6&lt;br /&gt;&lt;br /&gt;Y realizará la instalación de los mismos adecuadamente en un directorio oculto del $HOME del usuario desde el que se haya lanzado el programa. El directorio se llama .ies4linux y lo necesitaremos luego para la configuración de las winetools.&lt;br /&gt;&lt;br /&gt;Al terminar la instalación, se genera un icono en el escritorio del usuario en GNOME o KDE de 'Internet Explorer 6.0' que tiene una copita de vino en medio para indicar que funciona a través de wine. Doble click sobre el (o uno sólo según se tenga configurado el escritorio) y &lt;span style="font-style: italic;"&gt;voilá&lt;/span&gt;. Navegando con IE6. Se puede comprobar que se identifica como un MSIE 6.0 sobre ¡Windows 98! en este &lt;a href="http://www.iec.csic.es/criptonomicon/info.html"&gt;link&lt;/a&gt; (mejor decir no a la instalación del plugin de java que salta, sólo por si acaso).&lt;br /&gt;&lt;br /&gt;Bueno, pero en esta instalación faltan los plugins de Flash y de ShockWave, además de la barra de Google (un añadido muy muy recomendable si se usa IE en windows) y no se han tocado para nada las winetools.&lt;br /&gt;&lt;br /&gt;Pues eso será para la segunda parte.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-113112009541418415?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/113112009541418415/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=113112009541418415' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113112009541418415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/113112009541418415'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/11/instalacin-de-ie6sp1-en-linux-parte-1.html' title='Instalación de IE6sp1 en Linux - Parte 1'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-112827285836827572</id><published>2005-10-02T19:06:00.000+02:00</published><updated>2006-12-21T22:33:26.670+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Extensiones para desarrolladores web en Firefox</title><content type='html'>Aparte de ser un navegador web más seguro que &lt;acronym title="Microsoft Internet Explorer"&gt;MSIE&lt;/acronym&gt;, &lt;a href="http://www.spreadfirefox.com/"&gt;Firefox&lt;/a&gt; está también mejor diseñado para usuarios de todo tipo. Las extensiones que se pueden añadir a la aplicación, según gustos y necesidades de cada cual, le dan a este navegador la potencia necesaria para desmarcarse, por ahora, claramente del resto.&lt;br /&gt;&lt;br /&gt;En la página oficial de la &lt;a href="http://www.mozilla.org/"&gt;fundación Mozilla&lt;/a&gt;, podeis encontrar una interminable lista de &lt;a href="https://addons.mozilla.org/extensions/?application=firefox"&gt;extensiones&lt;/a&gt;, &lt;a href="https://pfs.mozilla.org/plugins/"&gt;plugins&lt;/a&gt; y &lt;a href="https://addons.mozilla.org/themes/?application=firefox"&gt;temas&lt;/a&gt; para personalizar &lt;a href="http://mozilla.org/products/firefox/"&gt;Firefox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;En este artículo, voy a enumerar algunas extensiones que pueden ser de gran ayuda para el desarrollo de páginas y aplicaciones web. Si conoceis alguna más, no dudeis en comentarla.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://chrispederick.com/work/webdeveloper/"&gt;Web Developer Toolbar&lt;/a&gt;&lt;/h4&gt;Tal vez sea la extensión más conocida y más completa. Con ella se pueden realizar multitud de acciones como:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;deshabilitar la caché, las cookies, las imágenes, java, javascript, los colores de la página, las hojas de estilos, ...,&lt;/li&gt;&lt;li&gt;añadir hojas de estilos de usuario, ver todos los archivos &lt;acronym title="Cascading Style Sheets"&gt;CSS&lt;/acronym&gt; de una determinada página, &lt;a href="http://tantek.com/CSS/Examples/boxmodelhack.html"&gt;cambiar el modelo de cuadro&lt;/a&gt; entre el usado por el motor de Mozilla, Gecko, y el usado por Internet Explorer; ver los estilos aplicados a un elemento de una página, poder cambiar entre los diferentes estilos de los medios utilizados (handheld, screen, print), incluso editar los estilos de una página desde el propio navegador,&lt;/li&gt;&lt;li&gt;ver sobreimpresionado en un formulario el código &lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt; que lo construye (para poder ver campos ocultos en la propia página, por ejemplo), ver el contenido de campos de tipo password (transforma los asteriscos en texto en claro), quitar longitudes máximas a los campos de texto, mostrar información detallada de los formularios (todos los elementos con todos los valores de sus atributos),&lt;/li&gt;&lt;li&gt;mostrar las dimensiones y tamaños (y hasta las rutas) de las imágenes (de los elementos &lt;a href="http://www.w3.org/MarkUp/html3/img.html"&gt;&lt;code&gt;img&lt;/code&gt;&lt;/a&gt;, no de las usadas como fondo en las hojas de estilos), deshabilitar imágenes (incluso las de fondo) o hacerlas invisibles, ...,&lt;/li&gt;&lt;li&gt;ver información sobre la página: teclas de acceso rápido (access keys), identificadores y clases de los elementos de la página, tamaños de los elementos de bloque (aquellos que son contenedores de otros elementos), valores de los atributos &lt;code&gt;href&lt;/code&gt; de los enlaces, cookies, javascript, listado de enlaces, cabeceras &lt;acronym title="HyperText Transport Protocol"&gt;HTTP&lt;/acronym&gt; de respuesta,&lt;/li&gt;&lt;li&gt;limpiar la caché, el historial, las cookies; ver los comentarios de una página; marcar todos los enlaces como visitados o no visitados (y probar fácilmente los estilos de cada estado); enlaces para consultar las especificaciones del &lt;a href="http://w3c.org/" title="Worl Wide Web Consortium"&gt;W3C&lt;/a&gt;, ...&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;La lista de funciones todavía es más larga, pero con esta muestra podeis daros cuenta de su gran utilidad.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://users.skynet.be/mgueury/mozilla/"&gt;HTML Validator&lt;/a&gt;&lt;/h4&gt;Una forma bastante cómoda de saber si seguimos los estándares del HTML es instalar esta extensión. Podremos ver al instante si la página es válida según el &lt;a href="http://www.w3.org/QA/2002/04/Web-Quality.html"&gt;&lt;code&gt;DOCTYPE&lt;/code&gt;&lt;/a&gt; que hayamos elegido. Marca tanto los errores graves como los avisos. También es posible verificar si cumplimos los diferentes &lt;a href="http://www.w3.org/TR/WCAG10/"&gt;niveles de accesibilidad&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Además, esta herramienta nos da la posibilidad de limpiar y corregir el código HTML, gracias a que está basada en &lt;a href="http://tidy.sourceforge.net/"&gt;Tidy&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://paulenglish.com/firefox/"&gt;FatWeb&lt;/a&gt;&lt;/h4&gt;Tras instalar esta utilidad, en la barra de estado del navegador podremos ver tanto el número de archivos que componen la página actual (archivos CSS, JavaScript, imágenes y la propia página HTML), como los bytes que suman entre todos ellos. En una ventana auxiliar, que se mostrará si hacemos click sobre la parte de la barra de estado que ocupa, aparecen en forma de resumen, los tamaños de cada uno de los ficheros.&lt;br /&gt;&lt;br /&gt;También proporciona información sobre el tiempo estimado que costaría descargar esa cantidad de bytes con una conexión lenta (56 &lt;abbr title="Kilobit"&gt;Kb&lt;/abbr&gt;) y una rápida (1.5 &lt;abbr title="Megabit"&gt;Mb&lt;/abbr&gt;).&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://livehttpheaders.mozdev.org/"&gt;Live HTTP Headers&lt;/a&gt;&lt;/h4&gt;Este visor de cabeceras HTTP puede ser muy útil en cuanto estamos trabajando contra servidores web. Podremos seguir todo el tráfico del protocolo HTTP generado por nuestras peticiones y las respuestas del servidor. Incluso se pueden ver los datos pasados vía POST en los formularios.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://headermonitor.mozdev.org/"&gt;Header Monitor&lt;/a&gt;&lt;/h4&gt;Si tenemos instalada la extensión &lt;strong&gt;Live HTTP Headers&lt;/strong&gt;, también podremos ver en acción a esta otra. Es menos potente que la anterior, pero tiene una ventaja: el contenido de la directiva HTTP que decidamos controlar aparece en la barra de estado del navegador, sin necesidad de abrir una ventana auxiliar.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://tamperdata.mozdev.org/"&gt;Tamper Data&lt;/a&gt;&lt;/h4&gt;Permite ver y &lt;strong&gt;modificar&lt;/strong&gt; las cabeceras HTTP. Puede capturar las peticiones de cada página y alterar los valores de las cabeceras antes de mandarlas al servidor.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://chrispederick.com/work/useragentswitcher/"&gt;User Agent Switcher&lt;/a&gt;&lt;/h4&gt;Puede ser interesante ver como se muestran algunas páginas según nos identifiquemos con un navegador u otro. Esta utilidad sirve para cambiar la identificación del explorador web. Por defecto viene con algunos definidos, como Internet Explorer 6, Opera 7.54 y NetScape 4.8, pero lo interesante es poder definir cuantas identificaciones queramos.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://www.kevinfreitas.net/extensions/linkchecker/"&gt;LinkChecker&lt;/a&gt;&lt;/h4&gt;Como su nombre indica, sirve para verificar si todos los enlaces de una página van a algún sitio. Conforme vaya analizando los enlaces, veremos como los va poniendo de un color diferente al que tenían en un principio: verde si es correcto, rojo si es inválido, amarillo si se requieren credenciales para seguir el enlace y gris si no ha sido analizado. Una vez que haya terminado, si nos ponemos encima de cada enlace, nos dirá si el enlace es válido o no, si no lo ha analizado por apuntar a una cuenta de correo o contener código javascript (&lt;a href="http://www.wait-till-i.com/index.php?p=104"&gt;práctica esta que debemos evitar siempre&lt;/a&gt;). Si algún enlace no es sintácticamente correcto, es posible que la herramienta se pare y deje de analizar, pero no será muy difícil localizar el enlace conflictivo: el siguiente enlace al último coloreado.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://www.extensionsmirror.nl/index.php?showtopic=736"&gt;Inspector Widget&lt;/a&gt;&lt;/h4&gt;Añade una opción en el menú contextual para acceder al inspector &lt;acronym title="Document Object Model"&gt;DOM&lt;/acronym&gt; que viene en Firefox.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://www.kevinfreitas.net/extensions/measureit/"&gt;MeasureIt&lt;/a&gt;&lt;/h4&gt;Sirve para medir zonas de la página en píxeles, tanto la altura como la altura. Como inconvenientes diré que he sido incapaz de redimensionar una zona creada con esta herramienta. No sé si es que no se puede o es que todavía no la sé manejar adecuadamente. Tampoco he sabido como tener más de una zona definida al mismo tiempo.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://checky.sourceforge.net/extension.html"&gt;Checky&lt;/a&gt;&lt;/h4&gt;Para que no se nos olvide ningún elemento ni ninguna prueba a la hora de validar una página: HTML, CSS, &lt;acronym title="Resource Description Framework"&gt;RDF&lt;/acronym&gt;, &lt;acronym title="Really Simple Syndication"&gt;RSS&lt;/acronym&gt;, WAI/508, enlaces, navegador lynx online, ... Casi todas las herramientas existentes en Internet para validar contenidos están recogidas en esta extensión, y están a un sólo click de distancia.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://www.tawdis.net/taw3/cms/es/herramientas/extension.html"&gt;TAW3&lt;/a&gt;&lt;/h4&gt;TAW son las siglas de Test de Accesibilidad Web. Pulsando sobre el botón que añade en la barra de estado de Firefox, tendremos la posibilidad de verificar si seguimos las &lt;a href="http://www.w3.org/TR/WCAG10/"&gt;pautas de accesibilidad (niveles 1, 2 y 3)&lt;/a&gt;. El validador online al que se conecta es &lt;a href="http://www.tawdis.net/"&gt;www.tawdis.net&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://www.standards-schmandards.com/index.php?show/fangs"&gt;Fangs&lt;/a&gt;&lt;/h4&gt;¿Cómo saber si los usuarios que utilizan lectores de pantalla ven exactamente el contenido tal y como queremos que lo lean? Esta interesante utilidad viene a solucionar nuestras dudas. En una ventana auxiliar nos mostrará la forma en que un lector de páginas web mostrará la información al usuario. Las herramientas de validación de accesibilidad no aseguran que los contenidos sean realmente accesibles, pero esta herramienta puede ayudarnos, y mucho, a conseguir ese objetivo.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://wmlbrowser.mozdev.org/"&gt;wmlbrowser&lt;/a&gt;&lt;/h4&gt;Ya no hace falta otra herramienta para visualizar contenido &lt;acronym title="Wireless Markup Language"&gt;WML&lt;/acronym&gt;. Si desarrollamos páginas para dispositivos móviles con Firefox y esta extensión es más que suficiente.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://www.splintered.co.uk/experiments/73/"&gt;Dublin Core Viewer&lt;/a&gt;&lt;/h4&gt;Muestra los metadatos que hay en formato &lt;a href="http://dublincore.org/"&gt;Dublin Core&lt;/a&gt; en los elementos de cabecera &lt;a href="http://www.w3.org/TR/REC-html40/struct/global.html#edef-META"&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt; y &lt;a href="http://www.w3.org/TR/REC-html40/struct/links.html#edef-LINK"&gt;&lt;code&gt;link&lt;/code&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://www.extensionsmirror.nl/index.php?showtopic=1119"&gt;ColorZilla&lt;/a&gt;&lt;/h4&gt;Con esta herramienta podremos conseguir los colores de una página y hacer nuestra propia paleta personal. El color capturado es mostrado en formato &lt;acronym title="Red Green Blue"&gt;RGB&lt;/acronym&gt; decimal y hexadecimal, y en formato &lt;acronym title="Hue Saturation Value"&gt;HSV&lt;/acronym&gt;.&lt;br /&gt;&lt;br /&gt;Lleva predefinidas paletas de colores web seguros, colores con nombre, colores del sistema..., además de la posibilidad de añadir más.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-112827285836827572?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/112827285836827572/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=112827285836827572' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/112827285836827572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/112827285836827572'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/10/extensiones-para-desarrolladores-web.html' title='Extensiones para desarrolladores web en Firefox'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-112742344787003682</id><published>2005-09-22T23:15:00.000+02:00</published><updated>2005-09-22T23:12:01.386+02:00</updated><title type='text'>Otro colaborador</title><content type='html'>Al igual que a Mr. Azul, &lt;span style="font-style: italic; font-weight: bold;"&gt;jact&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;insistió en que me uniera en su aventura.&lt;br /&gt;Por supuesto, acepté. Sólo espero ser capaz de estar a la altura.&lt;br /&gt;Siempre me he considerado un persona blanda, si me piden ayuda ofrezco la mano.&lt;br /&gt;Cuando este compañero y amigo me lo ofreció con ilusión, no pude decirle que no.&lt;br /&gt;&lt;br /&gt;Nali sí es programador y trabaja con &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;jact&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;, pero fuera de su ámbito.&lt;br /&gt;Aunque he tenido el placer, y honor, de complementarme con él en un proyecto de éxito.&lt;br /&gt;&lt;br /&gt;Mis escasos conocimientos sobre web y diseño son casi nulos y si alguno hay, caducado.&lt;br /&gt;Así que dudo que alguna vez publique algo sobre esto. Si lo hago, seguro, copiado.&lt;br /&gt;&lt;br /&gt;Me decanto más por escribir sobre mi pobre existencia.&lt;br /&gt;Que gracias a gente como &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;jact&lt;/span&gt;&lt;/span&gt;, y a "alguna" otra, sale a veces de pobre y obtiene ganancia.&lt;br /&gt;&lt;br /&gt;Debo agradecer a Mr.Azul que me haya proporcionado un guión.&lt;br /&gt;Quería escribir, y &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;jact&lt;/span&gt;&lt;/span&gt; deseaba que escribiera. No me surgen buenas ideas bajo presión.&lt;br /&gt;&lt;br /&gt;Ya vale de chorradas, por ahora. La próxima vez, algo más serio, prometido.&lt;br /&gt;Tal vez algún día, con esfuerzo, escriba como Fuckowski, o parecido.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-112742344787003682?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/112742344787003682/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=112742344787003682' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/112742344787003682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/112742344787003682'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/09/otro-colaborador.html' title='Otro colaborador'/><author><name>nali</name><uri>http://www.blogger.com/profile/01878113025890990733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-112568591607158062</id><published>2005-09-02T20:27:00.000+02:00</published><updated>2006-12-21T22:35:06.475+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cadius'/><title type='text'>Cita a ciegas</title><content type='html'>Quien me iba a decir que asistiría a una. En más de una ocasión estuve a punto de no ir, de no entrar. Pero lo hice, y no me arrepiento. En la quinta edición del &lt;a href="http://www.torresburriel.com/weblog/index.php?p=645"&gt;Cadius Zaragoza&lt;/a&gt;, que organiza &lt;a href="http://www.torresburriel.com/"&gt;Daniel Torres Burriel&lt;/a&gt;, fue mi primera vez. Mi primer contacto con personas como &lt;a href="http://www.pixerdesign.com/"&gt;Silvia Arcos&lt;/a&gt; o los diseñadores de páginas como la &lt;a href="http://www.cai.es/"&gt;Cai&lt;/a&gt; o &lt;a href="http://www.viviendaragon.org/"&gt;Toc-Toc&lt;/a&gt;, Carol y Alberto. No tuve el placer de conocer a todo el grupo pero espero hacerlo en una próxima ocasión.&lt;br /&gt;&lt;br /&gt;También, gracias a ese encuentro, he podido descubrir &lt;a href="http://www.cocinaparahombres.com/"&gt;Cocina para hombres&lt;/a&gt;, de Joaquín Gracia. Ya he comenzado a publicitarla entre mis amistades.&lt;br /&gt;&lt;br /&gt;Sólo soy un simple &lt;a href="http://openclinic.sourceforge.net/"&gt;programador web&lt;/a&gt;, con muy poca experiencia en comparación con las personas con las que hablé. Me sentí como el nuevo de una clase donde todos se conocían pero fue muy interesante conocer a los diseñadores, a los habitantes del "otro" lado.&lt;br /&gt;&lt;br /&gt;Confío en que se mantenga el espíritu de los encuentros y que al menos nos volvamos a juntar, como mínimo, los mismos el mes que viene. Quiero felicitar desde estas líneas a &lt;a href="http://www.torresburriel.com/"&gt;Daniel&lt;/a&gt; por ser el causante de este experimento. Como pudiste observar, tienes un gran poder de convocatoria.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-112568591607158062?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/112568591607158062/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=112568591607158062' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/112568591607158062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/112568591607158062'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/09/cita-ciegas.html' title='Cita a ciegas'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-112525619736372845</id><published>2005-08-28T20:54:00.000+02:00</published><updated>2005-11-04T18:38:13.320+01:00</updated><title type='text'>Colaborador</title><content type='html'>Como mi amigo jact ha insistido bastante, al final me he decidido y he añadido a mi e-persona (Mr. Azul) como colaborador de su blog.&lt;br /&gt;&lt;br /&gt;Mr. Azul no es programador web ni se interesa por el diseño. Pero visto que este segundo post no va de esas cosas tan profundas, espero los temas que pretendo postear no resulten en exceso offtopic del blog al que se van a ser subidos.&lt;br /&gt;&lt;br /&gt;Nunca he manejado un programa de estos así que primero será cuestón de aprender cómo funciona y ver que ocurre. Mi intencion es postear aquí las cosas que me van pasando en mis vidas como informático penitente (poco más o menos como todos los informáticos de pro).&lt;br /&gt;&lt;br /&gt;Querias un colaborador, amigo mio, y aqui lo tienes. Con sus faltas de ortografía incluídas. Espero mis salidas de tema no desbaraten tu ordenado blog. Y recuerda, &lt;span style="font-weight: bold;"&gt;soy un irresponsable&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Saludos.&lt;br /&gt;&lt;br /&gt;Mr. Azul&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-112525619736372845?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/112525619736372845/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=112525619736372845' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/112525619736372845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/112525619736372845'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/08/colaborador.html' title='Colaborador'/><author><name>Mr Azul</name><uri>http://www.blogger.com/profile/12391802457960520790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15675910.post-112473224358375405</id><published>2005-08-22T19:30:00.000+02:00</published><updated>2005-10-01T22:14:16.060+02:00</updated><title type='text'>Comienzo de una aventura</title><content type='html'>¡Claro que es una aventura! Ya inicié una hace unos años, cuando comencé mis andanzas en esto de Internet, con la publicación de &lt;a href="http://openclinic.sourceforge.net"&gt;OpenClinic&lt;/a&gt;, mi proyecto fin de carrera. Y ahora me embarco en otra. Pero esta vez espero no estar tan solo y contar con colaboraciones. Tanto de la gente que pare ocasionalmente por este trocito de red como por parte de algunos que yo me sé.&lt;br /&gt;&lt;br /&gt;Empezaré por definir los objetivos que me he propuesto en la elaboración de este blog:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Dicen que lo importante no es la idea, sino el llevarla a cabo. Este es el objetivo principal. ¡Ya basta de palabras y pasemos a la acción!&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Desde hace unos años, me dedico &lt;em&gt;profesionalmente&lt;/em&gt; a la programación web y me gustaría compartir algunos de mis conocimientos y referencias. Es hora de devolver algo de lo mucho que he aprendido en la red de redes.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Me he propuesto, al menos inicialmente, hacer un post al mes. El trabajo, el continuo reciclaje de conocimientos (leer y probar, leer y probar, ...), mi escasa vida social... creo que uno al mes, es más que suficiente.&lt;br /&gt;&lt;br /&gt;El nombre del blog se lo debo a un amigo, un buen amigo. Desde luego, imaginación no le falta.&lt;br /&gt;&lt;br /&gt;Espero no tardar mucho en personalizar el tema. Me han gustado los que había para elegir, hechos por diseñadores como &lt;a href="http://www.zeldman.com"&gt;Jeffrey Zeldman&lt;/a&gt;, &lt;a href="http://www.mezzoblue.com"&gt;Dave Shea&lt;/a&gt;, &lt;a href="http://www.stopdesign.com/"&gt;Douglas Bowman&lt;/a&gt;, &lt;a href="http://www.whatdoiknow.org/"&gt;Todd Dominey&lt;/a&gt;, &lt;a href="http://www.superfluousbanter.org/"&gt;Dan Rubin&lt;/a&gt;, &lt;a href="http://www.simplebits.com"&gt;Dan Cederholm&lt;/a&gt;, etc. De todos ellos he aprendido algo, pero ya que se supone que vivo de esto, debería notarse en algo. Que menos que hacer un tema...&lt;br /&gt;&lt;br /&gt;Y para terminar un deseo: mirar atrás dentro de un año y ver que el viaje ha merecido la pena, y que tal vez haya habido compañía durante el camino. Siempre es más divertido y enriquecedor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15675910-112473224358375405?l=abcweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abcweb.blogspot.com/feeds/112473224358375405/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15675910&amp;postID=112473224358375405' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/112473224358375405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15675910/posts/default/112473224358375405'/><link rel='alternate' type='text/html' href='http://abcweb.blogspot.com/2005/08/comienzo-de-una-aventura.html' title='Comienzo de una aventura'/><author><name>jact</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
