GitHub digest #11: и веселье, и хардкор
Предлагаем вашему вниманию мизанплас и эмодзи.


Иллюстрация: Оля Ежак для Skillbox Media
В этом дайджесте собрали инструменты для серьёзных разработчиков, дорожные карты для тех, кто только изучает программирование, и странные утилиты для любителей экспериментов с железом.
Файловый менеджер на стероидах
Broot
Broot — быстрая и мощная утилита для просмотра и навигации по деревьям каталогов в терминале. Если надо быстро изучить содержимое папок, то Broot — лучшее решение.

Изображение: Broot
Возможности Broot:
- Переход к папке с минимальным количеством нажатий клавиш, даже если вы не помните, где она находится.
- Навигация с помощью клавиши табуляции или стрелок.
- Поиск по содержимому файлов.
- Поиск с помощью регулярных выражений, логических операторов и шаблонов.
- Файлы можно открывать в программе, которая используется в ОС по умолчанию.
- Древовидная иерархия всегда остаётся перед глазами пользователя, даже если перемещаться по директориями.
- Можно добавлять свои сочетания клавиш.
Передача файлов между компьютерами
Croc
Croc — инструмент для безопасного перемещения файлов между компьютерами. Да, в macOS есть AirDrop, а в Windows — Nearby Share, но между собой эти технологии не дружат. Поэтому передать файл с MacBook на ноутбук с установленной Ubuntu без проводов — непростая задача. Помочь справиться с ней может Croc.
Возможности утилиты:
- Позволяет передавать файлы между двумя компьютерами с разными ОС (Windows, Linux, macOS).
- Обеспечивает сквозное шифрование.
- Можно передавать сразу несколько файлов.
- Если соединение оборвётся, то процесс передачи можно восстановить.
- Соединение можно проксировать для большей безопасности.
Дорожные карты для самых разных разработчиков
Roadmap.sh
Roadmap.sh — портал с интерактивными дорожными картами для изучения языков программирования и технологий. Если решились погрузиться в новый для себя стек и не знаете, с чего следует начать, то обратите внимание на рекомендации от авторов roadmap.sh.

Скриншот: roadmap.sh / Skillbox Media
Каждая дорожная карта на сайте начинается с простых тем и постепенно погружает читателя в особенности языка программирования. Карты интерактивные — если нажать на тему, то откроются ссылки на полезные ресурсы и рекомендации по изучению. Можно отмечать пройденные темы, чтобы отслеживать прогресс.
На сайте доступно более 50 дорожных карт по востребованным языкам программирования и технологиям, включая Python, Java, C++ и React. Разработчики активно пополняют коллекции, а если у вас есть опыт в какой-то теме, то можно помочь в составлении дорожной карты.
Открыть репозиторийМузыкальный бот для Discord
JMusicBot
JMusicBot — бот для Discord, который выступает в роли диджея и воспроизводит музыку в голосовом чате. При этом треки слышат все участники чата, что удобно для уютных бесед под расслабляющий инструментал.

Изображение: JMusicBot
Бот быстро загружает песни и воспроизводит их без прерываний. Можно активировать функцию, позволяющую каждому участнику чата добавить свою песню в очередь. Есть интеграция с YouTube и SoundCloud, но можно включать и свои треки, если есть локальная медиатека. Поддерживаются форматы MP3, FLAC, WAV, Matroska/WebM, MP4/M4A, OGG и AAC.
Открыть репозиторийПрограмма для умного дома
Home Assistant
Home Assistant — популярная платформа для управления умным домом. Главная её фишка заключается в том, что все данные пользователь может хранить на собственном сервере или даже Raspberry Pi.
К платформе можно подключать датчики, умные приборы и голосовых ассистентов. Поддерживаются сценарии автоматизации, например, на одну команду можно назначить сразу несколько действий. Удобно уже в кровати перед сном сказать фразу «спокойной ночи», чтобы умный дом сам выключил везде свет, поставил будильник и включил расслабляющую музыку для хорошего сна.

Скриншот: Home Assistant Demo / Skillbox Media
На сайте Home Assistant можно запустить демонстрационный дашборд и изучить возможности платформы. На самом деле, там всё как в проприетарных системах умного дома, только приватно и безопасно.
Открыть репозиторийШвейцарский нож разработчика
Mise-en-place
Mise-en-place — утилита, которая помогает управлять таким инструментами, как Node.js, Python, CMake, Terraform и сотнями других, а также, подобно Direnv, работает с переменными окружения для различных каталогов проекта. Ещё Mise может управлять сборкой и тестированием проектов.
Открыть репозиторийНе гитом единым
Jujutsu
Jujutsu — это система контроля версий, созданная инженером-программистом из Google вместе с командой энтузиастов. Её разработали с нуля так, чтобы она идеально подходила как новичкам, так и опытным инженерам. Можно использовать в больших проектах с миллионами строк кода и в небольших стартапах всего с одним приложением.
Создатели попытались объединить в одном инструменте архитектурные решения и концепции из других систем контроля версий, прежде всего вдохновлялись Git, Mercurial, Sapling и Darcs.
Даже если вы не готовы отказаться от Git, стоит взглянуть на Jujutsu, просто чтобы посмотреть, как можно по-другому работать с версиями.
Открыть репозиторий
Читайте также:
Рожицы для вашего проекта
Beanheads
Если вы пишете игру или в вашем приложении нужны красивые и весёлые аватарки, то вам определённо пригодится подборка сгенерированных персонажей. Можно миксовать выражения лиц, причёски, одежду и создавать забавных человечков. Готовые рожицы можно импортировать в свой проект. Главный плюс в том, что все персонажи в одном стиле.

Скриншот: Bean Heads / Skillbox Media
Анимированные эмодзи
Animated Emoji
Официальное хранилище анимированных Noto Emoji от Google. Да, именно эти эмодзи используются в Android, а вы можете встроить их в своё приложение. Все анимации доступны в форматах WebP, GIF и Lottie. Также есть рекомендации по настройке и ответы на часто задаваемые вопросы по работе с анимациями.

Скриншот: Animated Emoji / Skillbox Media
Необычное применение ноутбука
Open and Shut
Open and Shut — утилита, которая превращает ноутбук в передатчик азбуки Морзе. Для этого надо открывать и захлопывать крышку устройства, а буквы буду появляться на экране. Если хочется чего-то более оригинального, чем обычная клавиатура, то стоит попробовать Open and Shut. При этом авторы проекта не уточняют, сколько при таком использовании проживут шарниры крышки ноутбука.

Изображение: Open and Shut
Легендарная игра онлайн
DiabloWeb
DiabloWeb — веб-порт оригинальной игры Diablo, основанный на восстановленном исходном коде. Для запуска достаточно просто перейти по ссылке и можно наслаждаться игрой. Без сложных установок эмуляторов и поиска образа игры.

Скриншот: d07RiV / GitHub / Skillbox Media
Любителям алгозадач
Playground
Playground — коллекция решений алгоритмических задач с платформ LeetCode и HackerEarth на языке C++. Если долго не можете придумать элегантное решение, то стоит поискать в этом репозитории.
Открыть репозиторийМатрицеподобный интерфейс
Ly
Ly — лёгкий экранный менеджер для Linux и BSD с интерфейсом, как в «Матрице». Если надоел классический экран ввода пароля, то можно попробовать Ly. В репозитории есть инструкция по установке и настройке.

Изображение: The Fairy Glade / GitHub
Шпаргалки для бэкендеров
Backend cheats
Репозиторий с информацией по основным темам разработки бэкенда. Весь материал разделён на главы с важными для программистов темами, а каждая тема состоит из трёх частей:
- Визуальный материал — схемы, таблицы, шпаргалки и графики, которые подготовили специально для этого репозитория.
- Резюме — краткая выжимка основной информации со списком ключевых терминов и понятий.
- Ссылки на источники — сайты, где можно найти полную информацию по конкретному вопросу. По возможности указываются наиболее авторитетные ресурсы или те, которые предоставляют информацию максимально простым и понятным языком.

Изображение: Yury / GitHub
Многие темы будут полезны не только бэкендерам. Например, как устроен интернет, что такое DNS, как работают браузеры, протоколы HTTP, TCP/IP, устройство ПК, основы Linux и работа с REST API.
Есть версия на русском языке.
Открыть репозиторийПрограмма для эскизов, заметок и комментариев
Rnote
Rnote — это приложение для создания эскизов, рукописных заметок и аннотаций к документам и фотографиям.

Скриншот: Rnote
Особенности:
- Адаптивный пользовательский интерфейс, ориентированный на ввод с помощью стилуса.
- Настраиваемый формат страницы.
- Объекты на холсте можно масштабировать, перемещать и изменять.
- Можно работать с разными макетами документа, например с бесконечным холстом или обычной страницей в формате A4.
- Встроенный браузер рабочего пространства для быстрого доступа к связанным файлам.
- Вкладки для одновременной работы с несколькими документами.
- Импортировать файлы можно в форматах PDF, Bitmap и SVG, а экспортировать — в SVG, PDF, XOPP.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!