5546

Параноики, приходите после второй беты

Писал конвертер на Java из файлов MDB в SQLite. Понадобилась библиотека на чистой Java, то есть не привязанная к какой-либо платформе.

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

5545

Тёплый цифровой трафик

Работаю системным администратором в интернет-провайдере. Сижу в своей комнатушке — по совместительству старой серверной, в новый офис переехать ещё не успели. Зимой температура в комнате стабильно держится в районе 22 ˚C. Рядом со мной гудит железка — ядро сети. От неё, наверное, тепла исходит больше, чем от обогревателя, который стоит у стены.

В один прекрасный день прихожу на работу и на градуснике вижу +16. При такой температуре сосредоточиться на работе очень тяжело. Первая мысль: сломался калорифер. Проверяю — вроде всё исправно. Потом вспоминаю: мы ведь маршрутизацию перенесли в новый офис, и нагрузка на старое ядро упала, вот оно и дует холодным воздухом. Кошмар! Буду просить начальника, чтобы разрешил перекинуть маршрутизацию нескольких сегментов назад, а то холодно.

5544

Один проводник хорошо, а два — лучше

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

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

5543

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

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

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

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

5542

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

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

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

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

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

5541

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

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

5540

The database has been planted

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

Ещё через 15 минут пришлось всё-таки запускать phpMyAdmin. С первого взгляда угадывается кодировка UTF-8.

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

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

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

5539

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

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

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

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

5538

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

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

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

5537

Дао тестера

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

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