вторник, 28 июля 2009 г.

ATI-шные драйверы - самые драйверные драйверы в мире

Черт меня дернул проапгрейдить дрова для видеокарточки ATI Radeon HD 3850 AGP... Право, бес попутал...

Поначалу все было хорошо: зашел на сайт, подобрал нужный драйвер последней версии 9.7, скачал (35 метров, однако). Надо отметить, что на сайте все сделано разумно и удобно. Я даже прочитал инструкцию по установке! В ней меня, правда, смутил один пунктик, касающийся предварительной деинсталляции "any legacy drivers" - вроде уж давно инсталляторы сами делают всю необходимую работу. Кроме того, возникал вопрос: теперешний мой драйвер legacy или не-legacy? Ладно, разберемся по ходу...

Попробовал установить без сноса старых дров. Инсталлятор завершил работу с ошибкой типа не обнаружено подходящего железа или неподходящая ОС. Полез еще раз на сайт - все нормально - и карточка, и ось указал правильно. Однако, по сайту я искал немного не так, как в первый раз, и мне рассказали, что есть еще и драйвер версии 9.3.1, помеченный как "legacy"... Уже теплее... Раз 9.3.1 - legacy, значит тот, который у меня, тем более "legacy"... Значит сносим.

Снос старых дров занял минут 20. За это время можно было бы отформатировать винчестер гигов на 100. Перегрузился, запустил инсталлятор. Эффект тот же. Тупо проверил на сайте все еще раз - все правильно. Скачал только дрова версии 9.3.1 (около 15Мб). Попробовал поставить - те же яйца, только в профиль. Полез опять на сайт. После получасового копания на сайте (это при отсутствии видеодрайвера, когда скроллинг страницы в IE превращается в созерцание неторопливой перерисовки) выяснилось, что эту проблему они, ATI, знают и во глубине "базы знаний" (т.е. набора статей о глюках и методах их обхода) даже есть 2 статьи, почти одинаковые, но помеченные разными датами, в которых есть ссылка на драйверы версии 9.6 hotfix для XP и Vista (32 и 64 бит). И никаким другим способом эти драйверы разыскать мне не удалось. После скачивания очередных 35 Мб (хорошо, хоть скорость скачивания 500-600 кил в секунду, а не 19200 бод!) инсталлятор наконец-то опознал и железо, и ось. Так что еще минут через 20 новый драйвер наконец заработал.

Господам из ATI единственно что хочется сказать: ПОУБИВАЛ БЫ! Спасибо, за прекрасно проведенный вечер!

Всем остальным: ссылки на статьи в базе знаний
  1. Catalyst AGP Hotfix resolves errors that result in a “No compatible hardware found” error related to Catalyst driver installation for ATI Radeon™ HD 2000 or ATI Radeon™ HD 3000 Series AGP video cards.
  2. Hotfix for “No compatible hardware found” error when installing Catalyst drivers for ATI Radeon HD 3000 and ATI Radeon HD 2000 Series AGP

пятница, 10 апреля 2009 г.

Мелкософтовая забота о ближнем

Microsoft, как всегда заботится об удобстве своих пользователей:

Цитата:

На компьютерах с системой Windows Vista или Windows Server 2008 не удается открыть файлы справки, для которых требуется программа справки Windows (WinHlp32.exe). В данной статье содержатся сведения о загружаемом файле, который позволит устранить эту проблему.

С момента выпуска системы Windows 3.1 корпорация Майкрософт включает в новые выпуски программу справки Windows (WinHlp32.exe). WinHlp32.exe используется для просмотра 32-разрядных файлов справки с расширением HLP. С выпуском Windows Vista и Windows Server 2008 корпорация Майкрософт решила не включать в состав операционных систем программу WinHlp32.exe. Это связано с тем, что для программы WinHlp32.exe не выпускалось существенных обновлений в течение нескольких лет и она перестала соответствовать стандартам Майкрософт для новых программ. Корпорация Майкрософт осознает, что это может доставить некоторые неудобства пользователям, желающим обновить систему до Windows Vista или до Windows Server 2008, но которые все еще используют 32-разрядные файлы справки с расширением HLP. В связи с этим программа WinHlp32.exe предоставляется для загрузки на веб-узле Центра загрузки Майкрософт.

Класс! Я давно такого не видел. А если у меня нет интернета?...

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

Ситуация напомнила старый анекдот. В военной части идет проверка. За каждое замечание - минус один балл, система пятибалльная. Проверяющий проходит по части - не может найти ни одного недостатка: все сверкает, трава выкрашена по уставу. Наконец он подходит к машине, к которой пристегнута лопата (ну там из грязи выбраться или еще для чего). Вынимает эту лопату из зажимов и начинает рассматривать:
- Та-а-ак... Скол на ручке... (адьютант записывает замечание)
- ...поцарапана краска... (адьютант записывает)
- ...зазубрина на штыке... (адьютант записывает)
Командир части, видя что все идет к "неудовлетворительно", не выдерживает, берет лопату из рук проверяющего и, размахнувшись, забрасывает ее через забор части.
- Пишите одно замечание: отсутствует лопата.

С глаз долой - из сердца вон.

Оригинал статьи: http://support.microsoft.com/kb/917607

вторник, 7 апреля 2009 г.

Vista. Первые впечатления

Intro

Наконец-то я решился попробовать самую современную, самую надежную и самую удобную операционку от Microsoft: Windows Vista Ultimate x64. Я не из тех, кто ставит эксперименты на себе. С операционками от вышеозначенной глубокоуважаемой компании, по моему стойкому убеждению, можно иметь дело только после выхода первого сервиспака (а лучше, после второго). Мне-то работать надо, а не бороться с глюками новой оси. Наконец я посчитал, что мы созрели: я для установки Висты, а Виста для нормальной работы. Производители железа успели переписать под Висту дрова, в описаниях программных пакетов перестала быть редкостью строчка "Vista compatible". Вобщем "надо ехать"...

Установка

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

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

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

Интерфейс пользователя

Одно слово - красота. Дизайнеры потрудились на славу. Не всегда, правда, очевидно куда надо тыкать мышью, зато очень красиво.

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

Старт-меню - тоже красиво, но оказалось неудобно работать с "All Programs" - слишком маленькое окошко, да еще с прокруткой.

Капли дегтя

Когда волна эйфории схлынула, начали выявляться некоторые... как бы сказать... неудобства. Во-первых, система явно ориентирована на необстрелянных чайников. Я отнюдь не считаю себя супер-пупер крутым программером-сисадмином-хакером, но уж на "продвинутого пользователя" вполне тяну. И нектороые вещи после пары часов работы с системой начинают тихонько подбешивать. Первое - это постоянные предупреждения UAC. Второе - куцый интеллект "Обозревателя Windows" aka Windows Explorer (я вообще тащусь от некоторых терминов в русифицированной Винде). Эта тварь, Window Explorer, пытается мне показывать содержимое папок не так, как этого хочу я, а так, как оно считает наиболее приемлемым для меня. Причем прибить эти непонятные телодвижения очевидными средствами не удалось.

Хорошо, что перед тем, как возиться с Вистой, я немного пошуршал по интернету и нарыл некоторое количество информации по настройке системы. Так что теперь UAC задавлен на корню, а Windows Explorer'у была проведена лоботомия и теперь он особым интеллектом не отличается.

Еще один перл от Дядюшки Билла: по умолчанию ось давит (!) производительность системы. Причем существенно. В режиме Power saver, установленном по умолчанию, расчетная задача была выполнена за 3 минуты 5 секунд, а в режиме High performance - за 2 минуты 4 секунды.

И, на сегодня, последнее: свежеустановленная Виста жрет 1.05Гб оперативки. У XP аппетит в 4 раза скромнее. Я конечно попрбую уменьшить ее запросы без потери функциональности...

Размышления

Вообще, конечно, требования системы к аппаратной части чрезмерны. Хорошо, когда под рукой есть компютер с четырехголовым процессором Extreme, 4-мя гигами оперативки и Квадрой на видео. Но, извините, таких компов - очень не много и покупаются они, как правило, организациями и под достаточно конкретные задачи. А сколько таких компов в личном владении? А на Западе, да и в Америке, думаю, что таких компов совсем мало (учитывая их пристрастия к брэндам (+30-50%% к цене) с одной стороны, и к экономии средств с другой). По-моему, Дядюшка Билл сильно погорячился, когда решил выпустить на рынок такую операционку.

четверг, 15 января 2009 г.

Эволюция

Интересные наблюдения по поводу эволюции.

Сначала был свет и была тьма. Потом появился машинный код. Это были времена "суровых мужиков" - Настоящих Программистов. Программы были воистину компактные и понастоящему эффективные. Потом Настоящие Программисты на машинном коде написали программу-транслятор и назвали ее "ассемблер".

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

Макроассемблер - это по сути связка некоего текстового препроцессора с транслятором. Текстовый препроцессор выискивал в тексте программы некие, известные ему, лексемы и разворачивал их в определенную последовательность лексем. Идея проста, как яблоко. Но яблочко оказалось с дерева познания Добра и Зла. Что после этого случилось в Эдеме -напоминать не надо. В общем некошерное оказалось яблочко. До появления макроассемблера программы были прозрачные: что написано на языке ассемблера, то и будет оттранслировано в машинные коды. "Макро" сильно напустило тумана. С одной стороны программы стали писаться быстрее, так как отпала необходимость по многу раз набивать почти идентичные участки кода. С другой стороны параметризованные макрокоманды стали восприниматься как "черный ящик": программисты стали забывать что там на самом деле делается и в какой код будет развернута та, или иная макрокоманда. Это стало началом конца эффективных и компактных программ.

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

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

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

С++ уже не декларировался как язык "среднего" уровня. Это был полноценный язык высокого уровня, не лишенный красоты и элегантности. 90-е годы прошлого века.

Microsoft Visual C++. Microsoft Visual Studio 2008. Казалось бы что нового? Ну визуальная среда программирования... Ну библиотеки... .NET в конце-концов... А С++ - он и в Африке С++. Ан нет. Специалисты Microsoft измудрились и тут так приложить свою руку, что от классического С++ остались только базовые понятия. И то не все (например исчезло множественное наследование). Зато появилось множество новых ключевых слов. Классы стали пухнуть на глазах. Например, сколько памяти должен занимать экземпляр управляемого класса, который не имеет своих функций (т.е. "методов") и в качестве данных одну переменную типа char? 1 байт? 4, 8 или 16 байт? Концепция управляемой кучи привела к тому, что фактически появился новый язык программирования. Пока читаешь документацию, кажется что все достаточно логично. А когда начинаешь задумываться, какие процессы происходят при работе программы, что бы реализовать всю эту красоту - волосы начинают шевелиться.

А ведь когда-то 8 килобайт ПЗУ вмещали в себе целую операционную систему...