(in)visibles

Category: apuntes

Eli Pariser: Cuidado Con La ‘Burbuja De Filtros’ en La Red

Me ha encantado esta charla, sobre los peligros de las “burbujas informativas” de sitios como Facebook o Google. Según Zuckerberg:

A squirrel dying in front of your house may be more relevant
to your interests right now than people dying in Africa.

El problema es cuando dejas de ver cosas sobre Africa.

Via @amaliac

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…)

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

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

Enviar emails desde rails a través de gmail

Pensaba que rails soportaba el envio de emails con tls de serie, pero no es asi. Para poder enviar emails a través de gmail, es necesario usar tls, pero es muy sencillo de añadir mediante un plugin:

Y ya solo queda añadir el parametro en la configuración de ActionMailer para que use tls:

Después de haber hecho durante años las validaciones de email mediante mas o menos complicadas regex, he descubierto que la libreria Tmail tiene una clase Address, que te parsea la dirección de email y te lanza una excepcion si no es correcta. Asi, por ejemplo para validar un email podemos hacer:

dreaming in code

Dreaming in code

Dreaming in code es la historia de un proyecto de software, con gente muy brillante, ideas muy buenas e innovadoras, pero que fracasa estrepitosamente. Como dice el subtitulo del libro:

Two Dozen programmers, three years, 4,732 bugs, and one quest for trascendant software.

Lo mejor del libro es como explica la dificultad de desarrollar software. El autor, Scott Rosenberg es un periodista con experiencia como programador, cuenta de una manera muy divulgativa y muy clara por que que cuesta tanto hacer software que funcione bien, entregarlo a tiempo, y que sea fácil de usar. En este caso cuenta la historia del desarrollo de Chandler, una agenda para gestionar calendarios, tareas y notas de una forma muy eficaz. Te hace pensar que para gestionar tareas no tenemos ninguna herramienta que sea efectiva y productiva.

La fuente de ideas y de dinero para el proyecto,  Mitchell Kapor,  es uno de los creadores de lotus 1.2.3 tenia mucho dinero (que habia ganado con Lotus) y decidió crear chandler retomando muchas de las ideas originales de Agenda, un programa para msdos que no llego a triunfar por su curva de aprendizaje.

El desarrollo de chandler empieza en el 2001,  pero pronto empiezan a tener problemas, el proyecto se vuelve demasiado ambicioso, y los miembros del equipo pasan mucho tiempo desarrollando partes de forma aislada y no pueden enseñar o ver nada. Por ejemplo, como en aquella epoca estaba muy de moda el p2p, decidieron crear un nuevo sistema de ficheros que fuese descentralizado. Y el proyecto se empieza a convertir en un sumidero de horas de trabajo y dinero.

Finalmente, aunque tardaron varios años mas de lo previsto en tener algo que se pudiera enseñar y Kapor abandonó el proyecto, lograron sacar Chandler, aunque con bastantes modificaciones respecto a la idea original. Ya no seria una aplicación p2p, si no que tendria un servidor (en java) y un cliente (python). Chandler ahora mismo tiene muy buena pinta, y es bastante usable aunque algo pesado, pero tiene muchas ideas que podrian influir mucho en cualquier gestor de tareas / agenda nuevo.

Muy recomendable, y no solo para gente técnica.

git y subversión

Para empezar a coger práctica con git, aunque uso subversion para los proyectos con los que trabajo, he empezado a usar git-svn, asi en local trabajas con un repositorio git, y luego lo sincronizas con el repositorio subversión. La forma de trabajo seria mas o menos así:

git svn clone --username your-name
https://theworlddominationproject.com/svn

# Creamos una nueva branch
# en la que trabajamos y hacemos commits.

git checkout -b work

# Luego cuando queremos subirlo todo al subversion:
git checkout master
git svn fetch
git rebase master work
git checkout master
git merge work
git svn dcommit

Una de las ventajas que tiene trabajar asi, (aunque uses subversion) es que si estas haciendo bastantes cambios, puedes hacerlos en una branch en local, y si tienes que arrglar un pequeño bug, es muy rapido en local cambiarte a otro branch, arreglar el bug, subirlo y volverte a cambiar al branch en el que estabas trabajando.

excel desde ruby

Hace poco tuve que hacer algunas pruebas para ver como leer documentos excel desde ruby, y descubrí que gracias a la gema spreadsheet es realmente fácil.
require 'spreadsheet'
book = Spreadsheet.open '/path/to/an/fichero.xls'

# Para acceder a las páginas:
book.worksheets

# Para acceder a una página en concreto
sheet1 = book.worksheet 0
sheet2 = book.worksheet 'Sheet1'

sheet1.each do |row|
# hacemos algo con cada fila.
end

# También podemos acceder directamente a una fila
row = sheet1.row(3)

# Y para acceder a un elemento de una fila:
row[0]

Aunque no he probado a escribir en un excel, parece también muy sencillo.

Copyright © 2017 (in)visibles

Theme by Anders NorenUp ↑