Como FBA (FileMaker Business Alliance member) me han mandado mis copias de FileMaker Pro Advanced 11 para Mac y para Windows con su correspondiente número de serie NFR (Not For Resale). Tras comprender las novedades, veo una mejora pobre.
Interesante, tal vez, sea el nuevo demonio de lectura de un documento CSV o TAB, lo cual, si es veloz, puede ser útil para evitar importaciones al trabajar con datos de otras fuentes. Se activa automáticamente cuando se produce un cambio en el archivo CSV o TAB.
Una gran ventaja de RealBasic es que compila para Mac OS X (Intel y Power pc), Mac OS Classic, Windows 32 y Linux. La magia de este entorno de programación es grande, lo que es perfecto para por ejemplo, aplicaciones que son la cara de un motor de bases de datos como PostgreSQL. Pero cuando desarrollamos algo más y nos vemos forzados a afinar mucho es cuando empezamos a descubrir las diferencias entre plataformas. No hablo de mejor y peor, sino de otra manera. Por ejemplo, hemos creado un programa que realiza una acción cuando el usuario presiona una tecla. Pues esto no es universal, lo es a groso modo, pero no lo es si afinamos un poco más, lo explico: puedes encontrar que en una plataforma se manda el evento a tu programa en el momento en el que se hunde la tecla y en otra plataforma se mandará el mismo evento a tu programa, pero será cuando la tecla se suelte. Esto no cambia nada para un programa corporativo, pero para un programa que depende mucho del momento exacto, es una pega. Otro ejemplo, en nuestros programas alternamos entre ventanas, pues puedes encontrarte con que en una u otra plataforma se ejecute antes el código que hayas escrito relacionado con obtener foco antes que el código que hayas escrito relacionado con activar. Para escapar de estas trampas, una solución es capturar el estado de ambos eventos y que tu código se ejecute cuando ambos ocurran. Otra solución es más pesada, crear condiciones según la plataforma, pero esto alarga el código. Para averiguar qué evento se dispara entes en qué plataforma recuerda que RealBasic trabaja con precisión de microsegundos, captura un millon de registros de tiempo cada segundo.
En UTF-16 cada letra o carácter se define con 2 Bytes, en UTF-8 con 1 Byte. Esto es algo a tener en cuenta en RealBasic y en Java. Estoy evaluando una contabilidad en un iMac Power PC que funciona con java. Bien, pues un archivo de texto de TextEdit como texto simple (.txt), no como RTF no es una balsa de salvación en cuanto a pensar que un .txt es algo simple, algo monocolor, no lo es, también tiene “apellidos”. En este sentido el programa TextWrangler es una ayuda eficaz porque permite cambiar la codificación a UTF-8, que en este caso, es lo que necesito. Otro caso de este mismo tema es respecto a RealBasic, imagina que tenemos un txt con formato desconocido (y resulta que es UTF-16), RealBasic lo interpretará como UTF-8, y al leerlo Byte a Byte, no por parejas, pues el resultado es “basura”.
Con Wordpress cuesta muy poco entrar en Herramientas y pedirle que haga una copia de todas las entradas y comentarios. Nos lo entrega en xml en 1 minuto, sencillo y compatible con otro Wordpress.
Un manual de programación moderno y super bien hecho: AppleScript, the mising manual, por Adam Goldstein de O´Reilly con reseña de David Pogue (24,95$ + gastos). Se trata de un libro de programación escrito “para humanos”, claro, didáctico, definido, con niveles diferenciados, con trucos y consejos diferenciados de la exposición normal, rápido de leer y entretenido, con una estructura super bien cuidada que hace fácil saltar al tema que nos interesa. Un libro cuya única “pega” es que deja con ganas de más, entendedme, no defrauda nada, de hecho explica siempre con infinita claridad todo lo que promete y mucho más, lo que ocurre es que sería deseable que existiera una segunda parte que mantuviera esta gran calidad pero que hablara del uso de este sencillo lenguaje dentro de XCode y en relación con sql.
Para los que hemos estudiado Final Cut Pro a través del libro oficial observamos que hay serias diferencias entre unos y otros libros. En el libro de Final Cut Pro 3 no se hablaba de multicámara pero en el libro de Final Cut Pro 5, 6 y 7 sí (me salté el de la versión 4). Lo que me sigue llamando mucho la atención es que en el libro de Final Cut Pro 5 las tomas para trabajar con multicámara eran de una actuación musical grabada creo que con 5 cámaras. Sin embargo en el libro de Final Cut Pro 6 y 7, lo de multi, es porque se trata de tan sólo 2 cámaras. Es por esto que me gusta utilizar el material del libro de Final Cut Pro 5 cuando un profesional “me llama a consultas”. En el curso oficial, claro, doy el material tal como se me dice, pero cada vez que puedo, demuestro con gran placer esa técnica de realización tan espectacular con el viejo material del libro de Final Cut Pro 5.
En el iMac de 2007 de un señor, decidimos comparar el rendimiento del juego Esparta II en el mismo virtualizador, Parallels, bueno, sencillo, Windows 7 era muchísimo más lento. Perdimos el tiempo de probarlo en una instalación limpia en ambos casos, por lo que no hay ningún contaminante, la prueba es clarísma, en Windows XP corre mucho más el juego de pc.
Ayer me encontraba probando un juego de pc, Esparta II, en un iMac de 20 pulgadas de más de 2 años. Este juego me decía su dueño que es de finales del año pasado. Andaba yo seducido con la idea de probar si la promesa de Parallels era cierta. Leí publicidad de Parallels y comentarios en blogs que vendían la bondad de velocidad de Parallels. Decían que Parallels aventajaba a VMWare en aprox. 1/4 porque su virtualización era más por hardware que la de VMWare. Este señor del iMac tenía licencia de VMWare, pero no de Parallels, bueno, fácil, bajé una demo con su licencia de prueba de 15 días y lo probamos. En ambos virtualizadores instalamos el XP SP1 del cliente, las tools del virtualizador y el mismo juego. La experiencia ha sido espectacular, el supuestamente peor VMWare ha resultado muy superior. El señor del iMac borró inmediatamente Parallels y la máquina virtual. Resultó que la “deficiente” virtualización por software ganó por goleada a la “eficiente” por hardware.
El mundo de la programación está plagado de oscurantismo, os pongo un ejemplo: He develado la correcta cadena de envio de sms mediante una llamada http tras combinar las especificaciones de 4 lugares diferentes dentro de la documentación técnica del proveedor. Ninguna de las especificaciones que ofrece en su documentación es correcta. Pero empleando la lógica y simple pérdida de tiempo a base de prueba y error me ha llevado a solucionar el asunto, (que no a solucionar el jeroglifico. Un jeroglífico es de rango superior, pues se prepara con un camino concreto en mente, y sólo uno, no multitud, su respuesta es una, no miles). Es harto incomprensible, además, que alguien que es mi proveedor no conteste a mi pregunta técnica. Le mandé la cadena que cree hace unos días al email de soporte y no han contestado. Y ya común, pero no por ello menos abominable es el que las documentaciones de programación actuales que he estudiado sean todas un esperpento. El único manual de calidad que conozco se imprimió en 1988, el manual de PICK R.83, de hecho es más que bueno, es literalmente perfecto. Lo conservo en mi habitación junto a mis libros de interiorización, las joyas se merecen vivir rodeadas de joyas.
El comando Open URL debe enviar una cadena como esta pero toda seguida, sin espacios ni cr/lf:
http://www.proveeedordesms.com/http/sms/?email=email@registrado.com&pass=contraseña&mobile=600000000&id=900900900
&country=0034&sms=El mensaje que nos da la gana.
Podemos crear la cadena en un programa que se active como queramos, bien al hacer click en un botón, bien al presionar una tecla o combinación de teclas, bien de manera automática al saltar de un campo a otro y demás, en fin, cuando suceda cualquiera de los eventos que FileMaker sabe escuchar.
últimos comentarios