miércoles, enero 21, 2009

Probando Google App Engine

He colgado una aplicación superchorra en gae: myclimbinglog.

Me gustaría que evolucionara a algo mas... pero de momento para probar gae, me ha servido...
Pero he hecho uso muy básico. Tengo que profundizar en bastantes cosas.

Direcciones de interés:

De las últimas cosillas que he subido y metido ha sido el fichero favicon [utilidad] y el robots.txt.
Una vez que tienes la aplicación corriendo en local (con el SDK), para gestinar las actualizaciones, y alguna cosilla mas, se dispone del script appcfg.py.

Alguna cosilla mas que reseñar:
  • Me he encontrao un problema con el último despliegue, y es que he tenido que copiar el index.html de static/html a /. Cuando con el SDK me funcionaba sin problemas.
  • Los timestamps de los logs no están en la hora local. Es decir que hay un desfase de tiempo...
  • Y poco mas que contar... Me ha gustado la experiencia.
Para acabar algún link mas, de recursos necesarios:

martes, enero 20, 2009

viernes, enero 16, 2009

Recibir archivo, y devolver archivo procesado con GAE

Para probar Google App Engine, he hecho una aplicación bastante chorra: myclimbinglog.
El código está en google code.

Si, ya se que el diseño de la página es supercutre, pero ahora me interesaba probar la funcionalidad....
Como no desarrollador web que soy, la mayor duda era como enviar el archivo a procesar y el resultado.

Para enviarlo es muy sencillo:

.../...
form action="/process" enctype="multipart/form-data" method="post"
.../...
input name="file" type="file"
.../...


Para devolver el resultado...

En primer lugar indicar que el framework que se usa es webapp y se instala en (google_appengine/google/appengine/ext/webapp).
En el RequestHandle, vamos a tener un atributo de tipo Response.
Pues bien, la respuesta va a tener un atributo headers que es un diccionario. En él tendremos por defecto el siguiente valor:


self.headers['Content-Type'] = 'text/html; charset=utf-8'


Si no hacemso nada mas, podemos devolver el contenido procesado como html, tal que:


self.response.out.write(cgi.escape(bufferSalida))


Pero si queremos devolver el contenido con los correctos mimetypes (y que el browser los trae como tenga configurado, debemos hacer alto tal que):


self.response.headers['Content-Type'] = '%s; charset=utf-8' % str(tipo)
self.response.out.write(bufferSalida)


Donde tipo, será un mimetype ( 'text/xml', 'text/plain', 'text/csv', ...)

jueves, enero 15, 2009

Como no te puede convencer Scrum...

Desde no hace mucho sigo a Rodrigo Corral. Es un blog interesante a seguir si os interesa el scrum. Tiene bastantes post interesantes, como sobre estimación y gestión de proyectos.

A raiz de su último post sobre scrum, releí uno anterior, que recomiendo; por lo convincente que es para convencerte de una gran ventaja de usar scrum respecto a otras metodologías, la posibilidad de REALMENTE poder mostrar el avance de un proyecto.

miércoles, enero 14, 2009

Sobre web design - maximizando legilibilidad

En su último post, IB hace referencia a un par de páginas donde se dan unas claves para mejora la legibilidad de un site. Es decir... de un site, donde quieres primar la legibilidad del texto sobre el diseño mismo...

IB, sigue estas directrices, menos la de la anchura del texto. Pero lo argumenta. Las directrices serían:


  • 50% de la anchura
  • uns 15 palabras por linea
  • 100% font size (vamos... el tamaño por defecto)
  • aumentar la altura de la linea en un 140%
  • que haya contraste
Los articulos a los que hace referencia o relacionados:
Y hasta aquí sobre el tema de la legibilidad....



Sobre el tema de la topografía he repasado un par de temas que siempre se me olvidan: serif y sans-serif.
Como no podía dudar en la wikipedia en inglés hay un listado de los typefaces.

En imprenta serif se usa típicamente para el 'body' y sans-serif para los 'headlines'. La justificación es que serif, es mas legible.
En la escritura a mano, no se suele usar serif.
En pantallas, sans-serif es mas legible y da un look mas casual.



Unos enlaces sobre propiedades que dan legibilidad al texto:



Y para acabar una curiosidad... El hosting que usa Wilson Miner es WebFaction. Soportan django. Interesante!

jueves, enero 01, 2009

Primer post del año...

Publica JEllis sobre CouchDB. En el mismo artículo menciona los siguientes productos: