Funda para iPod Top Secret





Era un típico día gris a finales de 2005. Estaba sentado en mi lugar de trabajo escribiendo código para la próxima versión del iPod. De repente, sin llamar, el director de software del iPod, el jefe de mi jefe, entró corriendo y cerró la puerta. Fue directo al grano: “Tengo una tarea especial para ti. Tu jefe no sabe nada de esto. Ayudarás a dos ingenieros del Departamento de Energía de EE. UU. A construir un iPod único. Sólo me informas a mí ".



Al día siguiente recibí una llamada de la recepción y dije que había dos hombres esperando en el vestíbulo. Bajé para encontrarme con ellos. Eran Paul y Matthew, ingenieros que querían construir su propio iPod. Me gustaría decir que vinieron con lentes oscuros y miraron los reflejos de las ventanas para asegurarse de que no los siguieran, pero no, solo eran los ingenieros más comunes de treinta años. Los dejé entrar y nos dirigimos a la sala de conferencias.





No trabajaban para el Departamento de Energía, trabajaban para la división Bechtel, un importante contratista de defensa del Ministerio. Querían agregar su propio equipo al iPod y grabar los datos en el disco. Además, querían disfrazar todo para que, desde fuera, pareciera que se trata de un iPod normal.



Hicieron todo el trabajo, mi trabajo consistía en brindarles la ayuda que necesitaban de Apple.



Me enteré de que un funcionario del Departamento de Energía se había puesto en contacto con el vicepresidente senior de hardware y le había pedido ayuda para construir iPods modificados. El vicepresidente senior envió una consulta al vicepresidente de la división de iPod, quien se la pasó al director de software del iPod, y él vino a verme. A mi jefe le dijeron que estaba trabajando en un proyecto especial y que las preguntas eran inapropiadas aquí.



Antecedentes



Fui el segundo programador contratado para el proyecto del iPod cuando salió a la luz en 2001. En ese momento, al marketing de Apple no se le ocurrió el nombre de iPod, y el producto tenía el nombre en código P68. El primer programador más tarde se convirtió en director de desarrollo de software para el iPod, fue él quien vino a mí con esta tarea. Escribí un sistema de archivos para el iPod y luego una base de datos SQLite que mantenía un registro de todas las canciones. Con el tiempo, trabajé en casi todas las partes del sistema operativo del iPod, excepto en los códecs de audio, que convertían MP3 y AAC en sonido.



(Estos códecs de audio fueron escritos por dos ingenieros graduados de Berkeley y Stanford. Cuando no discutían entre ellos sobre qué universidad era mejor, estaban escribiendo un código lleno de matemáticas que tenía miedo de tocar. No permitirías que un ingeniero normal se meta con este código. además de no dejar que un mecánico de bicicletas arreglara la caja de cambios de un Porsche. De vez en cuando jugaban al póquer y yo iba con ellos. La única razón por la que no perdí todo mi dinero fue porque uno de ellos estaba disfrutando del vodka.)



Compilación del sistema operativo iPod desde la fuente, arrancar en un dispositivo, probar y depurar es un proceso complejo. Cuando un nuevo ingeniero viene a nosotros, le damos una semana para que se ocupe de él antes de comenzar a darle asignaciones.



El sistema operativo del iPod es independiente y no se basa en otros sistemas operativos de Apple, como el clásico Mac OS o Darwin, cuyo núcleo Unix es el núcleo de macOS, iOS, iPadOS, WatchOS y tvOS. El hardware original del iPod se basa en una plataforma de hardware que Apple compró a Portal Player. Portal Player proporcionó aspectos de bajo nivel del sistema operativo iPod, como administración de energía, controladores de disco y un kernel en tiempo real (con licencia de Quadros). Apple también compró partes de alta gama del iPod OS de Pixo. Pixo fue fundada unos años antes por un ex ingeniero de Apple con el objetivo de crear un sistema operativo universal para teléfonos móviles y venderlo a empresas como Nokia y Ericsson. El código de Pixo se lleva bien con GUI y texto Unicode (que es muy importante para la localización),gestiona la memoria y gestiona los eventos. Por supuesto, con el tiempo, los ingenieros de Apple han modificado este código, reescribiendo la mayor parte.



El iPod OS está escrito en C ++. Dado que este sistema operativo no admite aplicaciones de terceros, no había documentación pública sobre cómo funciona el sistema operativo.



Finalmente, el equipo de desarrollo de iPod se ejecutó en Windows. Apple no tenía herramientas para el desarrollo de ARM en ese entonces, porque eso fue antes del iPhone. El equipo de desarrollo usó herramientas de ARM Ltd y solo funcionaron en Windows y Linux.



Mi trabajo consistía en coordinar el trabajo de Paul y Matthew para lanzar un sistema operativo con el que nunca habían trabajado antes.



Comienzo rápido



Reservé una oficina vacía para Paul y Matthew en nuestro edificio. Pidió a IS&T (departamento de TI de Apple) que configure la red de la oficina para que solo puedan conectarse a Internet y no tengan acceso a la red interna de Apple. El Wi-Fi de Apple siempre está "fuera" de la red interna. Incluso si se conecta a Wi-Fi dentro del edificio, aún necesita una VPN para acceder a la red interna. No era un contrato y una colaboración de pago entre Apple y Bechtel, Apple estaba ayudando al DOE de manera no oficial. Y el acceso en tales condiciones era limitado.



No hace falta decir que Paul y Matthew no tenían acceso al servidor de origen. Les di una copia de la versión actual en DVD del código y les expliqué que el disco no puede salir del edificio. Además, se les permitió almacenar una versión modificada del iPod OS, pero no la fuente modificada.



Apple no les proporcionó ninguna herramienta de hardware o software. Les di las especificaciones técnicas para las computadoras con Windows, que necesitan junto con un compilador ARM y un depurador JTAG. También compraron varias docenas de iPods para el trabajo.



Al igual que con todos los edificios de Apple, todos tenían que presentar una placa antes de entrar para poder abrir la puerta y entrar al edificio. Cada piso tenía otra puerta y un lector de credenciales, por lo que solo entrarían personas con autorización de seguridad.



Todos los días, Paul y Matthew me llamaban desde el vestíbulo porque no tenían pase. Los admití como invitados y los acompañé a su oficina. Terminé obteniendo pases de vendedor para ellos, como si quisieran vender café o papas fritas a Apple. De esta manera ya no tuve que acompañarlos todos los días. Soy programadora, no niñera.



Nuestra mejor gente



Paul y Matthew eran inteligentes , quizás los mejores , y con un poco de ayuda lo descubrieron lo suficientemente rápido. Les mostré cómo configurar herramientas de desarrollo, construir un sistema operativo desde la fuente y cómo cargarlo en un iPod. Hemos realizado algunos pequeños cambios en la GUI para que puedan ver exactamente qué compilación están ejecutando. También le mostré cómo trabajar con el depurador de hardware JTAG, que era lo suficientemente exigente. Y se sumergieron en su trabajo.



Al examinar el sistema operativo, explicaron lo que querían hacer, al menos en términos generales. Agregaron un equipo especial al iPod que genera datos y querían registrar datos de él. Hicieron todo lo posible para que yo no viera este equipo y no lo viera.



Discutimos formas de ocultar los datos que se han registrado. Como ingeniero de discos, les sugerí que crearan una partición adicional en el disco y almacenaran los datos allí. Entonces, incluso si alguien conecta un iPod a una PC o Mac, iTunes percibirá el dispositivo como un iPod normal. Además, el iPod se verá igual tanto en Mac Finder como en Windows Explorer. Les gustó la idea.



Luego quisieron agregar una forma fácil de iniciar y detener la grabación. Tomamos el camino más largo en la configuración y agregamos un elemento con un nombre poco notable allí. Les ayudé a hacer esto en el código del sistema operativo que era un poco más que obvio. El resto del dispositivo funcionó como un iPod normal.



El iPod más nuevo en ese momento era el iPod de quinta generación, más conocido como el "iPod con video". En comparación con el iPod nano, que se hizo popular poco después de esta historia, la carcasa del iPod era relativamente fácil de abrir y volver a montar sin dejar marcas perceptibles. Además, el iPod de quinta generación tenía una unidad de 60 GB, lo que significa que había mucho espacio para canciones y datos adicionales. Y finalmente, este fue el último iPod para el que Apple no verificó la firma digital del SO.





Esto fue importante porque hizo que el iPod de quinta generación, en cierto modo, tuviera jailbreak. Los entusiastas disfrutaron de la oportunidad de ejecutar Linux en él, lo cual era difícil sin el conocimiento y las herramientas especializadas que poseía Apple. Nosotros, el equipo de ingeniería del iPod, quedamos impresionados, pero a Apple no le gustó. A partir del iPod nano, los sistemas operativos se han firmado digitalmente para detener a los piratas informáticos. El gestor de arranque verificó la firma digital antes de cargar el sistema operativo: si no coincide, el dispositivo no arrancará.



No creo que Paul y Matthew le pidieran a Apple que firmara su versión del sistema operativo para ejecutarlo en el iPod nano. Incluso estoy seguro de que Apple no estaría de acuerdo. En cualquier caso, el gran iPod de quinta generación era ideal para este propósito.



Después de varios meses de trabajo continuo en su oficina improvisada, Paul y Matthew completaron la integración de su equipo especial en el iPod y desecharon el proyecto. Regresaron con sus computadoras y dispositivos de depuración a la oficina de Bechtel en Santa Bárbara. Me devolvieron el DVD original y los pases. Me dijeron adiós y no volví a verlos. El DVD estuvo en un estante de mi oficina durante años hasta que lo vi mientras limpiaba.



¿Qué estaban haciendo?



El Departamento de Energía es enorme. Su presupuesto para 2005 es de $ 24,3 mil millones. Es responsable de los programas de energía nuclear y armas nucleares de Estados Unidos, incluido el Laboratorio Nacional de Los Alamos, que formaba parte del Proyecto Manhattan. Como dice la solicitud de presupuesto del DOE:

2005 $ 9,0 . , . , , .
Supongo que Paul y Matthew estaban montando algo parecido a un contador Geiger invisible. Algo que los agentes del DOE pueden usar abiertamente. Algo que parece poco llamativo, reproduce música y funciona como un iPod normal. Puedes caminar por la ciudad, escuchar tu música favorita y descubrir la presencia de radiactividad - por ejemplo, uranio robado - o evidencia del desarrollo de una "bomba sucia" sin posibilidad de que el público o la prensa se enteren. Como muchos otros dispositivos electrónicos, el contador Geiger es cada vez más pequeño y económico. Y me divirtió especialmente encontrarme con el Radiation Alert Monitor 200 , que se parece a un iPod clásico.



Cuando les pregunté a Paul y Matthew qué estaban haciendo, cambiaron de tema y empezaron a discutir sobre dónde ir a almorzar. Oh, esos frikis.



El iPod especial que no existía



Solo cuatro personas de Apple conocían este proyecto secreto. Soy director de desarrollo de software para iPod, vicepresidente de la división de iPod y vicepresidente senior de hardware. Ninguno de nosotros trabaja más en Apple. Y no hay registros. Todas las conexiones estaban solo en palabras.



Si le pregunta a Apple sobre un proyecto especial de iPod, las relaciones públicas dirán honestamente que Apple no tiene registro de tales proyectos.



Pero ahora lo sabes.






All Articles