deliro

deliro

На Пикабу
Дата рождения: 4 мая
12К рейтинг 5 подписчиков 12 подписок 3 поста 2 в горячем
Награды:
5 лет на Пикабу
8

Любителям слушать музыку в машине — flashfiller

Всем привет!


Недавно возникло желание иметь замену музыке по блютузу в машине в виде флешки. Флешка под рукой оказалась на 16гб, а музыки на жёстком диске — 90гб. Как накидать музыки так, чтобы заполнить всю флешку, но чтобы всех исполнителей было примерно равномерно? Не вручную же это делать, тем более, в папке музыки папка исполнителя, там папка с альбомом и только там — mp3.

Не буду долго томить, в тот же вечер за часок накидал программу, а сейчас немного улучшил её и решил поделиться здесь, вдруг кому-то ещё будет полезно.


Итак, flashfiller:
1. Ищет в папке все файлы с нужным суффиксом (например, .mp3) на любую глубину папок
2. Перетасовывает их
3. Наполняет флешку файлами без вложенностей на тот размер, который вы указали

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


Вот так выглядит процесс записи:

Вот так выглядит фонотека на жёстком диске:

А вот так выглядит результат записи на флешку:

Дополнительные возможности:

* Искать файлы по произвольному суффиксу (или нескольким). По умолчанию ".mp3", если запустить .\flashfiller.exe -pattern=mp3,flac,ogg ... — будет искать .flac, .mp3 и .ogg
* Пропускать файлы с живыми выступлениями. Часто в дискографиях есть бонусные песни или целые альбомы с пометкой "live". Запуск с параметром -nolive заставит программу пропускать файлы, в имени или родительской папке которых есть слово "live"
* Пропускать файлы размером меньше, чем заданный. Например, -drop=1M будет пропускать файлы размером меньше одного мегабайта. Это могут быть всякие сайленс-филлеры, интро и прочее что-то, что в отрыве от альбома звучит странно
* Проверять md5-хэш после записи. После записи каждой песни сверяет md5 файла-источника и записанного на флешку. После всей записи выдаст ошибки по тем файлам, чьи md5 не совпали. Включен по умолчанию. Выключить: .\flashfiller.exe -nomd5
* Показывает прогресс, сколько времени прошло и сколько осталось (с последним конечно же врёт, как и windows)


Полный пример запуска:

.\flashfiller.exe -drop=1M -nolive -nomd5 -pattern=mp3,flac 14.5G "D:\Music" "E:\"
Найдёт все mp3 и flac файлы в D:\Music, которые больше 1МБ, не-live, случайно перетасует, наберёт на 14.5ГБ (или меньше, если в D:\Music меньше 14.5ГБ музыки) и запишет в E:\, не проверяя хэши файлов

Я не рекомендую пользоваться параметром -nomd5. Хоть ним запись идёт быстрее, но если флешка китайская или видавшая виды, то файл может записаться криво или не записаться вовсе

(на всякий случай, программа дублирует все параметры текстом после запуска и громко ругается, если параметры её не устраивают)


Инструкция:

Программа не имеет графического интерфейса, поэтому запускать нужно через командную строку. Для этого, если вы используете Windows, откройте папку, куда скачан flashfiller.exe, нажмите на пустое место правой кнопкой мыши с зажатым Shift'ом -> открыть окно комманд и впишите туда команду: .\flashfiller.exe <опции> <размер> <путь откуда брать файлы> <путь куда класть файлы>

Пример, которого хватит в 99% случаев: .\flashfiller.exe -nolive -drop=1M "D:\Music" "E:\"

Чтобы долго не вписывать пути, можно найти папку в проводнике, кликнуть правой кнопкой мыши с зажатым shift по папке и выбрать "Скопировать как путь"


Где скачать:
Скачать можно с https://github.com/deliro/flashfiller/releases/tag/0.1, выбрав нужную платформу. Для windows x64 это flashfiller.exe, для macOS — flashfiller-darwin_amd64 (или flashfiller-darwin_arm64, если у вас новый мак на M1)


Никому не интересные технические подробности:
Программа написана на Golang, поэтому компилируется под любую кофеварку. Для удобства скомпилированные бинарники под большинство платформ лежат на github. Код также открыт и лежит на github, поэтому при наличии недоверия (ещё бы доверять рандомному чуваку с Пикабу) и ручек, способных заставлять компухтер компилировать, программу можно скомпилировать самому.


Программа (мне каждый раз стрёмно называть скрипт на 500 строк программой, правда) писалась для себя и под себя, поэтому развития не обещаю.


Буду рад любым отзывам, особенно если возникли ошибки. Спасибо!

Показать полностью 3
2236

Ответ на пост «Слишком острые ножи»1

Открою секрет. Возможно кто-то найдёт себя в этом «секрете». 99% нашего населения не умеет обращаться с ножом. При виде острого или большого ножа (поварского, например) сразу думают, что им проще порезаться. Но факт в том, что те ножи, которые вы обычно используете — наиболее опасные. Нормальным поварским ножом с нормальным хватом порезаться невозможно. В худшем случае вы срежете небольшую часть ногтевой пластины, если будете очень неосторожны. А вот тонким ножом порезаться как нехер делать.


Итак, секрет. Берёте хороший поварской нож, берёте его за рукоять так, чтобы большой и указательный пальцы держали лезвие. Свою левую ладонь сгибаете так, будто пытаетесь всеми пятью (у фрезеровщиков - поменьше) пальцами сделать белиссимо. Дальше эту клешню ставите на овощ, мясо, что угодно и распределяете белиссимо так, чтобы удобно обхватить продукт. Обратите внимание, что драгоценные пальчики находятся за костяшками. А теперь магия. Приставляете к своей клешне нож, нож высокий и упирается в костяшки. Нож режет что-нибудь и в самой верхней точке ВСЁ ЕЩЕ упирается в костяшки. Таким образом злой нож не обидит вас.

Ответ на пост «Слишком острые ножи»
Показать полностью 1
3565

Ответ на пост «Ростелеком , опять . Паразиты»1

Ростелеком те ещё [роскомнадзор]. Сижу я неделю назад, работаю свою обычную работу программиста, в очередной раз открываю написаный собой же сайт на http://localhost:8000/ ииии… вижу там рекламу wink


Сначала подумал, аддоны. Все проверил, все обшарил - пусто. В других браузерах без аддонов тоже реклама. Причём такая хитрая, когда её пытаешься воспроизвести, она пропадает. Но в network при этом огромная куча хлама - какие-то пиксели, левые картинки, куча левого жаваскрипта где-то на 400кб. Долго думал.


И тут мой взгляд падает на нужную мне js библиотеку, которая качается с cdn не по https, а по http и сразу все становится на свои места.


Ростелеком делает так: сканирует весь незащищённый трафик. Видит, что юзер качает какой-то js на страницу, ПОДМЕНЯЕТ ответ на 307 редирект на какое-то говно, браузер качает это говно, которое обфусцированно, это говно помимо того, что прикидывается исходным js файлом, выполняет кучу действий типа показа баннеров в пол экрана. Таким образом, Ростелеком осуществляет mitm атаки на своих абонентов.

Показать полностью
Отличная работа, все прочитано!