Report inadequate content

How to backup your full Flickr account (script)

Why you would like to copy all your images stored at Flickr to your computer? Well, maybe you want to browse them later offline, maybe you want to stop paying your PRO account, or to keep them just in case...

In any case, Flickrtouchr is a simple command-line script to backup Flickr. You don't need to know python or programming at all. A couple of lines in the Terminal and that's it.

After downloading and uncompressing the .py script all you need is to:

Create a directory, e.g: A folder called "Flickr" in your Home dir:

mkdir ~/Flickr

And then call the script:

python flickrtouchr.py ~/Flickr

After this a browser will be opened and Flickr will ask you to authorize Flickrtouchr, and that's it!

Now maybe you want to add this line to your crontab so you can run it periodically. The script will check if the files exists to prevent continuous download.

{
}

Cómo cambiar la extensión a múltiples ficheros desde terminal (unix shell)

Para renombrar la extensión de muchos ficheros a la vez en la terminal, se puede hacer con la siguiente línea:

for file in *.phtml ; do mv $file `echo $file | sed 's/\(.*\.\)phtml/\1tpl/'` ; done

Esto cambiaría todas las extensiones phtml por tpl del directorio en que lo lanzéis. Cambiando la parte en negrita por vuestra extensión favorita ya funcionaría.

Lo que hace la línea es buscar todos los archivos que cumplen la condición *.phtml e iterarlos en un bucle. Para cada uno de ellos hace un mv del orígen al destino. El destino es una expresión regular que substitye el patrón .phtml por el .tpl (gracias al comando sed)

Writing complex regular expressions

Regular expressions are usually hard to read and understand. Even if you have a lot of experience on the subject, when you retakeone that you wrote some time ago, it is difficult to catch up.

Some days ago, a very smart guy at work named Zoltán recommended us to write complex regular expressions sepparating each logical part in a different line and also comment every one.

I did not know that this was possible at all, but he shown us how the modifier "x" (see it at the end of the following example) makes the compiler to ignore any whitespaces (spaces, tabs, line breaks) and even comments!!

So, with this, you can write crazy regular expressions easy to parse and understand. Here there is a silly example, imagine it in a single line!:

if ( preg_match('/
    ^                       # We match the beginning because we match full string.
    (Can|May)\x20           # May is more formal, can Can is also OK.
    [yY]ou\s                # You can match space with backslash and space or any whitespace with \s
    (please)?\x20           # "Please" is optional ;)
    (comment|document)\x20  # Commenting = documenting
    this\ regexp\x20        # If UNICODE mode is on (modifier "u"), you can also match space with \x20
    to\s(know|see)\x20
    (what|WTF)\x20          # WTF = World Taekwondo Federation
    it\ does\?              # Note the "x" modificator int he next line. If makes regexp ignore whitespaces.
    $                       # We match the end because we match full string.
    /x',
    "Can you please comment this regexp to know what it does?" ) )
{
    echo "Thank you!";
}
 

Thank you Zoly!

No funciona el pulsómetro o GPS del Garmin Forerunner?

Garmin Forerunner 305Tengo un Garmin Forerunner 305 GPS que utilizo para salir a correr. Un día el pulsómetro dejó de funcionar correctamente, primero empezó a espaciarse el ritmo de los latidos hasta que finalmente (en un par de días) el reloj no llegaba ni a sincronizarse, problema: no detecta los latidos del corazón. Si que detectaba sin embargo los pulsómetros de mis amigos. para añadir más elementos a esta fiesta, uno de estos mismo amigos, tenía un problema con el GPS:  El dispositivo Garmin GPS no detecta los satélites. Ambos problemas fueron solucionados:

El Garmin no detecta el pulsómetro

El pensamiento primero fué que cambiando la pila se solucionaría todo, pero no fué así. Empezé a buscar en internet que podía hacer y encontré varias cosas que se podían hacer, y fué la última la que solucionó mi problema.

  1. Cambiar la pila del pulsómetro (es normal que se agote, aunque justo lo acabes de comprar)
  2. Humedecer la banda del pulsómetro
  3. Reiniciar el rastreo desde el menú de Accesorios/Pulsómetro
  4. Dejar pulsados el botón de Lap y Start/stop simultáneamente durante 10 segundos
  5. Y sin con todo esto nada de nada: Dar la vuelta a la pila del pulsómetro, mantenerla al revés durante 10 segundos y ponerla bien de nuevo.

Esta última técnica que parece una broma, lo que hace realmente es resetear el ID del pulsómetro y le asigna un identificador nuevo. Con esto el pulsómetro vuelve a funcionar al siguiente rastreo. Para mí, fué como agua del carmen. Ojo que la pila, al estar al revés, hay que sacarla con un golpe seco.

El Garmin GPS no detecta los satélites

La solución empleada para que el reloj empezara a detectar los satélites fué pulsar simultáneamente la flecha hacia abajo y el botón de encendido. Es muy recomendable hacer esto en cielo abierto y dejarlo quieto al menos 20 minutos. Con esto se reinciará la información del satélite y debería permitir al dispositivo conectarse rápidamente la siguiente vez.

Si con todos estos consejos no te funciona, mira en el foro de Garmin [en inglés.]

{
}

Cómo revertir los cambios de una revisión en SVN

Si eres usuario de subversion te habrá pasado alguna vez que después de hacer commit y probar posteriormente el código has visto que debes volver a una versión anterior y dejar el código tal y como estaba en una versión anterior. No todos los clientes gráficos disponen de la opción de "reverse merge", pero en la terminal es muy sencillo de hacer...

Read more

How to create a patch and apply it with subversion

If you want to create a patch with svn you only have to type in the terminal something like:

svn diff yourproject > yourproject.patch

Where yourproject is the folder containing the modified source code.

Then, to restore the patch (apply the changes stored in patch in a new working copy), copy the patch file yourproject.patch in the machine where you want apply the patch and "cd "to the parent folder containing the yourproject folder (not inside yourproject). Then type:

patch -p0 -i /path/to/yourproject.patch

If you do not respect the same hierarchy when creating and applying the patch then you'll have to play around with the "p0" parameter (gives the entire file name unmodified). Of course the patch command is not related to SVN and you can use it in many other environments.

Las mejores series de tv

Me encanta ver un par de capítulos de alguna serie antes de ir a dormir. Con el tiempo he visto un montón de ellas, desde grandes tramas como Lost a series para simplemente echar unas risas como Modern Family

A continuación muestro un top de mis series favoritas, algunas de ellas todavía en curso y otras que han finalizado para no volver nunca jamás. No significa que sean las mejores del mundo, sinó de las que he visto las que más me han gustado. El orden es altamente impreciso, me costaría posicionar bien cada una de ellas (lo intenté). Las del principio de la lista son las más buenas bajo mi punto de vista para las del final ser de las "de pasar el rato, es que se me han acabado las buenas". Si no sabes qué series de televisión ver esto te puede ayudar:

  1. Homeland: Esta es la historia de un marine estaounidense que es capturado y torturado durante 8 años en Afganistán por miembros de Al-Qaeda y es liberado y devuelto a una sociedad y una família (esposa y 2 hijos) que ya no conoce. Una agente de la CIA está convencida que ha sido convertido y es ahora un terrorista contra EEUU.
  2. Dexter: Un enfermizo asesino en serie que sigue un código estricto para matar sólo aquellos que de verdad lo merecen y siempre escapan de la justícia. Grandiosa.
  3. Breaking Bad: Un profesor de química enfermo de cáncer decide hacer todo lo que está en su mano para dejar a su familia mantenida cuando él falte. Para ello se meterá a "cocinar" metanfetamina. Aunque empieza algo floja llega a un punto de éxtasis brutal, con unos personajes que se crecen capítulo a capítulo.
  4. Lost: ¿Quién no ha oido hablar de los perdidos de la isla? La que más me enganchó de todas en su día y la que más mala leche me ha producido. 
  5. Game of Thrones: Serie de fantasia medieval, basada en los libros que llevan el mismo nombre. Trama intensa y completa, excelentemente ambientada.
  6. Six Feet  Under: La vida de una familia corriente que dirige una funeraria, 5 temporadas!. ¿Qué es la vida cuando solo ves muerte? No es una serie donde pasan grandes cosas, es el reflejo de una vida bastante corriente. El mejor final de todas las series que he visto hasta el momento.
  7. Fringe: Del mismo director que Lost, de ciencia ficción y muy buena. Extraños eventos que suceden el mundo y son estudiados e investigados por un cuerpo especial llamado "Fringe division". 
  8. Modern Family: Otra comedia, historietas de una familia muy hetereogénea. Capítulos cortos de 20 minutos que no necesitan continuidad. Muy divertida.
  9. The Walking Dead: Zombies a mansalva, sálvese quien pueda (a pesar de no ser un fan de los zombies la serie está muy bien a excepción de algunos capítulos).
  10. Black Mirror: Serie muy corta de dos temporadas y tres capítulos por temporada que explica historias diferentes muy retorcidas e inconexas entre sí. Te hará sentir muy incómodo viéndola. Puedes ver el primer capítulo (45 minutos) y dejarla, no hace falta seguir un hilo.
  11. Misfits: Unos jóvenes condenados a trabajos comunitarios reciben una serie de poderes sobrenaturales tras una tormenta. Los anti-super-héroes por definición.
  12. The Pilars of the Earth: Miniserie que lleva a la pantalla el famoso libro de Ken Follett. Ambientada en la edad media y con una trama que engancha muchísimo). No, no he leído el libro.
  13. True Blood: Serie de vampiros y otros seres. Vendría a ser una ambientación tipo Crepúsculo (Twilight) pero sin el rollo este teenager enfermizo. Al igual que en Spartacus también abunda la carne.
  14. Flash Forward: (suspendida, una lástima porque prometía mucho) Toda la humanidad se ha desmayado y se ha visto a sí mismo en el futuro durante unos segundos. Esas imágenes condicionan y perturban el resto de sus vidas para cambiar su destino, si es que es posible.
  15. Spartacus: Sand and Blood: La más explícita de las series de esta lista, ambientada en plena hegemonía del imperio romano: gladiadores, violencia, sangre y folleteo. Ambientación muy buena.
  16. Grey's Anatomy: Típica serie de hospitales donde todos están liados.  Enganchado por culpa de mi mujer, y ahí estoy aguantando en la 8a temporada.
  17. White Collar: estafas, falsificaciones, robos y todo lo relacionado con los ladrones de guante blanco.
  18. Person of Interest: Un misterioso multimillonario ha desarrollado una máquina que a través de patrones y usando las cámaras de vigilancia que hay por todo NY después del 11-S es capaz de detectar situaciones en las que se va a producir un crimen en Nueva York próximamente. Contratará a un ex-agente de la CIA para prevenir esos crímenes.
  19. Sons of Anarchy: Una banda de moteros de california con negocios sucios. Chico rubio guaperas que es malo malote. Para aguantar una o dos temporadas y olvidar el resto.
  20. The Event: El gobierno de EEUU detiene unos extraterrestres (apariencia humana) durante 66 años y los encierra en una especie de Guantánamo. El nuevo presidente del país se plantea liberarlos, aunque todo se complica mucho. ¿A qué han venido realmente?
  21. How I met your mother: Comedia, al estilo Friends
  22. Heroes: Serie fantástica, superpoderes y otras hierbas.
  23. The Office (US): Un ambiente de trabajo de lo más absurdo. Tube una vez una jefe tal cuál, quizá la vergüenza ajena y el recuerdo me hizo dejarla a medias.
  24. Californication: Interpretación de David Duchovny es padre de família divorciado, y es un perla de cuidado.
  25. Prison Break: O cómo escapar del trullo una vez y otra durante infinitas temporadas. Tantas veces se hace cansino
  26. Lie to me: El Dr. House de las mentiras. Un peculiar investigador que con la observación de los gestos y movimientos de  una persona puede saber si miente. Si te tocas la nariz, si pones las manos en los bolsillos, si te rascas, desvías la mirada...
  27. The Big C: Comedia/drama. Una mujer enferma de cáncer que vive sus últimos días a tope
  28. The 4400: Más de 4000 personas (adivine cuantas) son abducidas en diferentes épocas y retornadas en un mismo sitio a la vez. Se vuelve cansina en poco tiempo.
  29. Camelot: Otra serie fantástica medieval, aunque muy lejos de Game of Thrones
  30. Eli Stone: Un abogado con un aneurisma que le hace ver visiones. Comedia.
  31. Off the Site: Mismo concepto que la anterior, pero en la selva.
  32. The Glades: Una mezcla entre CSI y Colombo, no es para tirar cohetes, te tiene que gustar mucho este género.
  33. Weed: Una madre sin esposo puesta en una típica urbanización modélica yankee a la que empieza a escasear el dinero decide ponerse a vender hierba (weed) para sacarse unos duros y tirar la família hacia adelante.

Series recomendadas por lectores de Harecoded (que me quedan en la cola por ver)

  1. 24
  2. The Sopranos
  3. The Wire
  4. Hawaii Five-0
  5. The Big Bang Theory
  6. Supernatural
  7. Two and a half men
  8. The Shield
  9. Sherlock
  10. Oz
  11. Taken
  12. Blue mountain state
  13. Scrubs
  14. Luther
  15. Leverage
  16. Malcolm in the middle
  17. Criminal Minds

¿Y tú? ¿Qué nos recomendarías para ver? ¿Qué series son tus favoritas?

Ocultar los ficheros .svn de la web

Si utilizas subversion para trabajar y tienes un checkout en tus carpetas públicas de la web es peligroso que la gente pueda navegar a través de tu directorio oculto .svn, ya que puede contener información que comprometerá la seguridad de tu site. Prueba a acceder a http://tuservidor.com/.svn para ver si es tu caso.

Para denegar la visita de los ojos curiosos (error 403) y que nadie pueda entrar, en el apartado virtualhost de tu Apache incluye esto:

<Directory ~ "\.svn">
    Order allow,deny
    Deny from all
</Directory>

Aunque quizá sea mejor aún hacer como si el directorio .svn no existiera con un error 404, esto quizá despiste a la gente con ganas de fiesta:

RedirectMatch 404 /\\.svn(/.*|$)

Con esto almenos conseguirás desviar la atención de unos cuantos, también es aplicable a otras carpetas o sistemas de versionado