Проекты на C
-
barco
Контейнер Linux, написанный с нуля на C. Опирается только на низкоуровневые возможности Linux и помогает разобраться в техническом устройстве контейнеров и ядра.
$ sudo ./bin/barco -u 0 -m / -c /bin/sh -a . [-v] 22:08:41 INFO ./src/barco.c:96: initializing socket pair... 22:08:41 INFO ./src/barco.c:103: setting socket flags... 22:08:41 INFO ./src/barco.c:112: initializing container stack... 22:08:41 INFO ./src/barco.c:120: initializing container... 22:08:41 INFO ./src/barco.c:131: initializing cgroups... 22:08:41 INFO ./src/cgroups.c:73: setting memory.max to 1G... 22:08:41 INFO ./src/cgroups.c:73: setting cpu.weight to 256... 22:08:41 INFO ./src/cgroups.c:73: setting pids.max to 64... 22:08:41 INFO ./src/cgroups.c:73: setting cgroup.procs to 1458... 22:08:41 INFO ./src/barco.c:139: configuring user namespace... 22:08:41 INFO ./src/barco.c:147: waiting for container to exit... 22:08:41 INFO ./src/container.c:43: ### BARCONTAINER STARTING - type 'exit' to quit ### # ls bin home lib32 media root sys vmlinuz boot initrd.img lib64 mnt run tmp vmlinuz.old dev initrd.img.old libx32 opt sbin usr etc lib lost+found proc srv var # echo "i am a container" i am a container -
quake2-rerelease-dll
Исходный код официального переиздания Quake II. Классический шутер от первого лица студии id Software вышел в 1997 году; здесь опубликован код версии, заново выпущенной в 2023 году.

-
trurl
Консольная утилита для разбора и изменения URL. Новый проект автора cURL позволяет извлекать, заменять и задавать параметры адреса.

Проекты на C#
-
GeekDesk
Компактный запускатель программ для Windows. Бесплатная утилита «Гик-десктоп» с минималистичным интерфейсом ищет файлы по всему диску, вызывается одним действием и позволяет задать обои и напоминания по расписанию.

-
Starward
Открытый запускатель игр miHoYo. Поддерживает все компьютерные игры студии: загрузку, учёт времени в игре, смену аккаунтов, сохранение истории получения персонажей и предметов и инструменты сообщества HoYoLAB. Работает в Windows 10 и новее.

Проекты на C++
-
implot
Библиотека интерфейса для графиков в реальном времени. Расширение Dear ImGui обновляет графики при действиях пользователя и поступлении данных, поддерживает ускорение на GPU, разные виды и комбинирование графиков. Для встраивания визуализации хватает небольшого объёма кода.
int bar_data[11] = ...; float x_data[1000] = ...; float y_data[1000] = ...; ImGui::Begin("My Window"); if (ImPlot::BeginPlot("My Plot")) { ImPlot::PlotBars("My Bar Plot", bar_data, 11); ImPlot::PlotLine("My Line Plot", x_data, y_data, 1000); ... ImPlot::EndPlot(); } ImGui::End();
-
wslg
Запуск графических приложений Linux в Windows. Открытый проект Microsoft обеспечивает естественную работу таких программ, включая копирование и вставку между приложениями Windows и Linux. WSLg встроен в Windows 10 и более новые версии и запускается командой wsl.

Проекты на Go
-
etree
Лёгкая библиотека XML для Go без лишних структур. Стандартная библиотека Go требует описывать вложенные структуры данных для XML. Вдохновлённая Python ElementTree библиотека etree позволяет гибко читать и создавать XML-документы без определения структур.
doc := etree.NewDocument() doc.CreateProcInst("xml", `version="1.0" encoding="UTF-8"`) doc.CreateProcInst("xml-stylesheet", `type="text/xsl" href="style.xsl"`) people := doc.CreateElement("People") people.CreateComment("These are all known people") jon := people.CreateElement("Person") jon.CreateAttr("name", "Jon") sally := people.CreateElement("Person") sally.CreateAttr("name", "Sally") doc.Indent(2) doc.WriteTo(os.Stdout) -
golang-design-pattern
Примеры паттернов проектирования на Go. Автор законспектировал китайскую книгу «Разбираем паттерны проектирования» и реализовал на Go все 23 описанных в ней паттерна.
-
ls-lint
Проверка правил именования файлов и каталогов. Быстрый линтер на Go с небольшим числом зависимостей настраивается через YAML: можно задать правила и исключения. Подходит для Git hooks, GitHub Actions и образов Docker.
ls: .js: snake_case .ts: snake_case | camelCase .d.ts: PascalCase .html: regex:[a-z0-9]+ ignore: - node_modules
-
webp_server_go
Готовый сервер для преобразования изображений в WebP. Написанный на Go сервис без доработок превращает JPG, PNG, BMP, SVG и другие форматы в WebP — формат Google для ускорения загрузки картинок. Это уменьшает размер файлов и расход трафика.

Проекты на Java
-
Jailer
Мощный инструмент выборки данных из базы. Позволяет просматривать связанные записи и подмножества данных, а также строить топологический порядок DML-операций. Помогает извлечь из рабочей базы таблицы и данные, необходимые для тестирования полного бизнес-сценария.

-
OneAccount
Лаконичное приложение учёта финансов для Android. Позволяет настраивать категории доходов и расходов, напоминания, бюджет и статистику трат.

-
triplea
Пошаговая военная настольная игра на Java. Бесплатная игра с открытым кодом позволяет разыгрывать сражения Второй мировой и Наполеоновских войн. Работает в Windows, Linux и macOS.

Проекты на JavaScript
-
biomes-game
Открытая браузерная песочница MMORPG. Компания Global Illumination, позже приобретённая OpenAI, создала многопользовательскую игру на React, Next.js, TypeScript и WebAssembly. В ней можно исследовать мир, строить дома, торговать и общаться — без установки, прямо в браузере.

-
docsify
Генератор сайта документации без сборки. Позволяет опубликовать документы сразу после написания, без отдельного этапа сборки. Есть полнотекстовый поиск, собственные темы оформления, богатый API и поддержка эмодзи.

-
poster-design
Онлайн-редактор изображений и плакатов. Инструмент на Vue 3, Vite 2, Vuex и Element Plus помогает создавать картинки для интернет-магазинов, длинные иллюстрации к статьям, обложки видео и публикаций в WeChat.

-
warriorjs
Ролевая игра для изучения JavaScript. Командами на JavaScript игрок ведёт воина в бой, спасает пленников и поднимается по башне к легендарному мечу JavaScript.

-
WeHalo
Блог в формате мини-приложения WeChat. Проект использует серверную часть Halo и переносит статьи в WeChat. Поддерживает личную карточку, публикации, комментарии, поиск и настройку панели навигации.

Проекты на Python
-
DrissionPage
Автоматизация браузера и веб-запросов на Python. Инструмент, похожий на Selenium, работает с браузерами на Chromium и объединяет управление страницей с отправкой запросов в едином простом API.
# 下载星巴克产品图 from DrissionPage import SessionPage from re import search # 以s模式创建页面对象 page = SessionPage() # 访问目标网页 page.get('https://www.starbucks.com.cn/menu/') # 获取所有class属性为preview circle的元素 divs = page.eles('.preview circle') # 遍历这些元素 for div in divs: # 用相对定位获取当前div元素后一个兄弟元素,并获取其文本 name = div.next().text # 在div元素的style属性中提取图片网址并进行拼接 img_url = div.attr('style') img_url = search(r'"(.*)"', img_url).group(1) img_url = f'https://www.starbucks.com.cn{img_url}' # 执行下载 page.download(img_url, r'.\imgs', rename=name) -
learndb-py
Реляционная база данных с нуля на Python. Учебный проект помогает понять внутреннее устройство баз данных и потренироваться в реализации; для рабочего использования он не предназначен.
-
nvitop
Мониторинг GPU NVIDIA и процессов в стиле top. Цветной интерфейс обновляет сведения об устройствах и процессах в реальном времени, поддерживает фильтрацию, управление мышью и отправку сигналов.

-
upiano
Электронное пианино в терминале. Небольшое приложение легко установить и запустить; играть можно с клавиатуры или мышью.

-
watchgha
Состояние GitHub Actions прямо в консоли. Одна команда показывает в реальном времени ход workflow для текущей ветки.

Проекты на Ruby
-
OpenFarm
Бесплатная база знаний о выращивании растений. Содержит пошаговые инструкции для помидоров, картофеля, клубники и других культур.

Проекты на Rust
-
rjvm
Учебная мини-JVM на Rust. В проекте, реализующем JVM 7, уже работают базовые типы Java, обработка исключений, трассировка стека, сборка мусора и разбор файлов .class.
-
starship
Лёгкое и быстрое приглашение командной оболочки. Программа на Rust работает с разными оболочками, готова к использованию сразу после установки и гибко настраивает вид промпта. Поддерживает Windows, Linux, Android и macOS.

Проекты на Swift
-
Mist
Автоматическая загрузка установщиков macOS. Утилита показывает доступные прошивки и программы установки вместе с названием, номером версии, датой выпуска и размером.

-
SkeletonView
Библиотека Swift для экранов загрузки. Пока данные страницы загружаются, скелетный экран показывает её примерную структуру. Библиотека проста в освоении, имеет удобный API, работает со всеми UIView и поддерживает собственную анимацию.

Искусственный интеллект
-
audiocraft
Генерация музыки и звука по тексту от Meta. Открытая библиотека создаёт качественное аудио по промпту: например, свист на ветру или танцевальную поп-музыку для пляжной сцены.

-
Fooocus
Готовая программа генерации изображений. Объединяет удачные идеи Stable Diffusion и Midjourney, просто устанавливается и избавляет от сложной настройки параметров: достаточно ввести промпт. По оценке автора, качество сравнимо с Midjourney. Работает локально и без сети; минимум — 8 ГБ оперативной памяти и видеокарта NVIDIA с 4 ГБ памяти.

-
machine-learning-notes
Курс машинного обучения профессора Иды Сюй. Открытые конспекты и ссылки на видеолекции преподавателя Гонконгского баптистского университета посвящены машинному обучению, вероятностным моделям и глубокому обучению.

Прочее
-
beepy
Карманный компьютер Linux с полноценной клавиатурой. Плата за 79 долларов сочетает клавиатуру BlackBerry, ЖК-экран 400 × 200 и аккумулятор на 2 000 мА·ч. С Raspberry Pi Zero W она превращается в мини-компьютер в духе BlackBerry.

-
cloc
Подсчёт строк кода. Утилита отдельно считает пустые строки, комментарии и строки исходного кода на разных языках программирования.

-
How-To-Secure-A-Linux-Server
Руководство по защите личного Linux-сервера. Практические инструкции сосредоточены на сценариях вне корпоративной среды: глубины экспертного руководства здесь нет, но частному владельцу сервера их достаточно.
-
linux-tutorial
Практический учебник по Linux. Вместо энциклопедического охвата здесь собраны повседневные команды, администрирование системы и программ, а также распространённые скрипты оболочки.
-
weekly
Еженедельная подборка о заработке на собственных продуктах. Посвящена независимой разработке и способам монетизации проектов.
Открытые книги
-
lean-side-bussiness
«Бережливый побочный проект: как программисту вести своё дело». Книга расширяет прежнюю работу автора «Как программисту подрабатывать», адаптирует процесс бережливого стартапа для побочных проектов и добавляет практику монетизации независимых продуктов и онлайн-курсов.
-
putting-the-you-in-cpu
Что происходит при запуске программы? Небольшая книга объясняет основы устройства компьютера и операционной системы, в том числе как Linux загружает исполняемый файл.

-
theByteBook
«Архитектура: принципы и практика». С развитием облаков внимание архитекторов сместилось от доступности кластеров к облачным подходам и управлению затратами FinOps. Книга охватывает сети, контейнеры, шлюзы, микросервисы, распределённые системы, облачную инфраструктуру, мониторинг качества и расходы.

-
typescript-tutorial
Курс TypeScript от Жуань Ифэна. Открытый учебник для начинающих объясняет основные понятия и приёмы работы с TypeScript.