Уважаемые специалисты IT-индустрии, разрешите представиться: экономист. Здесь было много историй о взаимодействии IT и других специальностей. Я решил внести свои 50 копеек.
Моё взаимодействие с отделом IT в любой компании обычно случается всего два раза: когда я получаю рабочую машину и когда сдаю при уходе. Все остальное время я для админа и эникеев просто мифический сотрудник.
Причина проста. Я всегда стараюсь разобраться в том, с чем работаю, а с компьютером по жизни я с шести лет (сейчас мне 27). Да, сначала были игрушки, потом копание в ОС (тогда ещё 95-е «форточки»), потом железо. Я без проблем самостоятельно исправляю мелкие неисправности, а в свободное время ремонтирую машины друзей. При этом я не перестаю быть хорошим специалистом по основной специальности.
К чему я всё это веду? К тому, что если человек хочет быть разносторонним и развиваться как работник, он будет это делать, а нежелание влечёт поиск отмазок: «Не моя компетенция».
Как-то в начале этого года я, студент пятого курса, поучаствовал в конферренции на Урале. В качестве презентуемой работы были промежуточные результаты моего диплома. Разумеется, по итогам конферренции был выпущен сборник тезисов (все чётко: в ТеХ собрался сам при помощи скрипта).
Через какое-то время представитель «международного издательского дома %publishingCompany%» прочитал тезисы к моему диплому и решил связаться со мной по электронной почте. Он сообщил мне, что тема, которой я занимаюсь, может представлять интерес для более широкой аудитории, и предложил прислать мне электронную брошюру с дополнительной информацией, при ознакомлении с которой мне будет понятно, как я смогу опубликовать свой научный результат в их издательстве. В подписи к его письму фигурировали две ссылки: на сайт издательского дома и e-mail представителя. Также был указан их юридический адрес в Германии. В ответ я поблагодарил представителя за внимание ко мне и согласился получить электронную брошюру.
Согласитесь, классно же: крупное международное издательство готово опубликовать и напечатать мой диплом! Его будет читать масса народу! Но не стоит ликовать раньше времени.
Копирую адрес официального сайта в адресную строку (опа, а почему он не отобразился гиперссылкой?) и получаю ненайденную страницу. Присмотрелся к адресу — а там куча пробелов поставлено. Ну неужели крупный издательский дом так боится DDoS-атаки на свой сайт, что ставит пробелы в адрес? Ладно, убираю пробелы. Получаю лаконичную страничку на английском языке. А на меня эта страничка смотрит женскими корейскими глазками. Поставили они большую фотографию девушки, прикрывшую пол-лица книжкой, наверно, для привлечения внимания.
Нашёл ссылку на каталог выпущенных ими книг. Очень интересно! Нет фильтров по темам, годам издания — да вообще нет намёка на сортировку! Просто простыня на 10000+ страниц со списком книг. О, вроде поиск есть! Ввожу что-то состоящее из одного слова. Хм… У них что-то пошло не так. Ну ладно, может, кириллицу не переваривают, напишу на английском. Результат тот же.
Глянем на список книг на рандомной страничке. Вау! Репродуктивный статус коров соседствует с основами государственных финансов Франции! А рядом ютится книжка про поршневые двигатели. Причём обложки у всех одинаковые. Ну, разве что картинка меняется и название. Никакого разнообразия. И всё это за 23,90 евро!
О, представитель прислал брошюру! Ну, как прислал — скинул ссылку на страницу сайта, где эту брошюру можно взять. Хорошо, мы не гордые, сходим, скачаем. Ну, думаю, сейчас брошюра будет отменная, ведь это международный издательский дом!
Вижу PDF-ку, сделанную то ли в Ворде, то ли в Паблишере. Белые листы с монотонным текстом и синими заголовками. Даже без выравнивания по ширине. А ещё картинка в колонтитулах сидит. В брошюре вопросы с ответами а-ля FAQ. Отсюда я узнаю, что мне будет отправлена электронная версия моей книги совершенно бесплатно! (Ага, особенно с учётом того, что прислать я им должен PDF-ку.) А ещё у меня может быть мой собственный профессор (да, именно так и написано: «моего профессора»), который, оказывается, может быть против упоминания его имени в публикуемой книге. И в конце они честно признаются, что до них невозможно дозвониться. Экономят на телефонных разговорах.
В общем, ну их. Переживу я, если моя дипломная работа не будет продаваться в виде монографии на Амазоне…
Есть у нас одна организация — клиент интернет-услуг. В силу непонятных обстоятельств роутер у них заперт в ящике типа сейфа, и доступ к нему есть только по сети (и с компьютеров организации, и из сети провайдера). D-Link, ни разу не подходящий для использования в крупных конторах, зависает с завидной регулярностью. Перезагрузить физически по питанию — невозможно. Удалённо — пожалуйста, с компьютера зайти и ребутнуть — тоже не проблема.
Не проблема — для тех, кто WWW-адрес отличает от e-mail. Звонили чуть ли не каждый день с единственной просьбой: перезагрузить этого монстра. Порядком надоело, написали скрипт перезагрузки через telnet. Отправили на почту, объяснили, как пользоваться, вроде даже поняли. На следующий день звонок.
— Ребутните!
— Вы ж теперь сами можете. Запускали тот файлик?
— Нет, интернета ж нет, на почту не зайти, не скачать…
Бродил не раз среди исторических достопримечательностей. Нотр-Дам, Парфенон, египетские пирамиды. Всё это стоит уже не одну тысячу лет. Первой мыслью было, что умели раньше люди строить на века, а сейчас не умеют. Хрущёвки вон и полвека с трудом простояли.
А вот вторая мысль была реалистичнее: строили всегда как умели и как хотели, а до наших дней дошло то, что дошло. И тут осенило. А как надо строить, чтоб на века? Вот пирамида. Устойчивей некуда. Её можно было и целиком из песочка насыпать. Или навалить тёплой и мягкой субстанции в тех же габаритах. И ничего — стояло бы совсем как живое. Вот Парфенон — крыша на подпорках, политкорректно именуемых колоннами. Нотр-Дам тоже весь в подпорках и костылях, именуемых контрфорсами. Мда. А вот модульные универсальные решения типа хрущоб разваливаются на глазах.
Вывод для программистов довольно мрачный. Вы можете писать красивые модульные и универсальные решения, но в веках будут жить и достанутся потомкам только бесформенные кучи дерьма и икебаны из костылей…
На DX-ы и прочий LOCAL
Всех делила ребячья порода.
В коллективке весь двор пропадал
Днём и ночью в любую погоду.
Забывалась любая беда,
Лишь бюро QSL приносило,
И не верили мы никогда,
Что кончаются, что кончаются,
Что кончаются волны эфира.
Ты в те годы большой шишкой был —
Председателем той коллективки.
Ты всему коллективу дарил
Что-то вроде от пьянства прививки.
Ты на Yagi свой взгляд задирал,
Что на крыше крутилка крутила,
И вослед восхищённо орал:
«Не кончаются, не кончаются,
Не кончаются волны эфира».
Отвечал на запросы ты всем,
Сам был рад каждой карточке новой,
Но однажды купил ты модем,
Ещё тот, в виде платы слотовой.
Ты сквозь шум его что-то кричал,
Только плохо тебя слышно было.
Лишь одну фразу я различал:
«Я вернусь ещё, я вернусь ещё,
Я вернусь ещё в волны эфира».
Позабыть мы тебя поклялись,
Мы тебе не прощали измены,
Но взметнулся в тревожную высь
Крик протяжный пищалки модемной,
А потом прилетело письмо
Из того заэкранного мира.
Было в нём откровенье одно:
«Вовсе нету, вовсе нету,
Вовсе нет никакого эфира».
Пароли у нас в 1С всего четыре цифры. На безопасность не влияет — только чтобы менеджеры случайно не сидели под другими учётками.
Работает у нас «менеджер по продажам». Работает в смену. После выходных периодически забывает свой пароль в 1С. После третьего раза написал ему его пароль на листочке, сказал выучить наизусть. Через месяц снова забыл пароль. «А где листочек?» — «Потерял». Ну, блин, запиши себе в ежедневник!
Проблема ушла на месяц. После Нового года звонит мне снова: «Я забыл пароль». Спрашиваю его: «У тебя же в ежедневнике записано четыре цифры твоего пароля!» Ответ: «А у меня новый ежедневник».
Делаем мы тренажёры. Тренажёры большие, рассчитанные на применение настоящих спортивных снарядов. Продаём продукцию в основном в торгово-развлекательные центры.
В один из таких центров поставили мы четыре тренажёра. Все тренажёры связаны с сервером биллинга, проверяющим, сколько на каждом тренажёре рыл, и считающим бабло этих самых рыл. «Всего четыре клиента, фигня!» — скажут мудрые сетевики. Да только кабели локалки раскладывали местные «молдавские» админы под подиумом, забраться под который нет возможности.
Год система отработала без огрехов. Потом начались проблемы. Как только включался четвёртый тренажёр (а в нём стоит обычный ПК, только в корпусе собственного производства), сеть ложилась и не поднималась до выключения тренажёра. Более того, сеть часто падала, даже если этот тренажёр был отключён.
На компанию посыпались претензии. Через неделю удалённой диагностики с помощью местных админов мы пришли к выводу, что сдохла сетевуха (а использовались интеграшки). Что ж, поставить внешнюю — не проблема, но сеть начала падать чаще. Протянули свежий кабель — упал инет.
Через два месяца директор не выдержал и послал меня… в командировку посмотреть опытным взглядом. Посмотрел. Они кинули новый кабель не под подиумом, а снаружи, при этом установили роутер в режиме концентратора, даже отключили старый кабель от мамки, но сеть была нестабильна.
Что увидел мой взгляд? Сетевуху на мамке, дохлую только по трансформатору выдачи пакетов (на витой паре стоят микротрансы), дохлый кабель, что лежал под подиумом, дохлый вход на концентраторе, куда тот кабель приходил. В результате концентратор при подключённом «дохляке» регулярно видел на нём флуд и гадил им всем. Новый кабель, великолепно обжатый, шёл на роутер, как вы догадались, с активным DHCP. При том, что DHCP и так в сети был, эта собака-женщина регулярно ругалась с местным DHCP и тупо вешала сеть раз в два часа на секунду, а к нему был подключён и биллинг-сервер. В итоге сеть падала.
Сброс роутероотброса и выключение всех лишних функций — и сеть ожила. Единственное — бытовой D-Link держит сеть иногда только пять часов.
Дело в том, что мне приспичило написать обёртку на Go для сишного API Eggdrop. Всё было хорошо до тех пор, пока я не попытался реализовать подобие Tcl-функции
bind
для C-функций. Полдня я потратил на исследование исходников, так как всемогущий поисковик мне не помог, но не нашёл ничего, кроме функций добавления и бинда Tcl-функций. В результате у меня получился такой механизм: генерируется имя вида
eapi:bind_xxx
, затем под этим именем добавляется привязываемая функция, затем получившаяся Tcl-функция привязывается как обычно. Возвращаемым значением этого монстра является номер бинда (то самое
Работаю эникейщиком в государственной организации. Смеялся когда-то с блондинок, которые, чтобы распечатать документ, кладут монитор мордой вниз на копировальный аппарат и нажимают кнопку «Сканировать».
Давеча начальство поставило задачу разбить PDF-файл по абзацам и каждый распечатать отдельно (в оригинале было всё одной простыней). PDF-редактора, естественно, нет, и желания осваивать с наскоку новую программулину тоже не наблюдается. Всякими Файнридерами переводить в вордовский документ тоже не вариант: форматировать и исправлять будешь до морковкиного заговения.
После минутного мозгового штурма, вспомнив про блондинку, сформировал идею. Распечатываю PDF, бумагу сканирую в JPEG, вьюером вырезаю нужные фрагменты, вставляю постранично в Ворд и отправляю на печать. Вот такой программно-аппаратный конвертер из подручных материалов.