Первый же запуск обновлённой версии программы отправил WinXP в синий экран. Решив, что это была случайность, запустил программу снова. На этот раз результатом стал не только синий экран, но и сброс настроек BIOS. При пошаговой отладке выяснилось, что при первом вызове процедуры в функцию формирования импульсов передаются нормальные параметры, а при последующих вместо текущего адреса LPT-порта передаются абсолютно произвольные данные. Причина ошибки оказалась проста: желая освободить EBX для собственных нужд, я push’нул его содержимое в стек. При первом вызове процедуры формирования адреса указатель базы стека (который по умолчанию хранится в EBX) совершенно случайно оказался равен 378h, смещение на которое я и подсмотрел. При последующих вызовах база стека была уже другая, и вместо LPT-порта моя программа слала байты куда придётся.
После того как всё было отлажено и результат меня устроил (хотя полностью от процедуры контрольного чтения отказаться не удалось), я решил сравнить производительность своей и оригинальной софтины. Нашёл микросхему со схожим алгоритмом записи, но поддерживаемую оригинальной утилитой, и сравнил с помощью осциллографа временные интервалы формируемых сигналов. Результат ещё раз напомил мне о том, почему я перебежал из программистов в железячники: оригинальная софтина работала на 20–30 процентов быстрее моей. Могу лишь предположить, что вместо PerformanceCounter в оригинальной утилите используется какой-то ещё более точный таймер.
12:15 18.10.2013, IT happens
Работал в крупной корпорации в отделе информационной безопасности. По долгу службы приходилось с завидной периодичностью посещать другие отделы и проверять рабочие компьютеры на соответствие нормативной документации по ИБ. Так как корпорация огромная, свыше пяти тысяч компьютеров разных мастей, зоопарк техники и настроек этой самой техники был до невозможности разнообразен.
За всё время работы по пальцам одной руки можно пересчитать количество компьютеров, на которых я не нашёл нарушений, и все эти компьютеры были настроены с довольно ограниченным доступом. Доменные пользователи без прав администратора с софтом, необходимым исключительно для работы. Для каждого юзера в определённом количестве выделялся интернет-трафик через корпоративный прокси. Не было стандартных кодеков, игр, проигрывателей, флеш-плеера в браузере. В общем, без прав администратора можно было только работать на том, что установлено. Хотя некоторые умудрялись проносить мелкие игры, не требующие установки…
С другими компьютерами была совсем беда. Почти на всех были права администратора, стояли игры, из каждого второго торчал USB-модем, про видео и музыку развлекательного характера и говорить не стоит.
Вот тут и возникает вопрос: кто из указанных выше пользователей работал, а кто просто проводил время на работе? Как по мне, так ответ очевиден.
Желаю всем взаимопонимания между ПК, рядовыми пользователями и сотрудниками, обеспечивающими работоспособность корпоративных компьютеров.
12:15 18.10.2013, IT happens
Звонок в службу поддержки единого офиса. Пользователь рыдает:
— Добрый вечер, у нас филе пропало, что нам делать? Было филе — и нет его!
Спрашиваем, что такое филе. Пользователь объясняет, что филе — это то, что вчера было на столе, а сегодня пропало.
— Ваше филе было на рабочем столе компьютера? Как оно выглядело?
— Было на столе, за котором я работаю. Приезжайте, я вам примерно покажу, как оно выглядело. Срочно, пожалуйста …
Выезжаем на вызов к пользователю. Оказывается, слетело разрешение экрана, а «филе» — это обычный пункт меню
12:15 18.10.2013, IT happens
Я творческий IT-специалист. Мне повезло: работа и хобби совпадают.
Мать и дед — художники, отец — электронщик-рационализатор. На генетическом уровне мне передались обе предрасположенности — креативность и рациональность. В детстве я обожал рисовать, но моей любимой игрушкой был осциллограф, а потом компьютер «Робик».
В своей работе я воплощаю все свои творческие потребности, а благодаря рациональности нахожу наиболее эффективные и простые пути решения поставленных задач. Компьютер для меня — универсальный инструмент, с помощью которого можно автоматизировать и упростить практически любой рабочий процесс.
Я не дизайнер и даже не программист, как можно подумать изначально (а точнее, не только дизайнер и программист). На данный момент я простой российский системный администратор. За свою жизнь с помощью компьютера я рисовал в растре, векторе и 3D. Записывал и обрабатывал звук и видео. Писал реляционные базы данных и иные прикладные приложения, а также веб-сайты. Для меня компьютер — это нечто ясное и открытое, словно палка, которой можно и копать землю, и сбивать плоды с деревьев, и защищаться, и охотиться, и опираться, и играть.