Music: I want to hold her… I want to kiss her…

30/04/2010

I want to hold her…
I want to kiss her…
She smells the daisy…
She drives me crazy…

No Comments

Home is wherever I’m with YOU…

23/04/2010

You’re the apple of my eye…
I’ll follow you into the park,
Through the jungle through the dark,
Girl I never loved one like you…

No Comments

What leads to success?

7/03/2010

Here are Richard St. John’s 8 secrets of success

  • Passion Do it for love NOT for money.
  • Work It’s all hard working, nothing comes easy.
  • Good Put your nose down in something and get damn good at it. There’s no magic, it’s: Practice, Practice, Practice.
  • Focus Focus yourself to one thing
  • Push Push yourself. Physycally, Mentally, you gotta push, push, push. Through shyness and self-doubt
  • Serve
  • Ideas Listen. Observe. Be curious. Ask questions. Problem solve. Make connections.
  • Persist Persistance is the number one reason for success. Persist through Failure, through CRAP.
No Comments

Rails: perdiendo la cabeza con before_save

9/12/2009

Recientemente encontré un ‘bug’ en una aplicación que estoy desarrollando, tiene que ver con los callbacks de Rails, en específico before_save.

Por fín lo he resuelto, no de la manera que esperaba, tal vez por berrinchudo ya que aún me queda una duda, pero al fin puedo continuar desarrollando y un peso se ha ido de mí.

La parte afectada de la aplicación involucra 2 modelos, digamos:

class Category
  has_many :products
end
 
class Products
  belongs_to :category
end
 
app/models/category.rb
before_save
  return unless self.published
  self.products.first.amount = (algun calculo dinámico)
end

Justo en este callback es donde está lo misterioso, la cantidad(amount) del primer producto nunca cambiaba amenos que actualizara la categoría, la publicara y la grabara 2 veces!! a la 2a vez el cálculo se realizaba, esto me quitó el sueño y me hizo perder gran cantidad de tiempo analizando el problema.

por qué a la 2a vez si pasaba?

Corrí la aplicación con el debugger y pues Rails sí pasaba por esa parte del código pero la cantidad del producto quedaba intacta, incluso intente cosas como estas:

app/models/category.rb
before_save
  return unless self.published
  self.products.first.amount = (algun calculo dinámico)
  self.name = 'Algún nombre'
end

Y pues la primera vez que grababa, ya con el atributo de published en true, name sí se actualizaba pero amount no! sólo hasta la segunda… hasta la fecha no entiendo por que sucede esto, no he logrado llegar a una conclusión, lo que sí es que por lo pronto ya encontré una solución:

app/models/category.rb
before_save
  return unless self.published
  self.products.first.update_attribute(:amount, (algun calculo dinámico))
end

De esta manera el cálculo ocurre todas y cada una de las veces que la categoría es actualizada.

No Comments

Git: Ahorra un poco de tiempo utilizando alias

1/09/2009

Puedes recuperar un poco de tiempo en las tareas cotidianas de git si creas alias para los comandos más comunes.

Git soporta alias así que lo unico que tienes que hacer es agregar unas líneas a tu ~/.gitconfig, les dejo el mío:

[alias]
  st = status
  ci = commit
  br = branch
  co = checkout
  df = diff
  lg = log -p
  rb = rebase

Y voilà:

$git co master
Switched to branch "master"

No Comments

Time can only be allocated

20/05/2009

Ya que no deseo dejar pasar un día más sin postear aquí, he vuelto y para mantener a mis lectores(googlebot y cía.) en el loop escribiré mis planes intenciones, aunque digan que el de arriba se burla de ellos.

Han pasado muchas cosas nuevas en mi vida ultimamente, la ultima vez que escribí aquí aun estaba en otra ciudad, en wordpress.com y ahora tengo un nuevo trabajo en el cual estoy muy agusto y es el que me tiene muy ocupado, sobre todo las pasadas 2 semanas y las 2 que siguen igual, pero estoy implementando en mi vida técnicas para organizarme y aprovechar mejor el tiempo y hasta ahora han dado resultados, este mismo post es la prueba de ello, i’m getting things done!!!

Mi meta de hacer un tutorial de Ruby sigue en pie y más fuerte que nunca, mi plan ya está en papel, ya tengo tareas agendadas y estoy haciendo actividades alternas, esto incluye la instalación de herramientas, que me ayudarán a completarlo. Iré publicandolo por capítulos así que habrá noticias al respecto pronto.

He estado leyendo el libro “Pragmatic Thinking and Learning”, me interesó por que habla de cómo poder aprender mejor, más rápido entre otras cosas, te explica a grandes rasgos funciones básicas del cerebro, tipos de personalidades, tipos de comportamientos, formas en las que las personas pueden aprender, etc., todo esto para que localices tus fortalezas y tus puntos débiles para que a la hora de atacar un problema, aprender, leer o planear algo seas más eficiente y aproveches tus cualidades para emprender tu meta con bases más sólidas y sepas cómo completarla mejor.

He unido varias piezas que se unen en mi nueva forma de trabajar y de ponerme metas y cumplirlas, en el poco tiempo que las he implementado he visto avances, mis días tienen un rumbo qué seguir y lo que salga lo manejo de una mejor manera, afectando lo menos posible mi plan inicial, aparte de que todo esto me pone de mejor humor, voy avanzando en mis planes.

Por esto vengo a platicar aquí; sé que si no comenzaba a escribir nunca iba a retomar este blog y era algo que me quitaba muchas energías y tiempo mental, era ese estres que causa tener algo pendiente. Pero ya está superado. También quiero estrenar mi nuevo tema :-).

Les dejo esta frase que uso como título, hasta pronto.

“Time can’t be created or destroyed. Time can only be allocated.”

No Comments

Ruby 1.9.1 liberada

31/01/2009

La rama 1.9 de Ruby alcanzó calidad estable y lista para producción con la versión 1.9.1 que fue publicada el dia de ayer por Yuki Sonoda.

Esta nueva versión ofrece mejoras en la rápidez de ejecución, nuevas clases de objetos, cambios en la sintáxis, un enorme soporte para coficación de archivos, multilenguaje, etc., por lo que se recomienda una pronta adopción, para familiarizarse con los cambios, encontrar bugs, portar gemas y código en general.

Se debe tener en cuenta que muchas gemas no funcionan aún sobre 1.9 así que la actualización debe llevarse con cautela.

Instalación en Mac OSX

Si se desea instalar en Mac OSX sin alterar la instalación de la 1.8.x sólo hace falta seguir las siguientes instrucciones

curl ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.bz2 -o ruby-1.9.1-p0.tar.bz2
tar xjf ruby-1.9.1-p0.tar.bz2

Ahora para no afectar la version instalada se le especifíca un sufijo a la hora de compilarla.
cd ruby-1.9.1-p0/
autoconf
./configure --program-suffix=19
make && sudo make install

Y con eso quedará lista para su uso.
xrx:~ danielroux$ ruby1.9 -e "puts 'hola mundo :-)'" -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9.6.0]
hola mundo :-)

Ruby 1.9 es sólo una versión de transición hacia la 2.0 que se dice será lanzada en un lapso menor a los anteriores, (Ruby 1.8 fue lanzada en el 2003), en mi opinión a finales del 2011 luego de la 1.9.3; su desarrollo inició ya hace tiempo pero al mantener mucha similutud con la 1.9 el cambio será menos drástico que si lo hacemos desde la 1.8.

Igualmente la versión 1.8 tendrá una actualización, la 1.8.8 , en este mismo año.

Links:

No Comments

The future is always beginning now

23/01/2009

Luego de un buen tiempo separado del blogging este inicio de año vuelvo ya que tengo un par de própositos que cumplir.

El primero tiene que ver con lo que he hecho desde mitad del 2007. En esas fechas un proyecto en el que estaba involucrado se vino abajo y para aprovechar el tiempo que tenía libre luego de eso me puse a leer sobre Ruby, ya que aparecía en todas partes, gracias a la fama que le trajo Rails y quería averiguar de que se trataba todo el alboroto.

Mi meta en ese entonces era aprender Rails, por su enfoque al desarrollo web. Al poco tiempo y luego de leer en repetidas ocasiones el mismo consejo, que aprendiera Ruby primero, decidí tomarlo, cambié mis libros de Rails por los de Ruby y vaya que grata sorpresa fue.

Primero, mucho de lo que había leído en los libros de Rails comenzaba a tener algo de sentido y segundo me enamoré totalmente del lenguaje, a tal grado que me enfoqué totalmente a aprenderlo, con el deseo de convertirme en un gran Rubysta y algún día ser un maestro en él.

Esta misión no ha resultado más que ser un placer, no hay día que no me guste utilizar Ruby, no me canso de ver código en mi pantalla, no me fastidia, no me aburre, no me defrauda.

En Marzo del 2008 conseguí mi primer empleo relacionado con Ruby y Rails, he tenido la oportunidad de trabajar en varios proyectos, de ampliar mi conocimiento sobre Rails, su uso en el mundo real y cada día reafirmo mi gusto por el lenguaje y el framework.

Todo lo anterior es lo que me ha traído hasta aquí, este blog es el siguiente paso en mi objetivo de convertirme en un mejor programador en Ruby.

Cuando hacia mi lista de propósitos para el 2009, me fijé que tenía que involucrarme más en la comunidad de Ruby, tanto en México como en el mundo, lo que hace que este esfuerzo cumpla 2 de mis metas. En el momento no me quedaba claro de qué forma lo haría pero esta semana obtuve mi respuesta.

Comenzaré escribiendo un tutorial de Ruby, lo publicaré aquí y donde me sea posible. Podré aportarlo a la comunidad, ampliaré y reforzaré conocimientos y me actualizaré ya que la nueva versión de Ruby, la 1.9, esta en plena adopción y hay cambios en la sintáxis y cientos si no miles de cambios en la api.

Así que el momento ha llegado de llevar mis conocimientos de Ruby al siguiente nivel, aportar a la comunidad, ayudarla a crecer, conocer gente que comparta mi misma pasión, utilizando nuevos medios de comunicación que hasta la fecha no he explotado para mi crecimiento.

Como aclaración, aunque en este post sólo hablo de Ruby, hasta inténsamente, no tengo nada en contra de ningún otro lenguaje, al contrario, espero en un futuro aprender más, como Python, que es el primero en mi lista y los que atraigan mi atención.

No Comments