bash.im ithappens.me zadolba.li
11414

ЭйчтитипиГорТранс

18 сентября 2013, 07:15

Работаю я недалеко от центра города, а живу на окраине. На работу добираться либо с пересадками, либо на трёх маршрутках с номерами 200, 404 и 500. Я не знаю, имеет ли владелец этих машин какое-то отношение к IT, но:

Маршрутка номер 200 — чистенький, уютный «форд», ни разу не сломалась, а водитель никогда не нарушает правил.

Маршрутка номер 404 — чисто, уютно, но водитель никак не может запомнить маршрут. Постоянно спрашивает дорогу у пассажиров или коллег по телефону. Пару раз завозил не туда.

Маршрутка номер 500 — грязная, ушатанная «газелька». Постоянно ломается, частенько приходится дозаправляться прямо на маршруте. А ещё у неё сложный маршрут, поэтому она всегда переполнена. Стоит ли говорить, что на ПДД водила (водителем это назвать не получается) внимания не обращает?

А ещё есть 304-я. Никогда не ней не езжу, потому как приходится пересаживаться на полдороги.

Третий год пытаюсь понять, случайность или нет.

11413

О консолях на антресолях

18 сентября 2013, 07:15

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

В недавнем 2005 году, когда все нормальные люди уже активно играли на мощных консолях, мама подарила нам с сестрой старую добрую Sega Mega Drive на три кнопки. Радости не было предела, накупили огромную кучу картриджей. Мы с сестрой играли круглые сутки, забывая о еде. Естественно, родители захотели нас ограничить. Сначала просто словесно запрещали, но это быстро решилось: вату под крестовину, чтоб не щёлкала, и выдёргиваем кабель звука. Затем мама отобрала кабель. Но и тут мы нашлись, воспользовавшись аналоговым ретранслятором из комплекта.

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

Я сильнее всех в доме был привязан к устройству, так как ещё не прошёл все части Соника. И я нашёл решение. С помощью сестры накопил сумму небольшую, но достаточную. Переставили коробки, сделав из них баррикаду, нишу для телевизора и лавочки. Купили небольшой разветвитель для розетки и восемь джойстиков. Убили несколько зарядок от старых потерянных или сломанных мобильников. За счёт джойстиков и зарядок удлинили все провода. Провели их через эту самую сквозную розетку. С нашей стороны включили через разветвитель телевизор и приставку. Провели провода прямо от приставки в коробке на шкафу. Воткнули картридж. Профит!

Играли дни и ночи напролёт. А когда это дело обнаружили родители, ничего не смогли и возразить: приставка-то была в коробке!

Так я начал сажать себе зрение. Вскоре родители купили компьютер, но это уже совсем другая история…

11412

Узники крепости данных

18 сентября 2013, 07:15

Девочки из блейда лезвие выдернули? А как они туда попали? Серверная относится к режимному помещению, где хранятся данные, составляющие государственную или коммерческую тайну. Без сопровождения ответственных за эту самую серверную ни одна девочка-бухгалтерша не может в неё зайти и уж тем более получить ключ. Посему в нашу правильную серверную на ревизию бухгалтерия просится заранее служебной запиской на имя руководителя отдела ИТ и начальника СБ, а также очень просит назначить им сопровождающим определённое материально ответственное лицо в этой же служебной записке. Отдел ИТ обладает электронными ключами от серверной, передавать которые другому опасно для жизни, здоровья и дальнейшей карьеры.

Два админа забегают починять сервер по одному ключу, как положено, цепляют консоль управления к погибшему, очень быстро воскрешают его. И тут доблестные электрики гасят свет. Причём и основную, и резервную линию. Электронные замки в серверной то ли среагировать не успевают, то ли глючат, но изнутри серверную не открыть. Полупустое здание, два админа громко вопят за дверью:

— Выпустите нас отсюда!

Просто повезло, что в этот же день привезли дополнительное оборудование, и узников серверной выпустил начальник одной из служб.

11411

Взгляни, почини, научи, промолчи

17 сентября 2013, 07:45

Давным-давно, когда мы выводили из эксплуатации Пентиумы и вводили новые машины на базе Socket 478, в то время как электрики выводили из работы СМ-2М… Так вот, примерно тогда старшие товарищи в ответ на наши претензии нас учили.

Программист должен знать весь производственный цикл. Зачем? Да чтобы написать правильную, выверенную программу, которая у всех пользователей этого цикла будет работать. Разработчик должен посидеть за рабочим местом оператора в цеху, слазить на кран к терминалу, куда поставят его программу, везде поработать. Программа станет более человеческой, потому как её автор сам посмотрит на то, как она работает с точки зрения пользователя.

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

Ещё программист-разработчик должен уметь вовремя устранять баги и обновлять свой продукт.

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

11410

Patch it again, Tony

17 сентября 2013, 07:15

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

Одним из требований соответствия двигателя внутреннего сгорания нормам «Евро-3» является точное определение пропусков вспышек в цилиндрах: компьютер должен точно знать, в каком цилиндре это произошло, и в случае повторения выключить эту форсунку, дабы неиспользованная порция топлива не догорала уже в нейтрализаторе, выводя его из строя. В схеме с «Евро-2» компьютер управляет форсунками попарно-параллельно по схеме 1–4, 2–3, опираясь на данные от датчика положения коленвала. Чтобы знать точно, в каком цилиндре будет следующий рабочий ход, обычно ставят дополнительный датчик, сообщающий компьютеру также и о положении распределительного вала, и этих данных ему вполне хватает.

Однако итальянская фирма, чьё название в Америке расшифровывают не иначе как «Fix it again, Tony», в своё время решила, что им будет накладно проектировать и разрабатывать новый двигатель со всеми новыми мудрёными системами, и они модифицировали алгоритм работы бортового компьютера следующим образом. Во время пуска двигателя электронный блок управления выключает форсунку первого цилиндра и в течение последующих десяти оборотов проверяет, не провалилась ли частота вращения. Если обороты провалились, значит, это и был первый цилиндр; ну, а если нет, то мы не угадали, и это всё-таки был четвёртый. Грубо? Примитивно? Но ведь работает!

11409

Не учили ремеслу девчат айтишному

Ох, попадали бедняги-гипервизоры!
Ох, исчезли сервера из сетки офисной!
Ох, ключи забрали девочки коварные!
Ох, повыдергали технику железную!

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

А учили их считать рубли-процентики,
А учили их вести себя с налоговой,
А учили их тому, чему айтишников
Не научишь и под дулом пистолетика.

Ты умеешь гипервизоры настраивать,
А девчата — гипервизоры подсчитывать.
Напиши, админ, на блейде номер спереди —
И не будет женский пол его выдёргивать.

11408

Отдал файл и был таков

Моему другу захотелось переустановить Windows XP — сослался на то, что ОС подтормаживает. Этот индивидуум, долго не думая, скачал первую попавшуюся под руку сборку на трекере и без задней мысли запустил установку из образа. Можете представить себе его удивление в момент появления надписи белым по чёрному, что источника установки не существует…

11407

1200 рублей в минуту

16 сентября 2013, 07:45

Меняю провайдера. В пятницу должны были придти монтёры, переткнуть кабель, ведущий в мою квартиру, из свитча конкурентов в свой. Сидеть дома не мог, оставил за главного маму. Строго наказал: пусть ничего не трогают, оставят инструкцию, я сам всё настрою. Велел отдать им 800 рублей — они их берут в качестве оплаты за первый месяц.

Переткнули монтёры кабель, зашли в квартиру. Так, мол, и так — надо настроить. А кабель у меня воткнут в роутер. Итог: с мамы взяли 800 рублей за настройку роутера. За смену внешнего IP со статики на автоматическое получение. Стоимость роутера: 600 рублей. Время, потраченное на настройку: 40 секунд. А за прошлый месяц я настроил, перепрошил и воскресил роутеров больше, чем вся их контора с момента открытия.

Пятница, 13-е, только начиналась…

11406

Я тебя породил — я тебя не убью

16 сентября 2013, 07:45

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

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

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

Сейчас приделывал ещё один процесс к тем двум, и понадобилось мне вывести окошко с сообщением. И что оказалось: окошко-то выводится, но поскольку процесс-то консольный, то окошко не кликабельное, сидит поверх всех и закрыть-убрать себя не даёт. Получился винлокер.

«Не страшно, — думаю. — Ctrl+Alt+Del я-то не заблокировал». Хотя были мысли и эту комбинацию заблокировать, так как не завершать работу аварийно, когда им что-то непонятно, я так и не научил.

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

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