Бесконечный город и безопасная передача файлов

Выпуск № 68 ·

Проекты на C

  1. the_silver_searcher

    Более быстрый, чем ack, консольный инструмент для поиска. Он быстр, функционален и прост в использовании, работает в Linux, Windows и macOS, а также интегрируется с Vim и Emacs.

    ack test_blah ~/code(8G)/  104.66s user 4.82s system 99% cpu 1:50.03 total
    ag test_blah ~/code(8G)/  4.67s user 4.58s system 286% cpu 3.227 total
  2. toybox

    Объединяет более 200 распространённых консольных утилит Linux в один исполняемый файл. Благодаря этому команды вроде ls, find и ps можно использовать даже в Android, где изначально не поддерживаются команды Linux. Подходит и для быстрой сборки минимальной среды Linux.

  3. WindTerm

    Терминал с поддержкой SSH, Telnet, Serial, Shell и SFTP. Программа полностью бесплатна, но часть кода пока не открыта. Тем, кто особенно внимательно относится к безопасности, стоит понаблюдать за развитием проекта.

    WindTerm

Проекты на C#

  1. NETworkManager

    Инструмент для управления сетью и решения сетевых проблем. В него входят сканеры IP-адресов и портов, анализатор Wi-Fi, трассировка маршрутов и DNS-запросы.

    NETworkManager
  2. wavefunctioncollapse

    Демонстрация бесконечного города на основе алгоритма волнового коллапса (WFC). В городе есть дома, лестницы, деревья и соединяющие дома переходы. По нему можно свободно ходить, прыгать и летать, но найти край не получится: город бесконечно расширяется.

    wavefunctioncollapse

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

  1. leocad

    CAD-инструмент для создания виртуальных моделей LEGO. Работает в Windows, Linux и macOS.

    leocad
  2. ppsspp

    Открытый эмулятор PSP для Android и компьютеров. Скачать

    ppsspp

Проекты на CSS

  1. csshake

    Эффект дрожания, созданный средствами CSS.

    csshake

Проекты на Go

  1. caddy

    Лёгкий веб-сервер на Go. В отличие от известных Apache и Nginx, он поставляется в виде готового исполняемого файла и сразу готов к работе. Без настройки доступны бесплатный HTTPS, автоматическое преобразование Markdown-файлов в HTML и другие удобные функции. Для небольших и средних веб-сервисов его возможностей вполне достаточно, а настройка не отнимает времени.

    caddy
  2. croc

    Утилита для безопасной и удобной передачи файлов и папок между любыми двумя компьютерами. Обеспечивает кроссплатформенную передачу со сквозным шифрованием, поддерживает отправку нескольких файлов, а также продолжение прерванной передачи.

    croc
  3. FerretDB

    Полностью открытая альтернатива MongoDB. В качестве хранилища используется PostgreSQL, а протокол MongoDB реализован на Go, поэтому совместимость сохраняется почти со всеми библиотеками MongoDB и перейти на FerretDB несложно. Если вам не нужны расширенные возможности MongoDB, но мешают ограничения её лицензии, этот проект может стать открытой заменой. Он только начинает развиваться, поэтому перед использованием в production стоит подождать или тщательно всё протестировать.

    FerretDB

Проекты на Java

  1. greenDAO

    Высокопроизводительная ORM-библиотека для Android. Она компактна, проста в использовании и поддерживает шифрование базы данных. С ней разработчики Android могут работать с базой данных в объектно-ориентированном стиле, не составляя SQL-запросы вручную.

    greenDAO
  2. jnativehook

    Java-библиотека для получения событий клавиатуры и мыши. С её помощью можно отслеживать нажатия клавиш, перемещение и щелчки мыши.

    import GlobalScreen;
    import NativeHookException;
    import NativeMouseWheelEvent;
    import NativeMouseWheelListener;
    // 鼠标移动
    public class GlobalMouseWheelListenerExample implements NativeMouseWheelListener {
        public void nativeMouseWheelMoved(NativeMouseWheelEvent e) {
            System.out.println("Mosue Wheel Moved: " + e.getWheelRotation());
        }
    
        public static void main(String[] args) {
            try {
                GlobalScreen.registerNativeHook();
            }
            catch (NativeHookException ex) {
                System.err.println("There was a problem registering the native hook.");
                System.err.println(ex.getMessage());
                ex.printStackTrace();
    
                System.exit(1);
            }
    
            GlobalScreen.addNativeMouseWheelListener(new GlobalMouseWheelListenerExample());
        }
    }
  3. spider-flow

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

    spider-flow

Проекты на JavaScript

  1. automa

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

    automa
  2. colorfu

    Автоматически создаёт обои из текста, цветов, изображений и текстур. Попробовать онлайн

    colorfu
  3. pm2

    Менеджер процессов для Node.js. Он прост в освоении и помогает повысить стабильность программ: умеет автоматически перезапускать процессы, распределять нагрузку, перезапускать приложения без простоя и следить за производительностью. Обычно его используют в production для управления и мониторинга процессов Node.js.

    pm2
  4. vue-color-avatar

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

    vue-color-avatar

Проекты на Python

  1. django-debug-toolbar

    Панель отладки для Django. Показывает разные сведения о текущем запросе и ответе: затраченное время, SQL-запросы, настройки, производительность и другие данные.

    1. 安装:pip install django-debug-toolbar
    2. TEMPLATES = [
        {
            "BACKEND": "django.template.backends.django.DjangoTemplates",
            "APP_DIRS": True,
            # ...
        }
    ]
    3. INSTALLED_APPS = [
        # ...
        "debug_toolbar",
        "django.contrib.staticfiles",
        # ...
    ]
    4. 增加 __debug__ URL
    import debug_toolbar
    from django.urls import include, path
    
    urlpatterns = [
        # ...
        path('__debug__/', include(debug_toolbar.urls)),
    ]
    5. MIDDLEWARE = [
        # ...
        "debug_toolbar.middleware.DebugToolbarMiddleware",
        # ...
    ]
    6. INTERNAL_IPS = [
        # ...
        "127.0.0.1",
        # ...
    ]
    django-debug-toolbar
  2. pottery

    Библиотека для работы с Redis в стиле Python. Забудьте команды Redis: если вы умеете пользоваться словарями Python, то разберётесь и с этой библиотекой.

    >>> from pottery import RedisList
    >>> tel = RedisDict({'jack': 4098, 'sape': 4139}, redis=redis, key='tel')
    >>> tel['guido'] = 4127
    >>> tel
    RedisDict{'jack': 4098, 'sape': 4139, 'guido': 4127}
    >>> tel['jack']
    4098
    >>> squares = RedisList([1, 4, 9, 16, 25], redis=redis, key='squares')
    >>> squares
    RedisList[1, 4, 9, 16, 25]
    >>> squares[0]
    1
  3. PyWebIO

    Инструмент на Python для быстрого создания веб-приложений. Не пишите HTML, CSS и JS: на одном Python можно быстро собрать небольшую веб-страницу с данными и формами.

    PyWebIO
  4. webssh

    Простое веб-приложение на Python для подключения к серверам по SSH. На серверной стороне используются веб-фреймворк Tornado и библиотека SSH для Python paramiko, а в браузере работает консольный компонент Xterm.js на TypeScript. Проект несложный и практичный — на нём удобно изучать разработку веб-приложений на Python.

    webssh
  5. zulip

    Полностью открытый корпоративный мессенджер. Производительный сервер написан на Python, а по набору возможностей проект сопоставим с бесплатным open-source Slack. В нём есть загрузка файлов перетаскиванием, подсветка кода, Markdown, интеграции с приложениями и удобный API. Zulip работает в браузере, на компьютерах, iOS и Android. Им пользуются многие известные компании, а его возможности помогают командам общаться и работать эффективнее. Проект также подходит новичкам, которые хотят изучить хороший открытый проект на Python.

    zulip

Проекты на Rust

  1. hyperfine

    Консольная утилита для бенчмаркинга. С её помощью можно измерять и сравнивать время выполнения команд, анализировать результаты нескольких запусков и экспортировать их.

    hyperfine

Проекты на Swift

  1. xcode-dev-cleaner

    Утилита удаляет разные кэш-файлы Xcode, чтобы освободить место на диске. Важно: она очищает кэш Xcode, а не удаляет сам Xcode.

    xcode-dev-cleaner

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

  1. AnimeGANv2

    Преобразует изображения и видео в мультяшный стиль. Сочетает перенос нейронного стиля с генеративно-состязательной сетью (GAN) и работает быстро. Попробовать онлайн

    AnimeGANv2
  2. best_AI_papers_2021

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

    best_AI_papers_2021

Прочее

  1. fl_chart

    Библиотека графиков для Flutter. Поддерживает линейные, столбчатые, круговые, точечные и лепестковые диаграммы.

    fl_chart
  2. howdy

    Инструмент для разблокировки компьютера в Linux с помощью распознавания лица. Использует встроенную камеру и инфракрасное оборудование, обеспечивая вход в систему по образцу Windows Hello. Подходит для входа, блокировки экрана, sudo и других случаев, когда обычно требуется пароль.

    howdy
  3. PathPlanning

    Набор распространённых алгоритмов планирования маршрутов. В проекте есть реализации на Python, анимации выполнения и связанные научные статьи.

    PathPlanning
  4. The-Open-Book

    Открытое устройство для чтения с экраном на электронных чернилах. Если вы умеете паять, по этому проекту можно самостоятельно собрать ридер размером 4,2 дюйма — аналог Kindle, начиная с монтажа платы.

    The-Open-Book
  5. toml

    Удобный для чтения и поддержки формат конфигурационных файлов. Если вам надоели ограничения INI, вложенность JSON и пугающие отступы YAML, попробуйте TOML: он поддерживает разные типы данных и обходится без отступов и вложенности. Для него есть библиотеки во многих популярных языках программирования. Формат уже достаточно зрелый, чтобы дать ему шанс. Документация

    toml
  6. waka-readme-stats

    Автоматически показывает время, проведённое за программированием, в профиле GitHub. WakaTime записывает время работы пользователя в IDE и собирает статистику, а GitHub Actions получает эти данные и обновляет профиль. Так можно легко поделиться своей статистикой программирования.

    waka-readme-stats

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

  1. archbase

    Третье издание учебника «Основы компьютерной архитектуры» (计算机体系结构基础). Читать онлайн

  2. ugo-compiler-book

    Книга «Создаём мини-язык Go с нуля» (从头开发一个迷你 Go 语言) учит самостоятельно реализовывать небольшой язык Go. В ней разбираются лексический анализ, построение синтаксического дерева, замыкания функций, интерфейсы и реализация CGO. Читать онлайн