
A través de Hacker News llego una vez más a la web del gran “Dan Bricklin”, uno de los creadores de VisiCalc. Entre las fotos hay una que me hizo gracia.
En la foto estan Dan y el padre de “Bob” (el otro coautor) charlando, y al fondo un Apple 2, como no podía ser de otra manera y … un pequeño monitor… ¡coño y tan pequeño! Ahí esta Dan programando VisiCalc con ese monitor y luego miro mi mesa y me encuentro con dos pedazos monitores y el portatil… en total yo creo que unas 10 veces mas superficie visual que “Dan”…. y además para desarrollar otras cosillas que no son precisamente el estupendo y original Visicalc. Soy fanatico de los monitores grandotes y en duplicado…. pero despues de esta imagen ya no puedo seguir pensando aquello de que cuanto mas monitor más productividad.
Despues, ya recuperado de la verguenza me encuentro en la misma página con este código.

Traduzco literalmente el párrafo referente al código que se puede encontrar en la página: http://www.bricklin.com/history/saiearly.htm
“… cada linea representa como máximo una instrucción. La llamada a la subrutina “poll_keyboard” era muy importante. Como Bob Frankston describe “No hay interrupciones ni reloj en el Apple 2″. Si el usuario tecleaba un caracter justo antes de que el buffer de entrada de teclado fuese vaciado, éste se perdería… Para evitar que se perdiesen caracteres cuando el usuario tecleaba muy rapido durante períodos donde la CPU estuviese a tope, se checkeaba el buffer en medio de las cada potencialmente largas iteraciones..”
Código genialmente comentado con un “not to lose keystrokes…”
Con el “Eclipse” tengo mas de 200 columnas de caracteres en el editor… contando que tengo otras barras verticales abiertas que si las quito quedaría en casi 300 columnas! … luego miro mi código y veo tanto espacio desperdiciado que podía ser utilizado para los comentarios…
y no dejo de imaginarme a “Dan” con sus 24 lineas de 40 columnas…, quizas con el cartucho de expansión a 80 columnas….
Hace algunas semanas abrí el cajón de los desastres donde suelo guardar ideas webesféricas que por alguna razon no pasaron el filtro para ser realizadas y me encontré con una que quedó en el olvido, justo debajo de otra que aunque recordaba perfectamente caducó al haber sido implementada en las ultimas semanas unas tropecientas veces (y algunas con exito).
La olvidada idea, que supongo yo no me pareció en su día lo suficientemente atractiva la encontraba ahora muy mejorada, como si alguien hubiese corregido y mejorado lo que en su día, y sigo suponiendo, no encontré aliciente para desarrollar.
Así que manos a la obra me puse a desarrollarla y pronto me encontré con lo que (supongo) me encontré la última vez. La idea tenía diversos matices que la complicaban y la hacían un poco engorrosa de ejecutar. En ese momento y pensando en la idea que estaba justo encima y que no desarrolle, me di cuenta que quizas tuviera que continuar aun pensando ahora que la idea que me parecio buena, pero no tan buena, y que la olvidé para despues rescatarla, ya no me parecía tan buena (una vez mas).
La idea, que ahora esta en un 50% desarrollada tiene sus carencias y sus limitaciones, pero esta vez no me frenaran (sigo suponiendo) y aunque piense que no es la mejor, “es lo que hay”, asi que aquí estoy, picando código.
Y es que si yo fuera un inversor de capital riesgo no hubiera invertido ni en Twitter, ni en Del.icio.us ni en FriendFeed ni en tantos otros servicios que en principio parecen tan absurdos pero que ahí estan. Aun recuerdo mi reacción la primera vez que vi un blog… “Menuda mierda! si solo es una web con un calendario!”
Asi que dado que los dos hemisferios del cerebro nunca se ponen de acuerdo sobre que es una buena idea y que no lo es, he tomado la decision de hacer solo caso a una de las mitades de mi cerebro (no me acuerdo que lado era) y seguir adelante, la otra mitad se encargará unicamente de poner el servidor y la base de datos.
Bien es cierto que mientras la desarrollo tengo cierta sensación de que por algunos momentos ambos lados han llegado por fin a un acuerdo y la idea que me parecio buena, pero no tan buena y la olvidé para despues rescatarla no es al fin y al cabo tan mala idea…. supongo.

… mona se queda, Renovando que es gerundio o no por mucho estilizar se descarga mas temprano.
Un cambio que tenía mas o menos preparado hace tiempo y que por falta de un hueco no podía subirlo al servidor. El nuevo “look” de Podsonoro mas a lo “red social” (es la moda), aunque con practicamente las mismas funcionalidades, ya esta disponible en tu browser favorito… bueno en Opera sigue dando problemas.
Requetecambios:
- “Mis favoritos” ahora se llama “Mi lista”. Quedaba un poco confuso y ademas a Cinefilo no le gustaba lo de “favoritos”.
- Player de flash nuevo… mas largo y ocupando menos espacio
- Ahora la anchura de la pagina a pasado a ser de 980 pixels (pa que quepa to!)
- Probando probando al final he quitado muchos <div> que han pasado a ser <table> Atencion: NO hacer esto nunca! Yo lo he hecho por vago! puedo prometer y prometo que no lo haré mas!.
- Estoy guardando ahora el historial de los Top, no se muestra pero quizas en un futuro muy lejano lo utilize junto con el google Chart API para hacer algun grafiquillo.
- Los destacados de cada categoría ahora esta en funcion de un complejo algoritmo basado en el Kernel del VIC-20, antes lo ponía a dedo… lease los que mas me gustaban. Pero los tiempos cambian que es una barbaridad y parece ser que ahora hay que tener en cuenta lo que la peña va escuchando en la web, etc. mas rollito 2.0. En el momento de probarlo mi podcast favorito ya no salía en la categoría de tecnología.
- Cuando no estas logueado solo puedes hacer un comentario cada 10 minutos(*), a no ser que sepas javascript en cuyo caso si que puedes.
- No puedes logearte con otro nombre de usuario, a no ser que uses MySQL injection, que entonces si que puedes (junto con otras cosas, que casi prefiero que no pruebes).
- etc, etc
y como decía bugs bunny… esto es todo amigos
Esta mañana recibí un correo de mi hosting:
Hi.
Your host server, stopped responding. We had it restarted. After the restart hda had been marked as failed in the raid1 array. Shortly after the restart we noticed disk errors on hdb. Meaning that the raid1 array was suspect/possibly broken. We have seen a similar thing on another server before. We think it can indicate an issue with the mainboard or memory or CPU……. bla bla bla
Me confirmarón habían cambiado el servidor y puesto un backup de hace unos 10 días, que era lo último que tenían.
Mal rollito… pensé.
Inmediatamente llamé al Director de Seguridad y Gestión de Incidencias de Podsonoro, y aunque lo hize insistentemente, no me cogió el teléfono. Pensé que quizas en este periodo vacacional estaría ocupado comprando regalos. Mas tarde y quizas debido a una intuición que solo aparece en estos casos de urgencia me di cuenta que no existía tal Director de Seguridad y Gestion de Incidencias de Podsonoro. Cogí el coche y raudo y veloz me dirigí a las oficinas de Podsonoro para ver si encontraba a alguien que todavía no hubiera comenzado las vacaciones de Navidad, despues de varias vueltas a la manzana por fin encontre un sitio donde aparcarlo, era zona azul, no tenía tiempo para comprar el ticket, el tema era grave y urgía una solución. Subí las escaleras corriendo, agotado llegue al piso 21, pero… ahí no había ninguna puerta… ni siquiera había escaleras… ni edificio, no entendí como podía haber subido hasta ahí, si ahí no había nada.
Volví al coche, afortunadamente no tenía ninguna multa. No entendía como podían pasar estas cosas, así que repasé mentalmente el manual del gran “Fuckowski”. Pronto empezé a entender que no había ni director de seguridad, ni oficinas, ni planes de contingencia, ni servidores redundantes, que era tan solo una web2.0 y que como tantas otras esta hecha con mucho cariño pero pocos medios.
Cuando llegué a casa busque una copia de seguridad. Encontré una de hacía 6 días, un poco mas reciente que la que pusieron en la compañia de hosting. “Algo es algo” dije para mis adentros, solo se han perdido datos de 6 días, nuevos usuarios, favoritos, estadísticas, comentarios, etc, etc.
“Habrá que hacer los backups diariamente“, pensé. Cogí un postick y anoté: “Mañana, llamar al Director de Seguridad y Gestion de Incidencias de Podsonoro y comentarle que haga backups cada día“.
Lo mejor de un SDK es que solo hay uno.

…y lo peor de programar para un móvil es que hay cientos… Asi que ya veremos como funcionan las cosas una vez android este corriendo por el ancho mundo de la incompatibilidad, hasta ahora solo los SMSs son lo único que funcionan en todos lo móviles.


Siempre que he pensado que algo iba a ser la tecnología del futuro por la que había que apostar, siempre, siempre he fallado, jamas acierto…. pero esta vez, al menos solo esta vez, creo que va a ser diferente.
Para empezar a jugar con el SDK y familiarizarme con los Activity, Intent, etc,etc, he empezado con el notame, utilizando en parte lo que ya tenía para el midlet.
Si hay alguien interesado os podeis descargar las fuentes del notame para android (version 0.00001).
En definitiva creo que es bastante divertido el android… y recordad que hay 10 millones de $ en premios!!
VIC-20: ¿Me estas emulando?
Nokia 9300: Si
VIC-20: y ¿Que sientes?
Nokia 9300: Es una sensación diferente, como si ya no necesitase un NOP para descansar, ahora espero cada ciclo, saboreo cada instrucción y disfruto de lo que hago.
VIC-20: y ¿Me entiendes ahora cuando no comprendía que quisieras mas recursos?
Nokia 9300: Si, creo que si….
El otro día estaba mirando como iban las últimas especificaciones tecnicas de la JSR-234 (Mobile Media API) y decidí empezar a desarrollar algo con lo poco que me acordaba de J2ME, al menos como método de desoxidación (y como preambulo para algo relacionado con podsonoro). Así que me puse a programar un MIDlet para “Nótame” pues hacía algun tiempo leí en el blog de Meneame que había una API disponible y todavía no había ningun MIDlet que la utilizara.
Esta es la version 0.3 0.31 0.32 0.40 (alpha
, se trata de un sencillo cliente para poder envíar “notas” y leer las notas con el teléfono móbil. El código fuente está disponible bajo licencia Afero (la del meneame).
Algunos datos:
- Código fuente: Descargar todo
- Instalación: Descargate el JAR y pasalo a tu móbil o apunta por WAP al http://www.vloj.com/notame/Notame.jad para descargarlo por OTA.
- Funcionamiento:
Añadir en la opcion de Configuración tu nombre de usuario, clave API (necesaria para envíar notas) y tu user id (necesario para ver las notas de tus amiguitos…)
Una vez realizado es muy simple, o bien mandas una nota nueva o ves todas las notas o seleccionas las de tus amigos… ya esta.
El móbil (como casi siempre..) pedirá el tipo de conexión (GPRS / WLAN) y voila!
- Algunos detalles:
Ejem… es una version alpha
- En principio solo se necesita móbiles con J2ME(MIDP-1.0 y CLDC-1.0) por lo que mas o menos tendría que funcionar en todos los móbiles, aunque en futuras versiones ya solo será válido para MIDP-2.0. Solo lo he probado con algunos terminales en principio de la serie S60 N91, E61, y algunos de la S40 (Nokia 6103),etc y funcionan. Con móbiles mas antiguos (ej. 6300) habran algunos pequeños problemas:
- Las notas no se alinean correctamente
- Hay que dar el OK para cada petición desde el teléfono que se realize,
- El entorno gráfico es mínimo… pero he preferido hacer algo sencillo y general, apto para todos los móbiles inicialmente.
- Faltan muchos controles de errores. Por ejemplo cuando no puedes envíar una nota por que tu karma es menor de 6.1… (je je esto me ha impedido testear el envío de notas… aunque en localhost funciona…) el programa lo dá como válido pues no lee la respuesta.. (si la hay).
- He utilizado dos librerías externas… XML Pull parsing (http://www.xmlpull.org) y el kXmlParser de Stefan Haustein. He cogído una versión antigua (de hace 3 años…que es la que conocía y tenía, aunque probablemente no haya cambiado mucho). En un futuro pasaré a utilizar las definidas en el API JSR-172, así que se reducirá bastante los móviles aptos (ej. S60 2nd Edition FP3 y superiores la tienen).
- Posibles mejoras:
Muchas… Todas… (actualización automática, añadir shortcuts de amigos, mejorar interface de usuario, etc, etc)
Actualización: Gracias por los comentarios y sugerencias recibidas. Ya está disponible la actualización para corregir el error de las notas de “Amigos”.
Actualización II: Había un error al parsear el alt en los smileys de tipo “:->” pues trataba el > como fin de tag. Ahora ya esta arreglado.
Leyendo la transcripción del D5 (Bill Gates and Steve Jobs)
[Vaaaale.... ya se que esto no es twitter....]
La célebre frase “Dame un punto de apoyo y moveré el mundo”, hacía referencia a la ley de la palanca de Arquímedes y que al parecer apareció escrita en uno de los manuscritos de la Colección Matemática de Pappus de Alejandría. Una frase genial a la que estoy seguro todos hemos referenciado y adaptado alguna vez en relación a muchas de las situaciones que nos encontramos día a día.
Una de las adaptaciones que mas me gusta sería algo así como “Dame un libro y ….. “. Un libro es sin duda la herramienta mas utilizada por los autodidactas. En mi caso, a veces por razones que todavía no entiendo, aparecen impulsos por conocer algun tema en particular o hacer algo que desconozco pero que por alguna extraña razón sé que quiero hacerlo. Me ha ocurrido con muchos casos que en principio han formado parte de lo que ahora son “mis hobbies” o en algunos casos mi trabajo, como podría ser la música, la informática, mecánica, aeromodelismo, ciencia, etc, etc. Lo primero que he hecho siempre que tengo este “mono” es ir a la librería especializada de turno y comprar un(os) libro que traten sobre el tema. Al final he acabado con unos cuantos libros, revistas especializadas etc que reflejan lo que algun día conocí, y lo digo en pasado por que al menos en mi caso mi memoria es transitoria, algo así como un buffer, olvido tan rapidamente lo aprendido como aprendo nuevas cosas, pero en cualquier caso los libros ahí estan como si de un diario personal se tratasen.
El ciclo es el siguiente:
- Quiero hacer algo sobre un tema
- Compro libro relacionado con el tema
- Lo hago
- Lo olvido
En informática siempre pasa lo mismo, me da por un proyecto y siempre recurro a los libros (ahora logicamente tambien esta internet… pero es diferente). Os pongo 3 ejemplos, el primero con Podsonoro me basé en los siguientes libros que compre (no todos a la vez claro).

Queda alguno sobre CSS que no está y no se donde lo tengo
pero en definitiva Podsonoro está desarrollado en PHP, Javascript, Flash y Perl (aunque cada vez queda menos de Perl) y con MySQL como base de datos.
Cuando me dió por hacer un 3d engine para symbian el “set” fue el siguiente.
Por cierto el libro del medio es muy bueno, al menos para alguien que no estaba metido en el tema de 3d engines como yo fue muy muy claro y con ejemplos extremadamente sencillos, mientras que el de Everly “3D Game Engine design” no había por donde cogerlo, demasiadas matemáticas y formulitas. A mi lo que me interesa de un libro es que lo pueda utilizar para mis propositos inmediatos sin tener que llegar a ser un experto en la materia, “3D Graphics programming” de SAMS es justo lo que necesitaba, ejemplos claros y explicados con lenguage sencillo y sin demostraciones matematicas y teoremas.
Hasta aquí todo perfecto. “Dame un libro y … construíre un programa” funciona, Arquímedes cientos de años antes había dado en el clavo, todo iba bien hasta que un día me desperté con unas inquietudes bastante diferentes… quería aprender a tocar Jazz con el piano.
El principal inconveniente es que hasta el momento solo sabía algo de guitarra, principalmente algunas escalas pentatónicas, acordes y poco más, no tenía piano ni mayores conocimientos de solfeo o armonía, asi que compré una buenas dosis de libros (y un piano claro). Algunos de los libros que compré fueron los siguientes:


Los libros de Mark Levine, “The Jazz Piano book” y “The Jazz Theory book” son excelentes, toda la teoría del Jazz, explicada perfectamente, escalas, improvisación, reharmonización, etc. Así que con mis libros y mi piano recien comprado me dispuse con mi nuevo “hobbie” con la certeza de poder conseguirlo. Pero no pude… dedicaba algunas horas al día (de esto hace ya unos cinco/seis años), los libros estaban bastante bien, asi que me encontraba con algo extraño y que nunca me había pasado antes. Si tenía el “punto de apoyo”, ¿Por qué lo que oía era pura bazofia?. Una situación bastante diferente a todo lo que antes había experimentado con los libros, querer y no poder… digamos que “jode”, al final acabe en el “Taller de musics de barcelona” que dejé al cabo de 2 años, ya que un día me desperté con las ganas de desarrollar algo… otra vez.
No me considero un negado para la música, pero reconozco que fuí incapaz de aprender, a veces no bastan los libros ni las ganas, quizás solo fuese una cuestion de tiempo, posiblemente se necesite una vida entera (o más) para aprender “Jazz”. De hecho “Bill Evans”, famoso pianista citó: “Yo creo en las cosas que se desarrollan mediante un gran trabajo. Siempre me han gustado las personas que se han desarrollado lentamente y con voluntad, especialmente a través de la introspección y mucha dedicación. Son éstas personas las que generalmente llegan a un lugar mucho mas profundo y bonito”
Así que supongo que si Arquímedes y Bill Evans se pusieran de acuerdo, llegarían a la conclusión que el “punto de apoyo” es el …. , vaya se me hacer tarde y tengo que ir a comprar un libro.


Comentarios Recientes