Re: «Единственный мне известный логичный язык - это Tcl» (was: Firefox неправильно восстанавливает запомненную при выходе позицию)

2019-09-29 Пенетрантность Vladimir Zhbanov
On Sun, Sep 29, 2019 at 08:23:47PM +0300, Dmitry Alexandrov wrote:
> Victor Wagner  wrote:
> > В Sun, 29 Sep 2019 12:16:57 +0300 Eugene Berdnikov  пишет:
> >> Короче, Bourne shell это тяжкий груз наследственности.
> >
> > Любая система, получившаяся сколько-нибудь широкое распространие - это 
> > тяжкий груз наследственности.
> 
> > Единственный мне известный логичный язык - это Tcl
> 
> «Схема» предельно логична.  Да и вообще, пожалуй, любой Лисп будет пологичнее 
> Тикля.

"Что мне нравится в Тикле, так это Тикей" :-)
(Вспоминая дискуссию, начатую RMS...)

После знакомства с обоими Tcl/Tk и Scheme, я выбрал второй вариант
(Tk мне очень понравился, всё же). Но, ёклмн, почему-то люди очень
пугаются, когда скобка ставится не перед первым параметром, а
перед названием функции, и нет запятых и точек с
запятой... "Просто кош(мар);[1] какое-то..."

[1] (Кош (ка) Мар (уська))

-- 
  Vladimir

(λ)επτόν EDA — https://github.com/lepton-eda



Re: Firefox неправильно восстанавливает запомненную при выходе позицию

2019-09-29 Пенетрантность Vladimir Zhbanov
On Sun, Sep 29, 2019 at 10:50:02PM +0300, Andrey Jr. Melnikov wrote:
...
> PS: Спор то ниочем. Из всех шеллов, которые есть в природе - 95% замшелый 
> шлак,
> сохраняющий совместимость с тем, что уже давно померло. Да, это наверное
> круто, что написанный сейчас xdg-open можно запустить на тазике 1992 года
> выпуска. Только вот нахрена? И что он там сделает?

Если бы все люди предпочитали одинаковые горшки :-( Но кто-то
запускает ту же самую хрень на Debian, кто-то на Gentoo, Guix,
*BSD... А потом боремся с башизмами.  И сколько времени и нервов
тратится...

-- 
  Vladimir

(λ)επτόν EDA — https://github.com/lepton-eda



Re: Firefox неправильно восстанавливает запомненную при выходе позицию

2019-09-29 Пенетрантность Andrey Jr. Melnikov
Victor Wagner  wrote:
> В Sat, 28 Sep 2019 13:41:09 +0300
> "Andrey Jr. Melnikov"  пишет:

> > Victor Wagner  wrote:
> > > On Thu, 26 Sep 2019 16:14:50 +0300 (MSK)
> > > yuri.nefe...@gmail.com wrote:  
> > 
> > [...]
> > 
> > > Тут мы не на grep экономим, а на test. В смысле на команде
> > > "квадратая скобка". После найденного мной бага #931822 мне очень
> > > хочется у тех, кто не понимает что такое команда квадратная скобка,
> > > в чем ее отличие от  
> > Нет давно такой комманды (в понимании современных shell'ов). Уже
> > давно везде что '[', что 'test' - builtin.

> buitin, не builtin синтаксически это все равно команда с параметрами.
Вопрос - какая. Вот у нас их получается 2 варианта - один POSIX который
прибит в *sh, второй /usr/bin/{[,test} который с башизмами. И зная различия
в этих командах - можно то выполнить
if /usr/bin/test  && 

> Проблема в том что люди не понимают, что условием в шелловских условных
> конструкциях является не какое-то там выражениеп, а именно
> последовательность шелловских команд, формирующая некий код завершения.
Проблема в том, что всякие стандарты пишут академики. И ни одна
"светлая академическая голова" не придумала банальной вещи - запросить у
чертового шелла какую именно часть POSIX он реализует. Или, раз мы уже всё
равно таскаем за собой '[' и 'test' - при нахождении внутри [ ... ] неизвестных
операторов - считать, что реализация в *sh устарела и вызывать '/usr/bin/[' с
параметрами.

> А [ - это всего лишь такая маленькая команда для проверки часто
> встречающихся условий.

> При этом что в шелле есть логические операции, что в командной строке 
> test есть логические операции и они РАЗНЫЕ.
Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR - они и в
африке AND и OR. И от наличия в каком-то замшелом man'e надписей про 
"deprectated"
- они не зависят. У нас тут бинарная логика, а не квантовые вычисления.

PS: Спор то ниочем. Из всех шеллов, которые есть в природе - 95% замшелый шлак,
сохраняющий совместимость с тем, что уже давно померло. Да, это наверное
круто, что написанный сейчас xdg-open можно запустить на тазике 1992 года
выпуска. Только вот нахрена? И что он там сделает?



Re: «To: undisclosed-recipients:;»?

2019-09-29 Пенетрантность Дмитрий

29.09.2019 20:30, Dmitry Alexandrov пишет:

Дмитрий  wrote:

To: undisclosed-recipients:;

Что это еще за новости, кстати?  В какой это секретный отдел вы там письма 
дублируете? :-)

На Лубянку и в здание Гувера, само собой :-)
Ошибся, оставил поле "Кому:" пустым.



Re: О тонкостях синтаксиса Баша (was: Firefox неправильно восстанавливает запомненную при выходе позицию)

2019-09-29 Пенетрантность Eugene Berdnikov
On Sun, Sep 29, 2019 at 08:19:53PM +0300, Dmitry Alexandrov wrote:
> Eugene Berdnikov  wrote:
> > On Sun, Sep 29, 2019 at 01:18:01AM +0300, Dmitry Alexandrov wrote:
> >> Eugene Berdnikov  wrote:
> >>>  Синтаксически символ [ не является alphanumeric, поэтому он является не 
> >>> нормальным именем команды, а нелепым исключением.
> >>
> >> Почему?  Тут вам не Винда, из запретных для файловых имен символов — 
> >> кажется, только нулевой.
> >
> >  Потому что символ [ ещё является одним из спецсимволов для file globbing,
> 
> Таки нет, сверьтесь с (info "(bash) Pattern Matching").  Особым значением 
> наделено то, что внутри _пары_ квадратных скобок внутри одного слова.  Так 
> что никакого исключения тут предусматривать не надо.

 И юзер всё это должен держать в голове? А также то, что [ может быть именем
 файла, который баш был бы готов запустить (если бы не одноимённый builtin),
 а вот с { и ( это уже не так. Лёгкий вынос мозга... Гораздо легче было бы
 считать, что [] {} () это строго парные синтаксические разделители.
 Тем более что команда [ ну очень хочет получить последним аргументом ].

 Не надо убеждать меня в том, что алгоритм обработки параметров в баше
 непротиворечив. Я говорю о том, что контринтуитивен для тех, кто вырос
 в нашей сложившейся среде и культуре программирования.
-- 
 Eugene Berdnikov



Re: Firefox неправильно восстанавливает запомненную при выходе позицию

2019-09-29 Пенетрантность Eugene Berdnikov
On Sun, Sep 29, 2019 at 07:11:30PM +0300, Victor Wagner wrote:
> В Sun, 29 Sep 2019 12:36:12 +0300
> Eugene Berdnikov  пишет:
> 
> > On Sun, Sep 29, 2019 at 12:31:13PM +0300, Victor Wagner wrote:
> > > Я уж не говорю про остерхутовскую концепцию safe comartments,
> > > которая была создана более 20 лет назад и которая намного лучше и
> > > совершеннее того, что предлагают современные решения для исполнения
> > > недоверенного кода, включая мобильные ОС.  
> > 
> >  Подробнее об этом можно?
> 
> Вообще Остерхут в прошлом году издал книжку "Phylosophy of Software
> Design"
> 
> Но вообще я имел в виду вот эту статью с Usenix 1998 года:
> 
> https://www.usenix.org/legacy/publications/library/proceedings/usenix98/full_papers/levy/levy.pdf

 Пробежался по нескольким первым страницам -- не заметил ничего
 принципиально нового. Системные вызовы заменяются прослойками
 со встроенными фильтрами для контроля доступа, приложения выполняются
 защищёнными интерпретаторами, типа процессов ОС или контейнеров.
 Что тут принципиально отличное от современных подходов?
-- 
 Eugene Berdnikov



Re: «To: undisclosed-recipients:;»?

2019-09-29 Пенетрантность Dmitry Alexandrov
Дмитрий  wrote:
> To: undisclosed-recipients:;

Что это еще за новости, кстати?  В какой это секретный отдел вы там письма 
дублируете? :-)


signature.asc
Description: PGP signature


Re: «Единственный мне известный логичный язык - это Tcl» (was: Firefox неправильно восстанавливает запомненную при выходе позицию)

2019-09-29 Пенетрантность Dmitry Alexandrov
Victor Wagner  wrote:
> В Sun, 29 Sep 2019 12:16:57 +0300 Eugene Berdnikov  пишет:
>> Короче, Bourne shell это тяжкий груз наследственности.
>
> Любая система, получившаяся сколько-нибудь широкое распространие - это тяжкий 
> груз наследственности.

> Единственный мне известный логичный язык - это Tcl

«Схема» предельно логична.  Да и вообще, пожалуй, любой Лисп будет пологичнее 
Тикля.


signature.asc
Description: PGP signature


О тонкостях синтаксиса Баша (was: Firefox неправильно восстанавливает запомненную при выходе позицию)

2019-09-29 Пенетрантность Dmitry Alexandrov
Eugene Berdnikov  wrote:
> On Sun, Sep 29, 2019 at 01:18:01AM +0300, Dmitry Alexandrov wrote:
>> Eugene Berdnikov  wrote:
>>>  Синтаксически символ [ не является alphanumeric, поэтому он является не 
>>> нормальным именем команды, а нелепым исключением.
>>
>> Почему?  Тут вам не Винда, из запретных для файловых имен символов — 
>> кажется, только нулевой.
>
>  Потому что символ [ ещё является одним из спецсимволов для file globbing,

Таки нет, сверьтесь с (info "(bash) Pattern Matching").  Особым значением 
наделено то, что внутри _пары_ квадратных скобок внутри одного слова.  Так что 
никакого исключения тут предусматривать не надо.

>  Да, в случае одиночного [ глоббинг не случится, потому что такой шаблон 
> синтаксически неправилен

Это насколько же «неправильный шаблон», насколько и, скажем, «ls».

>  но вместо того, чтобы выдать сообщение об ошибке в шаблоне, … шелл пойдёт 
> искать бинарий по PATH.

Ну, что ж, прикажем ему выдавать сообщения об ошибках:

$ shopt -s failglob
$ echo [a-z]
bash: no match: [a-z]
$ echo [
[


signature.asc
Description: PGP signature


Re: bash: команда не найдена

2019-09-29 Пенетрантность Dmitry Alexandrov
Дмитрий  wrote:
> 29.09.2019 00:54, Dmitry Alexandrov пишет:
>> mexx400  wrote:
 28 сент. 2019 г., в 23:01, S.Kholodny  
 написал(а):
 Уже который раз натыкаюсь в buster'e на ситуацию, где не могу запустить 
 команду в терминале - выдает "bash: команда не найдена". Точно были 
 hdparm, openvpn, другие пакеты..
>>>
>>> В общем sudo command.
>>
>> В общем — нет.  Не всякой программе из sbin нужны сверхпользовательские 
>> полномочия.
>
> ТС спрашивал про конкретные команды.

Да нет...

> С практической точки зрения sudo command даст ему желаемый результат.
> Например:
> $ hdparm -h
> bash: hdparm: команда не найдена
> Однако:
> $ sudo hdparm -h
> hdparm - get/set hard disk parameters - version v9.52, by Mark Lord.
> Usage:  hdparm  [options] [device ...]
> Options: ...

$ sudo halt -h


signature.asc
Description: PGP signature


Re: Firefox неправильно восстанавливает запомненную при выходе позицию

2019-09-29 Пенетрантность Victor Wagner
В Sun, 29 Sep 2019 12:36:12 +0300
Eugene Berdnikov  пишет:

> On Sun, Sep 29, 2019 at 12:31:13PM +0300, Victor Wagner wrote:
> > Я уж не говорю про остерхутовскую концепцию safe comartments,
> > которая была создана более 20 лет назад и которая намного лучше и
> > совершеннее того, что предлагают современные решения для исполнения
> > недоверенного кода, включая мобильные ОС.  
> 
>  Подробнее об этом можно?

Вообще Остерхут в прошлом году издал книжку "Phylosophy of Software
Design"

Но вообще я имел в виду вот эту статью с Usenix 1998 года:

https://www.usenix.org/legacy/publications/library/proceedings/usenix98/full_papers/levy/levy.pdf

-- 
   Victor Wagner 



Re: bash: команда не найдена

2019-09-29 Пенетрантность Дмитрий

29.09.2019 00:54, Dmitry Alexandrov пишет:

mexx400  wrote:

28 сент. 2019 г., в 23:01, S.Kholodny  написал(а):
Уже который раз натыкаюсь в buster'e на ситуацию, где не могу запустить команду в 
терминале - выдает "bash: команда не найдена". Точно были hdparm, openvpn, 
другие пакеты..

В общем sudo command.

В общем — нет.  Не всякой программе из sbin нужны сверхпользовательские 
полномочия.

ТС спрашивал про конкретные команды. Теорию осветили выше.
С практической точки зрения sudo command даст ему желаемый результат.
Например:
$ hdparm -h
bash: hdparm: команда не найдена
Однако:
$ sudo hdparm -h
hdparm - get/set hard disk parameters - version v9.52, by Mark Lord.
Usage:  hdparm  [options] [device ...]
Options: ...



Re: Firefox неправильно восстанавливает запомненную при выходе позицию

2019-09-29 Пенетрантность Eugene Berdnikov
On Sun, Sep 29, 2019 at 12:31:13PM +0300, Victor Wagner wrote:
> Я уж не говорю про остерхутовскую концепцию safe comartments, которая
> была создана более 20 лет назад и которая намного лучше и совершеннее
> того, что предлагают современные решения для исполнения недоверенного
> кода, включая мобильные ОС.

 Подробнее об этом можно?
-- 
 Eugene Berdnikov



Re: Firefox неправильно восстанавливает запомненную при выходе позицию

2019-09-29 Пенетрантность Victor Wagner
В Sun, 29 Sep 2019 12:16:57 +0300
Eugene Berdnikov  пишет:

> Обычный
> человек, выросший в нашей современной культуре программирования,
> склонен воспринимать [ ... ] как часть синтаксиса, а не думать
> постоянно о тонкостях трактовки параметров со множеством неочевидных
> "волчьих ям" (piffalls).
> 
>  Короче, Bourne shell это тяжкий груз наследственности.

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

Вот возьмем, скажем C, программа на
котором подобна гороскопу - по расположению звездочек в ней программист
пытается понять что произойдет.

Или php. Или концепцию сессии в Unix, которая унаследована со времен
последовательных терминалов и не понимает ни мультимедиа, ни съемных
файловых носителей, контроль над вставкой-выниманием которых у
пользователя.

Логики в ИТ вообще нет. Есть куча исторических напластований, причем с
принципиально разным полаганием у тех, кто создавал разные слои.

Единственный мне известный логичный язык - это Tcl (и то если не брать
многие позднейшие библиотеки вроде BWidget). Но "люди, выросшие в нашей
современной культуре программирования" не читают трехстраничный man Tcl
в котором эта логика изложена, а пытаются действовать "интуитивно" то
есть по аналогии с другими известными им решениями, и ругают Tcl за
quoting hell, хотя правила раскрытия кавычек в нем элементарны, их
изложение укладывается в трех абзацах и исключений НЕТ.

Я уж не говорю про остерхутовскую концепцию safe comartments, которая
была создана более 20 лет назад и которая намного лучше и совершеннее
того, что предлагают современные решения для исполнения недоверенного
кода, включая мобильные ОС.

-- 
   Victor Wagner 



Re: Firefox неправильно восстанавливает запомненную при выходе позицию

2019-09-29 Пенетрантность Eugene Berdnikov
On Sun, Sep 29, 2019 at 01:18:01AM +0300, Dmitry Alexandrov wrote:
> Eugene Berdnikov  wrote:
> > On Sat, Sep 28, 2019 at 11:24:18PM +0300, Victor Wagner wrote:
> >> buitin, не builtin синтаксически это все равно команда с параметрами.
> >
> >  Синтаксически символ [ не является alphanumeric, поэтому он является не 
> > нормальным именем команды, а нелепым исключением.
> 
> Почему?  Тут вам не Винда, из запретных для файловых имен символов — кажется, 
> только нулевой.

 Потому что символ [ ещё является одним из спецсимволов для file globbing,
 и если написать, например, [a-z] то сначала Баш попытается раскрыть это
 выражение, подобрав из текущего каталога файлы "a", "b" ... "z", и только
 если это не удастся, пойдёт искать файл "[a-z]" по каталогам в PATH.
 Да, в случае одиночного [ глоббинг не случится, потому что такой шаблон
 синтаксически неправилен, но вместо того, чтобы выдать сообщение об ошибке
 в шаблоне, классический борновский шелл пойдёт искать бинарий по PATH.
 Всё это контринтиутивно. Обычный человек, выросший в нашей современной
 культуре программирования, склонен воспринимать [ ... ] как часть
 синтаксиса, а не думать постоянно о тонкостях трактовки параметров
 со множеством неочевидных "волчьих ям" (piffalls).

 Короче, Bourne shell это тяжкий груз наследственности.

> >  Перечитал это раз пять, но ниасилил, увы... :)
> 
> Имеется в виду Bash Pitfall № 9 по Вулиджу [0].
> 
> [0] https://mywiki.wooledge.org/BashPitfalls#if_.5Bgrep_foo_myfile.5D

 Спасибо. Да, читается как медицинская карта тяжелобольного.
-- 
 Eugene Berdnikov