Истории с тегом: программизмы

Всего историй: 900

8654

Пусть из сарая вырастет дворец

Все, наверное, читали знаменитое «Если бы программисты строили дома». Однако тут есть и другая сторона. Осталась за кадром привычка заказчиков менять ТЗ на ходу, а также взаимодействие с пользователями.

Заказ на строительство пятиэтажки. Стандартная пятиэтажка, ничего сложного. Спрашиваю, нужен ли лифт. Нет, говорят, не нужен. Отлично, мне же проще.

Через полгода дом построен. Приходит заказчик:

— А почему лифта нет?

— (Вашу мать!) Так сами же сказали, что не нужен!

— Ну да, сказали… Оказалось, нужен.

Куда я вам лифт пристрою? Ладно, присобачу шахты снаружи, прям рядом с подъездом. Вместо окон на лестничных площадках пробьём двери. Шахты уродуют внешний вид дома, а лифты останавливаются между этажами, зато относительно быстро и без кардинальных перестроек. Месяц отладки (то застрянет, то трос оборвётся, то напряжение в доме проседает — электросеть не рассчитана на такую нагрузку) — всё вроде заработало.

— Жильцы верхних этажей жалуются. Когда они выходят из дома в окно, а не в дверь, очень больно бьются об асфальт.

— А какого хрена эти идиоты в окна выходят?

— Ну, так быстрее. И вообще, привыкли они так. Придумай что-нибудь.

Хрен с вами — растягиваю под окнами сетки и подстилаю надувные матрасы. Жильцы всё равно набивают синяки и шишки, а иногда умудряются промахнуться мимо сетки и сломать ногу или шею, но жалоб становится меньше.

— Знаете, мы тут подумали: лифты — это всё прошлый век! Вот я был вчера в торговом центре, там вместо лестниц эскалаторы!

Кое-как объясняю, что эскалаторы не влезут ни по габаритам, ни по массе, стоить будут, как вся эта пятиэтажка, а энергии жрать, как целая улица. И вообще, ТЦ — это одно, а жилой дом — другое, и нефиг извратом заниматься. Вроде отстали.

— Жильцы жалуются, что в подъезде постоянно посторонние, а у многих квартиры часто грабят!

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

— Пять этажей — мало. Давайте ещё штук двадцать добавим!

Кое-какой запас, конечно, есть — не зря же я в своём строительном ПТУ учился. Этажей пять фундамент ещё выдержит, а на пределе прочности — и все десять, но от двадцати точно конструкция сложится, как карточный домик, клянусь своим мастерком.

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

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

— А вот я вчера видел рекламу президентского бункера. Сказали, он выдерживает прямое попадание мегатонной боеголовки. А наш дом выдержит?

— Нет, конечно.

— А почему? Надо, чтобы выдерживал!

Вот так и живём.

8646

А тишина — в библиотеке

Объявил глобальную vector-переменную, сразу под объявлением начал присваивать значения элементам. Остановил себя перлом: «Кровь должна быть в артериях, дерьмо в кишках, а присваивание в функции».

8627

Апдейт du jour

Последний день сдачи контрольной по Delphi. После дописывания программы та отказалась запускаться, сразу выводя отчёт об ошибке. Все попытки заставить программу заработать ни к чему не привели. Один из однокурсников пошутил: «А ты отправь отчёт в Майкрософт». Нажал кнопку, посмеялись: «Уважаемый Билл Гейтс, вы сделали операционную систему, не совместимую с моей программой, срочно примите меры!»

День подошёл к концу, заставить работать программу так и не получилось, и о ней я благополучно забыл. Спустя t времени и n переустановок винды (с апдейтами) я разгребал папку с проектами и наткнулся на эту самую программу. Вспомнив историю, попытался запустить. Сильно удивился, когда на экране появилась форма. Программа, впрочем, выдавала всё ту же ошибку при нажатии кнопок, но сам факт, что её стало видно на экране, намекал: что-то там мелкомягкие подправили в своих обновлениях.

* * *

Сел баловаться: изучать свойства стандартных компонентов. Натыкал их на форму и давай собирать проект. При запуске проекта, где не было ни строчки самописного кода, Каспер ругнулся: «Project1.exe заражён!» Название «вируса» история не сохранила, но спустя пару обновлений ложное срабатывание прекратилось.

8626

Будьте позитивнее

Сижу потихоньку на рабочем месте, стучу по клавиатуре. Тут приходит SMS от известного московского 4G-оператора с названием из четырёх букв:

Сегодня последний оплаченный день доступа в интернет. Пополните ваш счёт ***** на −57 руб.

Захожу в личный кабинет — точно, на счету лежит на 57 рублей больше, чем нужно заплатить по тарифу. Мужики, может, проверять достаточность средств и рассчитывать сумму доплаты надо порознь, а не в одно действие?

8623

Компьютер синеет лицом и ругается

Будучи студентом с некоторым знанием сложного языка Бейсик, во времена компьютеров ДВК я был назначен лаборантом по информатике в сокурсных группах. Чтобы не усложнять жизнь своим же ребятам, придумал простенькие задания. Одним из них было написание программки с использованием генератора случайных чисел. А чтоб уж совсем просто, разложил и разжевал каждую строчку программы, но только на родном, на русском. Оставалось только слова подменить на коды.

На экране первого же студента было следующее:

20 Компьютер генерирует число от 0 до 100.

30 …

Бездушная машина не понимала красивого славянского слога. Учителя, как я вас тогда стал понимать!

8622

Косяк по-американски

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

2 октября с сайта мне пришло поздравление с днём рождения по электронке, причём дважды. «О, великий Ктулху, какие они доброжелательные», — подумалось мне. Но почему сейчас? День рождения-то у меня зимой.

Первая мысль: неправильно заполнена личная информация. Захожу на сайт. Личный кабинет, личная информация… Всё правильно: 10 февраля 1981 года. Но почему в октябре меня поздравляют? Гоняю думки… До меня доходит, в чём подвох, и я начинаю потихоньку сползать под стол от смеха и удивления, понимая, почему они меня поздравляют 02.10.

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

8609

Внесистемный Adobe Air

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

— Правильно, в паскалях надо давление измерять! А в атмосферах неправильно — это внесистемная единица.

8601

Оболочка повышенной неприкосновенности

Дело было в конце восьмидесятых. Учился я тогда в институте, и был у нас предмет «программирование». Работали на мейнфрейме то ли 1045, то ли 1061 в СВМ. В ней было организовано под сотню виртуальных машин, но студентов-то куда больше. Каждому на семестр выделялась виртуальная машина. Ей можно было пользоваться во время лабов, какое-то время выделялось по вечерам для подготовки отладки. На той же виртуальной машине в другое время работал другой студент.

В очередном семестре попался мне коллега чуть более продвинутый, чем остальные. Он знал, что можно для линковки и компиляции создавать командные файлы. Ну, чтоб не ручками каждый раз две строки в 50–60 символов набирать. Всё бы ничего, но в СВМ отчего-то приоритет был отдан не встроенным командам ОС, а командным файлам. Однажды по команде fl я получил не список файлов на своём виртуальном диске, а компиляцию чужой задачи. Не, можно, конечно, filelist — но это же долго, да и отвык я. Руки же сами пишут. Переименовываю fl во что-то там. Работаю. На следующий раз всё, конечно же, повторяется. Жалуюсь преподу — ему пофиг.

За неделю до следующих лаб решение было найдено и реализовано. Я сделал набор командных файлов, имена которых полностью повторяли набор команд ОС (полных и сокращённых). В принципе, почти все они делали простую вещь — тупо вызывали одноимённую системную команду с некоторыми доработками, а именно: из списка файлов выкусывали сами себя, не давали себя стирать/переименовывать/показывать/редактировать и пр.

Чудесным образом я прожил на своей ВМ до конца семестра. На консультации перед экзаменом я с удивлением узнал, что у меня пятёрка автоматом.

— Почему?

— Вы же сами знаете.

— А как вы догадались?

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

8588

Домашний питонец

Вы здесь освещаете только точки зрения людей, которых родители в детстве ограждали от компьютера. И почему-то не предоставляете слово самим родителям. Расскажем, какое решение придумали мы.

Мы продали настольный компьютер вместе с 19-дюймовым монитором. Выручили семь тысяч — хватило ровно на два трёхлетних нетбука. Один мне, другой мужу. Мы с ними не расстаёмся, носим с собой повсюду, поэтому когда ребёнок остаётся дома один, взять компьютер ему просто негде.

Во всяком случае, мы так думали, пока не обнаружили в комнате нашего пацана спрятанную в диване начинку от какого-то сенсорного смартфона. Без корпуса. Мы знаем, где он мог это взять — у одного из его одноклассников отец работает в мастерской.

Стали смотреть, что там установлено. Ни одной игры, только Python. И несколько программ, явно написанных самим сыном, например, для нахождения чисел ряда Фибоначчи — он как раз проходит эту тему в школе. В закладках браузера — ничего, кроме учебника по Python.

Теперь всерьёз опасаемся, как бы пацан не стал тем самым «замкнутым и нелюдимым роботом». Или айтишником? А мы так надеялись художника из него сделать!

8586

Daemons vs. Zombies

Однажды во время дебага обнаружил следующее:

I/DEBUG(3176): debuggerd committing suicide to free the zombie!

Конец света наступит точно в этом году.