О разделении инженеров и менеджеров

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

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

Ретро-виртуалки

Для всех любителей ретро в информационных технологиях.
Виртуалки первых «виндуосов».

Windows 1.01
Windows 2.03
Windows 3.0

Разархивированные файлы необходимо подключить как жесткие диски в VirtualBox. С версией 1.01 были проблемы на некоторых видеокартах с отображением.
Также прошу учесть, что в 1.01 поддержки «мыши» еще нет.

Настройка dokuwiki

Немножно технических развлечений …
Простейшая и очень качественная система. Понравилась мне гораздо больше знаменитой MediaWiki.
Один из самых больших плюсов (для меня) — прозрачность хранения данных.
Все данные лежат в обычных текстовых файлах, в отдельной папке. Их можно просто скопировать и перенести на новое место.
И редактировать тоже можно любым редактором, не обязательно встроенными средствами wiki.
Но вот есть у dokuwiki некоторые проблемы с разметкой. Вкратце — разметка у неё немного своя. Поэтому я, как любитель формата markdown, решил постараться добиться того, чтобы исходные текстовые файлы были как можно более универсальны.
Вначале подключаем формат markdown. Для этого, если копнуть интернет, есть три плагина: Continue reading

Как ломаются сложные системы

Очень жаль, что я не прочитал эту статью лет 5 назад.
Всем строящим Управление Проблемами и Управление Рисками — обязательно к прочтению.
И особенно тем, кто рассказывает о том, как «дайте бесконечные деньги, и получите доступность 99,(9)%». Кратко — шиш.
Автор статьи, кстати, не ИТ-шник, а медик.
Роману Журавлеву из Cleverics — низкий поклон за перевод.

1) Опасность – неотъемлемый атрибут сложных систем
Все интересные системы (транспорт, здравоохранение, энергетика…) естественно и неминуемо опасны по своей природе. На частоту опасных явлений в ряде случаев можно влиять, но процессы, входящие в состав этих систем, сами по себе являются источником неотвратимой опасности. И именно присутствие этой опасности приводит к созданию многочисленных средств защиты, столь характерных для этих систем. Continue reading

Инциденты по производительности

Инциденты по производительности могут быть двух типов:
Тип 1. Трендовые инциденты. Связанные с ростом тренда нагрузки, который мы не обнаружили вовремя (поддержание запаса мощности на, например, 6 месяцев). Подобный инцидент, скорее всего, не будет одиночным – это будет серия однотипных инцидентов с возрастающей частотой проявления и с единой корневой причиной.
Инциденты этого типа подразумевают, что все компоненты ИТ-системы находятся в работоспособном состоянии, и нам необходимо обеспечить запас производительности исправных компонент.
При этом, дополнительно, компоненты работают в штатном режиме. То есть нет внеплановой нагрузки, такой, как например, выполнение резервного копирования в период высокой нагрузки. Continue reading

Плагин dokuwiki XBR: исправление

У незаменимого плагина XBR есть одна неприятная особенность. Он преобразует «перевод каретки» в тег <BR />.
Если в тексте много абзацев, то форматирование абзацев (такое как красная строка, расстояние между абзацами и т.п.) работать не будет. Весь текст у нас обрамлен тегом <P>, поэтому разумно и каждый <BR /> заменить на </P><P>, (то есть закрыть и переоткрыть абзац заново).
Решение:
1) Залезаем в папку \lib\plugins\xbr.
2) Открываем файл renderer.php.
3) Находим следующий код: Continue reading

DevExpress и RouteTable.Routes

Не, такие вещи надо записывать. Угрохать три часа и найти, наконец-то, эту строчку.
Короче, так.
DevExpress не дружит с командой

System.Web.Routing.RouteTable.Routes.MapPageRoute("sometag", "{pagename}", "~/RealPageName.aspx");

Причем не дружит частично: не проходят CallBack-и.
Куча форумов и документации твердит одно: ищи, где используешь JQuery. Но его нет.
Решение: придется отказаться от красивого перехода по страницам «первого уровня» и поменять строку на:

System.Web.Routing.RouteTable.Routes.MapPageRoute("sometag", "/<что-то>/{pagename}", "~/RealPageName.aspx");

Надежность ИТ-процессов: доступ в ПРОМ

Основная цель функционирования процессов разработки и эксплуатации ИТ в части надежности – это предсказуемость результатов.
Когда вопрос касается повышения надежности сложных систем, надо учитывать, что такие вопросы как производительность, скорость обработки и т.п., должны быть отложены на вторую очередь.
На первую очередь выходит стабильность работы каждой отдельной итерации, ожидаемый результат работы каждого шага. Особенно это касается операций в продуктивной среде. Continue reading

Основы процессного управления. (видеозапись тренинга, часть вторая)

Продолжение первой части тренинга «Основы процессного управления» для консультантов Microsoft Consulting Services и сотрудников Microsoft Premier Support. Ноябрь 2010 года.
Специфика — читалось не для конечного потребителя (Заказчика), так что некоторые моменты описывают работу консультантов.

На встроенном видео изображение, возможно, мелковато. Рекомендую смотреть прямо на YouTube. Continue reading

Где найти IP-адрес для A-записи в Microsoft Azure?

Без пол-литры это найти непросто.
Открываем Azure Portal. Новый. В старом не найдете ничего.
Ищем перечень Web Apps. Находим свой приложение.
В настройках ищем «Custom domains and SSL». Это где-то посередине в самой правой части экрана.
Теперь вверху ищем маленькую кнопку «Bring External Domains».
А теперь прокручиваем далеко-далеко вниз, и там, мелким шрифтом, заветный IP-шник.
Как же просто! Убил два часа на поиски. Хотя этот параметр ДОЛЖЕН (да, именно ДОЛЖЕН) быть на самом видном месте при создании web-приложения.