Проекты на C
-
sds
Простая библиотека динамических строк для C. Её написал автор Redis. По сравнению с обычными строками C она удобнее: позволяет получать длину за постоянное время, безопасно работать с двоичными данными, включая изображения и звук, и совместима с частью строковых функций C.
sds mystring = sdsnew("Hello World!"); printf("%s\n", mystring); sdsfree(mystring); output> Hello World! -
sigma-file-manager
Современный файловый менеджер. Бесплатную программу поддерживает сообщество разработчиков. Есть умный поиск, настраиваемая главная страница, обмен и загрузка файлов, удобное перетаскивание и защита файлов. Работает в Windows и Linux.

-
ttyd
Консольная утилита для предоставления доступа к терминалу через сеть. Веб-терминал на libuv и WebGL2 прост в установке и использовании, поддерживает SSL, передачу файлов и вывод изображений Sixel. Работает в Windows, macOS, Linux и OpenWrt; подходит для удалённого администрирования и управления устройствами.

Проекты на C#
-
ambie
Приложение с белым шумом для Windows. Воспроизводит шум и звуки природы, например дождя и морского берега. Позволяет смешивать и загружать звуки из интернета, а также включать режим сосредоточенной работы. Помогает сконцентрироваться или расслабиться перед сном.

-
FluentTerminal
Красивый терминал для Windows. Приложение на UWP позволяет гибко настраивать темы оформления, поддерживает несколько окон, SSH и поиск. Интерфейс доступен на китайском.

-
gsudo
Аналог sudo для Windows. Позволяет запускать команды с максимальными правами почти так же, как sudo в Unix и Linux. Поддерживает CMD, PowerShell и git-bash.

Проекты на C++
-
Clipboard
Компактная консольная утилита для буфера обмена. Программа на C++ позволяет копировать, вырезать и вставлять данные из любой части терминала почти так же удобно, как в графическом интерфейсе. Работает в Windows, Linux и macOS.

-
doctest
Быстрый фреймворк тестирования C++ в одном заголовочном файле. Лёгок в использовании, быстро работает и сокращает время компиляции. Поддерживает C++11, C++14, C++17 и C++20.
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include "doctest.h" int factorial(int number) { return number <= 1 ? number : factorial(number - 1) * number; } TEST_CASE("testing the factorial function") { CHECK(factorial(1) == 1); CHECK(factorial(2) == 2); CHECK(factorial(3) == 6); CHECK(factorial(10) == 3628800); }
-
pocketpy
Интерпретатор Python для встраивания в игровые движки. Лёгкая реализация на C++ включает компилятор, виртуальную машину для байткода и интерактивную консоль. Всё находится в одном заголовочном файле pocketpy.h, внешних зависимостей нет; приложение сразу получает возможность выполнять код Python.
#include "pocketpy.h" int main(){ // 创建一个虚拟机 VM* vm = pkpy_new_vm(true); // Hello world! pkpy_vm_exec(vm, "print('Hello world!')"); // 构建一个列表 pkpy_vm_exec(vm, "a = [1, 2, 3]"); // 对列表进行求和 char* result = pkpy_vm_eval(vm, "sum(a)"); printf("%s", result); // 6 // 释放资源 pkpy_delete(result); pkpy_delete(vm); return 0; }
-
QGIS
Свободная настольная ГИС с открытым кодом. Написана на C++, интерфейс построен на Qt. Позволяет визуализировать, редактировать и анализировать геоданные в разных форматах. Работает в Windows, Linux, macOS, BSD и на мобильных устройствах.

Проекты на Go
-
dragonfly
Умная система P2P-раздачи файлов и образов. Обеспечивает эффективную, стабильную и защищённую передачу данных, ускоряет раздачу образов и помогает максимально использовать пропускную способность сети. Подходит для распространения приложений, кеша, журналов и образов.

-
ghz
Простая утилита для нагрузочного тестирования gRPC. Консольная программа на Go помогает эффективно проверять gRPC-сервисы и поддерживает настраиваемые параметры.

-
req
HTTP-клиент для Go с полезной автоматикой. По умолчанию декодирует ответы в UTF-8, чтобы избежать проблем с кодировкой, разбирает их по Content-Type, определяет сервер и выбирает оптимальную версию HTTP, а также повторяет запросы при необходимости. Есть удобные средства отладки.
package main import ( "github.com/imroc/req/v3" ) func main() { req.DevMode() // Treat the package name as a Client, enable development mode req.MustGet("https://httpbin.org/uuid") // Treat the package name as a Request, send GET request. req.EnableForceHTTP1() // Force using HTTP/1.1 req.MustGet("https://httpbin.org/uuid") }
-
sqlc
Генератор типобезопасного кода Go из SQL. Преобразует SQL-запросы в читаемый код для работы с базой данных. Поддерживает MySQL, PostgreSQL и SQLite.

-
tinykv
Руководство по созданию распределённой базы данных «ключ — значение». Показывает, как на Go реализовать отказоустойчивое хранилище с горизонтальным масштабированием и распределёнными транзакциями.
Проекты на Java
-
bt
Библиотека BitTorrent для Java. Поддерживает DHT, magnet-ссылки и шифрование. На её основе можно создавать собственные инструменты для раздачи и загрузки торрентов.
// Create a torrent Path torrentRoot = Paths.get("/home/torrents/mytorrent"); Path file1 = Paths.get("/home/torrents/mytorrent/file1.bin"); Path file2 = Paths.get("/home/torrents/mytorrent/file2.bin"); Path dirToAdd = Paths.get("/home/torrents/mytorrent/dir_with_files"); byte[] torrentBytes = new TorrentBuilder() .rootPath(torrentRoot) .addFiles(file1, file2, dirToAdd) .announce("http://example.com/announce") .build(); Files.write(Paths.get("/home/torrents/mytorrent.torrent"), torrentBytes);
-
RoaringBitmap
Сжатые битовые карты для Java. Битовые карты помогают быстро искать элементы в больших наборах данных и удалять дубликаты. RoaringBitmap работает быстрее обычных битовых карт и занимает меньше памяти; его используют, в частности, Spark и Hive.
import org.roaringbitmap.RoaringBitmap; public class Basic { public static void main(String[] args) { RoaringBitmap rr = RoaringBitmap.bitmapOf(1,2,3,1000); RoaringBitmap rr2 = new RoaringBitmap(); rr2.add(4000L,4255L); rr.select(3); // would return the third value or 1000 rr.rank(2); // would return the rank of 2, which is index 1 rr.contains(1000); // will return true rr.contains(7); // will return false RoaringBitmap rror = RoaringBitmap.or(rr, rr2);// new bitmap rr.or(rr2); //in-place computation boolean equals = rror.equals(rr);// true if(!equals) throw new RuntimeException("bug"); // number of values stored? long cardinality = rr.getLongCardinality(); System.out.println(cardinality); // a "forEach" is faster than this loop, but a loop is possible: for(int i : rr) { System.out.println(i); } } }
Проекты на JavaScript
-
chatgpt-web
Демонстрационная веб-страница ChatGPT с настраиваемым API. Создана на Express и Vue 3 для демонстрации GPT-3; поддерживает подключение к API GPT-3 или веб-версии ChatGPT.

-
illa-builder
Гибкая платформа для разработки с минимумом кода. Команда из Китая активно поддерживает проект и быстро отвечает на отзывы. Десятки готовых компонентов, включая графики, таблицы и формы, добавляются перетаскиванием. Через графический интерфейс можно подключить базу данных или API и быстро собрать внутреннее приложение. Доступны онлайн-версия, облачный сервис и локальное развёртывание через Docker.

-
memos
Лёгкий и аккуратный сервис для заметок. Приложение на React, Tailwind, TypeScript и Go напоминает минималистичный микроблог. Поддерживает личные и публичные записи, теги, интерактивный календарь и развёртывание через Docker.
docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:latest
-
SingleFile
Браузерное расширение для сохранения веб-страниц. Одним нажатием собирает текст, изображения и другие элементы страницы в единый HTML-файл. Работает в Chrome, Firefox, Safari и Microsoft Edge.

-
zx
Инструмент для написания shell-скриптов на JavaScript. Поддерживает функции cd, fetch и within, а библиотеки fs, os и yaml доступны без отдельного импорта.
#!/usr/bin/env zx await $`cat package.json | grep name` let branch = await $`git branch --show-current` await $`dep deploy --branch=${branch}` await Promise.all([ $`sleep 1; echo 1`, $`sleep 2; echo 2`, $`sleep 3; echo 3`, ]) let name = 'foo bar' await $`mkdir /tmp/${name}`
Проекты на Kotlin
-
ReadYou
RSS-клиент для Android в стиле Material. У него лаконичный интерфейс; можно подписываться на RSS-ленты, получать уведомления об обновлениях и читать в полноэкранном режиме.

Проекты на Python
-
eg
Справочник примеров команд Linux. Показывает распространённые варианты использования команд: короткие, практичные примеры легко найти.

-
gel
База данных с графово-реляционной моделью и открытым кодом. Работает поверх PostgreSQL, сочетая свойства реляционных баз данных с декларативной схемой в духе ORM и глубокими запросами в стиле GraphQL. Веб-интерфейс позволяет редактировать данные, выполнять запросы и визуализировать связи.
type Person { required property name -> str; } type Movie { required property title -> str; multi link actors -> Person; }
-
manim
Фреймворк для математической анимации на Python. Позволяет создавать красивые анимации небольшим количеством кода и наглядно объяснять сложные математические задачи.
from manim import * class SquareToCircle(Scene): def construct(self): circle = Circle() square = Square() square.flip(RIGHT) square.rotate(-3 * TAU / 8) circle.set_fill(PINK, opacity=0.5) self.play(Create(square)) self.play(Transform(square, circle)) self.play(FadeOut(square)) # 运行:manim -p -ql example.py SquareToCircle
-
sunfish
Шахматный движок на Python в 131 строку. Консольная игра использует только стандартную библиотеку Python. Код хорошо прокомментирован и разделён на шахматную логику, поиск ходов и пользовательский интерфейс.

-
xalpha
Движок для анализа и проверки стратегий инвестирования в фонды на Python. Получает сведения о фондах и стоимости паёв, объединяет, анализирует и визуализирует операции с точностью до копейки. Поддерживает простое тестирование стратегий на исторических данных и плановые напоминания о вложениях по заданной стратегии. Подходит инвесторам, которые регулярно вводят и выводят средства, покупают по расписанию или используют сеточную стратегию.
jiaoyidan = xa.record(path) # 额外一行先读入 path 处的 csv 账单 shipan = xa.mul(status=jiaoyidan) # Let's rock shipan.summary() # 看所有基金总结效果 shipan.get_stock_holdings() # 查看底层等效股票持仓
Проекты на Rust
-
lemmy
Форум для обмена ссылками на Rust. Построен на веб-фреймворке Actix и ORM Diesel. Как и на Hacker News, здесь можно подписываться на темы, публиковать ссылки, обсуждать их и голосовать.

-
onefetch
Консольная утилита для просмотра сведений о Git-репозитории. Написана на Rust и показывает в терминале лицензию, число коммитов, статистику кода и другие данные локального репозитория.

-
windows-rs
Библиотека Microsoft для вызова Windows API из Rust. Упрощает разработчикам Rust доступ к системным API и работу над приложениями для Windows.
use windows::{ core::*, Data::Xml::Dom::*, Win32::Foundation::*, Win32::System::Threading::*, Win32::UI::WindowsAndMessaging::*, }; fn main() -> Result<()> { let doc = XmlDocument::new()?; doc.LoadXml(h!("<html>hello world</html>"))?; let root = doc.DocumentElement()?; assert!(root.NodeName()? == "html"); assert!(root.InnerText()? == "hello world"); unsafe { let event = CreateEventW(None, true, false, None)?; SetEvent(event).ok()?; WaitForSingleObject(event, 0); CloseHandle(event).ok()?; MessageBoxA(None, s!("Ansi"), s!("Caption"), MB_OK); MessageBoxW(None, w!("Wide"), w!("Caption"), MB_OK); } Ok(()) }
Проекты на Swift
-
Wave
Библиотека плавных анимаций для Swift. Движок анимации для iOS и macOS не имеет внешних зависимостей и легко подключается к проектам на UIKit, SwiftUI или AppKit.
if panGestureRecognizer.state == .ended { // Create a spring with some bounciness. `response` affects the animation's duration. let animatedSpring = Spring(dampingRatio: 0.68, response: 0.80) // Get the gesture's lift-off velocity, and pass it into the Wave animation. let gestureVelocity = panGestureRecognizer.velocity(in: view) Wave.animate(withSpring: animatedSpring, gestureVelocity: gestureVelocity) { // Update animatable properties on the view's `animator` property, _not_ the view itself. pipView.animator.center = pipViewDestination // Some target CGPoint that you calculate. pipView.animator.scale = CGPoint(x: 1.1, y: 1.1) } }
Искусственный интеллект
-
cog
Инструмент для упаковки моделей машинного обучения в контейнеры. По конфигурации автоматически собирает среду и зависимости модели, избавляя от ручного написания Dockerfile и настройки CUDA. Для вызова модели также запускает HTTP API.
$ cog build -t my-colorization-model --> Building Docker image... --> Built my-colorization-model:latest $ docker run -d -p 5000:5000 --gpus all my-colorization-model $ curl http://localhost:5000/predictions -X POST \ -H 'Content-Type: application/json' \ -d '{"input": {"image": "https://.../input.jpg"}}' -
stable-diffusion-webui
Веб-интерфейс для Stable Diffusion. Позволяет использовать модель в браузере: генерировать изображения по тексту или картинке, работать с текстовыми эмбеддингами и менять размер изображений.

Прочее
-
blurhash
Алгоритм и реализации для создания заглушек изображений с открытым кодом. Кодирует картинку в строку длиной всего 20–30 символов; при декодировании получается размытая заглушка на основе оригинала, улучшающая восприятие загрузки. Есть официальные реализации на C, Swift и TypeScript, а также много сторонних библиотек.

-
esp32-weather-epd
Самодельный погодный экран на электронных чернилах. Устройство состоит из микроконтроллера ESP32 с Wi-Fi и дисплея E Ink диагональю 7,5 дюйма. Показывает текущую погоду и прогноз из API, а также температуру и влажность в помещении по данным датчиков.

-
localsend
Открытая альтернатива AirDrop. Безопасно передаёт файлы и сообщения между устройствами поблизости через локальную сеть, без интернета и внешнего сервера. Поддерживает Windows, Linux, macOS, Android и iOS.

-
mactype
Утилита для улучшения отображения шрифтов в Windows. Устраняет размытость текста и делает его отрисовку похожей на macOS. Просто устанавливается и заметно меняет внешний вид.

-
raft.github.io
Сайт об алгоритме консенсуса Raft. Собирает статьи, учебные курсы, книги и проекты с открытым кодом, а также визуализирует работу Raft.

Открытые книги
-
algorithmica
«Алгоритмы для современного оборудования» (Algorithmica). Книга российской некоммерческой образовательной организации Tinkoff Generation, подготовившей около половины финалистов российской олимпиады по информатике. Исследователи и студенты найдут в ней практические способы ускорить программы.

-
comprehensive-rust
«Всесторонний курс Rust» (Comprehensive Rust). Четырёхдневный курс команды Android в Google: от базового синтаксиса Rust до обобщений и обработки ошибок. Последний день посвящён разработке для Android.
-
scientific-visualization-book
«Научная визуализация: Python и Matplotlib» (Scientific Visualization: Python + Matplotlib). Книга с открытым кодом состоит из четырёх частей: основы Matplotlib, практическая разработка, продвинутые темы — 3D-графика, оптимизация и анимация — и галерея примеров.
