// API callback
related_results_labels_thumbs({"version":"1.0","encoding":"UTF-8","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":{"$t":"tag:blogger.com,1999:blog-26051527"},"updated":{"$t":"2018-09-17T07:19:43.211+01:00"},"category":[{"term":"libros"},{"term":"viajes"},{"term":"curiosidades"},{"term":"internet"},{"term":"doctorado"},{"term":"Sevilla"},{"term":"Escher"},{"term":"en inglés"},{"term":"blog"},{"term":"juegos de mesa"},{"term":"post de relleno"},{"term":"yo"},{"term":"désedos"},{"term":"Japón"},{"term":"Mi vida a partes te enseña"},{"term":"contenedores de vidrio"},{"term":"ensayo"},{"term":"series"},{"term":"recuerdos viajeros"},{"term":"música"},{"term":"perlas de la sabiduria"},{"term":"política"},{"term":"premios"},{"term":"Albacete"},{"term":"USA"},{"term":"ciencia-ficción"},{"term":"preguntas sin respuesta"},{"term":"videojuegos"},{"term":"Valencia"},{"term":"películas"},{"term":"50 libros"},{"term":"fútbol"},{"term":"pequeños descubrimientos"},{"term":"¿Alguien conoce esta ciudad?"},{"term":"Croacia"},{"term":"LOL"},{"term":"Noruega"},{"term":"domingo dominguero"},{"term":"Alemania"},{"term":"Bodas"},{"term":"Murakami"},{"term":"artículos"},{"term":"bookcrossing"},{"term":"el arte y yo"},{"term":"frikadas"},{"term":"historia"},{"term":"otros juegos"},{"term":"poesía"},{"term":"Enjuto"},{"term":"Google"},{"term":"Nueva York"},{"term":"antropología"},{"term":"desgracias personales"},{"term":"flash"},{"term":"sabiduría vikinga"},{"term":"Figueroa"},{"term":"Grandes Éxitos"},{"term":"Steve recomienda"},{"term":"ThinkSprectally"},{"term":"Zaragoza"},{"term":"archienemigo"},{"term":"bici"},{"term":"cómic"},{"term":"eReader"},{"term":"fiestas"},{"term":"gato"},{"term":"primeras impresiones"},{"term":"programación"},{"term":"Michael Crichton"},{"term":"Paul Auster"},{"term":"Plaza de España"},{"term":"Rumanía"},{"term":"Costa Oeste"},{"term":"Desmon Morris"},{"term":"Feria"},{"term":"Marvin Harris"},{"term":"Terry Pratchett"},{"term":"caballos"},{"term":"memes"},{"term":"mi cocina"},{"term":"naruto"},{"term":"resumen del mes"},{"term":"twitter"},{"term":"Android"},{"term":"Antonio Orejudo"},{"term":"California"},{"term":"Canción de Hielo y Fuego"},{"term":"Cádiz"},{"term":"David Eagleman"},{"term":"Elche"},{"term":"Frank Herbert"},{"term":"George R. R. Martin"},{"term":"Ginés Sánchez"},{"term":"Irlanda"},{"term":"James Joyce"},{"term":"Mario Vargas Llosa"},{"term":"McCullough"},{"term":"Michio Kaku"},{"term":"Neal Stephenson"},{"term":"Oliver Sacks"},{"term":"Orson Scott Card"},{"term":"Pedro Saputo"},{"term":"Petrel"},{"term":"Ryu Murakami"},{"term":"San Bonifacio"},{"term":"San Francisco"},{"term":"Semana Santa"},{"term":"Star Wars"},{"term":"Steven Pinker"},{"term":"coche"},{"term":"divulgación"},{"term":"filosofía"},{"term":"nds"},{"term":"neurología"},{"term":"novela"},{"term":"psicología"}],"title":{"type":"text","$t":"Mi vida a partes"},"subtitle":{"type":"html","$t":"un blog personal sin ánimo de lucro\n09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0     \u003Ca href=\"http:\/\/mividaapartes.blogspot.com\/2007\/02\/fundoooooo.html\"\u003EFUNDOOOOOO\u003C\/a\u003E"},"link":[{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https:\/\/mividaapartes.blogspot.com\/feeds\/posts\/default"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/26051527\/posts\/default\/-\/programaci%C3%B3n?alt=json-in-script\u0026max-results=20"},{"rel":"alternate","type":"text/html","href":"https:\/\/mividaapartes.blogspot.com\/search\/label\/programaci%C3%B3n"}],"author":[{"name":{"$t":"Julio"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/16225482444098337329"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"29","height":"32","src":"http:\/\/3.bp.blogspot.com\/-sUv10u0ky84\/UiNmesh_o7I\/AAAAAAAAFKM\/oPrAiFcy7iM\/s1600\/foto.JPG"}}],"generator":{"version":"7.00","uri":"http://www.blogger.com","$t":"Blogger"},"openSearch$totalResults":{"$t":"4"},"openSearch$startIndex":{"$t":"1"},"openSearch$itemsPerPage":{"$t":"20"},"entry":[{"id":{"$t":"tag:blogger.com,1999:blog-26051527.post-3070391740822355568"},"published":{"$t":"2011-08-26T10:24:00.012+01:00"},"updated":{"$t":"2014-10-24T16:51:42.119+01:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Android"},{"scheme":"http://www.blogger.com/atom/ns#","term":"programación"}],"title":{"type":"text","$t":"Mi primera aplicación Android: Ruleta de la Fortuna"},"content":{"type":"html","$t":"Buenas \u003Cbr \/\u003E\u003Ca href=\"http:\/\/2.bp.blogspot.com\/-lBfehD8p9ww\/TldvU8s5ZKI\/AAAAAAAACec\/jPiw2cqKFKg\/s1600\/ruleta512l.png\" onblur=\"try {parent.deselectBloggerImageGracefully();} catch(e) {}\"\u003E\u003Cimg alt=\"\" border=\"0\" src=\"http:\/\/2.bp.blogspot.com\/-lBfehD8p9ww\/TldvU8s5ZKI\/AAAAAAAACec\/jPiw2cqKFKg\/s320\/ruleta512l.png\" id=\"BLOGGER_PHOTO_ID_5645103063614710946\" style=\"cursor: pointer; float: right; height: 243px; margin: 0pt 0pt 10px 10px; width: 243px;\" \/\u003E\u003C\/a\u003E\u003Cbr \/\u003EComo muchos sabéis, he estado aprovechando las mañanas de vagancia de este verano para retomar mi auto aprendizaje de Android (el sistema operativo de los móviles modernos) y por fin he terminado mi primera aplicación, la \u003Cspan style=\"font-weight: bold;\"\u003ERuleta de la Fortuna\u003C\/span\u003E. \u003Cbr \/\u003EEs un programa de apariencia muy sencilla que consiste en una rueda giratoria que predice el futuro. Siempre acierta, aunque a veces no es muy colaborativa. \u003Cbr \/\u003ESólo lo he hecho por aprender un poco, así que no hace falta que me digáis que  va un poco chunga, pero bueno, cualquier comentario es bienvenido. Para el próximo proyecto, si es que no encuentro trabajo antes, intentaré hacer un juego sencillo. \u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cbr \/\u003ECuriosamente yo no tengo ningún teléfono Android. Así que para enseñaros cómo funciona la aplicación he tenido que usar un emulador y he grabado un vídeo cutre de mi escritorio. Lo que se ve en el vídeo se supone que es un teléfono Android donde ya está instalada la aplicación. Giro un par de veces la ruleta y luego configuro el número de respuestas. \u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cdiv style=\"text-align: center;\"\u003E\u003Ciframe allowfullscreen=\"\" frameborder=\"0\" height=\"483\" src=\"http:\/\/www.youtube.com\/embed\/uSMAXvbBND8\" width=\"602\"\u003E\u003C\/iframe\u003E\u003C\/div\u003E\u003Cbr \/\u003ELos afortunados que sí tengan un Android podéis bajaros e instalaros la ruleta. Mi equipo de betatesters ya me ha informado que al usar pantalla táctil va un poco durilla, pero que funcionar, funciona. \u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cspan style=\"font-weight: bold;\"\u003EActualización\u003C\/span\u003E: Ya está disponible en el Android Market: \u003Cbr \/\u003E\u003Ca href=\"https:\/\/market.android.com\/details?id=com.jurimad.fortunewheel\u0026amp;feature=search_result\"\u003Ehttps:\/\/market.android.com\/details?id=com.jurimad.fortunewheel\u0026amp;feature=search_result\u003C\/a\u003E\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cspan style=\"font-weight: bold;\"\u003EActualización (24\/10\/2014): \u003C\/span\u003EDebido a las continuas peticiones a través de comentarios e emails pidiéndome que les explique cómo hice la aplicación, añado un enlace donde os podéis bajar el código de la misma. Advierto que el código no está comentado y que no soy ningún experto, por lo que dudo que sea un código limpio y óptimo. Además hace ya tiempo que la hice y no he seguido con el tema, por lo que no recuerdo los detalles, así que no contestaré preguntas sobre el código.\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cb\u003ECódigo: \u003C\/b\u003E\u003Ca href=\"https:\/\/drive.google.com\/file\/d\/0BwwYn-HW4nxjWjd2MVYtMVBORkdmZTJHWEpiNGF3VVhXWkJV\/view?usp=sharing\"\u003Ehttps:\/\/drive.google.com\/file\/d\/0BwwYn-HW4nxjWjd2MVYtMVBORkdmZTJHWEpiNGF3VVhXWkJV\/view?usp=sharing\u003C\/a\u003E\u003Cbr \/\u003E\u003Cbr \/\u003ESaludos! \u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cbr \/\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/mividaapartes.blogspot.com\/feeds\/3070391740822355568\/comments\/default","title":"Enviar comentarios"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=26051527\u0026postID=3070391740822355568\u0026isPopup=true","title":"14 comentarios"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/26051527\/posts\/default\/3070391740822355568"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/26051527\/posts\/default\/3070391740822355568"},{"rel":"alternate","type":"text/html","href":"https:\/\/mividaapartes.blogspot.com\/2011\/08\/mi-primera-aplicacion-android-ruleta-de.html","title":"Mi primera aplicación Android: Ruleta de la Fortuna"}],"author":[{"name":{"$t":"Julio"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/16225482444098337329"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"29","height":"32","src":"http:\/\/3.bp.blogspot.com\/-sUv10u0ky84\/UiNmesh_o7I\/AAAAAAAAFKM\/oPrAiFcy7iM\/s1600\/foto.JPG"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/2.bp.blogspot.com\/-lBfehD8p9ww\/TldvU8s5ZKI\/AAAAAAAACec\/jPiw2cqKFKg\/s72-c\/ruleta512l.png","height":"72","width":"72"},"thr$total":{"$t":"14"}},{"id":{"$t":"tag:blogger.com,1999:blog-26051527.post-3100847618136686468"},"published":{"$t":"2011-05-01T10:22:00.004+01:00"},"updated":{"$t":"2012-05-31T12:38:01.420+01:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"en inglés"},{"scheme":"http://www.blogger.com/atom/ns#","term":"libros"},{"scheme":"http://www.blogger.com/atom/ns#","term":"programación"}],"title":{"type":"text","$t":"Crítica literaria: The Pragmatic Programmer"},"content":{"type":"html","$t":"Buenas\u003Cbr \/\u003E\u003Cbr \/\u003EEl otro día terminé de leer \u003Cspan style=\"font-weight: bold; font-style: italic;\"\u003EThe Pragmatic Programmer\u003C\/span\u003E. Es un libro sobre programación, obviamente. Es bastante famosillo dentro del mundillo y muy recomendado. Es básicamente una recopilación de consejos y buenas prácticas a seguir a la hora de programar, ya sea individualmente o en equipo, en proyectos pequeños o grandes.\u003Cbr \/\u003E\u003Cbr \/\u003ECasi todo lo que dice es más que conocido para \u003Ca onblur=\"try {parent.deselectBloggerImageGracefully();} catch(e) {}\" href=\"http:\/\/4.bp.blogspot.com\/-WXBFiHehkdA\/Tb0qUV93JBI\/AAAAAAAACOo\/FXQBgJYhoq4\/s1600\/The_pragmatic_programmer.jpg\"\u003E\u003Cimg style=\"float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 318px; height: 400px;\" src=\"http:\/\/4.bp.blogspot.com\/-WXBFiHehkdA\/Tb0qUV93JBI\/AAAAAAAACOo\/FXQBgJYhoq4\/s400\/The_pragmatic_programmer.jpg\" alt=\"\" id=\"BLOGGER_PHOTO_ID_5601680040501126162\" border=\"0\" \/\u003E\u003C\/a\u003Equien se dedica a esto, aunque siempre se aprenden cosas nuevas. Conforme lo iba leyendo me fijaba si en mi ya ex-empresa seguíamos o no la filosofía pragmática. Sorprendentemente casi todo lo hacemos (o lo intentamos) y las cosas que no, son precisamente de las que siempre nos quejamos.\u003Cbr \/\u003E\u003Cbr \/\u003EOtra cosa a destacar del libro es su superficialidad en muchos temas. Supongo que habrá a quien esto le parezca un error, pero a mí me parece que las ideas son bastante claras. Teniendo en cuenta la increíble variabilidad de programas, lenguajes y entornos de desarrollo, creo que intentar profundizar en aspectos técnicos sería un error.\u003Cbr \/\u003E\u003Cbr \/\u003EYo no me considero programador, aunque he estado más o menos metido en este mundo desde que empecé a trabajar. Quizás en mi próximo trabajo me tenga que meter de cabeza en este mundo. Si es así espero poner en práctica la programación pragmática.\u003Cbr \/\u003E\u003Cbr \/\u003ERecomendaciones. Este libro no es para todo el mundo, evidentemente. Pero para los que programáis, aunque sean pequeñas chorradillas es altamente recomendable. Además es de fácil lectura. Eso sí, viene con las típicas chorradas de estos libros: citas absurdas al principio de cada capítulo, reglas nemotécnicas ridículas, historias y anécdotas varias y un tufillo a superioridad y repelencia por parte de los autores. A pesar de esto, un libro casi imprescindible."},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/mividaapartes.blogspot.com\/feeds\/3100847618136686468\/comments\/default","title":"Enviar comentarios"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=26051527\u0026postID=3100847618136686468\u0026isPopup=true","title":"0 comentarios"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/26051527\/posts\/default\/3100847618136686468"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/26051527\/posts\/default\/3100847618136686468"},{"rel":"alternate","type":"text/html","href":"https:\/\/mividaapartes.blogspot.com\/2011\/05\/critica-literaria-pragmatic-programmer.html","title":"Crítica literaria: The Pragmatic Programmer"}],"author":[{"name":{"$t":"Julio"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/16225482444098337329"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"29","height":"32","src":"http:\/\/3.bp.blogspot.com\/-sUv10u0ky84\/UiNmesh_o7I\/AAAAAAAAFKM\/oPrAiFcy7iM\/s1600\/foto.JPG"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/4.bp.blogspot.com\/-WXBFiHehkdA\/Tb0qUV93JBI\/AAAAAAAACOo\/FXQBgJYhoq4\/s72-c\/The_pragmatic_programmer.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-26051527.post-6776692309558226459"},"published":{"$t":"2008-04-29T18:21:00.006+01:00"},"updated":{"$t":"2012-06-05T10:01:48.343+01:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"curiosidades"},{"scheme":"http://www.blogger.com/atom/ns#","term":"désedos"},{"scheme":"http://www.blogger.com/atom/ns#","term":"frikadas"},{"scheme":"http://www.blogger.com/atom/ns#","term":"libros"},{"scheme":"http://www.blogger.com/atom/ns#","term":"programación"}],"title":{"type":"text","$t":"Maestreando expresiones regulares"},"content":{"type":"html","$t":"A veces que me doy cuenta de porque hay gente que me llama friki. Sólo el hecho de haber estudiado teleco y trabajar en désedos ya es bastante friki. Y aunque yo me considero bastante normal (¿quién no?) tengo que reconocer algunas cosas que me delatan, como el libro que os presento.\u003Cbr \/\u003E\u003Cbr \/\u003EPues resulta que como la semana pasada tenía tiempo libre en el trabajo y en désedos hay una biblioteca bastante generosa, he empezado a leerme un libro que estoy seguro que el 80% o más de los que leéis el blog no vais a entender ni de qué va. Ni aun cuando os lo cuente. (Y pobres los del 20% que sí lo hagan.)\u003Cbr \/\u003E\u003Cbr \/\u003EEl libro en cuestión se llama \u003Cspan style=\"FONT-WEIGHT: bold\"\u003EMastering Regular Expressions\u003C\/span\u003E.\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Ca onblur=\"try {parent.deselectBloggerImageGracefully();} catch(e) {}\" href=\"http:\/\/2.bp.blogspot.com\/_24-nZ9BZUFs\/SBdZeyVBBSI\/AAAAAAAAAjI\/GKiRfEskM2I\/s1600-h\/15659225.jpg\"\u003E\u003Cimg id=\"BLOGGER_PHOTO_ID_5194719080636024098\" style=\"FLOAT: right; MARGIN: 0pt 0pt 10px 10px; CURSOR: pointer\" alt=\"\" src=\"http:\/\/2.bp.blogspot.com\/_24-nZ9BZUFs\/SBdZeyVBBSI\/AAAAAAAAAjI\/GKiRfEskM2I\/s400\/15659225.jpg\" border=\"0\" \/\u003E\u003C\/a\u003ELas preguntas inmediatas son:\u003Cbr \/\u003E- ¿Qué leches es eso de \u003Cspan style=\"FONT-STYLE: italic\"\u003ERegular Expressions\u003C\/span\u003E?\u003Cbr \/\u003E- ¿Para qué sirve eso?\u003Cbr \/\u003E\u003Cbr \/\u003ESiento avanzar que no tengo respuesta satisfactoria para ninguna de estas dos preguntas.\u003Cbr \/\u003E\u003Cbr \/\u003EAun así vamos a intentarlo.\u003Cbr \/\u003E\u003Cbr \/\u003ELas expresiones regulares son... esto... unas cosas... es... como un toro!\u003Cbr \/\u003E\u003Cbr \/\u003EVeamos un ejemplo a ver si así es más fácil empezar a coger la idea:\u003Cbr \/\u003ECuando en el Windows buscas archivos \u003Cspan style=\"FONT-STYLE: italic\"\u003E.bmp\u003C\/span\u003E, pones en el buscador que busque archivos llamados \u003Cspan style=\"FONT-STYLE: italic\"\u003E*.bmp\u003C\/span\u003E, queriendo decir que * puede ser cualquier cosa. Esto no es una expresion regular, pero la idea se acerca.\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cbr \/\u003ELas expresiones regulares se usan en muchos lenguajes de programación para buscar patrones en variables o archivos de texto. Se parece a la utilidad de los editores de texto de buscar palabras, sólo que lo que buscamos no son palabras concretas, sino trozos de texto que cumplan con una serie de fórmulas que queremos.\u003Cbr \/\u003E\u003Cbr \/\u003EY como se desprende de lo dicho, las expresiones regulares sirven, entre otras cosas, para buscar cadenas de caracteres concretas en ficheros y para comprobar si una variable tipo texto cumple (es igual o parecida) unas determinadas características.\u003Cbr \/\u003E\u003Cbr \/\u003E¿Ni idea?\u003Cbr \/\u003EVeamos un par de ejemplos que yo mismo uso. Uno es más o menos fácil de ver y el otro nos puede sonar a chino si no sabemos de qué va esto de las expresiones regulares.\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cbr \/\u003E- En mi trabajo, todos los días por la mañana analizamos los resultados de los tests que se han pasado a la versión diaria del software que hacemos. Estos resultados son archivos de texto (algunos de varios megas) que contienen la salida de los distintos subtests.\u003Cbr \/\u003EAunque cada archivo tiene un informe al final, yo sólo tengo que escribir un comando para ver en pantalla los subtests que han fallado en todos y cada uno de los archivos sin tener que abrir uno por uno los ficheros. Para ello escribo en la consola:\u003Cbr \/\u003E\u003Cspan style=\"FONT-STYLE: italic\"\u003E\u003Cstrong\u003Eegrep 'SubTest.+FAILED!' *version_20080421*\u003C\/strong\u003E\u003C\/span\u003E\u003Cbr \/\u003Edonde \u003Cspan style=\"FONT-STYLE: italic\"\u003Eegrep\u003C\/span\u003E es el comando de Linux que busca un patrón en un archivo, \u003Cspan style=\"FONT-STYLE: italic\"\u003E*version_20080421*\u003C\/span\u003E es el conjunto de todos los archivos que contienen la versión que me interesa y \u003Cspan style=\"FONT-STYLE: italic\"\u003ESubTest.+FAILED! \u003C\/span\u003Ees la expresión regular que sólo me localiza las líneas que contienen al mimo tiempo la palabra \u003Cspan style=\"FONT-STYLE: italic\"\u003ESubTest\u003C\/span\u003E y la palabra \u003Cspan style=\"FONT-STYLE: italic\"\u003EFAILED!\u003C\/span\u003E. Así puedo ver, en unos segundos, qué cosas han fallado y me ahorro tener que abrir y analizar los ficheros donde todo ha ido bien.\u003Cbr \/\u003E\u003Cbr \/\u003E- Tengo que comprobar que el contenido de una variable es un email válido (no que exista, simplemente que siga la fórmula nombre@servidor.dominio). Con hacer la siguiente comparación me sobra:\u003Cbr \/\u003E\u003Cspan style=\"FONT-STYLE: italic\"\u003E\u003Cstrong\u003Evariable =~ \/\\w[-.\\w]*\\@[-\\w]+(\\.[-\\w]+)*\\.\\w+\/\u003C\/strong\u003E\u003C\/span\u003E\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cbr \/\u003EPara mí las expresiones regulares son como escribir a máquina: no es necesario usarlas, pero ahorran mucho tiempo y una vez que sabes, te das cuenta de que hasta el momento has estado haciendo el canelo.\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cbr \/\u003EEn mucho libros de programación dedican unas páginas a enseñarte qué son las expresiones regulares y cómo se usan en un determinado lenguaje. Pero cuando vi que había un libro exclusivamente dedicado a esto, me pregunté hasta dónde se puede llegar con las expresiones regulares, si pueden ahorrarme aun más trabajo, si me volveré loco aprendiéndolas, etc.\u003Cbr \/\u003E\u003Cbr \/\u003EEn fin, no pude resistir mi curiosidad y elegí este libro. Por eso y porque mis otras opciones eran \u003Cspan style=\"FONT-STYLE: italic\"\u003ELinux Kernel Development\u003C\/span\u003E y \u003Cspan style=\"FONT-STYLE: italic\"\u003EBuilding Embedded Linux Systems\u003C\/span\u003E.\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cbr \/\u003EUn saludo."},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/mividaapartes.blogspot.com\/feeds\/6776692309558226459\/comments\/default","title":"Enviar comentarios"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=26051527\u0026postID=6776692309558226459\u0026isPopup=true","title":"10 comentarios"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/26051527\/posts\/default\/6776692309558226459"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/26051527\/posts\/default\/6776692309558226459"},{"rel":"alternate","type":"text/html","href":"https:\/\/mividaapartes.blogspot.com\/2008\/04\/maestreando-expresiones-regulares.html","title":"Maestreando expresiones regulares"}],"author":[{"name":{"$t":"Julio"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/16225482444098337329"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"29","height":"32","src":"http:\/\/3.bp.blogspot.com\/-sUv10u0ky84\/UiNmesh_o7I\/AAAAAAAAFKM\/oPrAiFcy7iM\/s1600\/foto.JPG"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/2.bp.blogspot.com\/_24-nZ9BZUFs\/SBdZeyVBBSI\/AAAAAAAAAjI\/GKiRfEskM2I\/s72-c\/15659225.jpg","height":"72","width":"72"},"thr$total":{"$t":"10"}},{"id":{"$t":"tag:blogger.com,1999:blog-26051527.post-1782628815973235855"},"published":{"$t":"2007-04-23T13:16:00.000+01:00"},"updated":{"$t":"2012-05-31T12:44:21.658+01:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"archienemigo"},{"scheme":"http://www.blogger.com/atom/ns#","term":"libros"},{"scheme":"http://www.blogger.com/atom/ns#","term":"poesía"},{"scheme":"http://www.blogger.com/atom/ns#","term":"programación"}],"title":{"type":"text","$t":"Día del libro -\u003E Año de los 50 libros"},"content":{"type":"html","$t":"Pequeño inciso:\u003Cbr \/\u003ESiguiendo la moda, \u003Ca href=\"http:\/\/algongar.blogspot.com\/\"\u003Eel Tocho se ha hecho un blog\u003C\/a\u003E. Por fin podremos saber algo más de su vida, aparte de lo poco que dice en sus \u003Cspan style=\"font-style: italic;\"\u003Eemails\u003C\/span\u003E. Ha prometido que escribirá frecuentemente y yo le creo. Parece que ya no lo tienen exprimido 24 horas al día para extraerle conocimientos como hacían antes.\u003Cbr \/\u003E\u003Cbr \/\u003E-------------------------------------------------------------------------------------------\u003Cbr \/\u003E\u003Cbr \/\u003EHoy es el día del libro, creo... Y ya que estamos con la tontería de leer 50 libros en un año, os diré cuales son mis últimas adquisiciones que estoy leyendo ahora mismo.\u003Cbr \/\u003EMe estoy leyendo cuatro libros (últimamente me he aficionado bastante a la multilectura) que son:\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cspan style=\"font-weight: bold;\"\u003ELost Cosmonaut - Daniel Kalder.\u003C\/span\u003E Este libro me lo ha dejado Carlos por su relación con nuestro viaje a tierras inhóspitas de Noruega. El libro cuenta unos viajes que hace un inglés que vive en Moscú a distintas repúblicas rusas desconocidas para occidente. Está lleno de anécdotas, a veces graciosas, la mayoría patéticas. Muy recomendable.\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cspan style=\"font-weight: bold;\"\u003EAntología poética - Mario Benedetti.\u003C\/span\u003E Hace tiempo que quería empezar a leer poesía, y como no soy un erudito en la materia aproveché la última vez que fui a mi pueblo para nombrar a \u003Ca href=\"http:\/\/www.fotolog.com\/mi__isla\"\u003Emi primo\u003C\/a\u003E mi mentor en este tema. Él me aconsejó comenzar leyendo a Benedetti, y ahí estoy. De momento la experiencia está siendo buena, un tipo de lectura en la que hay que poner de tu parte y no simplemente que te lo den todo ya pensado (tipo el estilo de \u003Ca href=\"http:\/\/images.google.es\/images?svnum=10\u0026amp;um=1\u0026amp;hl=es\u0026amp;q=dan+brown\u0026amp;btnG=B%C3%BAsqueda+de+im%C3%A1genes\"\u003Emi archienemigo\u003C\/a\u003E) que al final acaba siendo tan sorbe-cerebros como ver Salsa Rosa en la tele.\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cspan style=\"font-weight: bold;\"\u003ENada - Carmen Laforet.\u003C\/span\u003E Tenía ganas de leer este libro desde que me salió, hace ya tiempo, como pregunta en el Trivial. Cuando fui a comprar el de Benedetti aproveché para matar dos pájaros de un tiro. Es una novelilla corta ganadora del Premio Nadal. Ideal para llegar a los 50. (No como los tochos que me he leído últimamente.)\u003Cbr \/\u003E\u003Cbr \/\u003E\u003Cspan style=\"font-weight: bold;\"\u003EGraphics and GUIs with MATLAB - Patrick Marchand.\u003C\/span\u003E Libro didáctico que leo (leo, no hojeo) para mi formación como creador de GUIs. Es algo necesario para mi trabajo, aunque también me interesa bastante a modo personal. Es lo que tiene trabajar en algo que te gusta.\u003Cbr \/\u003E\u003Cbr \/\u003EPues eso es todo de momento..."},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/mividaapartes.blogspot.com\/feeds\/1782628815973235855\/comments\/default","title":"Enviar comentarios"},{"rel":"replies","type":"text/html","href":"https:\/\/www.blogger.com\/comment.g?blogID=26051527\u0026postID=1782628815973235855\u0026isPopup=true","title":"7 comentarios"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/26051527\/posts\/default\/1782628815973235855"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/26051527\/posts\/default\/1782628815973235855"},{"rel":"alternate","type":"text/html","href":"https:\/\/mividaapartes.blogspot.com\/2007\/04\/da-del-libro-ao-de-los-50-libros.html","title":"Día del libro -\u003E Año de los 50 libros"}],"author":[{"name":{"$t":"Julio"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/16225482444098337329"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"29","height":"32","src":"http:\/\/3.bp.blogspot.com\/-sUv10u0ky84\/UiNmesh_o7I\/AAAAAAAAFKM\/oPrAiFcy7iM\/s1600\/foto.JPG"}}],"thr$total":{"$t":"7"}}]}});