Музыкальный вырез MacBook и RPG в файловой системе

Выпуск № 106 ·

Проекты на C

  1. sshfs

    Монтирование удалённой файловой системы через SSH. Инструмент на основе протокола SFTP подключает удалённую файловую систему как локальную. Управлять файлами и каталогами можно привычным образом, а для подключения достаточно одной команды. Поддерживаются Linux, BSD и macOS.

    挂载文件系统
    sshfs [user@]hostname:[directory] mountpoint
    卸载文件系统
    fusermount -u mountpoint

Проекты на C#

  1. mRemoteNG

    Менеджер удалённых подключений с поддержкой разных протоколов. Мощный инструмент работает с RDP, VNC, SSH и другими распространёнными протоколами. Интерфейс с вкладками позволяет одновременно управлять несколькими подключениями и быстро переключаться между ними. Поддерживаются Windows 10 и 11.

    mRemoteNG
  2. msstyleEditor

    Готовый к работе редактор визуальных стилей Windows. Инструмент редактирует файлы .msstyles в Windows 7, 8, 10 и 11. Он не требует установки, позволяет быстро просматривать все компоненты, менять их свойства и настраивать оформление темы.

    msstyleEditor

Проекты на C++

  1. Memento

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

    Memento
  2. mixxx

    Бесплатная открытая программа для диджейского микширования. Профессиональное приложение на C++ предлагает богатый набор функций и поддерживает различное оборудование. Умеет автоматически определять BPM, обрабатывать эффекты в реальном времени, записывать и вести прямые трансляции. Работает в Windows, macOS и Linux.

    mixxx
  3. parallel-hashmap

    Высокопроизводительная библиотека HashMap. Проект предлагает несколько быстрых, экономных по памяти и потокобезопасных реализаций хеш-таблиц и контейнеров на основе B-деревьев. Создан и оптимизирован на базе библиотеки Google Abseil, совместим с C++11 и распространяется в виде заголовочных файлов, поэтому не требует компиляции.

    #include <iostream>
    #include <string>
    #include <parallel_hashmap/phmap.h>
    
    using phmap::flat_hash_map;
    
    int main()
    {
        flat_hash_map<std::string, std::string> nickname =
        {
            { "tom",  "tomcat"},
            { "jim",  "jimoby"}
        };
    
        for (const auto& n : nickname)
            std::cout << n.first << "'s nickname is: " << n.second << "\n";
    
        email["bill"] = "hellogithub";
        std::cout << "bill's nickname is: " << nickname["bill"] << "\n";
    
        return 0;
    }
    parallel-hashmap
  4. upx

    Сжатие исполняемых файлов. Открытый инструмент работает с разными форматами файлов для Windows, Linux и macOS. Он обеспечивает степень сжатия 50–70 %, а полученные файлы можно запускать напрямую. Подходит для распространения программ и хранения больших коллекций.

    upx

Проекты на Go

  1. bunster

    «Компиляция» shell-скриптов одной командой. Транспилятор Shell-to-Go сначала преобразует shell-скрипт в код на Go, а затем собирает из него исполняемый бинарный файл средствами Go. Такой подход помогает преодолеть ограничения традиционных shell-скриптов по производительности, переносимости и безопасности.

    bunster
  2. daytona

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

    daytona
  3. gopher-lua

    Встраивание Lua-скриптов в программы на Go. Реализованные на Go виртуальная машина и компилятор полностью совместимы с синтаксисом Lua 5.1. Несколько строк кода позволяют добавить Lua в Go-приложение для разработки игр, инструментов автоматизации, систем плагинов и других сценариев, где нужна поддержка скриптов.

    L := lua.NewState()
    defer L.Close()
    if err := L.DoString(`print("hello")`); err != nil {
        panic(err)
    }
  4. SamWaf

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

    SamWaf

Проекты на Java

  1. mzt-biz-log

    Готовый компонент журналирования операций для Spring Boot. Он позволяет с помощью аннотаций записывать бизнес-операции, включая исполнителя, время и содержание действия.

    @LogRecord(
            fail = "创建订单失败,失败原因:「{{#_errorMsg}}」",
            success = "{{#order.purchaseName}}下了一个订单,购买商品「{{#order.productName}}」,测试变量「{{#innerOrder.productName}}」,下单结果:{{#_ret}}",
            type = LogRecordType.ORDER,
            bizNo = "{{#order.orderNo}}")
    public boolean createOrder(Order order) {
        log.info("【创建订单】orderNo={}", order.getOrderNo());
    
        // db insert order
        Order order1 = new Order();
        order1.setProductName("内部变量测试");
    
        LogRecordContext.putVariable("innerOrder", order1);
    
        return true;
    }
  2. poi-tl

    Шаблонизатор Word для Java. Решение на базе Apache POI динамически создаёт документы Word. Удобный API поддерживает текст, изображения, таблицы, условный рендеринг, диаграммы и другие виды содержимого. Подходит для массового формирования договоров, отчётов, уведомлений и сертификатов.

    XWPFTemplate template = XWPFTemplate.compile("template.docx").render(
      new HashMap<String, Object>(){{
        put("title", "HelloGitHub");
    }});  
    template.writeAndClose(new FileOutputStream("output.docx")); 
    poi-tl

Проекты на JavaScript

  1. openmtp

    Передача файлов Android на Mac. Открытый инструмент для macOS быстро и стабильно переносит файлы между компьютером и Android-устройством по USB. Поддерживается macOS 11.0 и новее.

    openmtp
  2. readest

    Электронная читалка для полного погружения. Приложение сочетает минималистичный дизайн с широкими возможностями, помогая сосредоточиться на чтении. Оно создано на Next.js и Tauri и уже работает в macOS, Windows, Linux и браузере. В дальнейшем авторы планируют версии для iOS и Android, чтобы охватить все основные платформы.

    readest
  3. sharp

    Высокопроизводительная библиотека обработки изображений для Node.js. Решение на базе libvips изменяет размер, преобразует формат, обрезает и поворачивает изображения JPEG, PNG, WebP, GIF, SVG и других форматов.

    const semiTransparentRedPng = await sharp({
      create: {
        width: 48,
        height: 48,
        channels: 4,
        background: { r: 255, g: 0, b: 0, alpha: 0.5 }
      }
    })
      .png()
      .toBuffer();
  4. stretchly

    Кроссплатформенный помощник с напоминаниями о перерывах. Electron-приложение по расписанию предлагает отдохнуть и помогает выработать здоровые рабочие привычки. Поддерживает множество языков, включая китайский, а также настройку интервалов, продолжительности и звука уведомлений.

    stretchly
  5. svgl

    Красивая коллекция логотипов. Онлайн-библиотека на SvelteKit и Tailwind CSS содержит более 400 знаков и текстовых логотипов из мира технологий, языков программирования, фреймворков и компаний. Любой логотип можно скачать или скопировать его код одним нажатием.

    svgl

Проекты на Kotlin

  1. AndroidEasterEggs

    Полная коллекция пасхальных яиц Android. Проект собирает пасхалки из разных версий системы Android и включает весь код и возможность опробовать их.

    AndroidEasterEggs
  2. Maestro

    Фреймворк автоматизации UI-тестов мобильных приложений. Открытый инструмент тестирует интерфейсы мобильных и веб-приложений по понятным сценариям на YAML. Встроенные механизмы устойчивости к сбоям и задержкам действий делают тесты надёжнее. Поддерживаются Android, iOS, Flutter и настольные браузеры.

    Maestro

Проекты на Python

  1. chonkie

    Лёгкая Python-библиотека для разбиения текста. Решение для RAG-приложений быстро делит текст на фрагменты фиксированного размера, поддерживает разные токенизаторы, векторные модели и гибкие стратегии разбиения. Подходит для обработки длинных текстов и создания RAG-приложений.

    from chonkie import TokenChunker
    from tokenizers import Tokenizer
    
    tokenizer = Tokenizer.from_pretrained("gpt2")
    chunker = TokenChunker(tokenizer)
    
    chunks = chunker("HelloGitHub! Chonkie, the chunking library is so cool! I love the tiny hippo hehe.")
    
    for chunk in chunks:
        print(f"Chunk: {chunk.text}")
        print(f"Tokens: {chunk.token_count}")
  2. fonttools

    Python-библиотека для работы с файлами шрифтов. Позволяет редактировать и преобразовывать шрифты, в том числе взаимно конвертировать TrueType и OpenType в XML-формат TTX. Поддерживает разные форматы и подходит для редактирования, отладки и оптимизации шрифтов.

    from fontTools.afmLib import AFM
    
    f = AFM("Tests/afmLib/data/TestAFM.afm")
    print(f["A"])
    # (65, 668, (8, -25, 660, 666))
    
    f.FontName = "TestFont HelloGitHub"
    f.write("testfont-hellogithub.afm")
  3. httpdbg

    Удобный перехват HTTP(S)-запросов Python-программ. Инструмент помогает разработчикам отлаживать сетевые обращения: достаточно запустить программу командой pyhttpdbg, чтобы увидеть отправленные HTTP-запросы в браузере. Поддерживает запуск скриптов, интерактивную консоль и модульные тесты.

    httpdbg
  4. pwndbg

    Плагин GDB/LLDB для обратной разработки. Расширение показывает состояние регистров, ищет данные и утечки в памяти и предоставляет другие инструменты для отладчиков GDB и LLDB. Подходит для разработки низкоуровневого ПО, отладки оборудования и обратной разработки.

    pwndbg
  5. PyPSA

    Python-библиотека для анализа энергосистем. Предназначена для моделирования и оптимизации электрических и мультиэнергетических систем. Использует Pandas, NumPy, GLPK, Cbc и другие библиотеки, эффективно рассчитывает оптимальный поток мощности (OPF), линейные и нелинейные потоки мощности и моделирует различные компоненты энергетических систем.

    import pypsa
    
    # create a new network
    n = pypsa.Network()
    n.add("Bus", "mybus")
    n.add("Load", "myload", bus="mybus", p_set=100)
    n.add("Generator", "mygen", bus="mybus", p_nom=100, marginal_cost=20)
    
    # load an example network
    n = pypsa.examples.ac_dc_meshed()
    
    # run the optimisation
    n.optimize()
    
    # plot results
    n.generators_t.p.plot()
    n.plot()
    
    # get statistics
    n.statistics()
    n.statistics.energy_balance()
    PyPSA

Проекты на Rust

  1. aquascope

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

    aquascope
  2. code2prompt

    Преобразование кодовой базы в промпт для LLM. Консольная утилита на Rust быстро собирает из репозитория Markdown-файл, подходящий для языковой модели. Она автоматически обходит каталоги, строит дерево проекта и включает его в промпт. Также поддерживает шаблоны промптов, подсчёт токенов, создание сообщений для Git-коммитов и фильтрацию файлов.

    code2prompt
  3. rpg-cli

    Файловая система как подземелье RPG. В консольной игре на Rust каждая команда cd может привести к встрече с противником и запустить автоматический пошаговый бой. Герой получает уровни, предметы и классы, а в каталогах встречаются сундуки.

    rpg-cli

Проекты на Swift

  1. boring.notch

    Превращение выреза MacBook в центр управления музыкой. Приложение для macOS оживляет обычно пустую область вокруг выреза и добавляет туда эффектную панель. Она поддерживает календарь, AirDrop и управление музыкой.

    boring.notch
  2. SwiftUI-Shimmer

    Библиотека мерцающих эффектов для SwiftUI. Лёгкое решение добавляет мерцание к любому представлению SwiftUI и позволяет настраивать анимацию, градиент и скорость. Подходит для состояния загрузки, заполнителей и скелетных экранов.

    Text("Custom Gradient Mode").bold()
        .font(.largeTitle)
        .shimmering(
            gradient: Gradient(colors: [.clear, .orange, .white, .green, .clear]),
            bandSize: 0.5,
            mode: .overlay()
        )
    SwiftUI-Shimmer

Искусственный интеллект

  1. AI-on-the-edge-device

    Подключение «старых» приборов к цифровому миру. Проект с помощью недорогого оборудования на ESP32 стоимостью менее 10 евро и TensorFlow Lite автоматически распознаёт показания и передаёт данные. Так обычные водяные, газовые и электрические счётчики легко превратить в умные устройства.

    AI-on-the-edge-device
  2. instructor

    Python-библиотека для структурированных ответов LLM. Решение обрабатывает структурированный вывод больших языковых моделей. Библиотека использует Pydantic для проверки данных и аннотаций типов, преобразуя ответ LLM на естественном языке в структурированные данные. Поддерживаются разные сервисы LLM, автоматические повторные запросы и потоковые ответы.

    import instructor
    from pydantic import BaseModel
    from openai import OpenAI
    
    
    # Define your desired output structure
    class UserInfo(BaseModel):
        name: str
        age: int
    
    
    # Patch the OpenAI client
    client = instructor.from_openai(OpenAI())
    
    # Extract structured data from natural language
    user_info = client.chat.completions.create(
        model="gpt-4o-mini",
        response_model=UserInfo,
        messages=[{"role": "user", "content": "John Doe is 30 years old."}],
    )
    
    print(user_info.name)
    #> John Doe
    print(user_info.age)
    #> 30
  3. lite.ai.toolkit

    Лёгкий набор ИИ-инструментов на C++. Встроено более 100 моделей для обнаружения объектов, распознавания лиц, сегментации, отделения объектов от фона и других задач. Поддерживает популярные движки инференса ONNXRuntime, MNN, NCNN, TNN и TensorRT, помогая быстро разворачивать и применять ИИ-модели.

    #include "lite/lite.h"
    
    int main(int argc, char *argv[]) {
      std::string onnx_path = "yolov5s.onnx";
      std::string test_img_path = "test_yolov5.jpg";
      std::string save_img_path = "test_results.jpg";
    
      auto *yolov5 = new lite::cv::detection::YoloV5(onnx_path); 
      std::vector<lite::types::Boxf> detected_boxes;
      cv::Mat img_bgr = cv::imread(test_img_path);
      yolov5->detect(img_bgr, detected_boxes);
    
      lite::utils::draw_boxes_inplace(img_bgr, detected_boxes);
      cv::imwrite(save_img_path, img_bgr);  
      delete yolov5;
      return 0;
    }
  4. minimind

    Обучение небольшой языковой модели с нуля. Проект объединяет реализацию компактной модели и вводный учебник по LLM, снижая порог входа в эту область. Код и руководства охватывают весь процесс: от подготовки данных до обучения, тонкой настройки и инференса. Минимальная модель содержит всего 0,02 млрд параметров и легко запускается на обычном GPU.

    minimind

Прочее

  1. flutter_slidable

    Компонент жестов смахивания для Flutter. Открытая библиотека быстро добавляет действия по смахиванию к элементам списка. Поддерживает разные направления, анимацию и автоматическое закрытие.

    flutter_slidable
  2. inky-dashboard

    Планировщик задач и календарь на электронной бумаге. Энергоэффективное устройство построено на Raspberry Pi Pico W и семицветном 7,3-дюймовом дисплее Inky Frame. Интерфейс собран с помощью LVGL. Поддерживаются несколько цветов, списки дел и синхронизация календаря.

    inky-dashboard
  3. nginx-proxy

    Автоматическая настройка обратного прокси Nginx для Docker-контейнеров. Проект отслеживает запуск и остановку контейнеров в реальном времени и без ручного вмешательства создаёт для каждого из них конфигурацию обратного прокси. Это значительно упрощает настройку Nginx в контейнерной среде.

    # 第一步启动 nginx-proxy
    docker run --detach \
        --name nginx-proxy \
        --publish 80:80 \
        --volume /var/run/docker.sock:/tmp/docker.sock:ro \
        nginxproxy/nginx-proxy:1.6
    
    # 第二步启动应用
    docker run --detach \
        --name your-proxied-app \
        --env VIRTUAL_HOST=hellogithub.com \
        nginx
  4. reference

    Шпаргалки для разработчиков. Коллекция кратких и наглядных справочников охватывает множество языков программирования, фреймворков, команд Linux и баз данных.

    reference
  5. VoxelSpace

    Алгоритм рендеринга ландшафта менее чем в 20 строках. Проект воспроизводит технологию Voxel Space из классической игры Comanche. Компактный основной код служит наглядным учебным и справочным примером для разработчиков.

    def Render(p, height, horizon, scale_height, distance, screen_width, screen_height):
        # Draw from back to the front (high z coordinate to low z coordinate)
        for z in range(distance, 1, -1):
            # Find line on map. This calculation corresponds to a field of view of 90°
            pleft  = Point(-z + p.x, -z + p.y)
            pright = Point( z + p.x, -z + p.y)
            # segment the line
            dx = (pright.x - pleft.x) / screen_width
            # Raster line and draw a vertical line for each segment
            for i in range(0, screen_width):
                height_on_screen = (height - heightmap[pleft.x, pleft.y]) / z * scale_height. + horizon
                DrawVerticalLine(i, height_on_screen, screen_height, colormap[pleft.x, pleft.y])
                pleft.x += dx
    
    # Call the render function with the camera parameters:
    # position, height, horizon line position,
    # scaling factor for the height, the largest distance, 
    # screen width and the screen height parameter
    Render( Point(0, 0), 50, 120, 120, 300, 800, 600 )
    VoxelSpace
  6. zh-style-guide

    Руководство по стилю китайской технической документации. Открытый свод правил описывает язык, структуру, элементы содержимого, пунктуацию, форматирование и вёрстку технических текстов на китайском языке.

Открытые книги

  1. Foundations-of-LLMs

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

    Foundations-of-LLMs
  2. pytorch-deep-learning

    «Глубокое обучение с PyTorch: от нуля до мастерства». Проект предлагает множество иллюстрированных уроков, примеров кода, видеоразборов и практических проектов, чтобы начинающие освоили фреймворк PyTorch и технологии глубокого обучения на практике.

    pytorch-deep-learning