Sí, de nuevo esta semana otra solicitud de distribución que paso a reproducir eliminando los datos menos importantes:
"""
Buenos dias:
Estamos interesados en el sistema de guiado gps, somos concesionario de XXXXX XX para las provincias de Zamora y Leon, y vendemos recambios en toda España, quisiera que me pasasen informacion detallada a si como el precio que tendriamos para su comercializacion en nuestras tiendas.
Atentamente:
Fulanito J. de Tal
Subdirector de Algo importante
Direccion de Algo más importante aún
Grupo Internacionalísimo
"""
No me lo explico, no es él el que está interesado? ¿no debería tratar de comprarme? ¿no debería él hacer el esfuerzo por que yo estuviera interesado en hacer que ellos ganen dinero sin haber matado ni una neurona? ¿No somos nosotros los que estamos haciendo la parte difícil?
España es así amigos, haces el trabajo y luego otros quieren venderlo... no se dan cuenta que son muchos los que venden y pocos los que producimos? ¿se habrán dado cuenta que la ley de oferta y la demanda funciona?
Para empezar deberían haberme llamado por teléfono. Como bien dice Jesús de la Torre, si alguien está de verdad interesado en tu producto te llamao por teléfono y estas personas nisiquiera se han dignado a busca un teléfono de contacto o a poner alguno para contactar con ellos.
Soy muy bruto y mucha gente me dice que debería contactar con alguien para distribuirlo, pero es que no me apetece, no me parece bien introducir intermediarios que no quieran hacer nada. Hasta ahora los únicos que me han propuesto algo decente y se han molestado han sido las personas de Argentina. Sé que las cosas no funcionan así, que posiblemente dentro de unos años me arrepentiré, pero es que me niego a entrar en esa dinámica. No sé hasta donde llegaremos así, quizas no muy lejos, pero no pasa nada, no tendré la espinita clavada de que una persona sin hacer nada se lleve un euro, máxima de la persona triunfandora en España. Me gustan las personas que trabajan duro por algo, sea para correr 100m. en 10 segundos o para conseguir cualquier soplapollez y esas son las que se merecen mi respeto.
Hace unos meses pensé que estabamos en pleno boom, pero me equivoqué, el boom aún no ha comenzado :D
1.19.2008
Que pasa si te comes la rueda de un camión por la autovía...
Pues dos cosas:
- que el coche te queda así (está desmangado):

- que los HIJOS DE LA GRAN PUTÍSIMA del seguro te pones pegas para todo. Son unos HIJOS DE PUTA sin escrúpulos cabrones, eso dejando a un lado la incompetencia, llegando al límite de no saber ni leer lo que puse en el formlario web con el agente de la compañía.
"Suerte" que me toca renovar el seguro ahora para no volver a topar con gentuza de este tipo.
- que el coche te queda así (está desmangado):
- que los HIJOS DE LA GRAN PUTÍSIMA del seguro te pones pegas para todo. Son unos HIJOS DE PUTA sin escrúpulos cabrones, eso dejando a un lado la incompetencia, llegando al límite de no saber ni leer lo que puse en el formlario web con el agente de la compañía.
"Suerte" que me toca renovar el seguro ahora para no volver a topar con gentuza de este tipo.
1.16.2008
Cuando te comes una rueda de un camión ...
por la autovía lo que debes hacer es:
- ver si puedes seguir andando
- si puedes, ir por todas las salidas dela autovía mirando en los bares de camioneros a ver si hay algún camión con la rueda reventada.
Sí, ayer me comí una señora cubierta de un camión a 128km/h por la autovía, había esquivado perros, trozos de rueda, de metal, cajas y bicicletas, pero esta no pude verla a tiempo y prefería comermela antes de esquivarla (el suelo estaba mojado) a pesar de que cuando la vi pensé que iba con llanta y todo.
EL resultado: el radiador doblado, el aire acondicionado roto, no sé qué válvulas rotas, un antiniebla y todo el frontal. Por suete encontré al camionero e hicimos parte.
Estas cosas te hacen pensar que si hubiera sido una persona en vez de una rueda hoy posiblemente hubiera más de 0 muertos, pero tampoco puedes vivir con el miedo de que aparezca una persona en medio de una autovía. Da que pensar, pero es mejor pensarlo poco.
Mira que a veces pruebo a hacer alguna "macarrada" con el coche (siempre en caminos y zonas no transitadas) para intentar aprender a controlarlo por si algún día necesito saberlo, pero me da si pego un volantazo a 130 no controlo el coche ni loco.
Parece que no soy el único
- ver si puedes seguir andando
- si puedes, ir por todas las salidas dela autovía mirando en los bares de camioneros a ver si hay algún camión con la rueda reventada.
Sí, ayer me comí una señora cubierta de un camión a 128km/h por la autovía, había esquivado perros, trozos de rueda, de metal, cajas y bicicletas, pero esta no pude verla a tiempo y prefería comermela antes de esquivarla (el suelo estaba mojado) a pesar de que cuando la vi pensé que iba con llanta y todo.
EL resultado: el radiador doblado, el aire acondicionado roto, no sé qué válvulas rotas, un antiniebla y todo el frontal. Por suete encontré al camionero e hicimos parte.
Estas cosas te hacen pensar que si hubiera sido una persona en vez de una rueda hoy posiblemente hubiera más de 0 muertos, pero tampoco puedes vivir con el miedo de que aparezca una persona en medio de una autovía. Da que pensar, pero es mejor pensarlo poco.
Mira que a veces pruebo a hacer alguna "macarrada" con el coche (siempre en caminos y zonas no transitadas) para intentar aprender a controlarlo por si algún día necesito saberlo, pero me da si pego un volantazo a 130 no controlo el coche ni loco.
Parece que no soy el único
Partes de un negocio: los escrúpulos
Cuando vamos a comprar algo que no conocemos, sobretodo cuando hay tecnología de por medio, te tienes que fiar del vendedor y un poco de las opiniones en internet (suelen estar bastante sesgadas).
Creo que para que un negocio vaya bien, perdón, para ganar dinero con él, tienes que tener pocos escrúpulos, esto es, lo que la gente denomina saber vender. Es muy común que si comentas los defectos de un producto y si encima te lo dice el propio vendedor termines por no venderlo (a veces esto también interesa). En mi opinión es porque la mayoría de la gente no sabe de la producción: todo tiene fallos, más jodidos o menos, más visibles, etc, pero es algo inherente a todo.. por mucho dinero que gastes, mucho tiempo que consumas, va a haber errores que te van a llegar.
Pongo el caso de la compra de un coche. Cuando vas a comprar un coche buscas un modelo que te guste, que se adecue a tu presupuesto, que se adapte a tus necesidades... entonces vas a internet y haces un recuento de errores frecuentes. Ya los conoces y sabes a lo que te enfrentas cuando lo compras, pero qué pasaría si en el concesionario te dijeran: "oye, a veces en primera da tirones, pero solo a revoluciones muy bajas". Seguro que ya dudas.
A mi me gustaría, así como te cuentan todo lo bueno también te podrían comentar lo malo... pero eso nunca se hace. No soy ningún especialista, pero es muy fácil convencer a una persona para que compre algo, solo hay que saber un poco de su vida/negocio y ponerselo a huevo. En nuestro caso es muy fácil mirar rápidamente a la nave donde guarda todo el señor y ver qué máquinas tiene, si las ha comprado hace poco, donde las ha comprado, qué tipo de siembra hace (parece difícil, pero al final terminas haciendolo sin querer) y decirte todo lo buenísimo que es el producto para todo lo que tiene (ver anecdota abajo *). Sin embargo no tengo suficientes pocos escrúpulos y casi siempre termino contándoles donde falla, por qué, como está resuleto, etc. En mi opinión es bueno decir en qué falla algo, qué problemas tiene, pero la gente prefiere ver que lo que compra es perfecto. No soy nada partidario de vender las cosas, soy partidario de que te las compren convencidos de lo que compran, sabiendo los posibles fallos y las ventajas. Se reconoce rápidamente a una persona que sabe lo que quiere, incluso por teléfono.
(*) anécdota al respecto de lo anterior: un día estabamos enseñándole a un agricultor el sistema, no lo tenía nada claro, entonces me fijé en que las ruedas de su laguna eran de 225 mm de ancho (las de ese modelo vienen de fabrica con 205mm), lo que me hizo pensar que al tío le gustaba correr. Entonces le dije que en la PDA podría instalar un navegador con detector de radares. Al cabo de unas horas nos llamó para comprar uno :).
Creo que para que un negocio vaya bien, perdón, para ganar dinero con él, tienes que tener pocos escrúpulos, esto es, lo que la gente denomina saber vender. Es muy común que si comentas los defectos de un producto y si encima te lo dice el propio vendedor termines por no venderlo (a veces esto también interesa). En mi opinión es porque la mayoría de la gente no sabe de la producción: todo tiene fallos, más jodidos o menos, más visibles, etc, pero es algo inherente a todo.. por mucho dinero que gastes, mucho tiempo que consumas, va a haber errores que te van a llegar.
Pongo el caso de la compra de un coche. Cuando vas a comprar un coche buscas un modelo que te guste, que se adecue a tu presupuesto, que se adapte a tus necesidades... entonces vas a internet y haces un recuento de errores frecuentes. Ya los conoces y sabes a lo que te enfrentas cuando lo compras, pero qué pasaría si en el concesionario te dijeran: "oye, a veces en primera da tirones, pero solo a revoluciones muy bajas". Seguro que ya dudas.
A mi me gustaría, así como te cuentan todo lo bueno también te podrían comentar lo malo... pero eso nunca se hace. No soy ningún especialista, pero es muy fácil convencer a una persona para que compre algo, solo hay que saber un poco de su vida/negocio y ponerselo a huevo. En nuestro caso es muy fácil mirar rápidamente a la nave donde guarda todo el señor y ver qué máquinas tiene, si las ha comprado hace poco, donde las ha comprado, qué tipo de siembra hace (parece difícil, pero al final terminas haciendolo sin querer) y decirte todo lo buenísimo que es el producto para todo lo que tiene (ver anecdota abajo *). Sin embargo no tengo suficientes pocos escrúpulos y casi siempre termino contándoles donde falla, por qué, como está resuleto, etc. En mi opinión es bueno decir en qué falla algo, qué problemas tiene, pero la gente prefiere ver que lo que compra es perfecto. No soy nada partidario de vender las cosas, soy partidario de que te las compren convencidos de lo que compran, sabiendo los posibles fallos y las ventajas. Se reconoce rápidamente a una persona que sabe lo que quiere, incluso por teléfono.
(*) anécdota al respecto de lo anterior: un día estabamos enseñándole a un agricultor el sistema, no lo tenía nada claro, entonces me fijé en que las ruedas de su laguna eran de 225 mm de ancho (las de ese modelo vienen de fabrica con 205mm), lo que me hizo pensar que al tío le gustaba correr. Entonces le dije que en la PDA podría instalar un navegador con detector de radares. Al cabo de unas horas nos llamó para comprar uno :).
1.14.2008
Partes de un negocio: cuando no sabes qué hacer
Sigo con mi línea de artículos "partes de un negocio" (tengo que ponerle un título más descriptivo a la par que original y destacado).
A menudo me suele pasar que no conozco la mayoría de cosas que leo, veo o tengo que hacer. Lo bueno que tienen las cosas técnicas es que siempre puedes recurrir a internet o un libro, sin embargo hay cosas que parece no estar escritas en los libros y si es así desconozco qué términos tengo que poner en google para encontrarlos.
Habitualmente las cosas que desconozco suelen estar relacionadas con la parte de marketing, comercial, blablablabla... esas cosas que para mi son un coñazo. Hasta ahora no ha sido problema, vas aprendiendo las cosas a base de mangarla y no hacer las cosas bien (como en casi todo).
En estos momentos tenemos una oferta de Argentina muy buena, ellos se encargan de todo, nosotros solo ponemos las licencias, eso sí, a costa de firmar un contrato de exclusividad con ellos para diferentes países de suramerica (cosa que no sé si debería reocuparme). El caso es que nos han pedido presupuesto para 300 licencias y sinceramente, no tengo ni zorra de como calcular el precio. Por un lado pienso en que un trato con el exterior seguro que está sometido a otros impuestos diferentes, que al ser una cantidad grande de licencias el precio debe ser menor de lo habitual y que tengo que tener en cuenta que el euro está por las nubes...
Es un dilema, se presenta ante nosotros una oportunidad a priori muy buena, pero no tengo claro como abordarla y tampoco tengo muchas ganas de hacerlo mal en algo tan serio. Quizás necesito buscar algo de ayuda :/
A menudo me suele pasar que no conozco la mayoría de cosas que leo, veo o tengo que hacer. Lo bueno que tienen las cosas técnicas es que siempre puedes recurrir a internet o un libro, sin embargo hay cosas que parece no estar escritas en los libros y si es así desconozco qué términos tengo que poner en google para encontrarlos.
Habitualmente las cosas que desconozco suelen estar relacionadas con la parte de marketing, comercial, blablablabla... esas cosas que para mi son un coñazo. Hasta ahora no ha sido problema, vas aprendiendo las cosas a base de mangarla y no hacer las cosas bien (como en casi todo).
En estos momentos tenemos una oferta de Argentina muy buena, ellos se encargan de todo, nosotros solo ponemos las licencias, eso sí, a costa de firmar un contrato de exclusividad con ellos para diferentes países de suramerica (cosa que no sé si debería reocuparme). El caso es que nos han pedido presupuesto para 300 licencias y sinceramente, no tengo ni zorra de como calcular el precio. Por un lado pienso en que un trato con el exterior seguro que está sometido a otros impuestos diferentes, que al ser una cantidad grande de licencias el precio debe ser menor de lo habitual y que tengo que tener en cuenta que el euro está por las nubes...
Es un dilema, se presenta ante nosotros una oportunidad a priori muy buena, pero no tengo claro como abordarla y tampoco tengo muchas ganas de hacerlo mal en algo tan serio. Quizás necesito buscar algo de ayuda :/
1.08.2008
Los medios dando voz a los informáticos
No soy informático, pero me alegró mucho escuchar el otro día en Punto Radio como un periodista le hacía unas preguntas a un presidente de no sé qué asociación de castilla y león de informática. El tema era el siguiente, renfe había achacado los retrasos del AVE a "problemas informáticos", muy habilmente , el susodicho representante preguntado por la periodista (que por cierto conozco), explicó que estaban cansados ya de las mismas tonterías, pero no, no criticó a renfe por recriminar a los especialistas (o no, confio en que sí), se limitó a poner un símil, algo muy usado cuando te das cuenta que el público en general no tiene ni la más mínima cultura informática. Dijo lo siguiente (más o menos):
"si los retrasos hubiera sido por un problema con las vías el responsable del proyecto, un ingeniero de vaya usted a saber, habría salido a dar la cara, en este caso nadie puede salir a dar la cara en este tipo de proyecto símplemente porque no está reglado". y yo hubiera añadido: "y aunque lo hubiese los periodistas no hubieran sabido a quien preguntar"
Sí señor, bravo por punto radio por dar voz al representante y bravo por el representante por no responder con la niñería "siempre nos echan la culpa a nosotros!" (que también).
Un par de links:
- En esta noticia de terra lo explica bastante mejor que yo, con más datos y más concretos
- en ingenieros de primera, donde algún pobre hombre, lejos de defender a sus "compañeros" les echa mierda por encima.
"si los retrasos hubiera sido por un problema con las vías el responsable del proyecto, un ingeniero de vaya usted a saber, habría salido a dar la cara, en este caso nadie puede salir a dar la cara en este tipo de proyecto símplemente porque no está reglado". y yo hubiera añadido: "y aunque lo hubiese los periodistas no hubieran sabido a quien preguntar"
Sí señor, bravo por punto radio por dar voz al representante y bravo por el representante por no responder con la niñería "siempre nos echan la culpa a nosotros!" (que también).
Un par de links:
- En esta noticia de terra lo explica bastante mejor que yo, con más datos y más concretos
- en ingenieros de primera, donde algún pobre hombre, lejos de defender a sus "compañeros" les echa mierda por encima.
1.06.2008
Sony la ha cagado (ya tengo mi ps3)
Ya tengo la ps3 con el colin mcrae dirty (que en paz descanse). Un juegazo, como todos los colin mcrae, los graficos muy buenos y mejor jugabilidad (quizás influya que he tenido todos los coin mcrae habidos y por haber), sobretodo el modo multijugador, solo empañado por algunos "ha fallado la conexión con el servidor".
La consola promete, solo navegar por los menús da la sensación de que tiene pontencial. Todo era perfecto hasta que vi la caja con este símbolo:

Triste no? por lo menos espero que solo tenga que ver con alguno de los reproductores que lleva integrados.
Por lo demás:
- se tiró más de una hora actualizando a una nueva versión
- aún no he encontrado otro sentido al HD que guardar las partidas e instalar demos de PS store
- Los gatillos analógicos del mando son poco usables, aunque el mando ha ganado enteros (y eso que aún no he probado todos los sensores)
- La consola echa un calor que casi me funde un dvd :P, además pesa como un trullo
- en cuanto tenga un rato instalo linux :)
- voy a seguir jugando...
La consola promete, solo navegar por los menús da la sensación de que tiene pontencial. Todo era perfecto hasta que vi la caja con este símbolo:
Triste no? por lo menos espero que solo tenga que ver con alguno de los reproductores que lleva integrados.
Por lo demás:
- se tiró más de una hora actualizando a una nueva versión
- aún no he encontrado otro sentido al HD que guardar las partidas e instalar demos de PS store
- Los gatillos analógicos del mando son poco usables, aunque el mando ha ganado enteros (y eso que aún no he probado todos los sensores)
- La consola echa un calor que casi me funde un dvd :P, además pesa como un trullo
- en cuanto tenga un rato instalo linux :)
- voy a seguir jugando...
1.02.2008
que pido al 2008
Pues un poco menos de trabajo, o si es posible, hacer el mismo pero con menos trabajo. Tengo tareas para rellenar todo este año y parte del que viene...
Bueno, aquí planteo mis deseos/objetivos/milestones de este año:
- "improvear" mi inglés. Maldito inglés, me cuesta expresarme en castellano como para hacerlo en un idioma en el que todo depende de todo :).
- aprender a decir que no.
- aprender a descansar.
- seguir mejorando agroguía. Tengo muchas cosas en mente que podría hacer, pero todas se quedan en el tintero por falta de tiempo. Quizás es el momento de hacer algo más serio o símplemente dejarlo ahí, mejorando poco a poco y ya se verá.
- como temas un poco más técnicos me gustaría aprender algo más de gestión de proyectos, bastante más de estadísita - me he dado cuenta que una gran parte de la ingenería es estadística :)- y álgebra. Tengo ahí unos cuantos libros pendientes...
Sé que la mayoría de cosas no las lograré, pero tenerlas en mente ya es un paso.
Bueno, aquí planteo mis deseos/objetivos/milestones de este año:
- "improvear" mi inglés. Maldito inglés, me cuesta expresarme en castellano como para hacerlo en un idioma en el que todo depende de todo :).
- aprender a decir que no.
- aprender a descansar.
- seguir mejorando agroguía. Tengo muchas cosas en mente que podría hacer, pero todas se quedan en el tintero por falta de tiempo. Quizás es el momento de hacer algo más serio o símplemente dejarlo ahí, mejorando poco a poco y ya se verá.
- como temas un poco más técnicos me gustaría aprender algo más de gestión de proyectos, bastante más de estadísita - me he dado cuenta que una gran parte de la ingenería es estadística :)- y álgebra. Tengo ahí unos cuantos libros pendientes...
Sé que la mayoría de cosas no las lograré, pero tenerlas en mente ya es un paso.
12.28.2007
blogs&twitter en valladolid
Me llega el siguiente correo:
"""
Hola!
Se va a celebrar el próximo 3 de enero el Blogs&Twitter Valladolid, una reunión para personas que tienen blog, twitter, flickr o participan de cualquier forma en alguna de las muchas redes que hay en la web. Está organizado por el Consejo Provincial de la Juventud de Valladolid y por 5lineas.com
Hay varias fuentes con toda la información:
http://5lineas.com/archivo/internet-web20/blogstwitter-valladolid-el-3-de-enero/
http://www.amapolasdigital.com/blogstwitter-valladolid/2007/12/27/
http://wiki.5lineas.com/blogs_and_twitter_valladolid (el wiki para apuntarse)
http://www.flickr.com/photo_zoom.gne?id=2141779196&size=l (cartel en grande)
Esperamos que te interese y poder contar con tu participación.
Muchas gracias por tu tiempo
Un saludo!
Dani
"""
Me imagino que habrá llegado a mi a través de planet augcyly reproduzco aquí por si alguien está interesado. Parece interesante, no sé si podré asistir :/
"""
Hola!
Se va a celebrar el próximo 3 de enero el Blogs&Twitter Valladolid, una reunión para personas que tienen blog, twitter, flickr o participan de cualquier forma en alguna de las muchas redes que hay en la web. Está organizado por el Consejo Provincial de la Juventud de Valladolid y por 5lineas.com
Hay varias fuentes con toda la información:
http://5lineas.com/archivo/internet-web20/blogstwitter-valladolid-el-3-de-enero/
http://www.amapolasdigital.com/blogstwitter-valladolid/2007/12/27/
http://wiki.5lineas.com/blogs_and_twitter_valladolid (el wiki para apuntarse)
http://www.flickr.com/photo_zoom.gne?id=2141779196&size=l (cartel en grande)
Esperamos que te interese y poder contar con tu participación.
Muchas gracias por tu tiempo
Un saludo!
Dani
"""
Me imagino que habrá llegado a mi a través de planet augcyly reproduzco aquí por si alguien está interesado. Parece interesante, no sé si podré asistir :/
12.25.2007
Feliz navidad versión "art coder"
Llega la moda de felicitad navidad y yo con estos pelos. Aquí teneis un video que he capturado de una intro que hice para un juego que he dejado a medias pero cambiando el texto.
música: wonder
herramientas: blender, ODE, vc++ express, paint
y otra más, un pequeño raytracer para móvil con ambient occlusion (sin filtrar). En un k610i tarda una media hora, no se puede decir que esté muy optimizado.

si alguien quiere el código que lo pida :)
música: wonder
herramientas: blender, ODE, vc++ express, paint
y otra más, un pequeño raytracer para móvil con ambient occlusion (sin filtrar). En un k610i tarda una media hora, no se puede decir que esté muy optimizado.

si alguien quiere el código que lo pida :)
12.17.2007
Grafistas vs programadores (round 1)
Los pobres grafistas de unkasoft, faltos de argumentos, atacan a los programadores con cosas como esta:

Transcribo:
"""
Hay que ser muy hombre para ser grafista...\n por eso soy programador
"""
Agradezco el detalle, como prometí me la pondré, aunque habrá venganza...
Transcribo:
"""
Hay que ser muy hombre para ser grafista...\n por eso soy programador
"""
Agradezco el detalle, como prometí me la pondré, aunque habrá venganza...
12.09.2007
12.03.2007
Consejos para crear tu propio formato de fichero
Cuando programas una aplicación, por pequeña que sea, siempre tienes la necesidad de almacenar ciertos datos que permanecerán durante las sucesivas ejecuciones. Lamentablemente los requisitos y diseños de las aplicaciones cambian y normalmente se ven reflejados en el modelo de datos que tenemos, con el consecuente cambio en la forma de almacenar los datos.
Esto se eleva a la máxima potencia cuando además esos datos son de usuario y se añaden varios problemas más:
- el primero y más importante es que para el usuario sus datos son importantes y no puede perderlos.
- el segundo es que los datos ya no están tranquilamente resguardados en un sitio calentito, van a salir a la calle, VAN A SER MANIPULADOS POR EL USUARIO, serán comprimidos, copiadas, borrados y transferidos.
Hay una serie de puntos que pueden salvarnos de muchos problemas, no son desde luego axiomas, pero a mi me han salvado de más de un problema, aquí van:
- Elige un formato: texto o binario, por un lado el texto nos permite hacer debug rápidamente, hacer cambios a mano, tiene la pega que es más complejo de leer ya que requiere un parseo. Por el contrario el binario para debug es un infierno pero permite una lectura más rápida y además evita que los usuarios sepan más de lo que quieres. Esta pequeña guía es para formatos binarios
- Usa un magic al comienzo del fichero: esto es, unos bytes prefijados por los cuales sepas nada más leer los primers bytes que de verdad es tu fichero. Esto es condición necesaria, pero no suficiente, aunque te quitará de problemas. Un detalle más, el MAGIC si puede ser ascii mejor, de esta forma cuando abrimos el fichero con un editor de texto veremos nuestro magic ahí, lo primerito y sabremos si es un hijo nuestro o no. Probadlo con un PNG, ZIP o similar, todos tienen un magic ascii.
- Usa un número de versión. De esta forma cuando tus datos vayan cambiando tus loader sabrán que hacer con ese fichero en función del número de versión. Además, conviene que tengas dos números de versión, uno que indique que cambia tu formato y otro que diga que el fichero ha cambiado pero que el formato sigue siendo el mismo. En este punto hay un tema bastante interesante: qué hacemos con ficheros que son de versiones anteriores a la actual? tenemos varias opciones, personalmente he usado dos, por un lado tener algo así:
o por otro:
Sinceramente no sabría decir cual de las dos es mejor, en agroguía uso la primera y no me cuesta mucho mantenerla.
- guarda siempre más datos de los que necesites. Salvo que el dispositivo esté muy limitado normalmente dará igual tener un fichero de 500kb que de 600kb y te puede ayudar una burrada. Para qué puede servir esos datos extra? pues por ejemplo para almacenar datos de debug, acciones del usuario, datos internos que es posible que dentro de 4 días te puedan servir. Personalmente a mi los datos de más que guarda la aplicación me han servido para poner la cara roja a más de uno y me ha evitado problemas.
- No te cierres puertas, deja el formato abierto al futuro (pero tampoco demasiado), esto es, organizalo por secciones de forma que dejes secciones para uso futuro, te ahorrás tiempo haciendo conversores y loaders, aunque será un poco más complejo crear el loader la primera vez.
- Utiliza serializer si puedes, en pocas palabras, intenta que el código que guarda y salva ser el mismo siempre, así no habrá problemas de incoherencias entre lo que guardas y lo que cargas. No es fácil hacer un sistema así, sobretodo cuando hay objetos de por medio, el código público del unreal tiene un ejemplo a lo bestia. La idea sería más o menos así:
No es lo más óptimo, pero te soluciona la vida :). También se puede implementar al modo cutre con una macro de c++. Otra forma de verlo en la web de chaos^fr.
- Puede que tus datos ocupen mucho, intenta que cuando lo guardes sean lo más fácilmente comprimibles, un codificador de deltas no es prácticamente nada en código y puede resultar en un ahorro de espacio considerable una vez se ha comprimido el fichero, para por ejemplo enviar por correo.
Seguro que hay mucho más, pero estos son para mi los más importantes. A mi me habría venido muy bien a la hora de no perder el tiempo cuando he tenido que modificar el fichero de save.
Esto se eleva a la máxima potencia cuando además esos datos son de usuario y se añaden varios problemas más:
- el primero y más importante es que para el usuario sus datos son importantes y no puede perderlos.
- el segundo es que los datos ya no están tranquilamente resguardados en un sitio calentito, van a salir a la calle, VAN A SER MANIPULADOS POR EL USUARIO, serán comprimidos, copiadas, borrados y transferidos.
Hay una serie de puntos que pueden salvarnos de muchos problemas, no son desde luego axiomas, pero a mi me han salvado de más de un problema, aquí van:
- Elige un formato: texto o binario, por un lado el texto nos permite hacer debug rápidamente, hacer cambios a mano, tiene la pega que es más complejo de leer ya que requiere un parseo. Por el contrario el binario para debug es un infierno pero permite una lectura más rápida y además evita que los usuarios sepan más de lo que quieres. Esta pequeña guía es para formatos binarios
- Usa un magic al comienzo del fichero: esto es, unos bytes prefijados por los cuales sepas nada más leer los primers bytes que de verdad es tu fichero. Esto es condición necesaria, pero no suficiente, aunque te quitará de problemas. Un detalle más, el MAGIC si puede ser ascii mejor, de esta forma cuando abrimos el fichero con un editor de texto veremos nuestro magic ahí, lo primerito y sabremos si es un hijo nuestro o no. Probadlo con un PNG, ZIP o similar, todos tienen un magic ascii.
- Usa un número de versión. De esta forma cuando tus datos vayan cambiando tus loader sabrán que hacer con ese fichero en función del número de versión. Además, conviene que tengas dos números de versión, uno que indique que cambia tu formato y otro que diga que el fichero ha cambiado pero que el formato sigue siendo el mismo. En este punto hay un tema bastante interesante: qué hacemos con ficheros que son de versiones anteriores a la actual? tenemos varias opciones, personalmente he usado dos, por un lado tener algo así:
loader = loaderFactory.getLoader(fileVersion);
loader.load(file);
o por otro:
if(fileVersion != currentFileVersion) {
migrateFile(fileVersion, currentVersion);
}
loader.load(file);
Sinceramente no sabría decir cual de las dos es mejor, en agroguía uso la primera y no me cuesta mucho mantenerla.
- guarda siempre más datos de los que necesites. Salvo que el dispositivo esté muy limitado normalmente dará igual tener un fichero de 500kb que de 600kb y te puede ayudar una burrada. Para qué puede servir esos datos extra? pues por ejemplo para almacenar datos de debug, acciones del usuario, datos internos que es posible que dentro de 4 días te puedan servir. Personalmente a mi los datos de más que guarda la aplicación me han servido para poner la cara roja a más de uno y me ha evitado problemas.
- No te cierres puertas, deja el formato abierto al futuro (pero tampoco demasiado), esto es, organizalo por secciones de forma que dejes secciones para uso futuro, te ahorrás tiempo haciendo conversores y loaders, aunque será un poco más complejo crear el loader la primera vez.
- Utiliza serializer si puedes, en pocas palabras, intenta que el código que guarda y salva ser el mismo siempre, así no habrá problemas de incoherencias entre lo que guardas y lo que cargas. No es fácil hacer un sistema así, sobretodo cuando hay objetos de por medio, el código público del unreal tiene un ejemplo a lo bestia. La idea sería más o menos así:
class serializer {
public:
bool isReading;
bool serialize(int &i) {
if(isReading)
i = readIntFromFile();
else
writeIntToFile(i);
}
};
class MyClass {
int data;
void serialize(Serializer s) { s.serialize(data); }
}
No es lo más óptimo, pero te soluciona la vida :). También se puede implementar al modo cutre con una macro de c++. Otra forma de verlo en la web de chaos^fr.
- Puede que tus datos ocupen mucho, intenta que cuando lo guardes sean lo más fácilmente comprimibles, un codificador de deltas no es prácticamente nada en código y puede resultar en un ahorro de espacio considerable una vez se ha comprimido el fichero, para por ejemplo enviar por correo.
Seguro que hay mucho más, pero estos son para mi los más importantes. A mi me habría venido muy bien a la hora de no perder el tiempo cuando he tenido que modificar el fichero de save.
Etiquetas:
formatos de fichero,
programación
12.01.2007
agroguía @ innovaduero
Ayer estuvimos todo el día en un stand en innovaduero, un feria que mezcla de una forma un tanto extraña tecnología y turismo y que se desarrolló en Zamora, más concretamente en IFEZA . Nosotros estuvimos allí grancias al foro info rural que nos contactó (gracias a Jaime Gómez Gil).

Nunca había ido a una feria así que fuimos un poco al tuntun, con un proyector, unos videos preparados días antes a toda prisa, unas pda y unos GPS para hacer bulto. Por suerte la organización de innova (los mismos que foro info rural) nos había impreso unos carteles en grande que me preparó Juanma Zarza, aka mr koala (un nuevo compañero de trabajo) a toda prisa y casi sin material, lo cual le agradezco de verdad.

Al llegar nisiquiera estabamos en las listas de inscripción y aquella tenía toda la pinta de que iba a ser un desmadre... menos mal que al final no fue así, la organización nos traó de lujo, nos invitó a un café a media mañana, a comer, unas botellas de vino, etc.
Lo siguiente fue montar el stand, no digo más, una foto:

En el rato de preparación del stand preparé una versión de agroguía para poder enseñar una demo de una parcela y preparé unas transparencias (en powerpoint, claro) para una charla que teníamos que dar horas después y de la que nos enteramos horas antes ;)
La mañana pasó divertida, hablando con los compañeros de stand de los que luego hablaré y explicando una y otra vez en que consistía nuestro proyecto, me entrevistaron en la radio, unos 3 minutos, en los cuales mi "habilidad" no me dejó nisiquiera decir la página web ni un teléfono de contacto. Total... te dejan hablar 3 minutos en la radio y no hacer un mínimo de publicidad es para llamarme tonto hasta aburrirte. Una foto de las presentaciones de por la mañana, están aburridos:

Por la tarde más demostraciones y explicaciones, aquello se conviritó en un coñazo terrible, pero bueno. De compañeros de stand tuvimos a:
- fundación médico rural, una fundación que trata de transmitir la necesidad de aplicar la tecnología a las urgencias médicas en poblaciones alejadas. En resumen, tenían un acuerdo con philips que había creado un monitor de esos del corazón que transmitía los datos a un pc remoto gracias a GPRS y de esa forma un equipo especializado podría ayudar al médico o enfermero de la zona rural a salir del apuro. Lo que me contaron los dos señores que estuvieron allí era muy curioso y la verdad es que da que pensar. Tenemos a alcaldes en la cárcel, se están gastando dinero en gilipolleces y para algo que realmente es interesante y puede ayudar a salvar vidas no hacen ni puto caso. La única que había metido pasta era telefónica para poder compensar las supuestas (o presuntas,muy de moda ahora) enfermedades provocadas por las antenas... ahora gracias a la cobertura se pueden salvar vidas y las antenas dejan de ser peligrosas. De esto sí que se debería hacer publicidad, debería recibir ayudas políticas y económicas y atención por parte de los medios de "comunicación".
- Proxima systems, una empresa que integraba productos de comunicación para aplicación a domótica, video vigilancia y demás. Muy interesante lo que hacían, además tuve la suerte de que eran técnicos y pudimos hablar de algo más que de vender humo y de lo maravilloso que eran sus productos. Muy agradables.
Como curiosidad tuvimos todo el día un segway de esos, además casi en exclusiva, con el que casi nos matamos :). Fue la sensación de la feria.
En resumen, una jornada muy divertida, pudimos conocer a mucha gente y aprendimos bastantes cosas acerca de lo que hacer en una feria.
Decir que un 0 para lo políticos, los cuales llegaron mal y tarde. Como siempre, para hacerse la foto. De mal en peor.
Nunca había ido a una feria así que fuimos un poco al tuntun, con un proyector, unos videos preparados días antes a toda prisa, unas pda y unos GPS para hacer bulto. Por suerte la organización de innova (los mismos que foro info rural) nos había impreso unos carteles en grande que me preparó Juanma Zarza, aka mr koala (un nuevo compañero de trabajo) a toda prisa y casi sin material, lo cual le agradezco de verdad.
Al llegar nisiquiera estabamos en las listas de inscripción y aquella tenía toda la pinta de que iba a ser un desmadre... menos mal que al final no fue así, la organización nos traó de lujo, nos invitó a un café a media mañana, a comer, unas botellas de vino, etc.
Lo siguiente fue montar el stand, no digo más, una foto:
En el rato de preparación del stand preparé una versión de agroguía para poder enseñar una demo de una parcela y preparé unas transparencias (en powerpoint, claro) para una charla que teníamos que dar horas después y de la que nos enteramos horas antes ;)
La mañana pasó divertida, hablando con los compañeros de stand de los que luego hablaré y explicando una y otra vez en que consistía nuestro proyecto, me entrevistaron en la radio, unos 3 minutos, en los cuales mi "habilidad" no me dejó nisiquiera decir la página web ni un teléfono de contacto. Total... te dejan hablar 3 minutos en la radio y no hacer un mínimo de publicidad es para llamarme tonto hasta aburrirte. Una foto de las presentaciones de por la mañana, están aburridos:
Por la tarde más demostraciones y explicaciones, aquello se conviritó en un coñazo terrible, pero bueno. De compañeros de stand tuvimos a:
- fundación médico rural, una fundación que trata de transmitir la necesidad de aplicar la tecnología a las urgencias médicas en poblaciones alejadas. En resumen, tenían un acuerdo con philips que había creado un monitor de esos del corazón que transmitía los datos a un pc remoto gracias a GPRS y de esa forma un equipo especializado podría ayudar al médico o enfermero de la zona rural a salir del apuro. Lo que me contaron los dos señores que estuvieron allí era muy curioso y la verdad es que da que pensar. Tenemos a alcaldes en la cárcel, se están gastando dinero en gilipolleces y para algo que realmente es interesante y puede ayudar a salvar vidas no hacen ni puto caso. La única que había metido pasta era telefónica para poder compensar las supuestas (o presuntas,muy de moda ahora) enfermedades provocadas por las antenas... ahora gracias a la cobertura se pueden salvar vidas y las antenas dejan de ser peligrosas. De esto sí que se debería hacer publicidad, debería recibir ayudas políticas y económicas y atención por parte de los medios de "comunicación".
- Proxima systems, una empresa que integraba productos de comunicación para aplicación a domótica, video vigilancia y demás. Muy interesante lo que hacían, además tuve la suerte de que eran técnicos y pudimos hablar de algo más que de vender humo y de lo maravilloso que eran sus productos. Muy agradables.
Como curiosidad tuvimos todo el día un segway de esos, además casi en exclusiva, con el que casi nos matamos :). Fue la sensación de la feria.
En resumen, una jornada muy divertida, pudimos conocer a mucha gente y aprendimos bastantes cosas acerca de lo que hacer en una feria.
Decir que un 0 para lo políticos, los cuales llegaron mal y tarde. Como siempre, para hacerse la foto. De mal en peor.
11.22.2007
Jugando con fractales
Hacía tiempo que tenía ganas de probar a renderizar un fractal y leyendo ayer en la wikipedia acerca de Mandelbrot vi que el código era muy simple. Después de todo es calcular si una función diverge tras una serie de iteraciones por cada pixel.
He hecho un pequeño código en python para hacer pruebecillas, la verdad que con muy poco código se obtienen imágenes bastante bonitas, de hecho estoy pensando en imprimir alguna y ponerla de poster. Se generan imágenes de este pelo:

El código, necesita PIL y python 2.4 y he dejado algunas funciones para generar animaciones (con un par de hilos para -intentar- aprovechar mi dual core) y 3 ó 4 test de resultados chulos. El código generado HTML a partir del .py usando, como no, vim, la putada es que blogger te mete saltos de linea y hay que quitar los tags br, con un simple replace basta.
import Image;
from threading import Thread;
SIZEX = 1024;
SIZEY = int(SIZEX*2.0/3.0);
NFRAMES = 50;
ZOOMSTEP = 1.0;
def get_color(xx,yy):
x = x0 = xx;
y = y0 = yy;
colour = 0;
iteration = 0
maxiteration = 600
while ( x*x + y*y < 4 and iteration < maxiteration ):
tx = x*x - y*y + x0;
ty = 2*x*y + y0;
x = tx;
y = ty;
iteration = iteration + 1;
colour = float(iteration)/maxiteration;
return colour;
class Palete:
def __init__(self):
self._colors = []
pass;
def addColor(self,color, t):
self._colors.append((color,t));
def getColor(self,t):
#search for color
i = 0;
while(self._colors[i][1] < t):
i+=1;
if(i == 0):
return self._colors[0][0];
else:
t0 = self._colors[i-1][1];
t1 = self._colors[i][1]
dist = t1-t0;
d = (t-t0)/dist;
c0 = self._colors[i-1][0];
c1 = self._colors[i][0];
#print d
color = (c0[0] + d*(c1[0] - c0[0]),
c0[1] + d*(c1[1] - c0[1]),
c0[2] + d*(c1[2] - c0[2]));
return color;
def get_img_fractal(zoom, px,py, palete):
im = Image.new("RGB", (SIZEX,SIZEY))
for x in range(SIZEX):
for y in range(SIZEY):
t = get_color(px + zoom*(-2.0 + 3.0*(float(x)/SIZEX)) ,py + zoom*(-1.0 + 2.0*(float(y)/SIZEY)));
color = palete.getColor(t);
im.putpixel((x,y),(255*color[0],255*color[1],255*color[2]));
return im;
class Fractal(Thread):
def __init__ (self,fractals):
Thread.__init__(self)
self._fractals = fractals;
def run(self):
p = Palete();
p.addColor((1.0,1.0,1.0),0.0);
p.addColor((1.0,0.0,0.0),0.5);
p.addColor((1.0,1.0,1.0),1.0);
for x in self._fractals:
print "generating %.3d.png" % x[3];
get_img_fractal(x[0],x[1],x[2],p).save("%.3d.png" % x[3]);
def animation():
zoom = 1.0;
it = 0;
fractals = [];
for n in range(NFRAMES):
fractals.append((zoom,-0.77028065155993652446, -0.11144667326007166574,n));
zoom = zoom/2.0;
it+=1;
#launch two threadç
f1 = Fractal(fractals[:len(fractals)/2]);
f2 = Fractal(fractals[len(fractals)/2:-1]);
f1.start();
f2.start();
def testColoring():
p = Palete();
p.addColor((1.0,1.0,1.0),0.0);
p.addColor((1.0,0.0,0.0),0.5);
p.addColor((1.0,1.0,1.0),1.0);
get_img_fractal(0.4,-0.77028065155993652446, -0.11144667326007166574,p).save("coloring.png");
def testColoring2():
p = Palete();
p.addColor((0.0,0.0,0.0),0.0);
p.addColor((145.0/255.0,165.0/255.0,192.0/255.0),0.5);
p.addColor((1.0,1.0,1.0),1.0);
get_img_fractal(0.0001,-0.77028065155993652446, -0.11144667326007166574,p).save("coloring2.png");
def testColoring3():
p = Palete();
p.addColor((1.0,1.0,1.0),0.0);
p.addColor((145.0/255.0,165.0/255.0,192.0/255.0),0.5);
p.addColor((0.0,125.0/255.0,244.0/255.0),1.0);
get_img_fractal(0.0001,-0.77028065155993652446, -0.11144667326007166574,p).save("coloring3.png");
def testColoring4():
p = Palete();
p.addColor((0.0,0.0,0.0),0.0);
p.addColor((145.0/255.0,165.0/255.0,192.0/255.0),0.5);
p.addColor((1.0,1.0,1.0),1.0);
get_img_fractal(0.00001,-0.26605838294940658357,-0.65123057178473777796,p).save("coloring4.png");
#testColoring2();
#testColoring3();
testColoring4();
#animation();
He hecho un pequeño código en python para hacer pruebecillas, la verdad que con muy poco código se obtienen imágenes bastante bonitas, de hecho estoy pensando en imprimir alguna y ponerla de poster. Se generan imágenes de este pelo:

El código, necesita PIL y python 2.4 y he dejado algunas funciones para generar animaciones (con un par de hilos para -intentar- aprovechar mi dual core) y 3 ó 4 test de resultados chulos. El código generado HTML a partir del .py usando, como no, vim, la putada es que blogger te mete saltos de linea y hay que quitar los tags br, con un simple replace basta.
import Image;
from threading import Thread;
SIZEX = 1024;
SIZEY = int(SIZEX*2.0/3.0);
NFRAMES = 50;
ZOOMSTEP = 1.0;
def get_color(xx,yy):
x = x0 = xx;
y = y0 = yy;
colour = 0;
iteration = 0
maxiteration = 600
while ( x*x + y*y < 4 and iteration < maxiteration ):
tx = x*x - y*y + x0;
ty = 2*x*y + y0;
x = tx;
y = ty;
iteration = iteration + 1;
colour = float(iteration)/maxiteration;
return colour;
class Palete:
def __init__(self):
self._colors = []
pass;
def addColor(self,color, t):
self._colors.append((color,t));
def getColor(self,t):
#search for color
i = 0;
while(self._colors[i][1] < t):
i+=1;
if(i == 0):
return self._colors[0][0];
else:
t0 = self._colors[i-1][1];
t1 = self._colors[i][1]
dist = t1-t0;
d = (t-t0)/dist;
c0 = self._colors[i-1][0];
c1 = self._colors[i][0];
#print d
color = (c0[0] + d*(c1[0] - c0[0]),
c0[1] + d*(c1[1] - c0[1]),
c0[2] + d*(c1[2] - c0[2]));
return color;
def get_img_fractal(zoom, px,py, palete):
im = Image.new("RGB", (SIZEX,SIZEY))
for x in range(SIZEX):
for y in range(SIZEY):
t = get_color(px + zoom*(-2.0 + 3.0*(float(x)/SIZEX)) ,py + zoom*(-1.0 + 2.0*(float(y)/SIZEY)));
color = palete.getColor(t);
im.putpixel((x,y),(255*color[0],255*color[1],255*color[2]));
return im;
class Fractal(Thread):
def __init__ (self,fractals):
Thread.__init__(self)
self._fractals = fractals;
def run(self):
p = Palete();
p.addColor((1.0,1.0,1.0),0.0);
p.addColor((1.0,0.0,0.0),0.5);
p.addColor((1.0,1.0,1.0),1.0);
for x in self._fractals:
print "generating %.3d.png" % x[3];
get_img_fractal(x[0],x[1],x[2],p).save("%.3d.png" % x[3]);
def animation():
zoom = 1.0;
it = 0;
fractals = [];
for n in range(NFRAMES):
fractals.append((zoom,-0.77028065155993652446, -0.11144667326007166574,n));
zoom = zoom/2.0;
it+=1;
#launch two threadç
f1 = Fractal(fractals[:len(fractals)/2]);
f2 = Fractal(fractals[len(fractals)/2:-1]);
f1.start();
f2.start();
def testColoring():
p = Palete();
p.addColor((1.0,1.0,1.0),0.0);
p.addColor((1.0,0.0,0.0),0.5);
p.addColor((1.0,1.0,1.0),1.0);
get_img_fractal(0.4,-0.77028065155993652446, -0.11144667326007166574,p).save("coloring.png");
def testColoring2():
p = Palete();
p.addColor((0.0,0.0,0.0),0.0);
p.addColor((145.0/255.0,165.0/255.0,192.0/255.0),0.5);
p.addColor((1.0,1.0,1.0),1.0);
get_img_fractal(0.0001,-0.77028065155993652446, -0.11144667326007166574,p).save("coloring2.png");
def testColoring3():
p = Palete();
p.addColor((1.0,1.0,1.0),0.0);
p.addColor((145.0/255.0,165.0/255.0,192.0/255.0),0.5);
p.addColor((0.0,125.0/255.0,244.0/255.0),1.0);
get_img_fractal(0.0001,-0.77028065155993652446, -0.11144667326007166574,p).save("coloring3.png");
def testColoring4():
p = Palete();
p.addColor((0.0,0.0,0.0),0.0);
p.addColor((145.0/255.0,165.0/255.0,192.0/255.0),0.5);
p.addColor((1.0,1.0,1.0),1.0);
get_img_fractal(0.00001,-0.26605838294940658357,-0.65123057178473777796,p).save("coloring4.png");
#testColoring2();
#testColoring3();
testColoring4();
#animation();
11.19.2007
reunión del DOID 17/11/07
El pasado sábado estuve en una de las reuniones que DOID organiza para presentarse. Fue en Madrid, en la sede del medialab, un sitio muy cool, con puertas grandes, todos con mac y gafas de pasta.
En el sitio de congregan para realizar una serie de talleres sobre temas de visualización, la verdad es que los temas que tratan parecen interesantes, precisamente el sábado estaba el creador de processing y unos meses atrás estuvo el proyecto levelhead, sí, el del cubo con webcam.
Al grano, Nae empezó comentando qué era DOID que se había hecho hasta ahora, que empresas lo formaban (tirón de orejas por no incluir unkasoft) y cual eran las directrices.
La exposición pasó a ser un debate en el que cada uno pedía lo que le salía de las narices poco más o menos, unos se quejaban de lo mal que se trata a los empleados, otros de la fama de frikis, las empresas se defendían incluso, ojo al dato, diciendo que se pagaba bien y que se pagaban las horas extras, sí, habeis leído bien. Fue de lo mejor que escuché en ese rato, una empresa que se dedica a temas relacionados con ingeniería (no me gusta la palabra informática) que paga horas extras, eso me impactó realmente. En ese poco tiempo se pidió un servicio de servidores de trac y svn, formación, difusión, apoyo a amateurs... de todo un poco.. ah! y se presentaron dos juegos casuales con muy buena pinta.
Hubo cosas curiosas, como por ejemplo el momento en el que entra juan tamargo, jefe de proyectos de pyro, entonces Nae paró la exposición y le preguntó acerca de un tema interesante, la falta de diseñadores y gestores de proyecto... el fulano le dijo que no venía representando a pyro, respondió brevemente y se piró. Qué momentazo.
En conclusión, hay pocos profesionales, no hay dinero en esta nuestra industria, la gente se va a otros sitios donde se trabaja menos, con menos presión, pensando menos y cobrando más... todas las nuevas empresas que empiezan lo hacen programando para móvil y mucha gente parece que se pasa a nintendo DS.
Una foto del evento tomada de la cuenta de flickr de medialab, donde se pueden encontrar más fotos del sábado.

Enhorabuena a Nae por saber tirar del carro.
En el sitio de congregan para realizar una serie de talleres sobre temas de visualización, la verdad es que los temas que tratan parecen interesantes, precisamente el sábado estaba el creador de processing y unos meses atrás estuvo el proyecto levelhead, sí, el del cubo con webcam.
Al grano, Nae empezó comentando qué era DOID que se había hecho hasta ahora, que empresas lo formaban (tirón de orejas por no incluir unkasoft) y cual eran las directrices.
La exposición pasó a ser un debate en el que cada uno pedía lo que le salía de las narices poco más o menos, unos se quejaban de lo mal que se trata a los empleados, otros de la fama de frikis, las empresas se defendían incluso, ojo al dato, diciendo que se pagaba bien y que se pagaban las horas extras, sí, habeis leído bien. Fue de lo mejor que escuché en ese rato, una empresa que se dedica a temas relacionados con ingeniería (no me gusta la palabra informática) que paga horas extras, eso me impactó realmente. En ese poco tiempo se pidió un servicio de servidores de trac y svn, formación, difusión, apoyo a amateurs... de todo un poco.. ah! y se presentaron dos juegos casuales con muy buena pinta.
Hubo cosas curiosas, como por ejemplo el momento en el que entra juan tamargo, jefe de proyectos de pyro, entonces Nae paró la exposición y le preguntó acerca de un tema interesante, la falta de diseñadores y gestores de proyecto... el fulano le dijo que no venía representando a pyro, respondió brevemente y se piró. Qué momentazo.
En conclusión, hay pocos profesionales, no hay dinero en esta nuestra industria, la gente se va a otros sitios donde se trabaja menos, con menos presión, pensando menos y cobrando más... todas las nuevas empresas que empiezan lo hacen programando para móvil y mucha gente parece que se pasa a nintendo DS.
Una foto del evento tomada de la cuenta de flickr de medialab, donde se pueden encontrar más fotos del sábado.
Enhorabuena a Nae por saber tirar del carro.
11.13.2007
visión de Android desde el punto de vista de desarrollador
Después de ver el SDk de Android puedo decir, desde mi punto de vista de desarrollador para móvil (o casi :P) es lo siguiente:
- google no se ha mojado nada: todo cerrado, ni código fuente de la VM, ni especificación del formato del bytecode ni API para C++. Ya solo esto es muy triste. Creo que hace unas horas era lo más preguntado en el grupo de android. Ahora está la fiebre de "Android programmer wanted!!". Por suerte ya ha gente haciendo hacks para correr aplicaciones compiladas en C.
- todo basado en java: entiendo que hayan tomado este lenguaje porque un mono puede hacerse 5 midlets en media hora, pero tratándose de google me resulta extraño. Seguramente por no hacer cambiar a los desarrolladores para móvil de lenguaje y herramientas. Sinceramente, esperaba C++ con bindings para python.
- Si funciona puede estar muy bien pero si no funciona se quedará en la misma mierda que J2ME pero encima no soportado por todos los fabricantes. Lo dicho, si tiene éxito lo bueno es que probablemente no caigan en los mismo errores que ya se han comentido con el tema de la fragmentación.
- No hay ningún móvil soportado... el emulador es muy bonito, pero ya sabemos que son como la noche y el día
- Por otro lado hay cosas buenas, muy al estilo google, como las diferentes librerías que incorpora, entre ellas OpenGLES (¿quien dijo que OpenGL estaba muerto?), Me alegra ver que han tirado por esta especificación, tengo ya ganas de ver lo que se puede hacer en dispositivos potentes como espero que sean los que corran Android.
PD: sí, la realidad es que java no me gusta nada, me parece un lenguaje que no tiene todo lo bueno de C++ ni todo lo bueno de lenguajes más modernos como python e incluso C#.
- google no se ha mojado nada: todo cerrado, ni código fuente de la VM, ni especificación del formato del bytecode ni API para C++. Ya solo esto es muy triste. Creo que hace unas horas era lo más preguntado en el grupo de android. Ahora está la fiebre de "Android programmer wanted!!". Por suerte ya ha gente haciendo hacks para correr aplicaciones compiladas en C.
- todo basado en java: entiendo que hayan tomado este lenguaje porque un mono puede hacerse 5 midlets en media hora, pero tratándose de google me resulta extraño. Seguramente por no hacer cambiar a los desarrolladores para móvil de lenguaje y herramientas. Sinceramente, esperaba C++ con bindings para python.
- Si funciona puede estar muy bien pero si no funciona se quedará en la misma mierda que J2ME pero encima no soportado por todos los fabricantes. Lo dicho, si tiene éxito lo bueno es que probablemente no caigan en los mismo errores que ya se han comentido con el tema de la fragmentación.
- No hay ningún móvil soportado... el emulador es muy bonito, pero ya sabemos que son como la noche y el día
- Por otro lado hay cosas buenas, muy al estilo google, como las diferentes librerías que incorpora, entre ellas OpenGLES (¿quien dijo que OpenGL estaba muerto?), Me alegra ver que han tirado por esta especificación, tengo ya ganas de ver lo que se puede hacer en dispositivos potentes como espero que sean los que corran Android.
PD: sí, la realidad es que java no me gusta nada, me parece un lenguaje que no tiene todo lo bueno de C++ ni todo lo bueno de lenguajes más modernos como python e incluso C#.
11.10.2007
Crónica (destructiva) del Motodev summit
Seguramente en los próximos días pondremos en el blog de Unkasoft una crónica un poco más suave de lo que pasó allí. Aquí empieza la mía:

Para empezar diré que motodev summit (lietaralment es cumbre) es una serie de charlas sobre la tecnología de Motorola sobre móviles y alrededores. Uno de los eventos era en londres, en un hotel bastante chulo (por fuera) en la zona de Barbican. La verdad que el evento estaba muy muy bien montado, muchas charlas, comida para todos, pantallas indicando lo que había, una zona donde empresas mostraban sus productos (comento más adelante el tema). Como digo, todo bien montado, salvo que en el lunch este de las narices no había mesas para todos (se comía de pie) y una vez terminabas no había sitio para dejar los platos...
Llegamos tarde gracias a british airways, total que nor perdimos las primeras charlas y la primera la pillamos empezada, una sobre un futuro API (JSR 293)para localización. La charla fue muy buena, comentó cosas muy interesantes.
Pero lo bueno empezó a terminar cuando entramos a la charla de optimización de Midlets para J2ME. No quiero poner a caldo al fulano que la impartío, un tal Gerard Palma, pero a los 3 minutos los que estaban viendo la conferencia se rieron de él en toda la cara, se suponía que este tío es experto en JVM... no tenía ni puta idea de optimizar ni de absolutamente nada. Hubo carcajadas en la sesión, sobretodo cuando uno le comentó algo acerca de por qué el motorola V3 (para el que no lo sepa es el peor móvil creado por la raza humana) iba tan como el culo. Patético.
Ya el colmo fue cuando entramos en la charla del sistema de desarrollo que plantea Motorola para sus móviles... una burda copia de EclipseME (un pluggin para eclipse para desarrollo en móvil de forma simple) nos hizo la presentación una tía que era el primer día que cogía eclipse, es que nos enseñó a que tenía autocompletion, lo que tiene uno que ver... no sabía luego lanzar la midlet, etc, lamentable.
Para poner la guinda casi perdemos el enlace en barcelona gracias, nuevamente a british airways, cuyas personas de seguridad me cachearon, por lo menos lo hicieron con cierta gracia, porque el fulano de 2 metros me dijo "ohhh, your lucky day!".
En resumen, si el tal palma este lleva 7 años y es consultor estratégico yo debería ser, como mínimo, director técnico de google. La conclusión es que, aunque no lo parezca, en españa estamos a un buen nivel técnico, sobretodo si nos medimos con la gente que había allí escuchando las charlas, que sabían rato más que los ponentes.
Estoy seguro que aquí podemos organizar unos talleres de optimización de midlets mucho más interesantes...
Para empezar diré que motodev summit (lietaralment es cumbre) es una serie de charlas sobre la tecnología de Motorola sobre móviles y alrededores. Uno de los eventos era en londres, en un hotel bastante chulo (por fuera) en la zona de Barbican. La verdad que el evento estaba muy muy bien montado, muchas charlas, comida para todos, pantallas indicando lo que había, una zona donde empresas mostraban sus productos (comento más adelante el tema). Como digo, todo bien montado, salvo que en el lunch este de las narices no había mesas para todos (se comía de pie) y una vez terminabas no había sitio para dejar los platos...
Llegamos tarde gracias a british airways, total que nor perdimos las primeras charlas y la primera la pillamos empezada, una sobre un futuro API (JSR 293)para localización. La charla fue muy buena, comentó cosas muy interesantes.
Pero lo bueno empezó a terminar cuando entramos a la charla de optimización de Midlets para J2ME. No quiero poner a caldo al fulano que la impartío, un tal Gerard Palma, pero a los 3 minutos los que estaban viendo la conferencia se rieron de él en toda la cara, se suponía que este tío es experto en JVM... no tenía ni puta idea de optimizar ni de absolutamente nada. Hubo carcajadas en la sesión, sobretodo cuando uno le comentó algo acerca de por qué el motorola V3 (para el que no lo sepa es el peor móvil creado por la raza humana) iba tan como el culo. Patético.
Ya el colmo fue cuando entramos en la charla del sistema de desarrollo que plantea Motorola para sus móviles... una burda copia de EclipseME (un pluggin para eclipse para desarrollo en móvil de forma simple) nos hizo la presentación una tía que era el primer día que cogía eclipse, es que nos enseñó a que tenía autocompletion, lo que tiene uno que ver... no sabía luego lanzar la midlet, etc, lamentable.
Para poner la guinda casi perdemos el enlace en barcelona gracias, nuevamente a british airways, cuyas personas de seguridad me cachearon, por lo menos lo hicieron con cierta gracia, porque el fulano de 2 metros me dijo "ohhh, your lucky day!".
En resumen, si el tal palma este lleva 7 años y es consultor estratégico yo debería ser, como mínimo, director técnico de google. La conclusión es que, aunque no lo parezca, en españa estamos a un buen nivel técnico, sobretodo si nos medimos con la gente que había allí escuchando las charlas, que sabían rato más que los ponentes.
Estoy seguro que aquí podemos organizar unos talleres de optimización de midlets mucho más interesantes...
11.04.2007
La demoscene llega a pixar
Un grupo de sceners se han cogido las maletas y se han ido a enseñar algunas de las maravillas que se producen dentro del mundillo. Todos los sitios que visitan, entre ellos nvidia y pixar, quedan reflejados en el blog que han abierto.
Para no llegar con las manos vacías han versionado en 4k la típica escena del flexo de pixar.
Dejo el video de youtube, pero merece la pena bajarse el ejecutable y sobretodo el zip para leerse el "readme" y ver que el coder es un español.
Por youtube se pueden encontrar más versiones, algunas muy divertidas, pero seguro que ninguna en 4kb.
Para no llegar con las manos vacías han versionado en 4k la típica escena del flexo de pixar.
Dejo el video de youtube, pero merece la pena bajarse el ejecutable y sobretodo el zip para leerse el "readme" y ver que el coder es un español.
Por youtube se pueden encontrar más versiones, algunas muy divertidas, pero seguro que ninguna en 4kb.
10.21.2007
¿Qué pasa con EGNOS?
Mucha gente me pregunta qué pasa con Galileo, ese sistema europeo para posicionamiento global que va a solucionar todos los problemas de GPS. Al final nos pasa como con el modelo OSI: los europeos hacemos un modelo basado en una serie de capas, perfectamente especificado, inmejorable... de mientras los estadounidenses montan TCP/IP, lo ponen a funcionar y triunfan.
Lo mismo con GPS pero encima con ventaja. Llegan los americanos con su ejército, sí, ese que usamos los españoles para criticar a USA diciendo que meten un montón de pasta , que si son unos descerebrados... imbéciles de mierda, cómo podemos ser tan tontos, mientras nuestro ejército compra inhibidores de frecuencia ellos posicionan con milímetros de precisión, no me explico como podemos seguir criticando eso... me desvío del tema, mientras los americanos implementan GPS, años después europa plantea un sistema de posicionamiento llamado Galileo, del cual parece que en el 2014 estará funcionando... y solo lleva 3 retrasos. De momento tenemos 3 satélites de mierda dándonos corrección diferencial y encima mala, me explico:
Qué pasa si vas en un móvil y te corrige la posición, pongamos 3 metros, durante un periodo de tiempo. Pasado un rato el satélite desaparece como de la nada y deja de corregir posición... el móvil de un segundo a otro pega un salto de 3 metros. Para eso es preferible mantener un error más o menos constante en vez de estar dando correcciones de mierda...
Total, llevamos un fin de semana en el que tenemos unos errores GPS bestiales sin comerlo ni beberlo y con una quemada considerable. De todas formas no hya mal que por bien no venga, estoy aprendiendo de GPS lo que no está escrito, de hecho voy a montar una estación en mi casa para ver qué error hay a lo largo del día y comprarlo con la corrección que me da EGNOS, la que veo en las gráficas de los GPS fijos de la ESA y la corrección diferencial que da la Junta de Castilla y León.
Lo mismo con GPS pero encima con ventaja. Llegan los americanos con su ejército, sí, ese que usamos los españoles para criticar a USA diciendo que meten un montón de pasta , que si son unos descerebrados... imbéciles de mierda, cómo podemos ser tan tontos, mientras nuestro ejército compra inhibidores de frecuencia ellos posicionan con milímetros de precisión, no me explico como podemos seguir criticando eso... me desvío del tema, mientras los americanos implementan GPS, años después europa plantea un sistema de posicionamiento llamado Galileo, del cual parece que en el 2014 estará funcionando... y solo lleva 3 retrasos. De momento tenemos 3 satélites de mierda dándonos corrección diferencial y encima mala, me explico:
Qué pasa si vas en un móvil y te corrige la posición, pongamos 3 metros, durante un periodo de tiempo. Pasado un rato el satélite desaparece como de la nada y deja de corregir posición... el móvil de un segundo a otro pega un salto de 3 metros. Para eso es preferible mantener un error más o menos constante en vez de estar dando correcciones de mierda...
Total, llevamos un fin de semana en el que tenemos unos errores GPS bestiales sin comerlo ni beberlo y con una quemada considerable. De todas formas no hya mal que por bien no venga, estoy aprendiendo de GPS lo que no está escrito, de hecho voy a montar una estación en mi casa para ver qué error hay a lo largo del día y comprarlo con la corrección que me da EGNOS, la que veo en las gráficas de los GPS fijos de la ESA y la corrección diferencial que da la Junta de Castilla y León.
Suscribirse a:
Entradas (Atom)