Pull to refresh

Comments 48

>компаний «Macintosh», «Microsoft» и «Motif».
Кто такие эти компании «Macintosh» и «Motif»? Насколько я помню, первая называется Apple, а вторая просто не компания.
Спасибо, исправил.
Прошу прощения за неточность.
Да, это очень интересный подход. Мне в нём с файловой системой намного удобнее работать, но в остальном возможности довольно ограниченные.
Рекомендую попробовать поиграться, ощущения очень свежие и нестандартные)
eaglemode.sourceforge.net
Выглядит футуристично, как в научнофантастическом кино. Но боюсь многие привычные действия превратятся в таком UI будут делаться дольше. Как, например открыть две папки одновременно и перетаскивать файлы между ними? В случае с окнами это просто и понятно.
Да, два окна не получится рядом открыть, но там для копирования/перемещения механизм есть, у которого тоже свои преимущества:
  • Помечаешь как source, зажимая Ctrl, различные файлы (можно выбирать из разных папок!) и папки, которые хочешь перенести
  • Помечаешь папку куда это всё надо перенести как target
  • Вызываешь команду копирования/перемещения, и в target папке оказывается всё что ты выбрал как source

«Как, например открыть две папки одновременно и перетаскивать файлы между ними?»
Ну как-как, сделать zoom и открыть FAR.

Выглядит эффектно, но непрактично и громоздко.


И вообще, когда ж от древовидной файловой системы начнут массово переходить к другим видам классификации? По тегам, группам, и т.п.

Группам и тегам чего? Папок? Или файлов? Что будет с файлами в таком случае — в Total Commander находясь в корневой директории нажмите Ctrl+B, что вызовет весь список файлов в папках и подпапках. Насладитесь жутчайшими тормозами, даже на SSD
После того как нормально реализуют автоматическое тегирование(руками это ж убится). Либо когда локальные поисковые системы будут не только стандартными компонентами ОС но и смогут чуть более сложные задачи решать.
Пример — сейчас в macOS я могу поискать книги в PDF/epub где встречается слово «компилятор» или слова «реактор» И «гиперпривод». Но при этом для epub пришлось ставить спецмодуль, c PDF это работает только при наличии текстового слоя (а с fb2/djvu не работает вообще, как и с якобы-защищенными от пользователя книгами) но я не могу попросить Splotlight найти все книги по программированию мобильных приложений если не пропишу руками теги хотя казалось бы — что — нельзя создать правило как по словам в тексте и метаданным (если в файле их нет — подгрузить откуда где они есть) определить что это книга про разработку мобильных приложений, актуальная на данный момент? Или например что это фантастика про попаданца в магический мир? Пусть не точно но хоть как то. Правила то общие — создать один раз и распространять.
С Windows все еще хуже — инфраструктура для индексации есть, софт есть, даже тормоза есть -:) а реально использовать затруднительно.

С мобильными системами все еще хуже, даже просто поиск — большая проблема а правила — да никак.
С Windows все еще хуже — инфраструктура для индексации есть, софт есть, даже тормоза есть -:) а реально использовать затруднительно.


Просто надо использовать правильный софт.
Есть такой Archivarius3000 например. Найдет и в fb2 и в пдф с текстовым слоем и в epub и если всё это в архив завернуто, и в поиск с условиями может.
Вот с djvu и pdf без текстовых слоев не справится, да — так с этим до появления реального ии вообще никто не.
Знаю про него. Даже где то в старых архивах лицензия была. но речь именно про штатный функционал системы, который приложение, создающие .xyz-файлы может само поддержать (у macOS это есть, у Windows тоже есть — IFilter).

Автоматически вешать теги Archivarius3000 не может насколько я помню.

С djvu и pdf без текстового слоя — а почему собственно? индексатор ведь может и OCR делать (если ресурсов мало чтобы это в реальном времени делать — можно запускать ночью например), ну да (собственно если рассматривать именно конкретный софт — Evernote умеет искать по тексту в картинках, сами делают OCR).
В идеале система (не отдельное приложение а именно часть ОС, хотя бы с точки зрения пользователя) должна уметь и например понимать как найти «фотографии меня и моего брата но без других людей вчера в парке, снятые с моего galaxy note».
Нунахрен этот «штатный функционал», который любым очередным обновлением могут внезапно поломать до безобразия. Программа должна быть отдельной и автономной.

С djvu и pdf — а почему собственно?

Ну… пожалуй, да, погорячился немного.
С другой стороны — я в общем предпочту точно знать что по этим вот картинкам оно не ищет, чем надеяться на то что оно их корректно отOCRит.
Да, это было бы неплохо, но даже FineReader, аналога которого от разработчиков A3000 ожидать не стоит, подобные вещи, особенно в плохом качестве, сканит через пень-колоду и их приходится вычитывать глазками. То есть всё равно в итоге копаться самому.
но я не могу попросить Splotlight найти все книги по программированию мобильных приложений если не пропишу руками теги

Скорее всего, не было запроса к разработчикам ПО. Т.е. такие требования уже похожи на продвинутого пользователя, которых очень мало. А разработчики ориентируются на неквалифицированные массы.


Так-то можно было бы и нейросети подключить, чтобы они смотрели внутрь PDF/DJVU и, если там нет распознанного текста, пытались бы по сканам определить тематику.


Вопрос в том, кто это всё напишет.


инфраструктура для индексации есть, софт есть, даже тормоза есть

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

Вообще к quicklook можно писать плагины. Я так понимаю если что-то видит quicklook то это потом архивирует spotlight?
ВЫ готовы ставить на каждый файл тег или кидать каждый файл в группу? А как вы представляете себе запуск старого ПО, заточенного под древовидную, на новой? Или как вы организуете эффективное использование дискового пространства и хранение вашей файловой системы?
Это все очень спорные вопросы, хотя тема интересная.
ВЫ готовы ставить на каждый файл тег или кидать каждый файл в группу?

Это должна делать система, автоматически (с возможностью подстроить работу этой автоматики). И не только «файлы» — просмотренные страницы хабра например тоже должны быть в истории для поиска(как отдельный тип объекта). В идеале.

А как вы представляете себе запуск старого ПО, заточенного под древовидную, на новой?

В каком плане? Обычных приложений кто не знает про новую и которым надо просто открыть файл? FUSE и пусть открывают (либо даже системный диалог открытия файла поправленый). В конце концов старую систему никто не отменяет. API работы с файлами менять смысла нет. Правда может всплыть ограничение на длину пути к файлу и то что например «копирование каталога и вложенных в него подкаталогов и файлов» старым ПО может зациклится (но это можно и существующими средствами сделать если soft/hardlink'ов наплодить), ну и операция эта будет иметь немного другой смысл.

Как хранить такое — если у нас УЖЕ есть нормально работающий системный движок поиск — то надо просто где то хранить наборы фильтров для автоматического тегирования и возможно — кеш результатов. Не так много место по сравнению с индексом. Хранить же индекс не особая проблема. macOS ж хранит (там spotlight по умолчанию включен уже много лет.
Вы предлагаете полностью перейти на теги, или добавить теги к существующей древовидной структуре?

Это можно параллельно держать.


Например, для системных файлов и конфигов — дерево. Для личных файлов — дерево+теги.

В MacOs теги прекрасно работают. Можно задавать любой текст, любую комбинацию тегов на файл, 8 цветов на выбор. Файлы с одинаковым тегом мгновенно индексируются системой, в Finder они доступны в отдельном разделе, типа как папки. Если такую «папку» (то есть тэг) удалить то он удаляется во всех файлах на компьютере.

Можно соответсвенно открыть «рабочее» и «программирование» и вперед: мгновенно получите выборку файлов только с такими тегами.

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

В командной строке теги работают?

Из коробки нет, но есть пакет:
github.com/jdberry/tag

Для установки:
brew install tag

В Python все прекрасно подцепляется
Там по сути надо считать расширенный атрибут с именем «com.apple.metadata:_kMDItemUserTags», расшифровать bplist встроенной библиотекой и получить list тегов.

Примерно так:
import plistlib
import xattr

xattr_tags = 'com.apple.metadata:_kMDItemUserTags'

data = xattr.getxattr(file, xattr_tags)
tags = plistlib.loads(data)


к существующей конечно (потому что иначе действительно вообще все переписывать но зачем?)

Например, в Linux (и других UNIX'ах) никогда расширение файла не имело особого значения, зато есть команда file, которая по содержимому определяет типа и формат файла (JPEG/PNG/PDF/text/markdown/… определяет десятки разных) — вот уже первая классификация готова.


Ставить тег может сама ОС при создании файла. Либо libc.


Или как вы организуете эффективное использование дискового пространства

Никаких проблем не вижу. Начиная с того, что уже сейчас в файловых системах есть хардлинки (даже в NTFS) и расширенные аттрибуты. Если взять за основу идеи ZFS, то там уже все абстракции есть для реализации. Ну понятно, что придётся переписывать с нуля, т.к. у ZFS лицензия кривая.


запуск старого ПО, заточенного под древовидную, на новой

Например, когда к одному файлу ведёт несколько разных путей, типа:


/tags/:image/:png/:all/my_summer_2056.jpg
/tags/:image/:png/:2056/my_summer_2056.jpg
/tags/:image/:png/:(img.height > 1000)/my_summer_2056.jpg
/tags/:image/:(img.tone like blue)/my_summer_2056.jpg
/tags/:family/my_summer_2056.jpg

т.е. я сейчас «от балды» придумал какой-то язык запросов, который можно в виде древовидной структуры каталогов показывать. Можно даже какие-то частые запросы сохранять и они будут в каталоге /tags видны как подкаталоги.


Думаю, уже до меня такие штуки придуманы. Просто они, скорее всего, реализуются либо через 100500 симлинков, либо через FUSE (файловая система на user level), всё это громоздко и медленно.


Было бы круто «из коробки» такое иметь.

Голова закружится, если постоянно пользоваться
UFO just landed and posted this here
Весь этот псевдохайтек-трэш только лишний раз доказывает, насколько же мощным инструментом является обыкновенная клавиатура. Шанс против нее есть разве только у нейроинтерфейсов, когда/если они достаточно разовьются.

А этому будет сильно мешать полное отсутствие спроса на эффективные интерфейсы. Судя по ужасающей ситуации везде, где есть хоть какой-то интерфейс, отличный от командной строки — десктопы, смартфоны, планшеты, телевизоры, автомобили и тому подобная бытовая техника — на интерфейс всем пофиг чуть более чем полностью.
> на интерфейс всем пофиг чуть более чем полностью.

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

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

Нейроинтерфейсами смогут пользоваться только йоги с идеальной концентрацией. Отвлекаться ведь нельзя.

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

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

Машинисты проходят медосмотр, поэтому больных и с аллергией не допустят.


С другой стороны, умея концентрировать ум, можно и чихание подавить.

curunir обратите внимание на проект Tags4info. иерархические теги для фильтрации данных различных типов. я его автор. считаю что это самый красивый и мощный подход для работы с информацией. к сож не хватает ресурсов и уже очень давно не могу выкатить новую версию. интересно ваше мнение
Да, выглядит удобно.
Я ранее уже встречал аналоги подобной системы, но вы, наверно, уже все их давно рассмотрели. Поэтому пропущу часть, где я скидываю ссылки на аналоги, и сразу спрошу — почему именно свою реализацию делаете?
Это open source?
вам известны файл/букмарк органайзеры на основе иерархических тегов? я знаю один. на мой взгляд именно иерархия тегов дает все поэтому где этого нет это не аналоги. поэтому и пишу. в опенсорсе пока не вижу смысла. потенциально — возможно.
Пока нашёл только такие:

Но они только для Windows :c
Я просто спросил про open source к тому, что вы упомянули о нехватке ресурсов на разработку. Выглядит у вас приложение довольно интересным, и мне кажется, что кто-то мог бы подключиться.
в tag2find нет иерархии и он умер. tabbles — единственный известный мне аналог, но у меня никогда не возникало желания начать им пользоваться.
да возможно я пойду в сторону опен сорс.
собственно я написал потому что это не описаный вами подход. например zoomui это фактически иерархические папки реализованные иначе. возможность добавить один объект в несколько папок (добавить несколько тегов) является очень мощным средством организации.
Я лишь упомянул про ZUI, я не являюсь его адептом)
Основная идея, которую я хотел передать в том, что нам нужно экспериментировать и пробовать новое. Вы как раз занимаетесь именно этим, за что я вам очень благодарен.
Система тегирования файлов мне кажется очень удобной — если вы не против, то я бы добавил её в список расширений WIMP в статье.
я не против. спасибо

"Вместо того, чтобы передавать интерфейсу команды высокого уровня  («Компьютер, скопируй все файлы из папки X, которые весят не больше 1Мб и  были изменены за последнюю неделю»), пользователь должен выполнять их  сам на низком уровне (пользователь обходит всю иерархию папок в папке X,  и выбирает нужные файлы)."
find -type f -mtime -7 -size -1M -exec cp '{}' \;

Да, в этом отношении CLI рулит, с его помощью можно передавать намерения очень точно.
Только вот кривая обучения у него довольно крутая для обычного пользователя. Я вот надеюсь на то, что обработка естественного языка разовьётся когда-то до такой степени, когда пользователи смогут вместо
find -type f -mtime -7 -size -1M -exec cp '{}' \;
сказать
«Компьютер, скопируй все файлы из папки X, которые весят не больше 1Мб и были изменены за последнюю неделю»
и компьютер сделает то же самое.
«Компьютер!»… секунда...«Слушаю команду!» Скопируй все файлы в папках и подпапках, в том числе скрытые и защищенные от копирования, из папки Исходники, которая находится в папке ПроектHYK34.35.33фирм, которая находится в папке Проекты2019 на локальном диске, которые весят не больше 1Мб и были изменены за последнюю неделю»

Чем то напоминает общение с секретарем:
«Ирина, принесите правки по текущему делу» (Ирина знает что за дело, где лежит, где правки по нему итд).
А если не знает (как и наш голосовой интерфейс) то поручение превращается в что то вроде: «Ирина, принесите папку с надписью ООО Техпромсельмашхоз, не перепутайте с ООО Техфирмхозмашпос, в шкафу слева от двери, полка пятая снизу, папка в дальнем ряду, пятнадцатая слева, убедитесь, что там лежат документы с датой не позднее 5 рабочих дней с учетом праздников»
А если не знает (как и наш голосовой интерфейс)...

Да, сейчас я именно так и представляю взаимодействие с голосовым UI.
Поэтому я сказал «обработка естественного языка разовьётся когда-то до такой степени» — под «такой степенью» я имею ввиду этап развития голосового UI, когда он сможет помнить контекст разговора и прошлые диалоги, понимать переносное значение слов и так далее.
Общаясь с ним, мы не должны чувствовать что передаём голосовые команды, а должны чувствовать что общаемся с «Ириной» :)
Для обычных пользователей есть всякие файл-менеджеры. Причем, например, в том же Far даже сочетания клавиш запоминать особо не надо — всё подписано-подсвечено, и вот это вот «не больше 1мб за последнюю неделю» набивается с клавиатуры, ну, чуть подольше, чем консольная команда.

У голосового управления принципиально неразрешима проблема отсутствия обратной связи, никогда нельзя быть уверенным, что компьютер понял тебя правильно.
В Finder это делается так:
Переходим в папку X
Alt+Cmd+f —> фокус на окно с поиском по текущей папке. Можно в него просто нажать мышкой.
Далее жмем "+" и добавляем первое условие «Последняя дата изменения». Выбираем дни и 5
Жмем еще раз "+". Выбираем «Размер». Ставим 1 и мегабайт.
Престо:
image

Если что то условий там довольно много:
image
image
image
image
image
image


Кстати, если нажать на «Сохранить» то этот поиск можно добавить в боковое меню Finder и потом возвращаться к нему мгновенно.
Мдаааа, а ведь обычная команда «Джарвис, найди на Алиэкспресс водонепроницаемую USB type-C камеру не дороже 1 крубля и закажи, чтобы прислали мне домой через… месяц. Ну, ладно, хотя бы через два.»
Sign up to leave a comment.

Articles