Archive for the ‘Programación’ Category

Adobe: Como desquitarse de Apple

Friday, April 30th, 2010

En las noticias de la industria ha podido verse una marcada confrontación entre Apple y Adobe por la renuencia del primero a permitir que el iPhone corra aplicaciones Flash, y el posterior sabotaje al limitar los lenguajes de programación con los que pueden crearse aplicaciones para el iPhone y compañia. Pocas veces se ha visto un esfuerzo tan grande por mantener fuera del juego a una empresa, y con argumentos tan débiles  y a la vez hipócritas (me refiero a las últimas declaraciones de Steve Jobs sobre Flash y por que no es conveniente para la plataforma permitir otras herramientas para desarrollar aplicaciones para el iPhoneOS).

No es la primera vez que Apple y Adobe tienen rencillas: hace algunos años el pleito mas sonado fue la alianza Apple-Microsoft con el fin de desarrollar la tecnología de fuentes True Type para no depender de las fuentes Adobe Postscript. Adobe respondió de una forma muy parecida a la actual, desarrollando el ATM o Adobe Type Manager para Windows y MacOS, pero este esfuerzo no fue exitoso y True Type terminó dominando en los sistemas operativos de escritorio. Menos mal que según el libro “Accidental Empires”, John Warnock, fundador de Adobe, fue una figura paterna para Steve Jobs.

Últimamente mi arrogancia es tan grande que me atrevo a darle consejos a las empresas, así que mi consejo para Adobe: lancen todo el Creative Suite para Linux e inviertan para asegurarse que este último cuente con todas las características necesarias para corrección de color, impresión, etc. Esto sería un buen golpe para Apple. Asimismo podrían crear un convertidor de código fuente que traduzca los fuentes de aplicaciones Flash hacia el iPhone SDK, con esto pueden saltarse la restricción de Apple y aprovechar la toda la inversión existente en aplicaciones Flash. Adobe ya mostró algo similar cuando presentó Flash CS5, en la forma de un convertidor de animaciones Flash hacia HTML5; Cualquiera de estos 2 caminos erosiona la relevancia de Flash como plataforma y relegándolo como una herramienta de desarrollo únicamente.

¿Que tan costoso en esfuerzo y dinero podría ser esto? muy costoso, pero Adobe esta siendo atacado en varios frentes y sus tecnologías se están viendo limitadas a participar en un segmento de gran crecimiento, como lo es el de los dispositivos móviles. Si bien aún tiene oportunidades con Android, el marketshare de Apple en este segmento es muy significativo y tenderá a crecer ahora con el iPad.

CarPC 2.0

Tuesday, May 20th, 2008

Hace ya más de 2 años que construí la primer versión del proyecto CarPC, lamentablemente no duró mucho tiempo instalada en mi carro, ya que la desmonté para hacer una actualización importante al diseño y desde entonces no conseguí tener tiempo para dedicarle al proyecto, la CarPC permaneció en una gaveta mientras idea por idea solucioné muchas de las dificultades técnicas para lograr el nuevo diseño.
Los cambios que deseaba incorporar eran básicamente eliminar el CPU debajo del asiento (lo cual también implicaba pasar una gran cantidad de cables entre la pantalla, el sistema eléctrico  y el CPU) y montando el motherboard Mini-ITX en el mismo chasis donde se encuentra montada la pantalla LCD, junto con la fuente de poder inteligente y el disco duro, de esa manera se asemejaría más a un head unit integrado, sin dependencias en componentes externos.

El espacio en el chasis es ajustado y el motherboard cabe con apenas milímetros de holgura, lamentablemente no había espacio para el disco duro y la fuente, por lo que era necesaria una solución creativa para aumentar el "terreno" disponible dentro de chasis. Finalmente tuve la idea de montar unos rieles de los que se utilizan para tabla roca, para crear un "segundo nivel" y elevar el motherboard, con el beneficio adicional de que los conectores del motherboard, que originalmente interferirian con un ducto de ventilación, ahora estarían arriba de este, permitiendo el montaje sin mucha dificultad.

Otros cambios importantes al diseño incluyeron:

  • Por el limitado espacio, eliminar el DVD-ROM/CD-RW, ya que enfrentemoslo…los CD/DVD van para afuera, y si quiero transferir grandes cantidades de información, lo puedo hacer una memoria flash, un iPod o un disco duro externo (especialmente para películas)
  • Cambio del GPS Pharos/Microsoft por una unidad Wintec BT-200 mas preciso y  compacto
  • Agregar conectividad a internet mediante GPRS/EDGE
  • Automatizar acciones utilizando una herramienta de software (AutoHotKey) para responder a eventos y enviar comandos a las pantallas (tal como responder a ventanas o cuadros de diálogo emergentes, reiniciar programas cuando la computadora hiberna o se restaura, ingresar contraseñas, conectarse/desconectarse a Internet cuando se conecta un telefono al puerto USB
  • Lograr una mejor integración entre Google Earth y el GPS
  • Actualizar los componentes de software
  • Instalar un Head Unit Sony Xplod con capacidad de reproducción MP3, puerto USB para conectar un Ipod o memoria Flash, asi como una entrada auxiliar con enchufes RCA, lo que me permitiría conectarle la salida de audio de la CarPC y utilizar el amplificador del Head Unit.
  • Instalaciòn de un hub USB 2.0 y un bracket para agregar 2 puertos USB dentro del chasis de la CarPC

Lamentablemente si espero hasta tener listo el artículo completo, terminaré no publicando nada como en otras ocasiones, ya que últimamente he tenido problemas de tiempo, por lo que dejo este artículo como una introducción. En posteriores entregas ampliaré sobre cada uno de los cambios y nuevas funciones, además intentaré grabar un video de la CarPC en acción.

Hasta la próxima.

Intenté hackear a Google, Google me hackeó a mí

Saturday, April 15th, 2006

Debido a mi interés en el sistema de posicionamiento global (GPS por sus siglas en inglés) y su aplicación en el proyecto CarPC, desde hace un tiempo he venido investigando el funcionamiento de Google Maps para desarrollar un programa que componga, sin intervención manual, un mapa satelital de El Salvador utlizando los mosaicos individuales a zoom completo de Google Maps. Luego este mapa puede ser utilizado para proyectar en tiempo real la ruta y posición geográfica de un vehículo en movimiento. La tarea no es trivial, ya que hay una codificacion en los parámetros de las URLs que hay que generar, la cual se explica en este sitio y en este otro. El responsable del segundo sitio, creador del hack "largemaps" recibió una carta de "cesar y desistir" firmada por el departamento legal de Google Inc. demandando retirar del sitio los programas en lenguaje PERL para descargar los mosaicos y "coserlos" en el orden apropiado, por esa razón he decidido que no publicaré mis scripts, lo siento… Programé 2 algoritmos usando Python, uno recursivo para generar los QuadTrees partiendo de un mosaico "padre", y otro que trabaja linealmente dándole la direccion de un mosaico de inicio; ambos funcionaron muy bien, pero lento, ya que descargaban los mosaicos secuencialmente. Decidí hacer más interesante el programa, agregándole funcionalidad de multithreading o "Multi-hilos" de esa manera los mosaicos se descargarían en paralelo. Una vez completada la programación lancé 10 hilos simultáneos dándole servicio a una cola…el resultado: Google se dio cuenta de los accesos fuera de lo normal y bloqueo mi segmento de red! …en fin, ese mismo día cambiaba de proveedor de Internet.

Estadio Flor Blanca (baja resolución)
Composición de 5×4 de la zona del Estadio Mágico Gonzáles (ex-Flor Blanca) en San Salvador. (hacer click para versión de alta resolución)