bash.im ithappens.me zadolba.li
9280

Поросята в текстолитовых домиках

Ведущий сисадмин у нас имеет фамилию Волков, а зовут его Сергеем. Серваки свои он назвал соответственно: контроллер домена у него NifNif, файловый сервер — NoofNoof, а шлюз/DNS — NafNaf.

9279

Не плакала и не кололась

Было это году в 2004-м. Мой товарищ работал в небольшой конторке, торгующей дорогими брендовыми компьютерами.
И вот как-то приходит к ним тётенька — солидная и явно богатая. Собирают ей навороченный системник, добавляют немаленький ЭЛТ-монитор, и тут эта особа спрашивает:

— А экран защитный можно?
— Какой экран?
— Ну, на монитор.
— А… Так их не делают давным-давно. Нынешние мониторы излучают совсем мало, да и защитный слой изначально встроен во все модели.
— Вы меня не обманете! Я точно знаю, что надо защищать себя от радиации!

В общем поняли инженеры, что спорить бесполезно, и самый смекалистый рванул в ближайший цветочный магазин. Там за сто рублей купил симпатичный кактус в хайтечного вида горшочке. Уже на месте на него наклеили оригинальные стикеры «Intel Inside», «Powered by Asus» и «Designed for Windows». В таком виде кактус и был предъявлен тётеньке, которая сразу просияла:

— Ну вот! Я помню, что кактусы от радиации защищают! Эх вы, сразу не могли дать?

Брендированный кактус обошёлся тётеньке в 130 долларов.

9278

Незабываемые мегапиксели

28 мая 2012, 10:00

Служебная записка от руководителя отдела рекламы руководителю отдела IT:

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

C уважением, N.

9277

Win32.Vse.Dlya.Tebya

28 мая 2012, 10:00

Рассказали мне тут о совершенно неубиваемом вирусе. Когда компьютер его ловит, пользователь не в состоянии сделать вообще ничего. Друзья-программисты в панике убегают. Суровые компьютерщики советуют больше никогда не включать компьютер и купить новый.

Дело в том, что вирус при запуске компьютера показывает клип Стаса Михайлова.

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

9276

По бороздкам коврика для мыши

Сегодня убедился, что бухгалтера — роботы.

У бухши сгорел монитор в тот момент, когда она считала зарплату всей фирме. При отрубленном мониторе она сумела сохранить все данные, закрыть 1С и корректно выключить комп. Только после этого героическая женщина позвала админа.

9275

Глюков не видать

28 мая 2012, 08:00

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

Ну, дело обычное — берём на диагностику, прогоняем тесты и обнаруживаем, что хард покрыт бэдами чуть меньше, чем полностью. Ставим новый хард. Заказчик с сыном приходит забирать. Отдаём комп и убитый HDD.

— А зачем мне убитый винчестер? — спрашивает мужик.
— Ну, нам он без надобности. Отдайте сыну, пускай разберёт, посмотрит, что там внутри.
— Да я уже его разбирал… — говорит сынуля.

Пауза. Звук громкой затрещины.

9274

Заразите всё обратно

28 мая 2012, 08:00

Звонок от одного из пользователей:

— Алло, как закрыть антивирус, не сохраняя?

Долгое молчание на нашей стороне.

9273

Не очень ноль

Когда я учился на втором курсе одного белорусского университета, преподаватель физики предложила всем желающим принять участие в студенческой научно-практической конференции. Для этого требовалось написать программу, моделирующую какой-нибудь физический процесс. Поскольку от избытка любви к предмету я не страдал, а участие означало автомат на экзамене, моё решение было очевидным.

Моделировать пришлось связанные колебания маятников. Первый вариант программы я наскоро набросал на Delphi — для университетской конференции этого хватило. А затем была подготовка к такому же мероприятию, но уже между университетами. Поскольку времени хватало, я взялся переписать программу на FASM, заодно сохранив совместимость программы с Windows 95/98. Через несколько месяцев получилась вполне приличная 3D-модель с управлением параметрами системы, скоростью и направлением течения времени, возможностью подключать модели других физических процессов и прочими вкусняшками.

Проверка программы на моём собственном ноутбуке и на ноутбуках друзей-знакомых прошла на ура. А вот на домашнем компьютере (Win98) дальше выбора модели программа работать не захотела. Разумеется, всё оставшееся время было посвящено отладке. Правда, сам по себе проект уже начал надоедать, да и желания выходить с ним за пределы университета не было, поэтому в конце концов, так и не найдя ошибки, я понадеялся на русский авось и отдал программу как есть. Мне повезло: у организаторов программа не запустилась, но автомат за последний семестр физики уже был в кармане.

А полгода спустя ранним утром я, как обычно, шёл на первую пару. Мысли огромным роем носились в голове, сменяя одна другую. И вдруг я понял, в чём заключалась моя ошибка. Дождаться вечера, чтобы проверить догадку, было нелегко.

Поскольку в основном программа работала с вещественными числами, регистров общего назначения хватало с запасом. Чтобы подсократить размер экзешника, в самом начале программы я обнулял регистр EBX и использовал его везде, где это возможно, вместо константы 0. Всё тот же STDCALL этого не запрещает: вызываемые функции значение этого регистра сохраняют, так что оказалось действительно удобно. Есть только одна проблема: внутри себя функции WinAPI этот регистр активно используют, а соглашение вызова не обязывает их восстанавливать его значение перед вызовом callback-функций.

Моя ошибка оказалась в том, что в оконной процедуре (а с точки зрения User32.dll она как раз и есть callback) я забыл прописать явное обнуление EBX. На тех компьютерах, где программа работала корректно, мне просто везло: значение регистра оставалось нулевым. На остальных же системах там оказывалось ненулевое значение, которое успешно использовалось вместо всех нулей во многих процедурах программы. Одна строчка кода, два байта в экзешнике — полгода спустя они обрели своё место в коде, но было уже поздно.

Обнуляйте переменные и регистры — и будет вам счастье!

9272

Путешествие ошибки вокруг планеты за восемь дней

27 мая 2012, 10:00

Пришло письмо. Открываю — а там кракозябры, точнее, китайские иероглифы. Из письма следовало, что-де подрядились они исправить ошибку и ничего понять не могут. На тестовой сборке всё работает нормально, а вот у клиента всё раком. В общем, мне как субсубподрядчику предложили голову поломать над проблемой — мол, ты с этой платформой знаком, тебе и карты в руки.

Тут-то у меня легкое дежавю и случилось. Видел я подобную ошибку, когда пробовал накатывать софтину на базу 11.2. Разработчики переходили в это время с SVN на Git и умудрились зарелизить свою софтину два раза. Юмор ситуации был в том, что и там, и там версия указана одна и та же, а md5 отличается всего на два символа, но если не приглядываться, это незаметно. Тухлый релиз провисел часа два, а потом его заменили.

Но и это не главное. Главное в том, что софтина написана откровенно ногами, и что и куда она пихает, понять можно разве что под ЛСД, да и то не факт. Ошибка возникает, когда накатывают обновление. Чтобы аккуратно разрулить ситуацию, надо откатиться при помощи дистрибутива первой версии и только после этого обновляться. А откатиться нельзя, так как первая версия релиза в природе уже просто не существует. В общем, заморочено, но бывало и хлеще.

Отписался и с чистой совестью занялся другими делами. Через сутки приходит письмо из той же конторы, и я начинаю тихонько охреневать.

Китайцы сначала подумали, что у меня не все дома. За накурившегося сибирского шамана приняли, видимо. Но, что ценно, сначала проверили — да, всё сразу же сломалось, как я и сказал.

Тут-то и оказалось, что я не субсубподрядчик — всё значительно хуже. Оказалось, что в одной фирме города N. произошла беда, и они сразу же попросили помощи у фирмы, которая обеспечивала поддержку. Фирма была aвстрийская. Те сразу же перебросили таск в пул, и баг попал на Украину. Там что-то случилось, но в итоге задача улетела в Индию. Индусы уже давно сами код не писали, а подряжали китайцев, а у тех специалистом по данному вопросу был я.

На этом бы история в нормальных условиях и закончилась, но в дело вступил принцип глухого телефона. Переписка была, мягко говоря, активная, мозг на исходе седьмого дня буквально проели, и я высказался: не проще ли, мол, мне самому съездить и на месте решить?

Короче, всю глубину творящегося идиотизма я прочувствовал, когда заявился в головной офис, а там меня ждал — не админ, нет, а целый технический директор с переводчиком. Там я скромно упомянул, что русским языком владею свободно. Директор очень обрадовался: вот, дескать, сервис в Европах, со знанием языка специалистов присылают! После этого меня уведомили, что гостиницу для меня забронировали и даже оплатили. Мол, если быстро почините, и культурная программа будет.

Как вам ситуация: обычный PHP-шник, не выезжая из родного города, умудряется попасть в международную командировку, где чинит софтину стоимостью в несколько зелёных килоенотов? Да-да, я тоже в шоке.