Позднее Ctrl + ↑

И снова о безопасности браузеров

С сайта Opera Watch:

IE6 — 67% patched (out of 110 reported bugs).
IE7 — 25% patched (out of 4 reported bugs).
Firefox 1 — 87% patched (out of 39 reported bugs).
Firefox 2 — 50% patched (out of 4 reported bugs).
Opera 8 — 100% patched (out of 15 reported bugs).
Opera 9 — 100% patched (out of 3 reported bugs).
Safari 1 — 93% patched (out of 15 reported bugs).
Safari 2 — 33% patched (out of 6 reported bugs).

Кофе — оно

Когда кофе становится средним родом, это хотя бы можно оправдать тем, что слово кофе всем своим видом говорит: «я средний род», и любому русскоговорящему человеку удобнее его воспринимать таким.

А вы мне не верили. Ну, почитайте ещё одного специалиста.

Disclaimer: кофе-оно меня раздражает в речи, и я, в порыве, разумеется, псевдоинтеллигентности, могу иной раз и поправить. Сам я употребляю его в мужском — привык, что так правильно. Я просто считаю, что в принципе употребление кофе в среднем роде можно понять, в отличие от несклонения Абзакова.

Вообще, чтобы не попадать в просак слишком часто, нужно пить чай, а не кофе.

Кое-что про устройство Windows

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

В реестре ли проблема

Чтобы выяснить, в реестре ли проблема, достаточно подменить свой имеющийся реестр (файлы в C:\WINNT\system32\config) тем, который система сохранила на всякий случай сразу после установки (файлы в C:\WINNT\repair), не забыв, конечно, предварительно сохранить сегодняшний конфиг. Проще всего это сделать, переименовав config в config.new.

Такая подмена реестра на старый оказывается совершенно безболезненной: система спокойно загружается, воспринимая произошедшее так, будто вы просто разом воткнули кучу нового оборудования и для него надо установить драйверы. Это всё можно просто проигнорировать. На то, что в папке Program Files лежит куча «новых» папок, системе наплевать; как, впрочем, и на кучу «новых» dll’ок в system32.

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

Но это был только «общий» реестр, а ведь есть ещё «личный» (HKEY_CURRENT_USER). Он лежит в Documents & Settings в файле ntuser.dat. С ним была проделана аналогичная операция подмены (с сохранением резервной копии, конечно); тут в качестве донора использовался Defaut User — это пользовательский профиль, на основе которого создаются новые профили. Это также ничего не дало.

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

Папка system32 и комбинаторика

Следующим этапом стало «лечение» папки system32. Оно заключалось в переименовывании папки в system33 и копировании «здоровой» system32 с ноутбука. В этой скопированной с ноутбука папке реестр был заменён на мой, который из папки repair.

Удивительно, что система вообще запустилась после такого, но она запустилась! И выдала невероятное количество ошибок, заключающихся в ненайденности каких-то dll’ок — оно и понятно, в реестре всякие драйверы прописаны, а в ноутбучной папке их нет.

Важно то, что после этого «Сетевые подключения» и всякие там службы заработали. В сетевых подключениях, кстати, оказались ноутбучные подключения, что говорит о том, что подключения хранятся не в реестре, а в каких-то других файлах в папке system32.

Осталось только правильно скомбинировать все части, чтобы получить здоровую систему. Рецепт получился примерно такой:

  1. Берём system32 с ноутбука.
  2. Добиваем недостающими файлами из system33, чтобы все нужные dll’ки были.
  3. Берём свой HKEY_CURRENT_USER, резервная копия которого у нас есть.
  4. Берём свой «общий» реестр, который config.new (то есть, он должен в результате оказаться system32/config).
  5. Карри и майонез по вкусу.
  6. Перезагружаемся.

Система как новенькая. Если не считать одной мелочи.

Служба Windows Installer

Почему-то после этих манипуляций система у меня запустилась, сказав, что произошли сбои при запуске одной или нескольких служб. По данным eventlog’а, это была одна служба — Windows Installer.

Ковыряние в интернете показало, что починить слетевший Windows Installer можно, написав следующую команду: msiexec /regserver.

Такие дела.

One Typeface In The World

Helvetica: Homage to a Typeface

В книге Helvetica: Homage to a Typeface есть такая цитата:

Wouldn’t it be interesting if there were only one typeface in the world? Designers would really have to think about the idea behind their designs instead of covering it up with fancy typefaces. One, universal typeface would really strip away all the flashy emptiness in design. And, of course, that one typeface would have to be Helvetica

О законодательном требовании употребления буквы ё

Час назад на «Эхе» обсуждали возможность законодательного требования употребления буквы ё. Кто-то выступал вчера с такой инициативой.

При том, что я, как вы знаете, склоняюсь к употреблению её на письме, законодательное требование этого мне сначала казалось полным идиотизмом. Однако там всплыла проблема, которая мне не приходила в голову. Оказывается, люди, в фамилиях которых содержится буква ё, иногда вынуждены доказывать это в суде (ну то есть, что они — это именно они). Исходя из этого мне представляется логичным сделать обязательным употребление „ё“ во всяких документах — в именах, фамилиях, названиях чего-либо и т. д., но не в текстах, предназначенных просто для чтения.

В эфире было устроено голосование «Считаете ли вы, что нужно законодательно обязать граждан писать букву ё во всех необходимых случаях?».

Формулировка плоха по двум причинам:

  1. С «необходимыми» случаями все давно уже определились, и там „ё“ была и остаётся обязательной. Проблема в том, что никто нигде никому не объясняет, что такое «случай возможных разночтений». Вопрос «необходимо ли писать в необходимых случаях» несколько идиотичен.
  2. Вопрос формально предполагает ответ «Да» или «Нет», а практически — «Да, считаю» и «Нет, мне пофиг». Такие вопросы по определению заставляют звонить тех, кому не пофиг.

В общем, 84% позвонивших ответили «Да».

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

Путь решения бага Фубара с GFX Window

Я думал, что баг Фубара с GFX Window, когда на странице настроек GFX Window ничего путёвого не показывалось, уже решён — вроде жаловаться после последнего обновления все перестали. Однако Владимир Игонин придерживается иного мнения. В общем, ему слово:

Привет! Разобрался я с фубаром, на тему той ошибки. Вроде дело было так:

  1. Устанавливаем пакет А, установка foobar2000 в режиме — Normal.
  2. Распаковываем в него пакет Б.
  3. Добиваем пакетом В.
  4. Запускаем.
  5. Лезем в Preference/Display/gfx_window и получаем: Nothing to configure, if there is no skin loaded.
  6. Выходим из проги и снова в неё заходим, снова просит выбрать компонент и таже хренотень.
  7. В корне папки, куда мы установили foobar, видим файл user_profiles_enabled с размером 0 байт.
  8. Ага, а в папке Documents and Settings/User/Application Data/foobar2000/ находим файл конфигурации foobar2000.cfg.
  9. Мучительно чешем в затылке.
  10. Идём в корень папки, куда мы установили foobar и убиваем файл user_profiles_enabled с размером 0 байт.
  11. Перезапускаем прогу и вуаля! Всё работает, менюшка кажет, шкурки выбираются!
  12. Что-же случилось? Идём в корень папки, куда мы установили foobar и видим там старый знакомый файл foobar2000.cfg, а ещё до кучи foo_ui_gfx.cfg.
  13. Мучительно чешем в затылке.
  14. Вспоминаем процесс установки и пункт Enable per-user settings. Если снять эту галочку, то всё будет работать сразу.
  15. Итог. Копать разработчикам на тему расположения файлов конфигурации. Спасибо за внимание.

Что делать с этой информацией — решать вам.

Windows-хирургия

Систему удалось починить; постараюсь найти в себе силы и написать о том, как именно.

Алексею Туганову выносится огромная благодарность за фантастические познания в области устройства ОС Windows и терпение в общении со мной на эту тему. Моя упёртость в нежелании переустанавливать систему помноженная на его осведомлённость позволила мне добиться нужного результата — рабочей системы в том виде, в каком она была пару дней назад.

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

Выяснить причину заболевания не удалось.

Исчезло всё из сетевых подключений

История такая.

Пытался разорвать соединение с интернетом. Иконка около часов никак не реагировала на клики. Пошёл в «Сетевые подключения», оттуда тоже ничего не получалось. Странно.

Решил перезагрузиться.

После перезагрузки в «Сетевых подключениях» не отображается ничего. Ни одного ярлыка, включая «Создать новое подключение». Странно.

Перезагрузился ещё раз для надёжности — ничего.

Если нажать Файл/Новое подключение, то появляется окно «Мастер новых подключений», ля-ля-ля... и через посекунды просто исчезает.

Пошёл в «Службы». Служба Network Connections не запущена. Workstation тоже. И Remote Access Connection Manager. И что там ещё. Пытаюсь их запускать — пока запускаю одни, предыдущие отваливаются.

Иду в «Просмотр событий». После запуска системы первые событий 20 — сбои разных служб. Не удалось запустить то, неожиданно прервано сё. Помимо сетевых и околосетевых служб, не работают и всякие Windows Audio, Task Scheduler. Хреново.

В списке задач (taskmgr.exe, tasklist.exe, Process Explorer) ничего подозрительного, кажется, нет. С другой стороны, svchost’ов аж семь. Вроде обычно было меньше.

Перезапускаюсь в режиме защиты от сбоев с сетью. В «Сетевых подключениях» отображаются только «физические» соединения (т. е. адаптеры, а всяких диалапов и VPN’ов нет. Огляделся — вроде ничего интересного.

Windows Server 2003, восстановления системы нет.

Это написал с ноутбука.

Есть идеи?

Ранее Ctrl + ↓