Про пользовательские сессии в MS Windows

migel

Объясните плиз на пальцах в чем по смыслу отличаются консольная сессия от не консольной?
к кроме того что к консольной надо подключаться ключом "-0" или "\console"
Интересен также ответ на вопрос: можно ли локально законектится к неконсольной сессии? (заведенной например удаленно)

disna

также было бы неплохо узнать, что такое сессия

juliuzz

можно ли локально законектится к неконсольной сессии? (заведенной например удаленно)
логинишься локально под тем же юзверем и удалённого выкидывает

Dasar

консольная сессия - только одна, и подразумевает, что это как бы тот пользователь, что сидит непосредственно за компьютером.
из-за того, что она только одна, то если уже какой-то пользователь сидит под консолью, то новый, зашедший под консолью пользователь, вышибает старого.
основное системное отличие - это то, что с рабочим столом консольной сессии могут взаимодействовать системные службы.
основное пользовательское отличие - консольного пользователя можно вышибить удаленно, неконсольного пользователя вышибить удаленно нельзя (необходимо сначала залогиниться)
> Интересен также ответ на вопрос: можно ли локально законектится к неконсольной сессии? (заведенной например удаленно)
можно попробовать в TaskManager-е открыть юзеров, и сказать connect

Dasar

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

Marinavo_0507

> основное системное отличие - это то, что с рабочим столом
> консольной сессии могут взаимодействовать системные службы
сессия ни разу не консольная

Troyn09

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

подразумевает да, но это не обязательно
основное пользовательское отличие - консольного пользователя можно вышибить удаленно, неконсольного пользователя вышибить удаленно нельзя (необходимо сначала залогиниться)
это не так

migel

Спасибо!
можно попробовать в TaskManager-е открыть юзеров, и сказать connect

мм.. интересный финт, вечером попробую

migel

это не так
поясни плиз

Troyn09

Terminal Services Manager

Andbar

сессия ни разу не консольная
Кто мешает запустить службе приложение в неконсольной сессии?

Marinavo_0507

> Кто мешает запустить службе приложение в неконсольной сессии?
Если никто не мешает, и оно запускается без желания пользователя, тогда в чём отличие?

Andbar

это уже будет приложение, работающее не как сервис.
Из других различий - любое приложение, по идее, может послать мессадж бокс с параметром MB_SERVICE_NOTIFICATION...

Marinavo_0507

то уже будет приложение, работающее не как сервис
в чём отличие для пользователя?
и зачем такое приложение запускается, если я не админ, сессия не консольная, и вообще все ответы запрещены?
Из других различий - любое приложение, по идее, может послать мессадж бокс с параметром MB_SERVICE_NOTIFICATION...
других различий между чем и чем?

Andbar

и зачем такое приложение запускается, если я не админ, сессия не консольная, и вообще все ответы запрещены?
Я вообще-то не знаю, нафига там было запрещать закрытие... Можешь написать багрепорт в мелкософт, чтобы убрали с очередным апдейтом.

Marinavo_0507

Я вообще-то не знаю, нафига там было запрещать закрытие...
Лучше скажи, зачем оно вообще появляется?
Это ведь неспроста, кто-то специально должен был написать код для "запуска приложения, не являющегося сервисом".

migel

можно попробовать в TaskManager-е открыть юзеров, и сказать connect
был послан(
говорит, нельзя отключаться от консольной сессии.
Больше способов никто не знает?

Dasar

сессия ни разу не консольная
и где ты там увидел системную службу?
обычный юзерский message box.

Marinavo_0507

> и где ты там увидел системную службу?
Windows Update - не системная служба?
> обычный юзерский message box.
Я его не заказывал. Его даже закрыть нельзя.

Dasar

это не так
каким образом можно вышибить неконсольного юзера?

Troyn09

Terminal Services Manager можно вышибить любого юзера

Dasar

> Я его не заказывал. Его даже закрыть нельзя.
как это отменяет тот факт, что это обычный юзерский message box?
для системной службы работающей в интерактивном режиме все открытые окна будут выводиться на консольную сессию.
раньше многие программы, работающие как сервисы, например, антивиры, работали именно в таком режиме.

Dasar

Terminal Services Manager можно вышибить любого юзера
так он же только на сервере и есть... т.е. сначала нужно зайти на сервер.

Troyn09

он входит в пакет AdministrationToolsPack и прекрасно ставится на XP

Marinavo_0507

как это отменяет тот факт, что это обычный юзерский message box?
с моей точки зрения, как юзера, он необычный
во-первых, он не связан с моими действиями и вообще предназначен для админа, а не меня
во-вторых, я не могу его закрыть
для системной службы работающей в интерактивном режиме все открытые окна будут выводиться на консольную сессию.
раньше многие программы, работающие как сервисы, например, антивиры, работали именно в таком режиме.
а ещё раньше:
winnt была основана на микроядре;
драйверы работали в непривилегерованом кольце защиты;
и т.п.
получается,
в теории вроде бы есть различие между сервисами и пользовательскими приложениями,
а на практике лезут окна куда попало
и всё у вас так

Dasar

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

Marinavo_0507

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

Ivan8209

> интерактивный режим работы сервисов - для бедных,
А как же наглядность?
> т.к. даже пользователи периодически хотят запускать
> даже обычные проги в режиме сервиса
"Демонов вызывали?"
Как же так? Это же почти ком. строка получается!
Что-то работает, а мышкой ткнуть в него не получится.
> разрабатывать все сервисы в виде клиент/сервер довольно накладно.
А как же всесильная ООП?
Или "MVC" не входит в лексикон боевиков?
---
...Я работаю антинаучным аферистом...

migel

а как локально сидеть под неконсольной сессией мне по-прежнему интересно.......

vbgt99912

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

Dasar

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

Dasar

А как же всесильная ООП?
проблема в том, что основные языки вчерашнего дня: C++/vb/delphi - не поддерживают reflection(или поддерживают в убогом виде) и не могут предложить возможность автоматической сериализации данных между процессами, соответственно разрабатывать клиент/серверные приложения намного дороже, чем "одно-флаконные" приложения

Marinavo_0507

просто сказали, что в винде есть режим работы сервисов в интерактивном режиме, но его лучше использовать только в крайнем случае.
нужно многопользовательскую систему перезагрузить
если это не крайний случай, тогда что крайнее?
вопрос то какой?
повторю ещё раз
какого хрена вылезает такое окно, если сессия не локальная, и я не админ?
оно ведь не само вылезает, это кто-то специально запрограммировал юзерское приложение (сервис-то и так есть, сам по себе и сделал, чтобы оно показывало окна; при этом стандартным способом не воспользовался, сделал через жопу
я подозреваю, что причина та же, по какой отложенные задания команда at запускает с привилегиями system:
просто необразованным девелоперам никто не объяснил, зачем были придуманы пользовательские аккаунты и разграничение доступа - на лекции они не ходили, а сами соображать не привыкли - так как некогда, нужно работу работать и деньги зарабатывать

Dasar

повторю ещё раз
какого хрена вылезает такое окно, если сессия не локальная, и я не админ?
потому что всем юзерским сессиям посылается сообщение "хочу перегрузиться", и это вообще никаким образом к сервисам не относится.

Dasar

я подозреваю, что причина та же, по какой отложенные задания команда at запускает с привилегиями system:
просто необразованным девелоперам никто не объяснил, зачем были придуманы пользовательские аккаунты и разграничение доступа - на лекции они не ходили, а сами соображать не привыкли - так как некогда, нужно работу работать и деньги зарабатывать
основная проблема - это когда старые фишки прикручивают к новым фишкам.
и сообщение "перезагрузить" и at - это не то, что старые фишки, это скорее древние фишки

Marinavo_0507

потому что всем юзерским сессиям посылается сообщение "хочу перегрузиться", и это вообще никаким образом к сервисам не относится
скачивает обновление именно сервис, значит и оповещения проистекают от него
остальное - детали реализации, я в них не разбираюсь, вижу только результат - и он кривой донельзя

Dasar

скачивает обновление именно сервис, значит и оповещения проистекают от него
Ты ошибаешься
с той же командой shutdown это можно сделать и без всяких сервисов

Marinavo_0507

Service Name: Wuauserv
Process Name: svchost.exe -k netsvcs
Microsoft Service Description: Enables the download and installation of Windows updates. If this service is disabled, this computer will not be able to use the Automatic Updates feature or the Windows Update Web site.

Marinavo_0507

> основная проблема - это когда старые фишки прикручивают к новым фишкам
основная проблема - это когда девелоперы прикручивают что-то к чему-то, не разбираясь ни в том, ни в другом

Troyn09

основная проблема в разработчиках, так всегда было

Marinavo_0507

основная проблема в разработчиках, так всегда было
ну вообще считается, что в Microsoft очень хорошие разработчики
из многих источников сообщается, что они отбирают таланты со всего мира
если они не осиливают использовать свои же API, чтоб сделать нормально, чего можно ожидать от софта под винду от третьих фирм?

Troyn09

не знаю кто так считает, но я считаю наоборот
хотя часто на прогеров сильно влияют маркетологи-манагеры, а это всегда плохо

Marinavo_0507

хотя часто на прогеров сильно влияют маркетологи-манагеры, а это всегда плохо
я тут постил ссылку на то, как в MS решаются вопросы
вроде тоже выше среднего

Troyn09

запость еще раз плз

Dasar

> Service Name: Wuauserv
и что? где здесь написано, что это он такое сообщение посылает?
сообщение посылает сама винда, которая конечно содержит большие напластования старого кода

Marinavo_0507

у меня тут тред "как работают девелоперы", там было
ещё довольно похожее описание где-то у Joel Spolsky было

Marinavo_0507

> где здесь написано, что это он такое сообщение посылает?
это оригинальный источник сообщения
если он использует неправильный путь для его посылки, значит либо девелоперы использовали не то API, либо правильного вообще нет
> сообщение посылает сама винда
что значит "сама винда"? пресловутое микроядро?

kruzer25

Имеется в виду, что сам сервис никакие сообщения не посылает, а просто говорит "хочу перезагрузить комп".
А сообщения посылает уже та штука, которая перезагружает комп (и которая никак к сервису обновлений не относится).

Marinavo_0507

> А сообщения посылает уже та штука, которая перезагружает комп
То есть, спросить менее кривым способом оно не умеет. К вопросу о Едином API (tm).
А разработчики сервиса обновлений не подумали о том, что делают. К вопросу о Девелоперах.

Dasar

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

Marinavo_0507

> есть древнее системное api для перезагрузки компа, все им и пользуются
Тут кто-то говорил, что Единое API (tm) периодически обновляется.
А здесь и обновлять не надо - достаточно изменить реализацию.

Dasar

да, обновляется
вот longhorn выйдет - посмотрим на что оно там обновилось

Marinavo_0507

Ну да, такой небольшой баг нужно исправлять не менее 5 лет.

Ivan8209

>> А как же всесильная ООП?
> проблема в том, что основные языки вчерашнего дня:
> C++/vb/delphi - не поддерживают reflection (или поддерживают в
> убогом виде) и не могут предложить возможность автоматической
> сериализации данных между процессами, соответственно
> разрабатывать клиент/серверные приложения намного дороже, чем
> "одно-флаконные" приложения
Вот только сказки-то не рассказывай,
что там насчёт RPC, самого лучшего в мире?
---
Q21: что такое Win2k?
A21: состема.

Andbar

Вроде сообщение выдаёт отдельно запущенный процесс (видимо, в контексте пользователя).
Так вот, этот процесс проверяет наличие прав на завершение работы системы и выдаёт окошко.
Тут только одно НО: приложение немного криво написано (имхо, в этом вся загвоздка).
А то, что схема реализована именно таким образом объясняется тем, что пользователь может не иметь возможности в данный момент закрыть все рабочие приложения (например, видео кодит или работает с документами, от которыз не может оторваться и т.д...) Это всё, между прочим, политиками регулируется.

Dasar

Вот только сказки-то не рассказывай,
что там насчёт RPC, самого лучшего в мире?
так проблема в том, что обычный код надо переводить на COM - все равно остается, оверхед по разработке, конечно, намного меньше, чем с голым rpc, но все равно - есть.

Marinavo_0507

так проблема в том, что обычный код надо переводить на COM
В Графической ОС (tm) и так весь нормальный код надо переводить в событийно-ориентированный, однако с этим как-то справились.
А чтоб послать сообщение тем, кому это надо, никакой код никуда переводить не нужно - достаточно одной функции.
ExitWindows или как там его осилили как-то, за 20 лет (?) можно было бы и замену придумать. Или использование 20-летнего говна - это типа и есть Инновации(tm)?
Также можно добавить, что такие дыры, как с командой at, в нормальных ОС исправляются за сутки, а не за пятилетки.

kruzer25

А разработчики сервиса обновлений не подумали о том, что делают. К вопросу о Девелоперах
В линуксах Девелоперы, надо полагать, не удовлетворяются интерфейсом, и, пока им не скажут, как же реализовано предоставленное апи - не приступят к делу? Ну так они никогда не напишут более-менее сложное приложение - ведь надо будет всё прослеживать до самого ядра.
В винде с этим по-другому - "вот вам интерфейс, чтобы перезагрузить винду, используйте эту команду, а что она делает - не ваше дело, вы сервис обновлений пишете, а не хз что".

Marinavo_0507

У Девелоперов есть примеры правильного использования нужного API, написанные Программистами. А Программист может и документацию по архитектуре прочитать, и в исходники заглянуть, а главное - понять то, что там увидит.
В Windows же даже эталонные примеры работают неправильно, а исходников нет - поэтому продукты третьих фирм крайне отстойные, за исключением случаев, когда оные фирмы изобретают все свои API сами (обычно это мультиплатформенные приложения) - но тогда они всё равно отстойные в плане интеграции с продуктами Девелоперов.

Marinavo_0507

В винде с этим по-другому - "вот вам интерфейс, чтобы перезагрузить винду, используйте эту команду, а что она делает - не ваше дело, вы сервис обновлений пишете, а не хз что".
Вот именно: качество результата - не дело девелоперов.

kruzer25

качество результата - не дело девелоперов.
Качество результата, сделанного самим девелопером - его дело.
А качество тех методов, которые он использует, в их текущей имплементации/качество ОС/качество процессоров - действительно не его дело.

Ivan8209

Исходно было это:
DG> основные языки вчерашнего дня:
DG> C++/vb/delphi
> проблема в том, что обычный код надо переводить на COM
Теперь расскажи, чем таким не-COM пользуются пишущие
на языках "вчерашнего дня," что код надо _переводить_?
---
...Я работаю антинаучным аферистом...

Marinavo_0507

> Качество результата, сделанного самим девелопером - его дело.
От повторения этой мантры наколенная поделка, сделанная в стиле студенческой курсовой, не станет професииональным продуктом, за который выдаётся.

Dasar

Также можно добавить, что такие дыры, как с командой at, в нормальных ОС исправляются за сутки, а не за пятилетки.
дыра-то в чем? что админ может получить права системы? так это можно и без команды at сделать...

Dasar

Теперь расскажи, чем таким не-COM пользуются пишущие
на языках "вчерашнего дня," что код надо _переводить_?
как минимум C++ (чего только хотя бы строки стоят, не говоря уже про коллекции, объекты и т.д. в delphi/vb с дефолтной поддержкой com-а чуть получше, но ком-сервер за пять копеек тоже хрен объявишь.

Dasar

В Графической ОС (tm) и так весь нормальный код надо переводить в событийно-ориентированный, однако с этим как-то справились.
так и с этой проблемой и справились - сделав .net.

Marinavo_0507

как минимум C++ (чего только хотя бы строки стоят, не говоря уже про коллекции, объекты и т.д. в delphi/vb с дефолтной поддержкой com-а чуть получше, но ком-сервер за пять копеек тоже хрен объявишь.
Microsoft умеет придумывать только такие API, которыми нельзя просто воспользоваться, а нужно переписывать весь код.
Девелоперов приходится завлекать на такое API подбрасыванием стульев.

Dasar

> Microsoft умеет придумывать только такие API, которыми нельзя просто воспользоваться, а нужно переписывать весь код.
где шла речь про весь код?
и назови, пожалуйста, пример гениального такого API когда код переписывать под него не надо?
под api, вообще-то, код всегда надо переписывать. переписывать код не надо только если фича встроена с самого начала.

Marinavo_0507

> что админ может получить права системы?
только ли админ? по моей информации - нет
> так это можно и без команды at сделать
в то время как другие ОС в XXI веке уже кое-что знают про ролевые политики разграничения доступа

Marinavo_0507

> так и с этой проблемой и справились - сделав .net.
Можно подумать, что с 1990 до появления .net графических приложений не было.

Dasar

> Можно подумать, что с 1990 до появления .net графических приложений не было.
речь шла про прозрачный rpc, а не про gui

Marinavo_0507

> речь шла про прозрачный rpc, а не про gui
Нет. Отмотка треда - $50.
P.S. А, у тебя там лишнее "и" походу, что приводит к неоднозначному распознаванию смысла.
Ну так не справились с проблемой, раз с системой идёт автоапдейтилка, использующая устаревшие функции.

saveliev_a

только ли админ? по моей информации - нет
А кто еще?

Dasar

> только ли админ? по моей информации - нет
значит хреновый у тебя источник информации.
at - это winnt команда для админов, в xp/2000/2003 сохранена для совместимости, чтобы продолжались выполняться написанные ранее скрипты.
для постановки задач под xp/2000/2003 рекомендуется использовать команду Schtasks.
все это кстати написано в документации

Dasar

> Ну так не справились с проблемой, раз с системой идёт автоапдейтилка, использующая устаревшие функции.
я правильно понимаю, что ты хочешь привести пример системы которая обновляется быстрее, чем windows?

Marinavo_0507

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

Marinavo_0507

> значит хреновый у тебя источник информации
может быть, или я что-то не так понял
> at - это winnt команда для админов
а, это в той winnt, которая продвигалась как "лучший unix, чем unix"?

kruzer25

> Качество результата, сделанного самим девелопером - его дело.
От повторения этой мантры наколенная поделка, сделанная в стиле студенческой курсовой, не станет професииональным продуктом, за который выдаётся.
То есть,Э чтобы сделанный девелопером результат великий перенёс из разряда "наколенная поделка, сделанная в стиле студенческой курсовой" в что-нибудь получше, девелопер должен выкурить всю реализацию всего того, что он использует, вплоть до ядра ОС и устройства процессора, а ещё лучше - написать всё это сам?
Тогда понятно, зачем вам в линуксах исходники ядра - чтобы девелопер мог гордо сказать "я прочитал исходники ядра, теперь я знаю, как именно происходит выделение памяти приложениям, и могу с чистой совестью эту память в своём приложении запросить (потому что исходники компилятора языка я тоже заботал, и знаю, во что он мою команду переведёт".
Только в нормальных ОС с этим гораздо проще - достаточно сказать "ОС предоставляет механизм для выделения памяти, это такая-то команда" - и разработчик пишет рабочее приложение, не завися от конкретной реализации (а что будет, если выйдет новая версия ядра? Разработчику под линукс придётся курить все исходники по-новой?)
А если есть какие-то косяки в реализации какой-то команды WinAPI (или другого API) - разработчику не надо об этом беспокоиться, не надо самому исправлять эту ошибку (вместе с тысячей других разработчиков, которые исправят её другим способом не надо писать реализацию этой команды самому с нуля - надо всего лишь сказать пользователям "на машинах под управлением старых версий Windows есть такой-то косяк, МС его исправила в таком-то апдейте" (точнее, даже и это-то пользователям говорить не надо, это им скажет МС).

Dasar

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

Marinavo_0507

> ты уверен, что ты действительно работал со студенческими поделками?
Вполне. Правда, студенты быстро выпускаются и уходят.
Если бы они работали фуллтайм несколько лет, получилось бы что-то вроде Графической ОС(tm).

kruzer25

Ну так не справились с проблемой, раз с системой идёт автоапдейтилка, использующая устаревшие функции
Надо полагать, в Настоящих ОС нет устаревших частей, если они и обновляются - то сразу целиком?
Мне вот что-то в голову ни одной такой ОС, чтобы в новой версии не было никакого наследия старой, не приходит (ОС, выпустившие только одну версию - не в счёт).

Marinavo_0507

> Надо полагать,
Нет, не надо.

kruzer25

Нет, не надо.
А что тогда надо?
Просто из твоих слов именно то, что я там написал, и следует.
Не знаю, как у тебя там, но по-моему, завязываться на реализацию используемого интерфейса - дико неправильный подход, а смотреть на реализацию интерфейса - просто неправильный (потому что тратится лишнее время на какую-то фигню - посмотреть в целях образования к этому не относится; и потому что в мозгах работаешь уже не с интерфейсом, а с этой конкретной реализацией - пользуешься какой-нибудь функцией не с целью получить результат, о котором сказано в её описании в интерфейсе, а с целью сделать то, что она делает в данной конкретнрой реализации).

Marinavo_0507

а смотреть на реализацию интерфейса - просто неправильный (потому что тратится лишнее время на какую-то фигню - посмотреть в целях образования к этому не относится
именно - при работе девелопером образование только мешает
так и получаются Графические ОС

Marinavo_0507

> А что тогда надо?
В правильных ОС не изобретают новое несовместимое Единое API(tm) с каждым релизом, и потому можно пользоваться старыми функциями и получать адекватный результат.
А в графической ОС образца 2003 года, напротив, старая функция перезагрузки работает неправильно, и это никто не исправляет, потому что через 5 лет всё равно ожидается Longhorn, в котором всё будет по-другому.

Ivan8209

>> Можно подумать, что с 1990 до появления .net
>> графических приложений не было.
> речь шла про прозрачный rpc, а не про gui
Чудо, если у тебя плохая память, отлистывай назад или пользуйся
блокнотом, RPC появился именно потому, что у виндузятников нет
понятия о технологии front-end/back-end, известной в униксе
со времён основания, когда винды ещё и в проекте не было.
Ты кичишься прозрачным RPC, которого более, чем достаточно
для MVC, но последнего --- нет. И ни хвалёные разработчики
из Микрософта, ни ты про это не удосужились даже подумать.
---
...Я работаю антинаучным аферистом...

Ivan8209

> а что будет, если выйдет новая версия ядра?
А что произошло с виндой, когда вышла новая версия ядра?
Ну, к примеру, расскажи про переход от NT 4 к NT 5.
---
...Я работаю антинаучным аферистом...

Ivan8209

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

kruzer25

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

kruzer25

В правильных ОС не изобретают новое несовместимое Единое API(tm) с каждым релизом
Ну вот, получается, винда - правильная ОС (единственный переход - с WinAPI на .NET, при этом, в принципе, никто не запрещает пользоваться старым WinAPI).
старая функция перезагрузки работает неправильно, и это никто не исправляет, потому что через 5 лет всё равно ожидается Longhorn, в котором всё будет по-другому
Ага - ожидается Longhorn, в котором эта функция перезагрузки уже будет работать правильно.

kruzer25

Ну, к примеру, расскажи про переход от NT 4 к NT 5
Думаю, ничего страшного не было.
Я имею в виду, когда человек смотрит - "так, функция shutdown - вот её исходники, она делает А, а потом делает Б", и пишет своё наколенное ПО, держа в голове не то, что функция shutdown вообще-то выключает комп, а то, что она делает А, а потом - Б.
И, если в следующей версии реализация поменяется, и функция shutdown сначала сделает Б, а потом А (или вместо А сделает А') - работать она будет по прежнему так, как сказано в старой документации, но вот программа, которая рассчитывала на старую реализацию, работать перестанет.

Ivan8209

>> Ну, к примеру, расскажи про переход от NT 4 к NT 5
> Думаю, ничего страшного не было.
Это ты думаешь.
> Я имею в виду, когда человек смотрит - "так, функция shutdown -
> вот её исходники, она делает А, а потом делает Б",
> и пишет своё наколенное ПО, держа в голове не то, что
> функция shutdown вообще-то выключает комп, а то, что
> она делает А, а потом - Б.
В винде с этим всё проще: документации нет, а потому
"человек" смотрит, что функция делает это и это. То, что
функция не та, которая ему нужна, не имеет значения,
потому что документации нет или почти что нет.
---
"Мы диалектику учили не по Гегелю."

Marinavo_0507

> работать она будет по прежнему так, как сказано в старой документации,
В старой документации было сказано, что эта функция будет показывать диалоги, где нельзя выбрать ни один пункт?
Не работает твоя теория.
> держа в голове не то, что функция shutdown вообще-то
> выключает комп, а то, что она делает А, а потом - Б
Эта ложная альтернатива, существующая только в ослабленном мозгу девелопера, который забыл, что нормально умственно развитый человек может оценить ситуацию в целом. А мозг его ослаблен, потому что
> посмотреть на реализацию в целях образования",
> и "посмотреть на реализацию используемого мной интерфейса,
> чтобы знать, как именно реализовано то, что я использую" -
> разные вещи; и я против второй, но не первой
то есть девелопер явно отделяет свою работу от получения знаний о том, с чем работает.

kruzer25

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

kruzer25

В винде с этим всё проще: документации нет, а потому
"человек" смотрит, что функция делает это и это
Метод тыка, что ли?
Странно, я на такое в винде не натыкался; а MSDN, всё-таки, хороший источник информации о том, что должна делать какая-нибудь функция и для чего её нужно использовать.

Marinavo_0507

Вот вследствие такого подхода продукты профессионалов успешно соперничают по косякам и недоделкам с любительскими наколенными поделками.

kruzer25

по косякам и недоделкам
По косякам и недоделкам продукта профессионала, или внешней среды (глюков ОС/железа)?

Ivan8209

> а MSDN, всё-таки, хороший источник информации о том,
> что должна делать какая-нибудь функция и для чего её
> нужно использовать.
MSDN вообще никакой источник информации.
Потому что:
а) в штатной поставке отсутствует;
б) очень дорог;
в) то, что доступно через гипертескт, сделано отстойно;
г) из "в" легко заключить, что и вообще оно сделано отстойно,
а не только гипертекст.
Всё вышеперечисленное --- в сравнении с man+handbook,
что тоже не является таким уж идеальным сочетанием.
---
"Мы диалектику учили не по Гегелю."

kruzer25

очень дорог;
А?
то, что доступно через гипертескт, сделано отстойно;
В чём проявляется отстойность?
в штатной поставке отсутствует
Когда ставил студию, оно мне, вроде как, и мсдн поставило. Два гига.

evgen5555



в) то, что доступно через гипертескт, сделано отстойно;
г) из "в" легко заключить, что и вообще оно сделано отстойно,
а не только гипертекст.
Не стоит мелочиться — какой идиот вообще назвал это скопление пикселей источником информации? Пока информация не транслируется напрямую в мозг, нечего и говорить об удобствах!

Ivan8209

>> очень дорог;
> А?
Б.
>> то, что доступно через гипертескт, сделано отстойно;
> В чём проявляется отстойность?
В отстойности.
Качество документации ниже нуля,
навигационные возможности никакие,
их наличие не только бесполезно, а ещё и сбивает с толку.
>> в штатной поставке отсутствует
> Когда ставил студию
Документация должна идти в штатной поставке _системы_,
а не компилятора. Тем более, что эти же функции предоставляются
всякими глубоко спрятанными скриптовыми языками.
---
...Я работаю антинаучным аферистом...

kruzer25

>> очень дорог;
> А?
Б.
Ты мне всё-таки скажи, что значит "очень дорог". С меня денег ещё никто не спросил за пользование мсдном.
Качество документации ниже нуля,
навигационные возможности никакие,
их наличие не только бесполезно, а ещё и сбивает с толку.
На вкус и цвет фломастеры разные.
Документация должна идти в штатной поставке _системы_,
а не компилятора
Это в линуксах документация по функциям языка программирования нужна пользователю, чтобы он там ядро подправил.
А в _ОС_ такая документация нужна разработчику.
Ты ещё скажи "они плохие, они компилятор сишарпа в штатную поставку ОС не включили". Хотя, думаю, даже если захотели бы - не смогли бы, есть же всякие там антимонопольные суды, сказали бы, что это давка компиляторов конкурентов.

Ivan8209

>>> очень дорог;
> Ты мне всё-таки скажи, что значит "очень дорог".
> С меня денег ещё никто не спросил за пользование мсдном.
Ну а сколько ты заплатил за свою "студию"?
>> Качество документации ниже нуля,
>> навигационные возможности никакие,
>> их наличие не только бесполезно, а ещё и сбивает с толку.
> На вкус и цвет фломастеры разные.
Это не "вкус" и не "цвет", это именно отвратительно сделанная
документация: список полей структуры доступен не по прямой
ссылке, а через промежуточный переход, причём через
неочевидное состояние.
>> Документация должна идти в штатной поставке _системы_,
>> а не компилятора
> Это в линуксах документация по функциям языка программирования
> нужна пользователю, чтобы он там ядро подправил.
Мы говорим не про язык программирования, а про штатные
библиотеки, которые доступны из интерпретаторов, идущих
в штатной поставке.
> А в _ОС_ такая документация нужна разработчику.
_Эта_ документация нужна пользователю, если ты считаешь
всякого пользователя, желающего заменить свою ручную
работу механической, разработчиком, это проблемы твоей
системы.
---
"Пользователи делятся на тех, кто хочет работать на компьютере,
и на тех, кто хочет, чтобы компьютер работал за них."

kruzer25

Ну а сколько ты заплатил за свою "студию"?
А причём тут стоимость студии?
Ты ещё спроси, сколько я за системник за свой заплатил.
список полей структуры доступен не по прямой
ссылке, а через промежуточный переход, причём через
неочевидное состояние.
Чего-чего?
про штатные
библиотеки, которые доступны из интерпретаторов, идущих
в штатной поставке
Почему, когда я ставлю виртуальную машину джавы, у меня не появляется документация по байт-коду?
Почему, когда я ставлю браузер, у меня не появляется документация по HTML и JavaScript?
ты считаешь
всякого пользователя, желающего заменить свою ручную
работу механической, разработчиком
Да, я считаю разработчиком всякого пользователя, желающего заменить свою ручную работу механической, разработав для этого соответствующее ПО.
И что?

Andbar

В старой документации было сказано, что эта функция будет показывать диалоги, где нельзя выбрать ни один пункт?
Не работает твоя теория.
Ты всё про окошко на скриншоте по ссылке? AFAIK, его нельзя вызвать через API, это "внутренний" диалог виндовс апдейта. К API ОС он не имеет почти никакого отношения.

Marinavo_0507

AFAIK, его нельзя вызвать через API, это "внутренний" диалог виндовс апдейта. К API ОС он не имеет почти никакого отношения.
Ну вы определитесь всё же, откуда он берётся.

kruzer25

Кстати, ты в том треде так и не сказал, какая версия.
Может, это у тебя какая-нибудь nt4, наполовину съеденная вирусами?

Andbar

Ну вы определитесь всё же, откуда он берётся.
Поищи диалог в ресурсах файлов %systemroot%\system32\wu*.*

Andbar

Может, это у тебя какая-нибудь nt4, наполовину съеденная вирусами?
Ты на счет того окошка не понял: проблема существует, но только в рамках гуишной части системы автообновления, при чем проявляется только у пользователей, не имеющих прав завершать работу системы. Что за претензии к API появились в связи с этим, не понятно.

Marinavo_0507

Windows 2003 server SP1

kruzer25

Windows 2003
А иконку на 9х/2к сам подхачил?

Marinavo_0507

> Что за претензии к API появились в связи с этим, не понятно.
Тут сказали, что сервис обновлений не может сам рисовать диалоги, потому что это не по-пацански (точную причину я не понял, но это как-то связано со страшным-ужасным COM). Поэтому он должен вызывать функцию API.

Marinavo_0507

> Поищи диалог в ресурсах файлов %systemroot%\system32\wu*.*
Не умею. К тому же, тут говорят, что всё написано в MSDN, никакой reverse engineering не нужен и вреден.

Andbar

Ничего себе умозаключения. Сервис обновлений запускает отдельное приложение в контексте каждой из пользовательских сессий (с правами соответствующего пользователя). Это приложение - не сервис и может создавать диалог. Что оно и делает. Всё это относится к системе обновления винды, но к сервису имеет отношение только dll-ка, подгруженная в svchost.exe.

Andbar

Не умею. К тому же, тут говорят, что всё написано в MSDN, никакой reverse engineering не нужен и вреден.
Тогда единственным ключём к осознанию происходящего для тебя может исследование того, к какому процессу принадлежит данное окошко. Если ты и этого не умеешь, то можешь либо поискать соответствующую информацию в msdn, либо поверить моим наблюдениям.

Marinavo_0507

Сервис обновлений запускает отдельное приложение в контексте каждой из пользовательских сессий (с правами соответствующего пользователя). Это приложение - не сервис и может создавать диалог. Что оно и делает.
Ну тут говорили, что для такого нужен COM, а это слишком сложно.
Действительно, запущено приложение. Если его прибить - тут же новое запускается. Походу, ужасный COM не помешал реализовать такую извращенную логику.
То есть, девелоперы не думают головой совсем, хотя переписывать код под COM умеют запросто. Узнаю подход "профессионалов".

Marinavo_0507

как минимум C++ (чего только хотя бы строки стоят, не говоря уже про коллекции, объекты и т.д. в delphi/vb с дефолтной поддержкой com-а чуть получше, но ком-сервер за пять копеек тоже хрен объявишь
То есть, API вчерашнего дня было не приспособлено для языков вчерашнего дня.
При этом на API сегодняшнего дня не перешёл ещё практически никто, так как это требует переписывания кода с языков вчерашнего дня на новые модные языки - на это даже Microsoft не способно, не говоря уж о независимых конторах.
Интересно.

Ivan8209

>> Ну а сколько ты заплатил за свою "студию"?
> А причём тут стоимость студии?
> Ты ещё спроси, сколько я за системник за свой заплатил.
Я уже объяснил выше, причём.
Притом, что "студия" --- нештатная поставка.
>> про штатные
>> библиотеки, которые доступны из интерпретаторов, идущих
>> в штатной поставке
> Почему, когда я ставлю виртуальную машину джавы,
> у меня не появляется документация по байт-коду?
> Почему, когда я ставлю браузер, у меня не появляется
> документация по HTML и JavaScript?
Потому что ты опять спрашиваешь про стандартизованные языки,
а не про API. Когда я ставлю браузер, вместе с ним идёт большой
man и info, где описано, как всосать файл, пережевать его и выплюнуть,
чтобы его можно было прочитать с терминала.
>> ты считаешь
>> всякого пользователя, желающего заменить свою ручную
>> работу механической, разработчиком
> Да, я считаю разработчиком всякого пользователя,
> желающего заменить свою ручную работу механической,
> разработав для этого соответствующее ПО.
> И что?
И всё.
Мне не о чем говорить с разработчиком, нисколько не уважающем
пользователя, каковы разработчики, такова и система.
---
"Аллах не ведёт людей неверных."

kruzer25

Притом, что "студия" --- нештатная поставка.
МСДН, насколько я в курсе, можно и так скачать и поставить.
Хочешь разрабатывать на .net - ставь студию, мсдн установится автоматически.
Чем ты недоволен - непонятно.
Когда я ставлю браузер, вместе с ним идёт большой
man и info, где описано, как всосать файл, пережевать его и выплюнуть,
чтобы его можно было прочитать с терминала
Ну так в винде в этих интерпретаторах тоже написано, как засунуть в них скрипт. Тебе ведь не нравится отсутствие в хелпе информации про то, как писать на этом языке и какие функции там можно использовать - ну так в браузерах этого тоже нет.
с разработчиком, нисколько не уважающем
пользователя
Это ты про линуксятников, надо полагать?

Dasar

подожди, так ты уже привел пример системы лишенных вышеприведенных недостатков?

Ivan8209

>> Притом, что "студия" --- нештатная поставка.
> МСДН, насколько я в курсе, можно и так скачать и поставить.
"Можно скачать" --- это нештатная поставка.
> Хочешь разрабатывать на .net
Я не хочу разрабатывать на ".Net."
> Чем ты недоволен - непонятно.
По-моему, очевидно, чем я недоволен: _отсутствием_документации_.
>> Когда я ставлю браузер, вместе с ним идёт большой
>> man и info, где описано, как всосать файл, пережевать его и выплюнуть,
>> чтобы его можно было прочитать с терминала
> Ну так в винде в этих интерпретаторах тоже написано, как засунуть в них скрипт.
> Тебе ведь не нравится отсутствие в хелпе информации про то,
> как писать на этом языке и какие функции там можно использовать -
> ну так в браузерах этого тоже нет.
В операционных системах API описан в штатной документации,
и там же, в штатной документации, можно узнать, какими функциями
можно пользоваться из штатных интерпретаторов.
>> с разработчиком, нисколько не уважающем
пользователя
> Это ты про линуксятников, надо полагать?
Это я про тебя и про других виндузятников.
---
"Аллах не ведёт людей неверных."

Marinavo_0507

В свободных системах никому в голову не приходит придумать такое API, которое он же сам не сможет использовать. А если и придёт кому-то, то его не смогут использовать другие, соответственно в народ оно не пойдёт.
В системах же, ориентированных на продажу, а не на использование, это обычное дело.

kruzer25

Я не хочу разрабатывать на ".Net.
Но ты хочешь разрабатывать.
Ну так в чём проблема? Вместе с рефманом по своему любимому языку качаешь ещё и документацию по WinAPI/чему-там-тебе-надо.
Между прочим, зачастую в штатную поставку ваших компиляторов тоже не фходит документация.
Да хотя бы тот же php - в штатной поставке только "how-to-install".
По-моему, очевидно, чем я недоволен: _отсутствием_документации_.
Скачай.
А простому пользователю, пользующемуся пользовательской системой, документация по WinAPI.внутреннему устройству ОС/исходники ядра - ни к чему.
В операционных системах API описан в штатной документации,
и там же, в штатной документации, можно узнать, какими функциями
можно пользоваться из штатных интерпретаторов.
В конкретной поставке конкретной недо-ос решили включить кроме какого-то интерпретатора ещё и документацию по нему (при этом, в штатную поставку этого интерпретатора никакая документация не входит).
При этом, браузер (тот же интерпретатор, если что) включили, а документацию по поддерживаемым языкам - забыли; вот поставил я мозиллу - а документации по html/JavaScript как не было, так и нет.
Это я про тебя и про других виндузятников
А мы пользователей уважаем, и делаем софт так, что пользователю не приходится задумываться о том, как, на каком языке и с использованием каких реализаций каких функций он написан (ведь именно для этого пользователю нужны были бы мануалы по WinAPI).

Marinavo_0507

А мы пользователей уважаем, и делаем софт так, что пользователю не приходится задумываться о том, как, на каком языке и с использованием каких реализаций каких функций он написан (ведь именно для этого пользователю нужны были бы мануалы по WinAPI).
Давай рассказывай, как убрать это окошко без этих мануалов.
Права есть - тут уже выяснилось, что окошка открывается приложением с пользовательскими правами.

kruzer25

В свободных системах никому в голову не приходит придумать такое API, которое он же сам не сможет использовать
В несвободных, представь себе, тоже.
Просто не успели ещё полностью на это новое апи перейти.
А ты, видимо, считаешь, что разработали новое апи - и надо ещё несколько лет всю систему целиком переписывать под использование этого апи, и только тогда можно будет это апи выпустить и сказать "теперь не только вы можете его использовать, но и мы его используем, причём везде".
Представляешь - выходит новая версия C, но она никому недоступна, пока весь линукс не перепишут на этой новой версии. Круто, правда?

kruzer25

Давай рассказывай, как убрать это окошко без этих мануалов.
Права есть - тут уже выяснилось, что окошка открывается приложением с пользовательскими правами.
CtrlShiftEsc, вкладка "приложения", "снять задачу"?
А если не поможет - то там же "перейти к процессам", "завершить процесс".
Всё-таки, каким образом ты добился того, что у приложения из win2k такая древняя иконка win9x?

Dasar

В свободных системах никому в голову не приходит придумать такое API, которое он же сам не сможет использовать
поэтому в таких системах api, вообще, не придумывают.
зы
даже то api, что есть - с передачей параметров plain text-ом через командную строку - и то сложно считать за API.
в *nix-е уже разрешили называть файлы, начиная с '-' ?

Marinavo_0507

> Просто не успели ещё полностью на это новое апи перейти.
Да, так и не успели перейти на COM, пока тот не устарел. Я это называю "использовать невозможно".
> А ты, видимо, считаешь, что разработали новое апи -
> и надо ещё несколько лет всю систему целиком переписывать
> под использование этого апи
Нет, переписывать всю систему требуется только виндузятникам.
Выше я уже говорил про более разумные альтернативы.

Marinavo_0507

Для задачи "показать пользователю окошко от сервиса" не нужно передавать файлы через командную строку.

kruzer25

в *nix-е уже разрешили называть файлы, начиная с '-' ?
$ mkdir -- -name
$ ls
-name PUTTY.RND aux ? ?
$

Что я делаю не так?

Andbar

Да, так и не успели перейти на COM, пока тот не устарел. Я это называю "использовать невозможно".
Нафига переписывать всё под новую технологию, если старые есть и работают?

kruzer25

Да, так и не успели перейти на COM, пока тот не устарел. Я это называю "использовать невозможно".
Нет, переписывать всю систему требуется только виндузятникам.
Выше я уже говорил про более разумные альтернативы.
Ты сам себе противоречишь.
Появляется новое замечательное апи, которое можно и нужно использовать.
Надо теперь сразу весь код всей системы переписывать под это новое апи, или можно постепенно переводить?

Marinavo_0507

> Нафига переписывать всё под новую технологию, если старые есть и работают?
Какая технология была до COM?

Marinavo_0507

Надо теперь сразу весь код всей системы переписывать под это новое апи, или можно постепенно переводить?
Чтоб в некотором сервисе воспользоваться .Net remoting , нужно сразу переписывать изрядно кода под .Net, и выкидывать компоненты, которые реализовывали какой-то старый протокол взаимодействия.
Соответственно, рано говорить, что старая технология устарела, пока остаются системные сервисы, её использующие.

Dasar

> Что я делаю не так?
сами по себе файлы с '-' можно создавать, проблема начинается, когда имена этих файлов попадают в скрипты.
например во что-нибудь такое:
for $aa in `ls`
  rm $aa

Andbar

Дотнет вроде бы придумали чтоб облегчить жизнь разработчикам?
Однако в целом на низкоуровневых задачах он менее эффективен, нежели старый. Нафига в таком случае всю систему переводить на новую технологию? Уж в таком случае надо делать компъютер с соответствующей хардварной поддержкой.

Dasar

меня радуют вот такие ремарки про *nix:
В любом случае написание скриптов требует от администратора определенной осторожности, особенно, если его скрипты общедоступны и могут быть кем-либо со всей серьезностью «проанализированы» на пробиваемость. Например, удаление данных пользователя всегда лучше выполнять с правами пользователя — мало ли что он умеет у себя устроить

Marinavo_0507

Однако в целом на низкоуровневых задачах он менее эффективен, нежели старый. Нафига в таком случае всю систему переводить на новую технологию?
Значит, нужно переводить не всю.
Но тогда не нужно объявлять более эффективную технологию устаревшей.

Andbar

Но тогда не нужно объявлять более эффективную технологию устаревшей.
Это почему?

Marinavo_0507

А что это ты про скрипты заговорил? Мы тут профессиональные продукты обсуждаем, которые, по идее, должны быть проанализированы на "непробиваемость" в любом случае.
> удаление данных пользователя всегда лучше выполнять
> с правами пользователя
Довольно разумно.
Не знаю, насколько разумно это в виндах, но там другие подставы - например, файл может оказаться неудаляемым, потому что занят неизвестно кем.

Marinavo_0507

> Это почему?
Если технология эффективнее других для каких-то нужных задач - она не может быть устаревшей. Потому что устаревшее - это то, что сейчас использовать не имеет смысла, так как для любой задачи есть альтернатива получше.
Подход Microsoft другой - технология объявляется устаревшей, когда пора собирать очередную дань с пользователей, и отвлекать разработчиков-конкурентов от полезных дел на изучение нового способа делать то же самое.

Ivan8209

>> Я не хочу разрабатывать на ".Net.
> Но ты хочешь разрабатывать.
> Ну так в чём проблема? Вместе с рефманом по своему
любимому языку
> качаешь ещё и документацию по WinAPI/чему-там-тебе-надо.
Мне не нужен справочник по знакомому мне языку,
всё, что мне нужно, справочник по штатной библиотеке,
которого нет.
> Между прочим, зачастую в штатную поставку ваших
> компиляторов тоже не фходит документация.
Прочти, наконец, awk(1 dc(1 bc(1 sed(1 lex(1 sh(1 csh(1 ksh(1
может хоть что-нибудь в голове осядет.
> Да хотя бы тот же php - в штатной поставке только "how-to-install".
PHP не входит в штатную поставку.
Кстати, это тоже показатель, в поставку, например, TCL,
входит документация.
>> По-моему, очевидно, чем я недоволен:
>> _отсутствием_документации_.
> Скачай.
Итого, документация --- отсутствует, это признаёшь даже ты.
> А простому пользователю, пользующемуся пользовательской системой,
> документация по WinAPI.внутреннему устройству ОС/исходники ядра - ни к чему.
Ещё раз: мне не нужна документация к ядру, мне нужна документация
к тому, что предоставляют _скриптовые_ языки, _идущие_
в _штатной_ поставке.
Ты понимаешь слова "штатная поставка?"
Меня не волнует, что справку можно найти где-то _там_,
тем более, что "там" невозможно найти справку.
>> В операционных системах API описан в штатной документации,
>> и там же, в штатной документации, можно узнать, какими функциями
>> можно пользоваться из штатных интерпретаторов.
> В конкретной поставке конкретной недо-ос решили включить
> кроме какого-то интерпретатора ещё и документацию по нему
> (при этом, в штатную поставку этого интерпретатора никакая документация не входит).
Это проблемы той конкретной недо-ОС, в операционных системах
с этим всё в порядке.
> вот поставил я мозиллу
Ну и что? Мы говорим про систему, а не про мозиллу,
которая является сторонним продуктом.
>> Это я про тебя и про других виндузятников
> А мы пользователей уважаем, и делаем софт так, что пользователю
> не приходится задумываться о том, как,
Верно, задумываться не приходится, приходится выполнять
уйму ручной работы, потому что задействовать средства
автоматизации невозможно. Причём не только из-за уродства
самих этих средств, но ещё и из-за отсутствия документации.
---
"Пользователи делятся на тех, кто хочет работать на компьютере,
и на тех, кто хочет, чтобы компьютер работал за них."

Ivan8209

> сами по себе файлы с '-' можно создавать, проблема
> начинается, когда имена этих файлов попадают в скрипты.
> например во что-нибудь такое:
> for $aa in `ls`
> rm $aa
Проблема начинается у тех, кто не умеет писать скрипты.
---
"Аллах не ведёт людей неверных."

Andbar

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

Marinavo_0507

а необычных программ быть не должно?

Andbar

а необычных программ быть не должно?
Думаю, достаточно редкие случаи...

Marinavo_0507

Если случаи редкие, это и значит, что почти всю систему нужно переписать.

kruzer25

рано говорить, что старая технология устарела, пока остаются системные сервисы, её использующие
Ага, и рано говорить, что 286 устарел, пока хотя бы у одного из сотрудников интела остаётся дома древний системник на этом 286?

kruzer25

Однако в целом на низкоуровневых задачах он менее эффективен, нежели старый
У нас настолько медленное железо?
Вот Singularity, говорят, довольно шустро работает - а там вообще всё, кроме небольшой части ядра, на дотнете.

Andbar

Если случаи редкие, это и значит, что почти всю систему нужно переписать.
Старые приложения выгоднее дописать, чем целиком переписать.

kruzer25

Мне не нужен справочник по знакомому мне языку,
всё, что мне нужно, справочник по штатной библиотеке,
которого нет.
То есть, десять тысяч встроенных функций используемого языка и его библиотек ты помнишь наизусть, а вот для того, чтобы узнать о миллионе функций WinAPI, документацию скачать уже не можешь?
Это ты один такой.

Andbar

кроме небольшой части ядра

Ivan8209

>> пока остаются системные сервисы, её использующие
> остаётся
Разница между системным использованием и существованием
пониманию виндузятника недоступна?
---
...Я работаю антинаучным аферистом...

Ivan8209

>> Мне не нужен справочник по знакомому мне языку,
>> всё, что мне нужно, справочник по штатной библиотеке,
>> которого нет.
> То есть, десять тысяч встроенных функций используемого
> языка и его библиотек ты помнишь наизусть, а вот для того,
> чтобы узнать о миллионе функций WinAPI, документацию
> скачать уже не можешь?
Я утверждаю, что эта документация должна быть _штатной_,
а не добываться с боями откуда-то из недр Микрософта.
И, кстати, о миллионах функций: что они делают такого,
что их нужно _так_ много?
---
...Я работаю антинаучным аферистом...

kruzer25

Прочти, наконец, awk(1 dc(1 bc(1 sed(1 lex(1 sh(1 csh(1 ksh(1
может хоть что-нибудь в голове осядет.
Тут масштабы немного другие.
Ещё раз: мне не нужна документация к ядру, мне нужна документация
к тому, что предоставляют _скриптовые_ языки, _идущие_
в _штатной_ поставке.
Что значит "скриптовые языки, идущие в штатной поставке"?
Почему в штатную поставку firefox-а не входит refman html-я и javascritpt-а?
Ну и что? Мы говорим про систему, а не про мозиллу,
которая является сторонним продуктом.
Система - тоже вполне себе конкретный продукт.
тем более, что "там" невозможно найти справку
Возможно.
Меня не волнует, что справку можно найти где-то _там_,
Ну, с таким подходом, man - это тоже "где-то там".
, приходится выполнять
уйму ручной работы, потому что задействовать средства
автоматизации невозможно. Причём не только из-за уродства
самих этих средств
"Винда сосёт, я пытался удалить гланды через жопу, и не нашёл там для этого нужных инструментов - пришлось всё делать руками". Только вот нормальные люди гланды всё-таки удаляют не через жопу, и вот уже для этого - инструменты есть.

kruzer25

for $aa in `ls`
rm $aa
Потому что писать надо rm — $aa?
Этому же в первом классе учат

kruzer25

А хули ты хочешь?
Управляемым языком ведь должен кто-то управлять, или я чего-то не понимаю?

Marinavo_0507

> Старые приложения выгоднее дописать, чем целиком переписать.
Если они основаны на устаревшем API, которое уже не работает как следует в новой системе, то не получится. Например, Microsoft RPC сейчас принято фильтровать на периметре, и ещё провайдер на всякий случай может зафильтровать, в то время как раньше было вполне реально встретить сервер в Интернет, который что-то раздавал с его помощью.

Marinavo_0507

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

kruzer25

Я утверждаю, что эта документация должна быть _штатной_,
а не добываться с боями откуда-то из недр Микрософта
1) Не с боями.
2) Ты утверждаешь, что документация должна входить туда, где её быть не должно. То есть, документация по WinAPI - в состав Windows, потому что там есть интерпретаторы; и документация по html/javascript - в состав Firefox, потому что там тоже есть интерпретаторы.
И, кстати, о миллионах функций: что они делают такого,
что их нужно _так_ много?
Представляешь, сейчас компьютеры уже немного не те, что были 50 лет назад, делать они могут гораздо больше.
Тебя не удивляет, что кто-то придумал действия "возвести в степень" и "умножить", когда есть простое "сложить"?

kruzer25

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

Marinavo_0507

Насколько я знаю, никто не извращался - комп не для этого используется.

kruzer25

Например, Microsoft RPC сейчас принято фильтровать на периметре, и ещё провайдер на всякий случай может зафильтровать,
В случаях, когда _кто-то_ _намеренно_ хочет "отфильтровать" старый механизм - да, в тех местах, где он фильтруется, придётся переходить на новый.
Только причём тут MS?

kruzer25

Если никто не извращался - как минимум иконка должна была быть другая.
МБ кто-то, например, половину системных файлов подменил на таковые от win2k.

Marinavo_0507

> Только причём тут MS?
При том, что тот RPC очень плох с точки зрения безопасности, и это одна из основных причин того, что его фильтруют, и что он устарел.

Ivan8209

>> Прочти, наконец, awk(1 dc(1 bc(1 sed(1 lex(1 sh(1 csh(1 ksh(1
>> может хоть что-нибудь в голове осядет.
> Тут масштабы немного другие.
Какие "другие?"
>> Ещё раз: мне не нужна документация к ядру, мне нужна документация
>> к тому, что предоставляют _скриптовые_ языки, _идущие_
в _штатной_ поставке.
> Что значит "скриптовые языки, идущие в штатной поставке"?
Это значит "скриптовые языки, идущие в штатной поставке."
> Почему в штатную поставку firefox-а не входит refman html-я и javascritpt-а?
Вопрос к Firefox, который не имеет никакого отношения ни к винде,
ни к операционным системам. Ещё раз повторяю: в операционных
системах с этим всё в порядке.
>> Ну и что? Мы говорим про систему, а не про мозиллу,
>> которая является сторонним продуктом.
> Система - тоже вполне себе конкретный продукт.
Да, конкретный.
В операционных системах документация идёт в поставке,
в винде --- нет, да ещё и требуется затратить нехилые усилия,
чтобы найти.
Например, вот это находится на четвёртом шаге
от главной страницы, вот здесь всё ещё хрен разберёт, куда идти.
Шесть шагов и всё ещё ничего не найдено.
Для сравнения, найди слово "Documentation" на http://netbsd.org/
и сходи по адресу http://man.netbsd.org/
>> Меня не волнует, что справку можно найти где-то _там_,
> Ну, с таким подходом, man - это тоже "где-то там".
man работает локально, для того, чтобы он не работал,
нужно явно указать при установке, что ты не хочешь
документацию.
>> , приходится выполнять
>> уйму ручной работы, потому что задействовать средства
>> автоматизации невозможно. Причём не только из-за уродства
>> самих этих средств
> "Винда сосёт, я пытался удалить гланды через жопу,
> и не нашёл там для этого нужных инструментов -
> пришлось всё делать руками". Только вот нормальные люди
> гланды всё-таки удаляют не через жопу, и вот уже для этого -
> инструменты есть.
Ну так покажи эти инструменты! Что ж вы оба, ты и ,
так всасываете на каждом элементарном вопросе по автоматизации
пользовательских действий в винде? Это при том, что вы оба
являетесь разработчиками, то есть вам это должно быть раз
плюнуть.
---
"Аллах не ведёт людей неверных."

Marinavo_0507

Вопрос к Firefox, который не имеет никакого отношения ни к винде,
ни к операционным системам.
Ну это ты загибаешь. Он как раз и пытается быть чем-то вроде операционной системы, хреново правда.
Да и к винде некоторое отношение имеет.

Marinavo_0507

> Если никто не извращался - как минимум иконка должна была быть другая.
Может быть, там тема такая стоит? Иконки же вроде от этого зависят.

kruzer25

Какие "другие?"
Такие, что ман по awk умещается в десятке экранов man-а.
Если бы в мане по awk было 2 гига текста - как ты думаешь, мне бы этот текст выдали по man awk?
Ещё раз повторяю: в операционных
системах с этим всё в порядке.
Я тебе привёл пример, а ты увиливаешь.
Входит ли в штатную поставку твоей любимой операционной системы хотя бы один браузер?
Если входит - то почему там нет refman-а по html?
Если не входит - о каком внимании к пользователю ты говоришь?
В операционных системах документация идёт в поставке
Документация по чему?
Документацией по html там и не пахнет.
А если ты говоришь про документацию по какому-нибудь языку - документация по cmd очень даже есть.
man работает локально, для того, чтобы он не работал,
нужно явно указать при установке, что ты не хочешь
документацию.
А сайту МС даже указывать ничего не надо, "хочу/не хочу". Документация там есть всегда, независимо от настроек установки системы.
Для сравнения, найди слово "Documentation" на http://netbsd.org/
и сходи по адресу http://man.netbsd.org/
Не нашёл там документации по синтаксису и функциям C.
А то, что там есть - по WinF1 в винде информация ничуть не хуже.
Что ж вы оба, ты и ,
так всасываете на каждом элементарном вопросе по автоматизации
пользовательских действий в винде?
Примеры?

kruzer25

Да и к винде некоторое отношение имеет.
К линуксу тоже

kruzer25

Может быть, там тема такая стоит? Иконки же вроде от этого зависят.
Что-то я не видел таких тем - эмулирующих Classic-винду и с такими иконками.
Кроме того, вообще-то, винда "в штатной поставке" (с) не поозволяет эти иконки менять.

Ivan8209

>> Я утверждаю, что эта документация должна быть _штатной_,
>> а не добываться с боями откуда-то из недр Микрософта
> 1) Не с боями.
С боями, прямой URL ты не привёл потому, что его сложно
найти, в первую очередь, если не потому, что его попросту нет.
> 2) Ты утверждаешь, что документация должна входить туда,
> где её быть не должно. То есть, документация по WinAPI -
> в состав Windows, потому что там есть интерпретаторы;
Да, если эти интерпретаторы предоставляют доступ к WinAPI,
документация должна быть предоставлена.
>> И, кстати, о миллионах функций: что они делают такого,
>> что их нужно _так_ много?
> Представляешь, сейчас компьютеры уже немного не те,
> что были 50 лет назад, делать они могут гораздо больше.
Представляю, однако я смотрю на интерфейс винды и вижу
почти то же, что и у PalmOS, а PalmOS API аж на три порядка
менее объёмно. Отсюда следует простой вывод о способностях
виндовых разработчиков.
---
"Аллах не ведёт людей неверных."

Ivan8209

> Ну это ты загибаешь.
Ладно, для простоты отбросим, оставим:
>> Вопрос к Firefox, который не имеет никакого отношения <...> к винде,
> Да и к винде некоторое отношение имеет.
Может там выжить.
В общем, сторонний продукт.
---
...Я работаю антинаучным аферистом...

Marinavo_0507

> Кроме того, вообще-то, винда "в штатной поставке" (с)
> не поозволяет эти иконки менять.
Какие теперь dll проверять, и как узнать, пришли ли они в поставке, или были подменены?

Ivan8209

>> Да и к винде некоторое отношение имеет.
> К линуксу тоже
Можно посмотреть, использует ли он линукс, в отличие от винды,
средства для этого есть.
---
...Я работаю...

Ivan8209

> Какие теперь dll проверять, и как узнать, пришли ли они в поставке, или были подменены?
Вопрос про mtree?
---
...Я работаю антинаучным аферистом...

Marinavo_0507

> Что-то я не видел таких тем - эмулирующих Classic-винду и с такими иконками.
А может, это только ты не видел? Что такое Classic? Типа 2000? Дык там вроде вообще не было подобного диалога, по крайней мере в той системе, за которой я некоторое время присматривал.
Там вручную надо было запускать обновлялку.

kruzer25

С боями, прямой URL ты не привёл потому, что его сложно
найти, в первую очередь, если не потому, что его попросту нет.
Просто я не понял, что ты от меня хочешь прямой url на скачку.
download.microsoft.com, вводим в поле для поиска msdn, вторая ссылка - как раз то, что тебе надо.
Да, всего в общей сложности - три страницы (главная, с результатами поиска, и собственно, самого продукта).
Да, если эти интерпретаторы предоставляют доступ к WinAPI,
документация должна быть предоставлена.
Где в моём кноппиксе документация по всем возможным syscall-ам, а в моём firefox-е - документация по html и javascript?
однако я смотрю на интерфейс винды и вижу
почти то же, что и у PalmOS
PalmOS много чего не умеет. Да хотя бы диски записывать.

kruzer25

Что такое Classic? Типа 2000?
Classic - это когда всё такое угловатое. Такая тема есть в winxp/2k3/vista, в 2k3 она даже включена по умолчанию, но иконки в этой теме всё равно остаются современными.

kruzer25

Например, можно посмотреть на поставщика. Если подменяло не какое-то злобное приложение, которое хотело замаскироваться - то поможет.
А если это было какое-то злобное приложение... если у тебя в линуксе кто-то поменяет команду cd на свой бинарник - ты тоже не сможешь узнать, настоящая она или подменённая.

Marinavo_0507

Например, можно посмотреть на поставщика. Если подменяло не какое-то злобное приложение, которое хотело замаскироваться - то поможет.
Что значит "посмотреть на поставщика"? Я не разработчик под винду, если что.

kruzer25

Что значит "посмотреть на поставщика"?
Ну, может, не "поставщика", а "разработчика", не помню, как там это называется.
Зайти в свойства длл-ки - там всё это будет написано.
Я не разработчик под винду, если что.
А Это тут причём?

Ivan8209

>> Какие "другие?"
> Такие, что ман по awk умещается в десятке экранов man-а.
> Если бы в мане по awk было 2 гига текста - как ты думаешь,
> мне бы этот текст выдали по man awk?
Это твои трудности, как разбивать документацию.
man strcmp --- открой для себя то, как это сделано для libc.
>> Ещё раз повторяю: в операционных
>> системах с этим всё в порядке.
> Я тебе привёл пример, а ты увиливаешь.
Я тебе привёл пример, а ты увиливаешь.
> Входит ли в штатную поставку твоей любимой
> операционной системы хотя бы один браузер?
Нет.
> Если не входит - о каком внимании к пользователю ты говоришь?
О большом.
Пользователь может поставить себе этот браузер двумя
командами, причём ему выкачают всё необходимое
и установят, самому пользователю остаётся только сидеть
и втыкать в процесс, вообще же, он может пойти и заняться
другими делами.
>> В операционных системах документация идёт в поставке
> Документация по чему?
> Документацией по html там и не пахнет.
> А если ты говоришь про документацию по какому-нибудь
> языку - документация по cmd очень даже есть.
Скажи, где она и я проверю, у меня есть доступ к почти bare-bone W2k.
>> man работает локально, для того, чтобы он не работал,
>> нужно явно указать при установке, что ты не хочешь
документацию.
> А сайту МС даже указывать ничего не надо, "хочу/не хочу". > Документация там есть всегда, независимо от настроек установки системы.
"Независимо," говоришь?
Что насчёт лежащей сети?
>> Для сравнения, найди слово "Documentation" на http://netbsd.org/
>> и сходи по адресу http://man.netbsd.org/
> Не нашёл там документации по синтаксису и функциям C.
> А то, что там есть - по WinF1 в винде информация ничуть не хуже.
Попробовал искать слово "Selection" --- отсутствует,
следовательно, насколько я понимаю, скрипты для
Word, Excel, Outlook, что там ещё есть --- йок.
>> Что ж вы оба, ты и ,
>> так всасываете на каждом элементарном вопросе по автоматизации
>> пользовательских действий в винде?
> Примеры?
Да вон они, в "Programming" под заголовками что-то в роде
"как скопировать файл?"
---
"Аллах не ведёт людей неверных."

Marinavo_0507

В \windows\system32 куча dll
причём проводник их разными цветами показывает, походу в зависимости от того, подписаны ли
нашёл что-то про windows update client
например: wucltui.dll
Version: 5.8.0.2469
Company: Microsoft Corporation
Product Name: Microsoft® Windows® Operating System
ну и ещё что-то
как теперь понять, та ли это dll, и какой версии она должна быть в этой ОС?

Ivan8209

>> С боями, прямой URL ты не привёл потому, что его сложно
>> найти, в первую очередь, если не потому, что его попросту нет.
> Просто я не понял, что ты от меня хочешь прямой url на скачку.
> download.microsoft.com, вводим в поле для поиска msdn,
> вторая ссылка - как раз то, что тебе надо.
> Да, всего в общей сложности - три страницы (главная,
> с результатами поиска, и собственно, самого продукта).
Ты вырезал путь до download.microsoft.com и теперь нагло
утверждаешь, что три. Я ничего не скачивал с Микрософта,
так что download мне нужно ещё найти. Слово "MSDN" тоже
надо как-то узнать. Итого --- шаманские знания, приобретаемые
не чтением документации, которой как не было, так и нет,
а передаваемые изустно.
>> Да, если эти интерпретаторы предоставляют доступ к WinAPI,
>> документация должна быть предоставлена.
> Где в моём кноппиксе документация по всем возможным syscall-ам,
Документация идёт вместе с ядром, поскольку линукс
не операционная система, неизвестно, куда она должна
устанавливаться и должна ли вообще.
> а в моём firefox-е - документация по html и javascript?
Думаю, там есть прямая ссылка на стандарт HTML,
про JavaScript не знаю, ибо ересь. Пусть другие скажут.
>> однако я смотрю на интерфейс винды и вижу
>> почти то же, что и у PalmOS
> PalmOS много чего не умеет. Да хотя бы диски записывать.
Не более десятка функций на запись дисков, которые, к тому же,
относятся к драйверу.
---
...Я работаю антинаучным аферистом...

Dasar

> Потому что писать надо rm — $aa?
> Этому же в первом классе учат
еще есть такие команды как echo, ls, find и т.д. , а их как записать в этом же for-е?

Dasar

Проблема начинается у тех, кто не умеет писать скрипты
так почему 90% опубликованных скриптов содержит такие детские ошибки?
т.е. ты утверждаешь, что все *nix-атники - тупые и не умеют писать скрипты?

Dasar

А что это ты про скрипты заговорил? Мы тут профессиональные продукты обсуждаем, которые, по идее, должны быть проанализированы на "непробиваемость" в любом случае.
скрипты это пример использования *nix-ового API.
это еще Контра завел речь про frontend/backend, а там как большинство программ в *nix-е работают через командную строку, соответственно имеют все те же самые проблемы, что и в приведенном мною скрипте.

Marinavo_0507

так почему 90% опубликованных скриптов содержит такие детские ошибки?
ты сам недавно объяснял разницу между разработкой и автоматизацией
по-настоящему обидно, когда аналогичные ошибки в "профессиональном" продукте, за который деньги заплачены, и даже без исходников

Marinavo_0507

> скрипты это пример использования *nix-ового API
Это UI, а не API.
> то еще Контра завел речь про frontend/backend, а там как большинство программ в *nix-е работают через командную строку, соответственно имеют все те же самые проблемы, что и в приведенном мною скрипте
Полный бред, как минимум 3 фактических ошибки.

Dasar

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

Marinavo_0507

Про командную строку и API обсуждалось раньше.
То, что front-end/back-end не обязан приводить к таким же проблемам, как в тех скриптах, вообще очевидно, если иметь минимальное представление о проблеме.
"Программа работает через командную строку" - бессмысленное сочетание слов, то есть бред.

Dasar

Давай возьмем хотя бы mplayer,
1. backend и frontend у него есть?
2. api для связи frontend-а и backend-а есть?
3. это api работает через коммандную строку (нестандартизированный plain-text поток)?
4. баги присущие скриптам у этой связки есть?

Marinavo_0507

Давай возьмем хотя бы mplayer,
1. backend и frontend у него есть?
Думаю, нет. А зачем оно там?
Тут интереснее, что ты признаёшь, что данную бесплатную любительскую поделку действительно надо всерьёз сравнивать с "профессиональными" продуктами. Это показывает состояние софтописательского бизнеса.

Dasar

Думаю, нет. А зачем оно там?
хоть бы сделал google: mplayer frontend
Тут интереснее, что ты признаёшь, что данную бесплатную любительскую поделку действительно надо всерьёз сравнивать с "профессиональными" продуктами. Это показывает состояние софтописательского бизнеса.
почему нет?
какой-нибудь winamp, icq, tc и т.д. - тоже являются любительскими поделками. как минимум они с этого начинали.
и мне не понятно, почему ты разработчика mplayer-а считаешь менее профессиональным, чем разработчика, который написал какой-нибудь winamp...

Dasar

причем основной вопрос-то не в самом mplayer-е и его багах.
основной вопрос в том - а как надо было под *nix-ом правильно организовывать такое взаимодействие между frontend-ом и backend-ом чтобы таких багов не было?

Marinavo_0507

> хоть бы сделал google: mplayer frontend
там дают: 1. какой-то плеер для винды, хз что там за frontend
2. тулзу для кодировки видео - думаю, что там действительно используется ком. строка, это наколенная поделка, и баги, связанные со скриптами, там неактуальны
> мне не понятно, почему ты разработчика mplayer-а считаешь менее
> профессиональным, чем разработчика, который написал
> какой-нибудь winamp
не считаю, поэтому "профессионалов" беру в кавычки
> а как надо было под *nix-ом правильно организовывать
> такое взаимодействие между frontend-ом и backend-ом
> чтобы таких багов не было
пока что непонятно, какие именно баги во взаимодействии

Dasar

> 1. какой-то плеер для винды, хз что там за frontend
чего?
всю жизнь в этом форуме утверждалось, что это основной плейер видео под *nix систему

12. Ports
12.1. Linux
12.1.1. Debian packaging
12.1.2. RPM packaging
12.1.3. ARM
12.2. *BSD
12.2.1. FreeBSD
12.2.2. OpenBSD
12.2.3. Darwin
12.3. Commercial Unix
12.3.1. Solaris
12.3.2. IRIX
12.3.3. HP-UX
12.3.4. AIX
12.4. Windows
12.4.1. Cygwin
12.4.2. MinGW
12.5. Mac OS
12.5.1. MPlayer OS X GUI
12.6. Exotic Platforms
12.6.1. QNX
12.6.2. Amiga/MorphOS (GeekGadgets)

> 2. тулзу для кодировки видео - думаю, что там действительно используется ком. строка
опять же чего? какая еще нахрен тулза для кодировки видео?
> пока что непонятно, какие именно баги во взаимодействии
выдержки из документации:
Instead of intercepting keyboard events, MPlayer will read
commands separated by a newline (\n) from stdin.
loadfile <file|url> <append>
Load the given file/URL, stopping playback of the current file/URL.
If <append> is nonzero playback continues and the file/URL is
appended to the current playlist instead.
соответственно баг возникает, когда передаем файл содержащий в имени перевод строки, или пробел (например, такой файл 'f 1')

Ivan8209

>> Проблема начинается у тех, кто не умеет писать скрипты
> так почему 90% опубликованных скриптов содержит такие детские ошибки?
Потому что среди этих "90%" большая часть является просто
примерами на скору руку, для выполнения настоящей работы они
не предназначены.
> т.е. ты утверждаешь, что все *nix-атники - тупые
> и не умеют писать скрипты?
Среди линуксоидов таких очень много, и это опять же по причине
плохой документации, которая приводит к их культуре "HOWTO",
там, где документация есть, проще перечислить страницы, которые
надо прочитать, чем очередной раз объяснять, "как сделать"
что-то тривиальное.
---
...Я работаю антинаучным аферистом...

Marinavo_0507

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

Dasar

> именно это находится по запросу в гугле
догадаться сначала набрать google: mplayer, а потом google: mplayer frontend - мгушное образование не позволило?
> навскидку пример - пакетные менеджеры, которые и предназначены для обёртывания фронтэндами
приведи примеры этих конкретных программ, а то опять уход в обобщение чтобы не уличили во лжи.

Marinavo_0507

например, dpkg
правда, проблему с именами файлов, вроде бы, там скорее избежали, чем решили

Dasar

> правда, проблему с именами файлов, вроде бы, там скорее избежали, чем решили
где это наблюдается?
http://nioc.net/man-pages/Linux/man1/dpkg-source.1.html
берем какой-нибудь DPKG-SHLIBDEPS
и видим что народ все также напрямую фигачит имена файлов
dpkg-shlibdeps debian/gdkimlib1/usr/lib/libgdk_imlib.so.0.1
и если файл будет начинаться с '-e', то все сдохнет

Dasar

Так как надо разрабатывать под *nix правильное api между frontend-ом и backend-ом?

Marinavo_0507

> и если файл будет начинаться с '-e', то все сдохнет
проблема обойдена таким образом, что такого файла тут быть не может

Dasar

здесь возникает
я ж говорю, наколенная поделка
ладно какой-нибудь csv - это тоже наколенная поделка?
а ведь он тоже якобы предоставляет api для разработки frontend-а, но с теми же самыми проблемами.

Dasar

> проблема обойдена таким образом, что такого файла тут быть не может
почему?

Marinavo_0507

> Так как надо разрабатывать под *nix правильное api между frontend-ом и backend-ом?
Для тех случаев, где актуальная вышеупомянутая проблема, есть стандартные приёмы эскейпинга.

Marinavo_0507

> почему?
потому что ты смотришь скрипты для сборки пакета (я-то намекал на процедуры установки, удаления и анализа пакетов)
это, по-сути, программы
вот если ты на C# захочешь ввести идентификатор с символом перевода строки посередине, компилятор тебя поймёт неправильно
поэтому программисты просто не делают так - такие идентификаторы запрещены
С# - плохой язык, раз нельзя записать такую программу?
вроде нет

Dasar

> Для тех случаев, где актуальная вышеупомянутая проблема, есть стандартные приёмы эскейпинга.
если все так просто, то почему их никто не применяет?

Marinavo_0507

> если все так просто, то почему их никто не применяет?
отлично применяют
я сам применял несколько раз

Dasar

вот если ты на C# захочешь ввести идентификатор с символом перевода строки посередине, компилятор тебя поймёт неправильно
речь же вроде идет про имена файлов, а не про идентификаторы...
или в данном случае - это одно и тоже?

Dasar

>отлично применяют
>я сам применял несколько раз
так как говоришь надо добавлять файл с именем -m в cvs?

Marinavo_0507

речь же вроде идет про имена файлов, а не про идентификаторы...
или в данном случае - это одно и тоже?
в случае библиотеки - естественно, одно и то же
а разве в винде не так?

Marinavo_0507

> так как говоришь надо добавлять файл с именем -m в cvs?
стандартный метод не проходит?
P.S. проверил - проходит

Ivan8209

> так как говоришь надо добавлять файл с именем -m в cvs?
Ты пользуешься CVS?
У вас же своя версионная система!
А CVS даже здесь считается старьём.
---
...Я работаю антинаучным аферистом...

Dasar

а разве в винде не так?
название либы - идентификатором не является

Marinavo_0507

> название либы - идентификатором не является
ну пусть не идентификатор
строковой литерал
если в нём есть символ перевода строки или кавычка, то на языке программирования нужно его записывать специальным образом
да и первым аргументов в printf передавать осторожно

Andbar

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

Andbar

Слово "MSDN" тоже
надо как-то узнать. Итого --- шаманские знания, приобретаемые
не чтением документации, которой как не было, так и нет,
а передаваемые изустно.
вроде WinF1 сам умеет на мсдн лазить...

Marinavo_0507

> вроде WinF1 сам умеет на мсдн лазить...
вроде умеет
но вот как найти, какая версия dll нормальна для данного релиза, я не осилил
а также узнать, нормально ли, что на 2003sp1 стоят бинарники, подписанные "Microsoft Windows XP Publisher", или это кто-то от другой версии поставил
Кстати, дело осложняется тем, что "Microsoft Windows XP Publisher" - походу ещё программный продукт такой есть, так что и Гугл неэффективен.

Ivan8209

> вроде WinF1 сам умеет на мсдн лазить...
Не "вроде", а не умеет, см. пример про "selection."
---
"Истина всегда конкретна."

Andbar

Не "вроде", а не умеет, см. пример про "selection."
Это относится к VB для MS Office, не удивительно, что искать нужно в соответствующей справке (включенной в дистрибутив, кстати).

Ivan8209

> Это относится к VB для MS Office, не удивительно, что искать
> нужно в соответствующей справке (включенной в дистрибутив, кстати).
И тут-то мы приплыли.
Оказывается, в винде справка устроена на порядок хуже униксовой,
где она едина, со сквозным поиском и индексацией. В винде же про
сквозной поиск ещё не догадались. Микрософт как всегда очень
заботлив.
---
Q21: что такое Win2k?
A21: состема.

kruzer25

> скрипты это пример использования *nix-ового API
Это UI, а не API
То есть, уи от апи отличается только тем, функции это или команды?
bash даёт язык программирования (такой же, как икакой-нибудь C# даёт какие-то команды (как и WinAPI даёт функции).
Оставить комментарий
Имя или ник:
Комментарий: