bash.im ithappens.me zadolba.li
5543

В коде по локоть

24 февраля 2011, 16:45

Я работаю программером, правда, программирую на «кривых» железках — встраиваемых компьютерах. Круг задач располагает к ковырянию в чужом коде: заточить стандартную фигню под нестандартное железо. А вендоры присылают платы своих компов практически «голыми» — без корпуса, иногда без блока питания. Так и валялись они по столам, пока начальник в запале наведения порядка не приказал что-нибудь придумать.

Делать нечего: раскрутил админа на старую серверную стойку с несколькими списанными серверами, выдрал старую электронику, высверлил ненужные заклёпки и смонтировал в старые серверные корпуса свои железки. Что такое сервер изнутри после нескольких лет эксплуатации, думаю, объяснять не надо. Несколько запачкался: на кочегара не похож, но за слесаря-сантехника точно сойду. В очередной раз иду мыть руки. Навстречу тот самый начальник. Поздороваться должным образом не могу — руки чёрные по колено. Начальник понимающе кивает:

— Опять в чужом коде копался…

5542

Крики в провод

24 февраля 2011, 16:45

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

У семейной пары испортился музыкальный центр — чейнджер переклинивает. Забираю в ремонт. Ковыряюсь, ни фига не понимаю, в чём дело, зато понимаю, что такой громоздкий агрегат с кучей кнопок, подписанных не по-нашему, им не нужен, а колонки к компу с независимым радио маме могут пригодиться. Предлагаю им купить новый центр, поменьше и попроще, в обмен на старый. Получаю добро. Рою интернет-барахолки. Вижу замечательный аппарат Aiwa с нерабочим кассетником. Ладно, в перспективе оцифрую. Еду на другой конец Москвы, слушаю, смотрю. Супер! Пульт ДУ, трёхсторонняя кайфово крутящаяся панелька с кнопочками, звук — красота. Провода крепятся на зажимах с обеих сторон — если вдруг порвут, колонку вскрывать не надо. Покупаю, отвожу, даю ЦУ, еду по делам.

Звонок: «Нету звука». Говорю, вырубайте и договаривайтесь с персоналом о посещении. Прихожу. Осматриваюсь. Вроде всё правильно: стоит ящик, слева-справа колонки, по две жилы из мотка провода идут по колонкам и к центру. В непонятках выкручиваю ручку громкости — система тухнет. Полностью. Секунд через пять получилось врубить. Осматриваюсь. Цвета совпадают, контакт хороший. Отслеживаю ещё раз. На подоконнике мною смотанные два двужильных провода, из которых отходят четыре конца на две колонки и в линейный… Яп-понский магнитофон! Разматываю моток — так и есть, один провод соединяет колонки (что никого не волнует), а вот второй…

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

5541

Я твою превышу скорость

24 февраля 2011, 12:45

На досуге порой занимаюсь аутсорсингом: нравится мне, да и на пиво хватает. Заметил странную вещь: так как компьютерного стола у меня нету, то ноуты я вскрываю прямо на своей постели, благо там места много и никто ничего не трогает. Бывает, прихожу с работы, начинаю ковырять, потихоньку засыпаю и просыпаюсь уже в обнимку с этим самым ноутом. Чувствую себя каким-то продюсером или врачом-бабником: «Сейчас я сделаю из тебя звезду, детка!»

5540

The database has been planted

Однажды пришлось восстанавливать кучу мускуловских баз из бэкапа. Зная, что в базах данные не менялись (бэкап был очень свежим), восстанавливаю всё. Через 15 минут к программисту подходит диспетчер: «Мы в программу войти не можем». Первая мысль — проблема с MySQL. Захожу на сайт (базы которого я тоже восстановил из бэкапа) — всё работает без нареканий. Несколько других проектов тоже в порядке. Стандартная рекомендация: «Перезагрузитесь».

Ещё через 15 минут пришлось всё-таки запускать phpMyAdmin. С первого взгляда угадывается кодировка UTF-8.
Часть баз имеет в параметрах странный для них charset — cp1251_bin. С ними-то и происходила фигня при резервировании. Другие же базы, вышедшие из-под пера нашего программера, были в cp1251_general_cs, и с ними проблем не было. Когда подошёл узнать, с какой целью программер использовал двоичное представление, ответ меня убил:

— Я вообще не в курсе, в чём разница. А то, что в конце с CS, я иногда пишу просто потому, что мне Counter-Strike нравится.

Видимо, есть у него индусские корни, и бог Ганеша иногда помогает найти правильное решение, но маскирует его под странные ассоциации.

5539

Семьдесят один сюрприз

24 февраля 2011, 11:00

Принесли мне погонять китайский клон Nokia E71. Я и раньше имел дело с китайцами: верой и правдой мне одно время служил клон N95, пока я его от любопытства не разобрал. Девяносто пятый имел много плюсов по сравнению с оригиналом: сенсорный экран, стилус, функция «пульт от телевизора». Русский перевод был «китайским», но я всё равно обычно с английским хожу. Конечно, не смартфон, но как телефон он стоил своих денег.

Так вот, распаковываю семьдесят первый. В комплекте: телефон на две симки, две батареи, наушники-гарнитура, microUSB-кабель, зарядка, инструкция. Сборка качественная, корпус не скрипит и не «ходит». Надо включить. Беру первую попавшуюся батарею — не работает. Обычно я сказал бы, что трубка с браком, но две батареи — подозрительно. Вставляю вторую. Бинго! Как в воду глядели. Ладно, сразу втыкаю в зарядку и начинаю клацать. Перевод, разумеется, «китайский» — сразу переключаю на английский. Оп-па, голубой зуб не работает! Не спрашивайте, как такая мысль в голову пришла, но связь заработала после вставки обеих SIM-карт. Правда, очень слабый сигнал, рвётся на расстоянии. Тестирую дальше. Хлоп! Странный щелчок откуда-то из-под стола. Ой, а почему зарядка остановилась? Да-да, вы угадали. Что ж, надеюсь, что телефон умеет заряжаться от USB. Умеет. Только вот кабель с дефектом. Мда-а-а…

Сто баксов не жалко, интересно увидеть остальные сюрпризы. Заверните, беру!

5538

Это твоё призвание, сынок

24 февраля 2011, 11:00

Устроился недавно работать админом небольшой компании. Временно, как я сказал себе, потому как по специальности я физик и хочу найти соответствующую работу — зря, что ли, пять лет учился?.. Почитав IT happens, начал понимать, что практически все админы устраивались временно, а потом как-то втягивались. Успокаивало одно: старый админ не передавал мне по наследству главного админского инструмента — бубна.

На днях начальство поручило мне провести ревизию ПО и вообще всего, что имеется в трёх огромных шкафах в моём кабинете. Сказано — сделано. Начал я разбирать все коробочки с лицензиями и протоколировать процесс. В первом шкафу среди книг по Java я нашёл небольшое зеркальце с красивым орнаментом. Усмехнулся и стал разбирать второй шкаф. Тут в груде нерабочего железа обнаружился весьма подозрительный коврик для мышки с похожим орнаментом. Третий шкаф доверху забит коробками из-под комплектующих. Что-то мне ссыкотно туда лезть — а вдруг там он?

5537

Дао тестера

24 февраля 2011, 09:00

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

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

5536

С чистого листа

24 февраля 2011, 09:00

Прибегает бухгалтер: «Пойдём, не печатает». Проверяю — принтер доступен, бодро печатает тестовую страницу. Пробуем напечатать нужную девушке вторую страницу экселевского документа. Задача на печать уходит, но на принтере тишь. 30 декабря, думать лень. «Сохрани в свою сетевую папку, со своей машины отпечатаешь», — говорю. Сохраняет, идёт к себе. Через пару минут: «А оно всё равно не печатает, но чего-то пишет». Иду, читаю: «Нечего выводить на печать». Задумываюсь на секунду и понимаю, что бухгалтер ни разу не понимает разницы между страницами и листами в Excel: на том листе, который она печатает, одна страница, как ни крути.

Одно радует: Office 2007 оказался умней Office XP и предупредил, что печатать нечего. А вы говорите, нет прогресса в работе Микрософта!

5535

Первый «Квейк» COM’ом

23 февраля 2011, 12:45

Эх, молодость! Жили мы с соседом в девятиэтажке — он на седьмом этаже, а я на девятом, — и было у нас по компу. Захотелось нам сделать из компов сетку, чтобы общаться и в игры играть. Итак, задача: связать два компа на расстоянии семи метров, расположенных через этаж, при бюджете в ноль рублей. В то время основой любительского сетестроительства был коаксиальный кабель, и это стало бы идеальным вариантом, если не оглядываться на бюджет. Оставалось линковать по COM-портам. Как ни странно, для этого тоже нужен кабель и разъёмы, которые не только стоили денег, но и были редкими гостями на прилавках.

Современный компьютерщик мог бы подумать, что можно было найти две мыши под COM-порт и отрезать у них хвосты. Но в то время мыши выбрасывали, только когда им приходил полный пи-пи-пи, в остальных же случаях чинили: устраняли обрывы проводов, напаивали износившийся пластик на кнопки изнутри, меняли местами пружины микропереключателей левой и средней кнопки. Тяжёлая юность, в общем.

Несмотря на все препятствия, стремление к высоким коммуникационным технологиям было сильнее. Когда был найден на халяву моток телефонной «лапши», нас уже было не остановить. «Но для связи по COM-порту требуется три провода, а в телефонной лапше их только два», — скажет пессимист. Оптимист же скажет, что телефонная лапша — это решение проблемы на 67%, а вон тот ненужный трансформатор в ящике — решение оставшихся 33%. Прохожие, страдающие дальнозоркостью, голуби, воробьи и чайки, а также соседи с восьмого этажа имели счастье наблюдать трепыхающуюся на суровом северном ветру телефонную лапшу, обмотанную неизолированным медным проводом, тянущуюся с девятого этажа на седьмой.

Осталось подключить высокотехнологичный эксклюзивный коммуникационный кабель к COM-порту при отсутствии разъёмов. Если бы COM-порт в компе был «мамой», то задача решалась бы слишком просто. После ряда исследований свойств многих материалов, включая изоленту, из положения мы вышли при помощи изоляции от провода, натянув её на штырьки порта и воткнув под неё наш хэндмейд-кабель.

Заработало! Мы играли во все игры, которые понимали связь по COM, переговаривались, — в общем, радовались и наслаждались новой жизнью и связью. Радость была немного неполной, так как у соседа на компе было мало памяти и не шёл Quake.

В один прекрасный день сосед всё-таки разжился памятью. Начались проверки, настройки и предвкушение заруба. И посреди этих приятных хлопот — звонок: «Лёха, я из Нортона вышел, и у меня компьютер выключился!» Это сейчас, когда повсеместно используется стандарт питания ATX, вы можете программно включать и выключать компьютер. Наши же машины были стандарта AT, и кнопка питания на системном блоке представляла собой тупой рубильник. Так вот, сижу я в глубоком астрале и думаю, как Нортон из-под DOS вырубил программно 486-й комп. Это просто нереально круто! Не найдя логического объяснения чуда, я материализовался у соседа. Как выяснилось, после «выключения компьютера Нортоном» из него при включении стал идти дым. Ужасу нашему не было предела: времена были финансово тяжёлыми, а компьютеры дорогими, и если в компе сгорало что-то дорогостоящее, купить запчасть удавалось ой как нескоро.

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

Как сказал бы классик, хрен вам в сумку. Мультипортовка не заводилась с горелой микросхемой. Но где можно взять мультипортовку в шесть вечера в воскресенье? Мы чувствовали себя, как дети, которым Дед Мороз не принёс подарок на Новый год. Любопытство сподвигло нас на дальнейшие действия: предположив, что после удаления битой микрухи второй COM заработает, мы стали её выпаивать. Возможно, искушённый радиомонтажник знает, как обычным паяльником выпаять «многоножку» — мы, к сожалению, не умели. Знакомый радиолюбитель сказал, что мог бы нам помочь, если бы у него помимо паяльника был необходимый для такого рода работ прибор с романтическим названием «отсос».

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

Это была победа. Спустя 15 минут мы самозабвенно рубились в «Кваку».