tag:blogger.com,1999:blog-56445922009-07-07T12:19:37.724+02:00javier santana - blogblog de javier santanajavi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.comBlogger477125tag:blogger.com,1999:blog-5644592.post-71460381275013515272009-07-06T17:26:00.003+02:002009-07-06T17:46:10.143+02:00¿Sabe tu madre lo que haces en tu trabajo?Seguro que os habeis encontrado en la situación: una persona sin conocimientos técnicos, o muy básicos, os hace una pregunta, pongamos "qué significa el número ese, 8080, que hay detrás de esta dirección de esta web". Puedes ponerte a explicarle la pila de protocolos desde la capa física hasta http, tú lo sabes, sabes porque los desarrolladores usan a veces otros puertos, te sabes la teoría, cuando ves eso rápidamente viene a tu cabeza cosas como iptables, proxy_pass, accept, netcat, tomcat...<br /><br />O la pregunta que nunca sabré responder: "hijo, qué haces en tu trabajo?", esa pregunta bien intencionada de las madres, donde ves que están poniendo todo el interés, lo hacen porque te quieren y no las puedes fallar. Pero lo siento amigo, vas a fallar, o dicho de otra forma, en tu cabeza sonará un <span style="font-weight:bold;">EPIC FAIL</span>! (y a continuación lo twitearás y 4 ó 5 ciber-amigotes se descojonarán)<br /><br />Y ahora vamos a algo más serio, porque que tu madre sepa o no que eres un fan de java es poco relevante, <span style="font-weight:bold;">pero que trates de explicarle algo a alguien, incluso si es técnico, y no te entienda me parece cuanto menos grave</span>. Yo lo reconozco, me explico mal, hablo demasiado rápido y encima meto términos muy técnicos que la persona que escucha no tiene porque saber. Lo peor es que me doy cuenta y que la mayoría de personas que he tenido a mi alrededor con mi perfil padecían del mismo problema.<br /><br />De quién es el <span style="font-weight:bold;">problema</span>, de <span style="font-weight:bold;">nuestros compañeros de trabajo que no se esfuerzan</span> o <span style="font-weight:bold;">nuestra por no saber esquivar los terminos técnicos o condensar la información de forma clara</span>? Siempre he pensado que el peso de la primera era mayor, pero a medida que pasa el tiempo y veo diferentes perspectivas, sobretodo de personas técnicas de lo que podríamos decir avanzada edad, me doy cuenta que es posible que al final simplificar es lo mejor para explicarle las cosas a tu compañero y lo mejor, para ti mismo.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-7146038127501351527?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com4tag:blogger.com,1999:blog-5644592.post-51098850116878619152009-07-01T19:06:00.003+02:002009-07-01T19:47:08.152+02:00Agroguia AR gana los premios 3MHace ya más de un año se me ocurrió, un sábado de mañana, que porque no mezclar un GPS con una webcam para mostrar información al agricultor sobre la imagen real en vez de solo representar en 2D los datos del GPS como venía haciendo en nuestro sistema de <a href="http://www.agroguia.es/blog/wordpress/gps-agricola/">guiado agrícola</a>.<br /><br />De esa mañana surgió un <a href="http://blep.blogspot.com/2008/05/intento-de-augmented-reality.html">prototipo</a> hecho con python. Se lo enseñé a Jaime Gómez, mi tutor de proyecto y le gustó, entonces planteó la posibilidad de hacerlo un poco más en condiciones, así que hace 3 meses decidimos usar una webcam mejor, un GPS más rápido y grabar unos videos en un tractor tratando de verdad una tierra.<br /><br />Así, junto a Pablo, un chaval al que llevo el proyecto fin de carrera a medias con Jaime, preparamos la documentación, grabamos el video y lo enviamos a los <a href="http://www.fundacion3m.com/premios_bases.html">premios 3M</a>. Ayer la organización nos dijo que lo hemos ganado en la categoría de industria. :)<br /><br />Me llamaron de RNE para hacerme una entrevista (que no sé cuando emitirán, se me olvidó preguntar) y hay una <a href="http://www.nortecastilla.es/20090701/palencia/universidad-recibe-premio-innovacion-20090701.html">reseña en el norte de castilla.</a><br /><br />Son 6000€ (a pachas con hacienda, como no), pero lo más importante para mi es ver como una idea de una mañana puede llamar la atención y convertirse en algo real con "poco trabajo".<br /><br />Dejo una imagen de la aplicación:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XzuP3e63Ok8/Skug078E7cI/AAAAAAAABxs/ggJA3_5479E/s1600-h/ag_r.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 241px;" src="http://1.bp.blogspot.com/_XzuP3e63Ok8/Skug078E7cI/AAAAAAAABxs/ggJA3_5479E/s320/ag_r.jpg" alt="" id="BLOGGER_PHOTO_ID_5353549413363281346" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-5109885011687861915?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com11tag:blogger.com,1999:blog-5644592.post-89028475308381856182009-06-27T20:53:00.004+02:002009-06-27T21:18:13.087+02:00y mañana ya es viernesNo hay otra cosa en lo que los españoles no seamos más optimistas que en los hitos del fin de semana. Siempre están ahí, siempre hay una excusa para ser positivo, todos aportan para llegar bien al maldito viernes a las 15:00 (en el mejor de los casos).<br /><br />Y es que ODIO, pero mucho, cuando un compañero de trabajo dice: "bueno, mañana ya es viernes", o "miercoles, en dos días fin de semana" o para remate "ya se termina el lunes en 3 días y un poco viernes", pero vamos más allá, marcamos milestones más cercanos, dentro del día: "en dos horas nos vamos", "ya solo quedan 30 minutos", "me tomo un café, leo el periódico y ya son las 11". Me pregunto que pasaría si la gente se marcara milestones tan cercanos y tan claros en su trabajo, quizás <a href="http://es.wikipedia.org/wiki/Scrum">scrum</a> naciera así :).<br /><br />Entonces me pregunto yo, si para tí un 80% de la semana es sufrimiento, por qué cojones no dejas el trabajo y te buscas algo que te llene más? He tenido la suerte de estar en empresas en la gente tenía interés por su trabajo <span style="font-weight: bold;">pero más suerte es haber estado en las que no lo tenían, porque así uno valora aún más hacer lo que le gusta y poder decir, por mucho que te pongan de gilipollas para arriba, "me gusta mi trabajo, cada día</span>".<br /><br />Está claro que el tiempo libre es lo mejor, pero igual que cuesta coger el coche para irte a la ciudad de al lado a cenar en tu tiempo libre, también cuesta esfuerzo tratar que cada día sea interesante en tu trabajo.<br /><br />Por favor, si lees esto, acuerdate antes de decir delante de un compañero, pero sobretodo, de ti mismo "ya falta menos para el viernes" que quizás ese no sea el camino y que posiblemente estés creando un "mal ambiente" que al final irá contra ti.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-8902847530838185618?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com1tag:blogger.com,1999:blog-5644592.post-4737852725046422442009-06-16T18:36:00.003+02:002009-06-16T19:00:50.323+02:00Tecnología vs personasA menudo me doy cuenta que algo es claramente mejor que otra cosa (tecnológicamente hablando), puede que en ciertos casos haya duda, pero hay casos en los que no hay lugar a duda, todos los argumentos se decantan a favor de cierta tecnología, pongo un ejemplo.<br /><br />Imaginemos que tenemos código que vamos a mantener y tenemos que tomar una decisión: mantenerlo en carpetas y parches o tener un sistema como subversion/git/mercurial/etc. No hay duda (<a href="http://www.youtube.com/watch?v=4XpnKHJAok8">aunque linus tolvalds prefiere tener tar.gz antes que subversion</a>), es obvio que tener un sistema de control de versiones es, de largo, una mejor solución.<br /><br />Sin embargo qué pasa si el código está en una empresa con 50 programadores que nunca lo han usado y están acostumbrados a su sistema de tar.gz? La inercia de la gente es muy posible que pueda a todos los argumentos a favor de una tecnología mejor.<br /><br />En <a href="http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X#reader">The pargmatic programmer</a> (capítulo 3, punto 17) ponen este caso como ejemplo y dicen (versión libre) "si estás en un lugar donde no usan control de versiones, no trates de hacer que los demás empiecen a usarlo, comienza usándolo y que los demás vean las bondades del sistema".<br /><br />Igual que con el control de versiones hay miles de casos, lenguajes de programación, librerías, sistemas de gestión, correo electrónico... no basta con saber de tecnología hay que saber presentarla bien.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-473785272504642244?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com4tag:blogger.com,1999:blog-5644592.post-44247787364681235802009-06-04T23:10:00.003+02:002009-06-06T20:37:17.007+02:00webs de alquileresEsta semana he estado buscando vivienda en Pamplona y creo que no ha podido ser más traumático. Mi primer epic fail fue pensar que con internet lo tenía todo hecho, así que buscamos solo cosas por internet y después de una semana puedo asegurar que a las webs de alquiler les queda muchísimo por andar.<br /><br />Aposté por los sitios web porque pensé que me podían dar mucha información (fotos, videos), comentarios de propietarios e inquilinos, situación exacta de la vivienda, casas parecidas, comparativas de precios por sector, etc, etc, pero cual ha sido mi sorpresa y todo han sido <span style="font-weight: bold;">fallos, errores y problemas</span>, enumero:<br />- primera cagada: las webs de alquileres están copadas por inmobiliarias. A ver, se supone que se trata de evitar un intermediario y lo que hacen es dejar meter por medio a sus competidores.<br />- Dejar poner viviendas con poca información, sin fotos, etc.<br />- No permitir interacción entre usuario/propietario de forma directa. Algunas tienen sitios de contacto, pero no es nada directo, mucho más lógico un pequeño hilo donde la gente les pregunte.<br />- No dar información de cuando se dio de alta el anuncio, última actulización, evolución de precio y comparativa con otros de su sector.<br />- No tener un sistema de puntos para valorar al inquilino y al propietario, de esta forma sería posible sabrer si el propietario es un payaso o el inquilino un jeta. Este punto es bastante delicado, pero si funciona en ebay...<br /><br />La que más se acerca es <a href="http://idealista.com/">idealista</a> pero tiene, en comparación con otros sitios, menos viviendas. Me encanta la herramienta que tienen en sus "labs" para poder <a href="http://www.idealista.com/labs/propertyMap.htm">ver sobre el mapa los inmuebles</a>. Se nota que los creadores de idealista son "familiares" de 11870.<br /><br />En resumen, si una inmobiliaria cobra la mitad de una mensualidad por encontrarte casa, creo que si al usuario se le pone un precio lógico para usar la aplicación web. Por cierto, <span style="font-weight: bold;">he dicho que estoy hasta las narices de servicios gratuítos?</span> prefiero pagar y tener un buen servicio a tener un servicio mediocre.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-4424778736468123580?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com1tag:blogger.com,1999:blog-5644592.post-57613934674634423632009-05-28T17:15:00.003+02:002009-05-28T17:44:58.233+02:00cambio de trabajoMe cambio de nuevo de empresa, mañana será mi último día en algor, la subcontrata de telefónica I+D donde he estado trabajando. 6 meses (y 1 día) es el tiempo que he estado aquí, realmente poco (aunque solo un pelo por debajo de mi media en una empresa).<br /><br />Las razones de mi marcha son fundamentalmente 2:<br />- Yo no estoy hecho para estas empresas donde la productividad no es importante, donde no se aprecia al empleado y se trabaja con personas como carneros. Hay gente que le gusta esto, que aguanta o que no tiene otra salida, no es mi caso.<br />- Telefónica I+D, además de querer que me cambiase de empresa de forma unilateral, no creo que tuviese en mente mantenerme demasiado tiempo más en su plantilla de "personal ajeno". La cosa está muy negra, la forma de trabajar de estas empresas propicia que cuando se necesita aportar valor todo se desplome y telefónica I+D es la reina del lugar.<br /><br />En general no me he adaptado bien a la forma de trabajar, no comprendo muchas de las cosas que se hacen, ni la gente me entiende a mi, tampoco comprendo como la subcontratación y dispersión de los integrantes de un proyecto es algo común.<br /><br />Bueno, sea como fuere, yo me marcho de aquí con un regustillo agridulce. Por una parte ya conozco como funcionan estas empresas, he conocido a gente muy agradable, pero me doy cuenta que el futuro de parque tecnológico de boecillo no es muy largo tal como está ahora, <span style="font-weight: bold;">ha llegado el momento de las empresas que aportan valor y son competitivas, y esas no están en boecillo</span> (*).<br /><br />Mi siguiente destino es <span style="font-weight: bold;">Pamplona</span>, me voy a una empresa que vende lo que hace, que gana dinero con ello y que compite. Espero aprender mucho y poder aportar lo que no he podido aportar aquí (seguramente la única espina que me queda clavada). Por lo menos me voy con el consuelo que ahora<a href="http://twitter.com/lalangosta"> @lalangosta</a> sabe que es trac, <a href="http://twitter.com/Chiralilla">@Chiralilla</a> conoce mercurial y <a href="http://twitter.com/djgago">@djgago</a> sabe que los buenos sitios webs se hacen con python :)<br /><br /><br />(*) Seguramente habrá empresas que funcionen bien en boecillo, disculpas por adelantado, no he llegado a conocer ninguna.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-5761393467463442363?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com10tag:blogger.com,1999:blog-5644592.post-61234721436846142922009-05-25T20:58:00.003+02:002009-05-25T21:09:00.380+02:00Nuevo microblog: retales de códigoMe fascina ver como hay gente que es capaz de sacar el máximo partido a unas cuantas líneas de código. Por eso he creado un microblog alojado en <a href="http://tumblr.com/">tumblr</a> que me parece un servicio la mar de adecuando para estas cosas sobre pequeños trozos de código que hacen grandes cosas. Además los <a href="http://www.tumblr.com/about">creadores </a>tienen pinta de ser gente guay (usan mac, monitores gordotes, oficinas supermolonguis) :p. Por cierto, que interesante es ver como son las oficinas y como trabajan otros desarrolladores, pero eso es para otro post.<br /><br />Otros microblogs que sigo, relativos a programación son, <a href="http://loc.linkingpaths.com/">lines of code de LinkingPaths</a> y <a href="http://commandliners.com/">commandliners </a>mantenido, entre otros, por <a href="http://twitter.com/rafacas">@rafacas</a>.<br /><br />Bueno, aquí os lo dejo: <a href="http://smallpiecesofcode.tumblr.com/">small pieces of code</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-6123472143684614292?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com0tag:blogger.com,1999:blog-5644592.post-61919938726008362792009-05-24T22:26:00.003+02:002009-05-24T23:00:43.789+02:00Manual práctico para coger rotondasCreo firmemente que la gente no sabe usar las rotondas adecuadamente y para ello voy a dar una serie de consejos, que nadie leerá, pero que quizás alguien encuentre en google y evite algún que otro accidente.<br /><br />Primera y única norma: <span style="font-weight: bold;">Una rotonda es exactamente lo mismo que una carretera, pero en curva</span><br /><br />Esto es:<br />- Si estás en el carril interior y quieres coger una salida tienes primero que pasar al exterior y luego salir. Imaginemos que vamos por una autovía en el carril izquierdo, a nadie se le ocurriría salir desde ahí a la salida de golpe y obviamente el que circula por la derecha no se tiene ni que salir obligatoriamente, ni cederte el paso.<br />- Nadie te obliga a circular por ningún carril en concreto, sea cual sea la salida que vas a tomar<br />- Para permanecer en la rotonda no hay que dar ningún intermitente siempre que no hagas cambios de carril, de la misma forma que si mantienes el carril en la autovía no tienes que dar el intermitente.<br />- Si vas por el carril interior, alguien entra en la rotonda al carril exterior y le das, la culpa es tuya de la misma forma que si vas por la autovía por el carril izquierdo y le endiñas al que está en el carril derecho porque haces un cambio inadecuado de carril.<br /><br />Y ahora unas normas de civismo:<br />- Si puedes facilitar la incorporación o salida de alguien, hazlo<br />- Si estás por el carril interior, necesitas salir y no puedes... da una vuelta más y no prepares la pirula, van a ser 10 segundos más<br />- Es posible que si vas a salir por la tercera o incluso segunda salida puedas ocupar el carril interior para usar los carriles y maximizar el tráfico de la rotonda.<br /><br />Y por último normas para gente que viva en Salamanca (o en pueblos en los que no sepan conducir):<br />- Usa SIEMPRE el carril de dentro, los paquetes nunca lo usan y depende casi exclusivamente de ti el que te des la ostia<br />- Si dan el intermitente a la izquierda, tranquilo, en el 99% de los casos no se trata de un cambio de carril, quieren indicar que permanecen en la rotonda.<br />- Si sales al carril exterior y viene un paquete por el interior, sin intermitente indicando que se cambia al exterior, NO SALGAS, porque el paquete te pitará porque él precisamente quería salir por la siguiente.<br />- Si ves a un seat león, coche con letras chinas, lunas tintadas (alias follo en el coche porque no tengo casa), llantas brillantes, coches de color naranja o amarillo, con prominentes alerones o con varios tubos de escape en una rotonda, no te acerques, porque seguramente no sea capaz de dar la rotonda y accionar el intermitente a la vez.<br />- Si usas el carril izquierdo para adelantar, te pitarán porque no entienden que si respetas los límites de velocidad estás en tu derecho de quitarte a un paquete de encima.<br /><br />** Este post está dedicado especialmente a la gente de Salamanca<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-6191993872600836279?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com6tag:blogger.com,1999:blog-5644592.post-32740330567781766372009-05-22T11:42:00.004+02:002009-05-22T12:11:17.317+02:00hg-wikiHace un tiempo he empezado a usar <a href="http://en.wikipedia.org/wiki/Mercurial_%28software%29">mercurial</a> para mis proyectos personales. Mercurial es un sistema de control de versiones, al igual que subversion, pero distribuído, esto es, no necesitamos un servidor central donde subir nuestro código. Esto tiene muchas ventajas, no me voy a poner a enumerarlas, para ello podeis ir a la respectiva<a href="http://en.wikipedia.org/wiki/Distributed_revision_control"> página en la wikipedia</a>.<br /><br />No hace mucho mercurial se ha <a href="http://mail.python.org/pipermail/python-dev/2009-March/087931.html">empezado a usar</a> en el desarrollo de python y <a href="http://google-code-updates.blogspot.com/2009/04/mercurial-support-for-project-hosting.html">google code</a> ha dado soporte para este lenguaje, lo cual me dice que pronto empezaremos a ver más y más proyectos usándolo. Veremos si hay guerra git-mercurial (git es otro sistema de control de versiones usado en el desarrollo del kernel de linux, entre otros), viven en paz o alguno de ellos muere. Git ha tomado mucha fuerza, sobretodo por el empuje en el desarrollo web y gracias a webs como <a href="https://github.com/">gihub</a>, pero eso es tema para otro post.<br /><br />Es muy habitual que junto al código de tu proyecto tengas otras cosas igualmente importantes como scripts de compilación, deploys, documentación, notas, etc, que normalmente están también bajo control de versiones. Además, se suele tener un sistema de tracking de proyectos acompañado (o integrado) un wiki -<a href="http://erasmusv.wordpress.com/2007/06/14/el-uno-por-el-otro-la-casa-sin-barrer/">que siempre termina manga por hombro</a>-.<br /><br />Pensé que estaría bien tener un wiki integrado en el repositorio, al igual que con el comando hgserve tienes un servidor web integrado que te permite ver la información de forma mucho más gráfica del repositorio, por qué no un wiki?. Haciendo una búsqueda no he encontrado nada para mercurial, <a href="http://github.com/sr/git-wiki/tree/master">sí para git</a>.<br /><br />Como hace pocos días me encontré <a href="http://github.com/breily/juno/tree/master">juno</a>, un mini-framework web muy coqueto y me puse manos a la obra para probarlo, así que he creado hg-wiki, una herramienta que permite tener un wiki integrado en tu repositorio mercurial. Es un wiki muy simple, pero tiene lo justo para tener la información ordenada y vistosa.<br /><br />El proyecto está alojado en bitbucket, un servicio de alojamiento de proyectos mercurial. Si quieres echarlo un ojo y probarlo: <a href="http://bitbucket.org/javisantana/hg-wiki/wiki/Home">hg-wiki</a><br /><br />Un ejemplo de como queda la cosa, primer el texto, después la imagen del resultado:<br /><br /><blockquote>= hg-wiki =<br />== introducción ==<br />//hg-wiki// es una pequeña aplicación web que implementa un wiki especialmente creado para sistemas distribuídos. Todas las páginas son almacenadas usando mercurial, de forma que se puede aprovechar todas las ventajas que aporta este sistema:<br />* permite trabajar //offline//<br />* se pueden mezclar, tagear las páginas de la wiki<br /><br />== instalación ==<br />La instalación es simple, primero hay que instalar las siguientes dependencias:<br />* [[http://www.mercurial.org/|mercurial]]<br />* [[http://www.python.org/|python]]<br />* setup-tools, necesario para poder usar easy_install, la herramienta que permite instalar librerías de forma simple, igual que apt-get.<br /><br />Lo siguiente es instalar las dependencias python:<br />* [[http://github.com/breily/juno/|juno]], un pequeño framework web, merece la pena echarle un vistazo<br />* creoleparser, permite convertir de wiki a html<br />Para instalar cualquiera de estos basta con ejecutar<br /><br />{{{<br />easy_install juno<br />}}}<br /><br />== funcionamiento ==<br /><br />Si quieres empezar rápido ejecuta<br />{{{<br />python hg-wiki.py mywiki<br />}}}<br /><br />Esto creará una carpeta llamada mywiki que no será otra cosa que un repositorio mercurial, por tanto se podrán ejecutar sobre él todos los comandos mercurial.<br /><br />== créditos ==<br /><br />autor: javi santana http://javisantana.com<br /><br />gracias a los creadores de creoleparser, juno y github, de donde he ripeado miserablemente el css :)</blockquote><br />El resultado:<br /><br /><blockquote></blockquote><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XzuP3e63Ok8/ShZ5Rag95CI/AAAAAAAABhw/1umUxaJBQJQ/s1600-h/wiki.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 281px;" src="http://3.bp.blogspot.com/_XzuP3e63Ok8/ShZ5Rag95CI/AAAAAAAABhw/1umUxaJBQJQ/s320/wiki.png" alt="" id="BLOGGER_PHOTO_ID_5338587748376634402" border="0" /></a><br />(si encontrais familiar el estilo de la web, no es casualidad, el css lo he tomado del wiki de github, mis conocimientos web no llegan a tanto)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-3274033056778176637?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com3tag:blogger.com,1999:blog-5644592.post-34060942928558341392009-05-19T20:21:00.002+02:002009-05-19T20:59:57.276+02:00La sostenibilidad y otras cosasNo, no voy a ponerme a escribir que tenemos que cuidar el medio ambiente y hacer que nuestro ciclo sea sostenible, eso ya lo sabemos gracias a los anuncios de vehículos, material informático, alimentos, etc. No digo que no sea importante, pero hoy voy a hablar a nivel empresarial.<br /><br />El otro día me comentaba una persona, en la típica conversación de bar, donde todo es sencillo, que era un pelín tonto, que debería estar moviendo nuestro pequeño negocio por todos lados, creciendo todo lo que pudiese y vendiendo lo que no está escrito. Era una persona que se dedicaba a la venta, así que es lógico que me tratara de dar unos buenos consejos.<br /><br />Sin embargo, en estos momentos en los que me recomiendan crecer y moverme pienso en uno de mis objetivos, la sostenibilidad. Sería fácil aprovechar el "boom" y tratar de vender, quizás contratar gente, tratar de buscar inversión privada y crecer como la espuma, pero no sería sostenible y habría que empezar a despedir personas, tal y como están haciendo todas las empresas que no lo pensaron durante las vacas gordas. Creo que lo explican muy muy bien la gente de <a href="http://weblog.linkingpaths.com/">LinkingPaths</a> en <a href="http://es.debugmodeon.com/articulo/debug-mode-on-podcast-n-003-linkingpaths">esta entrevista</a>. Merece escuchar la entrevista completa, la primera parte sobre su filosofía y la segunda un poco más técnica (java vs ruby sin mojarse :P, git y sus proyectos).<br /><br />Por otro lado, también le comentaba, que a mi no me interesaba ahora meterme en fregaos que no me gustan, yo estoy feliz con mi software, desarrollando cosas que tienen utilidad y haciendo lo que me da la real gana en el tiempo que me sobra (o que robo). La f<a href="http://personasnet.blogspot.com/2007/01/la-felicidad-simplemente-vista.html">ábula del pescador y el empresario </a>lo explican muy bien. Mi felicidad en este momento es hacer lo que quiera dentro de unos límites y no quiero la felicidad para dentro de unos años. Creo que no soy el único: <a href="http://deconsultoradirectorti.blogspot.com/2009/05/epilogo-what-do-you-do-for-living.html">de consultor a director de TI</a>, <a href="http://www.presionblogosferica.com/2007/12/20/el-manifiesto-proyectalis/">Ángel Medinilla</a> (punto 2) son dos buenos ejemplos.<br /><br />Ya que estamos puestos, me marcho a trabajar a Pamplona el mes que viene :)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-3406094292855834139?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com0tag:blogger.com,1999:blog-5644592.post-78940512236534187802009-05-07T20:21:00.003+02:002009-05-07T20:39:27.271+02:00Como plancha un programadorUna persona normal, que no es del gremio metalúrgico-programador, para el noble arte del planchado de la ropa no piensa más que en coger la plancha, la tabla de planchar, la ropa y liarse a planchar y doblar.<br /><br />Hoy he dicho a mi novia que planchaba yo en un intento de que no parezca que ella lo hace todo y hacerme creer por un instante que yo también participo en las labores domésticas (lo más lejos de la realidad). No tengo demasiada experiencia, así que me he planteado el problema como tantos otros:<br /><span style="font-weight: bold;"><br />Primer paso, preparación de herramientas y documentación</span><br />- preparación de tabla, la he tenido que nivelar para que no se moviese, es importante tener las herramientas a punto.<br />- enchufar plancha y comprobar los diferentes controles (temperatura y demás). He delegado (para que luego digan que los programadores no delegamos) en mi novia la tarea de llenarla con agua.<br />- He mirado en internet como doblar una camiseta de forma rápida para ahorrar tiempo. He encontrado como <a href="http://microsano.blogia.com/2006/011904-doblar-camisas-al-estilo-japones-microsano.php">doblar camisetas de forma rápida con el estilo japonés</a>.<br /><br /><span style="font-weight: bold;">Segundo paso, organizar el trabajo</span><br />- He analizado primero los riegos y he escogido lo más bloqueantes por orden de importancia: quemar una prenda y cansarme de planchar. Es fundamental no quemar una prenda, pero también lo es que me canse y deje las cosas sin planchar.<br />- Ordenar por prioridad las prendas que voy a planchar: primero he puesto una camiseta blanca sin mucho valor, por si quemo algo que no se pierda mucho. Después he ordenado la ropa dos criterios: el de "importancia que esté planchado" y por "interés necesario para plancharlo (aka dificultad)", por tanto lo primero camisas, segundo polos, tercero pantalones y después camisetas blancas (a excepción de la prueba con la primera).<br />- Planchar, pero marcando una deadline de tiempo de forma que cada prenda quedara lo mejor posible dentro de ese tiempo.<br />- Tiempo de I+D: Ya que tengo varias camisetas iguales he intentado alinearlas y plancharlas a la vez. Fracaso total, pero de eso se trata el I+D ¿no?<br /><br /><span style="font-weight: bold;">Último paso, preparación para producción</span><br />- Doblado de ropa, las camisas directamente a perchas y luego he apilado la ropa poniendo encima lo que más me interesa que se mantenga sin arrugas.<br />- Armario, esperar que la plancha se enfrie y recoger instrumental.<br /><br />Es triste, pero así es como he pensado cada uno de los pasos para planchar.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-7894051223653418780?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com6tag:blogger.com,1999:blog-5644592.post-32021233640933708462009-04-28T17:40:00.003+02:002009-04-28T17:53:16.541+02:00Opinión HTC Touch 3GHace un mes o así que tengo la HTC touch 3G. La compré con el objetivo de portar agroguía a HTC ya que he visto que muchas personas están interesadas en tener un <a href="http://www.agroguia.es">sistema de guiado gps</a> en su Smartphone.<br /><br />El móvil <span style="font-weight:bold;">es más pequeño de lo que pensaba</span>, pero sigue siendo un buen tochardo para llevar en el bolso, lo cual es un punto muy negativo, casi bloqueante dependiendo de gustos. Por suerte es "fino" y se lleva dentro del pantalón fácil. <span style="font-weight:bold;">Es lento</span> como el solo, no llega al nivel de un Nokia N80, pero lo es. Es poco usable a la hora de hacer fotos y para la mayoría de las cosas, la pantalla es bastante pequeña para navegar y el navegador opera que trae es un verdadero truñazo, el GPS es malísimo... sin embargo <span style="font-weight:bold;">tiene cosas que son una gozada</span>.<br /><br />Tiene una gestión de las llamadas buenísima, almacena TODAS las llamadas que has recibido, fechas, tiempos, contactos, puedes guardar notas sobre los contactos, sobre las llamadas, etc. Esto resulta especialmente útil cuando tienes muchos contactos, sobretodo de clientes. Ahora tengo un pequeño CRM dentro del móvil, donde anoto que he hablado con cada cliente, si les he prometido el oro y el moro, si he negociado un precio, si se ha quejado y lo más importante, sé cuando me ha llamado y le he llamado. Esto además se eleva a la n-esima si usas el teléfono como algo asíncrono, siempre tengo el teléfono en silencio y miro las llamadas cuando me apetece. Además la batería dura mucho si solo lo usas como teléfono y la conexión para usarlo como módem 3G es bastante rápida (te da como opción cuando conectas el USB).<br /><br />En resumen, si estás pensando en comprartelo y estás interesado en tener los contactos bien ordenados, cómpralo, de otra forma tirarás tu dinero.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-3202123364093370846?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com2tag:blogger.com,1999:blog-5644592.post-69982402374461280472009-04-27T22:03:00.003+02:002009-04-27T22:15:44.241+02:00Filtro paso bajo con pythonEs muy común tener un señal con mucho ruido, si es de un GPS más aún y normalmente interesa que los movimientos sean suaves. Bien sabido es que con un filtro paso bajo podemos atenuar el ruido y hacer que todo sea suave y maravilloso.<br /><br />Si además no tenemos que filtrar al vuelo, esto es, tenemos ya toda la señal bien guardadita en un array, es posible usar el truco de teleco viejo, utilizar la fft. ¿Cómo? pues símplemente haciendo la transformada discreta de la señal, quitando los armónicos más altos y haciendo la transformada inversa.<br /><br />Aquí el código, todo gracias a numpy :)<br /><br />from numpy import fft<br /><br />def low_pass_filter(x, samples = 20):<br /> """ fft based brute force low pass filter """<br /> a = fft.rfft(x)<br /> tot = len(a)<br /> for x in xrange(tot-samples):<br /> a[samples + x] = 0.0<br /> return fft.irfft(a)<br /><br /><br />El código seguro que es mejorable, numpy tiene métodos para trabajar con arrays de forma eficiente, etc, pero funciona a las mil maravillas y permite un control bastante lógico, cuantos más samples de la fft no sean 0, mayor será la variación de la señal. Para que luego digan que lo que se aprende en la carrera no sirve de nada...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-6998240237446128047?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com1tag:blogger.com,1999:blog-5644592.post-59961546492215526762009-04-14T11:05:00.002+02:002009-04-14T11:15:24.670+02:00flojo, flojo, flojoNo he podido resistirme, lo pensaba <a href="http://twitter.com/javisantana/">tuitear</a>, pero prefiero casi ponerlo en el blog. <br /><br />Estaba yo en la cafetería tomando café -aumetando mi productividad en resumen- y en la mesa de al lado hay dos hombres, bien encorbatados y una mujer bien vestida (el símil de hombre acorbatado en mujer) y uno de los hombres, el que parecía más espabilado, con mayor entidad, con más responsabilidad, con más dinero, con la voz más ronca dice:<br /><br />"""<br />al chaval lo tuvimos que apantallar.... era muy flojo... flojo, flojo, flojo... <span style="font-weight:bold;">era técnico, para que me entendais</span>...<br />"""<br /><br />Es posible que sea un caso puntual, o que quizás haya sacado la conversación de contexto, pero me ha hecho muchísima gracia el comentario, el caso que me he echado una carcajada.<br /><br />Voy a recurrir al sabio refranero español: "cría cuervos y te sacarán los ojos"<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-5996154649221552676?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com5tag:blogger.com,1999:blog-5644592.post-9446166174957182042009-04-02T21:30:00.003+02:002009-04-02T21:43:33.206+02:00videofolioEn estos días estoy capturando videos de las cosas que he hecho más o menos desde hace un par de años y subiendolas a <a href="http://vimeo.com/user856080">vimeo</a>, la verdad recopilar las cosas que has hecho hace años es interesante, te das cuenta en lo que has avanzado y en lo que no.<br /><br />Lo triste es que ves la cantidad de cosas que se empiezan y que posiblemente nunca acaben.<br /><br />De lo más nuevo es un video de un juego que estuve haciendo en enero, todo basado en cubos (no hay ninguna otra primitiva). Hay una pequeña base programada, pero aún le queda mucho para ser un juego de verdad. De hecho este otro video de una <a href="http://vimeo.com/2925243">ciudad procedural</a> que me publicaron en <a href="http://digitalurban.blogspot.com/2009/01/procedual-city-generator.html">algunos blogs</a> era uno de los fondos que tenía pensado poner durante el juego. Programado en C con OpenGL 1.1:<br /><br /><object width="400" height="270"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3959672&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=c9ff23&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3959672&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=c9ff23&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="270"></embed></object><br /><a href="http://vimeo.com/3959672">cube shoot-em-up WIP</a> from <a href="http://vimeo.com/user856080">javisantana</a> on <a href="http://vimeo.com">Vimeo</a>.<br /><br />Otro jueguecillo de carreras de naves que empecé pero nunca terminaré. Salvo las naves todo es procedural, incluso los efectos de sonido, que no he grabado:<br /><br /><object width="400" height="270"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3958642&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=c9ff23&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3958642&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=c9ff23&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="270"></embed></object><br /><a href="http://vimeo.com/3958642">spaceship race game attemp</a> from <a href="http://vimeo.com/user856080">javisantana</a> on <a href="http://vimeo.com">Vimeo</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-944616617495718204?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com4tag:blogger.com,1999:blog-5644592.post-74701697667458420282009-03-31T22:03:00.002+02:002009-03-31T22:12:04.705+02:00Esconder la barra de tareas en Windows CE .NETEn los dispositivos tipo PNA (PDA con GPS incorporado) que no tienen windows mobile es muy común poder hacer algún hack para poder acceder al sistema que hay por debajo. En ese windows ce se pueden ejecutar aplicaciones normalmente sin ningún tipo de limitación, aunque algunos limitan el acceso al GPS o bluetooth.<br /><br />Si quieres crear una aplicación a pantalla completa (para, por ejemplo, una applicación 3D) queda muy mal la minúscula barra de tareas de windows ce .net, lo ideal es quitarla, para ello el siguiente código:<br /><br />void HideTaskbar()<br />{<br /> TCHAR* window_names[] = { _T("menu_worker"), _T("HHTaskBar"), _T("Shell_TrayWnd"), _T("Tray") };<br /> for(int i = 0; i < sizeof(window_names)/sizeof(window_names[0]); ++i)<br /> {<br /> HWND hwndCB = ::FindWindow( window_names[i] , _T("") );<br /> if(hwndCB)<br /> ::ShowWindow( hwndCB, SW_HIDE );<br /> }<br />}<br /><br /><br />Se basa en buscar la ventana de la barra de tareas y ocultarla, así de simple. Realmente es una tontería, pero me costó un rato dar con ello y así lo tengo localizado :). Hay 4 nombres porque me he encontrado diferentes nombres en diferentes tipos de PNA, así que así me aseguramo.<br /><br />NOTA: El formateo de código no es mi fuerte como podeis comprobar, alguna herramienta para blogger?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-7470169766745842028?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com1tag:blogger.com,1999:blog-5644592.post-71284378090193572682009-03-27T13:47:00.002+01:002009-03-27T14:08:45.208+01:00Impacto de los medios tradicionales en la webComo ya comenté hace unas semanas, nos hicieron una entrevista en referencia a nuestro <a href="http://www.agroguia.es/blog/wordpress/gps-agricola/">sistema de guiado para la agricultura</a> que en principio iba a salir a nivel regional, exclusivamente en Castilla y León.<br /><br />La entrevista fue muy bien, conocíamos a la periodista lo cual era una ventaja, la cosa fue bastante distendida, pudimos explicar bien las cosas y al final se reflejó en el artículo, en mi opinión bastante acertado, un pelín exaltado el titular, pero bueno.<br /><br />Tenía curiosidad por saber cuanto afectaría a las ventas y sobretodo a las entradas en la web de <a href="http://www.agroguia.es">agroguía</a>. Bien, el resultado es este:<br /><br />- Publicaron hace tres semanas, un martes si no me equivoco, en la última página de "El Mundo" en Castilla y León, una página entera, con unos diagramas (que por cierto se curraron en el periódico), fotos y un titular bien grande y llamativo.<br /><br />Resultado: 50 visitas durante dos días en la web y una llamada de un cliente, al que fuimos a enseñarle el equipo y que encima falló la precisión justo ese día (cosas del directo). Además nos llamaron de <a href="http://www.excal.es/home.jsp">EXCAL</a> interesándose por si queríamos ayuda para la exportación.<br /><br />- El Domingo pasado publicaron una columna en "El Mundo" nacional, esta vez no una página, pero no está mal, más de lo que esperabamos. El <a href="http://www.elmundo.es/papel/2009/03/22/mercados/2616780.html">artículo se puede ver en la web del "El Mundo"</a><br /><br />Resultado: 50 y tantas visitas más al día durante 3 días, 0 llamadas en referencia al tema :).<br /><br />Resultado real, muy poco, cosa de esperar porque no es un medio muy concreto para agricultores, los compradores en el fondo de nuestro sistema, sin embargo ha habido un fenómeno curioso: la gente te valora más por el hecho de salir en un medio nacional, mi familia todo orgullosa, han felicitado a mi madre porque habían visto en el periódico que su hijo había terminado la carrera (jaja, la gente está a uvas por completo), etc. Es decir, <span style="font-weight:bold;">lo que hemos ganado es seriedad y credibilidad</span>, si sales en prensa escrita la cosa es diferente.<br /><br />En conclusión, muy agradecido a Gemma Aliste por el artículo y por su interés. Se lo comentaba a ella, a ver si me va a tocar cambiar mi opinión sobre los periodistas :).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-7128437809019357268?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com2tag:blogger.com,1999:blog-5644592.post-36337599614872179202009-03-20T12:56:00.003+01:002009-03-20T13:31:26.417+01:00Erasmusu, red social para erasmusLos que leais este blog por rss (unos 100 según feedburner, aunque imagino que muchos de ellos serán bots) no os habreis dado cuenta que he puesto una caja en la parte derecha del blog. Se trata de un widget para votar por erasmusu, una <a href="http://www.erasmusu.com">red social para estudiantes erasmus</a>.<br /><br />Participan el <a href="http://www.bbvaopentalent.com/">BBVA opentalent</a>, en al que se presentan una serie de proyectos de innovación que pueden ganar hasta 100.000€ para el desarrollo del mismo. He estado echando un ojo a los proyectos que se presentan -todo el que me ha permitido la conexión de simyo rural- y muchos de ellos ya los conocía.<br /><br />Erasmusu está desarrollada por <a href="http://cokidoo.com">cokidoo</a>, nombre que creo viene del perro de <a href="http://twitter.com/adrianmg">adrian</a>. De la empresa conozco a dos personas, <a href="http://javilop.com/">javi lópez</a> (<a href="http://tiwtter.com/javilop">twitter</a>) que conocereis por su librería para desarrollo de juegos 2D <a href="http://www.indielib.com">IndieLib</a> (por cierto hay un <a href="http://www.stratos-ad.com/forums/index.php?topic=11457.0">compo</a> abierta ahora), su web de <a href="http://gametuto.com/">tutoriales de programación de juegos</a>, y al citado <a href="http://yensdesign.com">adrian mato</a> que mantiene en su web tutoriales de programación web (ajax, mysql, php, optimización) bastante interesantes. Además tienen otros proyectos desarrollados, como <a href="http://plusmusica.com">plusmusica.com</a><br /><br />Solo espero que les vaya bien con su nuevo proyecto, no solo por las ganas y trabajo que le están echando (no hay más que seguirles en tuiter), si no porque son gente trabajadora y que saben de que va el "negocio", de esos que yo considero programadores de verdad :). <br /><br />Mucha suerte y ánimo :).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-3633759961487217920?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com1tag:blogger.com,1999:blog-5644592.post-32338194028441551262009-03-16T20:07:00.003+01:002009-03-16T20:42:18.005+01:00Partes de un negocio: ¿En que estamos fallando?A raiz de un artículo que nos publicó "El Mundo" en Castilla y León sobre nuestro sistema de <a href="http://www.agroguia.es">guiado gps para la agricultura</a> (ya subiré el escaneado) nos llamó una persona de <a href="http://www.excal.es/home.jsp">excal</a> para comentarnos sobre como ellos nos podrían ayudar a llevar el producto a otro país.<br /><br />Siendo realistas me parecía un poco tonto ya que nisiquiera nos estamos preocupando demasiado por vender en nuestro país y si mi apuras mi propia provincia, pero nunca sabes lo que te puedes encontrar y me pareció interesante, así que quedé con él.<br /><br />Lo que nos ha contado son cosas bastante interesantes, sobretodo relacionado con su trabajo. Nos hablaba de como hacían que las demás empresas pudiesen enseñar sus productos a empresas del exterior, como podían buscar contactos en el sector que trabajabas y demás. Lo cierto es que todo esto a mi me suena lejos, como he dicho muchas veces no hemos tratado de montarnos en el dolar, siempre lo he visto más como un experimento que como algo realmente serio.<br /><br />A petición de <a href="http://yensdesign.com/">adrian mato</a> voy a comentar lo que yo creo que estamos haciendo muy mal si de verdad no hubiesemos planteado esto como una forma de hacer dinero de verdad, esto es, una empresa de las de verdad, de esas que tienen web corporativa con foto de catalogo y señores con corbata:<br /><br />- Estrategia comercial CERO. No tenemos y no hemos buscando distribuidores, no hemos contactado con ninguno de las personas/empresas que pudieran ser nuestros principales distribuidores, es más, las hemos mandado a tomar aire fresco. Por ejemplo, deberíamos haber contactado con cooperativas, empresas de venta de maquinaria agrícola, personas que se encargasen de la distribución... y seguramente muchas cosas más que no sé. Lo positivo que saco de aquí que aunque no lo hayamos hecho por lo menos tenemos cierta idea de donde están las puertas que hay que tocar.<br /><br />- Marketing muy malo, ahora mismo somos los primeros en internet, sin embargo la gran parte del pastel del negocio no está en internet, está en los lugares donde los agricultores van y leen (tiendas de maquinaria y revistas especializadas). <br /><br />- Mala provisión. No mala, malísima, hemos hecho casi todo manual, no hemos buscado acuerdos con marcas para que nos provean el hardware sin demasiados líos. Pedimos cada uno de los componentes a un sitio, deberíamos haber llegado a un acuerdo y negociado la compra del hardware. Deberíamos haber tenido un proveedor adecuado.<br /><br />- No hemos pensado, ni por lo más remoto, en como llegar a mercados de otros países.<br /><br />En resumen, no nos hemos lanzado a la piscina, solo nos hemos remojado los pies, quizás sea demasiado tarde, pero se aprende de estas cosas. La parte técnica creo que la hemos superado con creces (*), sin embargo la parte comercial y de logística ha sido lamentable. Muchas de esas cosas ya están escritas, hay formación acerca de ellas, gente muy preparada... me alegro por ello.<br /><br />Por suerte tengo algún amigo con una aplitud de miras bastante más grande que la mía (gracias a dios, si no que sería de este mundo) y que saben moverse como pez en el agua. Fijate si es amigo que <a href="http://twitter.com/agalciv">se ha hecho una cuenta en twitter</a> para seguirme, aunque a él seguramente le importe una picha twitter y su raza (él solo cree en el contacto real :). El siguiente proyecto seguro que lo bordamos (o casi), sabemos que se puede.<br /><br />(*) La experiencia de tener un producto y tener que sacarle lo máximo es lo mejor escuela de gestión técnica de un proyecto en todos los sentidos.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-3233819402844155126?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com3tag:blogger.com,1999:blog-5644592.post-30580306128691482322009-03-13T14:03:00.003+01:002009-03-13T14:56:27.345+01:00Planificando un deploy (django + nginx)Si algo he aprendido a lo largo de mi corta vida como perfil mixto entre desarrollador web y adminitrador de sistemas es que los <span style="font-weight:bold;">deploys sí importan</span>. Ahora mismo tengo una aplicación web en django y mis <span style="font-weight:bold;">requisitos</span> para el deploy son los siguientes (lo cierto es que servirían para cualquier aplicación web):<br /><br />- Hacer el setup del servidor en un solo paso<br />- <span style="font-weight:bold;">Poder tener la aplicación en el servidor funcionando con un solo comando</span><br />- Poder volver a una versión anterior en cualquier momento<br /><br />Simples de describir, pero complicados de llevar a cabo.<br /><br />Hay 3 cosas que tengo que tener en cuenta en la <span style="font-weight:bold;">configuración</span>:<br />- el servidor web<br />- la aplicación<br />- la base de datos<br /><br />Por mi parte he elegido nginx como servidor web ya que soporta fastcgi y parece ligero, para la aplicación uso django y como base de datos mysql. La elección no se basa nada más que en mi experiencia, no quiero entrar en el juego de que es mejor o peor.<br /><br />Para el deploy estoy usando <a href="http://www.nongnu.org/fab/">fabric</a>, un sistema que permite en 3 puntos:<br />- ejecutar comandos en local<br />- ejecutar comandos en un server remoto<br />- subir y bajar ficheros<br /><br />Y todo con sintaxis python :), con lo cual puede además usar todo el api de python.<br /><br />El <span style="font-weight:bold;">layout de carpetas</span> es el siguiente:<br /><br /> - /srv/agroguia/<br /> - versions<br /> - 0<br /> - timestamp<br /> - ....<br /> - last (enlace simbólico a la última versión subida de esta versión)<br /> - 1<br /> - ...<br /> - current (enlace simbólico a la carpeta dentro de versions/X/timestamp)<br /><br /><br />El <span style="font-weight:bold;">servidor web</span> está dividio en dos rutas:<br /> - la parte estática que apunta a current/assets. De momento el peso de los assets es muy bajo (<1M), puedo permitirme el tenerlos replicados.<br /> - la parte dinámica que usa fastcgi contra un socket unix que se crea al levantar django.<br /><br />Y por qué dividir la aplicación en versiones y dentro de cada una en timestamp (en realidad timestamp + hash de la revisión del sistema de control de versiones). Cada versión tiene un esquema de base de datos y una base de datos diferente dentro de mysql, de forma que todas las versiones de la aplicación dentro de esa carpeta pueden usar la misma base de datos sin problemas de integridades ni nada por el estilo. Similar a este sistema de versiones y timestamps lo usa el sistema de deploy de google app engine.<br /><br />Del mismo modo, cada vez que cambie el esquema de la base de datos, se creará una carpeta nueva, se llamará al comando de creación de base de datos de django (manage.py syncdb) y luego llamaré a la migración (manual, django aún no soporta migraciones al estilo rails, una pena) que usará los datos de la versión anterior.<br /><br />Si en cualquier momento quiero volver a una versión anterior puedo símplemente cambiar el enlace simbólico de current y levantar de nuevo el servidor. Incluso si quiero tener una versión en producción y una para desarrollar basta con que levante un servidor de desarrollo en otro puerto diferente al 80 (google en este caso lo hace con subdominios, pero yo no soy tan guay)<br /><br />Otro detalle importante es la posibilidad de hacer un <span style="font-weight:bold;">setup del sistema desde 0</span>. Me baso en un servidor ubuntu, así que tengo unos cuantos targets que instalan dependencias (mercurial, nginx...), módulos python con <a href="http://pypi.python.org/pypi/pip">pip</a> (el reemplazo de easy_install), carpetas, usuarios y permisos varios.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-3058030612869148232?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com0tag:blogger.com,1999:blog-5644592.post-59352657035973688542009-03-08T22:09:00.004+01:002009-03-08T22:32:51.970+01:00Tuneando el cocheSoy un friki y no lo puedo remediar. Como además mi hermano lo sabe muy bien me ha regalado unas pegatinas en vinilo del quake para pegar en el carro.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XzuP3e63Ok8/SbQ3I7WbhRI/AAAAAAAABgI/ug_6MxCrs9U/s1600-h/coche_quake.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 186px;" src="http://1.bp.blogspot.com/_XzuP3e63Ok8/SbQ3I7WbhRI/AAAAAAAABgI/ug_6MxCrs9U/s320/coche_quake.jpg" alt="" id="BLOGGER_PHOTO_ID_5310930487086908690" border="0" /></a><br /><br />Lo sé, es una frikada de mucho cuidado, pero le queda bien.<br /><br />Además he pegado otra en el portátil, algo más pequeña, que podeis ver en <a href="http://twitpic.com/1v8dz">twitpic</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-5935265703597368854?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com5tag:blogger.com,1999:blog-5644592.post-58029849536025128142009-03-05T16:30:00.005+01:002009-03-06T08:25:28.003+01:00¿Cuesta tanto tratar bien a un empleado?Llevo trabajando en una consultora unos 3 meses y medio, aunque parece que hace siglos que dejé Unkasoft y es que cada empresa a la que voy las condiciones al empleado son peores.<br /><br />Empecé en Murcia, en M2DEV, allí teníamos una mierda de oficina, pero tenía un par de pantallas, un equipo decente, el jefe se portaba con nosotros, teníamos un futbolín, un horario lógico. Hubo momentos jodidos, pero se pasaban mejor. Más tarde pasé a Unkasoft, allí se acabaron los 2 monitores y estuve con un equipo que iba _muy mal_ hasta que conseguí hacer entender que así no se podía trabajar, incluso terminé con dos pantallas. Ahora estoy con un PC aún peor y con una triste pantalla de 17", en una silla sin posa brazos... :)<br /><br />Qué cuesta a una empresa tener unos monitores decentes? pues posiblemente 200€ más por empleado. Qué cuesta a una empresa tener un sitio de esparcimiento con 4 sofás? 4 perras comparado con lo que paga al estado por uno de sus empleados al año. Qué gana la empresa? tener a un empleado contento, motivado y que va con gusto a su puesto de trabajo. No necesitamos tener una oficina en el centro de madrid... ah, pero se me olvidaba que lo habitual es que la eficiencia del empleado importe muy poco, así que total, si me puedo ahorrar 20€ en una silla, eso que me llevo por delante.<br /><br />Pero no, es preferible tener al empleado como un borrego, sentado 8 horas en un sitio de mierda, con los ojos podridos de mirar una pantalla minúscula.<br /><br />Además, mirando otras profesiones, por ejemplo, un topógrafo, te das cuenta lo lamentable del asunto. Un topografo podría llevar un GPS de 100€, los hay, sin embargo llevan uno más caro, más preciso, adecuado a lo que necesita. Sin embargo es fácil ver como la mayoría de la gente que trabaja en este negocio tienen en casa PC más potentes, pantallas más grandes, sillas más cómodas y mesas más espaciosas. Ahora pensad en otras profesiones "tradicionales", médicos, arquitectos...<br /><br />A qué viene esto? en el twitter de <a href="http://twitter.com/josek_net/status/1283653749">josek</a> (<a href="http://josekblog.blogspot.com/">blog</a>) veo una entrevista en tuenti en el que enseñan sus oficinas (en el centro de madrid), muy al estilo <a href="http://picasaweb.google.com/spolsky/FogCreekSNewOffice#">frog creek software</a>,<a href="http://www.ulinkx.com/video/3655354/vimeo_office_timelapse">vimeo</a>, <a href="http://picasaweb.google.com/zurich.office.images/ZurichOfficePhotos#">google</a> o incluso <a href="http://www.lemonteam.com/about">LemonTeam</a> (se nota que hacen <a href="http://www.lemonteam.com/services">juegos para iphone</a> ?). Con la pasta que metieron en tuenti no me extraña sería para matarlos no tener pantallas de 30" como mínimo :). Encima <a href="http://twitter.com/Kartones/status/1283828265">Kartones</a> me ha dicho que todo lo que cuenta es verdad :)<br /><br />¿Tenemos lo que nos merecemos?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-5802984953602512814?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com10tag:blogger.com,1999:blog-5644592.post-21043564232196290002009-03-04T11:15:00.005+01:002009-03-04T11:36:51.965+01:00Pequeño experimento SEONi soy ni pretendo ser un "master" en el tema de posicionamiento, aunque sí es curioso como si no hay nadie más interesado en posicionarse en google se consigue muy fácilmente. Dos ejemplos:<br /><br />- El primero es agroguía, hace unos meses vi como no aparecíamos en la portada de google ni por asomo para búsquedas más o menos relacionadas. Pensé "y si quizás gracias a una búsqueda en google conseguiesemos una venta?". Lei lo básico de SEO sobre los títulos de las páginas, links y poco más y me puse manos a la obra. Ahora si buscas "guiado gps", "gps agrícola" y similares nuestra web sale la primera. Con google analytics fui viendo las keywords de búsqueda que usa la gente y he ido intentando afinar. Ahora voy a intentar las keyworks "<a href="http://www.agroguia.es/blog/wordpress/2009/02/01/manejo-de-los-tramos-en-el-equipo-de-herbicida-mediane-agroguia/">gps agricultura</a>", que he visto que vienen algunas búsquedas, pero que nisiquiera estamos los primeros en google.<br /><br />Esto es un arma de doble filo, últimamente he visto que muchas visitas entran en la web pensando que nosotros hablamos de sistemas de guiado GPS en general y recibo a menudo correos pidiendo recomendación para la compra. En cualquier caso es bueno, las ventas de gente que nos busca por google no son despreciables y "perder" unas horas en hacer la web ha salido muy rentable.<br /><br />- El segundo es javisantana.com, hace unos meses lo registré, aunque solo apuntaba a mi blog. Decidí entonces poner una web, indicando que soy programador freelance python, sin linkar desde ninguna parte ya estoy en la primera página de google (en español, ojo) como <a href="http://javisantana.com/programador_python_freelance.html">python freelance</a>. Lo cierto es que pensé que la gente buscaría más algo como "programador python freelance", pero nadie pone la palabra "programador". Más o menos recibo unas 10 ó 12 visitas cada semana, de las cuales la mayoría no están interesadas en ver el blog . Será quizás por que la web es cutre de pelotas, no soy lo suficientemente serio (no creo que un freelance se anunciase de esa forma, la verdad) o quizás los que buscan no entienden nada de lo que explico.<br /><br />Lo dicho, seguro que sería facilísimo pisar el posicionamiento que he hecho, pero es interesante ver como si nadie se ha posicionado aún, hacerlo es realativamente fácil.<br /><br />PD: ahora me pregunto sin con el link que he hecho, al cerrar el círculo de links google entre este blog y javisantana.com me penalizará... lo sabré en unos días.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-2104356423219629000?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com1tag:blogger.com,1999:blog-5644592.post-26079408814527873592009-02-20T12:30:00.005+01:002009-02-20T18:13:27.514+01:00Gracias por NO apoyarme<div style="text-align: justify;"> En España hay veces que somos <span style="font-weight: bold;">tontos </span>y seguramente sea yo uno de los primeros, pero es que hay cosas que ves que claman al cielo, sobreotdo con la que cae ahora mismo.<br /><br />Nos <span style="font-weight: bold;">quejamos </span>de que no somos <span style="font-weight: bold;">productivos</span>, que necesitamos <span style="font-weight: bold;">i+d</span>, invertir en <span style="font-weight: bold;">tecnología</span>, apoyar a las start-ups y toda esa palabrería que nos dicen a los que votamos cada, si todo va regular, 4 años. Yo no sé como resolver estas cosas, pero voy a describir un tema que me ha pillado muy de cerca, del cual no voy a dar nombres ni medios porque es posible que si lo hago afecte a amigos, pero que sí refleja lo que quiero decir . Así que si confiais en mi seguid leyendo, si no posiblemente es mejor que dejes de leer porque no voy a dar ni una sola referencia (muy al estilo periodístico).<br /><br />El caso es que, como sabrás si lees este blog regularmente, nosotros tenemos una pequeña empresa en la que <span style="font-weight: bold;">__desarrollamos__</span> y vendemos un sistema de guiado para la agricultura. Tratamos de hacer las cosas lo mejor posible dentro de nuestra capacidad, intentanmos innovar hacienco cosas que los demás no hacen (o por lo menos no habían hecho cuando nosotros lo hicimos), en mi opinión hacemos i+d de verdad, esto es, desarrollamos cosas nuevas que van directamente al usuario, que son de utilidad. No somos los únicos en nuestro ámbito, da la casualidad que en castilla y león hay otras personas que hacen lo mismo que nosotros, aunque con otro target. En resumen, dos empresas en <span style="font-weight: bold;">Castilla y León</span> -esa comunidad que vive de la Junta, FASA y de las ayudas económicas (auto-censura) que <span style="font-weight: bold;">otros, que sí son productivos, nos aportan</span>- que desarrollan tecnología útil.<br /><br />Ayer me comentaba un amigo que había leído en un artículo de una conocida revista de agricultura de Castilla y León un reportaje sobre los sistemas de guiado, pero que, curiosamente, los sistemas de guiado desarrollados en Castilla y León aparecían en una columnita, símplemente mencionándolos, mientras el sistema de una marca gigante del sector, estaba a toda página, con todo lujo de detalle en sus características (*). El sistema es bueno, está claro que está bien desarrollado, sin embargo esas características ya las teníamos nosotros implementadas hace tiempo, pero claro, unos pobrecitos de Valladolid no van a competir con la gran marca, <span style="font-weight: bold;">fijo que es mucho peor</span>.<br /><br />Habrá quien me diga: "haced un producto mejor y así os publicarán". Posiblemente tengamos que poner las instrucciones en inglés, llevar unos "comerciales" bien encorbatados y decir que somos estadounidenses. Ahora la gente ya no compra un producto porque sea de su país, obviamente se rigen por criterios tales como el precio, la calidad (incluso hay quien lo hace por la relación entre ellas), el tema del patriotismo está "pasado de moda", pero <span style="font-weight: bold;">yo lo veo de otro modo</span>.<br /><br />No sé donde escuchaba o leía que en España veías que el vecino montaba un bar, una frutería o una mercería y tú montabas uno de esos negocios y que en si licon valley tu vecino montaba una tecnológica y tú hacías lo mismo (y la diferencia entre empresas es patente). Está claro que si te rodeas de un entorno en el cual la productividad, innovación es importante, tarde o temprano terminará siendo importante para ti y lo harás igual. Por esta misma razón creo que se deberían apoyar a las empresas que tratan de hacer las cosas bien y dejar de poblar el territorio con cárnicas (aquí me he auto-censurado de nuevo) que lo único que hacen es traer trabajo de baja calidad.<br /><br />Por esa razón <span style="font-weight: bold;">deberíamos apoyar a la gente que desarrolla en España</span> y sobretodo a tu alrededor, es una realimentación positiva, <span style="font-weight: bold;">si tu vecino está bien posiblemente tú lo estés también</span>. Pero claro, como va nadie a apoyar el desarrollo si en general la gente no sabe qué es, la<span style="font-weight: bold;"> cultura tecnológica es muy baja</span>, es fácil escuchar "un amigo de un amigo montó un bar y vive como un marqués".<br /><br />Se habla mucho ahora de que las PYMES necesitan dinero, acceso al crédito, etc y lo que yo creo que además se necesita <span style="font-weight: bold;">más apoyo</span> y creer en la gente y ojo, esto requiere trabajo y esfuerzo, no basta con dar palmaditas en la espalda. El caso que he descrito es un ejemplo, pero lamentablemente es la tónica general.<br /><br />(*) este artículo no era el típico que se pone por dar publicidad encubierta, venía de la universdad, para colmo.<br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-2607940881452787359?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com12tag:blogger.com,1999:blog-5644592.post-16834267056021745342009-02-12T21:02:00.003+01:002009-02-12T21:23:19.152+01:00Mi lugar de trabajoAdemás de mi trabajo habitual en <a href="http://www.algor.es/">algor</a> (la web no pone nada de que sea puntera en el sector, menuda mierda :P), tengo mi trabajo B, en el cual hago lo que me sale de las narices, cuando y como quiero. Ya que me paso unas cuantas horas del día trabajando, que menos que tener un entorno adecuado y agradable.<br /><br />En mi caso me encuentro cómodo trabajando sobre una mesa -hay gente que se encuentra a gusto con el portátil sobre las piernas, ya ves-, y sobretodo con un par de pantallas, o como mínimo una grande y con buena resolución, con objeto de no tener que estar cambiando continuamente entre ventanas. Para ilustrar una foto:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XzuP3e63Ok8/SZSBlpcyauI/AAAAAAAABfI/r6HPKA8peOc/s1600-h/lugar_de_trabajo.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_XzuP3e63Ok8/SZSBlpcyauI/AAAAAAAABfI/r6HPKA8peOc/s320/lugar_de_trabajo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5302005145103657698" /></a><br /><br />Me gusta mucho tener la ventana al lado, además es grande y hasta el suelo, que puedes mirar desde el patio hasta el cielo para cuando tienes que reflexionar. Lo cierto es que me gustaría tener una habitación para mi solo, con el sistema de sonido bien montado, todo se andará.<br /><br />El caso es que esta tarde he estado a revisar la graduación y desde la última vez me ha subido una dioptría en cada ojo, bastante teniendo en cuenta que ahora tengo 4 en cada ojo (joder, y empecé con 0.5), y que posiblemente sea debido a las horas delante del TFT, así que posiblemente tenga que pasar menos horas en este mi lugar de trabajo B.<br /><br />Al hilo de esto hay un blog que muestra <a href="http://scribania.blogspot.com/">lugares de trabajo</a> de gente, a mi me resulta curioso.<br /><br />PD: sí, el monitor grande tiene VIM con python :)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644592-1683426705602174534?l=blep.blogspot.com'/></div>javi santanahttp://www.blogger.com/profile/07638486113933454853qualopec@gmail.com11