Код в фильмах: Кремниевая долина, сезон 1 (Silicon Valley S01)
В этом сериале заметил довольно много всякого кода, поэтому начал пересматривать второй раз, останавливаясь на интересных кадрах.
Хотел было сразу про все сезоны написать, но, оказалось, что тут полно информации и тяжело разом всё подготовить, поэтому буду выкладывать посезонно.
Заимствований кода в этом сериале немного. Похоже, что довольно приличную часть фрагментов программ писали специально для фильма.
Сезон 1, Серия 1
“Большеголовый” показывает работу приложения NipAlert
:
На экране Visual Studio
. Судя по именам и интерфейсам, написано оно на C# и сборка предназначается для Windows Phone
: на экране горизонтально расположенный эмулятор телефона.
Эта табличка с магическим числом не так проста, как кажется. Weissman score
- реальная метрика для оценки качества алгоритмов сжатия без потерь. Была придумана в Стенфорде профессором Цахи Вайсманом и аспирантом Винитом Мисрой по заказу HBO
специально для этого сериала. После телевизионного успеха эта метрика использовалась некоторыми учёными и в реальных проектах.
Серия 2
Ричард вымучивает бизнес-план, а на стене у него за спиной знаковые портреты:
- слева Лена Сёдерберг, основная заслуга которой - появление в 1972 году на развороте журнала Плейбой. Так получилось, что фрагмент этого разворота, как раз тот, что на картинке, был использован в научной работе по сжатию изображений в 1973 году. Требовался квадратный рисунок 512x512 пикселей, а под рукой был сканер на сотню DPI и журнал. С тех пор это изображение широко используется в качестве тестового для проверки качества работы алгоритмов компресии изображений.
- справа Дэвид Хаффман, автор алгоритма кодирования данных, “код Хаффмана”, который применяется во многих алгоритмах сжатия:
JPEG
,ZIP
и т.д.
Ещё одно демо проекта NipAlert
:
на этот раз на экране эмулятор iPhone
. В качестве IDE
используется IntelliJ IDEA
. Постарались, сделали по версии под платформу. Вот только под Андроид версии так и не покажут, хотя в 2014 году он уже был пятой версии и занимал 80% рынка смартфонов.
Код написан на Objective C
, но по фрагменту назначение толком не понятно: тут только перевод секунд в минуты и проверка времени работы программы. Возможно, это код, отвечающий за показ сплеш-скрина при запуске приложения.
На пару секунд мелькает в кадре экран с кодом:
Этот экран дальше будут часто издалека показывать в разных эпизодах, но тут удалось его более-менее разглядеть:
В верхней части фрагмент на C
. Похоже, что это часть некоторой программы по обработке звука, взаимодействующей с OpenAL
(Open Audio Library
), открытой звуковой библиотеке от Creative
, авторов Саунд Бластера, что вполне укладывается в сюжет - в этих эпизодах серии вовсю разрабатывается аудио-кодек.
В нижней - минифицированный код на JavaScript
от системы телеметрии для сайтов: “Foresee
” (слежение за пользователями, встраивание голосовалок и т.п.) Конкретный источник этого фрагмента уже не определить, т.к. это общая библиотека и код раздавался всем желающим, а к сегодняшнему дню её код значительно поменялся.
Серия 6
Ричард пишет в BinTree.java
код на Python
для работы с деревом. На ноутбуке Sony
под управлением OS X
. Эээ…
Следом - прогон автотестов в Jenkins
:
На фоне тот же файл, BinTree.java
:
…и снизу выглядывает он же:
…но на этот раз код в этом файле написан на JavaScript
: это модуль для работы с БД PostgreSQL
.
А на правой панели выглядывает небольшой фрагмент из библиотечного кода: реализация алгоритма компрессии LZMA
из JavaSDK
:
В сцене, где Джаред оказывается на корабле, виден QR
-код:
Это ссылка на сайт ravigacapital.com
- фирму Питера Грегори, название которой мелькает в офисах в середине сезона. Однако, на этом сайте так ничего и не открыли - на момент выхода серии там висела заглушка. Возможно, на этот ресурс были какие-то планы, которые пришлось пересматривать в связи со внезапной смертью актёра, который играл Грегори. А потом домен перестали продлевать и его засквоттили всякие нехорошие люди.
Серия 8
Конференция ТехКранч:
Опять Лена. На этот раз - в презентации Гэвина Белсона. Он тут рассказывает про алгоритмы компрессии, конечно.
И Ричард рассказывает про новый алгоритм сжатия изображений:
В 2016 году, через два года после выхода в эфир сериала, Dropbox
разработал алгоритм сжатия JPEG
-картинок на 22% без потерь. Использовался факт, что в JPEG
не бывает резких переходов и, разбив картинку на блоки 8x8 пикселей, можно сэкономить, вычисляя яркость блока относительно его соседей. Авторы его называют, с некоторой натяжкой, конечно, реализацией алгоритма “Изнутри наружу” (MIDDLE OUT!!
), про который и рассказывал Ричард на ТехКранче.
Проект Lepton
. В 2023 году он был закрыт в пользу более популярных Brotli
и WebP
.