inicio mail me! sindicaci;ón

Archive for September, 2007

Innovar o no innovar

For the record: soy fan de Apple. Creo que es una compañia que mueve la frontera tecnológica mucho más seguido que la competencia.

Las innovaciones son un tema de discusión mucha gente me ha discutido que el iPhone no era una innovación en ningún sentido ya que toda su tecnología es existente y las cosas que ofrece no son ninguna novedad.
Todos los productos fueron concebidos a partir de pequeñas innovaciones, e incluso muchas veces de casualidad, no se vayan a creer que los quesos azules fueron creados porque un sr. Roquefort se paso años investigando en como hacer un queso con hongos, solo pasó. Pero como que es una innovación es un queso podrido!!

Hace algún tiempo los BMW venian, como todos los autos, con dos llaves. El caso es, que a diferencia del resto de los autos, cada llave era identificada por el auto de forma distinta, y según quien fuera la persona que fuera a conducir el vehículo, este se adaptaba a ella configurando todo el auto (asiento, espejo, radio, clima, etc) según como esa persona lo habia dejado evitando largas discusiones de “porque me corres el espejo?!“ que todos hemos tenido.
El punto es que BMW no invento, por lo menos aqui, ninguna tecnología nueva. Solo combino una serie de tecnologías existentes y creo un sistema muy útil, y caro, que aumenta el bienestar de su usuario.

El caso del iPhone es bien similar, celulares existian, touch screens tambien, acelerómetros, sensores de luz, sensores de proximidad, memorias flash también. Incluso hasta el sistema operativo existía (es una versión reducida de Mac OS X). Pero pasó, ingenieros de por medio, que combinando todas estas tecnologías se logró un producto que sacudió el mercado de forma tal que hasta en Nokia estan atonitos.

En fín, lo que quería hablar es de el “no se puede” muchas veces uno escucha esto y hay veces que uno dice “con esta plata no se puede” y hay veces que uno dice directamente “es imposible”.
Compañias como Apple y Google (y sus adquisiciones) han demostrado que el imposible queda cada día más lejos que incluso en la web las cosas posibles.
Cada día la frontera del imposible se aleja e incluso cada vez más el “es muy fácil” es cada vez más accesible.

Por ejemplo quisiera que miren GrandCentral. Con este sistema tengo un número en EEUU en el que puedo atender mis llamados en celular, en el skype, o donde sea y hacer cualquier cantidad de cosas con los llamados que hasta ahora eran imaginables.

También esta el ejemplo de !YouTube(YouTube):http://www.youtube.com quienes inventaron un sistema para hacer algo que hasta el momento era inpensable.

Por último me queda hablar de los que no innovan. Mucha gente se dedica a copiar lo que otros hacen, y muchas veces hasta les va mejor que a los que tuvieron la idea original, incluso hay estimaciones que los “followers” tendrán aproximadamente el 10% de ganancias de los creadores originales, que en muchos casos es muy redituable, pero a pesar de esto estos seguidores o copiadores hacen, en su conjunto, que las ideas sean más pobres y que vivamos en un mundo conformista, ya que al copiar el modelo/idea/negocio de otro hace que las ganancias sean menores y que hayan menos incentivos a la inversión.

En fin innoven, piensen, creen!

Google, angel o demonio?

Como dije yo soy fan de Apple y por lo tanto contra de Microsoft. Google es un mix que esta en el medio y la verdad no se bien donde ponerlo pero mucha gente lo pondria en el lugar del pibe bueno simpático con onda. De hecho la cara de Google refleja bastante eso.

Ahora uno se pone a pensar y…

  • Saben que buscamos todos los días en todo momento
  • Tienen nuestros mails
  • Saben donde vivimos
  • Ganan quichicientos millones de dólares por segundo
  • En EE.UU. ahora te graban que teléfonos solicitas (Goog-411) y tienen la foto de nuestra casa! (Street View)
  • Compran compañias al por mayor

En sintesis tienen una actitud de conglomerado monopólico “malo”, solo que como es joven se lo perdonamos y decimos mira como creció el pibe. Pero al fín y al cabo de bueno tiene que les da masajes a sus empleados porque con el resto del mundo no me parece que se porte tan bien.

Yo se que hay muchos debate y articulos escritos acerca de este tema pero me pareció interesante resaltar la comparación de Google y Microsoft.
Actualmente Microsoft es un monopolio mucho más establecido con mucha más gente que lo odia, pero Google simplemente cae bien pero ojo que hay que tener cuidado con el “pibe”.

Testearas tus aplicaciones

Por si no es de tu conocimiento yo soy programador y bastante fanatico de Ruby on Rails. Intento desarrollar toda aplicación en la que trabajo en esa combinación de lenguaje + framework, y a decir verdad, me ha dado bastantes oportunidades.
Cada vez surgen más y más proyectos en esta plataforma y supongo que si estas leyendo esto es porque estas interesado en el tema.

Al ser uno de mis primeros posts queria transmitir una cosa bien sencilla y bien importante acerca de mi experiencia, y la de algunos otros también, en la programación y, en particular, la de proyectos grandes y crecientes.

Como se imaginaran, ya que el título lo dice, el tema viene por el lado de los tests. Yo se que todo el mundo dice que hay que hacer tests pero he encontrado muchos que predican acerca de estoy y no lo practican.

Si tenes en desarrollo una aplicación en Rails, o en otra plataforma en la que se puedan realizar Automated Tests, y tenes aunque sea la remota esperanza de que la aplicación crezca deberias hacer tests, de todos los tipos, y en lo posible muchos, que sean lo más extensivos posibles.
Porqué hacerlos? Por que al hacerlos, y correrlos, vas a tener la garantía de que tu código tiene menos errores, probablemente haya algunos pero menos. Y también sirven para cuando uno trabaja en código viejo o en el de otra persona ya que si uno cambia algo y los tests presentan fallas hay algo que se encuentra fuera de lugar.

Ahora como se que no vas a ir a correr a hacer test lo que te sugiero es que aunque sea hagas que el código se ejecute (léase ‘get :index’ en vez de assert true), con esto vas a lograr que si hay algun error bien sencillo que ni siquiera deja compilar el código lo vas a poder arreglar.

Por otro lado como hay muchas veces que uno esta confiado, o se olvida, o pasa alguna cosa de emergencia que uno hace todo apurado, es bueno agregar un script que corra los tests siempre que uno le hace commit al subversion o deploy a capistrano. En la red hay algunos hechos y seguro que se encuentran como plugins o cosas por el estilo.

El sistema que elijan queda a su placer sea BDD, TDD, o HLQSMCET (hago lo que se me canta en tests) esta bien y es bueno.