DiBR
обычная кошмарная
домашняя страничка
Ежекакполучится околокомпьютерное обозрение
 
  <<<  предыдущий 31 августа 02 года следующий  >>>  
   Последний выпуск       Архив       Ссылки       Полезности       humor.filtered       О сайте   
          ...люблю Микрософт. За неожиданные сюрпризы-ловушки в тех местах, которые, казалось бы, десятилетиями вытаптывались поколениями программистов и пользователей на предмет возможных граблей.
          Компьютеры, бывает, виснут. Из-за софта (сейчас уже редко), из-за железа, да мало ли из-за чего. У нас в ИПФ стоИт один такой - с глючным scsi-адаптером, шедшим в комплекте со сканером, заменить который всё как-то лениво, тем более что и виснет-то нечасто. Но метко. Во время одного из зависов была открыта в ворде дипломная работа одного из студентов - после перезагрузки от дипломной работы остался пшик: ворд категорически отказывался принимать файл за свой, предлагал что-то там "восстановить", результат восстановления был пригоден разве что для корзины. Поматерившись на "долбаный кеш с его долбаной отложенной записью" (кеш оказался не при чем, но об этом потом) глюк сочли случайным. Через неделю таким же образом и с теми же симптомами был убит ещё один документ. Тогда я ещё ничего не подозревал, поэтому на винду накатали сервиспак и переустановили ворд - типа профилактика.
          Второй такой виснущий стоит у меня дома. Нет-нет, если бы он вис регулярно - жить бы я с ним не стал, но с месяц назад он повадился виснуть этак раз в неделю, после плясок с бубном в виде перенакатывания сервиспака, включения-выключения DMA на IDE-каналах и прочего шаманства, включавшего в себя протирание контактов пришел в себя, в чем была проблема - не пойму до сих пор. Но разок повиснуть с открытым в ворде текстом статьи (после чего пришлось искать бэкап недельной давности) он успел. Тут-то я и насторожился...
          Введем понятие "подвешенное состояние". В подвешенном состоянии находится документ, если в момент нажатия на reset он находится не на энергонезависимом носителе, а в памяти, и в результате этого нажатия мы остаемся без документа. У нормальных редакторов документ никогда не находится полностью в подвешенном состоянии - поскольку перед сохранением новой версии старая версия переименовывается в "резервную", и даже при сбое в момент сохранения мы остаемся как минимум с предыдущей версией. У менее нормальных редакторов (я не знаю - возможно, тот же ворд по его мнению сохраняет резервную версию, но мне как-то ничего похожего найти не удалось) резервной версии не сохраняется, и, начиная с момента нажатия кнопки save до момента физического попадания документа на жесткий диск, документ находится в этом самом "подвешенном" состоянии - старой версии уже нет, новой версии ещё нет, при внезапном вырубании питания мы остаемся без документа.
          Это не так чтобы совсем уж хорошо, но как минимум - не так уж и плохо. Сохранение документа обычно длится секунды, время между сохранениями - минуты, компьютеры виснут таки редко, так что вероятность потери документа невелика, и жить так можно. Абсолютное большинство редакторов работают либо по первому, либо по второму алгоритму, и проблем это обычно не вызывает.
          Эксперименты показали. Что установленный "по умолчанию" (разрешено "быстрое сохранение") Microsoft Word 2000 (из Microsoft Office 2000) реализует третий алгоритм. Документ находится в "подвешенном состоянии" от момента первого нажатия на save до момента выхода из ворда! Учитывая старую привычку "тыкать в save на всякий случай" и обычно включенное "автосохранение" - мы получаем гарантированную смерть документа при сбое питания, зависе компьютера, или в конце концов слёте самого ворда по причине "недопустимой операции".
          При разрешенном быстром сохранении, после нажатия на save на диске создавался файл, имеющий правильный размер и почти правильное содержимое, но не имеющий в хвосте "подписи" Word.Documend.8 и сопутствующего этой подписи "обрамления". Хвост дописывался в файл в момент выхода из ворда - до этого момента любой сбой приводил к тому, что документ-то вроде на месте, но открыть его нельзя. Попытка в лоб скопировать в хвост документа хвост от другого, похожего - приводила к тому, что ворд молча падал от изумления, даже не пытаясь "совершить над собой недопустимую операцию". Логично - пересадка головы делается не скотчем и жвачкой, а методами нейрохирургии. Но в любом случае - документы жалко, все три. А микрософтовским программистам - твердая двойка. Мало того, что нет резервной копии, так и основную-то записать не могут...

          Сухой остаток - если у кого-то по недосмотру включено быстрое сохранение - выключите. А ход мыслей программистов от MS, придумавших столь забавный метод сохранения файлов, мне непонятен до сих пор.
          Интересно наблюдать за борьбой "shit'а и меча", находясь при этом где-то поблизости. Но непосредственно не участвуя - наблюдать за чужим геморроем всегда приятней, чем иметь его у себя.
          Я про спам - ме-едленно решаемую проблему современного интернета. Что такое "спам" объяснять не надо. Бороться с ним можно - основной (и принципиально правильный) метод борьбы - ведение баз "open relays", серверов, позволяющих рассылать через себя почту "левым" пользователям. Баз таких уже есть несколько штук, внесение в базу, проверка и удаление из баз делается автоматически, то есть чтобы подозрительный на open relay сервер был проверен и занесен в базу - достаточно вбить его в формочку на соответсвующем сайте. Метод этот надежен - в том смысле, что почта с таких серверов отсекается полностью, а главное - что "ложные срабатывания" практически исключены: если сервер попал в такую базу, то через него действительно может идти (и как правило и идет) спам. После закрытия релея админстратору сервера достаточно на том же сайтике вбить свой адрес в другую формочку - и сервер будет автоматически проверен ещё раз и удален из базы. Быстро, удобно, гигиенично, надежно. Кто попал в такую базу - сам виноват, и сам (получив первый десяток возвратов писем с подробными комментариями) быстро-быстро всё настраивает.
          Ага, размечтались. Конечно, метод этот сейчас чуть ли не обязателен к применению любым ISP, не желающим просто утонуть в спаме. И свою порцию спама он отсекает. Но - во-первых, от момента получения порции спама с такого релея до момента попадания релея в базу проходит какое-то время (в базу-то его всё-таки ручками, утром, разгребя кучу пришедшего за ночь хлама), а во-вторых - что делать с более аккуратными спаммерами, пользующимися более продвинутыми методами, от попыток спама через "халявные мэйл-сервера" ("тест на открытость" в лоб они не пройдут, но для спама их использовать иногда можно), до простого приобретения "интернета по карточке" и "честного" спама через почтовый сервер провайдера? Нельзя же совсем запретить слать почту - а если есть возможность послать почту - то есть возможность послать много почты...
          Появились фильтры. Фильтры, отсекающие спам по каким-либо "характерным признакам". Поскольку фильтр должен быть (1) автоматическим и (2) иметь максимально низкую вероятность отсечь честное письмо - анализ контента отпадает. Остается анализ заголовков. Анализ заголовков на предмет поиска того, что "формально неправильно, но раньше на это забивали" (пустой параметр в HELO/EHLO, например), "формально правильно, но обычно не бывает", или "формально правильно, но обычно так делают известные спамометательные программы" (особенности формирования X-UIDL, "подписи" в X-Mailer, специфические служебные строки). Результат своеобразен - кроме вполне понятного потока писем "а вот перестала ходить почта" (на поверку выяснялось явное несоответствие "ненужным тонкостям" стандарта SMTP вроде того же HELO) попадаются и интересные моменты. Скажем, отказ принимать почту, посланную "Mozilla 2.01KIT" (не правда ли, спаммерская штуковина), или отказ принимать сообщения с формально правильным, но "криво выглядящим" X-UIDL. Всё это ловится и выправляется (иногда со второй попытки - кто ж знал, что эта самая мозилла столь похожа на спамометательную машину), но некий осадок остается. Когда всё "в основном работает, но иногда может и не" - это не совсем правильно. Хотя, не спорю, пока довольно эффективно.
          Пока эффективно. Поскольку разработчики спамометательной техники на месте не сидят, и на замену студенческим поделкам на вибейсике, авторы которых имеют слабое представление о том, как обычно выглядит SMTP-сессия (не говоря уж о том, чтобы корректно прикинуться каким-нибудь MS OE 5.0), неизбежно придут на смену такие же поделки, но написанные студентами старших курсов, которые догадаются отсниффить smtp-сессию своего любимого аутлука, и с небольшими изменениями вставить результат в свой спамомет. После этого найти признак, отличающий спам от не-спама будет сложно, а учитывая, что право на ошибку работает в весьма узких пределах - практически невозможно. То есть, год-другой - и такой спам-фильтр можно будет выбрасывать на помойку. Или ставить на стороне клиента - там он в случае чего сам себе буратино, и критерии фильтрации может установить существенно более жесткие.
          А жаль. Единственная надежда - что за то время, пока спаммеры будут переписывать свои инструменты - будут заткнуты все или почти все открытые релеи, а спаммеры с диал-апа... ну, придумают что-нибудь и против них :-)
         
- RU.OS.CMP (2:5015/42) ------------------------------------------- RU.OS.CMP -
 From : Slava Lempert       2:5070/66.35                  Sun 11 Aug 02 12:04
 To   : All
 Subj : http://junix.kzn.ru
Hello All!
 
Во!
Тренируйтесь и упражняйтесь :))
Эмулятор Unix v5.47b

Slava
 
--- GoldED+/W32 1.1.4.3
 * Origin: See ya in CyberSpace (2:5070/66.35)


          О как. У меня дома, правда, не заработало - но на работе доставило кучу удивления :-)
          Ах да. Свершилось. Minolta Dimage 5. Теперь сосу лапу и жду зарплаты - комплектный флэш на 16Мб есть издевательство над человеком :-)
          И ещё. Какие есть дешевые варианты сливания флэшей вдали от цивилизации (где нет интернет-кафе и пишущих CD) но при наличии сети 220В? "Диджитал воллет" и подобные - пока чуток дороговаты, ноутбук - на пределе разумности по цене... десктоп таскать ломает... пока вижу два варианта - собрать "микро-десктоп" на базе какой-нибуть мамки с интегрированным usb и видео (чтобы "плоской" была), засунуть в коробочку с БП и написать софт. Либо - спаять к имеющейся 486sx в ультраслим корпусе переходник к IDE, далее - так же. Туда же и сетевуху можно - для полной автономии. А какие могут быть ещё варианты?...




<<<

архив

>>>

Версия для печати.
endmai endma endm end