#1633: Разбитые мечты, или «Идите на»
19:45 09.12.2009, IT happens
В далеком 1991-м я поступил в горный техникум на специальность, никак не связанную с IT. Но так случилось, что именно в этом учебном заведении я впервые увидел настоящий комп. Развлекались с товарищем бейсиком — других языков не знали, однако местный админ, увидев наше стремление, дал нам отведать С++. Это и стало ключевым моментом в выборе профессии — я стал программистом, правда, без диплома.
Я работаю уже больше десяти лет, но так и не получил не то что специального, но даже любого другого высшего — всему учился сам. Мечта иметь «вышку» никуда не делась. Я решился пойти на заочку и подал документы в один из вузов на специальность «АСУ». Впрочем, радость моя продолжалась всего лишь до первой сессии.
Из нашей группы в 25 человек имели представление о программировании не больше десятка, а на самом деле программировали только я и ещё один парень. Сидим мы однажды на лекции по программированию. Преподаватель — известный в этом вузе доцент, женщина бальзаковского возраста. Доходит очередь до операторов цикла. Преподаватель разъясняет типы, синтаксис и условия. Рассказав про операторы break и continue, преподаватель неожиданно заявляет, что пользоваться этими операторами ни в коем случае нельзя, так как они нарушают логику программы, а для прерывания цикла следует использовать исключительно goto. Группа продолжает писать лекцию; возмущаются, как вы уже поняли, только двое. Впрочем, возмущения ни к чему не привели. Все наши аргументы были разбиты о простой намёк: «Будем умничать — сессию не сдадим!»
Так разбиваются мечты. Эта лекция дала мне многое — теперь я точно знаю, откуда появляются «покалеченные» программисты. Такое высшее образование мне было не нужно, и на вторую сессию я не пошёл.
С тех пор прошло два года. Получить «вышку» для карьерного роста у меня не вышло, но я открыл фирму и теперь работаю на себя.
#1634: Укрощение десятиголовой гидры
12:00 10.12.2009, IT happens
Где-то в 1992 году я учился на физфаке. На кафедре общей физики у нас был компьютерный класс, оснащённый компьютерами, гудящими, как реактивный самолет на взлёте. Звали машинки «Электроника», на борту крутилась операционная система «ПрОС 2.0». Через полгода завкафедрой выбил класс 80286 машин. Будучи несколько знакомым с компьютерами, я без труда стал лаборантом. Некоторое время жизнь была сказкой — неплохо получать и стипендию, и зарплату! Эстетическим бонусом были пятикурсницы, мывшие полы у меня в компьютерном классе.
На втором курсе в расписании появился предмет «информатика». Самым печальным было то, что я прочитал этот курс задолго до преподавателей. В отделе ИТ на пятом этаже стоял грозный i386 с десятью терминалами. Как они это умудрились это сделать — чёрт знает, но я помню толстенный пучок проводов, припаянных прямо к материнской плате. Первым (и последним) моим развлечением было создать на бейсике замкнутый на себя цикл. Естественно, вся система от переизбытка чувств вешалась. Раза после десятого меня вызвал преподаватель, поставил в зачётке «4» и расписался. Мотивировал так: «„5“ за диверсию — много, а „3“, учитывая знания, мало». Хороший дядька оказался, только вот на свои занятия ходить запретил категорически.
#1635: Исповедь вредителя
12:00 10.12.2009, IT happens
Почитал я про злейших врагов айтишников, бухгалтеров и телефонистов. А вот моя профессия — электромонтер, и злейший враг ленивого айтишника — именно я. Почему, спросите вы?
Начну с того, что в нашей фирме частенько принимали на работу по знакомству и блату — многие айтишники были как раз из таких. Приезжает как то один такой «специалист» с заданием протянуть сеть от склада до конторы (150–200 метров сквозь здание ремонтных мастерских). Парень пришел к нашему начальству на поклон: «Провода должны тянуть электрики, а я только компьютер настраивать буду». Наше филиальное начальство, любящее поставить засос поглубже на заднице головного офиса, тотчас же соглашается: «Конечно-конечно, вот вам человек!» Жаль, что они не задумываются об отличиях электрика от айтишника. «Тяни кабель, а я пока в серверной буду свободный порт искать», — говорит мне это чудо. «Задание понял!» — чуть ли не кричу я и бодро бегу тянуть сеть.
Итак, от склада до мастерских 10 метров, а потом глухая стена с единственным отверстием под трубы отопления — как раз кабель проходит. Надеваю стальную трубку и протягиваю кабель, а чтобы его не вырвали, делаю узел на арматуре. Так, как теперь проложить по цеху? Конечно, под потолком, рядом с силовым кабелем, и подвязать к нему покрепче. Ой! Бухта упала. Ну ничего... Ё-моё! Кто-то нечаянно успел перерубить витую пару дверью. У электрика изолента всегда с собой, порванный кабель — не проблема. Опять вяжу два узла на арматуру по обе стороны от разрыва. Так, теперь силовой кабель ушёл в сторону, а мне надо прямо. Как заправский ковбой, кидаю лассо... есть! Тянуть получится только снизу. Раз-два... ну вот, изоляция слезла. Жилы вроде не оголились — и так пойдет.
Вот уже и серверная виднеется, и кабель кончился — дальше не мои проблемы. Компьютерщик с важным видом вышел, посмотрел и сделал замечание, что кабель грязный: «Вытри». Бедный, ты ещё не понял, какие проблемы ты себе создал, решив, что твою работу буду делать я?
— Ты зачем витую пару вместе с силовым кабелем кинул?
— Свои кабеля я имено так и кидаю, все рядом, связанные в один жгут.
— А-а-а! Это что?!
— Бухта упала, кто-то дверкой перерубил, пока я спускался.
— Её так нельзя сращивать!
— (c искренним удивлением) А что тут такого? Я там всё тщательно заизолировал.
Притащил паяльник. Паяй-паяй, у меня ещё пару раз пассатижи на кабель падали, и несколько раз попали по одному и тому же месту. Изоляция целая осталась, а где это было — не вспомню, хоть убей.
Неделю айтишник мучал данный провод, пытаясь оживить. Ничего не помогло — он снова притащил целую коробку витухи и торжественно вручил мне, в грубой форме сказав, чтобы таких оплошностей, как в прошлый раз не было. «Это высокотехнологичный провод, и твои доисторические подходы неприемлемы!»
«Такое больше не повторится», — говорю я, полный энтузиазма. Когда ты в школе учился, я уже прокидывал коаксил, а чуть позже и витую пару, и мне известна сотня способов убить твой провод. Не спорю, может, ты и высококвалифицированный специалист, но пока ты пытаешься переложить свою работу на меня, я — твой злейший враг.
12:00 10.12.2009, IT happens
Говорят, что если усадить миллион обезьян за печатные машинки, то с ненулевой вероятностью одна из них наберет «Войну и мир». У одной обезьяны, похоже, получился CMS.
Отдел поддержки клиентских серверов датацентра. Приходит клиентское письмо с жалобой: «После обновлений базы товаров нашего интернет-магазина сайт перестаёт работать и вообще». Сайт вольготно размещён в одиночку на сервере с двухъядерным процессором и 2 ГБ памяти — проблем с производительностью быть не должно. Прошу пнуть нас именно в момент обновлений.
Дожидаюсь ответа «вот сейчас не работает!» Смотрю — на машине оба ядра под завязку нагрузил MySQL. Логинюсь в «мускуль», даю запрос show full processlist. Изумляюсь — терминал виснет наглухо. Передёрнув терминал и залогинившись обратно на машину, запускаю тот же запрос с выводом в файл. Смотрю в результаты: сервер отрабатывает два запроса общей длиной в 1,2 с копейками мегабайта.
Как выяснилось, чудо-фронтэнд магазина выгребал какие-то данные запросом вида «Select * from Таблица where productID='такой-то' and enabled=1 or productID='еще_какойто' and enabled=1 or...», и так до упора. Несчастный MySQL вдумчиво проверял каждую строку немаленькой таблицы на соответствие десяткам тысяч логических условий.
Клиенту отписал, приложив результаты show full processlist. Молчит уже сутки. Видимо, проникается идеей...
#1637: Краткость — тёща бизнеса
12:00 10.12.2009, IT happens
Работаю уже некоторое время в одной из самых раскрученных в нашем небольшом городе дизайн-студии. В основном мы делаем сайты для крупных предприятий — ценник, соответственно, рассчитан на обширный корпоративный бюджет.
Не так давно находит нас один клиент — хочет срочно себе сайт. Какие проблемы? На встречу устремляемся сокращённым составом «ударной команды»: рекламщик и техдиректор.
Приезжаем на какую-то торговую базу. Стоит небольшое гаражеподобное строение, над входом безвкусная жёлто-синяя надпись «Ковролин». Заходим и видим этакого качка в спортивной одежде, читающего газету. Представляемся, начинаем по стандарной схеме:
— Как ваша фирма называется?
— «Ковролин».
— А официальное название?
— ИП %name%.
— А как на сайте нам писать-то?