bash.im ithappens.me zadolba.li
9379

Лягушонок Йцукен и троян ушастый

13 июня 2012, 10:00

Однажды друг попросил разобраться со странным вирусом на компьютере его девушки. В любые текст-боксы компьютер сам вводил без остановки первый ряд кнопок клавиатуры: «йцукенгйцукенгйцу…»

Разбирались долго. CureIt! нашёл несколько вирусов, но проблему не исправил. Зная народную мудрость «семь бед — один ресет», я принял решение отформатировать системный диск. После наката системы вирус остался. С криком и скрипом забэкапили самую нужную информацию (текст курсовой и около пяти гигов фотографий) и отформатировали винт под ноль. Накат системы — и снова лягушонок Йцукен даёт о себе знать. Начинаю думать о злых вирусах в дистрибутиве, проклятьях вуду, рву волосы под мышками — и тут замечаю декоративного кролика, которого выпустили побегать. Лезу под стол, отключаю клавиатуру — таки да, провод покусан.

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

9378

Велосипед с квадратными колёсами

13 июня 2012, 08:00

Известна история о медике, который в начале 2000-х открыл новый геометрический закон. Был он очень горд собой, хвалили его коллеги, радовались друзья. До того момента, пока ему не показали учебник средней школы, где чёрным по белому было написано: S = πR².

Говорите, не знаете, зачем вам Word учить? Ничего, ряды изобретателей велосипедов ждут вас.

9377

Сам себе хостер

13 июня 2012, 08:00

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

— Добрый день! Подскажите пожалуйста

— Добрый день. Слушаю вас.

— http://****.ua/ это наш сайт наш хост 127.0.0.1
поскажите
FTP логин: логин пользователя ftp. Должен предоставить хостер
FTP пароль: пароль должен предоставить хостер

— В таком случае используйте логин localhost и пароль password.

— благодарю за помощь

— Обращайтесь, если возникнут вопросы.

9376

Внезапный силовой кроссовер

12 июня 2012, 10:00

Стою с бухтой силового кабеля у электрощита, жду, пока ключи несут, от нефиг делать прозваниваю. Чёрный — да, коричневый — да, синий — нет, белый — нет… Ё-моё!

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

Пришёл напарник с ключами. Не поверил, поржал, проверил, офигел. А если б не прозванивая подключили? Теперь вообще никому не верим.

9375

Из человека в профессионала

12 июня 2012, 10:00

IT-отрасль замечательна многими чертами — и какой-то мальчишеской притягательностью, и фантастической динамичностью, и многим-многим ещё. В ней трудится, принося пользу обществу, масса людей — от мала до велика, от бездарей до гениев, от эникеев до глав корпораций. Я просто обращу ваше дражайшее внимание на это: каждый из этих персонажей по-своему необходим. Можно сколько угодно гордиться ухоженным «бентли» и гордиться, что колёса накачаны воздухом с ароматом клубники. Но никуда не делись драндулеты попроще — разные там «мерсы», «приоры» и «матизы». Им тоже нужен присмотр и ласка.

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

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

9374

Цена «вопроса»

12 июня 2012, 08:00

Одно дело, когда проблемы с совместимостью возникают между разными программами или между разными версиями одной и той же программы. А как насчёт проблем с совместимостью между двумя программами из одного и того же пакета ПО?

Писал я программу свою на широко известном ассемблере с приставкой «турбо» от дяди Борланда. Собирал модули, конечно же, соответствующей 32-битной утилитой из того же пакета. Всё шло хорошо. Но в один прекрасный момент, когда я решил воспользоваться всей мощью технологии модульного программирования и разбил программу на два модуля, начал у меня вылезать весьма странный глюк.

Секция данных вместо того, чтобы записываться в PE-екзешник, где ей положено быть, наглухо затирала досовскую заглушку. Проблема была гадкая, появлялась по совершенно непонятным причинам: буквально лишний байт добавишь в данные — пропадает. Я уже старался не дышать на код. В конце концов сборщик вообще отказался кушать мои модули, мотивируя это так: «Fatal: General error in module <xxx>». А что за ошибка? Ни ответа, ни привета.

Очень скоро мне это надоело, и я перешёл на более современный и даже ещё живой сборщик от не менее известного производителя, продукты которого использовались для написания почти что всех программ незадолго до эпохи расцвета Win32. Он съедал объектные модули моей проги просто на ура. Но мысль о причине проблемы всё продолжала и продолжала меня беспокоить. Ведь это достаточно серьёзный баг, и если бы дело было именно в сборщике, наверное, кто-то давным-давно бы это заметил и написал в инете. Гуглю ошибку. И ничего — никто с подобным не сталкивался. А может, у меня версия сборщика какая-то корявая или битая? Да нет, перепробовал все возможные сборки пакета — везде версия одна и та же.

И тут в голову приходит последний вариант: может, что-то не так с моими объектными модулями? Но, простите, как же такое возможно? Ведь они скомпилированы при помощи проги из того же пакета. Неужели она может выдать объектный код, который по каким-то причинам не совместим со сборщиком от того же производителя?

Ну ладно. Опять юзаю тот же метод, что и в прошлый раз: иду от обратного. Вот рядом в папке Examples лежит прога, которая прекрасно компилируется. Скармливаю главный объектный модуль моей программы и .obj этой проги TDump’у и снова начинаю играть в игру «найди 10 отличий». Поначалу разницы никакой не видно, но потом…

Догадка поразила меня, как гром среди ясного неба. В сегменте данных не хватало некоторых переменных, которые там должны быть, и он зачем-то был разбит на несколько секций. И тут до меня дошло: это неинициализированные переменные! Те самые, для которых при определении вместо начального значения ставится значок вопросика.

Я никогда не придавал этой фишке никакого значения. Напишу ли я «hInstance dd 0» или «dd ?» — какая разница? В конечном результате сборщик всё равно всё проинициализирует и поставит ноль. Или нет? В большинстве случаев всё именно так и было. Но я столкнулся с мелким, неприятным и противным багом в широко известном и протестированном сотнями людей продукте. Сборщик банально выпадал в осадок, если секция данных начиналась с неинициализированной переменной! Вот так просто: просто поменяй местами переменные или проинициализируй — и всё, нет бага.

Вот мне и вам урок: старайтесь писать ваши программы так, чтобы они были совместимы хотя бы между собой — чего уж говорить о совместимости с другими…

9373

Реанимирует «Реаниматором»

12 июня 2012, 08:00

Работал в небольшой фирмочке по ремонту железа. Пьём кофе с секретаршей. Звонит телефон:

— Алло, здравствуйте, позовите, пожалуйста, Лёшу.
— А Лёши сейчас нет, он в реанимации, — радостно заявляет секретарша.
— ЧТО СЛУЧИЛОСЬ?!
— Да компьютер у них там глючит, поехал ремонтировать…

Это была Лёшина жена.

9372

Больше магии

В компах действительно есть магия. Доказано еще в 60-е годы в MIT переключателем magic — more magic с одним проводником, идущим в потроха компа. Ах, вы про неё не в курсе, в отличии от шерпойнтов? The Jargon File не читали? Вот вам пересказ той истории.

В MIT, в той самой AI Lab, стоял как-то PDP-10. Из его потрохов шла одна жила к переключателю. Если покопаться, жила шла с земли в компе. Переключатель имел два положения: magic и more magic. Когда переключатель перещёлкивали с more magic на magic, машина перезагружалась.

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

9371

Говорят и показывают

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

— Вам нужен другой, более мощный плеер.
— Э-э-э, но у меня же есть колонки!