Пет-проекты, которые зашли слишком далеко

85ce3742f36c845c680845a81df4d4fe.jpeg

Обычно пет-проект — это что-то такое для души, на несколько вечеров в свободное от работы время. Зачастую никому, кроме его создателя, такой проект не нужен. Но бывают случаи, когда всё заходит куда дальше, неожиданно для самого разработчика. Подобные пет-проекты могут стать коммерчески успешными, а могут культовыми, но не приносящими денег. А еще могут кардинально изменить жизнь своего автора.

Elasticsearch вырос из простого приложения для рецептов, которое сделал для своей жены Шей Бэнон. Сейчас это флагманский продукт всемирно известной компании. Когда в 1991-м году Линус Торвальдс известил мир о появлении Linux, то написал: «just a hobby, won’t be big and professional». Что в итоге получилось, мы все знаем.

Есть проекты-шутки, которые внезапно стали популярными в сообществе. Например, язык Rockstar («чтобы код выглядел как рок-тексты») был придуман Диланом Битти в баре без каких-либо серьёзных ожиданий, но люди подхватили идею, принялись делать пулл-реквесты, и теперь это отличный пример эзотерического языка программирования.

В этой подборке расскажем о самых разных пет-проектах — странных и полезных — и об их создателях. 

В 1997 году новозеландскому разработчику Саймону Янсену друг прислал шуточное письмо, в котором нужно было последовательно переключаться между картинками, чтобы получалась простенькая анимация. Янсену идея понравилась — и он начал экспериментировать с анимированными картинками, что в итоге довело его до ASCII-версии «Звездных войн» и целого сайта с ASCII-анимацией.

Для олдов все это уже выглядит как боян, который существует еще со времен Средневековья, однако выросло уже новое поколение, ASCII не заставшее. Поэтому в культурологических целях расскажем об этом.

http://www.asciimation.co.nz/http://www.asciimation.co.nz/

Процесс ASCII-анимации весьма трудоемкий — как и в реальной мультипликации, нужно отрисовать множество кадров. Сначала Янсен работал в Блокноте, но потом объемы так возросли, что это стало невозможно, и он перешел в редактор кода.

Для обозначения явления Янсен придумал специальное слово Asciimation, а ролики сохранял в JAR-файлах. Asciimation стала набирать популярность. 

Программу для просмотра анимации переписывали на Perl и на Си, делали собственные анимации на JS и, конечно, обсуждали и обсуждают ее на Ютубе и Хабре.

Возникает резонный вопрос —, а для чего все это? Когда-то это показалось ему просто «хорошей идеей», при том что к ярым фанатам «Звездных войн» он себя не относил. Сам он говорит, что все это довольно скучно. Нужно находиться в каком-то странном настроении, когда нет ничего другого, чем хотелось бы заняться.

Геймдизайнер Саймон Эшфорд, работавший на Universal Pictures, считает работу Янсена «вдохновляющим, но бестолковым трудом». Вообще, у Янсена есть множество других проектов, в том числе реактивный охладитель пива и разные штуки на Arduino, но именно анимация «Звездных войн» стала его самым известным пет-проектом. Классический пример «троллейбуса из буханки». 

На другом конце спектра находятся проекты, созданные не просто по приколу, а по любви и ради пользы.

Музыкант и программист Дилан Тернер сделал сайт, который алгоритмически генерирует модненький lofi хип-хоп со свободными правами. Бесплатный, без рекламы и без регистрации. У видеоблогеров и стримеров есть постоянная огромная потребность в новой музыке, свободной от авторских прав, и сайт, подобный этому, может стать очень востребованным.

Второй проект Дилана — музыка из кубиков, https://ludotune.com/Второй проект Дилана — музыка из кубиков, https://ludotune.com/

Lofi Generator мог бы стать «серьезным» прибыльным проектом вроде Elasticsearch, но Дилан работает за донаты, так как его цель — предоставить отличный пользовательский опыт без каких-либо тактик монетизации, нарушающих конфиденциальность. Его мотивация — любовь к музыке. Однако разработка требует очень много времени, и без донатов не обойтись.

Это частая история, когда при создании пет-проектов человеком движет стремление популяризировать свои идеи и увлечения — неважно, музыка это, или железки. 

Джордж Хиллард — инженер, занимающийся embedded-системами, и фанат Linux — мечтает о дешевых компьютерах с поддержкой Linux и ищет варианты, куда его можно встроить. 

Он сделал визитную карточку под управлением Linux.

c05d18846dc02cfdf8b4bb4216e30507.png

Это самостоятельный компьютер на базе процессора ARM, на котором установлена ​​кастомная прошивка Linux, созданная с помощью Buildroot. На Хабре уже делали перевод его статьи про особенности разработки, поэтому не будем останавливаться на деталях реализации.

Помимо того, что это технически интересная штука, в ней есть очевидная практическая польза для своего создателя. Вручая такую визитку, embedded-инженер демонстрирует свои скиллы и запоминается как яркий профессионал, — его контакты хочется сохранить. Резюме автора вместе с контактами содержится в самой визитке. Но если сотрудничество не сложится, такую визитку можно использовать просто как флешку. 

А как еще можно вшить нужную информацию куда-либо и сразу получить к ней доступ? Для этого подойдет QR-код. 

На Хабре уже было много про QR-коды и из последнего странного запомнился пост про то, как нарисовать себе ковидный код. А вот мобильный разработчик Фабио Карбоне сделал Catcode. Суть в том, что пользователь рисует морду котика, связывает ее с определенной информацией, а затем сканирует, как обычный QR-код.

Карбоне создал этот продукт во время пандемии (привет, свободное время!). Двигала им исключительно практическая сторона вопроса: используя много бумажных носителей (книги, блокноты, заметки), он искал способ связать их с цифровым контентом и понял, что до сих пор такой возможности нет. Его «кошкокод» — это попытка заполнить этот пробел. В основе Catcode лежит искусственный интеллект и компьютерное зрение. Алгоритм обнаружения объектов распознает форму кошки, а нейронная сеть извлекает уникальные характеристики каждой кошки. 

То, что началось, как попытка решить собственную проблему, вылилось в приложение, которое автору даже удалось монетизировать.

Но со ставшими популярными проектами так бывает не всегда. 

Ави Шиффманн — 17-ти летний школьник, также начал свой проект во время пандемии. Он первым разработал сайт, отслеживающий распространение коронавируса. В то время найти информацию о новом вирусе было сложно, существующие сайты тормозили, были завалены рекламой или откровенно недостоверной информацией. Сайт Ави был одним из первых вообще в мире, где публиковалась актуальная информация о ситуации с коронавирусом. В основе работы сайта — веб-скрапинг: используются данные со страниц различных источников по всему миру.

Ави утверждал, что на его сайте никогда не будет рекламы, и отказался от восьми миллионов долларов за размещение рекламы. 

Этот проект не настолько трудозатратен, как другие в этом посте, но при этом принес Ави награду «Человек года» на церемонии вручения наград Webby Awards 2020.

На сайте есть не только статистика по ковиду, но и калькулятор выживаемостиНа сайте есть не только статистика по ковиду, но и калькулятор выживаемости

А вот еще один проект, касающийся здоровья.

Хорватский продуктовый дизайнер Андрей Дукич, по его словам, более четырех лет не выходил из комнаты и работал над проектом протеза руки, который каждый может напечатать на 3D-принтере. 

Сначала в 3D-программе делается подгонка макета под конкретного человека, затем сам протез печатается на любом 3D-принтере и за полдня собирается. Общая стоимость деталей — около 25 евро.

На такую работу его сподвигла личная история.

В юности Андрей занимался борьбой, повредил лодыжку и руку, после чего стал искать варианты, которые помогли бы ему вернуться в спорт.

Читая истории людей, вступивших на путь бесконечных и безуспешных операций, он наткнулся на историю британца, который после десяти лет операций и реабилитации, наконец, решился на ампутацию ноги и с тех пор стал жить без боли —  даже смог вернуться в спорт. Так у Андрея появилась «глупая» идея ампутировать ногу и разработать протез. 

Потом стала давать о себе знать и рука, и Андрей стал искать в интернете протезы. Он узнал, что в реальности они гораздо менее сложные, чем их представляют в СМИ и фильмах. И тогда он решил сконструировать механическую руку.

Как это в итоге работает в жизни, можно посмотреть в ролике про распаковку протеза. 

Протез за 25 евро может перевернуть всю индустриюПротез за 25 евро может перевернуть всю индустрию

Своим проектом Дукич противостоит бюрократии и демократизирует доступ к качественному протезированию. Он хочет создать не только полезный и инновационный протез, способный изменить жизнь людей, но и сделать его стоимость доступной.

Это похвальная, амбициозная цель, и по-хорошему безумная. 

«Только безумцы думают, что могут изменить мир, и только они делают это» — любимая цитата Ави Шиффмана принадлежит Стиву Джобсу. В ней речь идет про «безумие» положительное и социально одобряемое. Но бывает и так, что мотивацией создания какого-либо проекта становится безумие реальное — психическая болезнь.

Один из таких проектов — TempleOS, библейская операционная система, которую ее автору приказал разработать Бог (и даже указал в ТЗ параметры — 16-цветная графика, разрешение 640×480 и одноголосый звук).

cf686f6b96d8797553deca02ec6f9b22.png

История ее создателя — Терри Дэвиса — достаточно трагическая. Талантливого программиста забрала шизофрения, в 48 лет Дэвис погиб под колесами поезда. 

При жизни Дэвис был активным пользователем Reddit, а сейчас у TempleOS есть свой собственный сабредит. У системы, которую без преувеличения можно назвать далеко зашедшим пет-проектом, есть своя экосистема со своими внутренними пет-проектами. Люди пишут под нее программы, делают игры, рисуют портреты Дэвиса и запускают систему на самых разных устройствах. Никакой практической пользы это не несет, и для фанатов это, вероятно, такой способ ухода от реальности.

И интерес не угасает до сих пор: например, новая игра Holy Shoot для этой ОС вышла совсем недавно — 22 февраля.

У многих людей пет-проектом становится игра, но мало у кого подобное хобби выливается в нетривиальный проект с такими высокими трудозатратами, как у разработчика Александра Коротаева. Он с детства залипал на «Героев меча и магии», а в сознательном возрасте решил сделать браузерную версию этой игры. 

Cпрашивается, а для чего впрягаться в очевидно трудозатратный и долгий проект?  

Во-первых, это красиво. 

Во-вторых, это прокачивает навыки разработчика и позволяет выйти за рамки рабочих обязанностей — и это хорошая мотивация начинать пет-проект любой направленности.

А еще Александр хотел перестать играть в игры вообще. А когда человек начинает разрабатывать игры, то и играть в них начинает по-другому и намного меньше. 

С рассказом об этом проекте Александр выступил на конференции HolyJS. А мы в блоге даже делали текстовую расшифровку этого доклада — там можно посмотреть технические подробности реализации. А залипнуть в игру можно здесь. 

Александр Коротаев в своем выступлении задается главным вопросом, который хочется задать всем авторам далеко зашедших пет-проектовАлександр Коротаев в своем выступлении задается главным вопросом, который хочется задать всем авторам далеко зашедших пет-проектов

Проект Коротаева занял два года, а программист Тарн Адамс (aka Toady One) вместе со своим братом Заком работает над игрой Dwarf Fortress… уже 20 лет. Dwarf Fortress считают сложной и недружелюбной к новичкам, но если вы разберетесь в ней, она захватит вас. Эта игра — одна из самых безумных и впечатляющих, с изощренной и сложной процедурной генерацией мира. В 2012 году она стала одной из первых видеоигр, приобретенных Музеем современного искусства в Нью-Йорке.  

Ничего не понятно, но очень весело. Персонажи здесь могут рубиться в мясо, а кошки напиваться до беспамятстваНичего не понятно, но очень весело. Персонажи здесь могут рубиться в мясо, а кошки напиваться до беспамятства

Тарн вместе со своим братом Заком делают игры со школы — программированием их увлек отец. Над DF Тарн работает с 2002 года. Первые четыре года это был побочный проект на неполный рабочий день, но проект увлекал все больше и больше, и страсть к играм сделала свое дело — Тарн бросил учебу в докторантуре, чтобы посвятить все свои силы Dwarf Fortress. Пожертвования игроков стали его единственным источником дохода. Сперва игроки донатили в PayPal, затем в Patreon. Сейчас братья работают над версией с пиксельной графикой и обновленным пользовательским интерфейсом, которая будет доступна для покупки на Steam, релиз запланирован на этот год. 

Тарн сам пишет весь код (на С и С++), а брат помогает ему с дизайном и сочиняет истории по мотивам игры. За годы работы проект разросся до 711 000 строк кода, но по заверениям Тарна, управлять им в одиночку намного проще. Нет никаких организационных или бюрократических препятствий, которые нужно преодолевать, когда требуется внести изменения. Единственный минус — невозможно держать все в голове, поэтому легко можно что-то забыть. 

DF из пет-проекта превратилась в полноценный, но это не мешает Тарну запускать уже новые пет-проекты. По его словам, в специальной папке, которая мигрировала между компьютерами последние десять лет, сейчас находится около 90 проектов. Над некоторыми из них работа шла пару дней, над другими — несколько лет. В основном это игры в других жанрах, но есть и несколько проектов-помощников DF, например, прототип генератора мифов.

Несмотря на немейнстримовый вид DF, ее сложность и запутанность — это по-настоящему культовый проект, который вырос из страстного желания одного человека делать игры. 

А вот пример реализации творческого потенциала в уже существующих играх и целой командой. На этот раз — Minecraft.

В августе 2011 года разработчик с ником THEJESTR начал строительство города Greenfield, прототипом которого стал Лос-Анджелес.

Первым построенным сооружением была автозаправочная станция рядом с районом Ритейл Парк (она существует и по сей день). В течение следующих месяцев THEJESTR и другие строители создали центр города. 10 октября 2011 года сервер был взломан тремя игроками, но THEJESTR успел сделать резервную копию сервера.

Первый мир был загружен 30 октября того же года. 

К 2021 году проект собрал 400 разработчиков, а сам город разросся до 20 миллионов квадратных блоков. 99% всех зданий имеют полноценный интерьер. 

Координировать команду из 400 человек, задача не простая. В команде есть администраторы, которые занимаются инфраструктурой — они создают множество карт и планов, чтобы убедиться, что все работает в реальном времени. Затем рядом с дорогами создаются участки, и строители приступают к постройкам.

Зачем все это нужно? Для удовольствия. Людям, участвующим в этом проекте, нравится строить и нравится видеть, как то, что они запланировали, вырастает в целый город. Кроме того, в команде есть люди, которые изучают инженерное дело, и участие в строительстве виртуального города помогает им в реальной работе.

А напоследок расскажем о проекте, который в буквальном смысле зашел далеко — аж в Зимбабве. Он косвенно айтишный и связан с Google Maps.

Как-то раз фотограф Таванда Канхема хотел показать другу дом своего детства в Хараре, столице Зимбабве, но столкнулся с тем, что его дома на Google Maps Street View не оказалось. Таванду это расстроило. На картах Google вообще нет многих труднодоступных регионов, так как приоритет компании — оцифровывать крупные мегаполисы. Таванда обратился в Google, чтобы исправить ситуацию. 

В итоге все это вылилось в путешествие длинной более 3000 км, и теперь в Зимбабве есть 800 км Street View.

Канхема использовал камеры, взятые у Google и Insta360, и на протяжении части пути его сопровождала съемочная группа Google, которая записывала его эпическое путешествие по песчаным дюнам и городским улицам. Канхема носил камеру на спине во время пеших, велосипедных прогулок и езды на квадроциклах, а также передвигался на автомобиле, лодке и вертолетах.

Вид на водопад Виктория с вертолетаВид на водопад Виктория с вертолета

Теперь благодаря неравнодушному Таванде Канхеме каждый может совершить виртуальную экскурсию по водопаду Виктория, Национальному монументу Великого Зимбабве и другим достопримечательностям.

Подводя итоги

Можно ли сделать из всего этого какой-то единый вывод? Кажется, нет: когда люди делают что-то не на заказ, а по велению сердца, фантазия разводит их в совершенно разные стороны, где нет шаблонов и единых схем.

Но одно можно сказать наверняка: хотя многие из подобных проектов лишены практической ценности, с ними мир становится интереснее, чем если бы все руководствовались только прагматизмом и кругом царил бы сплошной энтерпрайз.

Многим из вас наверняка тоже известны странные и интересные пет-проекты, поэтому смело делитесь ими в комментариях.

© Habrahabr.ru