Опубликован релиз...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=54981
Звучит неплохо. Надо посмотреть.
В частности, возможность использования корзины могла бы быть полезной.
печатать долго три нэ
Предложи им сменить название на n3
n3 занято дубленским ядром
Если серьезно планируете его использовать, то для плагинов вам bashrc придется править, заодно и алиас поставите
Черт, учитесь, нубы и вебмакаки, как описание (да и внутренности) программ делать. Уже клонирую, цуко. Ну нельзя же так?!
у вас корзина головного мозга. Поколение z...
Без электрона? Закапываем!
Скомпилируй emscripten-ом и заверни в электрон:)
Так-то можно и mc скомпилировать :)
У кого-нибудь есть опыт использования nnn и vifm? Можете в двух словах разницу выделить?
В vifm есть вкладки, сессии и миллион настроек, как и в vim. Про nnn первый раз слышу.
Но описание у него все же зачетное. Кто-то еще пишет программмы с умом, а не "лишь бы скорее накодить этот крап".
возможности vifm мне знакомы, сам им активно пользуюсь. мне было интересно узнать о nnn от людей с опытом его пользования.
vifm много не использовал, возможностей у него как и у vim - куча. Я часто использую фильтр в текущем каталоге, vim-овый подход в таком случает предполагает лишние нажатия клавиш, что для меня оказалось решающим. nnn - очень минималистичный, стандартного функционала вам с высокой вероятностью не хватит. Для расширения возможностей используются плагины (они там обычные шелл скрипты) что-то даже под себя придется переписать, благо там большинство маленькие и выглядят несложно. Чтобы сделать как на первом видео вам их еще настроить придется
Пробовал его как альтернативу стандартным средствам shell, не на много удобнее ващет.
ващет намного
потому что подобный софт - не альтернатива, а дополнение стандартных средств shell
А я не про "подобный софт", а конкретно про сабж. Что юзаю вместо него написал чуть ниже.
А удобство в возможности для выделенных файлов запустить собственный или чей-то скрипт или программу.Как только гибкая возможность делать такое меню - это кнопка F2 у MC - так сразу этот файловый менеджер становится классным, мощным, удобным.
Модульность. Какждый скрипт или программа могут делать что угодно, сколь угодно удобно и именно то,что нужно.
Горячие клавиши как будто не для людей... Почему в каждом приложении изобретается новый набор? Надо уже запиливать RFC на эту тему...
Зачем НЕ делают возможности настраивать их под себя. Казалось бы простой текстовый файлик в ~/.config/ и сколько счастья было бы, но нет... Увы, у многих захарджожено, приварено, прибито гвоздями.Тривиальная ж идея: _возможность_ лёгкой настройки хоткея и возможность прицепить свой скрипт. И сразу софт сможет всё что угодно.
Так возможность же есть:
1. Поправить https://github.com/jarun/nnn/blob/master/src/nnn.h#L127
2. СобратьИ это осознанное решение, чтобы не отягощать код парсерами конфига и прочим балластом.
И остановился на https://github.com/leo-arch/clifm - оно куда круче ;)
Зашел глянуть сорцы. Капец, почему Сишники пихают все в один файл на 28+ тыс строк кода. В этой лапше хрен разберешься.
> В этой лапше хрен разберешься.Несмотря на комментарии к каждой функции.
Может тебе просто не нужно лезть туда, куда ненужно? ;)
Хочешь сказать, что поколения программистов херней занимались и просто так старались нивелировать влияние сложности систем на стоимость поддержки? И кстати, комментарии это самый неудачный способ описания кода, так что твой язвительный коммент многое говорит о твоих познаниях в программировании
Твои знания давно устарели. Мода на "самодокументирующийся код" была модномолодежный десять лет назад.С тех пор те, старые еще смузихлебы, вернувшись к своему "самодокументированному" коду через год или два внезапно обнаружили, что нельзя вместить в название функции полноценный комментарий со ссылкой на стандарт/патент/статью и описанием специфических условий и допущений и пришлось заново переписывать код, в котором не удалось разобраться как он работает.
Поэтому снова вернулись к старой как отходы мамонта схеме "название функции должно говорить, ЧТО она делает; а комментарий - КАК она делает". Ну, у кого мозги были, конечно.
то как она делает, должно быть понятно из кода, и коментарий скорее исключение в особо сложных случаях, притов внутри самой функцииа иначе это КГАМ
Очень похоже на рассуждения писателя кода для 1С...
Дай угадаю - ты ничего существенно сложнее хелловорлд не писал?
> Дай угадаю - ты ничего существенно сложнее хелловорлд не писал?ну ты не угадал, и что дальше? о чем был твой не очень умный вопрос?
Ещё один продакшин разработчик
> Твои знания давно устарели. Мода на "самодокументирующийся код" была модномолодежный десять лет назад.Это не мода, это норма. Не надо выдавать желаемое за действительность.
Зачем писать комментарий если можно написать тест?
Если вы написали комментарий, а код вокруг него поменялся, что с ним делать?
Где надо писать комментарии, а где не надо писать комментарии? Как уловить эту тонкую грань?
Что делать если комментарий вроде есть, но он понятен только его автору и не вносит ясности?Я склоняюсь к тому, что комментарии уместны только для публичных членов библиотек, а для внутреннего кода мы их запрещаем всегда.
И да, на моей практике не было ни одного случая, когда комментарий нельзя было убрать.
> ...обнаружили, что нельзя вместить в название функции полноценный комментарий со ссылкой на стандарт/патент/статью и описанием специфических условий и допущений и пришлось заново переписывать код, в котором не удалось разобраться как он работает.
Комментарии плохой код не исправляют, скорее наоборот, в плохом коде плохие комментарии.
Значит, это особенность вашей предметной области. У нас есть файлы, где комментарий на сотни строк а кода на 40, потому что по мере роста абстракции интерфейса понять по его описанию зачем он и как использовать становится, не зная досконально систему, трудно. Есть каталоги без единого комментария на сотни килобайт кода- потому что аккуратно написанный код в темах, хорошо отображающихся на функциональный код, не должен требовать комментариев. Есть код, часто-разная математика- где без комментариев со ссылками на страницы с формулами из статей и книг вообще ничего не понятно, и расшифровка неоткомментированного кода нерациональна- это сложнее, чем писать заново, разбираясь по новой.
Так что холивар про комментарии возникает из-за ограниченности опыта спорящих.
Продолжайте в том же духе, потом уходите с проекта, а за вами хоть потоп
> Значит, это особенность вашей предметной области.Да какая у галерной вебмакаки особенность? Скорее общая унылость, что самого прогера, что крапа который он изрыгает.
Скорее не «как» (это видно из кода), а «почему именно так» и «зачем». Но только там где это необходимо.
Ну будет у тебя 10 файлов по 3000 строк кода.
Что, станет легче?Возьми нормальный редактор, который умеет открывать независимые окна для одного и того же файла и показывать список функций. Вот и все, все преимуществах разбития кода на файлы пропадут.
Если автор, конечно, не макароны сделал.
Ну вот напиши скажем Линусу шо все ядро надо засунуть в один файл на мильоны строк кода, норм же. Открыл в разных окошках один и тот же файл и ок.
> Зашел глянуть сорцы.Кстати, leftpad случайно не Ваших рук дело? :o)
Наверно, там же всего-лишь надо несколько require написать и любоваться папкой node_modules с 26+ тысяч файлов.
Там ещё функции по тысяче строк, if-лапша и прочее, за что в Java/C# по рукам бьют и обзывают говнокодером :)
В Си другой стиль, он уже лет 30-40 стоит не шатается)))
Так это, в Java/C# программистов и называют говнокодерами.
28000 Тысяч строк C кода, серьезно?
https://github.com/dylanaraps/fff - 1000 строк shell
Жаль только разработчик исчез куда то.
>>> 1000 строк shellпфффф любители
https://github.com/simplenetes-io/simplenetes
(будет время на след неделе, посчитаю, сколько в hacmp строк на шелле)
Как эта шляпа на шелле отнесется к имени файла вида "Hello\0x0d\0x0aWorld'";:$wtf\lol*?!" (абсолютно валидный filename в *никсах). Си то на этом не наестся, там ок все, кроме NULL (конец строки) и / (path separator), как раз ограничений самой ФС.А в 1000 строк на шелл - наверное даже одна только валидация и эскейпинг которые не обгадятся на вон том примере и то наверное не влезут, уж сорян :). А какой-нибудь новомодный /dev/tcp как раз позволит у вас privacy conscious стырить все к чему вы имели доступ опосля инжекции.
Абсолютно валидный Python:>>> [0xfor x in (1, 2, 3)]
[15]
Ок сдаюсь, как это работает? Понятно что это не 0x for x, a 0xf or (x in ...), но почему это ползучее работает без пробела перед or?
> Абсолютно валидный Python:Для жыэса тут тоже кто-то такое постил. Но питона у меня вообще нет, а жыэс в песочнице. А на дурацкое имя файла на флешке налететь вполне реально. И будет совсем не круто если "флешка может сделать takeover компа с правами текущего юзера".
На Эльбрусе не работает - не нужно.
NNN - работает.
Это никакой не консольный менеджер -- это еще один графический двухпанельник. В консольном режиме ни видео, ни даже pdf быть не может, только терминал.
> Это никакой не консольный менеджер -- это еще один графический
> двухпанельник. В консольном режиме ни видео, ни даже pdf быть
> не может, только терминал.Пожалуйста, не забывайте ставить вопросительный знак, когда задаёте вопрос, а не делаете утверждение о том, что знаете.
BuildRequires: libreadline-devel libncurses-devel libncursesw-devel
> Это никакой не консольный менеджер -- это еще один графический двухпанельник. В
> консольном режиме ни видео, ни даже pdf быть не может, только терминал.mpv --vo=tct --vo-tct-algo=half-blocks --keep-open=yes mypics_or_video
(если с true color туго: --vo-tct-256=yes)
> mpv --vo=tctСпасибо :)
Не могу представить что через 5 лет этот медиаплеер будет уметь.
> В консольном режиме ни видеоOk, google. Find libcaca
Не бери каку в руки :)
А у меня вот midnight commander открывает картинки через gpicview, например.
вроде как не "двух" - zenway.ru/page/nnn
https://www.youtube.com/watch?v=05QKOxIqyWY
Офигенно
Консоль понятие растяжимое. GLMark2 может прям в фреймбуферной (а точнее, kms'ной) консоли нефиговое 3D навернуть. А вот прям без всяких иксов, рендернув с GPU прям в фреймбуфер. Некоторые видеоплееры тоже так умеют ща.
Каждый уважающий себя юниксоид сам пишет файловый навигатор под свои нужды.
Я на shell например себе написал и вызываю в консоли 1й буквой.
ПС: cd жутко неудобен без СКМ.
Дай угадаю, название ты ему дал mc, а написал его в одну строку "*** install mc" :В
Ну вот, пока я писал ты поправил с "парой букв" на "1й" буквой
Извини шо поламал твою историю :3
Shift+v это 2 клавишы, но 1 буква.
V(){
#bu VINRARUS
while true
do
LIST=
N=1
set ""
shift
for SEE in .* *
do
if [ -d "$SEE" ]
then
true
elif [ -f "$SEE" ]
then
true
else
set "$@" "$SEE"
LIST="$LIST$N: [$SEE]
"
N=$((N+1))
fi
done
for SEE in .* *
do
if [ "." = "$SEE" -o ".." = "$SEE" ]
then
true
elif [ -d "$SEE" ]
then
set "$@" "$SEE"
LIST="$LIST$N: $SEE/
"
N=$((N+1))
fi
done
for SEE in .* *
do
if [ -f "$SEE" ]
then
set "$@" "$SEE"
LIST="$LIST$N: $SEE
"
N=$((N+1))
fi
done
echo -n "0: ..
$LIST$PWD >> "
read CD
echo "----------------------------------------"
V=
case "$CD" in
0)
cd ..
continue
;;
[0-9]|[0-9][0-9]|[0-9][0-9][0-9]|[0-9][0-9][0-9][0-9]|[0-9][0-9][0-9][0-9][0-9])
eval V="\${$CD}"
#echo "V=${1}"
if [ -d "$V" ]
then
cd "$V"
continue
fi
;;
esac
break
done
W="$PWD/$V"
echo "V=$V"
echo "W=$W"
LIST=
N=
SEE=
CD=
}
> пишет файловый навигаторА тут вроде про файловый менеджер (убогонький правда).
Ну а с bash-скриптами лучше бы вообще тут не позорился))
ФМ отличный для хомячков (когда возможности ФМ превышают потребности юзера), а для умеющих работать в терминале более полезен именно удобный файловый навигатор.
ПС: извини, на RUST не умею... пока. ;D
> Каждый уважающий себя юниксоид сам пишет файловый навигатор под свои нужды.А потом узнает что "echo trololo > abc; ls | " - абсолютно валидное имя файла в файловой системе. И совсем не факт что кусок шелла будет с ним работать именно так как задумал автор.
Правильный код на шелле для таких вещей состоит из sanitizing и escaping чуть более чем полностью. Черт, это на самом деле даже на сишке немного надо - просто потому что безбашенная попытка вывести имена файлов на экран, при допустимости там что угодно кроме NULL и / может... нет, ну на сях вот прям код оно не выполнит, пожалуй. Но вот настройки терминала escape-seq's оно может переколбасить просто вдрызг. А, шелловики об этом подумают когда хотя-бы unexpected execution смогут запатчить, чтоли.
> Правильный код на шелле для таких вещей состоит из sanitizing
> и escaping чуть более чем полностью.Возможно, кому-то ещё пригодится: http://altlinux.org/libshell
Оптимизированный микроскоп, с крепким тубусом и тяжелым основанием :). Чур меня от либ на шелле, чур. ИМХО шелл рулит для мелкой системной автоматизации, без особых заморочек.Ну как, конвертя видео с камеры я уверен что камера не подпихнет левые имена файлов, с чего б ей. А вот баузить так чужую флешку например уже не хочется что-то...
название -- намёк на O(n^3)?
привет из 90-ых. нах#р оно надо ? разве для тех кто не осилил readline shortcuts
Каждая программа должна иметь такие-же значения веса и потребления.
И ядро :Р
любителям bash (и zsh) про то расскажите.
они не верят мне, когда я говорю, что их любимые шеллы СЛИШКОМ РАЗЖИРЕЛИ.
>любителям bash (и zsh) про то расскажите.
>они не верят мне, когда я говорю, что их любимые шеллы СЛИШКОМ РАЗЖИРЕЛИ.Я всегда прошу сравнить время выполнения простейшей арифметики:
time dash -c 'D=1; while true; do if [ "$D" -lt 1000000 ]; then D="$((D+1))"; else break; fi; done'
time bash -c 'D=1; while true; do if [ "$D" -lt 1000000 ]; then D="$((D+1))"; else break; fi; done'
| time bash -c 'D=1; while true; do if [ "$D" -lt 1000000 ]; then D="$((D+1))"; else break; fi; done'
bash -c 6.44s user 0.00s system 99% cpu 6.447 total
| time zsh -c 'D=1; while true; do if [ "$D" -lt 1000000 ]; then D="$((D+1))"; else break; fi; done'
zsh -c 4.18s user 1.28s system 99% cpu 5.463 total
| time dash -c 'D=1; while true; do if [ "$D" -lt 1000000 ]; then D="$((D+1))"; else break; fi; done'
dash -c 1.95s user 0.00s system 99% cpu 1.950 totalПри этом можно чутка подзабить на posix и выиграть времени, но до dash оно не дотягивается
| time bash -c 'D=1; while true; do if [[ "$D" -lt 1000000 ]]; then D="$((D+1))"; else break; fi; done'
bash -c 5.33s user 0.00s system 99% cpu 5.336 total
| time zsh -c 'D=1; while true; do if [[ "$D" -lt 1000000 ]]; then D="$((D+1))"; else break; fi; done'
zsh -c 2.64s user 0.92s system 99% cpu 3.561 total
> можно чутка подзабить на posix и выиграть времени, но до dash оно не дотягиваетсяМожно пойти чуть дальше и дотянуться:
time dash -c 'D=1; while true; do if [ "$D" -lt 1000000 ]; then D="$((D+1))"; else break; fi; done'
dash -c 1,99s user 0,00s system 99% cpu 1,987 total
time zsh -c 'while ((D++ < 1000000)); do :; done'
zsh -c 1,34s user 0,52s system 99% cpu 1,855 total
> Я всегда прошу сравнить время выполнения простейшей арифметики:
$ time bash -c 'D=1; while true; do if [ "$D" -lt 1000000 ]; then D="$((D+1))"; else break; fi; done'
bash -c 14,70s user 0,00s system 99% cpu 14,700 total
...
zsh -c 8,60s user 1,67s system 99% cpu 10,268 total
...
mksh -c 7,63s user 0,01s system 99% cpu 7,642 total
...
dash -c 4,52s user 0,79s system 99% cpu 5,309 total
...
sh -c 2,64s user 0,00s system 99% cpu 2,643 total
Жирноват и тормозноват ваш dash 😉
А где же fish?! :)
> А где же fish?! :)Где-то там, в репе. Он же ЕМНИП в первую очередь для интеактивщины, да еще и синтаксис не очень совместим.
и много у вас в реальных скриптах подобной арифметики?
Ну так bash во всём тормозной, а арифметика это простейшый пример.
Этож скорее не в арифметике дело.
Баш медленно циклы прокручивает, тоже самое если echo делать или с файла читать построчно и выводить.
В прошлый раз уже пришли к выводу, что баш это в первую очередь про удобство (те же массивы незаменимы, хоть и жрут память), зш про комфортный глобинг и прочее подобное (но кучи маст хэвных возможностей баша очень не хватает, а массивы довольно специфические) -- например натуральная сортировка чисел при глобинге (в баше это только костыль с ls -v), а остальные шеллы могут использоваться если там памяти всего 32 мегабайта и не нужен сложный доступ к структурам. Просто шеллы оптимизируют разные веши и то, что считаешь ты, никем не востребовано в принципе.
>Просто шеллы оптимизируют разные веши и то, что считаешь ты, никем не востребовано в принципе.Ага, а потом появляются всякие system:D шоб избавиться от тормозов bash.
Так-то systemd нисколько не быстрее openrc, то был false advertising, Ох уж эти мифические тормоза bash, которые никто не видел.
Так то systemd о том чтобы сделать (ставшую довольно большой) систему управляемой.И когда выбор между мелким codeless конфигом и вон теми закорюками как VINRARUS вывалил, извините, но я готов поттерингу даже донат занести, чтобы он сделал меня развидеть это.
Более того - в этом вашем openrc можно посмотреть 1 простой командой дельту относительно дефолтного состояния системы? Или все зашедуленые по таймеру задачи? А вачдоговать процессы оно умеет? В том числе не сетевые? Или вы имеете предложить более быстрых лошадей, при том что люди уже давно пересели на автомобили?
С чего вы решили, что это всё задача инита? Тут вроде посыл был, мол, systemd быстрее баша. На деле это не так, баш и гибче опять же, и быстрее, и меньше недокументированного поведения в бинарях имеет -- проще отлаживать. Не понимаю, что такое "относительно дефолтного состояния", и зачем это может понадобится -- вроде точно такие же костыли, как и всё остальное.
> С чего вы решили, что это всё задача инита?С того что...
1) Инит и список запускаемого им барахла всяко есть.
2) Выколупывать одинаковую конфигурацию системы из дюжины закоулков suxx.
3) Init в правильном месте и в правильное время: высокопривилегированный процесс, всегда есть, может отвесить все потребные сисколы и собрать процессу арену как надо.
4) Все это логично интегрируется с мониторингом и рестартом. Зачем мне два-три описания одного и того же? Это ведет к лишним сложностям, багам и глюкам.
5) Лично мне удобно что инит умеет логгить статусы программ и все такое. На баше при любом факапе приходилось самому логгинг кодить зачастую, потому что в системных логах глухо.> Тут вроде посыл был, мол, systemd быстрее баша.
Как минимум, системд не тормоз - при загрузке система упирается обычно во что угодно кроме него. Ну там в диск, в общий жрач проца толпой сервисов, etc. А вот баш в этом контексте часто попадал под внимание не с лучшей стороны. Так что кроме всего прочего, после перехода *бунт и дебианов на systemd у меня комп на SSD стал вваливаться в десктоп за этак 5 секунд. До этого было секунд 15. Разница.
Как угодно но улучшение vs то что было, в той же конфиге - было заметно невооруженным глазом. Так что все эти свидетельства иеговистов можете себе оставить. Я на идентичной конфиге имел возможнось сравнить, видите ли.
> На деле это не так, баш и гибче опять же,
Проблема в том что этим начали злоупотреблять, и вместо компактной аккуратной конфиги сервиса вот вам несовместимые по дистрам простынки, где конфиг раскидан на добрых трех страницах гамнокода очень среднего пошиба, да еще вон там на второй странице. Очень удобно.
> и быстрее, и меньше недокументированного поведения в бинарях имеет
Я все это ощутил сполна, спасибки. Только системой управлять неудобно почему-то. Особенно кастомный сервис добавлять.
> -- проще отлаживать.
Дооо, я это ощутил, когда сервис не стартует и в логах ноль, так что идешь и кодишь себе логгинг. Ну а с системд весь этот системный онанизм мне как-то больше не требуется, он и сам может stdin/out и кривые коды возврата в лог записать вот. И systemctl показывает участь сервиса, даже если он уже закруглился сто раз.
Не говоря о том что он мне может собрать изолированную песочницу. Которую на баше заколебешься, однако. Это все круто, гибко, но надо либо затолкать в изолируемое окружение половину операционки, либо оно на середине сборки окружения обломается потому что уже спилило себе доступ к нужной проге, etc. А, ну да, луддиты рассказывают про круть и гибкость, но например лишние сисколы процессу грохнуть или там от основной ФС их отделить - от вас таких крутых и гибких не дождешься.
> Не понимаю, что такое "относительно дефолтного состояния",
Это ващи проблемы уже. Есть состояние системы как она майнтайнерами предоставлена. А есть изменения которые я вкатил. Ну то-есть дебиан 10 - вполне конкретная величина. А мои изменения относительно него - это мои измененя относительно него. И мне удобно референситься относительно этого.
> и зачем это может понадобится -- вроде точно такие же костыли, как и всё остальное.
Затем чтобы понять что кастомного и необычного есть в системе относительно дефолтов дистра. Заодно оно хорошо дружит с пакетным менеджером. Есть дефолты в usr, есть оверрайды в /etc и пакетный менеджер оверрайды ни в коем разе не тронет, а они приоритетнее.
1) что такое "состояние системы" ? разверните буллшит термин до уровня "пощупать руками" и сразу поймете что с этим делать.2) все зашедуленные задачи в кронтабах.
3) процесс, нуждающийся в watchdog - дефектный и должен быть выкинут либо заменен.
4) ваша аналогия кривая, как сам системд.
> что такое "состояние системы" ?В данном случае — набор задач, которые выполняет (или считает выполненными) системный менеджер. rc-status в openrc, systemctl list-units в systemd.
> все зашедуленные задачи в кронтабах.
Как заставить крон дампнуть всё это? Как быть с относительными таймерами, реализованными в shell-портянках sleep'ами?
> процесс, нуждающийся в watchdog - дефектный
Мы живём в неидеальном мире и иногда имеем что имеем.
> 1) что такое "состояние системы" ? разверните буллшит термин до уровня "пощупать
> руками" и сразу поймете что с этим делать.Система - подложка для запуска тех или иных сервисов. Я хочу знать что и почему запущено, по каким критериям, нормально ли это работает и проч.
> 2) все зашедуленные задачи в кронтабах.
Проблема в том что это - не там же где запуск программ. И мне надо два раза конфигурацию одного и того же по смыслу. Не то чтобы это сильно удобно и практично, и больше точек возможных ошибок.
> 3) процесс, нуждающийся в watchdog - дефектный и должен быть выкинут либо заменен.
Да, и космические частицы втыкающиеся в процессоры запретить. Даешь сферических коней в вакууме.
Извините, я не верю в should never happen. Хоть и делаю системы работающие без сбоев годами, но при достаточном количестве систем какая-нибудь странная фигня будет временами случаться. Если машины ее парируют сами без участия людей это хорошо и правильно.
> 4) ваша аналогия кривая, как сам системд.
А по моему - в самый раз. Для меня это ощущается как-то так. Хоть я и согласен что поцтер что-то слишком уж разогнался с фичами. Скажем всякие сети и timesync ну вот реально опциональны. ЧСХ их как раз и можно выпилить к чертям если оно не надо. У демьяна в последних вариантах вообще timesyncd отдельный пакет и можно альтернативы вкатить, хоть тот же openntpd или что там кому нравится.
Я тут написал простенький обходчик файловой системы на Scheme Shell, а потом портировал его на Chibi. В целом, работает довольно быстро, даже при том, что я местами использую lset.https://gitlab.com/Lockywolf/scsh-xattr-mindmap
> В прошлый раз уже пришли к выводу,_кто_ пришел к выводу ?
"я и два моих коллеги - опытные копипастеры со stackoverflow" ?> что баш это в первую
> очередь про удобство (те же массивы незаменимы, хоть и жрут память),как говорил Сталин "нэзамэнимых у нас нэт".
awk - не разжирел (в отличие от perl). gawk на пути к.
> _кто_ пришел к выводу ?Тот, к кому обращались, не влезайте в чужие разговоры.
> Тот, к кому обращались, не влезайте в чужие разговоры.вы не модератор, чтобы указывать мне.
про якобы незаменимые массивы есть чо ?
Я думаю, все, кто пробовали заменять массивы строками (и в частности ассоциативные массивы строками), прекрасно понимают, что с эмуляцией массивов не так. Банально вопрос удобства и скорости. Кроме того, у баша есть интересные возможности в set и shopt, которые позволяют в значительной пере заменить полноценные скрипты на том же питоне. А так, читаемость конструкций со, скажем, <<<, значительно выше убогой лапши с пайпами.
про якобы незаменимые массивы есть чо ?
https://www.opennet.ru/openforum/vsluhforumID3/122620.html#153
я не смог портировать этот однострочник на csh/tcsh. стыдно.
> я не смог портировать этот однострочник на csh/tcsh. стыдно.что-то вроде такого, я тоже охренел с ограниченности и неудобности
#!/bin/tcsh
set D = 1
while ($D < 1000000)
set D = `expr $D + 1`
end
>я говорю, что их любимые шеллы СЛИШКОМ РАЗЖИРЕЛИСемёныч, command.com - фсё твое.
> command.comфу бхх, фу нхх.
4dos/4os2/4nt.
4bsd4bsd забыл
> 4bsd забылу вас недержание комментов или вы просто глупый человек ?
en.wikipedia.org/wiki/4DOS
en.wikipedia.org/wiki/4OS2
en.wikipedia.org/wiki/4NT_(shell)
DOS/4GW?
Причём здесь расширитель доса?
> Причём здесь расширитель доса?Может ему 640 килобайтов мало. Мало ли.
а насколько сложно перенастроить сабж на использование дефолтных (т.е тех что в гуевых фм) кейбиндов? А то что ни терминальная тулза - то либо для одних сектантов (вимомская раскладка), либо для других (емаксовая раскладка)
Нужно просто взять отпуск на месяц и наконец выучить раскладку одной из сект.
Ну нет уж, отпуск на это сектанство тратить. Выучить можно в рабочее время, что я и делаю (Emacs).
На самом дели эти консольные ФМ быстрее и удобнее гуёвых если научиться.
Единственное чего не хватает - миниатюры всех картинок и видео в дирректории, но это не всем нужно
Минут 5
И ещё чуть-чуть, чтоб конфликты в ssh-сессии разрулить.
> а насколько сложно перенастроить сабж на использование дефолтных (т.е тех что в
> гуевых фм) кейбиндов?Ну, возьми сорец да отрихтуй. Я как раз в подобной штуке по локоть...
Лучше ranger'a?
По функциональности - хз. По скорости/удобству - намного.
Ну да, ranger написан ведь на питоне, запускается с задержкой.
Да и .gif файлы не проигрывает. Нужно поменять тогда на этот nnn.
Не слабая порнография. Прямо дыхнуло затхлым подвалом и зелеными циферками на черном выпуклом мониторе. Молодежь, вы принципиално ненавидите прогресс и эволюцию или просто так само выходит?
на маке у меня вообще MC, потому что привычный и удобный. Я более дружелюбного файлового менеджера не нашёл.p.s. я не из этих если что, у меня работа без мака не конпелируется, от техники аппл у меня рвота.
Дружелюбный??? Это тот, у которого из коробки нет горячих клавиш на сортировку? Ну-ну.
> Дружелюбный??? Это тот, у которого из коробки нет горячих клавиш на сортировку? Ну-ну.А вы так часто меняете порядок сортировки, что это надо хоткеями оформлять? У меня вот есть более-менее статичные предпочтения, когда мне удобно быстро локализовывать то что я ищу. Остальное - сильно специальные эпизодические случаи.
Так то оптимизировать надо частые операции, а не то что раз в полгода случается. В этом миднайт вполне себе.
>> Дружелюбный??? Это тот, у которого из коробки нет горячих клавиш на сортировку? Ну-ну.
> А вы так часто меняете порядок сортировки, что это надо хоткеями оформлять?Да. Обычная сортировка - по имени, иногда по времени изменения надо, иногда по размеру...
> Да. Обычная сортировка - по имени, иногда по времени изменения надо, иногда по размеру...Ну вы сами сказали - "иногда". Не настолько частая операция чтобы рассматривать это как большую проблему.
>> Да. Обычная сортировка - по имени, иногда по времени изменения надо, иногда по размеру...
> Ну вы сами сказали - "иногда". Не настолько частая операция чтобы рассматривать
> это как большую проблему.А иногда за минуту 10 раз надо.
В любом случае, назвать mc дружелюбным нельзя.
После far так ещё и убогим назвать можно.
прогресс, надо понимать, по отрисовке круглых батонов
Подскажи, как твой прогресс будет запускаться на 3.5M памяти.
Эволюция у нас такая что некоторые люди превращаются обратно в обезьян, а обезьяны превращаются в рыб
Нужно тренировать вторую сигнальную систему, чтобы двигать прогресс.Если ты думаешь, что прогресс — это когда ты мышкой перетащил иконку с одной панели на другую и оно само раздеплоилось — просто знай, что, чтобы это всё работало, тысячи людей сидели в консоли, текстовых редакторах и отладчиках.
Да это виндузятник был залётный, уже проходит процедуру вычистки.
Всё тот же странный персонаж с болгарского IP -- бывший укр, что ли...
Может быть VPN использует. В Болгарии насколько знаю хорошо пиратить и офшорить, вобщем страна за анонимность.
Не рассказывай ему про ВПНы, пусть дальше программирует на БАШе :)
Как показывает практика зеленые циферки на черном монит^W фоне это и есть вершина эволюции. gui хоть и нашел свою нишу (вроде видео и графических редакторов), но все никак не избавится от критичных проблем: разнородность, отсутствие толковых стандартов (только местечковые, drag&drop все еще в моде? Никогда не знаешь где он поддерживается и как, заранее не значешь что будет в графическом буфере обмена - картинка, ее название, путь к ней и т.д.), сложность в программировании, околонулевая автоматизация (компьютер придумали чтобы он работал вместо людей, gui вернул все обратно), еще и ресурсы жрет. В 90% случаев при равных параметрах (если не сравнивать штат высокооплачиваемых разработчиков и энтузиаста одиночку пишущего по выходным) консольный софт работает стабильнее, быстрее, его гораздо быстрее дописать, протестировать, автоматизировать и в возможностях он будет шире (имеется в виду в тех возможностях, которые зависят от интерфейса пользователя). Уже прошло 40+ лет и за последние 20 лет прогресса я не видел (даже наоборот видел существенный откат в основном из-за мобилок и веба, клиенты на электроне передаю вам привет).
хорошо сказал, причем зеленые циферки это не просто шел, а нечто большее, но плавающий на поверхности проруби gui не дает работать с более глубокими концепциями
товарищ, орфографею подтяните, прежде чем шелл ругать.бо вы такой "не слабая" и "принципиално". а шелл вам "принципиално: command not found"
1. clone a random online [git] repo
2. compile and run
3. Nothing could go wrong.Вот так люди теряют биткойн кошельки, деньги с банковских аккаунтов, майнят для других койны и превращают свои компы в ботнеты.
// b.
Говорят, очень помогает читать код до того как бросаться его канпилять. А при неуверенности в этом - можно ему виртуалку подсунуть. Ах да, можно с пустым биткоин кошельком и просьбой что-нибудь на него перевести, чтобы потроллить умника.
тупое название. почему-то приходит в голову "МММ"
Во-во, и мне тоже самое пришло :)
Зачем, если есть mc
А действительно чем он лучше mc?
mc forever...
far forever ...
>far forever ...Поделие Рошала не нужно.
> в форме плагина для vim.Ещё одно уг? Фтопку.
Каждый уважающий себя перец вместо nnn конечно же выберет fff!
(https://github.com/dylanaraps/fff)
> подходящего для использования на маломощных устройствах,
> имеющих ограниченные ресурсы (потребление памяти около
> 3.5MB, а размер исполняемого файла 100KB)Да... уж... ограниченные ресурсы... 3.5 метра памяти для файлового менеджера 🤔 - это у современных программистов теперь наверно считается - мало. 🤦♂️
Из времён, когда был популярен лозунг "640 кб хватит на всех", припоминаю Volkov Commander, которому и 640-то было не надо, а выглядел пофичастее... 🕺
А ещё в те времена люди не использовали Unicode-пиктограммы в тексте и работали с однобайтными кодировками.
> А ещё в те времена люди не использовали
> Unicode-пиктограммы в тексте и
> работали с однобайтными кодировками.Устыдил...! :-)
> Из времён, когда был популярен лозунг "640 кб хватит на всех", припоминаю
> Volkov Commander, которому и 640-то было не надо, а выглядел пофичастее... 🕺Он, вроде, на асме писан, да и не портабелен наверняка. Так что удачи сие запустить на вон том роутере с 32 рамы или одноплатнике армовском, где такое было бы востребовано.
Вообще, пардон, в досе фич было мизер а проги нередко на асме хреначили. И как бы оно эффективно, но имело и свои слабые стороны, в виде отсутствия фич (хотя-бы многозадачности или системы прав доступа) и прибитости к x86. Тогда еще 16-битному, к тому же. Так что 640 килобайтов не только хватит всем - вы, цуко, очень сильно отделно задолбаетесь работать с большими кусками данных. Вплоть до того что линейный массив на 10 мегабайтов в такой абстракции вообще сильно отдельное приключение. И между нами, мало кто скучал по всему этому миндфаку с сегментами.