Как не терять НИКАКИЕ мысли или как я придумал свою систему «входящих идей»

от автора

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

У меня было несколько видов таких идей/мыслей — Текстовые (для себя я их называю Тасками) и Медиа-идеи (в основном — это скриншоты, но также это сохраненные картинки, видео, PDF и аудио).

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

Содержание

  1. Как я работал с Тасками

  2. Как я работал с Медиа-идеями

  3. MediaSorter

  4. Добавление новых папок, подпапок и архивация

  5. Некоторое объяснение системы

  6. FFmpeg, FFprobe, ImageMagick и yt-dlp

  7. Проблемы или что нужно знать, если хочу также

  8. Финальные мысли

Как я работал с Тасками

Я сохранял и потом вытаскивал их через свою систему, через Избранное в Telegram и через таски от Google:

На моем телефоне на экране всегда есть гугловский Tasks виджет, и он выглядит похожим образом (это не мой скриншот, в моем случае есть ещё календарь сверху), чтобы очень просто добавлять новые идеи через плюсик +, даже если я спросонья и чтобы таски не терялись с отключенным интернетом.

Далее я создавал заметки, где сам текст таски — это имя заметки в нужных папках (для примера я создал три папки в папке Идеи):

А потом собирал все таски с помощью нового плагина Bases в одной таблице в Obsidian:

Здесь хитрость со столбцом Тема, чтобы она отображала только папку, в которой лежит заметка:

Создать такую же вы можете через Свойства, снизу пункт — Добавить формулу:

И код для формулы можете скопировать отсюда:

file.folder.split(“/”)[-1]

Фильтр же для отображения идей довольно простой:

Как всем этим управлять? Можно переходить по ним, также переносить их в другие папки, удалять их — даже не выходя из табличного вида:

С тасками особых проблем у меня не было. Но с Медиа-идеями были проблемы.

Как я работал с Медиа-идеями

Мои основные виды медиа-идей — были картинки и видео. В основном, это какие-то скрины твитов и комментариев, остановленные кадры в видео с информацией и сохраненные картинки в Твиттере и Пинтересте.

После набора определенного багажа скриншотов на телефоне, за которые зацепился глаз, я раз в несколько дней (но в последнее время уже — каждый день) подключал телефон по шнуру к компьютеру, вырезал все скриншоты, сохранял их в папке Screens на рабочем столе:

И они ожидали своего часа. У меня РАС (расстройство аутистического спектра) и я играл именно против этого. У меня всё должно быть по распорядку, поэтому меня дико раздражала одинокая папка на моем чистом рабочем столе. Я должен был её вычистить (раскидав скриншоты по нужным папкам) и потом чистую папку удалить.

Всё вполне работало в формате «сохранения» идей, но мои идеи «терялись«. Я не принимал их в работу, я не видел их визуально и поэтому забывал о них, было трудно к ним вернуться, ведь они лежат в разных папках на компьютере.

Скриншоты вообще было трудно обрабатывать, как идеи. Но ещё труднее было обрабатывать видео. Если я скидывал ссылку на тикток или ютуб, мне надо потом ещё и выкачивать видео через yt-dlp. И если картинки ещё можно как-то увидеть в Obsidian, то видео уже с огромным трудом. Поэтому мне нужна была новая система. И я её придумал. И назвал её MediaSorter.

MediaSorter

Моя система была построена на JS (React), который запускался в командной строке:

И далее автоматически открывался браузер на порту 3030:

Что позволила делать мне эта система?

Добавлять в раздел Инбокс любые файлы: PDF, аудио (mp3, wav, ogg, flac), видео (mkv, mov, mp4, webm, hevc) и картинки (jpg, jpeg, png, gif, webp) и там же и просматривать всё.

Добавлять в Таски любой текст (удобно было теперь открыть таски от гугла или избранное в Telegram и переносить всё сюда):

Притом если я мог добавить их как одну таску или одна таска — одна строка (через кнопку Добавить строками):

Я мог закидывать файлы «скопом» с помощью переноса:

Либо копируя в буфер и вставляя, но я не стал делать копирование и вставление больше одного файла, чтобы сделать её больше для возможности делать скрины через Win+Shift+S, хотя, в общем смысле, стоило бы и доработать.

А также и просматривать фото через клик (с возможностью приближения через ещё один клик):

Просмотр видео через клик (в том числе и тяжелые кодеки типа HEVC, vp9, av01):

Просмотр PDF:

Также очень легкое переименование имен файлов (и добавление комментариев).

Но ради чего всё это было? Ради кнопки Фасовать:

Кнопка Фасовать позволяла сразу переслать файл куда было нужно.

Снизу также есть три кнопки —📂Папка (открывает файл в папке в проводнике), 📦Архив (переносит файл в Архив) и ❌Удаление (если в настройках нет галочки, что удаление в один клик — то файл удаляется сразу физически с устройства).

Таски же добавляются по другому. Они могут быть добавлены как MD файл в определенной папке:

И добавленные таски будут выглядеть в папках так (да, в предпросмотре видно, что находится в текстовых файлах, если они не пустые):

Либо как новая строка в Файле-Таске:

Для того, чтобы добавить — надо выбрать также какой формат таска будет иметь перед добавлением, либо она будет без изменений (просто текст), либо будет иметь чекбокс (- [ ]), либо просто будет маркер (-).

Я не рассказывал про сами Файлы-таски. Это файлы тасок в формате markdown, где каждая добавленная таска будет новой строкой:

Я могу в таком же виде открыть и файлы в Текстовых папках через кнопку Строки, но я ей практически не пользуюсь, так как это не подходит по смыслу моей системе:

Добавление новых папок, подпапок и архивация

Для добавления я использую плюсики в нужном мне разделе:

Всё интуитивно понятно, но что за Подпапки и зачем Сквозной просмотр?

Например, у нас есть папка — Проблемы СДВГ. Какая-то проблема становится огромной (например Долговременная мотивация), в ней копится очень много файлов, лучше её выделить отдельно, но делать ради неё целую папку нецелесообразно. Поэтому я создаю эту подпапку:

И теперь могу просматривать с помощью Сквозного просмотра при просмотре папки то, что находится во всех подпапках (зеленым текстом снизу будет показываться название подпапки, если файл находится в ней):

Архивация мне была нужна, чтобы была возможность НЕ удалять файлы, но убрать их из работы. Т.е. возможно файл нужен будет для истории, но точно не сейчас:

Некоторое объяснение системы

Вообще система построена на некоторых идеях GTD, которую я доработал, т.е. изначально ВСЁ валится в папку Инбокс (Таски тоже являются Инбоксом, но я их отделил из-за связи с Obsidian), откуда всё раскидывается по папкам, удаляется или решается сразу.

Есть Inbox, Архив для медиа, Архив для текста:

Если кликнуть по левому углу, по тексту MediaSorter, выйдет также возможность смены профиля:

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

Изначально я, конечно же, это делал в такой форме, что делил по группам. Например здесь есть группа СДВГ, где в ней папки Исследования и Решения проблем (она визуально выделяется, потому что имеет подпапку) и папка без группы — Мемы:

Но я всё равно решил использовать также и профили, потому что может быть такое, что начнешь использовать единственный профиль в рабочей командной задаче, а перед друзьями поймаешь стресс из-за папки под названием «Лучшие приколы Евгения Петросяна».

FFmpeg, FFprobe, ImageMagick и yt-dlp

На первом скриншоте (с командной строкой) было видно, что я подключаю к системе:
FFmpeg, FFprobe, ImageMagick и yt-dlp. Зачем они мне нужны?

FFprobe нужен был для определения кодека видеофайлов. Определенные видеофайлы с определенными кодеками не запускаются так легко и для них нужен запуск через FFmpeg.

После определения кодека всё записывается в базу и именно поэтому после первого запуска в углу у видео надпись VIDEO менялось на название кодека видео (тут — HEVC).

Я это сделал уже для удобства, чтобы понимать, какое видео будет запускаться дольше.

ImageMagick просто позволяет видеть предпросмотр PDF-файлов. Но, в отличие от других программ — её пришлось установить в систему, у неё нет exe-шника, который я бы мог просто вкинуть в папку для работы.

yt-dlp же позволяет скачивать видео со всех соцсетей (в том числе твиттера, тиктока и т.д.):

Я скачиваю для себя что-то из трех форматов: наилучший mp4 (H264), наилучший mp4 (av01) и mp3. В основном это для видеомонтажа или для прослушивания аудиокниг и подкастов.

Причем если я включу логирование в консоль, он будет показывать весь процесс (да, FFmpeg подключается к скачке тоже для склеивания аудио и видео в финале):

Проблемы или что нужно знать, если хочу также

Основная проблема — это FFmpeg и просмотр тяжелых видео-файлов. Одну проблему с ней пришлось решать в лоб:

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

Мне пришлось сделать возможность делать бэкапы (и вот как, кстати, выглядят оставшиеся настройки):

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

Также проблему я не мог долго выловить ошибку в системе, которая была связана с переносом файлов между локальными дисками (вроде это была ошибка EPERM). Её не мог решить Deepseek сразу, а решил Gemini. И насчет ИИ — стартовый каркас мне, в основном, писал Gemini Pro, Claude тогда специально ухудшили, поэтому в нём смысла была мало. И дописывал я всё с помощью Deepseek v4.

Мой файл package.json для сборки:

{  "name": "mediasorter",  "version": "1.8.0",  "description": "Система фасовки медиа и генерации markdown-задач",  "main": "server.js",  "bin": "server.js",  "scripts": {    "start": "node server.js"  },  "dependencies": {    "canvas": "^3.2.3",    "cors": "^2.8.5",    "express": "^4.18.2",    "multer": "^1.4.5-lts.1"  },  "pkg": {    "targets": [      "node18-win-x64"    ],    "outputPath": "dist",    "output": "mediasorter.exe",    "assets": [      "**/*.html",      "**/*.css",      "**/*.js",      "**/*.png",      "**/*.jpg",      "**/*.json",      "**/*.ico"    ],    "ignore": [      "**/*.map",      "**/*.spec.js",      "**/*.test.js",      "**/node_modules/*/{test,__tests__,tests,example,docs}/**",      "**/@*/*/{linux,darwin,musl,arm64}**"    ]  }}

Собирал exe-шник я не с pkg, а с помощью yao-pkg (необходимо будет его поставить глобально). Для сборки достаточно в консоли прописать (в открытой папке с package.json):

pkg .

А изменял я данные и визуал для exeшника так (стоит также скопировать своё лого favicon.ico в папке с exe-файлом):

npx resedit-cli MediaSorter.exe MediaSorterFinal.exe --icon 1,favicon.ico --no-grow --file-version 1.8.0.0 --product-version 1.8.0.0 --company-name "SDVGhack" --file-description "MediaSorter — sorting with brain" --product-name "MediaSorter"

Почему версия Node — 18, а не 22 или хотя бы 20? Потому что на 18 — крайняя версия, на которую не ругаются антивирусы (Аваст будет кидать каждый exeшник в карантин).

babel.min.js, react.production.min.js, react-dom.production.min.js лучше скачать локально для сборки, чтобы они и в коде сборки были подключены локально и в финале оказались внутри exe-шника, иначе будет проблемно использовать всё без интернета.

Финальные мысли

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


Ну а я всё также веду Telegram-канал, где описываю лайфхаки по управлению жизнью (для СДВГшников и помешанных на личной эффективности) и делюсь своими разработками (в том числе и этой системой):
https://t.me/sdvghack

ссылка на оригинал статьи https://habr.com/ru/articles/1034944/