Chiếc iPod tuyệt mật
Đó là một ngày trời xám xịt cuối năm 2005. Tôi đang ngồi tại bàn làm việc, viết mã cho chiếc iPod của năm sau. Không gõ cửa, giám đốc của iPod Software - sếp của sếp tôi - đột ngột bước vào và đóng cánh cửa sau lưng lại.
Ông ta bắt đầu: "Tôi có một nhiệm vụ đặc biệt dành cho cậu. Sếp của cậu không biết gì về nó. Cậu sẽ giúp hai kỹ sư từ Bộ Năng lượng Hoa Kỳ chế tạo một chiếc iPod đặc biệt. Chỉ báo cáo lên cho tôi".
Ngày hôm sau, lễ tân gọi điện cho tôi cho biết rằng có hai người đàn ông đang đợi ở sảnh. Tôi xuống cầu thang để gặp Paul và Matthew, những kỹ sư thực sự sẽ chế tạo chiếc iPod tùy chỉnh này. Tôi đoán rằng họ sẽ đeo kính đen và mặc áo khoác, luôn liếc nhìn hình phản chiếu ở cửa sổ để đảm bảo rằng không bị ai theo đuôi. Nhưng không, họ là những kỹ sư ba mươi tuổi hoàn toàn bình thường. Tôi đã hỗ trợ đăng ký vào cửa cho họ, sau đó chúng tôi đến một phòng họp để nói chuyện riêng.
Hóa ra, họ không thực sự làm việc cho Bộ Năng lượng. Mà đó là một bộ phận của Bechtel, một nhà thầu quốc phòng lớn của Bộ Năng lượng Mỹ. Họ muốn thêm một số phần cứng tùy chỉnh vào iPod và ghi dữ liệu từ phần cứng tùy chỉnh này vào bộ nhớ của iPod theo cách không dễ bị phát hiện. Nhưng thiết bị vẫn phải trông giống và hoạt động như một chiếc iPod bình thường.
Họ sẽ làm tất cả công việc. Nhiệm vụ của tôi chỉ là cung cấp bất kỳ sự trợ giúp nào mà họ cần từ Apple.
Tôi được biết rằng một quan chức tại Bộ Năng lượng đã liên hệ với Phó chủ tịch cấp cao về phần cứng của Apple, yêu cầu sự giúp đỡ của công ty trong việc sản xuất chiếc iPod tùy chỉnh này. Phó chủ tịch sau đó đã chuyển yêu cầu này xuống phó chủ tịch bộ phận iPod, người đã giao nó cho giám đốc iPod Software, người đã đến gặp tôi. Sếp của tôi chỉ được cho biết rằng tôi đang làm việc trong một dự án đặc biệt và không được đặt câu hỏi.
Đôi điều về lý lịch bản thân
Tôi là kỹ sư phần mềm thứ hai được thuê về cho dự án iPod khi nó bắt đầu vào năm 2001. Bộ phận Marketing của Apple khi đó vẫn chưa nghĩ ra cái tên iPod mà sản phẩm được biết đến với tên mã P68. Kỹ sư phần mềm đầu tiên sau đó trở thành giám đốc của iPod Software, người đã giao cho tôi nhiệm vụ đặc biệt này. Tôi đã viết hệ thống tệp của iPod và sau đó là cơ sở dữ liệu SQLite để theo dõi tất cả các bài hát. Theo thời gian, tôi đã làm việc trên hầu hết mọi phần của phần mềm iPod, ngoại trừ codec âm thanh (một thiết bị hoặc một chương trình máy tính có khả năng mã hóa và giải mã một dòng dữ liệu hoặc tín hiệu) để chuyển đổi các tệp MP3 và AAC thành âm thanh.
Biên dịch hệ điều hành iPod từ mã nguồn, tải nó lên iPod và kiểm tra rồi gỡ lỗi nó là một quá trình khá phức tạp. Khi một kỹ sư mới bắt đầu làm việc, chúng tôi thường cho họ một tuần để tìm hiểu tất cả những điều này trước khi giao bất kỳ nhiệm vụ thực tế nào.
Hệ điều hành iPod không dựa trên một hệ điều hành khác của Apple như Classic Mac OS hay Darwin, lõi Unix cơ bản của macOS, iOS, iPadOS, watchOS và tvOS. Phần cứng ban đầu của iPod dựa trên nền tảng tham chiếu mà Apple mua từ một công ty có tên là Portal Player. Portal Player cũng đã cung cấp các cấp thấp hơn của iPod OS, bao gồm trình quản lý nguồn, trình điều khiển đĩa và nhân thời gian thực (thứ Portal Player đã được cấp phép từ một công ty khác có tên là Quadros). Apple đã mua hệ điều hành iPod cao cấp hơn từ Pixo, một công ty mới thành lập vài năm trước đó bởi các cựu kỹ sư của Apple, những người đang cố gắng viết một hệ điều hành điện thoại di động đa năng để bán cho các công ty điện thoại di động như Nokia và Ericsson. Mã Pixo xử lý giao diện người dùng, xử lý văn bản Unicode, quản lý bộ nhớ và xử lý sự kiện.)
Hệ điều hành iPod thì được viết bằng C ++. Vì nó không hỗ trợ các ứng dụng của bên thứ ba nên không có tài liệu bên ngoài về cách nó hoạt động.
Cuối cùng, nhóm iPod đã phát triển mọi thứ trên máy tính Windows. Apple chưa có các công cụ dành cho nhà phát triển ARM hoạt động, bởi vì đây là thời điểm trước khi iPhone xuất xưởng. Nhóm iPod đã sử dụng các công cụ dành cho nhà phát triển ARM của ARM Ltd, chỉ chạy trên Windows và Linux.
Công việc của tôi là hỗ trợ Paul và Matthew thiết lập và chạy mọi thứ trên một hệ điều hành mới mà họ chưa từng thấy trước đây.
Kế hoạch bắt đầu
Tôi trưng dụng một văn phòng trống cho Paul và Matthew trong tòa nhà của trụ sở. Tôi đã nhờ IS&T (bộ phận CNTT của Apple) định tuyến lại mạng Ethernet trong căn phòng đó để họ chỉ kết nối với Internet công cộng, bên ngoài tường lửa của Apple, nhằm ngăn họ truy cập vào mạng nội bộ của Apple. Mạng Wi-Fi của Apple luôn kết nối bên ngoài tường lửa. Ngay cả bên trong các tòa nhà của Apple, nếu đang sử dụng Wi-Fi, bạn cần có VPN để vượt qua tường lửa của Apple. Đây không phải là sự hợp tác với Bechtel với một hợp đồng và các khoản thanh toán; đó là chuyện Apple đang làm một việc để giúp đỡ Bộ Năng lượng. Nhưng quyền truy cập cho ưu đãi đó chỉ có thể đi tới điểm giới hạn này.
Không cần phải nói, Paul và Matthew không được phép truy cập trực tiếp vào máy chủ mã nguồn của chúng tôi. Thay vào đó, tôi đưa cho họ một bản sao mã nguồn hiện tại trên một đĩa DVD và giải thích rằng chiếc đĩa này không thể rời khỏi tòa nhà. Cuối cùng, họ được phép giữ bản sao sửa đổi của hệ điều hành iPod mà họ đã xây dựng, nhưng không phải mã nguồn của nó.
Apple không cung cấp cho họ bất kỳ công cụ phần cứng hoặc phần mềm nào. Tôi đã cung cấp cho họ thông số kỹ thuật cho máy tính Windows mà họ cần, cùng với trình biên dịch ARM và trình gỡ lỗi JTAG. Họ đã mua lẻ iPod để làm việc, ít nhất là vài chục chiếc, hay có thể nhiều hơn thế nữa.
Như với tất cả các tòa nhà của Apple, mọi người phải xuất trình thẻ nhân viên Apple cho đầu đọc mã hiệu để mở cửa và vào tòa nhà. Chỉ những nhân viên dọn dẹp cho tòa nhà của chúng tôi mới được phép vào ra thoải mái hơn. Nhưng trên mỗi tầng, có một cửa khóa khác và đầu đọc mã hiệu, và chỉ những người được dọn dẹp cho tầng đó mới được phép vào.
Vì vậy, hàng ngày, Paul và Matthew đều gọi điện cho tôi từ hành lang vì họ không có thẻ nhân viên Apple. Tôi đăng nhập với tư cách là khách và hộ tống họ đến văn phòng riêng. Cuối cùng, tôi đã sắp xếp để có được mã hiệu của nhà cung cấp, như thể họ đang bán cà phê Apple hoặc chip nhớ, để không phải đăng nhập giúp hàng ngày. Tôi là một lập trình viên, không phải là một người trông trẻ.
Hai gã thông minh
Paul và Matthew là những người đàn ông thông minh - thậm chí là tuyệt đỉnh - và với một chút trợ giúp, họ đã bắt đầu làm quen và làm việc khá nhanh chóng. Tôi đã chỉ cho họ cách thiết lập các công cụ phát triển, xây dựng một bản sao của hệ điều hành từ nguồn và tải nó vào iPod. Chúng tôi đã thực hiện một số thay đổi tạm thời đối với giao diện người dùng, vì vậy chúng tôi có thể thấy rằng bản dựng của họ thực sự đang chạy. Tôi đã chỉ cho họ cách sử dụng trình gỡ lỗi phần cứng JTAG, công cụ này khá phức tạp. Rồi họ lao vào công việc của riêng mình.
Khi tìm hiểu cách thức xung quanh hệ thống, họ đã giải thích những gì muốn làm, ít nhất là trong những nét chính. Họ đã thêm phần cứng đặc biệt vào iPod để tạo ra dữ liệu mà họ muốn ghi lại một cách bí mật. Họ cũng rất cẩn thận để đảm bảo rằng tôi chưa bao giờ nhìn thấy phần cứng và tôi cũng chưa bao giờ làm vậy.
Chúng tôi đã thảo luận về cách tốt nhất để ẩn dữ liệu mà họ đã ghi lại. Là một kỹ sư về đĩa cứng, tôi đề nghị họ tạo một phân vùng khác trên ổ đĩa để lưu trữ dữ liệu. Bằng cách đó, ngay cả khi ai đó cắm iPod đã sửa đổi vào máy Mac hoặc PC, iTunes sẽ coi nó như một chiếc iPod bình thường và nó sẽ giống như một chiếc iPod bình thường trong Mac Finder hoặc Windows Explorer. Họ thích điều đó, và nó là một phân vùng ẩn.
Tiếp theo, họ muốn một cách đơn giản để bắt đầu và tạm dừng việc ghi. Chúng tôi đã chọn đường dẫn menu tùy chọn sâu nhất và thêm một menu nghe có vẻ vô hại vào cuối. Tôi đã giúp họ kết nối điều này bên trong mã lập trình, điều này khá để nói rõ ràng. Trong tất cả các khía cạnh khác, thiết bị hoạt động như một chiếc iPod bình thường.
Vào thời điểm đó, iPod mới nhất là iPod thế hệ thứ năm, hay còn được gọi là "iPod với video". Việc mở vỏ ngoài và đóng lại tương đối dễ dàng mà không để lại dấu vết rõ ràng, không giống như các mẫu iPod nano trở nên phổ biến sau đó không lâu. Thêm vào đó, iPod thế hệ thứ năm có bộ nhớ 60 GB, vì vậy có rất nhiều chỗ để chứa nhiều bài hát và vẫn ghi thêm được dữ liệu. Và nó là chiếc iPod cuối cùng mà Apple không sử dụng chữ ký số cho hệ điều hành.
Điều đó rất quan trọng vì nó khiến iPod thế hệ thứ năm có thể bị hack. Nhiều người có sở thích đưa hệ điều hành Linux chạy trên iPod, một việc rất khó có thể thực hiện nếu không có kiến thức và công cụ đặc biệt mà Apple sở hữu. Chúng tôi trong nhóm kỹ thuật iPod đã rất ấn tượng với các hành động như thế này. Nhưng Apple không thích điều đó. Bắt đầu với iPod nano, hệ điều hành này đã được ký bằng chữ ký điện tử để chặn các tin tặc muốn hack bằng Linux (và cả những người khác). ROM khởi động sẽ kiểm tra chữ ký số trước khi tải hệ điều hành; nếu nó không khớp, thiết bị sẽ không khởi động được.
Tôi không nghĩ Paul và Matthew đã từng hỏi Apple về việc ký kết bản xây dựng hệ điều hành tùy chỉnh của họ để nó chạy trên iPod nano. Tôi khá chắc rằng Apple sẽ từ chối. Dù sao thì iPod thế hệ thứ năm cũng phù hợp hơn với mục đích của họ.
Sau một vài tháng làm việc lặp đi lặp lại trong văn phòng được trưng dụng, Paul và Matthew đã hoàn thành việc tích hợp phần cứng tùy chỉnh của họ vào iPod và kết thúc dự án. Họ chuyển máy tính và phần cứng gỡ lỗi trở lại văn phòng của Bechtel ở Santa Barbara. Họ trả lại đĩa DVD mới nhất có mã nguồn Apple cho tôi, cùng với mã nhân viên nhà cung cấp Apple của họ. Họ nói lời chia tay, và tôi không bao giờ gặp lại họ nữa. Đĩa DVD đã nằm trên kệ trong văn phòng của tôi trong nhiều năm, cho đến khi tôi ném nó đi trong khi dọn dẹp.
Họ đã làm gì?
Bộ Năng lượng Hoa Kỳ là rất lớn. Ngân sách năm 2005 của nó là 24,3 tỷ USD. Đơn vị này chịu trách nhiệm về các chương trình vũ khí hạt nhân và năng lượng hạt nhân của Hoa Kỳ, bao gồm Phòng thí nghiệm Quốc gia Los Alamos, là một phần của Dự án Manhattan.
Theo như yêu cầu ngân sách của đơn vị này thì: "Ngân sách năm tài chính 2005 đề xuất 9,0 tỷ USD để đáp ứng các mục tiêu liên quan đến quốc phòng. Yêu cầu ngân sách duy trì các cam kết đối với các yêu cầu răn đe hạt nhân trong Đánh giá Vị thế Hạt nhân của Cơ quan Quản lý và tiếp tục tài trợ cho một chiến lược tích cực nhằm giảm thiểu mối đe dọa từ vũ khí hủy diệt hàng loạt."
Tôi đoán là Paul và Matthew đang xây dựng thứ gì đó giống như một cái "máy đếm Geiger tàng hình" (một thiết bị giúp các nhà khoa học phát hiện ra tia gamma, hạt alpha, hạt beta và các dạng khác của bức xạ ion hóa). Hay một cái gì đó mà các đặc vụ DOE có thể sử dụng mà không cần giấu giếm. Một thứ trông vô hại, phát nhạc và hoạt động giống hệt một chiếc iPod bình thường. Bạn có thể đi dạo quanh thành phố, tình cờ nghe các giai điệu của mình, trong khi ghi lại bằng chứng về phóng xạ - chẳng hạn như quét uranium bị đánh cắp hoặc buôn lậu, hoặc bằng chứng về một chương trình phát triển "bom bẩn" - mà báo chí hoặc công chúng không có cơ hội nhận ra chuyện gì đã xảy ra. Giống như tất cả các thiết bị điện tử khác, các thiết bị như thế này ngày càng nhỏ và rẻ hơn, và tôi rất thích thú khi đi ngang qua một thiết bị tìm kiếm bức xạ trông rất giống một chiếc iPod cổ điển.
Bất cứ khi nào tôi hỏi Paul và Matthew họ đang xây dựng cái gì, họ đổi chủ đề rất nhanh và bắt đầu tranh cãi về việc đi ăn trưa ở đâu. Đúng là hai gã mật vụ tiêu chuẩn.
iPod tùy chỉnh chưa bao giờ tồn tại
Chỉ có bốn người tại Apple biết về dự án bí mật này. Tôi, giám đốc của iPod Software, phó chủ tịch bộ phận iPod và phó chủ tịch cấp cao về phần cứng. Không ai trong chúng tôi còn làm việc tại Apple. Không có dấu vết giấy tờ. Tất cả thông tin liên lạc là trao đổi trực tiếp.
Nếu bạn hỏi Apple về dự án iPod tùy chỉnh này thì thứ nhận được sẽ chỉ là: "Không có bình luận". Những người làm PR sẽ thành thật nói với bạn rằng Apple không có hồ sơ về bất kỳ dự án nào như vậy.
Nhưng bây giờ bạn biết là nó tồn tại.
(Theo Pháp luật và Bạn đọc, Tidbits)
“Cha đẻ” iPod từng bị giới đầu tư mạo hiểm từ chối tới... 80 lần!
Trước khi được biết đến như là “cha đẻ của iPod”, Tony Fadell cho biết ông đã bị 80 nhà đầu tư mạo hiểm từ chối khi cố gắng gây quỹ cho doanh nghiệp công nghệ của riêng mình.