Rake task with arguments and :environment

Just a quick tip:

desc "Rake task with arguments and :environment"
task :task_name, [:arg1, :arg2] => :environment do |t, args|
args.with_defaults(:arg1 => "Foo", :arg2 => "Bar")
puts "Hello, #{args.arg1}. Bye, #{args.arg2}."
end

Notes:

  • You may omit the #with_defaults call.
  • You have to use an Array for your arguments, even if there is only one.

So you will be able to pass arguments to your rake task:

$ rake task_name["Moon","Sun"]
Hello, Moon. Bye, Sun.

Posted in ruby, rails | Leave a comment

Timestamps with Paperclip and S3

I’m using Paperclip (2.3.11) to upload images to S3 and, as some other people have pointed out (here and here), if the content of a file changes but its name remains the same (for example, if you recrop the image), the timestamp added by Paperclip to the end of image URL won’t change. Consequently, the browser thinks the image hasn’t changed, and will display the old version.

Being image a Paperclip::Attachment, the url method will return something like:

> image.class
 => Paperclip::Attachment
> image.url
 => "http://domain/filename?1305625852"

If the image’s content changes, but not the name, the timestamp won’t change. To fix this issue, I’ve added a new and simple processor:

# config/initializers/paperclip_timestamper.rb

module Paperclip
  class TimeStamper < Processor
    def initialize(file, options={}, attachment=nil)
      super(file,options,attachment)
      timestamp_filename
    end

    def timestamp_filename
      attachment.instance_write(:updated_at, Time.now.to_i)
    end

    def make
      @file
    end
  end
end

Custom processors are currently not being loaded correctly in Rails 3 from lib/paperclip_processors, so a quick hack is to define it as a regular initializer. Don’t forget to specify the :processors option to has_attached_file:

has_couch_attached_file :image, ..., :processors => [:time_stamper]
Posted in ruby, rails | 1 Comment

Selecting n random items from an array in ruby

Selecting n random items from an array in ruby is quite simple using the sort_by method provided by the Enumerable class. If we apply sort_by{ rand } to an array (or to a hash) we obtain the same array randomly ordered. If we only want n random items from the array, we can apply the slice method to the randomly orderer array to get the first n elements. For example, suppose we want to get 3 random items from my_array:

> my_array = (1..10).to_a
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
> my_array.sort_by{ rand }.slice(0..2)
=> [2, 9, 3]

You can find a more detailed explanation of how sort_by{ rand } works in this page.

Posted in ruby, rails | 3 Comments

Google Analytics Concepts, The Movie

Just in case anyone is interested, the video of my Google Analytics Concepts talk has been uploaded to the ASPgems vimeo channel.

Posted in analytics | Tagged | 3 Comments

Google Analytics Concepts

I have just given a talk about Google Analytics Concepts. I have explained basic concepts that anyone interested in maximizing Google Analytics usage must know. I have talked about generic web analytics concepts like metrics, keywords, marketing campaings, segmentation, etc. I have also reviewed specific Google Analytics concepts, such as which cookies are used, how to install the tracking code, how to integrate Google Analytics with AdWords, etc.

Posted in analytics | Tagged | 1 Comment

Just passed Google Analytics Individual Qualification certification

I recently passed the Google Analytics Individual Qualification test.

Google Analytics Individual Qualification

If you are interested in become a more knowledgeable Google Analytics user you should have a look at Conversion University, a set of online presentations that you can watch free of charge, or come to the talk I will be giving next week about Google Analytics concepts (in Spanish).

Posted in analytics | Tagged , | Leave a comment

Joining ASPgems

Last november I quit my job as a system administrator at a too big company and joined the incredible ASPgems team as a full time Ruby on Rails developer. I know I’m going to learn a lot and have a lot of fun.

ASPgems logo

And yes, hereafter I’m going to write this blog in English.

Posted in misceláneo | 2 Comments

Papeleo por el nacimiento de un hijo

Hace unas semanas fui padre por primera vez, y claro, a los pocos días tuve que sufrir un cansino peregrinaje por todo Madrid para hacer todo el papeleo necesario cuando tienes un hijo. Me parece absurdo que no haya todavía una ventanilla única para todos estos trámites, y que en la administración todavía sigan pidiendo fotocopias de muchos documentos. Desde luego, en la administración hay todavía mucho por hacer. Se me ocurre:

  • integración de las distintas bases de datos
  • mejora y agilización de procesos
  • permitir que muchos de estos trámites sea posible hacerlos por teléfono o por internet

Por si a alguien le puede ayudar, voy a escribiros una especie de guía para torpes de todo lo que hay que hacer. Es caso que describo es el de una pareja casada que tiene un niño en Madrid capital. Si estás en otra circunstancia, alguno de los pasos puede ser diferente. Si no resides en España, puedes dejar de leer. Ten encuenta también que esto lo escribo en mayo de 2.009 y que si lo estás leyendo mucho después puede haber cosas que hayan cambiado.

En la clínica

De la clínica tenemos que salir con los siguiente papeles:

  • hoja amarilla para el registro [1]
  • informe médico del alta del bebé [2]
  • informe médico del alta de la madre [3]
  • cartilla de vacunaciones

En el Registro Civil

El primer paso es ir al Registro Civil para efectuar la inscripción por nacimiento.

Necesitamos llevar:

  • hoja amarilla para el registro [1]
  • DNI de la madre
  • DNI del padre
  • libro de familia

Saldremos con:

  • libro de familia con la información del hijo [4]

En la Seguridad Social

De la Seguridad Social os puedo contar que existen el INSS y la TGSS (tesorería). Por suerte, a mí me tocó una “oficina integrada”, por lo que no tuve que preocuparme de la idiosincrasia departamental. Aprendeos bien el camino, porque tendremos que volver una segunda vez.

Necesitamos llevar:

  • libro de familia con la información del hijo [4]
  • DNI del progenitor del que el niño va a ser el beneficiario
  • impresos firmados (nos los proporcionan allí) por el progenitor del que el niño va a ser el beneficiario.

Como los impresos que tienen que estar firmados por el progenitor del que el niño va a ser el beneficiario, lo más cómodo es que sea el padre quien los firme. Si no, o va también la madre, o hacemos un viaje extra sólo para llevar los impresos firmados, o los buscamos en la web, si es que están, y los llevamos firmados.

Saldremos con:

  • documento con el alta del niño en la Seguridad Social [5]
  • impresos para las bajas de paternidad y maternidad, y así irlos estudiando y rellenando

Una sorpresa agradable es que parece que ya no existe la tradicional “cartilla” de la Seguridad Social.

En el Centro de Salud, en la ventanilla

Necesitamos llevar:

  • libro de familia con la información del hijo [4]
  • documento con el alta del niño en la Seguridad Social [5]

Saldremos con:

  • tarjeta sanitaria provisional de nuestro hijo
  • pediatra asignado
  • cita para la primera revisión, a los 15 días del nacimiento
  • cita para la segunda prueba del talón, que es hacia el noveno día

En el Centro de Salud, en el médico de cabecera de la madre

Puede ir el padre. La verdad es que no entiendo por qué este trámite lo tiene que hacer el médico de cabecera y no un burócrata, porque es pura burocracia.

Necesitamos llevar:

  • informe médico del alta de la madre [3]
  • tarjeta sanitaria de la madre

Saldremos con 3 copias del:

  • informe de maternidad [6]

En la empresa de la madre

Necesitamos llevarles:

  • una copia del informe de maternidad [6]

Saldremos con:

  • certificado de la empresa para la solicitud de la baja por maternidad [7]

En la Seguridad Social, de nuevo

Para solicitar la baja por maternidad, necesitamos llevar:

  • DNI de la madre, original y fotocopia
  • certificado de la empresa para la solicitud de la baja por maternidad [7]
  • una copia del informe de maternidad [6]
  • libro de familia con la información del hijo [4], original y fotocopia
  • última nómina, original y fotocopia
  • impresos que recogimos en la primera visita, correctamente rellenados

En los impresos hay que decir cuál queremos que sea la retención del IRPF. Es conveniente poner la misma que aparezca en la última nómina para así no llevarmos ningún susto en la siguiente declaración de la renta.

Para la solicitud de la baja por paternidad hay que llevar los mismos papeles. En mi caso, al ser autónomo, tuve que llevar, además:

  • últimos tres recibos de la cuota Seguridad Social por ser trabajador autónomo, original y fotocopia, en lugar de la última nómina y del certificado de la empresa
  • un impreso llamado “Declaración de situación de actividad”, que nos habrán proporcionado en nuestra primera visita, y en el que básicamente afirmamos que durante la baja vamos a dejar de trabajar

Lo que me llama la atención es que tenga que llevar a la Seguridad fotocopia de los recibos del banco de los últimos 3 pagos que les he realizado a ellos mismos. ¿No pueden ver en su terminal que realmente estoy al corriente de pago?

En Hacienda

El único trámite que he realizado por teléfono, y de manera muy simple y rápida, ha sido la solicitud de los 2.500 euros por maternidad y los 100 euros mensuales hasta que el niño tenga 3 años. Basta con:

  • llamar al 901200345
  • indicar el importe de la casilla 698 de la última declaración de la renta
  • indicar el número de cuenta donde queremos cobrar las ayudas

Y ya está. Hemos empleado un montón de nuestro tiempo, pero hemos dado trabajo a un montón de burócratas pagados por todos.

Posted in misceláneo | Tagged , , , , , , , , , , , , , | 20 Comments

Oracle compra Sun

Hace sólo unos días hablaba sobre la posibilidad de que IBM comprara Sun. Pues bien, dicho intento de compra se frustró. Hoy se anuncia en firme que Oracle y Sun han llegado a un acuerdo, de manera que Oracle compra Sun por 7.400 millones de dólares, 900 millones más de lo que ofrecía IBM.

Oracle compra Sun

El acuerdo todavía está pendiente de la aprobación de los accionistas y de los organismos regulatorios. Parece que el plan de Oracle es poder ofrecer a sus clientes soluciones mucho más globales y optimizadas, gracias a que ahora podría incluir en sus soluciones el hardware, además poder reducir los costes para los clientes, ya que la integración sería mucho más sencilla.

Sin duda, una noticia sumamente importante en el sector de las tecnologías de información. Ahora bien, creo que la primera pregunta que nos vamos a hacer muchos es qué pasará con la orientación que Sun estaba teniendo en los últimos años hacia el software libre. Y sobre todo, qué pasará con MySQL, posiblemente la base de datos libre más extendida, y que en muchos casos puede ser competencia del gestor de base de datos propietario de Oracle. Habrá que estar también atentos al nuevo posicionamiento que haga la nueva Oracle en el área del cloud computing.

Más información:

Posted in negocios | Tagged , , | Leave a comment

¿Quieres compartir oficina en Madrid?

Unos amigos (que además son familiares) están montando un estudio con profesionales del mundo de la imagen (fotografía, vídeo, postproducción, 3D, etc) y están buscando gente para compartir el espacio e incluso ver si pueden colaborar en proyectos conjuntos.

iconik

El local está siendo reformado y estará terminado este mes. El alquiler por puesto de trabajo es de 250 euros/mes. Si estás interesado, en este PDF tienes más detalles.

Posted in misceláneo | Tagged , , , | 24 Comments