Управление компьютером жестами и живые изображения

Выпуск № 94 ·

Проекты на C

  1. genann

    Минималистичная библиотека нейросетей на C. Лёгкая библиотека без зависимостей, умещается в одном файле и содержит множество примеров и тестов. Простой и понятный код подойдёт новичкам для знакомства с нейросетями.

    #include "genann.h"
    
    /* Not shown, loading your training and test data. */
    double **training_data_input, **training_data_output, **test_data_input;
    
    /* New network with 2 inputs,
     * 1 hidden layer of 3 neurons each,
     * and 2 outputs. */
    genann *ann = genann_init(2, 1, 3, 2);
    
    /* Learn on the training set. */
    for (i = 0; i < 300; ++i) {
        for (j = 0; j < 100; ++j)
            genann_train(ann, training_data_input[j], training_data_output[j], 0.1);
    }
    
    /* Run the network and see what it predicts. */
    double const *prediction = genann_run(ann, test_data_input[0]);
    printf("Output for the first test data point is: %f, %f\n", prediction[0], prediction[1]);
    
    genann_free(ann);

Проекты на C#

  1. FancyScrollView

    Плагин прокручиваемых списков для Unity. Для настройки анимации прокрутки используется система анимации Unity, что даёт широкие возможности. Плагин подходит и для списков, и для панелей навигации. Код хорошо структурирован, его легко подключить, использовать и настроить.

    using UnityEngine;
    using UnityEngine.UI;
    using FancyScrollView;
    
    class MyCell : FancyCell<ItemData>
    {
        [SerializeField] Text message = default;
    
        public override void UpdateContent(ItemData itemData)
        {
            // 更新内容
            message.text = itemData.Message;
        }
    
        public override void UpdatePosition(float position)
        {
            // position 是一个介于 0.0 到 1.0 之间的值
            // 可以根据 position 自由控制滚动的外观
        }
    }
    FancyScrollView
  2. MarkovJunior

    Генератор изображений на основе цепей Маркова. Цепь Маркова — математическая модель без «памяти»: вероятность будущего состояния зависит только от текущего, а не от предыдущих. Проект моделирует переходы между состояниями изображения и создаёт необычные картинки, в том числе здания и лабиринты.

    MarkovJunior

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

  1. abseil-cpp

    Базовая библиотека C++ с открытым кодом от Google. Широко используется внутри компании и содержит качественные, надёжные и эффективные компоненты: обработку строк, средства параллельного программирования, работу со временем, контейнеры STL, тестирование и логирование.

  2. gpupixel

    Быстрая кроссплатформенная библиотека фильтров для улучшения внешности в реальном времени. Написана на C++11 для обработки изображений и видео. Встроенные GPU-фильтры дают результат коммерческого уровня: сглаживают кожу, осветляют лицо, меняют овал лица и увеличивают глаза. Поддерживает iOS, macOS и Android.

    gpupixel
  3. qtrvsim

    Учебный симулятор процессора RISC-V. Разработан факультетом вычислительной техники Чешского технического университета с использованием Qt.

    qtrvsim

Проекты на Go

  1. goploy

    Простая платформа для развёртывания кода. Веб-платформа на Go и Vue.js позволяет одним нажатием развёртывать, публиковать и откатывать проекты. Поддерживает управление доступом по ролям, мониторинг, задачи с расписанием вплоть до секунды, Xterm и LDAP. Пошаговая установка помогает начать работу даже новичкам.

    goploy
  2. listmonk

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

    listmonk
  3. restic

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

    $ restic --repo /tmp/backup backup ~/work
    enter password for repository:
    scan [/home/user/work]
    scanned 764 directories, 1816 files in 0:00
    [0:29] 100.00%  54.732 MiB/s  1.582 GiB / 1.582 GiB  2580 / 2580 items  0 errors  ETA 0:00
    duration: 0:29, 54.47MiB/s
    snapshot 40dc1520 saved
  4. vfox

    Управление версиями нескольких языков программирования без лишних хлопот. Кроссплатформенная консольная утилита быстро устанавливает версии языков и переключает между ними; можно задать собственный адрес источника. Вместо отдельных менеджеров для каждого языка, таких как nvm, fvm и gvm, достаточно запомнить один инструмент и одну команду.

    $ vfox c
    node -> v20.10.0
    java -> v11.0.12
    vfox

Проекты на Java

  1. 1brc

    Соревнование по скорости обработки миллиарда строк на Java. Нужно написать программу, которая прочитает файл с миллиардом записей о температуре на разных метеостанциях, вычислит для каждой минимальное, среднее и максимальное значения и выведет результаты по алфавиту названий станций. На момент выпуска лучший результат — 2 секунды.

    1brc
  2. automq

    По-настоящему облачная версия Kafka. Дистрибутив следующего поколения, заново спроектированный для облака. При полной совместимости с Apache Kafka AutoMQ обещает снижение затрат до 10 раз и стократное повышение эластичности. Поддерживает перенос разделов за секунды и автоматическую перебалансировку трафика, упрощая эксплуатацию.

    automq
  3. spring-startup-analyzer

    Инструмент для ускорения запуска приложений Spring. Собирает данные во время запуска и создаёт интерактивный отчёт. Помогает найти узкие места, настроить асинхронную инициализацию Spring Bean, увидеть незагруженные JAR-файлы, число вызовов методов и затраченное время.

    spring-startup-analyzer

Проекты на JavaScript

  1. awesome-hands-control

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

    awesome-hands-control
  2. bpmn-js

    Компонент для просмотра и редактирования диаграмм процессов. Позволяет создавать и менять схемы перетаскиванием элементов. Подходит для систем управления бизнес-процессами, визуализации потоков принятия решений и low-code платформ.

    const xml = '...'; // my BPMN 2.0 xml
    const viewer = new BpmnJS({
      container: 'body'
    });
    
    try {
      const { warnings } = await viewer.importXML(xml);
    
      console.log('rendered');
    } catch (err) {
      console.log('error rendering', err);
    }
    bpmn-js
  3. dockge

    Красивый и удобный интерфейс для Docker Compose. Веб-панель для управления файлами docker-compose.yaml готова к работе сразу после установки. Позволяет интерактивно редактировать compose.yaml, обновлять образы Docker, а также запускать, останавливать, перезапускать и удалять контейнеры.

    dockge
  4. theatre

    Библиотека JavaScript для создания веб-анимации. Графический редактор позволяет анимировать любую переменную JavaScript. Подходит для объектов three.js и других 3D-библиотек, а также для HTML и SVG с помощью React и других библиотек.

    theatre
  5. tiny-rdm

    Лёгкий кроссплатформенный настольный клиент Redis. Приложение на WebView2 отличается небольшим размером и приятным интерфейсом, поддерживает китайский язык. Доступны разные способы подключения, порционная загрузка данных, журнал медленных запросов и отображение с перекодировкой. Работает на Windows, Linux и macOS.

    tiny-rdm

Проекты на Kotlin

  1. jingmo

    Приложение с китайской поэзией, прозой и идиомами. «Цзинмо» — бесплатная читалка для Android с материалами о традиционной китайской культуре: стихами, поговорками, историями идиом, праздниками и скороговорками. После первой установки библиотека пуста: данные нужно вручную синхронизировать в настройках.

    jingmo

Проекты на Objective-C

  1. Itsycal

    Симпатичный календарь для строки меню Mac. Компактная утилита показывает события системного календаря и позволяет добавлять новые. Поддерживает тёмную тему, номера недель и горячие клавиши. Требуется macOS 11 или новее.

    Itsycal
  2. KeepingYouAwake

    Утилита, которая не даёт Mac уснуть. Небольшое приложение для строки меню отключает переход в спящий режим на заданное время или бессрочно. Работает на macOS 10.13 и новее.

    KeepingYouAwake

Проекты на PHP

  1. akaunting

    Онлайн-бухгалтерия для малого бизнеса и частных пользователей. Платформа на Laravel, Vue.js, Tailwind CSS и MySQL охватывает учёт расходов, движение денежных средств и отчётность. Интерфейс адаптирован для мобильных устройств и доступен на нескольких языках.

    akaunting

Проекты на Python

  1. DouyinLiveRecorder

    Запись прямых эфиров с разных платформ. Инструмент на основе FFmpeg умеет непрерывно отслеживать эфиры и запускать запись, отправлять уведомления об их состоянии, записывать нескольких ведущих, удалять водяные знаки и выбирать качество видео.

    DouyinLiveRecorder
  2. harlequin

    Простой, быстрый и красивый клиент баз данных для терминала. Консольная утилита с интерфейсом показывает базы и таблицы, позволяет писать запросы, просматривать результаты и экспортировать данные. Поддерживает DuckDB, SQLite, Postgres и MySQL.

    harlequin
  3. khal

    Простой и удобный календарь для терминала. Написанная на Python консольная утилита позволяет быстро просматривать, добавлять и редактировать события, а также синхронизировать календарные данные.

    khal
  4. pyupgrade

    Автоматическое обновление синтаксиса Python-кода. Инструмент адаптирует код к новым версиям Python: можно выбрать целевую версию и предварительно посмотреть изменения.

    pyupgrade
  5. text_blind_watermark

    Библиотека Python для невидимых водяных знаков в тексте. Встраивает скрытое сообщение в обычный текст, который внешне остаётся прежним. Подходит для защиты авторских прав, отслеживания утечек и безопасности данных. Работает с Chrome на macOS, Apple Notes, а также WeChat и DingTalk на macOS и iPhone.

    from text_blind_watermark import TextBlindWatermark2
    
    password = 'HelloGitHub'
    text = '这句话中有盲水印,你能提取出来吗?'
    watermark = 'HelloGitHub'
    
    text_blind_wm = TextBlindWatermark2(password=password)
    
    text_with_wm = text_blind_wm.embed(text=text, watermark=watermark)
    print(text_with_wm)
    text_blind_watermark

Проекты на Rust

  1. cmd-wrapped

    Анализ истории команд на Rust. Консольная утилита читает историю оболочки и создаёт подробный отчёт: периоды активности за любой из прошедших годов, часто используемые команды и другие сведения. Поддерживает Zsh, Bash и fish.

    cmd-wrapped

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

  1. AnimateDiff

    Оживление изображений, созданных ИИ. Библиотека позволяет создавать анимацию в Stable Diffusion и превращать большинство открытых моделей в генераторы анимации. Статичные картинки по текстовому запросу становятся движущимися GIF-файлами.

    AnimateDiff
  2. AnyText

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

    AnyText
  3. pyvideotrans

    Открытый инструмент для перевода и озвучивания видео. Переводит видео на выбранный язык, автоматически создаёт и добавляет субтитры и озвучивание на этом языке.

    pyvideotrans
  4. StreamDiffusion

    Генерация изображений ИИ в реальном времени. На одной RTX 4090 проект выдаёт до 100 изображений в секунду. Потоковая пакетная обработка упрощает работу с данными, метод RCFG сокращает лишние вычисления, фильтр случайного сходства повышает загрузку GPU, а оптимизированная очередь ввода-вывода обеспечивает параллельную обработку. Дополнительные инструменты ускорения моделей ещё сильнее повышают скорость генерации.

    StreamDiffusion

Прочее

  1. gdb-dashboard

    Визуальный интерфейс для отладки в GDB. Текстовая панель модульно показывает сведения об отлаживаемой программе, помогая ориентироваться в коде. Написана на Python, легко настраивается и расширяется.

    gdb-dashboard
  2. kubernetes-network-policy-recipes

    Готовые рецепты сетевых политик Kubernetes. Набор сценариев и примеров YAML-файлов, которые можно скопировать и применить для решения сетевых задач в Kubernetes.

    kubernetes-network-policy-recipes
  3. particle-life

    Игра с эволюцией частиц. Задавая силы взаимодействия между частицами, можно создавать сложные самоорганизующиеся узоры. Исходный код прост; игру можно запустить в браузере и экспериментировать с рисунками.

    particle-life
  4. proxypin

    Бесплатный анализатор сетевого трафика для компьютера и телефона. Приложение на Flutter перехватывает, показывает и переписывает HTTP(S)-трафик. Поддерживает подключение по QR-коду, фильтрацию доменов и изменение запросов. Работает на Windows, macOS, Linux, Android и iOS.

    proxypin
  5. vimwiki

    Личная wiki в Vim. Плагин связывает текстовые файлы по принципу wiki и помогает лучше организовать заметки и идеи.

    vimwiki

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

  1. game-programming-patterns

    «Паттерны программирования игр» (Game Programming Patterns). Книга собирает проверенные на практике подходы из выпущенных AAA-игр и помогает решать задачи разработки игр.

    game-programming-patterns
  2. PDF-Explained

    «Объяснение PDF» (PDF Explained). Неофициальный перевод книги на китайский язык: от создания простого PDF-файла до сложных возможностей, таких как операторы PDF, закладки, гиперссылки, аннотации и шифрование.