See you on the 7th… ¿qué esperar realmente hoy de Apple?

Hoy a las 19:00 hora peninsular (España) tendrá lugar una nueva keynote de Apple (verla en directo). Más allá de los metros de scrollbars que han corrido sobre lo que se presentará, me gustaría compartir con todos la verdadera lista de cosas que se esperan para hoy (por dar un toque de realidad humorística):

  • Tim Cook comenzará diciendo “Good morning! Good morning! Thank you very much for coming.”
  • Algún ejecutivo de Apple dirá “I’m really excited to be here today to talk about…”
  • Phil Schiller dirá “This is the most powerful iPhone ever”.
  • (Sir) Jony Ive hablará en un vídeo sobre el diseño del nuevo iPhone vistiendo una camiseta gris clara.
  • Tim Cook llevará puesto el último modelo de Apple Watch (con correa blanca ¡por supuesto!).
  • Craig Federighi repetirá todo lo dicho en la WWDC 2016 y será el mejor presentador de la noche.
  • Eddy Cue se callará en por lo menos dos ocasiones esperando los aplausos que tardarán 1 segundo en llegar.
  • Estará el empleado de Apple encargado de aullar “uh uh” en algún momento de la presentación.

Esto por ir a lo seguro, ¡aunque realmente pueden pasar muchas cosas más! ¡Feliz keynote day!

¡Volando! tic() … toc()

En estos días he descubierto un gran lugar donde aprender y practicar nuevas técnicas de programación y mejorar nuestra habilidades: hackerrank.com. De ahí he podido, además, sacar una comparativa de rendimiento de lenguajes de programación basada en el entorno de compilación / ejecución que se le asignan a cada lenguaje en las máquinas virtuales (ver entorno).

Se puede ver que los lenguajes a los que se les da menos tiempo de ejecución (por ende los más rápidos) son: C, C++ (de esperar), Objective-C (esperable), Pascal (curioso, pero no de extrañar)… y… ¡tarán! ¡Swift!. Además, todos ellos están en el mínimo de memoria (512MB), aunque en este caso sí es de notar que muchos otros lenguajes se suman al carro (salvo Go con 1GB, y en los problemas más exigentes, Java 7 y Python con 1GB, ¡Java 8 con 2GB!).

Y si queréis leer un poco más de Swift, podéis entrar en la página oficial del lenguaje.

OS X: crear DMG (servicio)

Como regalo de Navidad os dejo un servicio de OS X que he creado para crear un disco DMG a partir del contenido de un directorio (o si hay varios directorios seleccionados, creará un fichero por cada uno).

Para instalarlo basta con descomprimirlo y copiarlo al directorio ~/Library/Services (en Finder, abrir el menú Go (Ir) mientras se presiona la tecla de Opción (alt), y elegir Library (Biblioteca). Como veis, tengo mis sistemas en inglés, dejo el servicio con el nombre en ambos idiomas.

Descargar (español)

Descargar (inglés)

Si tenéis algún problema, dejad un comentario y procuraré resolverlo.

Qué fácil es morder una manzana que ya está mordida

Ayer el ABC (España) publicó un artículo titulado “Los últimos traspiés de Apple” en el que se mencionan diversos fallos de la compañía en la última semana, a saber:

  • “Los nuevos iPhone 6 Plus son endebles y se doblan con solo llevarlos a los bolsillos” (el ya conocido como #bendgate)
  • Fallos en la actualización a iOS 8.

Como siempre, hacer titular criticando a Apple es fácil, tan fácil que cualquiera puede hacerlo, no se precisa especial experiencia ni talento para ello. ¿Os digo la fórmula? busco algo que Apple haya hecho mal (o que lo parezca), me olvido de investigar a fondo el asunto, pongo que la compañía se cae a pedazos o similar, y lo publico.

Empecemos con el #bendgate: 10.000.000 de unidades vendidas en un fin de semana, 9 reclamos ¡catástrofe! 0,00009% de los clientes han reclamado ese fallo con su terminal. ¡Es el fin! ¡Ah!, pero no se menciona nada de que Consumer reports (una muy valorada y seria web de valoración de productos) concluye que los iPhone 6 y iPhone 6 Plus son lo suficientemente resistentes para su uso cotidiano y todo este asunto no es más que una tremenda exageración mediática. Por cierto, para quien no sepa, Consumer reports fueron los mismos que se quejaron del problema de la antena del iPhone 4. ¿Cómo no voy a considerar este asunto de la “flexibilidad” como una simple oportunidad periodística de tener 5 palabras de gloria?

De iOS 8, como siempre un titular es un resumen que corta mucho y suele dejar la puerta abierta a grandes malinterpretaciones. iOS 8 fue lanzado limpiamente. Punto. Los dos problemas relacionados no afectaron a los usuarios como lo pinta el artículo; bueno, es que ni siquiera los menciona sino que salta a la “castástrofe”, y generalizando problemas puntuales de algunos usuarios como males presenten en todos y cada uno de los terminales.

Bueno, a saber, los “problemas” de iOS 8 fueron: la actualización OTA (over-the-air) requería 4GB libres, un valor muy alto pero más nada, y un bug detectado que afectaba a HealthKit fue controlado simplemente bloqueando temporalmente dicha funcionalidad. Punto. Sin más problemas.

Por otro lado, iOS 8.0.1 pretendía solucionar el citado problema de HealthKit, y ahí hubo un problema más serio (por resumir, se dice que el encargado de control de calidad de los despliegues de iOS es el mismo de los mapas, lo cual explicaría todo y no debería ser extraño ver a ese personaje con una caja de cartón a las puertas de Infinite Loop 1). Grave fallo, sí, pero se controló, se frenó la actualización, se dieron instrucciones para revertir el proceso, y en 12 horas salía la versión 8.0.2, solucionando esos fallos (por si ya habías instalado la 8.0.1), abriendo HealthKit y corrigiendo otra serie de fallos, normal en versiones nuevas de sistemas, pero aún así adelantando el calendario previsto.

Apple no es una compañía perfecta, pero suele hacer las cosas bien, a su ritmo, con sus reglas. La historia ha demostrado que pocas veces tiene caídas gordas, que de hasta ésas se levanta, que sus saltos suelen ser mucho mejores que sus traspiés, y que incluso al saltar suelen llevarse consigo a toda una industria (¿Macintosh, iPod, iPhone, iPad?). Dejemos ya de ver en los fallos (sutiles, grandes o inexistentes) el apocalipsis de la compañía y de hacer noticias que lo único que hacen es dar una mala imagen del periodista. Y si se hace noticia, que sea bien documentada. Si no, parece que sois de la secta anti-Apple.

Sonido de arranque de los Mac

Este es un post clásico en el mundo de usuario de Macs y no pretendo añadir nada novedoso, simplemente comentarlo entre los seguidores de este blog.

El famoso chime de los Mac al arrancar es más un sonido de “diagnóstico”* que una característica esencial para el usuario. De hecho, por mi parte encuentro que algunas veces puede ser hasta molesto, no para uno, sino para los que están alrededor, por ejemplo si encendemos nuestro MacBook Air en una biblioteca, si nos despertamos antes que el resto de la familia y encendemos el iMac de la sala. Y es que el sonido de arranque tiene el mismo volumen que el ordenador cuando lo apagamos por última vez; imaginad que pasa si estabais viendo una película o escuchando vuestro disco favorito: la jefa de la biblioteca puede que nos traspase con la mirada al encender nuestro Mac.

La solución básica a este inconveniente: acordarnos de bajar el volumen o dejar el sonido apagado, en mute. Pero seamos honestos, no siempre nos acordamos, o nuestro sobrino fue el último en jugar Call of Duty y lo dejó a tope.

Existen utilidades que permiten desactivar el sonido de arranque, aunque por debajo lo que hacen casi todas es ejecutar la siguiente línea de comandos. Para los que no estéis familiarizados, abrid la aplicación “Terminal” en una cuenta de usuario con permisos de administrador y escribid la siguiente línea y presionad enter (se os pedirá vuestra clave):

sudo nvram SystemAudioVolume=%80

¡A disfrutar de un arranque discreto y silencioso!

* El sonido de arranque indica que los sistemas más básicos del ordenador se han inicializado correctamente y marca el punto en el que el resto del sistema operativo se ejecutará. Algunos diagnósticos técnicos requieren que en este momento se presionen determinadas combinaciones de teclas. Normalmente no hay ningún problema porque al sonido le acompaña el hecho de que la pantalla se enciende, pero para los más auditivos, podéis simplemente revertir al estado original ejecutando:

sudo nvram -d SystemAudioVolume

Hacking

Salió hace unos días la noticia de que habían logrado “hackear” el Touch ID del iPhone 5s: los medios se hicieron eco, los blogs hervían, algún amigo ya bromeaba sobre el tema, ¡y hasta se entregó un cuantioso premio y todo! Lo curioso (y lo que me da qué pensar), es que realmente lo que hicieron no fue explotar un agujero de seguridad del sistema biométrico, ni encontrar la forma de recuperar la huella desde el “enclave“.

Lo que realmente hicieron fue clonar el dedo del usuario, por cierto de una forma bastante sofisticada y que parece estar dentro de una metodología de ensayo y error. ¡Venga! es como que se declarara “hackeada” una puerta porque alguien hizo un duplicado de la llave. Toda la vida los sistemas biométricos han tenido el punto flaco de la imitiación. Touch ID resistió el conocido ataque de los ositos de gominolas, pero si se consigue duplicar el patrón de la “llave” no hay forma de evitar el “ataque”.

Todos los sistemas biométricos (y los basados en tokens) deben estar asociados a otros sistemas más robustos para reducir el impacto de estas clonaciones. El caso de Touch ID no es diferente y Apple ha puesto medidas de seguridad que a mi parecer son más que suficientes:

1) La clave de desbloqueo será solicitada después de reiniciar el dispositivo, para cambiar la configuración de huellas y después de haber pasado 48 horas desde el último desbloqueo del dispositivo.

2) La clave para compras (contraseña del Apple ID) será solicitada después de reiniciar el dispositivo, al introducir o borrar huellas, y después de 5 intentos fallidos de escanear la huella digital. Con esto último aseguramos que nuestra tarjeta de crédito no será víctima de ensayos y errores por parte de asaltantes.

3) En caso de robo o pérdida, el dueño del teléfono podrá desactivar Touch ID mediante “Find My Phone“. Obviamente, debe ser activado antes de perder el teléfono ;)

4) Aunque no es una medida como tal, recomienda vivamente que, tanto se use Touch ID como si no, se use una clave más fuerte que un código de 4 dígitos, especialmente si tenemos información sensible en el dispositivo.

Así que serenidad todo el mundo, el sistema sigue siendo tan seguro como lo permita nuestro sentido común.

Low-cost vs lower-cost

A ver… a ver… ¿cuándo dijo alguno de los directivos de Apple que el iPhone 5c fuese “low-cost”? ¡Los únicos que han dicho eso son los medios de comunicación y los blogs! Y normal que la gente se moleste por el precio, pero se molestan contra algo que Apple no ha dicho, sino contra un rumor que la gente se comió, sin pensar ni por un momento que sería eso, un rumor. En ningún momento de la presentación, ni de los vídeos promocionales, ni en la página web se dice “low-cost”, en ninguna parte.

En todo caso, el iPhone 5c es un “lowER-cost”, y nadie se ha puesto a pensar que lo mismo hubiese ocurrido si el iPhone 5 hubiera seguido en el mercado: 100$ más barato como dicta la tradición. Sí, que han cambiado el aluminio por plástico reforzado, pero han dado una opción que no existía hasta ahora y que, si recordáis bien, mucha gente pidió: colores, además de hacer algunas pequeñas mejoras como la batería y la cámara frontal.

Además, creo que hay algo de lo que no se habla: el iPhone 5c es un teléfono nuevo, no un modelo antiguo que se sigue vendiendo. Eso implica que se mantendrá “vigente” durante el mismo tiempo que el iPhone 5s, no hay “miedo” a comprar algo “obsoleto”. Por otro lado, los que tenemos un iPhone 5 tendremos la consecuencia colateral de que le han dado a nuestro teléfono, y gratuitamente, al menos un año más de vida.

Resumiendo: dos productos nuevos, uno más barato que otro, eso es todo. ¡Dejad de llamar low-cost a lo que nunca fue low-cost!