javisantana.com

Getting real

Soy un brasa con el tema, pero es que cada día que pasa y desarrollo un poco más me doy cuenta de lo importante que es saber tener los pies en la tierra en lo que a software se refiere. Cada día que pasa me asombro más de lo real que es el libro de 37signals. Como han podido juntar tantas verdades en un mismo libro.

Y todo esto porque en el blog de @monicats (que recomiendo que sigas si estás aprendiendo inglés) he encontrado una entrada que define perfectamente la filosofía getting real.

No te quiero "google app engine"

Y no es que no me guste por que me quite todo el trabajo de mantener un servidor en producción, gestionar la base de datos, escalar adecuadamente según lo necesite, tener esos deploys tan extraordinariamente fáciles y rápidos (esto me enamoró)… es simplemente por la política de descarga de MIS datos.

Según google los datos almacenados en su bigtable son del usuario y puede hacer con ellos lo que te de la real gana. Es cierto, los datos se pueden borrar y subir con toda la facilidad del mundo, sin embargo la descarga no es trivial y digamos que no la “facilitan suficientemente”. Hace ya tiempo que plantearon una cuestión en las listas de correo para obtener requisitos para la herramienta de descarga, de esto hace ya 9 meses y nada, hay herramientas para subir datos, pero para sacar de allí, nada de nada.

Y ojo a la frase del post del blog oficial de app engine:
“””
With Google App Engine, you own all the data in your app. As stated in our terms, you always have the right to get your data out of Google App Engine at any point. We wouldn’t have it any other way.
“””

Y es que me da pena, porque puedes usar parte del API de django - el framework de moda al estilo ruby on rails para python-, incluso me darían igual las limitaciones que imponen en su sistema de base de datos, son prereribles esas limitaciones al infierno que suponen normalmente los deploys y mantenimiento de la infraestructura. Además, las limitaciones casi siempre son mejores que tener vía libre (esto es tema para otro post).

Llevo con una aplicación que corre en google app engine ya unos meses, lo cierto es que ha funcionado muy bien y gracias a ella he podido dar soporte a mis clientes, pero me niego a no poder coger los datos de una forma fácil. Tan difícil es que lo hagan de pago y den un servicio completo de calidad? yo lo pagaría.

Comienzo un nuevo proyecto

Este es un post que voy a usar fundamentalmente para aclarar mis ideas :)

Llevo ya más de 3 años con nuestro sistema de guiado gps para la agricultura y hasta el día de hoy estoy contento, sin embargo hay veces que tienes que saber reciclarte para no perder la motivación (kudos a JM por la frase).

Me lleva rondando la cabeza un proyecto derivado de agroguía ya unos meses, empezó con poca fuerza, pero a medida que he ido probando cosas estoy cada día más convencido de que es posible, en un plazo corto y que es rentable. Una de las cosas más importantes de agroguía es que ha permitido ir metiendo pequeñas cuñas de i+d mientras seguimos vendiendo, algunas veces ha sido arriesgado - unos arriesgan su dinero, otros su tiempo, cada uno lo que tiene- pero ha salido casi siempre bien.

Ahora está muy de moda los planes de negocio, los inversores, bussines angels, etc que me pilla bastante lejos. Filosofía “getting real”, el plan de negocio es desarrollar el producto y ver que tal funciona :).

Además planteo esto como algo más serio, voy a trabajar fuerte para tener un prototipo en dos semanas y empezar a probarlo en real de aquí a un mes, podría incluso abrir un blog e ir comentando la jugada día a día. Además, sé de buena fe que tengo personas con las que puedo contar para mover esto si sale adelante.

Manos a la obra, voy a poner sobre papel trac un esbozo de las tareas.

Aumentar la productividad en Linux con awesome windows manager

Por casualidad encontré awesome windows manager, un gestor de ventanas para linux un poco diferente a lo habitual. Ahora nos quedamos de un aire cuando vemos las ventanas gelatinosas, los fades, las sobras y todos los demás efectos del gestor de ventanas que trae ubuntu. Sin embargo, cuando trabajas en vez de jugar con las ventanas todoso esos efectos, salvo quizás la transparencia, lo único que hacen son molestar y no mejoran la velocidad.

Qué es este invento, en pocas palabras se puede decir que es el típico sistema de múltiples escritorios de toda la vida, pero con tileado de ventanas. En cada escritorio hay una ventana principal y las demás son secundarias, de forma que la ventana principal siempre tiene un área mayor y las demás las coloca tileadas. Direis, ok, pero es que yo también hago eso con el gestor normal. Es verdad, pero es que este lo hace automático y todo se controla con combinaciones de la tecla de windows y otras teclas. Por ejemplo Win + [0-9] te combia de escritorio, WIN + espacio te modifica el tiling de las ventanas, WIN + click en una ventana la hace la principal.

Después de un par de semanas usándolo ahora lo echo de menos en windows, es muy práctico cuando tienes que usar muchas consolas, tienes máquinas virtuales, tienes un web servidor corriendo y necesitas ver la respuesta en consola a la vez que haces la petición en el navegador…

Se puede personalizar con Lua (si fuera python sería perfecto), aunque aún no me he metido en faena. Es fácil de instalar, no sé cuanto de difícil será eliminarlo y volver al anterior, aunque seguro que lo pruebas te quedas con él.

Afila tu hacha

Procedural city WIP

Estoy preparando un pequeño juego, un shooter con estilo kenta choo en blanco y negro, y pensando en los fondos que van a aparecer detrás de la escena principal se me ocurrió que fuese una ciudad.

Para crear la ciudad traté de usar el mecanismo que uso la demo insignia del toolkit processing, y que creo que también usan los de introversion en el nuevo juego que están preparando a la vista de los videos que van publicando en su blog (id buscando los post titulados “it’s all in your head”), aunque finalmente no era demasiado compacto y opté por usar una textura celular (muy buen tutorial de @blackpawn por cierto) que da buenos resultados con poco código (últimamente me obsesiona el menos es más).

Generando la textura, usándola como mapa de alturas y haciéndola pasa por unos steps y unos rands se puede generar lo que veis en el video. Encima de cada edificio he puesto unos “doodads”, un plagio del interesantísimo plugin de blender, que da un toque a la imagen. Eso sí, todo con cubos.

Luego he añadido unas entidades que hacen lo que les sale del cuerpo, tengo que depurarlas para que de la sensación de que van por las calles.

procedural city from javisantana on Vimeo.