lunes, 22 de agosto de 2016

How to process your photo album for displaying


With the increasing use of digital cameras we now tend to take hundreds of pictures of any event, I have accumulated more than 27.000 (~100G) in photos from the last 10 years, and its very hard to go back an look at them, some times there are 10 or more versions of the same picture which is boring.

What I want to do here is to make a digital album of my photos in a tablet, so when some one come to visit we can take it out and remember the old times. All the photos should fit in a microsd card (I have one 16G, but will be reasonable to buy one up to 64G), only best picture of a series of similar photos are required. And finally this process should be automated.

So let get started.

Backup your photos
Always keep a backup of your original photos in a safe place (external hard drive or external location), you probably at some point want to print and enlarge some of them (wall art or something) and you will need best resolution posible for this.
rsync -avni --delete source/ dest/
Copy only photos to the new location for processing ~100G in photos and video end up in ~42G with only photos
cd /source 
find . -iname '*.jpg' -o -iname '*.bmp' -o -iname '*.png' | cpio -pdm /dest

Resize photos
If you are using a tv or tablet to display your photos, you won't need full resolution in most cases, this devices has 1280 to 1920 resolution in most cases (except for 2k or 4k display), I will resize mine to 1024 to save some space 42G end up in ~6h and only 12G
You will have to do this for each file extension
find . -iname '*.jpg' -exec mogrify -resize 1024 '{}' \;
find . -iname '*.png' -exec mogrify -resize 1024 '{}' \;

Remove duplicates
For these I will use a "Donation-ware" windows program call VisiPics (http://www.visipics.info/) (can run on wine), this program search and finds similar images, and can auto select the best version (best resolution, less blury, etc), this isn't perfect and some decent photos will be removed, but for this case I don't care, I just don't want (and don't have the time) to review thousands of photos.

- Open the program and add your folder to the list
- In filter tab, select just one bar up from Loose.
- Press play and wait until finish.
- Press Auto-select button on Tools and wait until finish.
- Press Delete button on Actions.
Visipics run for ~1h looking for duplicates and my album end up sizing ~8G.


jueves, 28 de abril de 2016

Instala Wiithon en cualquier versión de Ubuntu

Wiithon es uno de los mejores manejadores de wbfs que he encontrado, es facil de usar, puede crear particiones, copiar juegos en diferentes formatos, convertir entre varios formatos, etc. pero no se ha vuelto a compilar desde karmic a continuación le muestro la forma mas fácil de instalarlo en versiones nuevas de ubuntu sin necesidad de compilarlo.

#Abre un terminal y añade el respositorio de ppa de la última versión de wiithon
sudo apt-add-repository ppa:wii.sceners.linux/wiithon

#Puesto que en los repositorios está compilado para una versión anterior de Ubuntu (karmic) deberás modificar el fichero /etc/apt/sources.list.d/wii_sceners_linux-wiithon-*.list y cambiar la palabra precise por tu distribucion
lsb_release -a

#Copia el Codename en lugar de {nombreversion}, por ejemplo trusty para la version 14 o xenial para la 16
sudo nano etc/apt/sources.list.d/wii_sceners_linux-wiithon-{nombreversion}.list

#Dentro del archivo list cambia tu nombre de version por la ultima compilada de wiithon que es: karmic

#Hecho esto, actualiza los repositorios
sudo apt-get update

#e instalar el programa
sudo apt-get install wiithon

fuente: http://www.taringa.net/comunidades/ubuntuparataringeros/5778178/Ayuda-Instalar-Wiithon-en-ubuntu-12-04.html

lunes, 14 de marzo de 2016

Recompilacion de Virtualbox

Cada vez que se actualiza el kernel me sale el error que debo ejecutar

sudo /sbin/rcvboxdrv setup para recompilar el kernel

Pero esta instrucción no funciona, se debe ejecutar

sudo /usr/lib/virtualbox/vboxdrv.sh setup

viernes, 29 de agosto de 2014

MTG M13 Booster Battle Packs Deck Lists

I have been searching for a list of the contents of de M13 Battle booster packs without luck.

I found the M14 Battle packs on init-games but no M13.

So here it is, searching some unboxing videos on youtube  looks like there is only 5 different 20 card decks for the packs (WR, GU, WU, BR and BG).

WR GU WU BR BG
Attended Knight Welkin Tern Aven Squire Bloodthrone Vampire Centaur Courser
War Falcon Archeromancer Guardiasn of Akrasa Essence Drain Vastwood Gorger
Angel's Mercy Hydrosurge Divine Favor Disentomb Bond Beetle
Glorius Charge Merfolk of the Pearl Trident Warclamp Mastiff   Walking Corpse Fog
Crusader of Odric Talrand's Invocation Serra Angel Rise from the Grave Garruk's Packleader
Bladetusk Boar Deadly Recluse Scroll Thief Searing Spear Servant of Nefarox
Trumpet Blast Rangers Path Vedalken Entrancer Canyon Minotaur Crippling Blight
Volcanic Strength Spiked Baloth Downpour Wall of Fire Dark Favor
Krenko's Command Bountiful Harvenst Unsummon Kindled Furzy Tormented Soul
Arms Dealer Duskdale Wurm Jace's Phantasm Furnance Whelp Duskmantle Prowler

These are combined to create the 2 decks pack, so far I had only see these combinations:

WR/GU
GU/WU
BR/BG
WR/BG
BR/WU

Sources:
http://mtgadventures.blogspot.com/2012/08/m13-battle-packs.html
https://www.youtube.com/watch?v=HhELnrsE2cw
https://www.youtube.com/watch?v=NrcgPDWfJ1E
https://www.youtube.com/watch?v=_DlpR7TNxDA
Leer artículo completo!

miércoles, 8 de enero de 2014

Como crear un punto de acceso desde tu portatil

Encontré esta forma de compartir una red cableada en una wifi para poder navegar desde tu celular.

http://tumutanzi.com/archives/8195

En caso de que no este en linea aquí esta en pdf

domingo, 17 de noviembre de 2013

Symfony doble lista no guarda

Al crear una lista doble en symfony para romper una relación muchos a muchos, estas listas se crean y funciona correctamente el parecer, pero al tratar de guardar, no sale ningún error pero los datos no son almacenados.

Lo primero que hay que tener en cuenta es que ningún dato adicional a las llaves foráneas se guardan por la lista doble. Al parecer no se ejecuta el método save en el archivo tablarelacion.class.php del model.

De todas maneras mi problema era otro, al usar bootstrap se agrega a todos los campos la clase form-control. al revisar el script de la lista doble en la linea 43 se consulta si el nombre de la clase del elemento termina en -selected, al aplicar bootstrap la clase del elemento queda 'miclase-selected form-control' por lo tanto esta condición nunca se cumple y los datos seleccionados no son enviados con el formulario al realizar el submit.

#.../plugins/sfFormExtraPlugin/web/js/double_list.js
.
.
  submit: function(form, className)
  {
    var element;
    for (var i = 0; i < form.elements.length; i++)
    {
      element = form.elements[i];
      if (element.type == 'select-multiple')
      {
        if (element.className == className + '-selected')
        {
          for (var j = 0; j < element.options.length; j++)
          {
            element.options[j].selected = true;
          }
        }
      }
    }
  },
.
.

La solución (temporal) es no agregar una nueva clase al control en el widget así:

        $this->widgetSchema['campo_list']->setOption('renderer_class', 'sfWidgetFormSelectDoubleList');
        $this->widgetSchema['ccampo_list']->setOption('renderer_options', array('label_unassociated' => 'No asignadas:',
            'label_associated' => 'Asignadas:',
            'associated_first' => false,
            'class_select' => 'miclase')); 

En cambio solo se coloca el form-control de bootstrap, obviamente esto solo funciona si en el formulario solo ahí un campo de doble lista, si hay 2 deben tener nombres de clase diferentes.

La segunda opcion es modificar el double_list.js asi:

if (element.className == className + '-selected form-control')

Esto es muy poco flexible, cuando tenga la solución definitiva actualizare esta entrada.