GitHub digest #7: альтернативный, весёлый и бессмысленный
Репозитории апреля: собрали всё самое странное, но не бесполезное.
Иллюстрация: Оля Ежак для Skillbox Media
На GitHub публикуют не только код инновационных утилит и профессиональных решений. На площадке есть много странных и необычных проектов, которые программисты создают в качестве хобби или шутки. В этом дайджесте собрали самые необычные GitHub-репозитории. Но если вам сегодня не до смеха — во второй части подборка очень даже серьёзных и полезных проектов.
Команды от героя Commando
ArnoldC — эзотерический язык программирования, основанный на знаменитых фразах персонажей Арнольда Шварценеггера. По словам авторов, цель проекта — обнаружить новые смыслы в фильмах железного Арни с помощью информатики.
Простейшая программа на ArnoldC выглядит так:
А Hello, World — так:
Открыть репозиторийКонституция Индии
Repository for the Constitution of India
Да, у Конституции Индии есть свой гитхаб. Иначе, наверное, и быть не может, ведь страна славится своими программистами. Примечательно, что это не просто хранилище текста, — здесь лежит конституция со всеми 99 поправками. С помощью скриптов на Shell и Python можно формировать сборки с разными версиями основного закона, в зависимости от принятых на тот момент поправок.
При этом в качестве авторов каждого коммита указаны люди, предложившие поправку. Например, есть коммиты за авторством премьер-министра Индиры Ганди и даже Джавахарлала Неру.
Открыть репозиторийСегодня он программирует джаз
Проект с открытым исходным кодом для создания бесплатной нотной книги для музыкантов, играющих джаз. Каждый пользователь может сформировать свой вариант книги, выбрав нужные ему мелодии, формат, размер и многое другое.
Автор проекта, Марк Вельцер, изучал джаз, но не хотел платить за слишком дорогие нотные издания — а потому решил запилить бесплатный джазовый сборник в опенсорсе. По его мнению, джаз, как самый либеральный жанр музыки, идеально сочетается с философией свободного ПО.
Стоит также отметить, что технически проект не так прост. Помимо скриптов на Рython и шаблонизатора Mako, здесь использованы различные инструменты для работы с PDF (QPDF, Okular, PDF2PS, GV), создания музыкальной нотации (LilyPond) и обработки аудиофайлов (TiMidity, LAME).
Открыть репозиторийСделаем программирование снова великим
TrumpScript
TrumpScript — псевдоязык, созданный четырьмя студентами Университета Райса на 36-часовом хакатоне.
«Это язык, который бы одобрил Трамп. Так же, как он собирается сделать Америку великой, мы надеемся, что наши усилия вернут величие программированию».
Создатели TrumpScript
Язык состоит примерно из тысячи строк кода и вполне функционален. Вот некоторые из его особенностей:
- Нет дробных чисел, только целые. Америка никогда не делает ничего наполовину.
- Все числа строго больше миллиона. Зачем мелочиться?
- Никаких импортов. Весь код должен быть собственного производства и сделан в Америке.
- Вместо True и False используются ключевые слова fact («факт») и lie («ложь»).
- В качестве имён переменных можно выбирать только самые популярные английские слова, любимые словечки Трампа и имена современных политиков.
- Сообщения об ошибках — в основном цитаты самого Трампа.
- Все программы должны заканчиваться фразой «Америка великая».
- На китайском компьютере TrumpScript не скомпилируется. Нельзя, чтобы китайцы воровали американские технологические секреты.
- Путём построения стены (добавление флага --Wall) TrumpScript откажется запускаться на машинах с мексиканской локализацией.
Чуть помедленнее, страницы
ComcastifyJS
Пока все нормальные веб-разработчики придумывают ухищрения, чтобы максимально ускорить загрузку сайта, создатели этого проекта пошли противоположным путём — они предлагают вам насладиться долгой загрузкой страницы.
Почувствовать всю «медленность» бытия можно на этой странице. А чтобы переживать это чувство вновь и вновь, просто перезагружайте страницу.
Открыть репозиторийЛоремы и ипсумы на любой вкус
Lorem ipsum, dolor sit amet
Обычно при разработке сайта, когда ещё финальный текст не готов или не загружен, используют «заглушку», текст на латыни, который называют по первым словам: Lorem ipsum.
В этом репозитории собраны альтернативы. Здесь есть шаблоны из мира животных (Cat Ipsum, Doggo Ipsum), персоналии (Chuck Norris Facts, Donald Trump Ipsum и другие), еда и напитки (Bacon Ipsum, Cheeseburger Ipsum, Liquor Ipsum и другие), а ещё Gangsta Lorem Ipsum, Hacker Ipsum, Harry Potter Ipsum, Lorem Gibson, Bro Ipsum, Japanese Ipsum и много других ипсумов.
Фрагмент Video Game Ipsum:
Открыть репозиторийТринадцать?
Is-thirteen
Этот NPM-пакет проверяет, равно ли число 13. «Что за ерунда?» — скажете вы. Однако этот незамысловатый репозиторий получил пять с половиной тысяч звёзд. Есть о чём задуматься.
Открыть репозиторийДевочки с книжками
Подборка аниме-девочек, которые держат в руках книги по программированию. Представлены почти все основные языки.
Открыть репозиторийГлазам не верю
Dual Axis Rotation Illusion
Dual Axis — лучшая иллюзия 2019 года. На сайте проекта Dual Axis Illusion можно не только восхититься обманом зрения, но и выбрать разные варианты с помощью интерактивного меню.
Открыть репозиторийЧёрт побери
The Fuck
Название этой утилиты отражает эмоции, которые испытывает разработчик, введя неверную команду в терминале. The Fuck исправляет допущенную ошибку. Утилита сравнивает введённые слова со списком существующих команд — если совпадение найдено, создаётся и исполняется новая команда.
Например, если вы ввели cargo, а не cargo build или cat_dir вместо cat ls, приложение определяет это и исправляет ошибку.
Открыть репозиторийБатины шутки про программирование
Dad style programming jokes
Подборка программистского юмора в стиле «батяни» на английском языке. Шутки примерно такого плана:
Вопрос: Что можно сделать, если не получается запушить правки в Git?
Ответ: Используй --force (силу), Люк.
Вопрос: Есть ли объектно-ориентированный способ стать богатым?
Ответ: Да, наследование.
Вопрос: Почему разработчик жаловался на стойке регистрации в отеле?
Ответ: Потому что они не могли найти номер 404.
Предъявите документы
Beautiful Docs
Хорошо написанная и оформленная документация — важный элемент успеха любого продукта. С её помощью пользователи и сторонние разработчики смогут быстро разобраться со всеми неочевидными деталями проекта. В этом репозитории собраны ссылки на лучшие примеры:
- GitHub Docs;
- Dropwizard;
- Django documentation;
- ClojureDocs;
- FreeBSD Handbook;
- Scala Documentation;
- Moment.js;
- Packer Documentation;
- Abjad.
Отличный источник вдохновения для тех, кто пишет документацию. Но, даже если вы не технический писатель, стоит заглянуть — это правда красиво.
Открыть репозиторийЧитайте также:
Не проходи мимо
Best websites a programmer should visit
Подборка главных сайтов, которые должен посетить каждый программист. Стандартный набор на все случаи жизни разработчика: новости, уроки для новичков, идеи для пет-проектов, подготовка к интервью, ИИ, статьи, подкасты и видео, практика, вакансии и многое другое. Отличное хранилище полезностей, которое не стыдно добавить в закладки.
Открыть репозиторийЕсли завтра собес
Коллекция стандартных вопросов и ответов на собеседовании для фронтендера. Вопросы можно фильтровать по темам: HTML, CSS, JavaScript, React, Node, security и уровням сложности. Если забыли, чем отличается элемент от компонента в React, то вам сюда.
Читайте также:
Альтернативный фронтенд
Alternative front-ends
Подборка фронтенд-оболочек с открытым исходным кодом для популярных платформ и приложений. Например, YouTube можно смотреть через такие оболочки:
Преимущество альтернативных оболочек в том, что в них нет рекламы, подписок и трекеров.
Открыть репозиторийБотоферма
Awesome Bots
В репозитории собрано всё для ботоводства: библиотеки для создания ботов и аналитики, обучалки, советы и гайды по настройке. Кроме того, можно найти уже готовых ботов для Slack, Discord, Telegram, VK и других платформ.
Открыть репозиторийАтака клонов
Свыше ста опенсорс-клонов и альтернатив популярных сайтов вроде Airbnb, Amazon, Netflix, TikTok, Spotify, WhatsApp, YouTube и других. Все они представлены в виде таблицы со ссылками на исходный код, руководства, демо и с указанием количества звёзд на GitHub.
Открыть репозиторийБольше интересного про код — в нашем телеграм-канале. Подписывайтесь!