¿Y La iTablet+ Apá?


Poco a poco disminuye la fiebre causada por la mas reciente keynote de Apple, luego de superar los impulsos del momento y con la cabeza más fria ya podemos analizar que nos trajo el regreso de Steve a la compañia de la manzana.

El rumor de la cámara era muy fuerte y ahí si se cumplió pero probablemente no de la forma que se esperaba, ya que todos esperábamos la inclusión de éste dispositivo en el iTouch y no en el iNano. Y hablando del iNano, la radio FM agradó a varias personas pero muchos dijimos: ¿como es posible que la camara grabe video y fotos no? Segun Steve: "Una camara de fotos decente necesita un chip más grande que el de la actual camara del iNano, por lo que no cabe en el dispositivo". Probablemente tenga razón, pero apoco ¿en el iTouch tampoco cabe? De hecho de acuerdo con éste enlace, el iTouch tiene espacio suficiente para incluir una cámara (¿en un futuro?). Quien sabe, tendremos que esperar.

Desde el punto de vista del consumidor fue una buena keynote, trayendo rebajas de precios con expansiones de memoria y capacidad, además de agregados como en el iNano. Desde el punto de vista de los que esperabamos algo más fue un poco decepcionante, como que nos dejaron a medias segun las expectativas. Por ejemplo apostabamos por la cámara en el iTouch en vez del nano, o quizas una nueva versión del iTouch, o hasta la mismísima iTablet, un dispositivo que básicamente sería un iPhone de 10 pulgadas y vendria a ser la apuesta de Apple en el mercado de las ultraportátiles pero nada, nos quedamos como novias de rancho.


Personalmente me pareció decepcionante el regreso de Jobs a la compañia; para la magnitud de productos presentados y su ansiado regreso fue poco. Quizas lo esperabamos con un nuevo dispositivo innovador o bien si el evento iba a ser menor (como al parecer lo fue) no debió presentarse, no se, el regreso de Jobs parecia ser un boom total pero definitivamente no lo fue.

En resumen, del lado del consumidor normal las mejoras valieron la pena. Se golpea menos fuerte el bolsillo, o al menos se obtienen productos más capaces por el mismo precio. Del lado de los anormales, se esperaba un poco más. Más de alguno esperábamos ver a Steve diciendo: "Hola, soy Steve Jobs y sigo vivo. Esta es la iTablet y aquí tienen el iTouch con cámara además de toda la discografía de los Beatles". No me veas asi, soñar no cuesta nada.

El 9 Del 9 Del 2009


Esta fue la fecha elegida por los de Cupertino para lanzar su actualización de productos. El evento en esta ocasión fue meramente musical, mostrando en cuestion de software actualización de iTunes como suite multimedios completa ahora en su versión nueve con soporte para gestionar las apps del iTouch/iPhone, iTunes LP y soporte tambien para Facebook y Twitter, actualizacion de la iTunes Store que actualmente es la tienda de musica digital número 1 en el planeta, nuevos juegos para el iPhone / iTouch tales como Assassin's Creed 2, Riddim Ribbon, Nova y Madden NFL. Pero vámonos al hardware que es lo relevante de este evento.


El iPod Classic aumenta su capacidad hasta 160GB y tiene un costo de $3889 varos mexicanos...ehm... si; eso es todo -_-!.

El iPod Shuffle baja un poco de precio y presenta nuevos colores, por los siguientes precios:

  • 2GB - $949

  • 4GB - $1249

  • Para el iTouch desaparece el modelo de 16GB y los precios actuales bajan, con el fin de dar lugar al nuevo modelo de 64GB quedando los precios de la siguiente manera (esto en varitos mexicanos):

  • 8GB - $3099

  • 32GB - $4699

  • 64GB - $6189

  • En el caso de 32 y 64GB los audifonos tienen control remoto y microfono, además de que el aparato en si está hecho con el hardware del iPhone 3Gs, es decir se desempeña más rapido y tiene el sistema operativo iPhoneOS 3.1


    El iPod Nano en su quinta versión incluye cámara de video (literalmente de video, ya que NO saca fotos), radio FM, altavoz y nuevos colores metálicos. El costo queda asi:

  • 8GB - $2349

  • 16GB - $2849


  • En el siguiente articulo viene el análisis de éste evento.

    Snow Leopard: Grand Central Dispatch


    Oh! que tiempos aquellos cuando comprabas un procesador y se lo andabas presumiendo a tus cuates (el procesador): “mira mi procesador, es Pentium III a poco más de 700 MHz, a las pocas semanas salía Pentium 4 y tu frustración no podía ser mayor. Con cada nueva versión más y más megahertz o incluso gigahertz de frecuencia de reloj, y asi hasta que llegó el momento que físicamente no se pudo mas.

    Seguramente habrás notado que de un tiempo para acá, los procesadores no han aumentado sus frecuencias mucho que digamos, lo más que recuerdo es un procesador Core 2 Quad a 3.06GHz; sin embargo aumentar el número de núcleos parecer ser la tendencia, ya que al aumentar la velocidad del reloj se genera más calor y hay mas consumo de energía (lo cual preocupa a los usuarios móviles). Esto significa menos horas chateando sin requerir de un cargador.

    Iniciamos con 2 nucleos, actualmente el estándar es 4. Para los mas exigentes, léase gamers existe una cosa brutal llamada Core i7 o bien AMD Phenom del lado de la competencia. A lo que voy es que actualmente los limites físicos han impedido hacer procesadores más rápidos, y en su lugar se han ido agregando más núcleos.


    El problema aquí es que los sistemas operativos actuales no aprovechan del todo los núcleos de los procesadores, por la misma razón expuesta en el articulo anterior: el computo paralelo. Si eres programador sabrás que programar una aplicación multiproceso, multitarea o multithreaded como dicen los gringos, es una tarea no muy fácil que digamos. Esto ha generado a lo largo de la historia grandes problemas que han sido motivo de estudio en asignaturas de sistemas operativos por ejemplo, si estudiaste sistemas recordarás los interbloqueos entre procesos o deadlocks, condiciones de carrera y otros dolores de cabeza al respecto.

    Para los cuates, una aplicación multitarea debe dividirse en varios threads a bajo nivel. Un thread básicamente es una porción de código que se ejecuta de manera independiente al resto del programa. Lo difícil es cuando 2+ threads intentan usar un recurso al mismo tiempo y bueno… esto parece un libro de Tanenbaum, mejor hablemos del leopardo.

    Snow Leopard presenta una nueva tecnología (¿cuantas veces he escrito eso?) que intenta exprimir hasta la ultima gota de procesamiento de tu pequeño juguete, y es llamada Grand Central Dispatch. Su objetivo es liberar al programador del rollo necesario para gestionar los threads de sus aplicaciones, de manera que en el código solamente indique cuales líneas van a ejecutarse dentro de un thread y listo, el felino hace el resto.

    Blah, blah, blah. Pero a mi como usuario final ¿para que me sirve eso? Como mencionaba en el articulo anterior, si una aplicación no está segmentada en threads, aunque tengas un procesador de 8 nucleos, tu programa correrá de manera secuencial casi igual que si no tuviera threads. Al segmentar el código, cada nucleo puede procesar una parte distinta del código logrando mayor rapidez y eficiencia de ejecución.


    De esta forma, si todas las aplicaciones de Snow Leopard van a ser migradas a Grand Central Dispatch, teóricamente el desempeño debe ser brutal, pues GCD va un paso más alla en la gestión de threads. Normalmente si tu aplicación está segmentada digamos en 15 threads, todos están ocupando espacio en memoria, pero en el caso de GCD libera los recursos de los que no se están ejecutando, es decir, tu Mac no se alenta por procesos ociosos.

    Grand Central Dispatch es una tecnología única en su tipo, que permitirá un desempeño tremendo del sistema operativo, haciendo que las aplicaciones sean sumamente responsivas y rápidas. Otra idea genial por parte de los de Cupertino.

    Bonus: Con este articulo termina el análisis de Snow Leopard en su semana de lanzamiento. Como ves es una actualización que “por fuera” no notarás grandes cambios, pero por dentro ya conoces cuales son los cambios que se vienen. Es cierto que el proceso de migración de aplicaciones a este top 3 de tecnologías llevará algo de tiempo, pero solo nos queda esperar a que los desarrolladores se pongan las pilas. Imagina cualquier aplicación corriendo en modo 64 bits, con graficos y cálculos apoyados por OpenCL y segmentado en N-threads gestionados por Grand Central Dispatch…… Excitante, sencillamente, excitante…

    Snow Leopard: OpenCL


    Open Computing Language es un tandem formado por un lenguaje de programación y una API (Application Programming Interface), que están basados en el paralelismo a nivel de datos y de tareas, cuya finalidad es distribuir las cargas de trabajo entre la CPU y la GPU. What the fuck was all that shit????

    Para los cuates CPU es Central Processing Unit (no mi estimado n00b, CPU no es la cajota donde metes los cds que está al lado de tu monitor) y GPU es Graphics Processing Unit; pero ya fue suficiente verborrea técnica, vamos con un poco de historia. A finales de la decada de los 80 y principios de los 90 salian al mercado los primeros juegos para computadora, los cuales debido a las limitantes de hardware no eran muy vistosos que digamos (aun asi, nos tenian pegados a la computadora por horas), ¿quien no recuerda Space Invaders o el primer Need For Speed?. Pronto, los desarrolladores quisieron incluir mucho más realismo a sus creaciones y el procesador por si solo no alcanzaba para procesar (valga la expresion) tantos calculos necesarios para el renderizado de poligonos y texturas en la pantalla, lo cual ha llevado a crear juegos tan exigentes de hardware como los que hay en la actualidad.


    De esta manera nacieron las tarjetas gráficas o tarjetas de video, como un ayudante de la CPU, la cual basicamente se encargaria de realizar los calculos relativos a las aplicaciones tridimensionales, librando a la CPU de estas tareas y ocupandolo en el procesamiento del resto de actividades, tales como gestionar el teclado, mover el mouse, atender los servicios/daemons del sistema operativo, etc. En la actualidad la labor de la GPU no ha cambiado tanto desde entonces, si no juegas mucho o editas video muy seguido, probablemente tu GPU está siendo desperdiciada, si acaso renderizando las transaparencias de la interfaz AERO o Aqua o los efectos de Compiz Fusion; pero en general no realiza mucho trabajo. Todo esto hasta ahora.


    OpenCL presenta una tecnologia bastante interesante la cual en pocas palabras intenta hacer que la GPU tenga poco tiempo de ocio y no sea utilizada solamente en aplicaciones 3D. Es decir, cuando no se este jugando (por ejemplo) y estes realizando tareas ofimaticas la idea es que la GPU ayude al procesador y entre los 2 realicen el procesamiento de manera paralela, agilizando drásticamente el desempeño del sistema. Si tomamos en cuenta el poder de calculo de una GPU actual, de un madral de FLOPS (Floating Point Operations Per Second), aunado al desempeño de un procesador multinucleo, en teoria el sistema debe andar pero en chinga.


    Nuevamente el problema actual es que las aplicaciones deben estar programadas para soportar este tipo de procesamiento (más informacion sobre computo paralelo en el proximo articulo de esta serie), y para ello Apple ha incluido en Snow Leopard la API que mencionaba. Su intención es que no todo el código de las aplicaciones tenga que reescribirse sino solamente una parte, esto con el fin de que el sistema operativo pueda decidir qué segmento de codigo se ejecuta en la CPU y qué segmento en la GPU.

    OpenCL es un estandar abierto para programación en paralelo muy interesante. Esperemos que pronto los desarrolladores migren sus aplicaciones a este paradigma y finalmente se puedan exprimir los componentes de hardware como se debe.

    Snow Leopard: 64 Bits


    Mucho se ha hablado de los procesadores, arquitecturas y buses de 64 bits. Suena bien, en computacion más es mejor pero ¿para que diantres me sirve como usuario un procesador o arquitectura de 64 bits?

    La caracteristica mas notable es la eficiencia. Piensa en un procesador de 64 bits como una carretera de 8 carriles en lugar de 4; probablemente los autos no circulan más rapido pero pasan más autos por segundo (qué claridad de explicación, seguramente nunca te habian explicado 64 bits de esa forma).

    Otra característica son las limitantes de la memoria RAM. 32 bits alcanzan para direccionar un espacio de aproximadamente 4GB de RAM (no voy a hacer las cuentas ahora, consigue una calculadora binaria y hazlo tu mismo). Si tienes 4GB o más de memoria RAM en tu computadora y haz instalado un sistema operativo de 32 bits (digamos Windows) notarás que no reconoce toda tu RAM y te marca entre 3.3 y 3.7 GB de RAM (y te sentiste robado); he aqui el ejemplo del problema de direccionamiento. Por cierto con 64 bits, el límite de memoria RAM es de 16 billones de gigabytes, es decir es decir 16 exabytes. Suena exagerado, pero si hace 5 años alguien te decia que tendría 4GB de RAM en su computadora le preguntabas si estaba drogado

    Es importante aclarar que aun si tu sistema está corriendo en modo 64 bits, si las aplicaciones no están programadas en 64 bits, de poco te sirve. En el caso de Snow Leopard, la transición se está realizando paulatinamente. Las aplicaciones que aun son de 32 bits son:

    • iTunes

    • Grapher

    • Front Row

    • DVD Player

    Las aplicaciónes que ya están en 64 bits son:

    • Finder

    • Dock

    • Mail

    • TextEdit

    • Safari

    • iChat

    • Address Book

    • Dashhboard

    • Help Viewer

    • Installer

    • Terminal

    • Calculator

    • y todo lo demás

    Snow leopard es capaz de correr en modo 32 bits o 64 bits, pero uno a la vez, ya que en tiempo de ejecución un proceso pertenece solamente a uno de estos 2 modos y carga codigo de bibliotecas, plugins, etc. unicamente de ese tipo.


    Snow Leopard por defecto arranca en modo 32 bits, de hecho no cualquier Mac puede arrancar en modo 64 bits. Las macs compatibles son:


    Si tu Mac es compatible, para entrar en modo de 64 bits al momento del arranque mantén presionadas las teclas 6 y 4 (qué creativo este truco). Para volver al modo 32 bits... exacto, manten presionadas las teclas 3 y 2.

    Como ves, el tema de 64 bits es muy extenso pero en general se resume en eficiencia de procesamiento e incremento de los límites de cálculo del sistema ya sea para direccionar memoria RAM o bien para que el kernel trabaje mas cómodamente.

    Opera 10 Turbocharged


    Ayer martes salió la versión definitiva del navegador más infravalorado del mundo (como alguna vez lo comenté) nuevamente innovando en características como ya es costumbre de éste equipo de desarrollo noruego. Alguien en alguna ocasión decía: "si quieres saber qué características van a traer las próximas versiones de los navegadores, instala la versión actual de Opera". Opera tuvo un periodo larguísimo de desarrollo para poder lograr esta versión, pero considero que valió la pena.

    Nueva interfaz: Mejor diseñada, visualmente más atractiva y con nuevo logo. No me digas que éstas cosas no te interesan.

    Opera Turbo: Es un modo que permite compactar la información que se envía entre el cliente y el servidor de manera que se mejore el desempeño en conexiones lentas.

    Reubicación de la barra de pestañas: Es posible colocarla en cualquiera de los cuatro extremos de la pantalla, muy util sobre todo a los lados en pantallas widescreen. Esta característica probablemente sea pirateada por Firefox en un futuro.


    Previsualización de pestañas: Si antes ya tenia previsualización al hacer Ctrl+Tab (lo cual Firefox también está pensando piratear) o bien al pasar el mouse sobre las pestañas, ahora es posible hacer más grande la barra de pestañas para obtener una previsualización ahi mismo.

    Presto 2.2: Nuevo motor de renderizado mucho más rápido que Opera 9. Lo he probado en Windows 7 y creeme que va rapidísimo.

    Mejora de Speed Dial: La cual fue pirateada descaradamente por Google Chrome y luego por Safari 4.


    Mejora de Opera Link: Esta característica es la ley. Sirve para sincronizar en la nube tus favoritos e historial. Por cierto Google esta trabajando para piratearla proximamente en Chrome.

    Además del resto de caracteristicas como Cliente de Correo, Chat IRC, Lector de Feeds RSS, Gestos del Mouse, Manejo por Voz, Cliente de BitTorrent, Sesiones de Navegación, Zoom Completo, Widgets, Varita Mágica para gestión de contraseñas (ésta última también es la ley, sobre todo para los que tenemos que autenticarnos en 10 sitios diariamente)... en fin.

    Si tienes problemas con flash, instala la última versión de Adobe Flash Player para que Opera muestre correctamente éste tipo de animaciones. También te sugiero cambiar la opción que viene por defecto para la carga de las páginas de "Dibujar luego de un segundo" a "Dibujar inmediatamente".


    Opera es un muy buen navegador con muchas características bastante interesantes incluidas de fábrica (Firefox fans: estamos hablando del navegador recien instalado sin extensiones) que vale la pena probar, personalmente me parece excelente, lástima que no tenga la cuota de mercado de los demás navegadores. Lo puedes descargar desde http://www.opera.com/browser.