John 的个人资料Старый нудила日志列表SkyDrive 工具 帮助
11月2日

У русских свой счёт.

Скоропостижно скончалась домашняя клвиатура. Достал с полки стаааарую HP клаву (ещё без Win  клавиш) и поехал купить себе новую. Я не превередлив и купил себе простенький комплект от Logitech ( Cordless Desktop® MX™ 3200 Laser ). Дёрнуло меня что-то почитать инструкцию. Русские, как всегда, идут своим путем :

ScannedImage 

Под пунктом 5 нарисованы батарейки. Ничего удивительного. НО! По английски - “Six AA bateries”. Всё понятно. По польски - “Sześć baterii AAA” тоже смахивает на русское “шесть”. Но у русских свой счёт (или они НДС вычитают?) “Четыре батарейки типа АА”.

Ну бывает, ошиблись. Слова перепутали. Но нет. Они продолжают упорствовать :

ScannedImage-2.1 

Уже цифрами “чёрным по английскому” - “Insert 2 AA batteries in the mouse and 4 AA batteries in the keyboard”. По русски : “Вставьте по 2 батарейки типа АА в мышь и клавиатуру”.

Во так. “В России синус может достигать 5 (пяти)” ;-))))

10月23日

ЧуднЫе дела с SQL DMO

Есть у меня несколько скриптиков на SQL DMO (знаю что древнятина, но переписывать лень). Занимался этот скриптик забавной штукой - выставлял правильный fileGrothType после "рукоприкладства" разных backup-ов и админов. Выглядел примерно так :
 
DBName = "MyBase"
 
Set oSQLServer = CreateObject("SQLDMO.SQLServer")
oSQLServer.LoginTimeout = 30
oSQLServer.LoginSecure = True
oSQLServer.Connect "localhost"
             
oSQLServer.Databases(DBName).TransactionLog.LogFiles(1).FileGrowthType = 0
 
И всё. Вообщем ничего сложного. Но заметл я , что перестал он этот "FileGrowthType" выставлять. Т.е. буквально за ним читаешь его-же, а он там не 0.
Чесал я репу. И уже стал пугаться, что что-то изменили в 2008-м сервере с совместимостью с DMO (сколько можно??!!! тащить за собой это старьё, наверное они подумали). Но всё остальное-то нормально делается. А вот именно FileGrowthType в этом скрипте не выставляется. Полдня бился. Не выставляется и именно в этом скрипте. Решене - пипец :
Вместо
 
oSQLServer.Databases(DBName).TransactionLog.LogFiles(1).FileGrowthType = 0
 
Надо
 
oSQLServer.Databases(DBName).TransactionLog.LogFiles(1).FileGrowthType = 0
oSQLServer.Databases(DBName).TransactionLog.LogFiles(1).FileGrowth     = 10

 
Т.е. любое ещё действие с настройками базы и всё применяется замечательно. Казалось бы "при чём тут Microsoft"? ;-)))))) Но "ненатуральненько так выглядит ;-)))))
 

Кто такой Генерал Фелуре ...

Выдержка попыток залезть на один из ftp серверов :
 
#Software: Microsoft Internet Information Services 7.0
#Version: 1.0
#Date: 2009-08-26 09:47:32
#Fields: date time c-ip s-port cs-method cs-uri-stem sc-status sc-win32-status sc-substatus x-session x-fullpath
2009-08-26 13:24:02 210.56.192.51 21 USER admin 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
2009-08-26 13:24:24 210.56.192.51 21 USER ftp 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
2009-08-26 13:24:46 210.56.192.51 21 USER oracle 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
2009-08-26 13:25:07 210.56.192.51 21 USER mysql 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
2009-08-26 13:25:29 210.56.192.51 21 USER nagios 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
2009-08-26 13:25:53 210.56.192.51 21 USER helen 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
2009-08-26 13:26:37 210.56.192.51 21 USER web 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
2009-08-26 13:27:01 210.56.192.51 21 USER webserver 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
2009-08-26 13:27:24 210.56.192.51 21 USER red 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
2009-08-26 13:27:45 210.56.192.51 21 USER java 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
2009-08-26 13:28:06 210.56.192.51 21 USER streaming 331 0 0 5903e89e-51a6-43b3-a1cc-faa8c36cca0c -
 
Всё понимаю, но кто такая "helen" и почему именно она, а не "john" какой нибудь? И почему только красный ("red")? Откуда любовь именно к этому цвету? "Шаррррада" (с) "Малыш" А.Б.С.
10月16日

Block IP address

Понадобилось мне блочить плохих пользователей через firewall. Написался забавный скрипт.
Что делает?
Парсит список лог фалов задаваемый маской. Выявляет упоминание IP адресов в этих файлах и формирует firewall-е правила по их блокировке. Расчитано на сутки (т.е. через 23 часа происходит реабилитация IP адреса.
 
Чуть подробне :
Скрипт стОит запускать раз в час. Файлы по маске смотрятся в текущем каталоге (для тех кто будет делать "запланированную задачу")
Сначала disable-иться правило "следующего часа" (как раз для "реабилитации IP". если за час не нагадит в лог файл, то в список и не попадёт).
Потом формируется список IP упоминавшихся в LOG файлах с течении последних 60 минут (параметр /TimeOld). чтобы не просматривать все файлы, смотрится дата модификации файла и если она раньше TimeOld, то файл даже не просматривается. Т.к. ввиду разных причин командная строка ограничена (я поставил 6000 символов в начале скрипта - iCmdLen = 6000 ), то не все отмеченные в логе N раз (/Count =  2000) могут попасть в правило, но скорее всего попадут в следующем часу. По умолчанию файл считается W3C логом с time stamp в GMT, т.е. читается комментарий #Fields: и определяются позиции параметров "date", "time" и "c-ip". Но можно задать позиции "руками" (встроенный help подскажет как"). Список запихивается в правило с именем XX (час запуска скрипта). Если правило отсутствует - оно создаётся.
 
Вот такой весёлый скрипт. Нам помог утихомирить небольшой напавший на нас BotNet. Идея мне понравилась тем, что как-то легко "самореализовалась" система реабилитации IP.
 
P.S. не всё оптимально (лишний раз формирование словаря и отсутствие некоторых проверок), зато наглядно :-)
 
P.P.S. возникнет желание - можно докастомизировать (указание каталогов, маски названий правил и произвольная реабилитация, например 3 дня) ...
 
9月15日

А нам всё равно (письма наших писателей)

 

Support сегодня “отжёг” :

" ... дифференциальный инкремент к файлу ... "

Вот так рождаются новые технологии и понятия :-)

9月11日

Mail client

Достал меня OutLook окончательно. Почту показывает через раз. Показывать количество непрочинанных писам в IMAP папаках отказался напроч. Раньше как-то работало, а сейчас нет :-(

Ввиду убогости почтового сервера (данного мне в “ощущение”) раскладку по папкам я делаю на клиенте. POP – ненавижу и пользуюсь только IMAP. Идеальным клиентом для меня был, как не странно, OutLook Express. НО! Правила “раскладывания почты” у него на IMAP не работают (???). Приходилось пользоваться OutLook. Но вот и OutLook меня достал и пришлось искать альтернативу. OutLook Express-а теперь нет, а есть Windows Live Mail в котором “правила раскладывания почты” отсутствуют напрочь. “В топку её” (С) Ф.Ф. Преображенский. Есть ещё масса притензий к Live Mail, но “в топку”, так “в топку”. Ктому же за обоми этими клиентами (не за OE) замечено дуратское свойство : Кнопка "принять-отправить" вызывает некое бурление у них в животе и они "уходят в себя". Т.е. принимаю и отправляют, но я хочу видеть "прогресс", а он у этих клиентов сильно фоновый (за отсутсвие этой "радости" я и любил OE).

Вдумчиво попробовал Буревестника. ТАК ЭТОЖЕ OutLook Express и даже лучше. Чуть чуть plugin-ов ( так для красоты, типа Quote Colors) и мою любимую “раскраску” phoenity и можно опять радоваться жизни. Нет. Минусы есть, конечно, но преодолимые. Самы большой минус – неуменее раскладывать входящую почту по “телу письма”, остальное по мелочи.

P.S. Это всё от бедности. Я знаю, что “раскладкой писем по папкам” должен заниматься сервер.

P.P.S. Пересылать на Google mail или HotMail – не предлагать. Нелюблю многоходовый бред.

7月7日

Письма наших писателей.

Письмо клиента :
 
> имеется простое ASP.NET приложение, которое использует штатные контролы DetailsView,
> LoginView и проч. Текстовые метки компонентов там зависят от установленного значения из
> web.config  system.web : globalication : culture/uiculture. Локально на компьютере разработчика все
> работае и переключается согласно документации MSDN.
 
Сразу вспомнился "Начальник чукотки" и эпизод, когда американец продаёт трубы от патефона (для родившихся в эпоху развитого капитализма - американец давал послушать патефон, потом отрывал трубу и продавал чукче, как "музыкальная шайтан труба").
Вот так и программисты : показывают на своей машине "Всё работает". Клиент несёт на хостинг - не работает. Кто виноват? Программист? ЩА! Хостер конечно. А клиент, естественно, прав. Раз программист написал в Web.Config :
    <globalization
      enableClientBasedCulture="true"
      fileEncoding="utf-8"
      requestEncoding="utf-8"
      responseEncoding="utf-8"
      culture="auto"
      uiCulture="auto"
    />
И у него по русски, то значит всё правильно. А хостер систему настраивать не умеет. Как в анекдоте : "Я хочу что-бы машина была цвета бордо". Делают. "Не понял. Пацаны - бордо это, разве, не зелёный?" auto - это, разве, не русский?
 
Это реклама "марсианской логики" и патефоннных труб.
6月10日

Вот что с серверами Service Pack делает.

Вот один из наших серверов :
 
Не ясно, насколько нужно Web Edition роль WSUS, но Application Server нужна "по любому".
Официально объявляется Service Pack 2. УРА !!! Или нет???
Вот поставленый сервер с SP2 :
 
Опа. Заметили что число ролей "уполовинилось". Ну ладно FSRM (File Services) вроде и не обещали, но вот Application - то за что?
 
Сел думать, нужен мне SP2 или подождать (только чего?)?
 
Update.
Хммм .... всё оказалось несколько проще :-))) Роли "уехали" в "фичи". Т.е. Application, подразумевающая WCF HTTP Activation, стала одной из возможностей .NET Framework, а File Server просто стал возможностью FSRM (что и показано на рисунке):
 
Продолжаем издеваться над дистрибутивами :-) Том както умудрился поставить сервер с одной ролью :-))))
 
5月18日

Тщательнее надо, господа из MS.

Есть такой web site - winqual.microsoft.com. Это тот, который информацию о драйверах, update-ах и тому подобных вещах выдаёт. Тыркнулся я в него с приходом нового драйвера. И "не попал" ... Т.е. нет такого, сказал мой браузер. Разобиделся я и решил проверить данную информацию :
 
> nslookup winqual.microsoft.com
 
Non-authoritative answer:
Name:    winqual.partners.extranet.microsoft.com
Address:  213.199.138.104
Aliases:  winqual.microsoft.com
 
Да нет. вроде существут. Т.к. доверие к браузеру уже подорвано, лезем руками :
 
HTTP/1.1 200 OK
Content-Length: 1433
Content-Type: text/html
Content-Location:
http://winqual.microsoft.com/iisstart.htm
Last-Modified: Thu, 24 Mar 2005 17:19:08 GMT
Accept-Ranges: bytes
ETag: "0ce4f969530c51:9526a"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Mon, 18 May 2009 14:45:02 GMT
Connection: close
 
Вам тоже нравится выделенная строчка? ;-))))) О как. iisstart.htm, почти без присмотра? ;-))))
Дальше притвряемся совсем глупымии и делаем telnet на 80-й порт с фразой GET /<cr-lf> :
 
HTTP/1.1 302 Found
Date: Mon, 18 May 2009 14:48:28 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Location:
https://10.253.212.78/default.aspx
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 151
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="
https://10.253.212.78/default.aspx">here</a>.</h2>
</body></html>

Connection to host lost.
 
Расписные красавцы :-) Т.е. если ещё радом стоящий DNS-ик найти, то можно и про MS-овский intranet узнать. Хотя, судя по имени winqual.partners.extranet.microsoft.com, это не совсем MS и не совсем intranet. Но я-бы, всё одно, не подставлялся бы так.
 
4月15日

Ложечки-то нашлись ...

Тут меня спросили, и я решил ответить :
К посту про IIS.CertObj - "ложечки нашлись". Т.е. IIS.CertObj в IIS7 эмулируется (что не может не радовать. Уж больно удобен). НО! Он устанавливается в случае выбора не "IIS 6 Metabase Compatibility" и не с "IIS 6 Scripting Tools", а с "IIS 6 Management Console" (которая мне там нафиг не нужна).
"Где логика, где разум?" (С) Анекдот
 

О пользе документирования (MS - ненатуралы)

Нужно выполнить доооооолгий запрос на SQL-ле (ну ещё чутка обработать данные перед этим). "Нет ничего проще" подумал я и наваял на VBScript-е небольшой код :
 
Set oSQLBase = CreateObject("ADODB.Connection")
oSQLBase.ConnectionTimeout = 86400
oSQLBase.CommandTimeout    = 86400
oSQLBase.Open
Set oRet = oSQLBase.Execute( "EXEC LoooongQuery" )
oSQLBase.Close
Т.к. знаю, что выполняться должно доооолго, то смело ставлю суточный (86400 сек.) timeout (потом оказалось что там всё ещё дольше :-) ).
Выполняем. И получаем - Query Timeout ... И подозрительно быстро. Начинаю искать и гуглить. Даже попробовал заводить отдельный объект ADODB.Command и выставлять у него timeout. Всё одно рубит через 15 сек ... Бился полдня. ПЛЮНУЛ. Решил сделать через sqlcmd. Запускаю и получаю по морде :
 
>sqlcmd -t 86400
Sqlcmd: '-t 86400': Timeout has to be a number between 0 and 65535.
Во как!  И что главное, ни в одном  (суки!!!) руководстве, как от MS, так и от сторонних источников пределы этого параметра не обозначены. Мало того, скрипт это "глотает" МОЛЧА и ничего не делает (т.е. timeout остается равным default, т.е. 15 сек.), так ещё и в самом параметре находится число которое указал я, а не "действующее".
"Программисты обладают альтернативным мышлением" (с) Мой.
 

Тихо шифером шурша ....

Читаю сегодня про уязвимость :
 
Повышение привилегий в функции SearchPath() в Microsoft Windows
 
Описание:
...
Уязвимость позволяет удаленному пользователю скомпрометировать целевую систему.
Уязвимость существует из-за ошибки в функции SearchPath() при обнаружении и открытии файлов на системе. Злоумышленник может обманом заставить пользователя загрузить на систему специально сформированный файл и заставить пользователя запустить приложение, способное при определенных обстоятельствах загрузить файл.
...
 
"Таааак ... У меня что-то с головой" (С) френен Бок
Т.е. играем в "армянский комсомол" (сами себе создаём трудности и сами их, с успехом, преодолеваем). Завтавить загрузить файл, заставить запустить программу, чтобы загрузить файл. "что-то новенькое в любовном лексиконе нашего двора" (с) "Стакан воды"
Вспоминается анекдот про программиста "Намылить, смыть, повторить ..."
 
P.S. Объяснять зачем и что, мне не надо. Просто фраза построена - ВИЗГ!
 
4月11日

Ping from alias IP или MS - ненатуралы.

Зашел ко мне парень из DC (Data Center) с некой проблемой:
Очень часто устанавливая пользователям сервера, нужно инициировать сетевую деятельность с alias IP, т.е. дополнительного IP на интерфейсе (некая защита по arp cache). "Да легко" - сказал я - "Ping-ани default gateway". Услышал законный вопрос - "Как?". "Ну ... " - сказад я - "Ping -S, например ...". На что услашал "САМ ПОПИНГУЙ!!!".
И так. Хммм ... Сказал я ... Ну и попингую ... (У меня Win2003) :
 
> ping -S 10.10.10.10 10.10.10.1
10.10.10.10 is not a valid address.
 
Во как! Курим help :
 
>ping -?
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
            [-r count] [-s count] [[-j host-list] | [-k host-list]]
            [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name
Options:
...........
    -S srcaddr     Source address to use (IPv6-only).
...........
Во как! IPv6 и баста! Нужно срочно искать замену. .... Прошло немного времени ... Эврика! PathPing нас спасёт :
> pathping -?
Usage: pathping [-g host-list] [-h maximum_hops] [-i address] [-n]
                [-p period] [-q num_queries] [-w timeout]
                [-4] [-6] target_name
Options:
.........
    -i address       Use the specified source address.
.........
Уф ... Проверил - работает. Можно расслабиться? Ну на всякий случай проверим на Win2008 :
Help на pathping не отличется, значит всё хорошо? :
 
> pathping -i 10.10.10.10 10.10.10.1
Tracing route to 10.10.10.1 over a maximum of 30 hops

The option -i is only supported for IPv6.
Вот те ХРЕН!!! И что делать? Прошло немного времени ... А как там у нас поживает ping?:
 
 > ping -?
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
            [-r count] [-s count] [[-j host-list] | [-k host-list]]
            [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name
Options:
........
    -S srcaddr     Source address to use.
........
Я один заметил отсутствие упоминания IPv6? Проверка показала правильность моей догадки.
 
НУ И КТО ТУТ НАТУРАЛ???? :-)))))))))))
 
4月10日

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

При поиске в сети нарвался на шедевральную фразу :
" .. ping сетевой эквивалент звукового устройства ..."
Ну какой "администратор" из такого, простите, вырастет ...

Русская языка не родной :-)))

Ну я понимаю, что у Google русский язык "не родной", но смотрится забавно :
 
(Это интерефейс настройки GMail)
Так и хочется добавить пункт - "Иногда не использовать http" :-))))) Прям для блондинок.
 
P.S. BTW только у меня сегодня Google IMAP не коннектится с "идиотским квестом" - "Web login requeried" ?
3月24日

Linux woman

Вот тут запостили переводную новость про "человекоподобного Linux робота". Ну новость, как новость. Только порадовал комментарий :
"Ммммммм ... Linux с сиськами - мечта админа".
 
 
Я бы перефразировал - "Linux с сиськами - мечта красноглазика".
Теперь фраза "Всю ночь с Линуксом трахался" приобретает РЕАЛЬНЫЙ смысл.
 
3月2日

Кто все эти люди?

Зашёл в настройки HotMail почты и взглянул в "заблокированные отправители":
Кто все эти люди (домены)??? У меня б устала рука их "блочить" ...
 
P.S. И "@email.com" там есть. :-))))

Хацкеры в FAR Manager

Смотрю форум по FAR Manager и натыкаюсь на plugin, не много не мало, как на "Просмотр статистики почты Нац. Банка Украины".
Эх. Вот такой бы, для просмотра почты швейцарских банков... :-))))) А украинские - мелковато :-)))))

Письма ... Кхм. _НАШИХ_ писателей.

Идёт переписка с клиентом, у которого не совсем корректно работают скрипты. Не сказать что очень долгая, но идёт. И ТУТ ВДРУГ сотрудник поддержки выдаёт ответ клиенту:
 
>       Итак, главный вопрос: кто должен выправлять ситуацию, и какие
> перспективы/рекомендации по ее исправлению?
>

Обращае Ваще внимание на то,что,  подобная ошибка служитъ н фопйсувх с
разрешения дежурного по столовой.

Резервную копию Вы найдете на <там-то>.

Всего доброго.
 
Что он курил при этом, выяснить не удалось (было лень). НО! Спасибо адекватному клиенту. Ответ клиента порадовал :
 
   Здравствуйте, ***** !
   Вначале - небольшое лирическое вступление:

       Ах, дежурный по столовой,
       Вот и ты с своей обновой,
       С фопйсувх - ом на подносе
       И с ответом на вопросе!

    А если серьезно, то описанная в моем письме проблема была успешно
разрешена программистом сайта .........
 
Во как !!! Вот таких-бы адекватных клиентов, да с пол мульёна :-)))))
 
P.S. Но что он курил НАДО УЗНАТЬ :-))))
 

Наш ответ Чемберлену.

Случайно наткнулся на "новость" 3-х годичной давности. Очень порадовало отсутствие в "новости" ссылок, но это меня не остановило. Я, таки, нашёл этот, пресловутый, LSD LSDN. Хммм ... Прошло 3 года. Не впечатлил. IMHO - обычная помойка пингвинятников. Да ещё и регестрироваться нужно, что бы скачать ...
Винде капец? ;-))))