История одного переезда

Опубликовано Cyrill 18.07.2008

Не знаю, насколько это будет интересно людям, которые читают мой блог из интереса к веб-разработке, но, думаю, стоит написать об одном событии, в котором я не так давно участвовал — переезд компании, в которой я работаю.

Итак,  получилось так, что нам пришлось переехать — чуть раньше назначенного времени и чуть не туда, куда планировалось =) Собственно, сам по себе переезд небольшой инфраструктуры– невеликая проблема, но в данном случае все осложнялось рядом факторов:

  1. До последнего момента никто не знал, куда-таки мы едем
  2. Времени, как следствие из (1), было катастрофически мало
  3. Под переезд были запланированы мероприятия по полной замене парка сетевого оборудования и телефонной станции (точнее, до этогособственной телефонной станции у нас просто не было:))

Еще за неделю до того, как нам надо было освободить занимаемое помещение, мы ездили и смотрели разные офисы на предмет их пригодности к внезапному заезду — наличие и состояние СКС, электрической сети, общее состояние офиса.. Вариантов было отсмотрено очень много, но беда в том, что реально пригодных ко въезду не было.

Должен заметить, что пять или шесть просмотренных офисов были близки к тому, что мы были готовы в них заехать, но основным препятствием было то, что там совершенно по-идиотски была реализована СКС. К сожалению, проектировщики (даже в очень навороченных бизнес-центрах) думают, по всей видимости, задницей — иначе, как объяснить, что на 600 квадратных метров офиса предусмотрено всего 30 мест СКС по два порта? Но это лирика, впрочем..

Внезапно, за три дня до момента X, подходящее помещение было найдено вблизи м. Площадь Ильича — и удаленность от центра, и состояние офиса и инженерных сетей более или менее отвечало нашим потребностям. Дальше — понеслось

Что обязательно надо сделать ИТ-специалисту перед переездом внутри офиса?

  1. Обязательно промаркируйте всю технику — компьютеры, мониторы, клавиатуры и прочее (этим мы озаботились заранее)
  2. Промаркируйте диски серверов, если это еще не сделано
  3. Промаркируйте сетевые интерфейсы multi-homed машин (серверов и всяких разных рабочих станций), если это еще не сделано
  4. Если ваше сетевое оборудование отстроено и работает так как надо — озаботьтесь наличием кабельного журнала — что, как, чем и куда (устройство/порт) подключено и соответствием такого журнала реальному состоянию вещей. В идеале, должны быть отмаркированы патч-корды, чтобы не думать лишний раз при коммутации
  5. (техническое) Уменьшите срок аренды выдаваемых адресов на DHCP

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

Какие административные вопросы нужно решить перед переездом?

  1. Убедитесь и убедите руководство, что платежи, которые надо совершать по вашей просьбе, сейчас имеют статус особо важных — если не оплатить подключение интернет-канала, иначе никто не сможет работать на новом месте
  2. Запаситесь определенной суммой наличности на непредвиденные расходы с минимальной отчетность (у меня ушло порядка 30 000 рублей)
  3. Убедитесь в том, что на новом месте у вас есть пропуск на круглосуточный доступ в здание хотя бы в течение двух недель — неделю до переезда и неделю после такового

Что надо подготовить вне компании?

  1. Если вы ждете доставки оборудования на новое место, убедитесь, что службы доставки знают новый адрес, ваш номер сотового телефона и точно уверены, что приедут в назначенное время
  2. Заключите договор с провайдером (провайдерами) на новом месте — в то время, как вы развешиваете сервеы по шкафам, инженеры провайдера должны протягивать вам кабель с живительным интернетом :) Учитывая то, что любой провайдер — очень небыстрый механизм, озадачьтесь сильно заранее, по возможности
  3. Если возможности подключить постоянный интернет-кана в момент въезда — договаривайтесь с соседями по офису, ищите точки Wi-Fi, в конце-концов, попробуйте подключиться через скайлинк
  4. (чуть не забыл самое интересное) Если вы сами поддерживате на своих серверах пользовательские сервисы (почта, веб, прочее) — попробуйте найти площадку для временного размещения оборудования, кроме того, заранее уменьшите значения refresh и ttl внешних DNS и добавьте заранее необходимые записи a и mx

С этим тоже проблем, вроде, не возникло. Теперь — о том, что должно быть под рукой:

  1. Запаситесь всевозможными инструментами — отвертки всех мастей, пассатижи, кусачки, нож (лучше пара — открывать заботливо залепленные скотчем коробки) — все это должно быть в рюкзаке/машине/где угодно не упакованное
  2. Набор инструментов для разделки витой пары — инструменты для зачистки, обжимные клещи, тестер кабельных соединений, рации (если вы работаете с помощником — незаменимая вещь)
  3. Набор электроинструмента — не повредит пара шуруповертов, дрель или перфоратор
  4. В случае отсутствия электрических шуруповертов — купите в автомагазине набор ключей с удлинителями и трещотками — очень упрощает жизнь, экономит силы и время при сборке/разборке серверных шкафов
  5. Адекватное ситуации количество витой пары в бухтах, коннекторы 8p8c, колпачки на патч-корды, нейлоновые стяжки и прочая монтажная мелочь — всего этого должно быть с избытком
  6. Маркеры, самоклеящиеся этикетки и т.п.

В организации набора юного монтажника сильно помог магазин “Бурый медведь” =) Кстати, если вы планируете ночевать в офисе — озадачьтесь наличием средств личной гигиены, сменной одежды и т.п. Кроме того — ваши ноутбук и сотовый телефон должны быть заряжены, набалансе сотового телефона должна быть сумма денег, отличная от нуля, в записной книжке должны быть все телефоны — поддержка провайдера, все без исключения сотрудники, администрация нового офиса, службы доставки пищи :) Кроме того, ваш номер должен быть у всех заинтересованных лиц.

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

Чтобы быть во всеоружии, заранее спланируйте следующее:

  1. Кто чем занимается при переезде и в какой последовательности
  2. Кто занимается встречей подъезжающего оборудования / служб доставки и прочего (в идеале, если на такие вопросы удастся ангажировать сотрудника, не вовлеченного в процесс монтажа/демонтажа)
  3. Кто занимается закупками недостающего оборудования/материалов (заранее прикиньте, кто ближе живет к каким магазинам), составьте табличку с адресами и телефонами магазинов

Вроде все. Надеюсь, моя писанина поможет кому-нибудь переехать безболезненно)

[Slashdot] [Digg] [News2] Бобрдобр [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Как посмотреть MSDE-лог ISA2004/2006?

Опубликовано Cyrill 30.05.2008

Для начала — ситуация: вы используете ISA 2004/2006 для организации доступа в интернет, причем ISA хранит свои логи в MSDE, т.е. по умолчанию. И тут — вам срочно надо посмотреть в лог сервера на предмет того или иного действия, например, посмотреть какое количество трафика вчера ушло на чтение ЖЖ. В этот момент вы понимаете, что средство просмотра журналов, встроенное в ISA вам никак не поможет, а все возможные ISA Proxy log analyzers работают только с текстовыми логами.

Да, предполагается, что вы располагаете MSSQL Query Analyzer, входящим в состав SQL сервер, либо SQL Server management studio, входящей в SQL Server Express, распространяемый бесплатно — одно из этих средств нужно, чтобы подключиться к БД.

К делу.

1. Требуется разрешить входящие подключения от машины, на которой стоит Query Analyzer к серверу ISA на 1433 порт TCP (встроенное правило MS SQL)
2. На сервере ISA выполните GUI-утилиту svrnetcn, выберите в списке экземпляров MSDE экземпляр SERVERNAME\MSFW, после чего включите для него протокол TCP/IP
3. Смело подключайтесь к серверу ISA при помощи Query Analyzer или SQL Management Studio.

Обратите внимание, что ISA создает по одной БД каждые сутки, что накладывает ряд ограничений на объем выборки.

[Slashdot] [Digg] [News2] Бобрдобр [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Визуализация данных: Шаблоны информационного дизайна

Опубликовано Cyrill 06.05.2008

Из RSS-потока Information Aesthetics почерпнул великолепную закладку - Information Design Patterns

Screen 1

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

Те, кто хоть раз сталкивался с задачей “описать неописуемое” — оценят.

[Slashdot] [Digg] [News2] Бобрдобр [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Ruby, русские буквы, UTF-8 и unexpected kEND, expecting $end

Опубликовано Cyrill 04.05.2008

В процессе освоения рельс столкнулся с неприятной мелочью — время от времени, при использовании русских символов в коде, интерпретатор сваливался с ошибкой unexpected kEND, expecting $end at …

При преобразовании файла .rb, созданного в кодировке ANSI в UTF-8 средствами Notepad++, ошибка, что характерно, прекращается, но не всегда. Попробовал преобразовать в UTF-8 без BOM — заработало и не спотыкается. В природу явления вникать некогда, кому поможет — буду рад =)

[Slashdot] [Digg] [News2] Бобрдобр [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Microsoft запустила AdCenter Analytics beta

Опубликовано Cyrill 04.04.2008

Когда-то давно я оставил свой адрес электронной почты на завлекалке microsoft, посвященной сервису веб-аналитики. Вчера пришло письмо, пригласившее открыть аккаунт в службе AdCenter Analytics с соответствующим промо-кодом

AdCenter analytics teaser

Иллюстрация - с сайта Analytics, мне таких графиков еще не показали - данных мало.

После вполне стандартной регистрации, было предложено создать профиль и установить код отслеживания (Javascript, разные версии для http и https) на страницы сайта(блога и т.п.). Я, естественно, решил попробовать на этом самом блоге - о результатах буду докладывать по ходу. К слову, сервис порывался вставить код отслеживания автоматически, требуя пароль от ftp, но я не решился - черт его знает, что он там в шаблоны WP повставляет?

Под катом - несколько говорящих за себя скриншотов, для аппетита.

Читать полностью »

транслитерация по правилам

Опубликовано Cyrill 02.04.2008

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

Собственно, пользуйтесь =)

  1. public function transliterate(&$wordarr)
  2. {
  3.         $ru_vowels = array( ‘/же/’,  ‘/ше/’,  ‘/че/’,  ‘/ще/’, ‘/ье/’,‘/ъе/’,‘/ьи/’,‘/ъи/’,‘/ъо/’,‘/ьо/’,‘/а/’,‘/е/’, ‘/ё/’ ,‘/и/’,‘/о/’,‘/у/’,‘/ы/’,‘/э/’,‘/ю/’, ‘/я/’,);
  4.         $en_vowels = array( ‘zhe’, ’she’, ‘che’, ’shche’, ‘ye’,‘ye’,‘yi’,‘yi’,‘yo’,‘yo’,‘a’,‘e’,‘yo’,‘i’,‘o’,‘u’,‘y’,‘e’,‘yu’,‘ya’ );
  5.  
  6.         $ru_consonants  = array(‘/б/’,‘/в/’,‘/г/’,‘/д/’,‘/ж/’, ‘/з/’,‘/й/’,‘/к/’,‘/л/’,‘/м/’,‘/н/’,‘/п/’,‘/р/’,‘/с/’,‘/т/’,‘/ф/’,‘/х/’, ‘/ц/’, ‘/ч/’, ‘/ш/’, ‘/щ/’,‘/ъ/’,‘/ь/’);
  7.         $en_consonants  = array(‘b’,‘v’,‘g’,‘d’,‘zh’,‘z’,‘y’,‘k’,‘l’,‘m’,‘n’,‘p’,‘r’,’s’,‘t’,‘f’,‘kh’,‘ts’,‘ch’,’sh’,’shch’,,  );
  8.  
  9.         $pattern = array_merge($ru_vowels,$ru_consonants);
  10.         $replace = array_merge($en_vowels,$en_consonants);
  11.  
  12.         foreach ($wordarr as $key=>$item) {
  13.                 $wordarr[$key] = preg_replace($pattern,$replace,strtolower($item));
  14.         }
  15. }
[Slashdot] [Digg] [News2] Бобрдобр [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Продолжение автоматизации FineReader: работа над ошибками

Опубликовано Cyrill 28.03.2008

Друзья, вынужден признать, что опубликованный мной скрипт AutoIT для автоматизации Finereader работает из рук вон плохо, кроме того неоптимален по времени и использованию ресурсов. После небольшого прохода по Google была обнаружена компания Ranorex GmbH, предлагающая замечательные средства для работы с Windows GUI. Поскольку я давно собирался начать осваивать Python, выбор скриптового языка для работы с FR не был вопросом.

Итак, под катом - очередная вариация скрипта на тему “Как автоматизировать FineReader”. Требуется Python и библиотеки Ranorex, которые скачиваются с сайта программы.
Читать полностью »

Пакетное распознавание документов при помощи FineReader и AutoIT

Опубликовано Cyrill 25.03.2008

Привет,

Прошу прощения, что давно не писал - исправляюсь.

Возможно вам доводилось сталкиваться с задачей, когда надо распознать в удобочитаемый (или редактируемый) вид сканированные или отфотографированные изображения каких-нибудь текстов. Например, редкие учебные пособия, переснятые в перерыве или, например, куча сканированной рабочей документации. Основная проблема в такой ситуации состоит в том, что FineReader, являющийся, на мой взгляд, лидером в точности распознавания, не имеет встроенных средств для пакетной обработки. Существует корпоративная версия, но она, по сути, решает несколько другие задачи: работа по расписанию и т.п. В общем, не совсем то, что нужно. Теоретически, существует Abbyy Recognition Server - но он стоит совсем других денег и лицензируется на объем обрабатываемых документов (либо абсолютное значение, либо помесячный лимит), что не вполне подходит под мои требования =)

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

После дискуссии на форуме Abbyy, обнаружил скрипт автоматизации FineReader 8 средствами абсолютно бесплатного средства автоматизации действий с интерфейсом AutoIT. Выяснилось, что с девятым FR скрипт работает не совсем корректно, посему пришлось дорабатывать напильником.

Результат тестировался в русских версиях Vista HB и Windows XP Prof, и, в общем, работает =) В скрипте есть ряд задержек, выявленных эмпирическим путем. Допускаю, что серией экспериментов эти задержки можно сократить.

Как пользоваться скриптом?

  1. Скачайте и установите AutoIT.
  2. Установите ABBYY FineReader.
  3. Установите в системе английскую раскладку клавиатуры умолчанию
  4. Запустите FR и его переключите его интерфейс на английский язык
  5. Откройте и распознайте в ручном режиме любые (желательно небольшие) файлы изображений из папки, предварительно установив необходимые опции распознавания (это нужно для сохранения настроек FR, эти же настройки будут применяться ко всем автоматически распознаваемым файлам)
  6. После сохранения распознанного вручную файла, FR нужно закрыть; в диалоговом окне сохранения файла нужно выключить галочку “Открыть сохраненный файл в родном приложении”, иначе открытые файлы очень быстро съедят память
  7. При поврежденном файле изображения скрипт приостанавливает выполнение и ждет нажатия кнопки, после чего выполнение продолжается.
  8. При необходимости изменить в коде скрипта константы $FR_dir, $drive и $START_dir
  9. Чтобы построить список папок, выполните небольшой батничек, приведенный под катом, результат его работы положите в папку $START_dir. Обратите внимание, что пустые папки тоже попадают в список, поэтому их надо вычистить вручную.

Известные слабые места скрипта:

  1. Для каждой итерации FR запускается заново
  2. Существуют случайные баги в работе скрипт - подозреваю, это связано с AutoIT, но у меня скрипт стабильно работает при выключенном explorer.exe, отключенном антивирусе, остановленных некритичных службах XP и остановленном антивирусе - чтобы минимизировать возможность воздействия на работу скрипта
  3. Задержка в 15 секунд после сохранения файла - чудовищно велика при большом количестве папок; уменьшение ее, однако, влечет увеличение сбоев в работе скрипта

Вот так - сыро, местами глючно, но чертовски дешево (100 € за FineReader Prof).
Под катом - код для AutoIT и bat-файл для сбора дерева папок. Удачного распознавания! Спасибо Alexrey (ник U235 на форумах ABBYY) за скрипты для FR8.

Читать полностью »

Немного сетевого

Опубликовано Cyrill 29.02.2008

На этот раз - небольшой мистический триллер про настройку windows 2003 и ISA 2006. Поскольку это немного выбивается из общей тематики блога, уберу под кат, дабы не грузить тех, кому это неинтересно. Вкратце - речь о решении ошибок в работе фильтра RPC ISA Server 2006.

Читать полностью »

Игра в ассоциации v. 2.0

Опубликовано Cyrill 19.02.2008

Вы когда-нибудь играли в ассоциации? Типа “вода — мокрая, “превед — медвед” и “маша — растеряша”? Наверняка, в детстве. Тепрь у вас есть шанс поиграть в ассоциации со всей планетой — встречайте Human braincloud:

Human braincloud of preved!

Идея очень простая: вы можете либо играть в ассоциации, вводя первое, что приходит на ум при виде задаваемого вам слова “Маша? Растеряша!”, либо задавать слова, глядя на реакцию пользователей, либо просто смотреть на движение облака. Чем толще связывающая два слова нить — тем прочнее ассоциация. На картинке — реакция посетителей сайта на известный мем =)

Попробуйте — вам понравится — я уже полчаса не могу оторваться.

Via information aesthetics (a must-read!).

[Slashdot] [Digg] [News2] Бобрдобр [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Copyright © 2007 Cyrill. All rights reserved.