FatBoySize – утилита для вывода размера папок и файлов

FatBoySize – утилита для вывода размера папок и файлов в терминале.
Работает на любой системе с поддержкой Python 3.

Запуск: python3 fbs.py
Режим вывода 1: python3 fbs.py -v
Режим вывода 2: python3 fbs.py --version

Работает только для текущего открытого пути в терминале.

Пример результата:
python3 ~/Sources/my/fatboysize/fbs.py
.local -> 145. GB
Downloads -> 103. GB
.cache -> 37.0 GB
.android -> 11.6 GB
Sources -> 8.63 GB

Как можно увидеть, папочка Downloads достатошно большая

Ссылки

https://gitlab.com/demensdeum/fatboysize/

KleyMoment – утилита для склеивания скриптовых файлов

Представляю вашему внимаю утилиту для склеивания скриптовых файлов – KleyMoment, также обратную утилиту для расклеивания файлов обратно. Утилиту можно использовать для склеивания JavaScript файлов в один.
Тул реализован на языке Python 3, имеет простейший интерфейс командной строки вида:

 
python3 KleyMoment.py расширениеФайлов директорияСодержащаяФайлы выходнойФайл 

Например рекурсивное склеивание js файлов из директории scripts в файл output.js

 
python3 KleyMoment.py js scripts output.js 

Также утилита для расклеивания файлов обратно AntiKleyMoment, на вход принимает склееный файл, например:

 
python3 AntiKleyMoment.py output.js 

Репозиторий:
https://gitlab.com/demensdeum/kleymoment/

Slowride бенчмарк блочных утройств

Slowride – утилита для проверки скорости чтения блочных устройств для POSIX совместимых операционных систем с root доступом к /dev/sd*. Вы можете проверять производительность чтения блочных устройств с использованием порога по времени, для диагностики производительности чтения.
Команда чтения 100mb блоков на всем устройстве с выводом блоков выше порога 2 секунд:


sudo ./slowride /dev/sda 100 2000

Исходный код

https://gitlab.com/demensdeum/slowride

Swift 4.2.3 – Ubuntu 18.10

Сборка Swift с необходимыми библотеками для запуска на Ubuntu 18.10. Последняя доступная версия на сайте Apple – для Ubuntu 18.04. Основана на сборке с официального сайта с добавлением библиотек из Ubuntu 18.04. Также добавлен пример скрипта для добавления PATH и LD_LIBRARY_PATH для терминала bash:
http://www.mediafire.com/file/lrs74mvoj3fti03/swift4.2.3.ubuntu.18.10.x86_64.tar.gz/file

Декларативный язык Zakaz

Представляю вашему вниманию чистый декларативный язык программирования – Zakaz. Основная идея нового языка – приложение содержит команды на выполнение, написанные в произвольной форме, которые должны быть выполнены “исполнителями”. Если ни один “исполнитель” не может выполнить команду, то выполнение программы останавливается. Приложения называются техзаданиями (tez) и должны иметь расширение .tez. Синтаксис Zakaz обязывает соблюдать два правила:

  • Каждая команда начинается с новой строки
  • Каждая команда должна быть оформлена формальным языком, понятным для человека

Пример Hello World.tez:

Show "Hello World" text on screen
Show "Zakaz 'tez' example" text on screen

Пример тз которое выводит описание принципа работы и открывающего сайт http://demensdeum.com в браузере Firefox

Show "Show website demo" text on screen
Show "You need Firefox installed on your system to run this 'tez', and it should be callable through \"system\" C function" text on screen
Show "Also there should be \"FirefoxPerformer\" assigned to Zakaz Runtime, please check manual for more information" text on screen
Show website with address "http://demensdeum.com" in Firefox

Запускать пример выше необходимо вместе с “исполнителем” FirefoxPerformer, который способен обработать последнюю команду по выводу сайта через Firefox

./ZakazRuntime openDemensdeumSite.tez FirefoxPerformer

Для имплементации своего исполнителя необходимо реализовать его в виде динамической библиотеки, используя абстрактный класс ZakazRuntime::Performer, и вернуть его вместе с умным указателем из метода глобальной функции createPerformer(). В качестве примера можно использовать реализацию FirefoxPerformer.

Исходный код

https://gitlab.com/demensdeum/zakaz

Новостной краулер для iOS

Новостной краулер iOS – приложение ищет текст и выводит результат во время загрузки.
Заложена поддержка больших файлов из коробки (> 200мб), результаты сохраняются в result.log файл.
Простой, продуманный дизайн.
Поддержка регулярок с помощью библиотеки Regex.

Исходный код:
https://gitlab.com/demensdeum/news-crawler

Hangar18 утилита индексации исходного кода

Hangar18 – утилита для индексации исходного кода C++, написанная на Rust. Данная утилита будет реализовывать функционал “перейти к определению” в Saber-Plus IDE.
На вход утилите подается абсолютный путь к директории исходного кода, строка декларации которую необходимо найти. На выходе grep-подобный вывод.

Исходный код:
https://gitlab.com/demensdeum/hangar18