почему надо ненавидеть майкрософт
Sep. 29th, 2003 07:13 pmLet's Bash Microsoft Today — забавная дискуссия в веблоге Филиппа Гринспана о том, за что стоит ненавидеть Майкрософт (или не стоит). В основном в комментах.
Кстати, хотя со многими высказанными там претензиями я согласен, многие другие кажутся мне непонятными или даже невразумительными. И откуда, интересно, такая ненависть к реестру (он же registry)? Вот это я давно не могу понять. У меня есть немало конкретных претензий к Майкрософту по поводу реестра (плохо документирован, в основной программе редактирования не хватает многих важных возможностей, итп.), но я не понимаю, что такого уж ужасного в идее центрального реестра конфигурационной информации, в принципе.
Кстати, хотя со многими высказанными там претензиями я согласен, многие другие кажутся мне непонятными или даже невразумительными. И откуда, интересно, такая ненависть к реестру (он же registry)? Вот это я давно не могу понять. У меня есть немало конкретных претензий к Майкрософту по поводу реестра (плохо документирован, в основной программе редактирования не хватает многих важных возможностей, итп.), но я не понимаю, что такого уж ужасного в идее центрального реестра конфигурационной информации, в принципе.
no subject
Date: 2003-09-29 10:16 am (UTC)FreeBSD мне администрировать не приходилось (только программировать маленько - www.kulichki.com), а RedHat - сколько угодно.
Дело в том, что все в руках писателя апликации. Как сделает - так и будет. Но реестр располагает к более-менее человечному использованию себя, а файлы - нет. Один из примеров, который сходу вспомнился - это Samba. Вот уж configuration hell.
А вот примеров систем, которые успешно используют registry нету :)
С этим утверждением трудно спорить, но я попробую. Пример такой системы - Windows начиная с 2000. Ваш ход.
И вообще, Вам пришлость два раза использовать аргумент "надо будет, напишут", а это, по-моему, наводит на размышления. С текстовыми файлами настройки кроме текстового редактора и grep писать ничего не пришлось.
Это пример различия между платформой и аппликацией. В MS не удосужились написать нормальный редактор реестра, нормальный текстовый редактор (не word processor: я про notepad) и telnet. Какие выводы из этого можно сделать о реестре либо о виндошном TCP/IP stack?
Да, хранение конфигурации в файлах кажется проще. Но эта простота - именно что кажущаяся. Потому что попробуйте при помощи find / найти где же сидит этот гребанный файл с конфигурацией автомаунта - я Вам не позавидую.
no subject
Date: 2003-09-29 10:32 am (UTC)Да, но там всего один файл конфигурации и все в нем. Кстати есть что-то забавное в том, что Вы привели в пример именно Самбу.
С этим утверждением трудно спорить, но я попробую. Пример такой системы - Windows начиная с 2000. Ваш ход.
Windows 2000 имеет интересное свойство: она со временем работает все медленней и медленней. Это конечно ничем не подкрепленные слова. Ну мне так кажется, и не мне одному. Многие просто её раз в год переустанавливают. Это, конечно, на десктопе. На сервере, на который не ставят новые программы таких проблем нет. Я считаю, что это связано с накоплением мусора в registry.
Потому что попробуйте при помощи find / найти где же сидит этот гребанный файл с конфигурацией автомаунта - я Вам не позавидую.
С помощью find сложно. А вот так:
rpm -qa | grep auto
rpm -ql autofs
man autofs
довольно просто.
no subject
Date: 2003-09-29 10:39 am (UTC)Навскидку - их там как минимум 3: собственно samba.conf, lmhosts и файл с паролями. Да, четвертый - /etc/init.d/samba.
Плюс, почему-то samba.conf по крайней мере на Дебиан существовала в нескольких вариантов. Какой из них действовал - поди разберись.
no subject
Date: 2003-09-29 10:47 am (UTC)/etc/init.d/samba -- это не совсем файл конфигурации программы, это скорее вместо диалога "services". Тут бы уместно сказать, что я думаю о команде net и её документации, но это офтопик.
lmhosts и файл с паролями это не конфигурация. Это файлы с данными. Я понимаю, что реестр стирает разницу между данными и конфигурацией, а тут она есть. Следующим моим аргументом должен был быть список разных деревьев в реестре, по которым разбросана конфигурация сервисов, которые делают то же, что Самба, но я понял, что просто не смогу их все найти, так что придется отказаться от этой затеи.
no subject
Date: 2003-09-29 11:33 am (UTC)На самом деле, реестр пригоден для хранения любой иерархической информации небольшого объема, которая редко изменяется. lmhosts - типичный пример. Более того, мне не совсем понятна логика разработчика, поместившего в системную директорию windows файл /etc/hosts. Его содержимому самое место в реестре.
Вместо команды net Вы можете воспользоваться вполне съедобным графическим междумордием. Как жаль, что в plain vanilla Unix нет аналога команде net, и каждая дистрибуция придумывает что-то свое.
no subject
Date: 2003-09-29 11:40 am (UTC)На самом деле я часто ловлю себя на дословно такой вот мысли: "и за что я эту registry так ненавижу? Идея-то вроде правильная...".
Кстати в Самбе скоро обещают команду net.
no subject
Date: 2003-09-29 12:37 pm (UTC)no subject
Date: 2003-09-29 12:49 pm (UTC)no subject
Date: 2003-09-29 01:03 pm (UTC)В event viewer, понятное дело, нет ничего. Точнее, там до задницы всего, только не имеющего отношения к делу.
Его как бы аналог на Юниксе, содержимое директории /var/log, намного менее приспособлено для использования человеческим существом.
Это вы, батенька, сгоряча сказали. В евентлоге такой мусор встречается, что только руками всплеснешь. Вот сейчас глянул, там лежит от инсталлера сообщение, что-то типа "В продукте {длинный GUID} неовзможно установить компоненту {другой длинный GUID}". Оченно полезно. А в другом логе вот такое: "RSM cannot manage device PhysicalDrive1. It encountered an unspecified error". Тоже крайне полезное сообщение :)
no subject
Date: 2003-09-29 02:19 pm (UTC)Это офтопик, но мрачный для Windows, очень.
no subject
Date: 2003-09-29 03:04 pm (UTC)Как сделать grep в evenlog'e?
"Event Viewer" -> скажем, "Applications" -> View -> Filter. Если не устраивают предлагаемые опции фильтерования, можно скинуть лог в файл (Action -> Save Log File), дальше - грепом.
Где он вообще находится?
Куда положите (вышеупомянутой опцией), там и будет.
Как запустить eventviewer через командную строку (минуя меню)?
C:\>eventvwr
Как настроить какие программы пишут в какой event log?
Любая программа, используя задокументированный интерфейс
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbtskaddingyourapplicationassourceofeventlogentries.asp
Кроме того, можно посыслать события через утилиту с командной строки:
http://www.itworld.com/nl/win_this_wk/03032003/
Это офтопик, но мрачный для Windows, очень.
Давайте теперь все те же вопросы зададим про syslog, maillog и еще черт знает какой лог в директории /var/log/*. Впрочем, это оффтопик.
That's it!
Date: 2003-09-29 11:10 am (UTC)Да, кстати - Винды бекапят свой реестр. А как на счёт INI?
Да и вообще - по моему любые такие споры - это "ענין דתי" (дело религии),
на данный момент существуют 3.5 нормальных операционки (UNIX (+0.5-Linux :-), MAC, Win (NT)), которые
а) работают;
б) с ними работают многие
в) написано до дури софта;
г) они "стандартизировали мир", что вывело программирование из пелёнок "домушничества".
...
Каждый волен ругать/выбирать в соответствии с первой детской любовью,
ибо кроме удобства,пригодности к решению определённой задачи, лёгкости/цены поддержки и комплектующих, всё остальное - лишь пустые разговоры, частенько поддерживаемые лишь апломбом.
no subject
Date: 2003-09-29 12:32 pm (UTC)man automount
А вот расскажите мне, где искать registry entry, в котором написано, какой диск куда прицепляется при буте - думаю, это посложнее будет задачка ;)
no subject
Date: 2003-09-29 12:43 pm (UTC)Google ->
http://www.theeldergeek.com/change_drive_letters.htm
no subject
Date: 2003-09-29 01:12 pm (UTC)Что касается автомаунта - надо, разумеется, читать и man autofs заодно. Там всё прописано с примерами. Очень весело работает. Единственный недостаток - когда что-то не работает по внешним причинам, найти,что же не сработало, трудновато. Это проблема, что есть, то еть. У виндов, впрочем, с этим ещё хуже - они просто при любой проблеме спрашивают пароль до посинения ;)
no subject
Date: 2003-09-29 01:14 pm (UTC)no subject
Date: 2003-09-29 01:37 pm (UTC)Зачем в registry? Это можно сделать из explorer. Рассказать как?
То же касается и остальных заданий. Есть GUI, есть configuration APIs, а есть и registry keys, но поскольку доступ к ним напрямую не предусмотрен, они не документированы. Если же кому-то очень надо, он найдет их (хотя зачем - непонятно).
no subject
Date: 2003-09-29 01:57 pm (UTC)В этом-то и основная беда. Это концепция windows, за которую я его не люблю - что якобы они лучше меня знаю, чего мне понадобится. По опыту - они знают хуже ;)
Зачем в registry?
Мы ж говорили про registry. Вот вам пример вещи, которую в конфигурации Unix найти проще простого, а в registry - очень непросто. Я таких примеров, при нужде, могу немало произвести :)
Это можно сделать из explorer. Рассказать как?
Расскажите. А лучше напишите - коротенькую программку, которая бы получала 2 аргумента - букву и сетевой путь - и привязывала второй к первой. Нет, я не спорю, это возможно - но пока эту фигню отыщешь, заморишься. То ли дело Unix - mount и кум королю ;)
no subject
Date: 2003-09-29 02:02 pm (UTC)no subject
Date: 2003-09-29 02:12 pm (UTC)no subject
Date: 2003-09-29 03:19 pm (UTC)Это насчет резолюции экрана. Судя по Вашему комменту выше, стандартные инструменты можно предлагать? Ну так вот, стандартнее WinAPI на виндах еще не придумали.
Re: почему надо ненавидеть майкрософт
Date: 2003-09-29 11:47 pm (UTC)"[HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{B18A464E-ACA7-4F17-A1B4-3ED211131432}\0000\Mon70000001]",
Правда образец понятности и прозрачности? ;) Я ещё и подозреваю, что это имя аппаратно-зависимо... Нет, я понимаю - "не предназначено для использования". Ну тогда нечего на юникс наезжать, что у него файлы не так устроены - у виндовсов registry устроено не лучше, да ещё и не предназначено.
Re: почему надо ненавидеть майкрософт
Date: 2003-09-30 04:47 am (UTC)Имя не только аппаратно зависимо, но ещё и драйверно и номеромонитроно зависимо, представляешь? Только не надо туда ходить вручную. Просто нет необходимости. Реестр предназначен для хранения данных программ, а не пользователей. И если у тебя три видеокарты, пять мониторов и работаешь с ними ты в двух конфигурациях, то такая нотификация позволяет избежать путаницы в текстовом файле хотя бы за счёт представления данных в виде дерева.
Мне кажется логичным, что ОС должна иметь централизованную базу данных для хранения своих настроек. Все *nix согласны с этим и имеют негласный стандарт держать натройки ОС в /etc. Вот только для windows эта система текстовых файлов в /etc неудобна -- настроек на порядки больше -- стороннего софта больше, драйверов больше, железа больше.
Я себе представляю OLE, лазающее grep'ом по директории с CLSID и собирающее объекты из текстовых файлов.
Вариантов её хранения 2: более удобный для пользователя и более удобный для ОС. Для ОС типа windows, где требуется хранить множество настроек, подходит естественно второй. А чтобы пользователь не скучал ему дали минимально функциональный редактор реестра.
На самом деле просто у различных подходов различны цели.
Re: почему надо ненавидеть майкрософт
Date: 2003-09-30 05:00 am (UTC)Сегодня в масле потребности нет ;)
Реестр предназначен для хранения данных программ, а не пользователей.
Есть такие люди - программисты. Они кто - программы или пользователи?
Мне кажется логичным, что ОС должна иметь централизованную базу данных для хранения своих настроек.
_Своих_ настроек или всех вообще настроек?
Ну да ладно - допустим, это всё так. Но registry - это лишь один из возможных вариантов воплощения одной из моделей такой базы. И как таковой, обладает многочисленными недостатками.
Тема в том, что если я каждый раз для того, чтобы узнать, где что в registry хранится, должен запрашивать соответствующую программу - с тем же успехом эта программа может хранить свои конфиги в .ini или на клинописных табличках. Преимущество единой базы должно быть в том, что есть унифицированные инструменты доступа. Часть этих инструментов у registry есть - но увы, недостаточная. В первую очередь - из-за недостаточной документации, стандартизации и излишней ориентации на специализированные GUI. Для юзеров этого и вправду хватает, а вот как начнёшь копать вглубь - начинается кино и немцы.
Я себе представляю OLE, лазающее grep'ом по директории с CLSID и собирающее объекты из текстовых файлов.
Совершенно необязательно грепом. Файловая система поддерживает иерархические структуры не хуже спецформата микрософт, и уж точно - не медленнее. Особенно специализированная система - смотри, например, /proc.
А хоть бы и грепом - чем, в самом деле, плохо?
no subject
Date: 2003-09-30 08:05 am (UTC)Хотя честно говоря хочется гибрида ;) надо будет скрпитик написать на sh
Re: почему надо ненавидеть майкрософт
From:Re: почему надо ненавидеть майкрософт
From:Re: почему надо ненавидеть майкрософт
From: