<?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:blogger='http://schemas.google.com/blogger/2008' 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-24671651</id><updated>2026-03-26T05:53:42.777-04:00</updated><category term="Rails"/><category term="Fórmula 1"/><category term="Herramientas"/><category term="Lengua"/><category term="Productividad"/><category term="Música"/><category term="Podcast"/><category term="Viajes"/><category term="Bicicleta"/><category term="Ejercicio"/><category term="Ferrari"/><category term="Fotos"/><category term="Gmail"/><category term="Logiciel"/><category term="Nokia"/><title type='text'>Jesús Dugarte</title><subtitle type='html'>La respuesta es 42. Pero... ¿me podría repetir la pregunta?</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24671651.post-3577151872444163338</id><published>2009-03-10T16:21:00.004-04:30</published><updated>2009-03-26T09:27:05.601-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fórmula 1"/><title type='text'>Calendario Fórmula 1 2009 (Horario de Venezuela)</title><content type='html'>&lt;p&gt;&lt;iframe src=&quot;http://www.google.com/calendar/embed?title=F%C3%B3rmula%201%202008%20(Horario%20de%20Venezuela)&amp;amp;showTitle=0&amp;amp;showCalendars=0&amp;amp;height=333&amp;amp;wkst=2&amp;amp;hl=es&amp;amp;bgcolor=%23FFFFFF&amp;amp;src=mq2on091r67ntgqdb0teavpp9k%40group.calendar.google.com&amp;amp;color=%235229A3&amp;amp;ctz=America%2FCaracas&quot; style=&quot; border-width:0 &quot; width=&quot;445&quot; height=&quot;333&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Ya agregué las fechas del 2009 al calendario compartido de Google de Fórmula 1 (Horario de Venezuela).&lt;/p&gt;

&lt;p&gt;Pueden exportar el calendario (en formato iCal) desde &lt;a href=&quot;http://www.google.com/calendar/ical/mq2on091r67ntgqdb0teavpp9k@group.calendar.google.com/public/basic.ics&quot;&gt;aquí&lt;/a&gt;, o usar la dirección para &lt;a href=&quot;http://www.google.com/support/calendar/bin/answer.py?hlrm=en&amp;amp;answer=37100&quot;&gt;subscribirse desde Google Calendar&lt;/a&gt;. O simplemente &lt;a href=&quot;http://www.google.com/calendar/embed?src=mq2on091r67ntgqdb0teavpp9k%40group.calendar.google.com&amp;amp;ctz=America/Caracas&quot;&gt;consultarlo en el navegador&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ACTUALIZACIÓN (26/03/2009): &lt;span style=&quot;font-style:italic;&quot;&gt;Había cometido un error en el horario (en la última instalación de Windows había olvidado actualizar el nuevo huso horario GMT -4:30), así que todas los eventos tenían una diferencia de media hora. Ya corregí el error. Espero no haberles causado muchos inconvenientes. No volverá a pasar, Número 1&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/3577151872444163338/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/3577151872444163338' title='7 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/3577151872444163338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/3577151872444163338'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2009/03/calendario-formula-1-2009-horario-de.html' title='Calendario Fórmula 1 2009 (Horario de Venezuela)'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-7262272405749653330</id><published>2008-04-26T19:16:00.000-04:30</published><updated>2008-04-26T19:19:40.950-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Viajes"/><title type='text'>Recursos para viajes en Internet</title><content type='html'>&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://lh4.ggpht.com/jdugarte/SBO9rsPaHnI/AAAAAAAAAPU/_8hcNb0ip7Y/1368.JPG?imgmax=800&quot;&gt;&lt;img src=&quot;http://lh4.ggpht.com/jdugarte/SBO9rsPaHnI/AAAAAAAAAPU/_8hcNb0ip7Y/1368.JPG?imgmax=800&quot; style=&quot;DISPLAY: inline; FLOAT: right; WIDTH: 250px; HEIGHT: 187px&quot; height=&quot;187&quot; width=&quot;250&quot;/&gt;&lt;/a&gt;En octubre del año pasado &lt;a href=&quot;http://www.caminandoando.blogspot.com/&quot; target=&quot;_blank&quot;&gt;Nayda&lt;/a&gt; y yo hicimos un viaje a Europa. La primera vez que yo fui, en el año 2000 (podría decir que en una época &quot;preinternáutica&quot;), sólo me valí del correo electrónico para contactar a las personas que quería visitar, sin mucha planificación por adelantado. En este segundo viaje prácticamente no hubo detalle que no hubiese estado relacionado a algún recurso de Internet. Dónde ir, qué hacer, cómo llegar allí, dónde conseguir los mejores pasajes y alojamientos, etc.: todo fue minuciosamente escarbado en Internet (con la ayuda de Google y de numerosos tips de mis amigos en Europa). Esto nos permitió reducir bastante los costos, y aprovechar al máximo el tiempo de viaje y disfrute, sobretodo tomando en cuenta el poco tiempo de planificación que tuvimos.&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Cómo llegar&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;Fueron muchos los sitios que me recomendaron, y que revisé, para conseguir buenas ofertas en pasajes aéreos, pero, sin duda alguna, el mejor de todos es &lt;a href=&quot;http://www.kayak.com/&quot; target=&quot;_blank&quot;&gt;Kayak&lt;/a&gt;. Kayak no vende los pasajes, sino que reune en un sólo sitio web los resultados de todas las aerolíneas y operadores de vuelos. Una vez que se selecciona el pasaje que nos gusta, la web lo lleva a uno directamente a la página de compra de la aerolínea seleccionada.&lt;/p&gt;
&lt;p&gt;La página de búsqueda es bastante sencilla: origen, destino, fechas de salida y retorno y número de pasajeros; tiene opciones adicionales para vuelos sólo de ida, ida y vuelta, múltiples ciudades, y fechas flexibles (por si hay mejores ofertas en un período cercano al que escogimos). Y hay una casilla muy importante, debajo del origen y destino, que dice &quot;&lt;span class=&quot;nearbyairports&quot;&gt;show nearby airports&quot; (mostrar aeropuertos cercanos)&lt;/span&gt; para el caso de vuelos a ciudades con aeropuertos pequeños cercanos, que permiten vuelos más baratos.&lt;/p&gt;
&lt;p&gt;La página de resultados puede intimidar un poco al principio, porque hay mucha información, pero creo que la gente de Kayak ha hecho un muy buen trabajo de diseño para poder concentrar tantas posibilidades juntas, y aun hacerla legible (luego del susto inicial). Allí podemos filtrar los resultados de acuerdo a numerosos parámetros: rango de precios, fechas (si escogimos fechas flexibles en la búsqueda), cantidad de escalas en el vuelo, líneas aéreas preferidas, horas de salida y llegada, duración del vuelo, duración de las escales (si las hay); podemos ver los resultados en forma de lista, matriz, o gráfico de tendencias; podemos ordenar la lista de diferentes maneras, ver más información de un vuelo en específico, enviarlo por correo, imprimirlo, o marcarlo como favorito (para futuras referencias y búsquedas)&lt;/p&gt;
&lt;p&gt;Otro detalle muy importante es que el precio que se muestra en los resultados tiene todos los impuestos requeridos en el aeropuerto, así que no hay sorpresas a la hora de planificar los costos del viaje. Con todas estas opciones, se puede uno armar el mejor plan de vuelo, dependiendo de lo que queramos y nuestra posibilidades.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Trenes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Algunos de los traslados eran más económicos por tren. Lamentablemente no encontré un sitio web como Kayak para pasajes de tren, así que tuve que recurrir a los diferentes sitios web de los servicios de trenes: &lt;a href=&quot;http://www.voyages-sncf.com/leisure/fr/launch/home/&quot; target=&quot;_blank&quot;&gt;SNCF&lt;/a&gt; (Francia), &lt;a href=&quot;http://www.bahn.de/international/view/es/index.shtml&quot; target=&quot;_blank&quot;&gt;DB Bahn&lt;/a&gt; (Alemania; hay unos &lt;a href=&quot;http://reiseauskunft.bahn.de/bin/query.exe/hn?ld=212.25&amp;amp;seqnr=1&amp;amp;ident=hx.02193725.1209228181&amp;amp;newrequest=yes&amp;amp;&quot; target=&quot;_blank&quot;&gt;trenes nocturnos&lt;/a&gt; que salen bastante económicos), &lt;a href=&quot;http://www.sbb.ch/en/index.htm&quot; target=&quot;_blank&quot;&gt;SBB&lt;/a&gt; (Suiza), &lt;a href=&quot;http://www.b-rail.be/main/F/&quot; target=&quot;_blank&quot;&gt;SNCB&lt;/a&gt; (Bélgica). Cada web tiene sus particularidades, y no todas están en español (o inglés).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Libreta de pasajes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Todos los pasajes electrónicos comprados en Internet (incluyendo las reservaciones de hotel), los encuaderné juntos en una sola libreta. De esta manera no había enredos posibles, ni problemas por olvido de pasajes en ningún punto del viaje. Hice varias copias de esta libreta, una que llevaba a la mano en todo momento, y otras guardadas en diferentes sitios del equipaje. Esto resultó ser una práctica muy útil, ya que en un apuro en Alemania, comprando un pasaje de metro, la dejé olvidada en la taquilla. Kein Stress: saqué una copia de la maleta, y a continuar el viaje.&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Alojamiento&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;Luego de regresar del viaje me enteré de la existencia de &lt;a href=&quot;http://www.hotelscombined.com/Home.aspx?languageCode=ES&quot; target=&quot;_blank&quot;&gt;Hotels Combined&lt;/a&gt;, un sitio web que me hubiese ahorrado tanto tiempo en la búsqueda de alojamiento, como lo hizo Kayak con los pasajes aéreos. Para el momento en que escribo esto, Hotels Combined busca simultáneamente en más de 30 sitios de reservaciones de alojamientos de Internet. Y tiene todas las opciones de búsqueda que podríamos esperar: ciudades, fechas, tipos de habitaciones, precios, disponibilidad, fotografías, opiniones de los huéspedes, mapas y direcciones, etc.&lt;/p&gt;
&lt;p&gt;A falta de esta web, usé, con muy buenos resultados, el sitio web &lt;a href=&quot;http://www.hostels.com/es/index.html&quot; target=&quot;_blank&quot;&gt;Hostels&lt;/a&gt;. Básicamente tiene las mismas opciones que Hotels Combined, sólo que busca en menos sitios a la vez. De hecho, Hostels.com es uno de los sitios en que busca Hotels Combined.&lt;/p&gt;
&lt;p&gt;Y por supuesto, cuando se trata de alojamientos (y de un poco de aventura), siempre está la opción de un &lt;a href=&quot;http://www.couchsurfing.com/&quot; target=&quot;_blank&quot;&gt;sofá amigo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Qué hacer&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;Si ya escogimos un destino de viaje, es muy probable que tengamos una idea más o menos clara de lo que queremos ver, visitar o hacer. Pero si no sabemos bien esto, o incluso para averiguar qué otras opciones hay, hay diferentes sitios web con este tipo de información detallada:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://wikitravel.org/es/Portada&quot; target=&quot;_blank&quot;&gt;Wikitravel&lt;/a&gt;: este sitio está repleto con tips de todo tipo (sitios, eventos, curiosidades, comidas, bebidas, etc.) sobre casi todos los rincones del planeta. Dado el carácter colaborativo de la web, no todos los consejos son adecuados para todo el mundo. Pero sin duda es una excelente fuente de información antes de viajar.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.whatsonwhen.com/sisp/index.htm&quot; target=&quot;_blank&quot;&gt;What&#39;s on when&lt;/a&gt;: aquí podemos escoger una ciudad, indicar el período de tiempo en que estaremos, y nos da una lista de todas las atracciones y eventos disponibles. Podemos seleccionar también una categoría de eventos (arte, música, festivales, deporte, ciencia, etc.). Una de las cosas que más me atrajo fue que tiene información de horarios, precios e indicaciones de cómo llegar a cada sitio o evento.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.worldeventsguide.com/&quot; target=&quot;_blank&quot;&gt;World Events Guide&lt;/a&gt;: bastante parecida a la anterior.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Planificación&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;Todas las opciones anteriores nos generaron una buena cantidad de información, la cual había que organizar e incluso compartir con todos los buenos amigos que tuvimos la oportunidad de visitar. Los dos principales recursos de Internet que utilizamos para eso fueron:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.google.com/calendar&quot; target=&quot;_blank&quot;&gt;Google Calendar&lt;/a&gt;: todo el itinerario del viaje estaba disponible en un calendario compartido con los amigos que visitaríamos. De esta manera estaban (casi) todos enterados de las fechas y horas de llegada y salida. De igual manera, todos ellos podían agregar cosas al calendario directamente: sugerencias, eventos, cosas por hacer, etc.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.google.com/notebook&quot; target=&quot;_blank&quot;&gt;Google Notebooks&lt;/a&gt;: toda la información de los cosas por hacer (que extrajimos de los sitios nombrados anteriormente) la ibamos colocando en un bloc de notas de Google, que también estaba compartido con todos los involucrados en el viaje, para que pudieran colocar sus sugerencias.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero no ibamos a estar pegados a un computador durante el viaje para consultar todo esto (de hecho, uno de los objetivos del viaje era desconectarme por completo del computador y de Internet). Así que unos días antes del viaje, con toda la información ya organizada, exporté el calendario y el bloc de notas a Word, lo imprimí y lo encuaderné por país y/o ciudad: nuestro Lonely Planet personal ;-)&lt;/p&gt;
&lt;p&gt;El poco tiempo de planificación antes del viaje, la cantidad de cosas que había que preparar, y, por supuesto, el montón de cosas de trabajo que había que dejar listas antes de tomar unas largas vacaciones, exigía un buen método de planificación de tareas. Y nada como el &lt;a href=&quot;http://es.wikipedia.org/wiki/Getting_Things_Done&quot; target=&quot;_blank&quot;&gt;GTD&lt;/a&gt; para eso, y mi programa de GTD favorito, &lt;a href=&quot;http://www.thinkingrock.com.au/&quot; target=&quot;_blank&quot;&gt;ThinkingRock&lt;/a&gt;. Gracias a él, y a la disciplina de llevar el método como se debe, pudimos terminar a tiempo todo lo necesario para el viaje.&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;¿Alguna otra cosa?&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;Todo esto, por supuesto, es sólo una ñingagésima parte de la multitud de cosas que se pueden encontrar en Internet para viajes. He nombrado sólo las cosas que, de todas las que investigué (y si que fueron bastantes), nos funcionaron para lograr el mejor viaje que pudimos. Si conocen de algún otro recurso que les haya dado buenos resultados, me encantaría escucharlo en los comentarios. Cualquier consejo es válido, ahora que estamos planificando nuestro &lt;a href=&quot;http://wikitravel.org/en/Nepal&quot; target=&quot;_blank&quot;&gt;siguiente destino&lt;/a&gt; :-D&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Juan David, Carlos, Liza, Ismerai, Laura, Fabian, Hector: muchas gracias por sus consejos, su paciencia y su hospitalidad. Fue un placer verlos a todos, y espero que tengamos otra oportunidad pronto :-) Y les juro que no pasa de esta década la publicación de las fotos del viaje ;-)&lt;/em&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/7262272405749653330/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/7262272405749653330' title='4 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/7262272405749653330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/7262272405749653330'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/04/recursos-para-viajes-en-internet.html' title='Recursos para viajes en Internet'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/jdugarte/SBO9rsPaHnI/AAAAAAAAAPU/_8hcNb0ip7Y/s72-c/1368.JPG?imgmax=800" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-8558579558029402593</id><published>2008-04-23T13:51:00.000-04:30</published><updated>2008-04-24T10:03:00.011-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fórmula 1"/><title type='text'>Otras maneras de ver las carreras de Fórmula 1</title><content type='html'>&lt;p&gt;&lt;img src=&quot;http://lh6.ggpht.com/jdugarte/SA9-apSoolI/AAAAAAAAAO0/4hVStqcvVN4/televisor.jpg?imgmax=200&quot; style=&quot;DISPLAY: inline; FLOAT: right; WIDTH: 150px; HEIGHT: 161px&quot; height=&quot;161&quot; width=&quot;150&quot;/&gt;Me gusta mucho la transmisión que hace Fox Sports de las carreras de Fórmula 1 (sólo en casos de emergencia recurro a Televen o Meridiano). Pero existen otras maneras de ver las carreras.&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Live Timing&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;La &lt;a href=&quot;http://www.formula1.com/&quot; target=&quot;_blank&quot;&gt;página oficial de la Fórmula 1&lt;/a&gt; provee un servicio de transmisión en vivo de datos de las carreras: &lt;a href=&quot;http://www.formula1.com/services/live_timing/&quot; target=&quot;_blank&quot;&gt;Live Timing&lt;/a&gt;. El servicio requiere registrarse, pero es gratis. Esto es una maravilla para ver de manera conjunta a la transmisión por TV.&lt;/p&gt;
&lt;p&gt;La pantalla del Live Timing tiene tres pestañas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Live Timing&lt;/strong&gt;: posiciones, tiempos por vuelta y por sector, entradas a pits, abandonos, intervalos de tiempo (al primer lugar y al carro de enfrente) y vueltas rápidas, todos los detalles de lo que ocurre en la pista, para todos los pilotos, en vivo. Además trae una columna de comentarios sobre la carrera. Es como ver la carrera como un operador de Matrix ;-)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clima&lt;/strong&gt;: temperatura ambiente y de la pista, humedad, velocidad del viento, pronósticos de lluvia, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Seguimiento de posiciones&lt;/strong&gt;: es un gráfico que muestra los cambios de posición de cada piloto, a lo largo de la carrera. Es fantástico para ver en perspectiva cómo se mueven nuestros pilotos favoritos en toda la carrera.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;¿Por qué ver el Live Timing?&lt;/strong&gt; La transmisión de TV sólo nos muestra una fracción de lo que está ocurriendo en la carrera. El Live Timing nos da una visión general. También nos brinda mucha información que sería muy difícil de ver en la pantalla de TV todo el tiempo.&lt;/p&gt;
&lt;p&gt;Además, si eres fanático de un piloto que no es una de las estrellas de la temporada, a menos que se dé un tortazo memorable, o esté molestando a alguna de esas estrellas, muy pocas veces lo podrás ver en la temporada. El Live Timing te puede dar la oportunidad de ver siempre cómo se comporta en carrera. Por ejemplo, hasta hace un tiempo, esta era casi la única manera de saber de Kubica en carrera. Y ahora que Kubica empieza a tener espacio en pantalla, podemos seguir a Vetel con detalle también.&lt;/p&gt;
&lt;p&gt;El Live Timing funciona también durante las sesiones de prácticas y clasificación, además de las carreras.&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Descargar las carreras de internet&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;Me encanta ver las carreras en vivo. Aun más desde que descubrí el Live Timing. Incluso, Brasil y Canadá normalmente van acompañadas de almuerzo con amigos, y hasta Australia y Japón van de la mano con tragos y fiesta. Pero no siempre es cómodo, o siquiera posible: las sesiones de China o Malasia son toda una prueba de resistencia; los fines de semana de las carreras en Europa hay que limitar las salidas los sábados, para poder estar despierto y lúcido a las 7am del domingo frente al TV; y este fin de semana me encantaría irme a la playa, pero no dejo de pensar en Barcelona. Y todo esto hay que manejarlo públicamente disimulando la obsesión, o aguantándote la caras de la gente (normal) cuando dices algo como &quot;Me encantaría, pero es que la carrera es a las...&quot;. (Si, ya estoy buscando ayuda, gracias por mencionarlo ;-)&lt;/p&gt;
&lt;p&gt;Pero a finales del año pasado, curioseando en unos buscadores de &lt;a href=&quot;http://es.wikipedia.org/wiki/BitTorrent_(protocolo)&quot; target=&quot;_blank&quot;&gt;torrentes&lt;/a&gt;, me encontré con la agradable sorpresa de que se pueden descargar las transmisiones de las carreras. Problema solucionado. Lo siento Fox Sports.&lt;/p&gt;
&lt;p&gt;(Para los que no conocen mucho sobre los torrentes, les recomiendo dos excelentes tutoriales de &lt;a href=&quot;http://orsai.es/aut.php&quot;&gt;Hernán Casciari&lt;/a&gt;, publicados en su blog &lt;a href=&quot;http://blogs.elpais.com/espoiler/&quot;&gt;Espoiler&lt;/a&gt;: &quot;&lt;a href=&quot;http://blogs.elpais.com/espoiler/2007/06/paso_uno_encien.html&quot; target=&quot;_blank&quot;&gt;Paso uno: encienda el ordenador&lt;/a&gt;&quot; y &quot;&lt;a href=&quot;http://blogs.elpais.com/espoiler/2007/06/cmo_ver_series_.html&quot; target=&quot;_blank&quot;&gt;Cómo ver series sin usar el televisor&lt;/a&gt;&quot;. Ahí podrán aprender qué es eso, cómo se usa y qué necesitan)&lt;/p&gt;
&lt;p&gt;Uso varios buscadores de torrentes, pero &lt;a href=&quot;http://www.motorworld.net/&quot; target=&quot;_blank&quot;&gt;MotorWorld&lt;/a&gt; tiene una sección dedicada exclusivamente a &lt;a href=&quot;http://www.motorworld.net/tracker&quot; target=&quot;_blank&quot;&gt;torrentes de deportes de motor&lt;/a&gt;. Ahí se puede encontrar de todo, nuevo y viejo. Requiere registro, aunque es también gratuito. Y además tiene un &lt;a href=&quot;http://www.motorworld.net/rss/torrents.xml&quot; target=&quot;_blank&quot;&gt;feed&lt;/a&gt; con todo lo último disponible en la sección.&lt;/p&gt;
&lt;p&gt;He encontrado transmisiones de las carreras en español, del canal &lt;a href=&quot;http://www.telecinco.es/informativos/formula1/&quot; target=&quot;_blank&quot;&gt;Telecinco&lt;/a&gt; español, así como las excelentes transmisiones del canal británico &lt;a href=&quot;http://www.itv-f1.com/&quot; target=&quot;_blank&quot;&gt;ITV&lt;/a&gt; (el nivel de acceso a personalidades para entrevistas y la cobertura de la pista y los pits en la antesala de la carrera es impresionante). Por supuesto, también se pueden descargar las clasificaciones.&lt;/p&gt;
&lt;p&gt;ITV transmite también las carreras a través de internet en su web, pero sólo hay acceso desde Inglaterra (más detalles al respecto en &lt;a href=&quot;http://blogf1.co.uk/2008/04/07/how-can-i-watch-formula-one-online/&quot; target=&quot;_blank&quot;&gt;BlogF1&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;ACTUALIZACIÓN (24/04/2008): &lt;em&gt;Miguel Onorato me envió un enlace a una excelente web para &quot;ver&quot; las carreras:&lt;/em&gt; &lt;a href=&quot;http://www.visionf1.com/&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;VisionF1&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. En sus propias palabras: &quot;es para los mas fiebruos (como nosotros) que quieran visualizar realmente como fueron las vueltas en la carrera&quot;. En la web podemos ver una animación de las carreras, con pequeños círculos que nos indican donde está cada carro. Tiene bastantes opciones interesantes para visualizar la carrera (variar la velocidad de la animación, seleccionar pilotos, diferentes colores para los estados, etc.). Además tiene una sección de análisis de las carreras, con tablas repletas de datos y detalles de la actuación de cada piloto. Es sin duda un recurso excelente para conocer más detalles sobre cada carrera. Me parece también un excelente recurso para acompañarlo con las carreras descargadas de internet, un poco para suplir el Live Timing que no tendríamos disponibles con ellas.&lt;/em&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/8558579558029402593/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/8558579558029402593' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/8558579558029402593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/8558579558029402593'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/04/otras-maneras-de-ver-las-carreras-de.html' title='Otras maneras de ver las carreras de Fórmula 1'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/jdugarte/SA9-apSoolI/AAAAAAAAAO0/4hVStqcvVN4/s72-c/televisor.jpg?imgmax=200" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-460383782147361793</id><published>2008-04-18T18:49:00.000-04:30</published><updated>2008-04-22T08:50:24.903-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fotos"/><category scheme="http://www.blogger.com/atom/ns#" term="Música"/><title type='text'>&amp;quot;Cuando sea grande...&amp;quot;</title><content type='html'>&lt;p&gt;&lt;a href=&quot;http://farm4.static.flickr.com/3294/2423854944_e09dba070c_b.jpg&quot; rel=&quot;lightbox&quot; title=&quot;Banda Show (6) por Jesús Dugarte, en Flickr&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3294/2423854944_e09dba070c.jpg&quot; style=&quot;DISPLAY: block; MARGIN-LEFT: auto; WIDTH: 432px; MARGIN-RIGHT: auto; HEIGHT: 287px; TEXT-ALIGN: center&quot; height=&quot;287&quot; alt=&quot;Banda Show (6)&quot; width=&quot;432&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&quot;Cuando yo sea grande, quiero...&quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://farm4.static.flickr.com/3039/2423070553_c1171bc66a_b.jpg&quot; rel=&quot;lightbox&quot; title=&quot;La banda en la plaza (2) por Jesús Dugarte, en Flickr&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3039/2423070553_c1171bc66a.jpg&quot; style=&quot;DISPLAY: block; MARGIN-LEFT: auto; WIDTH: 432px; MARGIN-RIGHT: auto; HEIGHT: 288px; TEXT-ALIGN: center&quot; height=&quot;288&quot; alt=&quot;La banda en la plaza (2)&quot; width=&quot;432&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&quot;... ser como ellos&quot;&lt;/em&gt;&lt;/p&gt;
&lt;div&gt;&lt;small&gt;Concierto de la Banda Simón Bolívar (Zulia)&lt;/small&gt;&lt;/div&gt;
&lt;div&gt;&lt;small&gt;Plaza Bolívar de Santa Rosa, 17 de Abril del 2008&lt;/small&gt;&lt;/div&gt;
&lt;div&gt;&lt;small&gt;Primer Seminario Internacional de Bandas Yamaha&lt;/small&gt;&lt;/div&gt;
&lt;div&gt;&lt;small&gt;&lt;a href=&quot;http://www.flickr.com/photos/jdugarte/sets/72157604612092663/&quot; target=&quot;_blank&quot;&gt;Album de Flickr&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;
&lt;p&gt;&lt;br/&gt;
ACTUALIZACIÓN (22/04/2008): Otros álbumes del evento:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://flickr.com/photos/jdugarte/sets/72157604662177509/&quot; target=&quot;_blank&quot;&gt;Banda de conciertos del Edo. Carabobo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://flickr.com/photos/jdugarte/sets/72157604663954012/&quot; target=&quot;_blank&quot;&gt;Banda Show del Eliodoro Pineda&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://flickr.com/photos/jdugarte/sets/72157604664574216/&quot; target=&quot;_blank&quot;&gt;Banda de Conciertos del Edo. Monagas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/460383782147361793/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/460383782147361793' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/460383782147361793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/460383782147361793'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/04/sea-grande.html' title='&amp;quot;Cuando sea grande...&amp;quot;'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm4.static.flickr.com/3294/2423854944_e09dba070c_t.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-1040705501800490122</id><published>2008-04-12T13:42:00.001-04:30</published><updated>2010-04-20T12:09:31.654-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Rails"/><title type='text'>Clase PCGuard en Ruby</title><content type='html'>&lt;p&gt;&lt;img src=&quot;http://lh5.ggpht.com/jdugarte/SAD70eYPTrI/AAAAAAAAAOs/-VxpY6kUCIE/Lock.png?imgmax=160&quot; style=&quot;DISPLAY: inline; FLOAT: right; WIDTH: 150px; HEIGHT: 150px&quot; height=&quot;150&quot; width=&quot;150&quot;/&gt;&lt;a href=&quot;http://www.sofpro.com/&quot; target=&quot;_blank&quot;&gt;PC Guard&lt;/a&gt; es una excelente herramienta para la protección de software y generación de licencias de usuario en Windows. Uno de sus productos es el &lt;a href=&quot;http://www.sofpro.com/accs.htm&quot; target=&quot;_blank&quot;&gt;Activation suite&lt;/a&gt;, que permite desarrollar aplicaciones que generen licencias válidas de PC Guard.&lt;/p&gt;
&lt;p&gt;La documentación del Activation suite Web sólo proporciona ejemplos de uso en PHP y ASP. La siguiente es una clase hecha en Ruby para manejar la validación y generación de licencias.&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
require &#39;win32ole&#39;

class PCGuard
  
  # Propiedades de sólo lectura
  attr_reader :activacion, :remocion, :volumendd, :bios, :cpu, :serialdd, :os, :cd, :red
  # Propiedades de lectura y escritura
  attr_accessor :programid, :sitecode, :mid, :features
  
  # Valores del &quot;ResponseCode&quot; del PCGuard
  STATUS_OK = 0             # Success
  STATUS_BAD_SITE_CODE = 1  # Site code is invalid
  STATUS_BAD_PROGRAM_ID = 3 # ProgramID is invalid
  STATUS_BAD_MID_CODE = 6   # Machine ID is invalid
  STATUS_MID_CODE_ERROR = 7 # Machine ID decryption error
  
  # Excepciones que genera la clase
  class BadSiteCode &amp;lt; StandardError; end  
  class BadProgramID &amp;lt; StandardError; end  
  class BadMID &amp;lt; StandardError; end  
  class MIDCodeError &amp;lt; StandardError; end  
  
  # Valida y genera todos los códigos de la licencia
  def initialize(programid = &quot;&quot;, sitecode = &quot;&quot;, mid = &quot;&quot;, features = 0)
    
    # Inicializar variables con los códigos de PCGuard
    @programid, @sitecode, @mid, @features = programid, sitecode, mid, features
    
    # Inicializar variables de las propiedades
    @activacion, @remocion, @volumendd, @bios, @cpu, @serialdd, @os, @cd, @red = &quot;&quot;, &quot;&quot;, 0, 0, 0, 0, 0, 0, 0
    
    # Generar códigos, si se han pasado todos los campos necesarios al inicializar el objeto
    self.generar unless @programid.empty? || @sitecode.empty? || @mid.empty?
    
  end
  
  # Genera todos los códigos
  def generar
    
    # Generar un error si no se han cargado todos los códigos de PCGuard necesarios para generar una licencia
    raise ArgumentError if  @programid.empty? || @sitecode.empty? || @mid.empty?
    
    # Crear objeto
    l = WIN32OLE.new(&quot;icgweb.icgen&quot;)
    
    # Inicializar códigos
    l.ProgramID = @programid

    # Generar códigos de ifentificación de la máquina
    l.SiteCode = @sitecode
    l.MachineID = @mid
    l.V5_CheckMachineID()
    
    # Validar
    if l.ResponseCode != STATUS_OK
      raise BadSiteCode if l.ResponseCode == STATUS_BAD_SITE_CODE
      raise BadMID if l.ResponseCode == STATUS_BAD_MID_CODE
      raise MIDCodeError if l.ResponseCode == STATUS_MID_CODE_ERROR
    end
    
    # Generar código de activación y remosión
    l.SiteCode = @sitecode
    l.MachineID = @mid
    l.Features = @features
    l.V5_CalculateActivationCode()
    
    # Validar
    if l.ResponseCode != STATUS_OK
      raise BadSiteCode if l.ResponseCode == STATUS_BAD_SITE_CODE
      raise BadProgramID if l.ResponseCode == STATUS_BAD_PROGRAM_ID
      raise BadMID if l.ResponseCode == STATUS_BAD_MID_CODE
    end
    
    # Asignar valores a las variables del objeto
    @activacion = l.ActivationCode # Código de activación
    @remocion = l.RemoveCode       # Código de remosión
    @volumendd = l.DriveID.to_i    # Hard drive volume serial ID
    @bios = l.BiosID.to_i          # Motherboard bios ID
    @cpu = l.CPUID.to_i            # CPU ID
    @serialdd = l.HDHWID.to_i      # Hard drive hardware ID
    @os = l.OSID.to_i              # Operating system ID
    @cd = l.CDHWID.to_i            # CD/DVD hardware ID
    @red = l.NETID.to_i            # Network card ID 
    
    # Retornar el código de activación de la licencia
    @activacion
    
  end
  
end
&lt;/pre&gt;
&lt;p&gt;Tiene propiedades de lectura/escritura para los códigos principales de PC Guard: ProgramID (&lt;code&gt;programid&lt;/code&gt;), Site Code (&lt;code&gt;sitecode&lt;/code&gt;), MID (&lt;code&gt;mid&lt;/code&gt;) y Features (&lt;code&gt;features&lt;/code&gt;); propiedades de sólo lectura para los resultados de la generación: código de activación (&lt;code&gt;activacion&lt;/code&gt;), código de remoción (&lt;code&gt;remocion&lt;/code&gt;); propiedades de sólo lectura para los código de identificación del equipo: serial de la partición del disco duro (&lt;code&gt;volumendd&lt;/code&gt;), BIOS del equipo (&lt;code&gt;bios&lt;/code&gt;), CPU (&lt;code&gt;cpu&lt;/code&gt;), serial del disco duro (&lt;code&gt;serialdd&lt;/code&gt;), sistema operativo (&lt;code&gt;os&lt;/code&gt;), CD/DVD (&lt;code&gt;cd&lt;/code&gt;), tarjeta de red (&lt;code&gt;red&lt;/code&gt;); y un único método para generar todos los códigos (&lt;code&gt;generar&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Para usarla, puedes hacer algo como:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
require &#39;PCGuard&#39;

licencia = PCGuard.new
licencia.programid = &quot;XXXXXXXXXXXXXXXXXXXXXXXX&quot;
licencia.sitecode = &quot;YYYYYYYY&quot;
licencia.mid = &quot;ZZZZ-ZZZZ-ZZZZ-ZZZZ&quot;
licencia.generar  # =&amp;gt; &quot;ABCD1234-ABCD1234-ABCD1234-ABCD1234&quot;
&lt;/pre&gt;
&lt;p&gt;O, de manera más resumida:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
licencia = PCGuard.new(&quot;XXXXXXXXXXXXXXXXXXXXXXXX&quot;, &quot;YYYYYYYY&quot;, &quot;ZZZZ-ZZZZ-ZZZZ-ZZZZ&quot;)
&lt;/pre&gt;
&lt;p&gt;Por supuesto, proporcionando códigos válidos para ProgramID, Site Code y MID.&lt;/p&gt;
&lt;p&gt;También genera las siguientes excepciones:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ArgumentError: falta alguno de los códigos necesarios (programid, sitecode o mid)&lt;/li&gt;
&lt;li&gt;BadProgramID: error en el ProgramID (identificador del proveedor de software)&lt;/li&gt;
&lt;li&gt;BadSiteCode: error en el Site Code del equipo&lt;/li&gt;
&lt;li&gt;BadMID: error en el MID del equipo&lt;/li&gt;
&lt;li&gt;MIDCodeError: error en el Site Code y/o el MID.&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/1040705501800490122/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/1040705501800490122' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/1040705501800490122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/1040705501800490122'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/04/clase-pcguard-en-ruby.html' title='Clase PCGuard en Ruby'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/jdugarte/SAD70eYPTrI/AAAAAAAAAOs/-VxpY6kUCIE/s72-c/Lock.png?imgmax=160" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-3990685321464298535</id><published>2008-04-09T12:27:00.001-04:30</published><updated>2009-08-04T09:18:31.517-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Herramientas"/><category scheme="http://www.blogger.com/atom/ns#" term="Productividad"/><title type='text'>AutoHotKey, usos y ejemplos (3): enviar mensajes de texto (sms) de Movilnet</title><content type='html'>&lt;p&gt;&lt;img src=&quot;http://lh5.google.com/jdugarte/R-EY9QkGIwI/AAAAAAAAANQ/1O7X3lZVvtQ/AutoHotkey_logo.gif&quot; style=&quot;DISPLAY: inline; FLOAT: right&quot;/&gt;Esta es la tercera parte de la serie de artículos sobre el &lt;a href=&quot;http://www.autohotkey.com/&quot; target=&quot;_blank&quot;&gt;AutoHotkey&lt;/a&gt;. En la &lt;a href=&quot;http://jdugarte.blogspot.com/2008/03/autohotkey-usos-y-ejemplos-1.html&quot;&gt;primera parte&lt;/a&gt; vimos algunos de los ejemplos más sencillos de sustitución de textos y arranque de aplicaciones. En la &lt;a href=&quot;http://jdugarte.blogspot.com/2008/03/autohotkey-usos-y-ejemplos-2.html&quot;&gt;segunda parte&lt;/a&gt; vimos casos un poco más elaborados de automatización de aplicaciones. Ahora vamos a ver un ejemplo de aplicaciones con el &lt;a href=&quot;http://www.autohotkey.com/&quot; target=&quot;_blank&quot;&gt;AutoHotkey&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Aplicación para enviar mensajes de texto de Movilnet&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;Hace algún tiempo estuve jugando un poco con el código del sitio web de Movilnet, buscando una manera de enviar mensajes sin tener que pasar por la web (que me parece un poco sobrecargada y lenta). Luego de hacer algunas cosas con el AutoHotkey supe que este sería la herramienta ideal para hacer una pequeña aplicación, como la que yo quería, para enviar sms. La idea era sencilla: escribir un mensaje (sin importar cuan largo fuera), escoger uno o más destinatarios de una lista, y que la aplicación se encargara de dividir el mensaje en las partes necesarias y enviarlas a cada uno de los destinatarios seleccionados.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://lh6.google.com/jdugarte/R_z3yuYPTqI/AAAAAAAAAOo/Er7RndbkfgQ/Pantalla_EnviarSMS.JPG?imgmax=400&quot; style=&quot;DISPLAY: block; MARGIN-LEFT: auto; WIDTH: 368px; MARGIN-RIGHT: auto; HEIGHT: 376px; TEXT-ALIGN: center&quot; height=&quot;376&quot; width=&quot;368&quot;/&gt;&lt;/p&gt;
&lt;p&gt;Y eso fue exactamente lo que hice. Y mucho más fácilmente de lo que me imaginé que sería, gracias a algunas de las maravillas del AutoHotkey. Cuando vi esta herramienta por primera vez, pensé que tendría un conjunto de comandos reducido, ideales para manejar casos sencillos como los que ya hemos visto (abrir aplicaciones, presionar teclas, etc.). Pero leyendo la &lt;a href=&quot;http://www.autohotkey.com/docs/&quot; target=&quot;_blank&quot;&gt;documentación&lt;/a&gt; me encontré con una lista inmensa de comandos e instrucciones. Es un lenguaje de programación bastante completo, muy bien adaptado a todos los eventos y objetos del sistema operativo (Windows), y con todas las herramientas que se esperarían de un lenguaje de programación (como ciclos, operadores, manejo de archivos, controles para interfaz, etc.).&lt;/p&gt;
&lt;p&gt;Pueden descargar el código de la aplicación &lt;a href=&quot;http://www.box.net/shared/tndl97ckcs&quot; target=&quot;_blank&quot;&gt;aquí&lt;/a&gt; (Por supuesto, si tienes correcciones o mejoras que hacerle, me gustaría escucharlas). Si no les interesa el código completo, o instalar el AutoHotkey, también pueden &lt;a href=&quot;http://www.box.net/shared/lvr0bk2gcs&quot; target=&quot;_blank&quot;&gt;descargar el ejecutable&lt;/a&gt; de la aplicación. Porque el AutoHotkey también tiene un &lt;a href=&quot;http://www.autohotkey.com/docs/Scripts.htm#ahk2exe&quot; target=&quot;_blank&quot;&gt;compilador&lt;/a&gt;, y genera unos ejecutables bastante pequeños, considerando que no requiere tener instalado el AutoHotkey para ejecutarlos, o librerías externas de ningún tipo.&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Agenda de destinatarios&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;La aplicación requiere la existencia de un archivo de texto (Agenda.txt) con la lista de los destinatarios (nombres y teléfonos) en un formato como el siguiente:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
Jesús Dugarte, 04261111111
Pedro Perez, 04262222222
Juan Gonzalez, 04163333333
Maria Garcia, 04264444444
&lt;/pre&gt;
&lt;p&gt;La ubicación, y nombre, de este archivo de contactos se indica al principio del programa. Los códigos de área (0416, 0426) deben indicarse completos, como aparecen en el ejemplo.&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Uso de la aplicación&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;Yo ejecuto la aplicación con una tecla rápida, como las que vimos en los artículos anteriores:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
#X::Run &quot;C:\Movilnet\Movilnet.ahk&quot;
&lt;/pre&gt;
&lt;p&gt;La web de Movilnet usa un código de verificación para los envíos de los mensajes sms. Así que, lamentablemente, hay que ingresar ese código por cada uno de los mensajes que se envían. Al principio no estaba seguro de que la aplicación fuese realmente útil, dada la molestia del código de seguridad. Pero, un poco por curiosidad (y un poco más por necedad) la hice y la he estado usando ya por un par de meses, y no me ha parecido que el código de seguridad sea demasiada molestia, o que sobrepase las ventajas de usar la aplicación.&lt;/p&gt;
&lt;p&gt;Diariamente uso ambos, el teléfono y la aplicación, dependiendo de lo que necesite hacer. Si sólo necesito responder un &quot;Ok&quot; a un mensaje que me envíen, por supuesto que es más rápido hacerlo desde el teléfono. Pero si quiero escribir un mensaje más largo, o no sé muy bien que voy a enviar(es más fácil dudar y corregir frente al teclado del computador que en el teclado del teléfono), o quiero enviarlo a varias personas (también es más rápido seleccionar personas de la lista de la aplicación que en el teléfono), prefiero usar la aplicación. También la uso, por supuesto, en situaciones más mundanas como falta de batería o de saldo ;-)&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Conclusión&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;Lo que más me gusta del &lt;a href=&quot;http://www.autohotkey.com/&quot; target=&quot;_blank&quot;&gt;AutoHotkey&lt;/a&gt; es que me ahorra tiempo, y me evita repeticiones innecesarias y errores, en áreas o tareas donde incluso ni me imaginaba que se podía. Luego de intentar diferentes tipos de herramientas de automatización en Windows (lenguajes de secuencias de comandos, herramientas de sustitución de textos, de asignación de teclas rápidas, etc.), encontré en él una de las herramientas de productividad más importantes que he encontrado. Definitivamente requiere al menos una base de conocimiento de programación, pero también es cierto que se pueden encontrar en internet muchas soluciones ya hechas para casos comunes (como algunos de lo que mostré en la &lt;a href=&quot;http://jdugarte.blogspot.com/2008/03/autohotkey-usos-y-ejemplos-1.html&quot;&gt;primera parte&lt;/a&gt; de esta serie) y otros no tan comunes (como el que vimos aquí y en el &lt;a href=&quot;http://jdugarte.blogspot.com/2008/03/autohotkey-usos-y-ejemplos-2.html&quot;&gt;artículo anterior&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Espero que les sea de utilidad esta información. Y si tienen alguna solución interesante hecha con el &lt;a href=&quot;http://www.autohotkey.com/&quot; target=&quot;_blank&quot;&gt;AutoHotkey&lt;/a&gt;, también me encantaría escucharla.&lt;/p&gt;

&lt;p&gt;ACTUALIZACIÓN (04/08/2009): &lt;span style=&quot;font-style:italic;&quot;&gt;Si habían descargado en las últimas semanas la aplicación para SMS de Movilnet quizás no les haya funcionado: la web de Movilnet cambió la dirección del servicio. Acabo de subir una actualización del código (y el ejecutable) de la aplicación, con la dirección corregida&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/3990685321464298535/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/3990685321464298535' title='5 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/3990685321464298535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/3990685321464298535'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/04/autohotkey-usos-y-ejemplos-3-enviar.html' title='AutoHotKey, usos y ejemplos (3): enviar mensajes de texto (sms) de Movilnet'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-4856871196502865770</id><published>2008-04-01T09:58:00.000-04:30</published><updated>2008-04-12T12:22:27.469-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Rails"/><title type='text'>Rails en español</title><content type='html'>&lt;p&gt;&lt;img src=&quot;http://lh6.ggpht.com/jdugarte/R_JHiRF6moI/AAAAAAAAAN4/xHkiZADV5qE/ny.gif&quot; style=&quot;DISPLAY: inline; FLOAT: right; MARGIN: 0px 0px 15px 15px; WIDTH: 140px; HEIGHT: 140px&quot; height=&quot;140&quot; width=&quot;140&quot;/&gt;Existen muchas opciones para hacer &lt;a href=&quot;http://wiki.rubyonrails.org/rails/pages/InternationalizationComparison&quot; target=&quot;_blank&quot;&gt;localización e internacionalización en Ruby on Rails&lt;/a&gt;. Entre todas ellas, la que me parece más sencilla es el plugin &lt;a href=&quot;http://agilewebdevelopment.com/plugins/localization_simplified&quot; target=&quot;_blank&quot;&gt;Localization Simplified&lt;/a&gt;. Sin embargo, me interesaban principalmente dos cosas: (1) agregar código sólo para español a mi aplicación, y (2) meterle la mano en los bolsillos a Rails y averiguar bien qué se debía hacer y por qué. En menos palabras: porque soy un maniático y un idiota ;-)&lt;/p&gt;
&lt;p&gt;Hay diferentes cosas que hay que ajustar en Rails para que toda la información que colocamos en nuestras aplicaciones salga correctamente en español. Buscando en internet, encontré bastantes sitios donde aparecen consejos sobre cómo hacer muchas de estas cosas. Pero cada consejo, cada nueva solución, generaba un nuevo error, o advertencia, y tenía que seguir buscando. Con un poco de lectura y trabajo, fui uniendo y ajustando las diferentes soluciones que iba encontrando. A continuación les muestro la solución final que logré.&lt;/p&gt;
&lt;p&gt;En primer lugar creamos un subdirectorio &lt;code&gt;app\overrides&lt;/code&gt;, y allí colocamos los siguientes archivos:&lt;/p&gt;
&lt;ul class=&quot;noindent&quot;&gt;
&lt;li&gt;errores.rb&lt;/li&gt;
&lt;/ul&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
module ActiveRecord
  class Errors
    begin
      @@default_error_messages = {
        :inclusion =&amp;gt; &quot;no está incluido en la lista&quot;,
        :exclusion =&amp;gt; &quot;está reservado&quot;,
        :invalid =&amp;gt; &quot;no es válido&quot;,
        :confirmation =&amp;gt; &quot;no es una confirmación&quot;,
        :accepted  =&amp;gt; &quot;debe ser aceptado&quot;,
        :empty =&amp;gt; &quot;no puede estar vacío&quot;,
        :blank =&amp;gt; &quot;no puede estar en blanco&quot;,
        :too_long =&amp;gt; &quot;es demasiado largo (máximo %d caracteres)&quot;,
        :too_short =&amp;gt; &quot;es demasiado corto (mínimo %d caracteres)&quot;,
        :wrong_length =&amp;gt; &quot;no tiene la longitud correcta (debería tener %d caracteres)&quot;,
        :taken =&amp;gt; &quot;ya ha sido incluido&quot;,
        :not_a_number =&amp;gt; &quot;debe ser un número&quot; }
    end
  end
end

module ActionView #nodoc
  module Helpers
    module ActiveRecordHelper
      def error_messages_for(object_name, options = {})
        options = options.symbolize_keys
        object = instance_variable_get(&quot;@#{object_name}&quot;)
        unless object.errors.empty?
          content_tag(&quot;div&quot;, content_tag(options[:header_tag] || &quot;h2&quot;, &quot;Hay errores que impiden guardar el registro&quot;) +
          content_tag(&quot;p&quot;, &quot;Compruebe los siguientes campos:&quot;) +
          content_tag(&quot;ul&quot;, object.errors.full_messages.collect { |msg| content_tag(&quot;li&quot;, msg) }), &quot;id&quot; =&amp;gt; options[:id] || &quot;errorExplanation&quot;, &quot;class&quot; =&amp;gt; options[:class] || &quot;errorExplanation&quot; )
        end
      end
    end
  end
end
&lt;/pre&gt;
&lt;ul class=&quot;noindent&quot;&gt;
&lt;li&gt;date.rb&lt;/li&gt;
&lt;/ul&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
require &#39;date&#39;

class Date
  remove_const(:MONTHNAMES)
  MONTHNAMES = [nil] + %w(Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre)
  remove_const(:ABBR_MONTHNAMES)
  ABBR_MONTHNAMES = [nil] + %w(Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic)
  remove_const(:DAYNAMES)
  DAYNAMES = %w(Domingo Lunes Martes Miercoles Jueves Viernes Sábado)
  remove_const(:ABBR_DAYNAMES)
  ABBR_DAYNAMES = %w(Dom Lun Mar Mié Jue Vie Sáb)
end

class Time
  alias :strftime_nolocale :strftime

  def strftime(format)
    format = format.dup
    format.gsub!(/%a/, Date::ABBR_DAYNAMES[self.wday])
    format.gsub!(/%A/, Date::DAYNAMES[self.wday])
    format.gsub!(/%b/, Date::ABBR_MONTHNAMES[self.mon])
    format.gsub!(/%B/, Date::MONTHNAMES[self.mon])
    self.strftime_nolocale(format)
  end
end

module ActionView
  module Helpers
    module DateHelper

      def distance_of_time_in_words(from_time, to_time = 0, include_seconds = false)
        from_time = from_time.to_time if from_time.respond_to?(:to_time)
        to_time = to_time.to_time if to_time.respond_to?(:to_time)
        distance_in_minutes = (((to_time - from_time).abs)/60).round
        distance_in_seconds = ((to_time - from_time).abs).round

        case distance_in_minutes
          when 0..1
            return (distance_in_minutes == 0) ? &#39;menos de un minuto&#39; : &#39;1 minuto&#39; unless include_seconds
            case distance_in_seconds
              when 0..4   then &#39;menos de 5 segundos&#39;
              when 5..9   then &#39;menos de 10 segundos&#39;
              when 10..19 then &#39;menos de 20 segundos&#39;
              when 20..39 then &#39;medio minuto&#39;
              when 40..59 then &#39;menos de un minuto&#39;
              else             &#39;1 minuto&#39;
            end

          when 2..44           then &quot;#{distance_in_minutes} minutos&quot;
          when 45..89          then &#39;aprox. 1 hora&#39;
          when 90..1439        then &quot;aprox. #{(distance_in_minutes.to_f / 60.0).round} horas&quot;
          when 1440..2879      then &#39;1 día&#39;
          when 2880..43199     then &quot;#{(distance_in_minutes / 1440).round} días&quot;
          when 43200..86399    then &#39;aprox. 1 mes&#39;
          when 86400..525599   then &quot;#{(distance_in_minutes / 43200).round} months&quot;
          when 525600..1051199 then &#39;aprox. 1 año&#39;
          else                      &quot;over #{(distance_in_minutes / 525600).round} years&quot;
        end
      end
      
    end
  end
end
&lt;/pre&gt;
&lt;ul class=&quot;noindent&quot;&gt;
&lt;li&gt;all.rb&lt;/li&gt;
&lt;/ul&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
Dir[File.dirname(__FILE__) + &quot;/**/*.rb&quot;].each { |file| require(file) }
&lt;/pre&gt;
&lt;p&gt;Luego colocamos, al final del archivo &lt;code&gt;config\environment.rb&lt;/code&gt;:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
require &quot;#{RAILS_ROOT}/app/overrides/all&quot;
&lt;/pre&gt;
&lt;p&gt;Por último, en el archivo &lt;code&gt;config\initializers\inflections.rb&lt;/code&gt;:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
Inflector.inflections do |inflect|
  inflect.plural /([aeiou])([A-Z]|_|$)/, &#39;\1s\2&#39;
  inflect.plural /([rlnd])([A-Z]|_|$)/, &#39;\1es\2&#39;
  inflect.singular /([aeiou])s([A-Z]|_|$)/, &#39;\1\2&#39;
  inflect.singular /([rlnd])es([A-Z]|_|$)/, &#39;\1\2&#39;
  inflect.irregular &#39;user&#39;, &#39;users&#39;
  inflect.irregular &#39;account&#39;, &#39;accounts&#39;
  inflect.irregular &#39;password&#39;, &#39;passwords&#39;
  inflect.irregular &#39;session&#39;, &#39;sessions&#39;
end
&lt;/pre&gt;
&lt;p&gt;Noten que el final del código de pluralizaciones agrego cuatro líneas para &lt;em&gt;user&lt;/em&gt;, &lt;em&gt;account&lt;/em&gt;, &lt;em&gt;password&lt;/em&gt; y &lt;em&gt;session&lt;/em&gt;. Esto se debe a que quiero que todas las pluralizaciones que haga Rails en mi aplicación, las haga con las reglas del español, así que tengo que agregar excepciones para los modelos que están en inglés (en este caso, los modelos para el manejo de usuarios, que vienen del plugin &lt;a href=&quot;http://agilewebdevelopment.com/plugins/restful_authentication&quot; target=&quot;_blank&quot;&gt;Restful Authentication&lt;/a&gt;). Si tienen algún modelo en inglés, pueden agregar la regla para pluralizarlo de la misma manera allí.&lt;/p&gt;
&lt;p&gt;Todo esto se debe encargar de colocar en español los mensajes de error, las fechas (meses, días), y las pluralizaciones de Rails.&lt;/p&gt;
&lt;p&gt;ACTUALIZACIÓN (12/04/2008): &lt;em&gt;Agregué la traducción de la función&lt;/em&gt; &lt;code&gt;distance_of_time_in_words&lt;/code&gt; &lt;em&gt;al archivo&lt;/em&gt; &lt;code&gt;app\overrides\date.rb&lt;/code&gt;&lt;em&gt;. También es recomendable traducir las plantillas del generador&lt;/em&gt; &lt;code&gt;scaffold&lt;/code&gt; &lt;em&gt;que se encuentran en&lt;/em&gt; &lt;code&gt;{RUBY}\lib\ruby\gems\{VERSION DE RUBY}\gems\rails-{VERSION DE RAILS}\lib\rails_generator\generators\components\scaffold\templates&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Fuentes del código:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://barclay.textdrive.com/pipermail/ror-es/2005-November/000461.html&quot; target=&quot;_blank&quot;&gt;[Ror-es] Errores personalizados&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://koke.amedias.org/articles/2006/11/27/better-error_messages_for-i/&quot; target=&quot;_blank&quot;&gt;Better error_messages_for (I)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wiki.rubyonrails.org/rails/pages/HowToLocalizeActiveRecordErrors&quot; target=&quot;_blank&quot;&gt;How to localize ActiveRecord errors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wiki.rubyonrails.org/rails/pages/OverridingRailsMessagesInAnotherLanguage&quot; target=&quot;_blank&quot;&gt;Overriding Rails messages in another language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://osdir.com/ml/lang.ruby.rails.spanish/2005-11/msg00029.html&quot; target=&quot;_blank&quot;&gt;Re: Errores personalizados: msg#00029&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://osdir.com/ml/lang.ruby.rails.spanish/2005-11/msg00032.html&quot; target=&quot;_blank&quot;&gt;Re: Errores personalizados: msg#00032&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ruby-forum.com/topic/98368&quot; target=&quot;_blank&quot;&gt;Rails-ES &amp;gt; Traducción mensajes de validación ActiveRecord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://lists.simplelogica.net/pipermail/ror-es/2006-June/002561.html&quot; target=&quot;_blank&quot;&gt;[Ror-es] Idioma de las fechas! (1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://lists.simplelogica.net/pipermail/ror-es/2006-June/002562.html&quot; target=&quot;_blank&quot;&gt;[Ror-es] Idioma de las fechas! (2)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://forum.clockingit.com/discussion/53/&quot; target=&quot;_blank&quot;&gt;Bug Reports: Date::MONTHNAMES - can&#39;t modify frozen array&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ruby-forum.com/topic/94699&quot; target=&quot;_blank&quot;&gt;Rails-ES &amp;gt; Fechas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://poocs.net/2005/10/4/localization-for-rubys-time-strftime&quot; target=&quot;_blank&quot;&gt;Localization for Ruby&#39;s Time#strftime&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://koke.amedias.org/articles/2007/01/17/translating-dates-in-ruby-on-rails/&quot; target=&quot;_blank&quot;&gt;Translating dates in ruby (on rails)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://osdir.com/ml/lang.ruby.rails.spanish/2006-01/msg00129.html&quot; target=&quot;_blank&quot;&gt;Rails en español: msg#00129&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Re: Scaffold en español: msg#00081&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/4856871196502865770/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/4856871196502865770' title='12 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/4856871196502865770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/4856871196502865770'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/04/rails-en-espaol.html' title='Rails en español'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/jdugarte/R_JHiRF6moI/AAAAAAAAAN4/xHkiZADV5qE/s72-c/ny.gif" height="72" width="72"/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-3299129967730141531</id><published>2008-03-29T12:56:00.000-04:30</published><updated>2008-03-29T13:04:50.381-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Herramientas"/><category scheme="http://www.blogger.com/atom/ns#" term="Productividad"/><title type='text'>AutoHotKey, usos y ejemplos (2): automatización de aplicaciones</title><content type='html'>&lt;p&gt;&lt;img src=&quot;http://lh5.google.com/jdugarte/R-EY9QkGIwI/AAAAAAAAANQ/1O7X3lZVvtQ/AutoHotkey_logo.gif&quot; style=&quot;DISPLAY: inline; FLOAT: right&quot;/&gt;Esta es la segunda parte de la serie de artículos sobre el &lt;a href=&quot;http://www.autohotkey.com/&quot; target=&quot;_blank&quot;&gt;AutoHotkey&lt;/a&gt;. En la &lt;a href=&quot;http://jdugarte.blogspot.com/2008/03/autohotkey-usos-y-ejemplos-1.html&quot;&gt;primera parte&lt;/a&gt; vimos algunos de los ejemplos más sencillos de sustitución de textos y arranque de aplicaciones. Ahora vamos a ver algunos ejemplos de tareas más complejas.&lt;/p&gt;
&lt;p&gt;&lt;big&gt;&lt;strong&gt;Automatizar otras aplicaciones&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;
&lt;p&gt;Es en esta área donde el &lt;a href=&quot;http://www.autohotkey.com/&quot; target=&quot;_blank&quot;&gt;AutoHotkey&lt;/a&gt; pasó, para mí, de ser una sencilla tecla o texto rápido, a una poderosísima herramienta de productividad, para automatizar secuencias de tareas repetitivas o tediosas, que realizo en una o más aplicaciones de manera frecuente.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Búsquedas especializadas&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Una de mis tareas diarias es la gestión de licencias de las aplicaciones que desarrolla mi empresa. Diariamente recibo correos o llamadas con solicitud de licencias, y consultas de clientes y códigos de activación. El histórico de licencias está guardado en una serie de archivos textos. El siguiente código, conjuntamente con otra herramienta llamada &lt;a href=&quot;http://www.wingrep.com/&quot; target=&quot;_blank&quot;&gt;Windows Grep&lt;/a&gt;, me permite hacer estas búsquedas muy rápidamente, permitiéndome concentrar en las labores de servicio o gestión de las licencias, y no en los detalles de la búsqueda en sí.&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
clipboard = 
Send ^c
if clipboard &amp;lt;&amp;gt; 
{  Run &quot;C:\Archivos de programa\Windows Grep\grep32.exe&quot; &quot;%clipboard%&quot; *.txt &quot;C:\Licencias&quot;
  ExitApp
}

Gui, Add, Text,, Buscar:
Gui, Add, Edit, vBuscar ym
Gui, Add, Button, Default ym, Aceptar
Gui, Add, Button, xm, Cancelar
Gui, Show,, Buscar licencias
Return

Esc::
ButtonCancelar:
GuiClose:
  ExitApp

ButtonAceptar:
  Gui submit, nohide
  if Buscar &amp;lt;&amp;gt; 
  {
    Run &quot;C:\Archivos de programa\Windows Grep\grep32.exe&quot; &quot;%Buscar%&quot; *.txt &quot;C:\Licencias&quot;
    ExitApp
  }
  Gui, Show,, Buscar licencias
Return
&lt;/pre&gt;
&lt;p&gt;Este código lo guardo en un archivo aparte (&quot;Consultar.ahk&quot;, en este ejemplo), y lo llamo a través de una tecla rápida definida en un archivo junto con todas las otras teclas rápidas (como el que vimos en la &lt;a href=&quot;http://jdugarte.blogspot.com/2008/03/autohotkey-usos-y-ejemplos-1.html&quot;&gt;primera parte&lt;/a&gt;):&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
#S::Run &quot;C:\Licencias\Consultar.ahk&quot;
&lt;/pre&gt;
&lt;p&gt;La utilización es bastante sencilla: puedo marcar un texto (el nombre de un cliente, o un código de licencia, en un correo, o chat, por ejemplo), presionar las teclas Windows+S y de inmediato me aparece el resultado de la búsqueda (primeras siete líneas de código). Si no hay ningún texto seleccionado, se muestra una pequeña pantalla (las siguientes cinco líneas que empiezan con &lt;code&gt;Gui&lt;/code&gt;) donde puedo escribir lo que deseo buscar y al darle aceptar me muestra el resultado (últimas 9 líneas del código).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Empaquetado y publicación de aplicaciones&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Este es un ejemplo bastante específico de mis tareas diarias, así que dudo mucho que vayan a usar la secuencia de código exactamente igual como yo la uso. La incluyo aquí para mostrarles otro ejemplo de las cosas que se pueden hacer con el AutoHotkey para ahorrar tiempo y evitar errores.&lt;/p&gt;
&lt;p&gt;Una de las aplicaciones que producimos en &lt;a href=&quot;http://jdugarte.blogspot.com/2008/03/primer-aniversario-de-logiciel-ca.html&quot;&gt;mi empresa&lt;/a&gt; está hecha en FoxPro 2.6. El proceso de compilación, empaquetado y publicación de cada revisión de la aplicación implica la ejecución de una secuencia de pasos, siempre los mismos y en el mismo orden. El proceso, hecho a mano, puede ser un poco fastidioso y propenso a errores (alguna vez olvidé ejecutar alguno de los pasos, con distintas consecuencias), así que este código me garantiza que siempre se hará de la misma manera y mucho más rápidamente de lo que yo lo hacía antes.&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
; Averiguar si está se está ejecutando el FoxPro. Si no, no se hace nada&lt;br/&gt;
IfWinExist, Microsoft FoxPro
{

  WinActivate ; Ir a la ventana que encontró antes (FoxPro)

  ; Desactivar información del depurador antes de compilar
  Send !1
  Send ^O
  Send !I{Enter}

  ; Marcar el ejecutable como Empresarial
  Send ^{F2}
  Send ^{End}
  Send Do ag.prg with .F.{Enter}

  ; Compilar
  Send !1
  Send !G
  Send !E
  Send {Enter}
  Send {Enter}
  Send {Enter}
  ; Pausa para esperar que finalice la compilación de la aplicación
  MsgBox, Esperar que termine de compilar la aplicación
  WinActivate ; Volver a la ventana que encontró antes (FoxPro)

  ; Agregar el ícono
  Send ^{F2}
  Send ^{End}
  Send do \fpw26\addicon{Enter}
  Send C:\Productos\AdmInt\AdmInt.exe{Tab}
  Send C:\Productos\AdmInt\BMPS\AdmInt.ico{Tab}{Tab}{Tab}
  Send {Enter}

  ; Pausa para actualizar los archivos de actualización en el FTP
  MsgBox, Actualizar empaquetado en el FTP
  WinActivate ; Volver a la ventana que encontró antes (FoxPro)

  ; Marcar el ejecutable como Comercial
  Send ^{F2}
  Send ^{End}
  Send Do ag.prg with .T.{Enter}

  ; Compilar
  Send !1
  Send !G
  Send !E
  Send {Enter}
  Send {Enter}
  ; Pausa para esperar que finalice la compilación de la aplicación
  MsgBox, Esperar que termine de compilar la aplicación
  WinActivate ; Volver a la ventana que encontró antes (FoxPro)

  ; Agregar el ícono
  Send ^{F2}
  Send ^{End}
  Send do \fpw26\addicon{Enter}
  Send C:\Productos\AdmInt\AdmInt.exe{Tab}
  Send C:\Productos\AdmInt\BMPS\AdmInt.ico{Tab}{Tab}{Tab}
  Send {Enter}

  ; Pausa para actualizar los archivos de actualización en el FTP
  MsgBox, Actualizar empaquetado en el FTP
  WinActivate ; Volver a la ventana que encontró antes (FoxPro)

  ; Reestablecer el ambiente de desarrollo

  ; Activar información del depurador antes de compilar
  Send !1
  Send ^O
  Send !I{Enter}

  ; Marcar el ejecutable como Empresarial
  Send ^{F2}
  Send ^{End}
  Send Do ag.prg with .F.{Enter}

  ; Compilar
  Send !1
  Send !G
  Send !A
  Send {Enter}
  Send {Enter}
  Send {Enter}
}
&lt;/pre&gt;
&lt;p&gt;Toda la tarea, hecha a mano, me podía tomar varios minutos, e incluso algunas veces repetía pasos, por temor a haber olvidado alguno. Ahora me toma menos de un minuto la publicación de cada revisión.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gex Administrativo: carga de artículos con seriales&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nuestro producto Administrativo no maneja seriales de manera nativa, principalmente porque la gran mayoría de nuestros usuarios no lo requieren. Para los pocos que usan seriales en la carga de artículos, se desarrolló esta solución usando el AutoHotkey.&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
Gui, Add, Text,, Serial:
Gui, Add, Text,, Artículo:
Gui, Add, Edit, vSerial ym
Gui, Add, Edit, vArticulo
Gui, Add, Button, Default ym, Incluir
Gui, Add, Button, xm, Cerrar
Gui, Show,, Seriales
Return

Esc::
ButtonCerrar:
GuiClose:
  ExitApp

ButtonIncluir:
  Gui submit, nohide
  if Serial &amp;lt;&amp;gt; 
  {
    IfWinExist, Gex Administrativo ; Sin título ; 
      {
        WinActivate
        Send ^{Ins}
        WinActivate, Seriales
        WinActivate, Gex Administrativo
        Send %Articulo%
        Send {Tab}{Tab}{Tab}
        Send 1
        Send {Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}
        Send %Serial%
        Send {Tab}{Tab}{Tab}{Tab}{Tab}
      }
    else
      {
        MsgBox No hay un Gex Administrativo ejecutándose para realizar esta operación
      }
    GuiControl, , Serial
  }
  Gui, Show,, Seriales
Return
&lt;/pre&gt;
&lt;p&gt;Primero se muestra una pequeña pantalla donde se pide el código del artículo a incluir y el número de serial (o preferiblemente el código de barra, directamente desde una lectora de códigos de barra). El programa luego activa la ventana del Gex Administrativo (si no hay ninguna da un mensaje al usuario y vuelve a la pantalla anterior), incluye el artículo, le asigna 1 a la cantidad y coloca el número de serie en el campo de descripción del ítem (donde se puede tomar desde los reportes de la aplicación para hacer lo que sea que el usuario requiera de él).&lt;/p&gt;
&lt;p&gt;Esto puede sonar como una tarea muy sencilla, pero si se requiere cargar varias docenas de artículos, con sus respectivos seriales, entonces esta solución le puede ahorrar una cantidad enorme de tiempo al transcriptor. Adicionalmente, es una manera de proporcionarle una solución a un usuario, sin tener que agregar más opciones (complicaciones innecesarias, la mayoría de las veces) a un producto de software.&lt;/p&gt;
&lt;p&gt;Este ejemplo en particular se debe ejecutar desde el detalle de una factura de compras, y creando una tecla rápida como esta:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
#X::Run &quot;C:\Gex Administrativo\Seriales.ahk&quot;
&lt;/pre&gt;
&lt;p&gt;Soluciones como estas, con unas pocas líneas de código, pueden ahorrarnos mucho tiempo y errores en nuestras labores diarias. En el siguiente artículo de esta serie, veremos cómo podemos incluso crear aplicaciones completas con el &lt;a href=&quot;http://www.autohotkey.com/&quot; target=&quot;_blank&quot;&gt;AutoHotkey&lt;/a&gt;.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/3299129967730141531/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/3299129967730141531' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/3299129967730141531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/3299129967730141531'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/03/autohotkey-usos-y-ejemplos-2.html' title='AutoHotKey, usos y ejemplos (2): automatización de aplicaciones'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-807296940971520947</id><published>2008-03-28T07:00:00.000-04:30</published><updated>2008-03-29T12:56:29.636-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Logiciel"/><title type='text'>Primer aniversario de Logiciel, C.A.</title><content type='html'>&lt;p&gt;&lt;img src=&quot;http://lh3.google.com/jdugarte/R-5BfhF6mnI/AAAAAAAAANw/40XjB7eJBVo/logo_logiciel%20mediano.jpg&quot; style=&quot;BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: block; MARGIN-LEFT: auto; BORDER-LEFT: 0px; MARGIN-RIGHT: auto; BORDER-BOTTOM: 0px; TEXT-ALIGN: center&quot;/&gt;Hoy 28 de marzo, llegó a su primer aniversario nuestra empresa, Logiciel, C.A. Ha sido un año lleno de muchas cosas buenas, muy productivo, y, en ocasiones, toda una aventura también.&lt;/p&gt;
&lt;p&gt;Me gustaría aprovechar la ocasión para agradecer, de manera pública, a algunas personas cuyo apoyo ha sido vital para este proyecto: &lt;a href=&quot;http://soluciones2000.blogspot.com/&quot; target=&quot;_blank&quot;&gt;Luis Rodriguez&lt;/a&gt; (planificación estratégica), que ha tenido la paciencia para guiarnos en la travesía de la idea al negocio; Janine Arévalo (distribución), quien a pesar de las dificultades iniciales, creyó en el proyecto y en la propuesta de negocio; Carolina Perez (aspectos legales) y Daniel Ghinaglia (diseño gráfico), nos han dado lo mejor de ellos: la pasión por su trabajo; &lt;a href=&quot;http://www.pzaraza.com/&quot; target=&quot;_blank&quot;&gt;Pedro Zaraza&lt;/a&gt; y &lt;a href=&quot;http://cbetan.tumblr.com/&quot; target=&quot;_blank&quot;&gt;Carlos Betancourt&lt;/a&gt;, mis más fieles colaboradores, fuentes constante de ideas, proyectos e interesantes discusiones.&lt;/p&gt;
&lt;p&gt;Ha sido, sobretodo, un año de organización: poner a punto todos los detalles operativos más básicos del negocio, y empezar el camino. Ahora empezamos a adentrarnos en terrenos nuevos, así que lo mejor está por venir.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/807296940971520947/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/807296940971520947' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/807296940971520947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/807296940971520947'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/03/primer-aniversario-de-logiciel-ca.html' title='Primer aniversario de Logiciel, C.A.'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-3568069306523766501</id><published>2008-03-19T09:14:00.000-04:30</published><updated>2008-03-19T09:24:32.517-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Herramientas"/><category scheme="http://www.blogger.com/atom/ns#" term="Productividad"/><title type='text'>AutoHotKey, usos y ejemplos (1)</title><content type='html'>&lt;p&gt;Mi nombre es Jesús, y soy un adicto. Aun puedo recordar la época en que estaba limpio. Era allá por el año de 1992. Pero entonces me lo ofrecieron. Me lo pusieron enfrente, y no pude resistir la tentación. Durante 15 años mi vida ha estado dominada por mi adicción. Pero ahora, luego de mucho trabajo, estoy logrando dejarlo, limpiarme. Y el &lt;a href=&quot;http://www.autohotkey.com/&quot; target=&quot;_blank&quot;&gt;AutoHotkey&lt;/a&gt; ha sido una de las mejores ayudas para este éxito. Era justo lo que necesitaba para limpiar mi vida de la maldición del ratón.&lt;/p&gt;
&lt;p&gt;Esta bien, no es una maldición, pero hoy me levanté un poco más &lt;a href=&quot;http://sobreexpuestos.blogspot.com/&quot; target=&quot;_blank&quot;&gt;cinematográfico&lt;/a&gt; que de costumbre ;-)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://lh5.google.com/jdugarte/R-EY9QkGIwI/AAAAAAAAANQ/1O7X3lZVvtQ/AutoHotkey_logo.gif&quot; style=&quot;BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; FLOAT: right; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px&quot;/&gt;Empecé a usar el &lt;a href=&quot;http://www.autohotkey.com/&quot; target=&quot;_blank&quot;&gt;AutoHotkey&lt;/a&gt; como una manera de crear teclas rápidas para ejecutar programas que usaba frecuentemente (antes de descubrir el &lt;a href=&quot;http://www.launchy.net/&quot; target=&quot;_blank&quot;&gt;Launchy&lt;/a&gt;), y para generar automáticamente textos repetitivos, como firmas de correos y cosas por el estilo. Con el tiempo se convirtió, además, en una herramienta de automatización de tareas muy eficiente y sencilla.&lt;/p&gt;
&lt;p&gt;El sitio web de AutoHotkey tiene un excelente &lt;a href=&quot;http://www.autohotkey.com/docs/Tutorial.htm&quot; target=&quot;_blank&quot;&gt;tutorial de introducción&lt;/a&gt; (la &lt;a href=&quot;http://www.autohotkey.com/docs/&quot; target=&quot;_blank&quot;&gt;documentación&lt;/a&gt; está en varios idiomas, pero lamentablemente no en español, aunque se &lt;a href=&quot;http://www.google.com/search?q=AutoHotKey+tutorial&amp;amp;lr=lang_es&quot; target=&quot;_blank&quot;&gt;pueden conseguir&lt;/a&gt; algunos tutoriales en español en otros blogs). La instalación no tiene mayor complicación: &lt;a href=&quot;http://www.autohotkey.com/download/AutoHotkeyInstall.exe&quot; target=&quot;_blank&quot;&gt;bajar el instalador&lt;/a&gt;, ejecutarlo y darle al botón &quot;Siguiente&quot; hasta el final.&lt;/p&gt;
&lt;p&gt;Lo que me gustaría mostrarles aquí son algunos de los usos que yo le he dado a la herramienta, para automatizar tareas en mi trabajo diario. Todos los extractos de código que mostraré aquí, los guardo en un archivo llamado &quot;Inicio.ahk&quot;, que incluyo en el menú de inicio, para tenerlos disponibles cada vez que inicie el equipo.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Firma (y otros textos rápidos)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Esta fue el primer uso que le di a la herramienta y es un código bastante sencillo:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
::frm::Nombre.-{Enter}http://www.web.com/
&lt;/pre&gt;
&lt;p&gt;Solía tener una firma definida en Outlook, pero no todo lo que firmo lo hago en el Outlook (por ejemplo: foros en internet, correos enviados directamente desde la página de Gmail, etc.). Donde sea que escriba &quot;frm&quot;, aparecerá el texto de la firma completo. Escogí &quot;frm&quot; porque me pareció fácil de recordar, y no es algo que normalmente escribiría en algún texto y que se pudiera confundir con otra palabra.&lt;/p&gt;
&lt;p&gt;Esto no sólo me ha servido para la firma. Cada vez que me descubro escribiendo un texto varias veces (saludos de correos, encabezados, textos de soporte a usuarios, etc.), incluyo un código como este para crear la sustitución automática. Sólo es cuestión de estar pendiente de las cosas que se hacen repetitivas en las tareas comunes diarias. No me creerían la cantidad de tiempo que me ha ahorrado esta sencilla solución.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Búsquedas en internet&lt;/strong&gt;&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
#G::
Send ^c
Run http://www.google.com/search?q=%Clipboard%
Return
&lt;/pre&gt;
&lt;p&gt;Este pequeño código me permite seleccionar una palabra o frase en cualquier lugar, y al presionar la tecla Windows+G, abre el explorador en la página de Google y busca el texto seleccionado.&lt;/p&gt;
&lt;p&gt;También se puede hacer una búsqueda en Wikipedia:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
#W::
Send ^c
Run http://es.wikipedia.org/wiki/Special:Search?search=%Clipboard%
Return
&lt;/pre&gt;
&lt;p&gt;Para un &quot;&lt;a href=&quot;http://www.trendwatching.com/trends/infolust.htm&quot; target=&quot;_blank&quot;&gt;infolujurioso&lt;/a&gt;&quot; como yo, con docenas de búsquedas diarias en Google y Wikipedia, no es nada despreciable el ahorro de tiempo que me brinda esto.&lt;/p&gt;
&lt;p&gt;Esto se puede hacer también fácilmente con la mayoría de los sitios web actuales, sólo hay que averiguar cuál es el &lt;a href=&quot;http://es.wikipedia.org/wiki/URL&quot; target=&quot;_blank&quot;&gt;URL&lt;/a&gt; de búsqueda del sitio web y reemplazarlo en el código anterior.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ejecutar aplicaciones&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Como mencioné antes, ahora uso el &lt;a href=&quot;http://www.launchy.net/&quot; target=&quot;_blank&quot;&gt;Launchy&lt;/a&gt; para ejecutar aplicaciones, pero siempre quedan algunas (como estos dos ejemplos) que por algún motivo necesito más rápido de lo que el Launchy me las puede ofrecer.&lt;/p&gt;
&lt;p&gt;Hago multitud de anotaciones al día, de todo tipo: cosas por hacer, ideas para desarrollar, notas para el blog, correos pendientes, etc. Solía hacerlo en papel, pero a veces el simple hecho de hacer una anotación me sacaba del ritmo en el que estaba trabajando. Últimamente he estado usando el Notepad para estas anotaciones. Pero esto requiere que esté disponible en todo momento, a una sola tecla de distancia:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
#N::Run &quot;%SystemRoot%\system32\notepad.exe&quot;
&lt;/pre&gt;
&lt;p&gt;Esto me permite que en cualquier momento que esté concentrado haciendo algo, y me pase una idea por la cabeza que me parece importante recordar luego, simplemente presiono Windows+N, la escribo, y continuo de inmediato con lo que estaba haciendo, sin romper el ritmo y la concentración. Luego, cuando he terminado con lo que estaba, puedo volver a las anotaciones y decidir qué hacer con ellas una por una, sin interrumpir mi trabajo.&lt;/p&gt;
&lt;p&gt;En otros casos es una aplicación que siempre está abierta, o que si no lo está, debería estarlo, como por el ejemplo Outlook:&lt;/p&gt;
&lt;pre xml:space=&quot;preserve&quot;&gt;
#1::
IfWinExist, Microsoft Outlook
    WinActivate  
  else
    Run &quot;C:\Archivos de programa\Microsoft Office\OFFICE11\outlook.exe&quot;
return
&lt;/pre&gt;
&lt;p&gt;Al presionar Windows+1, si está abierto el Outlook, me muestra la ventana, y si no, lo ejecuta. Resultado: mi correo, como el Notepad, siempre está a una tecla rápida de distancia.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Estos son los ejemplos más sencillos de cómo uso el AutoHotkey. En próximos artículos les mostraré algunos ejemplos un poco más complejos, para automatizar tareas dentro de aplicaciones, o con combinaciones de aplicaciones, y para construir aplicaciones completas con la ayuda del AutoHotkey.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/3568069306523766501/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/3568069306523766501' title='12 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/3568069306523766501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/3568069306523766501'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/03/autohotkey-usos-y-ejemplos-1.html' title='AutoHotKey, usos y ejemplos (1)'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-2848180520914019989</id><published>2008-03-13T10:59:00.000-04:30</published><updated>2008-03-13T11:35:39.209-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Música"/><category scheme="http://www.blogger.com/atom/ns#" term="Viajes"/><title type='text'>Música a qu&amp;#39;Ismerai</title><content type='html'>&lt;p&gt;Ismerai vive en &lt;a href=&quot;http://es.wikipedia.org/wiki/Basilea&quot; target=&quot;_blank&quot;&gt;Basilea&lt;/a&gt;, Suiza. Pero sin importar dónde esté, o dónde haya nacido, Ismerai es irremediablemente de &lt;a href=&quot;http://es.wikipedia.org/wiki/El_Tocuyo&quot; target=&quot;_blank&quot;&gt;El Tocuyo&lt;/a&gt; (pronúnciese uniendo muy bien las dos palabras, sin temor a opacar la &quot;l&quot; del artículo, con un &lt;a href=&quot;http://es.wikipedia.org/wiki/Staccato&quot; target=&quot;_blank&quot;&gt;staccato&lt;/a&gt; sutil sobre la primera &quot;o&quot; y la &quot;u&quot;, y dejando que la &quot;y&quot; se arrastre sólo un poco hacia una &quot;ch&quot;). Le apasiona hacer varias cosas, las cuales logra disimular muy bien de los desconocidos. Uno de esas cosas es cantar. Que bueno que no soy un desconocido para ella.&lt;/p&gt;
&lt;p&gt;Maxwell es una de las pocas personas que conozco que aun pareciera mantener cierta inocencia en la mirada (aunque puede ser una ratica de cuando en cuando, ¿cierto, &quot;sobrino&quot;?). Cuando lo conocí, en la casa de su familia en Patarata, era apenas un niño, tenía un violín en la mano, y no paraba de hablar. La última vez que lo vi, en casa de Ismerai, tenía un violín en la mano, y no paraba de hablar. Que bueno que algunas cosas no cambian.&lt;/p&gt;
&lt;p&gt;Muy poco conozco de Minako, salvo que es violinista y novia de Maxwell. Él está haciendo su mejor esfuerzo por tropicalizarla: ya está tocando música venezolana en el violín, está comenzando a tocar cuatro (probablemente en un algún tiempo nos humille con él a varios de nosotros) y va acumulando palabras en español.&lt;/p&gt;
&lt;p&gt;Con personajes tan variopintos, la música siempre va más allá de la música :-)&lt;/p&gt;
&lt;p style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;object xmlns=&quot;&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/nY-zOeCAVWE&quot;/&gt;&lt;param name=&quot;wmode&quot;/&gt;&lt;embed xmlns=&quot;http://www.w3.org/1999/xhtml&quot; src=&quot;http://www.youtube.com/v/nY-zOeCAVWE&quot; height=&quot;350&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot;/&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p style=&quot;TEXT-ALIGN: left&quot;&gt;(Ese noche hasta yo toqué cuatro, que tenía años sin hacerlo. Lástima la bateria murió antes de tiempo)&lt;/p&gt;
&lt;p style=&quot;TEXT-ALIGN: left&quot;&gt;Maxwell, junto con otro querido amigo, Rafael, tienen un grupo de música venezolana, Cemeruko Ensamble. Pueden ver más de su trabajo en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.myspace.com/cemeruko&quot; target=&quot;_blank&quot;&gt;MySpace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div style=&quot;TEXT-ALIGN: left&quot;&gt;&lt;a href=&quot;http://www.youtube.com/user/cemeruko&quot; target=&quot;_blank&quot;&gt;Youtube&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style=&quot;TEXT-ALIGN: left&quot;&gt;
&lt;div style=&quot;TEXT-ALIGN: left&quot;&gt;&lt;a href=&quot;http://cemeruko.blogspot.com/&quot; target=&quot;_blank&quot;&gt;Blogger&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/2848180520914019989/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/2848180520914019989' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/2848180520914019989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/2848180520914019989'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/03/msica-qu.html' title='Música a qu&amp;#39;Ismerai'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-1796987595682261453</id><published>2008-03-11T20:37:00.007-04:30</published><updated>2008-03-12T11:06:19.132-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Podcast"/><title type='text'>Mis podcasts favoritos</title><content type='html'>&lt;p&gt;&lt;img src=&quot;http://lh6.google.com/jdugarte/R9cqzAkGIvI/AAAAAAAAANA/nBemsfCtvUc/podcast.jpeg&quot; style=&quot;display: inline; float: right; width: 200px; height: 200px;&quot; height=&quot;200&quot; width=&quot;200&quot; /&gt;Los podcasts son mi radio &quot;a la carta&quot;. Y, de hecho, la mayoría de los que escucho son realmente programas de radio, distribuidas luego como podcasts. Así que tiendo a juzgarlos, y disfrutarlos, como siempre lo he hecho con la radio: una conversación privada (aunque sea pública, es conmigo nada más mientras la escucho) con alguien que tiene algo interesante y/o divertido que decir.&lt;/p&gt;

&lt;p&gt;Luego del &lt;a href=&quot;http://jdugarte.blogspot.com/2008/03/de-cuando-alcanc-250-km-mis-5-aos.html&quot; target=&quot;_blank&quot;&gt;reciente artículo&lt;/a&gt; donde hablé sobre los podcast, me han preguntado cuáles son los que normalmente escucho. Esta es una pequeña lista de mis favoritos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.wnyc.org/shows/radiolab/&quot; target=&quot;_blank&quot;&gt;Radio Lab&lt;/a&gt; (&lt;a href=&quot;http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=152249110&quot; target=&quot;_blank&quot;&gt;iTunes&lt;/a&gt;): este es, por mucho, el mejor programa de radio que he escuchado en mi vida. Y no temo ser demasiado vehemente al enfatizarlo. La edición sonora del programa, una obra maestra por si sola, logra ponernos justo allí donde los narradores y la historia están, sin la menor necesidad de una imagen visual. El humor de los presentadores, la interacción entre ellos, y con los entrevistados, lo convierte también en uno de los programas más divertidos que haya escuchado. Y (dejo esto para último a propósito) el programa es sobre CIENCIA E INVESTIGACION. Hay que escucharlo para creerlo.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.bbc.co.uk/radio4/history/inourtime/&quot; target=&quot;_blank&quot;&gt;In Our Time with Melvyn Bragg&lt;/a&gt; (&lt;a href=&quot;http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=73330895&quot; target=&quot;_blank&quot;&gt;iTunes&lt;/a&gt;): varias veces he encontrado en internet a este programa catalogado como de los mejores del mundo. &quot;La historia de las ideas&quot;, como se presenta el programa, presenta a un conjunto de entrevistados discutiendo sobre temas tan diversos como historia, filosofía, ciencia, literatura, religión, etc.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.radiofrance.fr/franceinter/em/2000ansdhistoire/&quot; target=&quot;_blank&quot;&gt;2000 ans d&#39;histoire&lt;/a&gt; (&lt;a href=&quot;http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=113612628&quot; target=&quot;_blank&quot;&gt;iTunes&lt;/a&gt;): es un programa de Radio Francia sobre historia, en un formato relativamente corto (media hora). El abanico de épocas y temas puede ser tan disímil como para abarcar desde las pirámides del Antiguo Egipto a la muerte de Marilyn Monroe.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cbc.ca/ideas/podcast.html&quot; target=&quot;_blank&quot;&gt;The Best of Ideas&lt;/a&gt; (&lt;a href=&quot;http://phobos.apple.com/WebObjects/MZStore.woa/wa/vi ewPodcast?id=151485663&quot; target=&quot;_blank&quot;&gt;iTunes&lt;/a&gt;): es un podcast con las mejores ediciones del programa de radio &quot;Ideas&quot; de la cadena canadiense CBC. Presentan entrevistas o conferencias con personalidades relevantes de todo el mundo, sobre temas de actualidad (sociedad, política, cultura, arte, tecnología, etc.)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ted.com/talks&quot; target=&quot;_blank&quot;&gt;TED Talks&lt;/a&gt; (&lt;a href=&quot;http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=160892972&quot; target=&quot;_blank&quot;&gt;iTunes&lt;/a&gt;): aquí hay de todo. Los conferencistas invitados al evento anual de TED podrían ser la lista de innovadores, en multitud de campos, más importantes del planeta. La conferencia, que hasta hace poco tenía asistencia sólo por invitación, tiene por misión esparcir ideas de valor, y este podcast nos da acceso a ellas.&lt;/li&gt;
&lt;/ul&gt;Esos son los imprescindibles para mi. Estoy suscrito a otros más que escucho cuando puedo, pero que son menos relevantes.

&lt;p&gt;También estoy suscrito a unos podcast de música, que me parece interesante mencionar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.kcrw.com/music/programs/mb&quot; target=&quot;_blank&quot;&gt;Morning Becomes Eclectic&lt;/a&gt; (&lt;a href=&quot;http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=76016777&quot; target=&quot;_blank&quot;&gt;iTunes&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.tor.cn/chinfootball/dw/article/0,2297,2746159,00.html&quot; target=&quot;_blank&quot;&gt;Beethoven - Deutsche Welle&lt;/a&gt; (&lt;a href=&quot;http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=182630585&quot; target=&quot;_blank&quot;&gt;iTunes&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://oyesto.com/barquisimeto/&quot; target=&quot;_blank&quot;&gt;Barquisimeto.com Musical&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://oyesto.com/webapp/oyepodcasts/details/170?style=podcast_title&quot; target=&quot;_blank&quot;&gt;Palomitas de Maiz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.kcrw.com/music/programs/tu&quot; target=&quot;_blank&quot;&gt;KCRW&#39;s Today&#39;s Top Tune&lt;/a&gt; (&lt;a href=&quot;http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=138767891&quot; target=&quot;_blank&quot;&gt;iTunes&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://gustapod.podomatic.com/&quot;&gt;GustaPOD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ultimamente he estado discutiendo con algunos amigos la carencia de contenido de calidad en español en internet. Al igual que con los podcast, la mayoría de los &lt;a href=&quot;http://www.google.com/reader/shared/15250297323790834685&quot; target=&quot;_blank&quot;&gt;blogs que consumo&lt;/a&gt; están en inglés, con algunos pocos en español y francés. Si sabes de algún buen blog o podcast en español, puedes dejar la recomendación en los comentarios.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/1796987595682261453/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/1796987595682261453' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/1796987595682261453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/1796987595682261453'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/03/mis-podcasts-favoritos.html' title='Mis podcasts favoritos'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-5548691143211816510</id><published>2008-03-05T14:50:00.007-04:30</published><updated>2008-03-12T11:08:46.901-04:30</updated><title type='text'>Joyas musicales de Studio 60</title><content type='html'>&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyHmkPbWxuqww2F6kbPDvyIb6vzgkB0353RM6VWR6HUg-KsQKRQLY7Op5LIzs4rS3D6lLvLxfBfCb2W2KeyhcqQsqWA4PWeSKvRqpqZ_fIBnYvSi5RsEVcLO_S0SwmxMmJLgpZ/s1600-h/studio_60.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyHmkPbWxuqww2F6kbPDvyIb6vzgkB0353RM6VWR6HUg-KsQKRQLY7Op5LIzs4rS3D6lLvLxfBfCb2W2KeyhcqQsqWA4PWeSKvRqpqZ_fIBnYvSi5RsEVcLO_S0SwmxMmJLgpZ/s200/studio_60.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5174361235200089874&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.imdb.com/title/tt0485842/&quot;&gt;Studio 60 on the Sunset Strip&lt;/a&gt; pudiera ser la mejor serie que han visto mis (ya cuadrados de tanta TV) ojos. &lt;a href=&quot;http://orsai.es/aut.php&quot;&gt;Hernán Casciari&lt;/a&gt; escribió un &lt;a href=&quot;http://blogs.elpais.com/espoiler/2007/09/la-nueva-divina.html&quot;&gt;apasionado artículo sobre este serie&lt;/a&gt; en su &lt;a href=&quot;http://blogs.elpais.com/espoiler/&quot;&gt;blog de series de TV&lt;/a&gt;, así que me ahorraré el discurso. Hoy sólo quiero mostrarles dos exquisitos momentos musicales que nos brindó la serie.&lt;/p&gt;

&lt;p&gt;El primero, perteneciente al &lt;a href=&quot;http://www.imdb.com/title/tt0905230/&quot;&gt;capítulo 11&lt;/a&gt;, es un arreglo del villancico &quot;&lt;a href=&quot;http://es.wikipedia.org/wiki/O_Holy_Night&quot;&gt;O Holy Night&lt;/a&gt;&quot;, ejecutada por unos &lt;a href=&quot;http://www.tromboneshorty.com/&quot;&gt;músicos de New Orleans&lt;/a&gt;, desplazados por la tragedia del huracán Katrina. Alguien tuvo la amabilidad de quitar el audio de los diálogos, así que podemos disfrutar de la canción completa.&lt;/p&gt;

&lt;p&gt;&lt;object height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/khSml43oKJQ&amp;amp;rel=0&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/khSml43oKJQ&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;Se puede descargar un &lt;a href=&quot;http://www.tromboneshorty.com/cd_recordings/cd_tracks/studio_60_o_holy_night.mp3&quot;&gt;mp3 de la canción&lt;/a&gt; desde la web del trompetista.&lt;/p&gt;

&lt;p&gt;El segundo, perteneciente al &lt;a href=&quot;http://www.imdb.com/title/tt0854030/&quot;&gt;capítulo 5&lt;/a&gt;, nos lo brinda &lt;a href=&quot;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;sql=11:kifexqr5ldae%7ET0&quot;&gt;Sting&lt;/a&gt;, quien viene &lt;a href=&quot;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;sql=10:3cfexqudld0e&quot;&gt;haciendo&lt;/a&gt; &lt;a href=&quot;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;sql=10:0cfexqwrldde&quot;&gt;cosas&lt;/a&gt; con un laúd desde hace un tiempo, acompañado por &lt;a href=&quot;http://en.wikipedia.org/wiki/Edin_Karamazov&quot;&gt;Edin Karamazov&lt;/a&gt;. Aquí hacen una versión de la canción &quot;Fields of Gold&quot;.&lt;/p&gt;

&lt;p&gt;Este video si incluye el audio de los diálogos de la escena, aunque esto no es un problema para los que hemos disfrutado de la serie, puesto que es una de las escenas más emotivas (léase &quot;tensión sexual como para desempapelar paredes con las uñas&quot;) de la serie.&lt;/p&gt;

&lt;p&gt;&lt;object height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/ZD9iQ6BaNmc&amp;amp;rel=0&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/ZD9iQ6BaNmc&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;Sencillamente exquisito, ¿no?&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/5548691143211816510/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/5548691143211816510' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/5548691143211816510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/5548691143211816510'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/03/joyas-musicales-de-studio-60.html' title='Joyas musicales de Studio 60'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyHmkPbWxuqww2F6kbPDvyIb6vzgkB0353RM6VWR6HUg-KsQKRQLY7Op5LIzs4rS3D6lLvLxfBfCb2W2KeyhcqQsqWA4PWeSKvRqpqZ_fIBnYvSi5RsEVcLO_S0SwmxMmJLgpZ/s72-c/studio_60.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-7389755854395030315</id><published>2008-03-03T17:00:00.005-04:30</published><updated>2008-03-12T11:12:25.206-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ejercicio"/><category scheme="http://www.blogger.com/atom/ns#" term="Podcast"/><title type='text'>De cuando alcancé 250 km a mis 5 años</title><content type='html'>&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk4jqrG2hZBMnNRmz01SKywuh-TZiv8aSbtpL-q150VtEuVe2dZiyDdDQIkJqDtwGuxUh6-ezZa8i4FxZlLR_0wtoKQC6yU9-rBC-NPieNGrxzTamTB1Ygp4EVhyphenhyphenMcO2OiwFn9/s1600-h/Imagen+013.jpg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk4jqrG2hZBMnNRmz01SKywuh-TZiv8aSbtpL-q150VtEuVe2dZiyDdDQIkJqDtwGuxUh6-ezZa8i4FxZlLR_0wtoKQC6yU9-rBC-NPieNGrxzTamTB1Ygp4EVhyphenhyphenMcO2OiwFn9/s320/Imagen+013.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5173633989261927746&quot; /&gt;&lt;/a&gt;En la última semana ocurrieron dos sucesos de mucha importancia para mí. El primero fue mi &quot;segundo cumpleaños&quot;: oficialmente tengo 36 años, que se cumplen cada 21 de octubre (Si, es contigo que aun me debes mi regalo). De una manera más íntima, llevo otra cuenta paralela: cinco años de edad, que se cumplen cada primero de marzo, fecha en que sufrí un terrible accidente en &lt;a href=&quot;http://flickr.com/photos/jdugarte/sets/72157604032475488/detail/&quot;&gt;parapente&lt;/a&gt;. Esta otra cuenta me coloca en mi segunda infancia. Eso les debería explicar muchas cosas ;-)&lt;/p&gt;

&lt;p&gt;El segundo suceso fue que alcancé los &lt;a href=&quot;http://nikeplus.nike.com/nikeplus/v1/html/milestones/print_certif.html?id=2091231161&amp;region=mx&amp;language=es&amp;locale=es_mx&amp;dateFormat=MM/DD/YY&quot;&gt;250 kilómetros&lt;/a&gt; trotados, según la &lt;a href=&quot;http://nikeplus.nike.com/nikeplus/?l=runners,runs,485385093&quot;&gt;bitácora&lt;/a&gt; de mi iPod+Nike. Ambos hechos están muy relacionados, porque todas las cosas que he logrado en los últimos cinco años, que superan por mucho los retos que me habría impuesto antes del accidente, tienen que ver con ese afán por superar límites; límites que, la más de las veces, tenemos impuestos de manera totalmente arbitraria e inconsciente.&lt;/p&gt;

&lt;p&gt;&quot;&lt;a href=&quot;http://headrush.typepad.com/creating_passionate_users/2005/06/kicking_ass_is_.html&quot;&gt;Es simplemente más divertido cuando eres más rápido&lt;/a&gt;&quot; es una imagen que trato de aplicar a cada pequeño logro alcanzado, y, sobretodo, a la próxima frontera por superar que ese logro define: al llegar al borde del esfuerzo no queda más remedio que dar otro paso más, porque es justamente &lt;span style=&quot;font-style:italic;&quot;&gt;ahí&lt;/span&gt; donde empieza la diversión. Antes de llegar a ese borde sólo estábamos calentando.&lt;/p&gt;

&lt;p&gt;Hay un lado más mundano en este logro de 250 kilómetros, que tiene que ver con un recurso que me ha ayudado a mantener la constancia en el proceso (o que, más bien, se ha afincado en un síndrome, que apenas acabo de enterarme que existe, y que sin duda padezco). El recurso del que hablo es el podcast.&lt;/p&gt;

&lt;p&gt;Hasta hace muy poco, podcast y música significaban casi lo mismo para mí. Y cuando pensaba en ejercicio, las cosas que venían a mi mente eran tipos de rutinas, sitios donde practicar, mejores horas, equipos, etc. Pues sucede que ahora cuando pienso en poscast, pienso en información; y al pensar en ejercicio, pienso es en repetición.&lt;/p&gt;

&lt;p&gt;Lo más difícil de lograr en el ejercicio es la disciplina. No es el esfuerzo, ni los dolores o lesiones ocasionales, o los errores que se cometan, o la falta de información, o de grupo de apoyo, o quién sabe qué otros problemas se encuentra todo el mundo en el camino. Nada de eso. Lo verdaderamente arrecho es hacerlo TODOS LOS DIAS. No me refiero a batir records, o hacer esfuerzos descomunales a diario, sino a la simple repetición, al hábito. ¿Quieres hacer algún ejercicio? Sólo sal a caminar. Anda a un parque, o una plaza, o donde más te plazca, y ponte a caminar. Pero no hoy, y luego en una semana, y quizás dos meses después cuando no encontraste nada más que hacer. No señor: TODOS LOS DIAS (Está bien, quizás debas descansar los fines de semana). Es en esta repetición donde están los resultados reales. Y es ahí donde, en mi caso, entra el podcast (y el síndrome).&lt;/p&gt;

&lt;p&gt;Antes debía luchar contra ni neurótico personal para explicarle cómo y por qué me iba a ausentar durante una hora o más del flujo de información constante que es la Internet. Ahora, una de las cosas que me levanta todos los días a trotar es la necesidad casi patológica de información. La sesión de ejercicios es ese momento de aislamiento, de bienestar físico, de disfrute, de reto. Pero también es el momento en que escojo de la multitud de fuentes de información que me brinda mi iPod, y me sumerjo en los temas más disímiles, sólo por el placer de disfrutar de la información nueva. Ahí lo tienen: &lt;a href=&quot;http://www.randsinrepose.com/archives/2003/07/10/nadd.html&quot;&gt;Síndrome de Desorden de Atención de los Nerds&lt;/a&gt;: puro NADD (por sus siglas en inglés).&lt;/p&gt;

&lt;p&gt;Luego de mucho tiempo intentando mejorar en el trote, finalmente parece que estoy haciendo avances. Y aunque había pensado hasta ahora que el hecho se debía a mi disciplina, a mi esfuerzo, a que he aprendido de mis errores, y que finalmente estoy mejorando (con todo el empujón que eso le da a mi orgullo), resulta que el principal componente es mi obsesión por absorber información. Bueno, no es tan malo en realidad, porque, al fin y al cabo, da resultados: la suma del deseo de alcanzar mis metas en el entrenamiento, el ver subir los numeritos en la &lt;a href=&quot;http://nikeplus.nike.com/nikeplus/?l=runners,runs,485385093&quot;&gt;web de Nike&lt;/a&gt; y la necesidad constante de información, han sido posiblemente mejores motivadores que simplemente lo rico del ejercicio.&lt;/p&gt;

&lt;p&gt;La rutina es lo primordial. E implantar una rutina siempre provoca resistencia. Para mi el podcast ha sido una manera de vencer esa resistencia. Cada quien tiene guardado adentro la semilla (o el síndrome) que le permite vencer esa resistencia. ¿Cuál es la tuya?&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/7389755854395030315/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/7389755854395030315' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/7389755854395030315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/7389755854395030315'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/03/de-cuando-alcanc-250-km-mis-5-aos.html' title='De cuando alcancé 250 km a mis 5 años'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk4jqrG2hZBMnNRmz01SKywuh-TZiv8aSbtpL-q150VtEuVe2dZiyDdDQIkJqDtwGuxUh6-ezZa8i4FxZlLR_0wtoKQC6yU9-rBC-NPieNGrxzTamTB1Ygp4EVhyphenhyphenMcO2OiwFn9/s72-c/Imagen+013.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-1843882014571591974</id><published>2008-02-19T10:00:00.011-04:30</published><updated>2008-03-12T11:13:26.733-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fórmula 1"/><title type='text'>Calendario Fórmula 1 2008 (Horario de Venezuela)</title><content type='html'>&lt;p&gt;&lt;iframe src=&quot;http://www.google.com/calendar/embed?title=F%C3%B3rmula%201%202008%20(Horario%20de%20Venezuela)&amp;amp;showTitle=0&amp;amp;showCalendars=0&amp;amp;height=333&amp;amp;wkst=2&amp;amp;hl=es&amp;amp;bgcolor=%23FFFFFF&amp;amp;src=mq2on091r67ntgqdb0teavpp9k%40group.calendar.google.com&amp;amp;color=%235229A3&amp;amp;ctz=America%2FCaracas&quot; style=&quot; border-width:0 &quot; width=&quot;445&quot; height=&quot;333&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Como todos los años, ya creé mi lista de recordatorios de las carreras de la temporada de Fórmula 1. Normalmente lo hago en mi calendario de Outlook, sincronizándolo luego en la agenda de mi teléfono celular. Pero este año estaba buscando algún calendario público en Google, para no tener que transcribir todos los horarios, y no encontré ninguno. En realidad si encontré un montón, pero ninguno con el horario de las carreras en Venezuela, o con los eventos completos.&lt;/p&gt;

&lt;p&gt;Aquí lo tienen, en caso de que haya algún otro enfermo por ahí que le parezca igual de abominable transcribir por 20 minutos algo que ya debería estar disponible en algún sitio en internet ;-)&lt;/p&gt;

&lt;p&gt;Pueden exportar el calendario (en formato iCal) desde &lt;a href=&quot;http://www.google.com/calendar/ical/mq2on091r67ntgqdb0teavpp9k%40group.calendar.google.com/public/basic.ics&quot;&gt;aquí&lt;/a&gt;, o usar la dirección para &lt;a href=&quot;http://www.google.com/support/calendar/bin/answer.py?hlrm=en&amp;answer=37100&quot;&gt;subscribirse desde Google Calendar&lt;/a&gt;. O simplemente &lt;a href=&quot;http://www.google.com/calendar/embed?src=mq2on091r67ntgqdb0teavpp9k%40group.calendar.google.com&amp;ctz=America/Caracas&quot;&gt;consultarlo en el navegador&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La hora de la carrera de Brasil, del 2 de noviembre, &lt;a href=&quot;http://www.formula1.com/races/in_detail/804/&quot;&gt;aun aparece&lt;/a&gt; en el &lt;a href=&quot;http://www.formula1.com/races/calendar.html&quot;&gt;calendario oficial&lt;/a&gt; como &quot;por confirmar&quot;. De todos modos la coloqué en el calendario a las 12:30pm, como suele ser.&lt;/p&gt;

&lt;p&gt;También hay unos recordatorios adicionales en los días previos a la carrera (el lunes y jueves antes de cada carrera), porque, no sé Uds., pero mi memoria siempre ha servido para muy poco, y el Outlook y mi teléfono siempre recuerdan mejor que yo :-D&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/1843882014571591974/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/1843882014571591974' title='5 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/1843882014571591974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/1843882014571591974'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/02/celendario-frmula-1-2008-horario-de.html' title='Calendario Fórmula 1 2008 (Horario de Venezuela)'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-4164220752711283104</id><published>2008-02-09T14:14:00.003-04:30</published><updated>2008-03-12T11:23:45.272-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gmail"/><category scheme="http://www.blogger.com/atom/ns#" term="Nokia"/><title type='text'>Tema Gmail para Nokia serie 40</title><content type='html'>&lt;div style=&quot;width:175px; float:right&quot;&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuPnazMFn4pg7kE5xTtuRyZe87UN8urnJ5QKwrkTUl-v8Wucf6mJ2NPAW9EgdOXLcgypPYjoWdLQNJGkBpdlVVHsLEejdGrTGjIlR2dzsQBXxtRaFmb0sxiQ4Bf4oUPCPQ2Lk/s1600-h/Pantalla+principal.JPG&quot;&gt;&lt;img style=&quot;margin:0px 0px 10px 10px; text-align:center;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuPnazMFn4pg7kE5xTtuRyZe87UN8urnJ5QKwrkTUl-v8Wucf6mJ2NPAW9EgdOXLcgypPYjoWdLQNJGkBpdlVVHsLEejdGrTGjIlR2dzsQBXxtRaFmb0sxiQ4Bf4oUPCPQ2Lk/s200/Pantalla+principal.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5165050969022426370&quot; /&gt;&lt;/a&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWiEUvb0ZXYGctBtA6jxWOqdDeu-TcXO0cX6KJeBvx6GvjhUhoFC7Dzek83PR6Sh5c2Y_TG1Qsl9nB1TcViYnKaQlZCxorYSh2LLt6emCUZEi6oa7TJOik8pdmHENrPGJqQJ-U/s1600-h/Men%C3%BA.JPG&quot;&gt;&lt;img style=&quot;margin:0px 0px 10px 10px; text-align:center;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWiEUvb0ZXYGctBtA6jxWOqdDeu-TcXO0cX6KJeBvx6GvjhUhoFC7Dzek83PR6Sh5c2Y_TG1Qsl9nB1TcViYnKaQlZCxorYSh2LLt6emCUZEi6oa7TJOik8pdmHENrPGJqQJ-U/s200/Men%C3%BA.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5165041223741631666&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;La simplicidad es la sofisticación suprema&lt;/p&gt;
&lt;p&gt;Leonardo da Vinci&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Me gusta mucho el pool y la Fórmula 1, pero detesto ver una inmensa y colorida bola de billar, o los fabulosos colores de un Ferrari, atravesados en la pantalla de mi teléfono, cuando lo que quiero es ver la hora, o leer un mensaje, o saber quién me está llamando. Y como no encontré sino ese tipo de temas (en internet, o preinstalados en mi Nokia 6275), me propuse crear uno sencillo yo mismo.&lt;p&gt;

&lt;p&gt;Y cuando de diseños sencillos (y altamente eficientes) se trata, no hay nada mejor, a mi modo de ver, que Google. Con la ayuda del &lt;a href=&quot;http://s3.amazonaws.com/edownload/free/en/pda/S40_Theme_Studio_2_2.zip&quot;&gt;Series 40 Theme Studio&lt;/a&gt; de Nokia, y basado en algunos aspectos de diseño de Gmail, creé este tema. Se supone que funciona para todos los Nokia serie 40, aunque sólo lo he probado en modelos 5310, 6275 y 6275i.&lt;/p&gt;

&lt;p&gt;Puedes descargarlo &lt;a href=&quot;http://www.box.net/shared/9s012sqxwc&quot;&gt;aquí&lt;/a&gt; y probarlo. Y si tienes algún comentario o sugerencia, o le haces alguna mejora, me gustaría escucharla.&lt;/p&gt;

&lt;div style=&quot;float:left;&quot;&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkLykdjMbAzqWwOILUctyy_7GZ96kg7z-RIwPoH6c4Sld07LZh9yhB-u7lajI4MH6YAg9YU4I4bVh77Ey00hgQHtn-Zbkdcx_yAkCZeKVA720dfc7BZTjmywHi8FdJFxc4lgfd/s1600-h/Calendario.JPG&quot;&gt;&lt;img style=&quot;margin:5px; text-align:center;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkLykdjMbAzqWwOILUctyy_7GZ96kg7z-RIwPoH6c4Sld07LZh9yhB-u7lajI4MH6YAg9YU4I4bVh77Ey00hgQHtn-Zbkdcx_yAkCZeKVA720dfc7BZTjmywHi8FdJFxc4lgfd/s200/Calendario.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5165042568066395346&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjipsLBL13ZnhKXOtzcrtrAuRAn2gSO4IMK8kPOiEI5z4NymObstALsBPYkP16LJHf4eLm0Bz2gDSTAY65Skmxvys8DZdvzUCkrVMuWwvDjHDx52ZXGNJTYNLi1mIT5v85b9Svt/s1600-h/Mensaje.JPG&quot;&gt;&lt;img style=&quot;margin:5px; text-align:center;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjipsLBL13ZnhKXOtzcrtrAuRAn2gSO4IMK8kPOiEI5z4NymObstALsBPYkP16LJHf4eLm0Bz2gDSTAY65Skmxvys8DZdvzUCkrVMuWwvDjHDx52ZXGNJTYNLi1mIT5v85b9Svt/s200/Mensaje.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5165042701210381538&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/4164220752711283104/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/4164220752711283104' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/4164220752711283104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/4164220752711283104'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2008/02/tema-gmail-para-nokia-serie-40.html' title='Tema Gmail para Nokia serie 40'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuPnazMFn4pg7kE5xTtuRyZe87UN8urnJ5QKwrkTUl-v8Wucf6mJ2NPAW9EgdOXLcgypPYjoWdLQNJGkBpdlVVHsLEejdGrTGjIlR2dzsQBXxtRaFmb0sxiQ4Bf4oUPCPQ2Lk/s72-c/Pantalla+principal.JPG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-1354094119742544599</id><published>2007-11-30T16:05:00.002-04:00</published><updated>2008-05-10T11:52:17.581-04:30</updated><title type='text'>Origen del apellido Dugarte</title><content type='html'>&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF0-NcyhlYW9Jwcycfve7gd5zDBZOFkP4vOPEuwNUiUdYUk115gPiSDyL0W_iPcxzbRWjHX2Sv_a8xlXD8IxRL2I1w71CzCQeZEZFExpI957mR89_bs1Vjhm59Ida5D5z9MEwT/s1600-r/Escudo.JPG&quot; rel=&quot;lightbox&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfiINeOpoobCo-EDWx-QM7O8FLqOOV42q1Sk0hYwClZlW3gE22W0vBpmTL96mIDDbg3xHVfFGrHOHOYbUe3yRZsX1nruS5ArhbRb2BCicmbQ7ay8e6ySK1XwW9OFWmEVvARtr9/s400/Escudo.JPG&quot; style=&quot;FLOAT: right; MARGIN: 0pt 0pt 10px 10px; CURSOR: pointer&quot; name=&quot;BLOGGER_PHOTO_ID_5138758147537460226&quot; alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5138758147537460226&quot;/&gt;&lt;/a&gt; Esta pregunta la había hecho yo desde niño, y la única versión oficial que circulaba en mi familia, sin mayores detalles, es que los Dugarte venían de &lt;a href=&quot;http://es.wikipedia.org/wiki/El_Morro&quot;&gt;El Morro&lt;/a&gt;.
&lt;br/&gt;
&lt;br/&gt;
En el año 1993 fui con mi familia de vacaciones a &lt;a href=&quot;http://es.wikipedia.org/wiki/El_Morro&quot;&gt;El Morro&lt;/a&gt;. No es demasiado común, fuera de Mérida, tropezarse en la calle con algún desconocido apellidado Dugarte. Normalmente, luego de algunos minutos de averiguaciones, es fácil deducir algún parentesco con el recién conocido. Por eso aquel viaje tuvo algo de surrealista: comenzando en la plaza, donde el dueño de la bodega se llamaba Jesús Dugarte; pasando por la dueña de la posada, también Dugarte; hasta el cementerio del pueblo, donde había una lápida de un Bermudez, otra de un Gonzalez y el resto eran puros Dugarte: ni en las más grandes reuniones familiares había yo visto tantos Dugarte juntos.
&lt;br/&gt;
&lt;br/&gt;
La mayoría de las fuentes sobre heráldica que había consultado afirman que el apellido Dugarte es una variación de &lt;a href=&quot;http://geocities.com/apellidos_vascos/ugarte.html&quot;&gt;Ugarte&lt;/a&gt;, apellido vasco de &lt;a href=&quot;http://es.wikipedia.org/wiki/Apellido#Apellidos_topon.C3.ADmicos&quot;&gt;origen toponímico&lt;/a&gt; que &lt;a href=&quot;http://www.paisvasco.com/heraldica/cgi-heral/heral.cgi?apellido=UGARTE&quot;&gt;etimológicamente significa&lt;/a&gt;:
&lt;br/&gt;
&lt;br/&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Entre riachuelos o entre dos riachuelos (de &quot;ug&quot;, variante de &quot;ur&quot; ante vocal: río, y &quot;arte&quot;, entre). Equivalente al castellano &quot;&lt;a href=&quot;http://es.wikipedia.org/wiki/Entrambasaguas&quot;&gt;Entrambasaguas&lt;/a&gt;&quot;, entre dos aguas, entre aguas, sin que esto quiera significar &quot;isla&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br/&gt;
sin mayores detalles en cuanto a dónde o por qué ocurrió la variación. De hecho, en casi todas las fuentes lo citan como un apellido vasco, contrario a la suposición de un origen venezolano.
&lt;br/&gt;
&lt;br/&gt;
Finalmente, hace poco encontré &lt;a href=&quot;http://www.misapellidos.com/ver_datos.phtml?cod=19370&amp;amp;apellido=Dugarte&quot;&gt;una versión con más detalles&lt;/a&gt; del origen del apellido:
&lt;br/&gt;
&lt;br/&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;De origen: Americano Nativo
&lt;br/&gt;
Variante: D´Ugart (Vasco)
&lt;br/&gt;
&lt;br/&gt;
Según cuenta la historia un sacerdote vasco de nombre Pablo D`Ugart llego en tiempos de la colonia a los pueblos del sur, localizados en lo que hoy se conoce como estado Mérida, en Venezuela, específicamente a una población que se conoce en la actualidad como &quot;El Morro&quot;. En este lugar este sacerdote formó, junto con las mujeres de la tribu, una gran familia, lográndose que en la actualidad la mayoría de habitantes de este pueblo lleven este apellido, pero como a los indígenas se les dificultaba pronunciar el apellido correctamente lo degeneraron linguísticamente en &quot;Dugarte&quot;, convirtiéndose en un apellido bastante común en las diferentes poblaciones del Estado Mérida.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br/&gt;
No sabría muy bien cómo verificar la veracidad de esta versión, pero incluso mi papá recuerda haberla escuchado alguna vez.
&lt;br/&gt;
&lt;br/&gt;
Pero también encontré otro detalle interesante: los &lt;a href=&quot;http://www.familysearch.org/Eng/library/fhlcatalog/supermainframeset.asp?display=titledetails&amp;amp;titleno=477567&amp;amp;disp=Registros+parroquiales &amp;amp;columns=*,180,0&quot;&gt;registros parroquiales, (1531-1929)&lt;/a&gt; de la &lt;a href=&quot;http://www.panoramio.com/photo/5151546&quot;&gt;Iglesia de San Pedro&lt;/a&gt; (Tordesillas, Valladolid, España) guardan el registro del matrimonio entre Andrés Dominguez y una tal &lt;a href=&quot;http://www.familysearch.org/Eng/search/IGI/individual_record.asp?recid=100015644973&amp;amp;lds=1&amp;amp;region=15&amp;amp;regionfriendly=Southwest+Europe&amp;amp;frompage=99&quot;&gt;Ana Dugarte&lt;/a&gt;, el 2 de marzo de 1593. No tenemos fecha de la supuesta llegada de Pablo D`Ugart a &lt;a href=&quot;http://es.wikipedia.org/wiki/El_Morro&quot;&gt;El Morro&lt;/a&gt;, pero esta fecha de matrimonio parecería muy temprana como para suponer que una de sus descendientes se fue a España y contrajo nupcias allá. ¿O es que hay varios Dugartes diferentes, con momentos diferentes de origen?
&lt;br/&gt;
&lt;br/&gt;
Veamos este otro dato curioso: la empresa francesa de servicios de investigación genealógica &lt;a href=&quot;http://www.geneaservice.com/&quot;&gt;GeneaService&lt;/a&gt; da cuenta en sus archivos (serie 2: partidas de nacimiento, matrimonio y defunciones, 1798-1860) de &lt;a href=&quot;http://geneanet.geneaservice.com/recherche/search_cst.php?nom=dugarte&amp;amp;rechercher=Rechercher&amp;amp;serie=2&quot;&gt;un acta de matrimonio de un tal Joseph Louis d&#39;Ugarte&lt;/a&gt;, nombre que quedó registrado simplemente como Dugarte. Es decir, José Luis Dugarte. Se puede ver un extracto del acta escaneada (se requiere registrarse en la web, y es gratis, aunque está en francés). Igualmente aparecen registrados apellidos como Dugart o Dugast, que podrían tener un origen parecido. Eso debería explicar, por ejemplo, la &lt;a href=&quot;http://www.ellisisland.org/search/matchMore.asp?LNM=DUGART&amp;amp;PLNM=DUGART&amp;amp;kind=exact&amp;amp;offset=0&amp;amp;dwpdone=1&quot;&gt;aparición del apellido Dugart&lt;/a&gt; en los registros de la &lt;a href=&quot;http://es.wikipedia.org/wiki/Isla_Ellis&quot;&gt;Isla Ellis&lt;/a&gt;, como proveniente de Francia.
&lt;br/&gt;
&lt;br/&gt;
¿Entonces el apellido Dugarte es venezolano, vasco o francés? Mi suposición es que es las tres cosas: quizás en cada uno de esos sitios (y en otros también, tal vez) el apellido Ugarte, o algunas de sus otras variaciones, sufrió cambios por diversas razones y vieron la luz diferentes apellidos (primos) Dugarte.
&lt;br/&gt;
&lt;br/&gt;
Hace tiempo que estaba investigando todo eso, y decidí escribir este post porque vi en las &lt;a href=&quot;http://www.google.com/analytics/&quot;&gt;estadísticas&lt;/a&gt; de mi blog que varias personas llegaban hasta aquí (enviadas por Google) buscando el origen del apellido Dugarte. Así que, querido primo, si llegaste aquí buscando algo de esto, y tienes alguna información adicional al respecto, por favor, compártela en los comentarios.&lt;img src=&quot;http://feeds.feedburner.com/~r/jdugarte/~4/238423080&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;/p&gt;
&lt;p&gt;ACTUALIZACIÓN (10/05/2008): &lt;em&gt;Hace poco encontré un grupo en Facebook sobre los Dugarte: &lt;a href=&quot;http://www.facebook.com/group.php?gid=22890270051&quot; target=&quot;_blank&quot;&gt;Dugarte&#39;s en faceboock, cuantos somos??&lt;/a&gt;&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/1354094119742544599/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/1354094119742544599' title='68 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/1354094119742544599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/1354094119742544599'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2007/11/origen-del-apellido-dugarte.html' title='Origen del apellido Dugarte'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfiINeOpoobCo-EDWx-QM7O8FLqOOV42q1Sk0hYwClZlW3gE22W0vBpmTL96mIDDbg3xHVfFGrHOHOYbUe3yRZsX1nruS5ArhbRb2BCicmbQ7ay8e6ySK1XwW9OFWmEVvARtr9/s72-c/Escudo.JPG" height="72" width="72"/><thr:total>68</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-2637044796522156012</id><published>2007-07-12T10:57:00.002-04:00</published><updated>2008-03-12T11:41:22.167-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lengua"/><title type='text'>&quot;¡Jiede a fos!&quot;</title><content type='html'>&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzXhHkiJ13hObUdAw8U_tcPG2rF-XKSBqS1AMaxx7QcI8jLnd0EGTTRkYLSEzIj7tEbOz_iGW9TaD0jB8Gx2qZZEzi38wdfL9xB-6WID-XiNUzcXDWnaT5p5cBQtDoeeSda28I/s1600-h/fos.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzXhHkiJ13hObUdAw8U_tcPG2rF-XKSBqS1AMaxx7QcI8jLnd0EGTTRkYLSEzIj7tEbOz_iGW9TaD0jB8Gx2qZZEzi38wdfL9xB-6WID-XiNUzcXDWnaT5p5cBQtDoeeSda28I/s200/fos.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5086336495052552018&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Cerca de la ciudad de Marsella (Francia) hay una pequeña población portuaria e industrial llamada &lt;a href=&quot;http://es.wikipedia.org/wiki/Fos-sur-Mer&quot;&gt;Fos-sur-mer&lt;/a&gt;. Debido a los olores muy fuertes y desagradables que emiten las diferentes industrias allí ubicadas, esta localidad se hizo famosa en Francia por la expresión &lt;span style=&quot;font-style: italic;&quot;&gt;ça pue a Fos-sur-mer&lt;/span&gt;, lo que en español vendría siendo &quot;hiede a Fos-sur-mer&quot;. Con el tiempo, y las economías a que se someten las expresiones entre la gente, se acortó la expresión a &lt;span style=&quot;font-style: italic;&quot;&gt;ça pue a fos&lt;/span&gt;, es decir &quot;hiede a fos&quot;.&lt;/p&gt;

&lt;p&gt;Con lo cual resultaría que la tan vernácula y criolla expresión &quot;¡Fos!&quot; podría ser un &lt;a href=&quot;http://es.wikipedia.org/wiki/Galicismo&quot;&gt;galicismo&lt;/a&gt;, otro préstamo más del lenguaje del romance y la diplomacia a nuestro exquisito español, como las palabras chofer, jardín, jamón, musiú y tantas otras.&lt;/p&gt;

&lt;p&gt;Así que la próxima vez que una pestilencia te ataque sin contemplaciones, cuando sientas que todos los pelos se te paran, que la nariz se te arruga, que el estómago se te voltea y te preparas a emitir ese vocablo con la mejor de las inflexiones latinas, y dices &quot;!FOOOO!&quot;, voltéate a ver a la audiencia con cara de erudito, sintiéndote muy orgulloso de tu francés.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/2637044796522156012/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/2637044796522156012' title='3 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/2637044796522156012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/2637044796522156012'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2007/07/jiede-fos.html' title='&quot;¡Jiede a fos!&quot;'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzXhHkiJ13hObUdAw8U_tcPG2rF-XKSBqS1AMaxx7QcI8jLnd0EGTTRkYLSEzIj7tEbOz_iGW9TaD0jB8Gx2qZZEzi38wdfL9xB-6WID-XiNUzcXDWnaT5p5cBQtDoeeSda28I/s72-c/fos.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-6724517241551466340</id><published>2007-07-06T12:53:00.001-04:00</published><updated>2008-03-12T11:42:33.590-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lengua"/><title type='text'>De dónde venimos</title><content type='html'>&lt;p&gt;&lt;object width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/76Cr51pr-RE&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/76Cr51pr-RE&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;176&quot; height=&quot;144&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;José Ricardo Alzate.&lt;br&gt;
5 de julio del 2007&lt;br&gt;
Plaza de la Justicia, Barquisimeto&lt;br&gt;
XIV Festival de la Oralidad&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/6724517241551466340/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/6724517241551466340' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/6724517241551466340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/6724517241551466340'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2007/07/de-dnde-venimos.html' title='De dónde venimos'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-535181609456915583</id><published>2006-12-30T10:10:00.001-04:00</published><updated>2008-03-12T11:43:52.100-04:30</updated><title type='text'>Soy... ¿Linterna Verde?</title><content type='html'>&lt;p&gt;Al menos de acuerdo a &lt;a href=&quot;http://www.thesuperheroquiz.com&quot;&gt;este test&lt;/a&gt;, lo soy. Incluso soy cuatro quintas partes Hombre Araña y tres cuartas partes Superman:&lt;/p&gt;

&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.thesuperheroquiz.com&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiC3gF94Ra5KQ__Gn1vy7vn7A5uahM72pBz_xUNaQ6bnC64-2KSvk-ROvRSxrojJopDrTD9KQ892t8J9lp5NaRGEpBnlm4iZN8rrQZgxKRhMheoWsrWxAbnfydxfuRE441GS4Z/s400/Superheroe.JPG&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5014329158307450242&quot;/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creo que no me quedará más remedio que repetir:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;En el día más brillante, en la noche más oscura,&lt;br&gt;
el mal no escapará de mi vista.&lt;br&gt;
Aquellos que adoran al mal&lt;br&gt;
que teman mi poder,&lt;br&gt;
la luz de Linterna Verde&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;(Y lo primero que haré con mis super poderes será hacer pagar al que incluyó esos 55% Supergirl y 45% Mujer Maravilla ;-) )&lt;/span&gt;&lt;p&gt;

&lt;p&gt;Y tú, &lt;a href=&quot;http://www.thesuperheroquiz.com&quot;&gt;¿qué super héroe eres?&lt;/a&gt;&lt;p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/535181609456915583/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/535181609456915583' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/535181609456915583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/535181609456915583'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2006/12/soy-linterna-verde.html' title='Soy... ¿Linterna Verde?'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiC3gF94Ra5KQ__Gn1vy7vn7A5uahM72pBz_xUNaQ6bnC64-2KSvk-ROvRSxrojJopDrTD9KQ892t8J9lp5NaRGEpBnlm4iZN8rrQZgxKRhMheoWsrWxAbnfydxfuRE441GS4Z/s72-c/Superheroe.JPG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-4267552214349077827</id><published>2006-12-28T10:33:00.001-04:00</published><updated>2008-03-12T11:45:10.178-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bicicleta"/><title type='text'>Rutas para bicicleta con Google Earth</title><content type='html'>&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdPpjH5rzQnLKeCs_Iup8Y4y2D1JeWtrFfIGC41yEmkOmZXG2f_FJRtyHQ9Rh0UZN2VndH7sBE6z2v-9DNhRY85oDIsQbcd9TgQrS5PUyYyixF0qqjsrNlQeSHa6Uuk-eyBjCe/s1600-h/IM000748.JPG&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdPpjH5rzQnLKeCs_Iup8Y4y2D1JeWtrFfIGC41yEmkOmZXG2f_FJRtyHQ9Rh0UZN2VndH7sBE6z2v-9DNhRY85oDIsQbcd9TgQrS5PUyYyixF0qqjsrNlQeSHa6Uuk-eyBjCe/s200/IM000748.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5013637290615672146&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Desde que me enteré de la existencia de Google Earth había esperado la aparición de alguna aplicación web para crear y documentar rutas de bicicleta. Sabía que la espera no podía ser muy larga.&lt;/p&gt;

&lt;p&gt;He encontrado, hasta ahora tres aplicaciones con ese objetivo. Las tres tienen características básicas en común: dibujo e información de la ruta y de los puntos por lo que pasa. Las tres comparten también una carencia (aunque no muy desalentadora) para nosotros los que vivimos fuera del primer mundo: no hay información de Google Maps en esta parte del planeta, sólo información satelital (imágenes de Google Earth).&lt;p&gt;

&lt;p&gt;La primera y más sencilla aplicación, &lt;a href=&quot;http://www.davidgoodwin.net/run/index.php&quot;&gt;Dave&#39;s Running Route Database&lt;/a&gt;, solo permite dibujar la ruta, sin información detallada de ella. Aunque en una &lt;a href=&quot;http://www.davidgoodwin.net/run/gread.php?id=383&quot;&gt;primera prueba&lt;/a&gt; que hice, al consultar la ruta terminada, la dibujó en algún lugar del Atlántico Sur, cerca del Antártico. Habría que pedalear mucho en esas condiciones ;-)&lt;/p&gt;

&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.bikely.com/&quot;&gt;&lt;img style=&quot;margin: 5px 10px 5px 0pt; float: left; cursor: pointer;&quot; class=&quot;logos&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR-8uXKdIIP1qNAGjas5HxZ75lJFPH3pFGrGhOIbUuCmooaGkeyMgKau4h4AMnyLmP2QGYHlLpCApOGeGqQbOlIvokDdQ3Xa51L9wpezISqWCW1OzOdd2VB831yvLMPoeSlTzE/s200/bikely.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5013634992808168754&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;La segunda aplicación es &lt;a href=&quot;http://www.bikely.com/&quot;&gt;Bikely&lt;/a&gt;. Tiene información de la ruta, de los puntos por donde se pasa, distancia, gráficos de elevación, una hoja de ruta (Cue sheet) y exporta la ruta en un archivo para GPS. &lt;a href=&quot;http://www.blogger.com/profile/16144187625855792482&quot;&gt;Rapmax&lt;/a&gt; tiene un muy buen &lt;a href=&quot;http://rapmax.blogspot.com/2006/12/navegando-por-internet-me-encontr-con.html&quot;&gt;post&lt;/a&gt; más detallado sobre esta aplicación.&lt;/p&gt;

&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.routeslip.com/&quot;&gt;&lt;img style=&quot;margin: 5px 10px 5px 0pt; float: left; cursor: pointer;&quot; class=&quot;logos&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQqAd4LNY-Zrgp8Ex7bKOSpvC_91GLoxbeuzkqHfD9XE8JQUZ0IsHiRGOA70nUwx4lfODvhPcZOfXgJFz2JEFaYBs30MOOWN5DTY5V1fqrXfSIM3whS7tZUEHwEv89sgkvEb_y/s400/routeslip.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5013637556903644530&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;La tercera aplicación, y mi favorita hasta ahora, es &lt;a href=&quot;http://www.routeslip.com/&quot;&gt;RouteSlip&lt;/a&gt;. Además de las opciones ya mencionadas en las otras dos, tiene un área de edición más grande (que aparece al principio siempre como &quot;mapa&quot;, así que hay que cambiar a &quot;satélite&quot;), más detalles de los tipos de puntos por donde pasa la ruta (doblar a la izquerda/derecha, pasar, cruzar, reagruparse aquí, etc.) y un diario o bitácora, para registrar información del ciclista y de las rutas hechas (fechas, paseos, distancias, escaladas, condiciones ambientales, etc.).&lt;/p&gt;

&lt;p&gt;Como prueba registré una ruta sencilla y muy popular entre los ciclistas de Barquisimeto, la ruta Barquisimeto – Yaritagua:
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.bikely.com/maps/bike-path/Barquisimeto-Yaritagua&quot;&gt;Ruta Barquisimeto – Yaritagua en Bikely&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.routeslip.com/map.php?map=17339&quot;&gt;Ruta Barquisimeto – Yaritagua en RouteSlip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
Ojalá veamos pronto muchas rutas cercanas registradas allí.&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Nota mental: Necesitas reparar la bicicleta y empezar a entrenar de nuevo.&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/4267552214349077827/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/4267552214349077827' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/4267552214349077827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/4267552214349077827'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2006/12/rutas-para-bicicleta-con-google-earth.html' title='Rutas para bicicleta con Google Earth'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdPpjH5rzQnLKeCs_Iup8Y4y2D1JeWtrFfIGC41yEmkOmZXG2f_FJRtyHQ9Rh0UZN2VndH7sBE6z2v-9DNhRY85oDIsQbcd9TgQrS5PUyYyixF0qqjsrNlQeSHa6Uuk-eyBjCe/s72-c/IM000748.JPG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-4721948081501559366</id><published>2006-12-14T15:46:00.001-04:00</published><updated>2008-03-12T11:48:07.466-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lengua"/><title type='text'>De dónde viene la palabra &quot;gocho&quot;... de verdad</title><content type='html'>&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvh9jTpdMqcixpFfOpan0yRGlgOnuMhyawhWzPEOjqOdOA6eYhKECbgLZzw_9B1tfMH-HMjE2dU8b2PQzlY9xGg3dT0v9Gl-P97ZWtxVdb3FOAO8cJy9h-1TP1ERBhAZga9vpD/s1600-h/andino.jpg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvh9jTpdMqcixpFfOpan0yRGlgOnuMhyawhWzPEOjqOdOA6eYhKECbgLZzw_9B1tfMH-HMjE2dU8b2PQzlY9xGg3dT0v9Gl-P97ZWtxVdb3FOAO8cJy9h-1TP1ERBhAZga9vpD/s400/andino.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5008474862974375906&quot; /&gt;&lt;/a&gt;Una pregunta es una de las mejores oportunidades para aprender. Otra de esas oportunidades se dan cuando uno se tropieza con &lt;a href=&quot;http://bicharango.blogspot.com/2006/08/de-dnde-viene-la-palabra-gocho.html&quot;&gt;cosas&lt;/a&gt; que nos invitan a investigar, curiosear. En este caso es sobre el uso de la palabra &quot;gocho&quot; como gentilicio de los andinos venezolanos, su significado y el supuesto origen francés de la palabra.&lt;/p&gt;

&lt;p&gt;El &lt;a href=&quot;http://buscon.rae.es/draeI&quot;&gt;diccionario de la lengua española&lt;/a&gt; define &quot;&lt;a href=&quot;http://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=gocho&quot;&gt;gocho&lt;/a&gt;&quot; como &quot;Voz con que se llama al cerdo&quot;, o un coloquialismo para &quot;cerdo&quot;. En &lt;a href=&quot;http://www.yoescribo.com/publica/libreria/neologismos.aspx?cod=553&quot;&gt;otro sitio&lt;/a&gt; en Internet ubican el origen de la palabra en el Norte de España (Asturias, León). Se entiende aquí &quot;cerdo&quot; como &quot;mamífero artiodáctilo&quot;, ese que con palabras menos difíciles de pronunciar, como &quot;especias&quot;, &quot;salsa&quot;, &quot;asado&quot;, etc., es tan sabroso, y que hasta &lt;a href=&quot;http://www.lasalle.es/riofrio/fotosfiestagocho/index.html&quot;&gt;fiesta&lt;/a&gt; tiene  (aunque no pareciera que este &quot;gocho&quot; la disfrute mucho); no el otro coloquialismo de &quot;&lt;a href=&quot;http://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=cerdo&quot;&gt;cerdo&lt;/a&gt;&quot;, como persona de &quot;poco cuidado personal&quot;.&lt;/p&gt;

&lt;p&gt;En la fabulosa, y últimamente tan controvertida, &lt;a href=&quot;http://www.wikipedia.org&quot;&gt;Wikipedia&lt;/a&gt; aparece un &lt;a href=&quot;http://es.wikipedia.org/wiki/Gocho_%28gentilicio%29&quot;&gt;artículo&lt;/a&gt; donde se relata un posible origen del por qué a los andinos venezolanos se les llama &quot;gochos&quot;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Durante la Revolución Restauradora de Cipriano Castro, éste convocó (reclutó, para ser exactos) a algunos de sus &quot;revolucionarios&quot; entre la población campesina del Táchira, a aquellos que se resistían a este reclutamiento se les marcaba cortándoles (seccionándoles) una parte de la oreja, de la misma forma que se hacía con los porcinos (gochos). Los mismos andinos tachirenses comenzaron a llamar gochos a aquellos que habían sido marcados de esta forma y la voz se hizo modismo general entre la población de la región central a medida que los andinos tomaban el poder.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Nada que ver con &quot;cuidado personal&quot;.&lt;/p&gt;

&lt;p&gt;En francés hay en uso una palabra &quot;gocho&quot;, aunque el &lt;a href=&quot;http://atilf.atilf.fr/dendien/scripts/generic/form.exe?5;s=3877125060;&quot;&gt;Dictionnaire de l&#39;Académie française&lt;/a&gt; no la tenga registrada. Este &quot;gocho&quot; en francés es usado, de manera despectiva, para referirse a la persona de tendencia política de izquierda, derivada naturalmente de la palabra &quot;gauche&quot;, izquierda. Es decir, se refieren a un izquierdista, un socialista, etc., definitivamente no a una persona que &quot;hace las cosas de manera contraria a como regularmente se hace&quot; (por mucho que al &lt;a href=&quot;http://es.wikipedia.org/wiki/Frente_Nacional_%28Francia%29&quot;&gt;Frente Nacional&lt;/a&gt; le encantara esa definición). Una &lt;a href=&quot;http://www.google.com.ar/search?q=gauche+gocho&quot;&gt;búsqueda&lt;/a&gt; y lectura rápida en Google nos muestra algunos foros y comentarios en francés donde es fácil ver cuán despectivo es su uso (no hay que hablar mucho francés para entender la expresión &quot;gocho de merde&quot; de uno de los comentarios de &lt;a href=&quot;http://tousagauche.rmcinfo.fr/DE+VILLEPIN+%3F+L&#39;ORGUEIL+A+L&#39;ETAT+PUR-10042006-095214-lp-19035.php&quot;&gt;este artículo&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Como siempre he dicho, prudencia y Google siempre nos pueden evitar un chapuceo innecesario, y hasta inocente.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/4721948081501559366/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/4721948081501559366' title='7 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/4721948081501559366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/4721948081501559366'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2006/12/de-dnde-viene-la-palabra-gocho-de.html' title='De dónde viene la palabra &quot;gocho&quot;... de verdad'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvh9jTpdMqcixpFfOpan0yRGlgOnuMhyawhWzPEOjqOdOA6eYhKECbgLZzw_9B1tfMH-HMjE2dU8b2PQzlY9xGg3dT0v9Gl-P97ZWtxVdb3FOAO8cJy9h-1TP1ERBhAZga9vpD/s72-c/andino.jpg" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-116596241760888399</id><published>2006-12-12T18:05:00.001-04:00</published><updated>2008-03-12T11:50:11.502-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ferrari"/><title type='text'>Ferrari tejido en lana</title><content type='html'>&lt;div style=&quot;float: left;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/x/blogger/1420/423/1600/588446/FerrariDeLana3.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/x/blogger/1420/423/320/233571/FerrariDeLana3.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;

&lt;p&gt;No, ni una bufanda, ni un tapetico, ni un mantel: ella quería un Ferrari, así que se tejió uno.&lt;/p&gt;

&lt;/div&gt;&lt;span class=&quot;fullpost&quot;&gt;
&lt;div style=&quot;float: left;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/x/blogger/1420/423/1600/545637/FerrariDeLana1.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10pt 10px 0px; float: left; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/x/blogger/1420/423/320/511750/FerrariDeLana1.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;

&lt;p&gt;A Lauren Porter, estudiante de la Escuela de Arte y Diseño de la &lt;a href=&quot;http://en.wikipedia.org/wiki/Bath_Spa_University&quot;&gt;Universidad Bath Spa&lt;/a&gt; en Inglaterra, le tomó diez meses y casi 20 km de hilo tejer un Ferrari de tamaño natural, el cual presentó en su graduación.&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;En la &lt;a href=&quot;http://www.lauren-porter.co.uk/&quot;&gt;web de Lauren&lt;/a&gt; se pueden ver más detalles, un video del emsamblaje del carro para la exposición y algunos de sus otros trabajos.&lt;/p&gt;

&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/x/blogger/1420/423/1600/835859/FerrariDeLana2.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/x/blogger/1420/423/400/266435/FerrariDeLana2.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/116596241760888399/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/116596241760888399' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/116596241760888399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/116596241760888399'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2006/12/ferrari-tejido-en-lana.html' title='Ferrari tejido en lana'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-114816715261992269</id><published>2006-05-20T18:00:00.001-04:00</published><updated>2008-03-12T11:52:44.061-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Rails"/><title type='text'>UNO: aplicación web</title><content type='html'>&lt;p&gt;Si, soy un adicto*. ¿Adicto a qué? Las opciones son muy variadas: TV, Internet, código limpio y elegante, maní japonés, cine, Joaquín Sabina, trotar… la lista sigue, dependiendo de las circunstancias y el momento. Ese no es el problema. La cuestión es que cuando algo me gusta en muy poco tiempo, incluso en cuestión de días, ya me ha llegado a la médula, y se convierte en un &quot;imperativo categórico kantiano&quot;... Si, también soy un poco adicto a la exageración ;-)&lt;/p&gt;

&lt;p&gt;Uno de mis días normales incluye al menos 12 horas cosido al computador. A veces, no muy raras las veces, incluso algunas horas más. Siempre hay algo que hacer, que leer, que revisar, que aprender, etc. Así que cuando logro descoserme de la silla y salir al mundo real, suelo disfrutar al máximo cada una de esas otras actividades a las que dedico tiempo (si, normalmente alguna otra adicción).&lt;/p&gt;

&lt;p&gt;Entre esas otras adicciones está la regular reunión para jugar UNO. Un lugar tranquilo, un grupo variopinto de amigos que, al igual que yo, deja cualquier cosa que les perturbe fuera de la mesa de juego, y se dedican a sólo pasarla bien, a dejar que un poco de estrategia, mucha de suerte, y el pacto de caballeros de siempre jugar limpio y sin trampas, nos haga la noche, nos haga reír, y a veces, nos haga ganar.&lt;/p&gt;

&lt;p&gt;En algún momento de sus inicios, cuando la cosa se empezó a regularizar, alguien empezó a llevar en un cuaderno (y luego en Excel) el registro de los juegos, las estadísticas de la adicción. Hace poco alguien sugirió que sería bueno tener una web para esas estadísticas. A ver, ¿ya mencioné entre mis adicciones a Internet, el código limpio y elegante, y el UNO? ¿Acaso me faltó mencionar que entre las nuevas adquisiciones a mi lista de adicciones está Ruby on Rails? El resultado era inevitable.&lt;/p&gt;

&lt;p&gt;&lt;big&gt;&lt;b&gt;UNO: la aplicación web&lt;/b&gt;&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;El diseño de la aplicación es bastante sencillo: &lt;span class=&quot;fullpost&quot;&gt;tenemos temporadas, jugadores, juegos (cada noche de reunión es un &quot;juego&quot;) y partidas (en cada juego hacemos cuatro partidas, que están conformadas por &lt;span style=&quot;font-style: italic;&quot;&gt;n&lt;/span&gt; manos, y que duran hasta que algún jugador alcanza los 500 puntos en la partida; las manos no se registran en la aplicación, sólo el orden final de los jugadores en la partida).&lt;/p&gt;

&lt;table style=&quot;float: right; text-align: center; margin-left: 10px; margin-bottom: 10px;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&amp;nbsp;Posición&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;Puntos&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&amp;nbsp;7 y posteriores&amp;nbsp;&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;A los lugares resultantes de cada partida se les asigna puntos según la tabla de al lado, sistema de puntos basado en las carreras de Fórmula 1 (¿Quién de Uds. ya había adivinado esa adicción en mi lista, adicción también compartida por la mayoría de los recurrentes a esta mesa de UNO?). Esos puntos se suman para generar los resultados generales del juego. Y las posiciones resultantes de cada juego se pasan por esta misma tabla de puntos para generar los resultados generales de la temporada.&lt;/p&gt;

&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/1420/423/1600/uno_juego.jpg&quot;&gt;&lt;img style=&quot;display:block; text-align:center; cursor:pointer; cursor:hand; margin:0px auto 10px; width: 400px;&quot; src=&quot;http://photos1.blogger.com/blogger/1420/423/400/uno_juego.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/1420/423/1600/uno_inicio.jpg&quot;&gt;&lt;img style=&quot;margin: 0 0 10px 10px; float: right; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/1420/423/400/uno_inicio.0.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;

&lt;p&gt;La página inicial muestra un resumen de cada temporada: posiciones generales de la temporada (lugares, puntos y promedios, en texto y gráficos) y posiciones resumidas de cada juego uno de los juegos.&lt;/p&gt;

&lt;div style=&quot;float: left; width: 100%; margin-top: 20px; margin-bottom: 20px;&quot;&gt;

&lt;p&gt;Y la página de cada jugador incluye estadísticas del jugador, por temporada: frecuencia de posiciones finales (en texto y gráficos), total de puntos y promedios.&lt;/p&gt;

&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/1420/423/1600/uno_jugador.jpg&quot;&gt;&lt;img style=&quot;display:block; text-align:center; cursor:pointer; cursor:hand; width: 400px; margin: 0px auto 10px;&quot; src=&quot;http://photos1.blogger.com/blogger/1420/423/400/uno_jugador.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;div style=&quot;float: left; margin-bottom: 20px;&quot;&gt;

&lt;p&gt;Cada uno de estos elementos es bastante flexible, desde la aplicación misma, que no necesariamente tiene que ser usada solo para registros de UNO, sino que pudieran registrarse juegos en general, o cualquier serie de eventos con registro de lugares o posiciones finales. Las temporadas pueden ser un período de tiempo, o pueden usarse como registro de equipos o ligas, o cualquier otra cosa en que se quieran separar un grupo de juegos. Cada juego puede tener desde una hasta el número de partidas que se quiera, y desde uno hasta el número de jugadores que se quiera. Lo único fijo, por ahora, es el sistema de puntuación para las posiciones resultantes, tanto por juego, como por temporada.&lt;/p&gt;

&lt;p&gt;En este momento el acceso está restringido sólo a nosotros, los que jugamos en este grupo de UNO, pero si alguien está interesado en tener acceso a una web de este tipo para su propio grupo, podría escribirme un correo: si hay suficiente interés yo estaría dispuesto a publicar la web para crear grupos nuevos. Incluso, si me mandas una buena historia de obsesos de UNO, te podría mandar el código de la aplicación :-)&lt;/p&gt;

&lt;p&gt;* &lt;small&gt;Uso el término &quot;adicción&quot; como una manera de fácil de hacerme entender, sin explicar mucho mis razones detrás de cada una de estas actividades. Yo en realidad las considero &quot;las cosas que me apasionan&quot;. En el blog &lt;a href=&quot;http://headrush.typepad.com/creating_passionate_users/&quot;&gt;Creating Passionate Users&lt;/a&gt;, &lt;a href=&quot;http://headrush.typepad.com/about.html&quot;&gt;Kathy Sierra&lt;/a&gt; tiene un &lt;a href=&quot;http://headrush.typepad.com/creating_passionate_users/2006/04/my_passion_is_a.html&quot;&gt;excelente artículo&lt;/a&gt; sobre las cosas que nos apasionan, y las razones detrás de ellas&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;¿Te gustó este artículo? &lt;a href=&quot;http://digg.com/software/UNO:_web_application&quot;&gt;Digg it&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/114816715261992269/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/114816715261992269' title='5 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/114816715261992269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/114816715261992269'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2006/05/uno-aplicacin-web.html' title='UNO: aplicación web'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24671651.post-114754242708820669</id><published>2006-05-13T15:10:00.001-04:00</published><updated>2008-03-12T11:56:35.565-04:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Rails"/><title type='text'>Clase para parámetros de una aplicación en Rails</title><content type='html'>&lt;p&gt;Estaba buscando algún plugin para &lt;a href=&quot;http://www.rubyonrails.com/&quot;&gt;Rails&lt;/a&gt; para manejar los parámetros (preferencias, opciones, settings, etc.) de una web que estoy haciendo.&lt;/p&gt;

&lt;p&gt;En el &lt;a href=&quot;http://wiki.rubyonrails.com/rails&quot;&gt;wiki de Rails&lt;/a&gt; encontré este &lt;a href=&quot;http://wiki.rubyonrails.com/rails/pages/ConfigurationGenerator&quot;&gt;ConfigurationGenerator&lt;/a&gt; que parecía muy atractivo, y que se adaptaba exactamente a lo que yo estaba necesitando, pero no pude encontrar el código de él por ningún lado, ni he obtenido respuesta a un &lt;a href=&quot;http://www.ruby-forum.com/topic/64711&quot;&gt;post&lt;/a&gt; que coloqué en el &lt;a href=&quot;http://www.ruby-forum.com/forum/3&quot;&gt;foro de Rails&lt;/a&gt; sobre este generador.&lt;/p&gt;

&lt;p&gt;Luego conseguí este otro &lt;a href=&quot;http://beautifulpixel.textdriven.com/articles/2006/02/25/settings-plugin&quot;&gt;Settings plugin&lt;/a&gt;, que me pareció fantástico, pero no era exactamente lo que yo quería.&lt;/p&gt;

&lt;p&gt;Así que decidí emprender la tarea de hacer mi propio modelo para el manejo de los parámetros de mi aplicación web, tomando como base un poco de esos otros pulgins que ya había visto.&lt;span class=&quot;fullpost&quot;&gt;&lt;/p&gt;

&lt;p&gt;Lo que me interesaba era tener una tabla que siempre tendría un sólo registro, y con una columna para cada opción que hubiese en los parámetros. Eso me permitiría guardar cada opción en el tipo de dato y tamaño de columna adecuado. Además me interesaba poder acceder a cualquier parámetro, desde cualquier lugar de la aplicación, con algo simple como:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;Parametros.opción&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Los parámetros con que arranqué eran el nombre de la aplicación y un texto del tipo &quot;about us&quot;, o &quot;quienes somos&quot;, para la página principal de la web. La migración quedó asi:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;
class AgregarParametros &lt; ActiveRecord::Migration

  def self.up

    # Archivo de parámetros de la aplicación
    create_table :parametros do |table|
      table.column :aplicacion, :string, :limit =&gt; 100
      table.column :quienes_somos, :text
      table.column :updated_at, :datetime
    end
    
    execute &quot;Insert into parametros (aplicacion, quienes_somos) Values (&#39;App. web&#39;, &#39;Somos...&#39;)&quot;
    
  end

  def self.down
    drop_table :parametros
  end

end
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Este archivo contendrá siempre un registro único, ni más, ni menos, así que se incluye automáticamente durante la migración misma, con valores iniciales cualesquiera. Los valores reales se asignaran en la aplicación web.&lt;/p&gt;

&lt;p&gt;Y el modelo de Rails quedó de esta manera:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;
class Parametros &lt; ActiveRecord::Base
  
  set_table_name &quot;parametros&quot;
  validates_presence_of :aplicacion, :quienes_somos
  private_class_method :new, :create, :destroy, :destroy_all, :delete, :delete_all
  
  @@p = find(:first)

  def self.method_missing(method, *args)
    opcion = method.to_s
    if opcion.include? &#39;=&#39;
        # Asignar un valor a la opción
        nombre_var = opcion.gsub(&#39;=&#39;, &#39;&#39;)
        valor = args.first
        @@p[nombre_var] = valor
      else
        # Retornar el valor de la opción
        @@p[opcion]
    end
  end
  
  def self.save
    @@p.save
  end

  def self.update_attributes(atributos)
    @@p.update_attributes(atributos)
  end

  def self.errors
    @@p.errors
  end

end
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Me interesaba accesar los parámetros con la forma en plural &lt;code&gt;Parametros&lt;/code&gt; (en contra de las convenciones de Rails), y la tabla que uso tiene el mismo nombre en plural (esta vez si como lo indican las convenciones de Rails), así que debí incluir &lt;code&gt;set_table_name &quot;parametros&quot;&lt;/code&gt; para saltarme la convención del nombre del modelo.&lt;/p&gt;

&lt;p&gt;Haría uso de la clase directamente, sin instanciarla, así que debía prevenir que se crearan objetos de la clase con la línea &lt;code&gt;private_class_method :new, :create&lt;/code&gt;. A esa lista se agregan &lt;code&gt;:destroy, :destroy_all, :delete, :delete_all&lt;/code&gt; porque ciertamente no me interesa que se borre ese registro único de la tabla de parámetros. La lista de métodos se puede alargar a cualquier otro del que se quiera bloquear el acceso.&lt;/p&gt;

&lt;p&gt;No quería ir a la base de datos cada vez que necesitara un parámetro, así que usé una variable de clase para hacer un cache de los valores, que sería inicializada la primera vez que se llame a los parámetros, con el contenido de ese registro único de la tabla: &lt;code&gt;@@p = find(:first)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Los métodos &lt;code&gt;save&lt;/code&gt;, &lt;code&gt;update_attributes&lt;/code&gt; y &lt;code&gt;errors&lt;/code&gt; se definen como métodos de clase, con &lt;code&gt;self&lt;/code&gt;, para poder llamarlos sin tener necesidad de instanciar la clase.&lt;/p&gt;

&lt;p&gt;Se pueden asignar todos los valores a los parámetros, uno por uno, y al final llamar a &lt;code&gt;save&lt;/code&gt; para grabarlos en una sola operación en la base de datos. O se puede llamar a &lt;code&gt;update_attributes&lt;/code&gt; con un &quot;hash&quot; como parámetro, con todos los valores de los parámetros a grabar (al grabar desde una forma, en una página de parámetros, por ejemplo). El método &lt;code&gt;errors&lt;/code&gt; se define para poder utilizar el &quot;helper&quot; &lt;code&gt;error_messages_for &#39;parametros&#39;&lt;/code&gt; en una forma.&lt;/p&gt;

&lt;p&gt;Para actualizar los parámetros se puede hacer algo como lo que sigue. En el controlador adecuado:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;
def parametros
  @parametros = Parametros
end

def grabar_param
  @parametros = Parametros
  if @parametros.update_attributes(params[:parametros])
    flash[:notice] = &#39;Parámetros grabados&#39;
    redirect_to :action =&gt; &quot;index&quot;
  else
    render :action =&gt; &quot;parametros&quot;
  end
end
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Y en la vista hacer:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;
&amp;lt;h1&amp;gt;Parámetros de la web&amp;lt;/h1&amp;gt;
&amp;lt;br&amp;gt;
&amp;lt;%= start_form_tag :action =&amp;gt; &#39;grabar_param&#39; %&amp;gt;
  &amp;lt;%= error_messages_for &#39;parametros&#39; %&amp;gt;
 &amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;parametros_aplicacion&amp;quot;&amp;gt;Nombre de la web:&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;
 &amp;lt;%= text_field_tag &#39;parametros[aplicacion]&#39;, @parametros.aplicacion %&amp;gt;&amp;lt;/p&amp;gt;
  &amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;parametros_quienes_somos&amp;quot;&amp;gt;Quienes somos:&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;
  &amp;lt;%= text_area_tag &amp;quot;parametros[quienes_somos]&amp;quot;, @parametros.quienes_somos %&amp;gt;&amp;lt;/p&amp;gt;
  &amp;lt;br&amp;gt;
  &amp;lt;%= submit_tag &#39;Aceptar&#39; %&amp;gt;
&amp;lt;%= end_form_tag %&amp;gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Esta es la mejor manera que se me ha ocurrido para manejar los parámetros de la manera que yo quería. Si conocen de una manera mejor, estaré gustoso de escucharla.&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;¿Te gustó este artículo? &lt;a href=&quot;http://digg.com/programming/_Settings_model_for_a_Rails_application&quot;&gt;Digg it&lt;/a&gt;!&lt;/span&gt;
&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdugarte.blogspot.com/feeds/114754242708820669/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24671651/114754242708820669' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/114754242708820669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24671651/posts/default/114754242708820669'/><link rel='alternate' type='text/html' href='http://jdugarte.blogspot.com/2006/05/clase-para-parmetros-de-una-aplicacin.html' title='Clase para parámetros de una aplicación en Rails'/><author><name>Jesús</name><uri>http://www.blogger.com/profile/11276218920481366882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/blogger/1420/423/1600/YoMSN3.0.jpg'/></author><thr:total>0</thr:total></entry></feed>