Исправление имен. Часть первая
Aug. 15th, 2023 12:02 am Если имена неправильны, то слова не имеют под собой оснований. Если слова не имеют под собой оснований, то дела не могут осуществляться
– Лунь Юй
Файловая система все равно остается основой хранения - особенно после пришествия Syncthing, которая позволяет держать одинаковое дерево папок и файлов на совсем разных сущностях (десктоп-ноутбук-телефон-планшет).
Раскладывая файлы по папкам постепенно пришел к пониманию, что папка называется либо по категории (
Когда-то у кого-то подсмотрел лайфхак с нумерацией папок BASIC-стайл (
Похоже, в моем случае вопрос упирается в то, насколько удобно искать в такой системе нужное. Если папки расположены по алфавиту - мозг использует стратегию, похожую на алгоритм бинарного поиска. “Гилмор - значит ближе к началу, Толкачев - ближе к концу” и остальное происходит автоматом - даже если список папок занимает несколько экранов (что редко, но бывает). Мы все умеем эффективно искать “по словарю”, используя алфавитный порядок.
BASIC-система ломает этот порядок. В теории она должна была бы работать, как система, выносящая наверх наиболее часто используемые папки и делающая их привычными для поиска (про бег? ага…
На практике получается, что там где я часто ищу нужное, основные часто используемые категории я более или менее помню (и перехожу сразу по ним), но как только появляется необходимость поискать в не очень часто используемой папке (а значит я не помню номерные категории в ней наизусть), то приходится каждый раз просматривать сначала номерные категории в ней (
Еще один интересный эффект, который я заметил - мозг ломается на гибридной алфавитно-цифровой системе. То есть требуется некоторое усилие, чтобы перейти от просмотра папок названных в стиле “номер_категория” к папкам названным “категория”. Кроме того, сами по себе алфавитно-цифровые категории распознаются мозгом с большим усилием, чем чисто алфавитные или чисто цифровые.
Если “номерных категорий” (будем называть их так) немного - скажем семь плюс-минус две, то система должна работать достаточно эффективно. Как только их становится много и они начинают попадаться в разных местах - система сбоит и мешает.
Еще один негативный эффект “номерных категорий” - усложнение добавления новых категорий и пересортировки старых. Добавляя новую категорию каждый раз приходится отвечать для себя сразу на несколько вопросов. Присвоить приоритет или оставить как есть (
Пересортировка тоже не сулит ничего хорошего. Если вести все по системе BASIC десятков быстро перестает хватать, кроме того список типа:
В текстовом аутлайне порядок пунктов можно сделать простым перетаскиванием или копипастом, то при работе с файловой системой приходится время от времени все перенумеровывать, что довольно трудоемко. Частично вопрос решается использованием
И это не говоря о том, что при перенумерации начинает “плыть” иерархия - вчера марафон был
Эти неудобства постепенно накапливаются до какой-то точки, после чего система начинает стремительно захламляться. Все новые категории попадают в разряд “новые - значит важные”. Значит нужен номер. Значит нужен номер повыше. И т.д. и т.п. Просматривать это все становится тяжело. Требуются трехзначные номера. Хаос нарастает, читабельность и удобство пользования снижается.
Очевидно стоит отказаться от номерных категорий по возможности совсем или максимально ограничить их использование. Если таких категорий в каждой папке может быть от 5 до 9 - значит не нужно двузначных номеров. Можно обойтись одной цифрой (
Отдельный случай - папки, которые хранят архивные данные (фотографии, файлы за какой-то семестр вуза…) - они нумеруются в лексикографическом порядке, поскольку так удобнее искать по дате (
Мысль пошла дальше. Мне нравится сортировка методом деления хаоса - поэтому раньше каждая папка системы хранения выглядела как набор папок в котором сначала шли номерные категории, потом остальные папки, потом россыпью файлы, требующие сортировки и распределения по категориям. Перечитывая Архангельского, я в какой-то момент сообразил, что весь хаос внутри каждой из категорий не обязательно держать россыпью. Можно создать отдельную папку, назвать ее
Следующий момент - я начинал текст тем, что обычно папки системы хранения названы либо по тематической категории, либо по фамилиям авторов. Я понял, что категориальные папки я всего нумеровал в том числе для того, чтобы они не смешивались с авторскими папками. Если убрать систему нумерации - может получиться каша:
Но не обязательно нумеровать категории подряд - можно задать им какой-то один номер всем - и они разделятся с авторскими папками автоматически
И даже номер задавать не обязательно - можно просто ставить какой-нибудь спецсимвол - вполне сойдет подчеркивание.
И вот тут я уперся в технический момент. На телефоне Ghost commander понимал такую систему сортировки, а вот на десктопных linux-ах Thunar и прочие файловые менеджеры отказывались понимать подчеркивание, как отдельный элемент сортировки. Получалось что-то вроде:
Я это заборол. И тут начинается техническая часть, которая (предположу) будет интересна только линуксоидам :)
– Лунь Юй
Файловая система все равно остается основой хранения - особенно после пришествия Syncthing, которая позволяет держать одинаковое дерево папок и файлов на совсем разных сущностях (десктоп-ноутбук-телефон-планшет).
Раскладывая файлы по папкам постепенно пришел к пониманию, что папка называется либо по категории (
~/book/fizo/йога
), либо по автору (~/book/fizo/Гилмор Гарт и Лидьярд Артур/
), либо по категории и автору внутри нее (~/book/fizo/10_бег/Гилмор Гарт и Лидьярд Артур/
).Когда-то у кого-то подсмотрел лайфхак с нумерацией папок BASIC-стайл (
10_бег
, 20_плавание
и т.д.). В старом бейсике строки кода нумеровались с интервалом в 10 (10, 20, 30…), чтобы можно было между ними при необходимости воткнуть новые строки. Поэтому я для себя эту систему так и назвал. С одной стороны такая система именования папок выглядела рабочей - удобно, есть возможность задавать приоритетность папок и т.д. и т.п. С другой по мере увеличения числа папок все почему-то переставало работать и начинало захламляться.Похоже, в моем случае вопрос упирается в то, насколько удобно искать в такой системе нужное. Если папки расположены по алфавиту - мозг использует стратегию, похожую на алгоритм бинарного поиска. “Гилмор - значит ближе к началу, Толкачев - ближе к концу” и остальное происходит автоматом - даже если список папок занимает несколько экранов (что редко, но бывает). Мы все умеем эффективно искать “по словарю”, используя алфавитный порядок.
BASIC-система ломает этот порядок. В теории она должна была бы работать, как система, выносящая наверх наиболее часто используемые папки и делающая их привычными для поиска (про бег? ага…
~/book/fizo/10_бег
).На практике получается, что там где я часто ищу нужное, основные часто используемые категории я более или менее помню (и перехожу сразу по ним), но как только появляется необходимость поискать в не очень часто используемой папке (а значит я не помню номерные категории в ней наизусть), то приходится каждый раз просматривать сначала номерные категории в ней (
10_спринт
, 20_травмы
, 30_аэробные_системы
…), а потом уже искать по алфавиту. Таким образом в малознакомых местах иерархии номерные категории ломают естественный порядок поиска и мешают. И чем их больше - тем больше они мешают.Еще один интересный эффект, который я заметил - мозг ломается на гибридной алфавитно-цифровой системе. То есть требуется некоторое усилие, чтобы перейти от просмотра папок названных в стиле “номер_категория” к папкам названным “категория”. Кроме того, сами по себе алфавитно-цифровые категории распознаются мозгом с большим усилием, чем чисто алфавитные или чисто цифровые.
Если “номерных категорий” (будем называть их так) немного - скажем семь плюс-минус две, то система должна работать достаточно эффективно. Как только их становится много и они начинают попадаться в разных местах - система сбоит и мешает.
Еще один негативный эффект “номерных категорий” - усложнение добавления новых категорий и пересортировки старых. Добавляя новую категорию каждый раз приходится отвечать для себя сразу на несколько вопросов. Присвоить приоритет или оставить как есть (
33_python
или просто python
?). Нет ли уже такой категории - python
? 22_python
… 44_python
… - снова приходится пересматривать все, что лежит по номерам. Если дубликата нет и категория нумерная - на какое место поставить ее в номерном списке? А еще нужно бороться с “эффектом новизны” - все свежепришедшие категории кажутся важными и требуют номера, причем максимально приоритетного.Пересортировка тоже не сулит ничего хорошего. Если вести все по системе BASIC десятков быстро перестает хватать, кроме того список типа:
10_спринт
, 15_марафон
, 17_разминка
, 20_травмы
, 25_растяжения
, 30_аэробные_системы
начинает выглядеть откровенно уродливо.В текстовом аутлайне порядок пунктов можно сделать простым перетаскиванием или копипастом, то при работе с файловой системой приходится время от времени все перенумеровывать, что довольно трудоемко. Частично вопрос решается использованием
vidir
или чего-то в этом роде, но все равно все неудобно.И это не говоря о том, что при перенумерации начинает “плыть” иерархия - вчера марафон был
15_марафон
, сегодня он стал 20_марафон
и так далее. Становится сложным привязываться к путям и держать закладки.Эти неудобства постепенно накапливаются до какой-то точки, после чего система начинает стремительно захламляться. Все новые категории попадают в разряд “новые - значит важные”. Значит нужен номер. Значит нужен номер повыше. И т.д. и т.п. Просматривать это все становится тяжело. Требуются трехзначные номера. Хаос нарастает, читабельность и удобство пользования снижается.
Очевидно стоит отказаться от номерных категорий по возможности совсем или максимально ограничить их использование. Если таких категорий в каждой папке может быть от 5 до 9 - значит не нужно двузначных номеров. Можно обойтись одной цифрой (
1_бег
) - просто, читабельно и самоограничивает разрастание номерных категорий. Но даже этого лучше не делать, чтобы не создавать самому себе подсознательный ажиотаж.Отдельный случай - папки, которые хранят архивные данные (фотографии, файлы за какой-то семестр вуза…) - они нумеруются в лексикографическом порядке, поскольку так удобнее искать по дате (
2023/2023-08/
- фотографии августа 2023-го года или, скажем вуз/2023-1/
и вуз/2023-2/
- первый и второй семестры 2023-го года). Эта система себя очень хорошо зарекомендовала, мозг не ломает чисто цифровая датировка, нет вопроса расстановки приоритетов и так далее.Мысль пошла дальше. Мне нравится сортировка методом деления хаоса - поэтому раньше каждая папка системы хранения выглядела как набор папок в котором сначала шли номерные категории, потом остальные папки, потом россыпью файлы, требующие сортировки и распределения по категориям. Перечитывая Архангельского, я в какой-то момент сообразил, что весь хаос внутри каждой из категорий не обязательно держать россыпью. Можно создать отдельную папку, назвать ее
0_место_хаоса
и сложить туда все, что требует просмотра, оценки, классификации и распределения. После чего время от времени просматривать ее на предмет свежих идей и расчистки от неактуальной информации.Следующий момент - я начинал текст тем, что обычно папки системы хранения названы либо по тематической категории, либо по фамилиям авторов. Я понял, что категориальные папки я всего нумеровал в том числе для того, чтобы они не смешивались с авторскими папками. Если убрать систему нумерации - может получиться каша:
- Атлетика
- Бег
- Бирюков
- Васильев
- Велосипед
- Вишневский
- Восстановление
Но не обязательно нумеровать категории подряд - можно задать им какой-то один номер всем - и они разделятся с авторскими папками автоматически
- 0_место_хаоса
- 1_Атлетика
- 1_Бег
- 1_Велосипед
- 1_Восстановление
- Бирюков
- Васильев
- Вишневский
И даже номер задавать не обязательно - можно просто ставить какой-нибудь спецсимвол - вполне сойдет подчеркивание.
- 0_место_хаоса
- _Атлетика
- _Бег
- _Велосипед
- _Восстановление
- Бирюков
- Васильев
- Вишневский
И вот тут я уперся в технический момент. На телефоне Ghost commander понимал такую систему сортировки, а вот на десктопных linux-ах Thunar и прочие файловые менеджеры отказывались понимать подчеркивание, как отдельный элемент сортировки. Получалось что-то вроде:
- _Атлетика
- _Бег
- Бирюков
- Васильев
- _Велосипед
- Вишневский
- _Восстановление
Я это заборол. И тут начинается техническая часть, которая (предположу) будет интересна только линуксоидам :)