Holofonía

ciencia 0 comentarios »

Aunque lleva tiempo circulando por internet, hasta hoy no había escuchado esta holofonía. Es impresionante. Simplemente ponte unos cascos y cierra los ojos.

En mi opinión, la experiencia de usuario resulta mucho más rica que con un sistema de sonido 5.1. Supongo que las holofonías no han tenido mucho éxito comercial por la incomodidad de tener que ponerte unos cascos. ¿Os imagináis que el cine tuviera sonido holofónico? ¿Y los videojuegos?


Si eres legal, comparte

internet 0 comentarios »

Ante la campaña manipuladora, pagada con nuestros impuestos, del Ministerio de Cultura, que nos quiere hacer creer que la descarga de contenidos de internet es ilegal, ¿qué podemos decir?

Pues que si eres legal, comparte.

siereslegalcomparte

Descargarse contenidos es totalmente legal. No te dejes manipular.


Script para renombrar fotografías

ruby, rails 0 comentarios »

Me gusta hacer fotos y subirlas a flickr. Eso sí, antes de subirlas hago una selección, porque ahora, con las cámaras digitales, puedo sacar cientos de fotos en un fin de semana. Lo que no me gusta es subir las fotos con nombres como IMG_4356.jpg. Tampoco me gusta que después de seleccionar las fotos que voy a subir, queden huecos en la numeración. Es decir, que después de Fuerteventura_012.jpg venga Fuerteventura_023.jpg. Para evitar esto he desarrollado un script en Ruby que tal vez le pueda venir bien a alguien.

El script se invoca de la siguiente manera:

$ renamepics.rb new_name [n_digits]

y lo que hace es renombrar cada fichero JPG del directorio actual, de manera que el nuevo nombre será de la forma:

new_name_ddd.jpg

Siendo ddd un número de n_digits dígitos, y siendo la númeración de las fotografías consecutiva. Es decir, si tengo, por ejemplo, estos 3 ficheros:

IMG_4367.jpg
IMG_4370.jpg
IMG_4389.jpg

Ejecutando:

$ renamepics.rb Fuerteventura 2

Se convertirían en:

Fuerteventura_01.jpg
Fuerteventura_02.jpg
Fuerteventura_03.jpg

Maníatico que es uno. Si alguien lo usa, que sea bajo su propia responsabilidad. Aquí tenéis el script:

#!/usr/local/bin/ruby
unless (1..2).include? ARGV.length 
  puts "Usage: #{$0} new_name [n_digits]"
  exit
end
 
require 'fileutils'
 
new_name = ARGV[0]
n_digits = ARGV[1].nil? ? 3 : ARGV[1]
 
c = 1
d = Dir.new(Dir.pwd)
d.entries.sort.each do |e|
  re = /(.+).jpg/
  md = re.match e
  unless md.nil?
    n = new_name + '_' + sprintf("%0#{n_digits}d", c) + ".jpg"
    c = c + 1
    begin
      FileUtils.mv "#{e}", "#{n}"
    rescue Exception => e
      md = /^same file/.match e
      next unless md.nil?
    end
    puts "#{e} => #{n}"
  end
end