(in)visibles

Category: tech (page 1 of 2)

Ruby no es fácil

En los últimos meses, parte de mi trabajo en lextrend ha sido enseñar y asesorar a la gente que estaba empezando a trabajar en proyectos con Ruby on Rails. Y he visto que parte de la dificultad para aprender ruby depende del entorno donde hayas trabajado antes. Por ejemplo, si has trabajado antes con python o con perl, te va a ser mucho más fácil que si has trabajado con .NET.

Además de la facilidad de haber trabajado con un lenguaje de programación similar, hay algunas habilidades que condicionan la facilidad con la que vas a aprender ruby:

Unix / Linux: Si no te sabes manejar un poco por la linea de comandos, vas a tener problemas. Aunque uses un gran IDE como RubyMine o Netbeans, hay muchas cosas que están orientadas a la línea de comandos. En cambio, cuanto mas acostumbrado estés  usarla y mas sepas de unix, serás mucho mas productivo (y te divertirás más). Creo que esta es una de las mayores dificultades que se va a encontrar alguien que venga de .net.
Poca documentación: Esta es una de las criticas que mas he escuchado. Y es cierto, aunque es algo que está cambiando poco a poco, en la mayoría de las librerías la documentación suele ser escasa o inexistente. Pero el contrapunto, está en la comunidad. La comunidad de ruby es muy activa, con mucha gente muy apasionada por lo que hace y con muchas ganas de compartir conocimiento y experiencias. Si no participas en la comunidad, te va a resultar mucho más difícil (y dudo que lo disfrutes).
Rails no es ruby: Una de las cosas que me pasó cuando empecé con rails, y que también le ha pasado a varios colegas, es que aprendí rails, pero no ruby. Como rails te da DSLs para hacer determinadas cosas (por ejemplo ActiveRecord o
las rutas), si no haces otras cosas fuera de rails tardarás mucho más en aprender ruby. Un consejo: haz alguna cosa para jugar solo en ruby. Si quieres hacer algo web, prueba sinatra

Ruby es muy potente y muy flexible:¡ Permite hacer una cosa de muchas formas distintas. Por eso es muy importante seguir unas buenas practicas y conocer determinadas convenciones. Dos libros muy recomendables en este aspecto: Ruby Best Practices y Eloquent Ruby

Resumiendo, creo que para disfrutar con ruby, es necesaria una cierta actitud hacker.

Matt Mullenweg: State of the Word 2011

Una interesante charla de Matt Mullenweg sobre WordPress, su historia, su ecosistema y su futuro. Aunque no habla de la parte técnica, cuenta muchas cosas interesantes sobre la gente
que usa wordpress, como por ejemplo cuanto cobra por hora la gente que se gana la vida con wp, que es lo que mas le gusta a la gente (facilidad de uso), lo que menos (plugins suck), o que usos le dan (blog, cms, etc…)

ack y emacs.

Emacs es un gran sistema operativo al que le falta un buen editor.
Anónimo.

Llevaba tiempo echando de menos en emacs algo que la mayoria de los grandes y pesados IDES tiene: busqueda integrada. Que cuando busques por un termino, te muestre los resultados y estos sean linkables y te lleven al fichero y la linea donde esta lo que buscas.

Continue reading

Trainido

Ahora que ya es público, por fin puedo hablar del proyecto en el que he estado trabajando estos últimos meses :):

Se trata de un entrenador personal on-line, pero real. Cuando te registras en la aplicación, y te suscribes tienes un entrenador de carne y hueso, que te hará un entrenamiento a tu medida según tus objetivos. Según tus resultados, te irá adaptando el entrenamiento. En mi caso, que tengo al lado un gimnasio municipal, muy barato pero sin entrenadores ni nada parecido me parece una gran solución.

Al principio, cuando empezamos con el proyecto, una de las cosas que mas me costaba era meterme en un mundo que no conocía de nada, (lo que se llama conocer el dominio de la aplicación), me he aprendido nombres de músculos de los que no había oido hablar en mi vida, he confundido los abductores con los adductores, y he visto como se prepara un entrenamiento.

A nivel técnico, hemos usado rails 3, devise, rspec2 y steak (cada vez me gusta mas) con mysql y redis. Me ha gustado mucho usar redis para guardar todos los parametros de un entrenamiento (series, peso, pausas, etc), aunque podria haberlo hecho con mysql, me resulta mucho mas claro y sencillo poder trabajar con hashes y listas directamente.

Los formularios de registro deben morir.

En la mayoria de las aplicaciones web el primer paso es rellenar un formulario de registro. Luke Wroblewski, el autor de web form design: Filling in the blanks, nos habla de tres alternativas al registro habitual:

  • Servicios web (login a traves de facebook, por ejemplo)
  • Herramientas de comunicación: (como el email en caso de posteuros, donde puedes crear y gestionar tu propio blog mediante tu cliente de email y sin registro)
  • Gradual engagement (lo traduciria por algo asi como implicación gradual, o relación gradual)

El pdf y el video de la charla, mas que recomentable:  Sign Up Form Must Die!

(originalmente escrito en el blog de GotFeeling?)

La documentación no tiene por que ser aburrida

a ØMQ socket is what you get when you take a normal TCP socket, inject it with a mix of radioactive isotopes stolen from a secret Soviet atomic research project, bombard it with 1950-era cosmic rays, and put it into the hands of a drug-addled comic book author with a badly-disguised fetish for bulging muscles clad in spandex.

De la documentación de zeromq, el sistema de mensajes que usa mongrel2

John Underkoffler: El futuro de la interfaz de usuario

John Underkoffler fue el consejero cientifico de Minority Report, y es el creador de g-speak, la implementación real de la impresionante interfaz de la película. En el primer video se puede ver g-speak en plan demo, en el segundo John cuenta en TED como funciona esta tecnologia y como espera que esté disponible en todos los ordenadores en unos cinco años.

We build castles in the air, from air…

Una de las citas que mas me gustan para explicar como funciona el desarrollo de software de Frederick Brooks:

“The programmer, like the poet, works only slightly removed from pure thought-stuff.

“He builds castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.

“Yet the program construct, unlike the poet’s words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms.

“The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be. …

“The computer resembles the magic of legend in this respect, too. If one character, one pause, of the incantation is not strictly in proper form, the magic doesn’t work. Human beings are not accustomed to being perfect, an few areas of human activity demand it.

“Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.”

From The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition

the way you think

A language that doesn’t affect the way you think about programming is not worth knowing — Alan Perlis

Balsamiq Mockups

Una de las partes mas complejas de desarrollar una aplicación es la comunicación entre las distintas personas involucradas. Es fácil que se creen malentendidos, que en ocasiones pueden generar mucha frustración, y una gran perdida de tiempo malgastando esfuerzos en la dirección equivocada. Creo que siempre ayuda mucho más hacer bocetos o cualquier otro tipo de gráfico para representar lo que se quiere, que una lista de cosas que se pueden entender de muchas formas.

Illusion of agreement

Illusion of agreement

Y una aplicación que me encanta, para poder hacer muy rápidamente bocetos de las pantallas de tu aplicación, es Balsamiq Mockups. A pesar de estar hecha en AIR (el aspecto de estas aplicaciones no me suele gustar) es muy bonita, y realmente sencilla. Una prueba definitiva de lo sencilla que es es que se puede empezar a usar sin tener que usar la documentación. Solo tuve que consultarla para ver como enlazar dos mocks entre si, que aun así es muy fácil. Es mucho más rápido (al menos para mi) hacer bocetos de las pantallas con Balsamiq Mockups que dibujarlos a mano. Además tiene un modo presentación a pantalla completa.

Pero lo que realmente triunfaría sería poder editar y compartir mockups de forma remota, no se si mediante una interfaz web o algo parecido. Eso es lo que mas echo de menos para poder trabajar de forma colaborativa a distancia.  No me gusta que sea software privativo, pero no conozco otra alternativa libre. Y aunque la licencia vale unos 79$, si escribes una revisión en tu blog te dan una licencia gratis 😀

Aqui podeis ver un pantallazo sobre un mockup de la aplicación en la que estoy trabajando ahora:

facturagem_mockups

Olderposts

Copyright © 2017 (in)visibles

Theme by Anders NorenUp ↑