
Era um típico dia cinzento no final de 2005. Eu estava sentado em meu local de trabalho escrevendo códigos para a próxima versão do iPod. De repente, sem bater, o diretor do software do iPod, chefe do meu chefe, entrou correndo e fechou a porta. Ele foi direto ao ponto: “Tenho uma tarefa especial para você. Seu chefe não sabe sobre isso. Você estará ajudando dois engenheiros do Departamento de Energia dos EUA a construir um iPod exclusivo. Você se reporta apenas a mim. "
No dia seguinte, recebi um telefonema da recepção e disse que dois homens estavam esperando no saguão. Desci para encontrá-los. Eles eram Paul e Matthew, engenheiros que queriam construir seu próprio iPod. Eu gostaria de dizer que eles vieram em óculos escuros e olharam para os reflexos das janelas para ter certeza de que não estavam sendo seguidos, mas não, eles eram apenas os engenheiros de trinta anos mais comuns. Eu os deixei entrar e fomos para a sala de conferências.

Eles não trabalhavam para o Departamento de Energia, eles trabalhavam para a divisão Bechtel, um grande empreiteiro de defesa do Ministério. Eles queriam adicionar seu próprio equipamento ao iPod e gravar os dados em disco. Além disso, eles queriam disfarçar tudo para que de fora parecesse que se trata de um iPod comum.
Eles fizeram todo o trabalho, meu trabalho era fornecer a eles a ajuda de que precisavam da Apple.
Fiquei sabendo que um funcionário do Departamento de Energia havia contatado o vice-presidente sênior de hardware e pedido ajuda para construir iPods modificados. O vice-presidente sênior enviou uma pergunta ao vice-presidente da divisão de iPod, que a passou para o diretor de software do iPod, e ele veio até mim. Meu chefe foi informado de que eu estava trabalhando em um projeto especial e que as perguntas eram inadequadas aqui.
fundo
Fui o segundo programador contratado para o projeto do iPod quando ele foi lançado em 2001. Naquela época, o marketing da Apple não sugeria o nome iPod, e o produto tinha o codinome P68. O primeiro programador mais tarde tornou-se diretor de desenvolvimento de software para o iPod, foi ele quem me procurou com esta tarefa. Eu escrevi um sistema de arquivos para o iPod e mais tarde um banco de dados SQLite que controlava todas as músicas. Com o tempo, trabalhei em quase todas as partes do sistema operacional do iPod, exceto nos codecs de áudio, que transformavam MP3 e AAC em som.
(Esses codecs de áudio foram escritos por dois engenheiros graduados de Berkeley e Stanford. Quando eles não estavam discutindo entre si sobre qual universidade era melhor, eles estavam escrevendo um código matemático que eu tinha medo de tocar. Você não deixaria um engenheiro comum mexer com esse código. além de não deixar um mecânico de bicicletas consertar a caixa de câmbio de um Porsche. De vez em quando, eles jogavam pôquer e eu ia com eles. Só não perdi todo o meu dinheiro porque um deles estava tomando vodca.)
Compilando o sistema operacional iPod a partir da fonte, inicializar em um dispositivo, testar e depurar é um processo complexo. Quando um novo engenheiro vem até nós, damos a ele uma semana para lidar com ele antes de começar a dar atribuições.
O sistema operacional do iPod é independente e não é baseado em outros sistemas operacionais da Apple, como o clássico Mac OS ou Darwin, cujo kernel do Unix é compatível com macOS, iOS, iPadOS, WatchOS e tvOS. O hardware original do iPod depende de uma plataforma de hardware que a Apple comprou do Portal Player. O Portal Player forneceu aspectos de baixo nível do sistema operacional do iPod, como gerenciamento de energia, drivers de disco e um kernel em tempo real (licenciado pela Quadros). A Apple também comprou partes de ponta do sistema operacional do iPod da Pixo. O Pixo foi fundado alguns anos antes por um ex-engenheiro da Apple com o objetivo de escrever um sistema operacional universal para telefones celulares e vendê-lo para empresas como Nokia e Ericsson. O código Pixo se dá bem com a GUI e o texto Unicode (que é muito importante para a localização),gerencia a memória e lida com eventos. Obviamente, com o tempo, os engenheiros da Apple modificaram esse código, reescrevendo a maior parte dele.
O sistema operacional do iPod é escrito em C ++. Como este sistema operacional não oferece suporte a aplicativos de terceiros, não havia documentação pública de como o sistema operacional funciona.
Finalmente, a equipe de desenvolvimento do iPod funcionou no Windows. A Apple não tinha ferramentas para desenvolvimento de ARM naquela época, porque isso foi antes do iPhone. A equipe de desenvolvimento utilizou ferramentas da ARM Ltd, e funcionou apenas em Windows e Linux.
Meu trabalho era coordenar o trabalho de Paul e Matthew para lançar um sistema operacional com o qual eles nunca haviam trabalhado antes.
Início rápido
Reservei um escritório vazio para Paul e Matthew em nosso prédio. Solicitou ao IS&T (departamento de TI da Apple) que configurasse a rede do escritório de forma que eles só pudessem se conectar à Internet e não tenham acesso à rede interna da Apple. O Wi-Fi da Apple está sempre "fora" da rede interna. Mesmo que você se conecte ao Wi-Fi dentro do prédio, ainda precisará de uma VPN para acessar a rede interna. Não era um contrato e colaboração de pagamento entre a Apple e a Bechtel, a Apple estava ajudando o DOE não oficialmente. E o acesso nessas condições era limitado.
Nem é preciso dizer que Paul e Matthew não tiveram acesso ao servidor de origem. Dei a eles uma cópia da versão atual do código em DVD e expliquei que o disco não pode sair do prédio. Além disso, eles foram autorizados a armazenar uma versão modificada do sistema operacional do iPod, mas não a fonte modificada.
A Apple não lhes forneceu nenhuma ferramenta de hardware ou software. Eu dei a eles as especificações técnicas para computadores Windows, que eles precisam, junto com um compilador ARM e um depurador JTAG. Eles também compraram várias dezenas de iPods para o trabalho.
Como acontece com todos os edifícios da Apple, todos tiveram que apresentar um crachá antes de entrar para abrir a porta e entrar no edifício. Cada andar tinha outra porta e um leitor de crachás, então apenas pessoas com credenciamento de segurança poderiam entrar.
Todos os dias, Paul e Matthew me ligavam do saguão porque não tinham passe. Eu os deixei entrar como convidados e os acompanhei até seu escritório. Acabei conseguindo passes de vendedor para eles, como se quisessem vender café ou batatas fritas para a Apple. Assim, não precisei mais acompanhá-los todos os dias. Eu sou um programador, não uma babá.
Nosso melhor pessoal
Paulo e Mateus eram espertos - os melhores , talvez - e com um pouco de ajuda descobriram isso rápido o suficiente. Mostrei a eles como configurar ferramentas de desenvolvimento, construir um sistema operacional a partir da fonte e como carregá-lo em um iPod. Fizemos algumas pequenas alterações na GUI para que eles possam ver exatamente qual build estão executando. Também mostrei como trabalhar com o depurador de hardware JTAG, que era exigente o suficiente. E eles mergulharam em seu trabalho.
Examinando o sistema operacional, eles explicaram o que queriam fazer, pelo menos em termos gerais. Eles adicionaram um equipamento especial ao iPod que gera dados e queriam gravar dados a partir dele. Eles fizeram todo o esforço para que eu não visse este equipamento e eu não visse.
Discutimos maneiras de ocultar os dados que foram registrados. Como engenheiro de disco, sugeri que eles criassem uma partição adicional no disco e armazenassem dados lá. Portanto, mesmo que alguém conecte um iPod a um PC ou Mac, o iTunes perceberá o dispositivo como um iPod normal. Além do mais, o iPod terá a mesma aparência no Mac Finder e no Windows Explorer. Eles gostaram da ideia.
Em seguida, eles queriam adicionar uma maneira fácil de iniciar e parar a gravação. Pegamos o caminho mais longo nas configurações e adicionamos um item com um nome comum. Eu os ajudei a fazer isso no código do sistema operacional que era um pouco mais do que óbvio. O resto do dispositivo funcionou como um iPod normal.
O mais novo iPod da época era o iPod de quinta geração, mais conhecido como "iPod com vídeo". Comparado com o iPod nano, que se tornou popular logo após esta história, o case do iPod era relativamente fácil de abrir e remontar sem deixar marcas perceptíveis. Além do mais, o iPod de quinta geração tinha uma unidade de 60 GB, o que significa que havia muito espaço para músicas e dados adicionais. E, finalmente, este foi o último iPod para o qual a Apple não verificou a assinatura digital do SO.

Isso foi importante porque tornou o iPod de quinta geração, de certa forma, com jailbreak. Os entusiastas aproveitaram a oportunidade de executar o Linux nele, o que era difícil sem o conhecimento especializado e as ferramentas que a Apple possuía. Nós, a equipe de engenharia do iPod, ficamos impressionados, mas a Apple não gostou. Começando com o iPod nano, os sistemas operacionais foram assinados digitalmente para impedir os hackers. O carregador de inicialização verificou a assinatura digital antes de carregar o sistema operacional: se não corresponder, o dispositivo não inicializará.
Acho que Paul e Matthew nunca pediram à Apple para assinar sua versão do sistema operacional para executá-lo no iPod nano. Tenho até certeza que a Apple não concordaria. Em qualquer caso, o grande iPod de quinta geração era ideal para esse propósito.
Após vários meses de trabalho contínuo em seu escritório improvisado, Paul e Matthew concluíram a integração de seu equipamento especial no iPod e desistiram do projeto. Eles voltaram com seus computadores e dispositivos de depuração para o escritório da Bechtel em Santa Bárbara. Eles devolveram o DVD de origem e os passes para mim. Eles se despediram de mim e nunca mais os vi. O DVD ficou em uma prateleira em meu escritório por anos, até que eu o vi durante a limpeza.
O que eles estavam fazendo?
O Departamento de Energia é enorme. Seu orçamento para 2005 é de US $ 24,3 bilhões. É responsável pelas armas nucleares e programas de energia nuclear dos EUA, incluindo o Laboratório Nacional de Los Alamos, que fazia parte do Projeto Manhattan. Conforme afirma a solicitação de orçamento do DOE:
2005 $ 9,0 . , . , , .Meu palpite é que Paul e Matthew estavam montando algo como um contador Geiger invisível. Algo que os agentes DOE podem usar abertamente. Algo que parece normal e reproduz música e funciona como um iPod normal. Você pode caminhar pela cidade, ouvir sua música favorita e descobrir a presença de radioatividade - por exemplo, urânio roubado - ou evidências do desenvolvimento de uma "bomba suja" sem a chance de o público ou a imprensa descobrirem. Como muitos outros aparelhos eletrônicos, o contador Geiger está ficando menor e mais barato. E eu fiquei particularmente divertido quando encontrei o Radiation Alert Monitor 200 , que se assemelha a um iPod clássico.
Quando perguntei a Paulo e Mateus o que eles estavam fazendo, eles mudaram de assunto e começaram a discutir sobre onde ir almoçar. Oh, esses geeks.
O iPod especial que não existia
Apenas quatro pessoas na Apple sabiam sobre esse projeto secreto. Sou o diretor de desenvolvimento de software do iPod, vice-presidente da divisão de iPod e vice-presidente sênior de hardware. Nenhum de nós trabalha mais na Apple. E não há registros. Todas as conexões eram apenas em palavras.
Se você perguntar à Apple sobre um projeto especial do iPod, as relações públicas dirão honestamente que a Apple não tem registro de tais projetos.
Mas agora você sabe.
