7764
На горячей передовой компьютерных технологий в конце девяностых была BeOS. Операционка была шикарная, работала быстро, выглядела на то время весьма стильно. С точки зрения начинающего программиста её API был гимном простоты, красоты и разумности, в отличие от виндового, с которым мне впоследствии пришлось столкнуться.
Вместе с операционкой поставлялась книга документации этого самого гениального API в HTML-формате — так называемая BeBook. Книга была подробна, грамотно спроектирована, неплохо оформлена и пестрела интересными примерами кода. Вдруг выяснилось, что примеры, приведённые в книге, временами не то что падают с ошибками, но даже и не компилируются. Компилятор ругается на что-то, чего в исходном коде просто нет! Ещё веселее становится, если набрать этот же самый пример вручную: он без проблем компилируется и запускается.
Вдумчивое курение всего, что только можно, подсказало, где собака порылась. BeOS изначально работала в кодировке UTF-8, и в этой же кодировке была написана вся документация. Но поставляющиеся с BeOS шрифты не содержали абсолютно всех прописанных в UTF-8 символов. Так вот, там и сям в BeBook попадались эти самые UTF-символы, которые ничем не отображались, поэтому с точки зрения пользователя в любом вьюере или текстовом редакторе выглядели пустым местом. Но значения-то своего они при этом не теряли! Компилятор, неожиданно натыкаясь на непонятную пакость, считающую себя символом, естественно, начинал безбожно ругаться.
Некомпилирующиеся примеры из официального руководства программиста я никогда не забуду.
7763
Мне на днях из МГТС позвонили.
— Сколько вы за интернет платите?
— 1500 рублей.
— А можете платить 300! — бодро отвечает телефонист.
— Какую скорость вы предоставляете?
— До полутора мегабит, вам этого хватит!
— На что мне этого хватит? — продолжаю я тратить время этого чудика.
— Например, фильм в DVD-качестве будет у вас скачиваться примерно три часа.
— Да, но сейчас у меня оптоволокно со скоростью 100 мегабит, и фильм в Blu-ray-качестве скачивается значительно быстрее, чем у вас DVD.
— Ну, оптоволокно — это прошлый век. Мы предоставляем ADSL2. А вы уверены, что ваш интернет выдаёт 100 мегабит?
— Да, — без единой доли сомнения отвечаю я.
— Замечательно! — неожиданно вскрикивает мальчик на том конце провода и кладёт трубку.
7762
Зимняя сессия на заочном факультете. Пара по алгоритмам программирования. Препод ушла на совещание, оставив меня за старшего.
Пишем прогу на Object Pascal в среде Delphi 7. Одногруппник подзывает меня со словами, что у него не работает прога. Мол, по-английски не шпрехаю, глянь сам.
begin
var i, z:integer;
begin
forI:=0to5do
forJ:=0to5do
begin
z:=z+SrnToLnr(StreengGrid1.Ceiis[I,J]),
end;
end.
end;
У меня глаз чуть не выпал от такого «кода».
7761
Недавно получили от одной начальницы служебку:
В целях ускорения работы сотрудников подразделения прошу заменить клавиатуры на медийные со следующими кнопками:
— Вырезать
— Копировать
— Вставить
— Проигрывать
— Пауза
— Прибавить звук
— Убавить звук
7760
Готовлю серверную начинку для сайта, размещённого на маломощном виртуальном хосте. Обычно пишу на Java, но в данном случае конфигурация слабовата для поддержки сервлетов, и я решил написать нечто достаточное для начала тестирования в формате CGI. Простота написания скриптов порадовала, но время было уже позднее.
Лежу я в полудрёме и думаю: «Скрипты — это здорово. Кода мало, компилировать не надо, тестятся прекрасно. Но вот хлынут посетители на сайт — и что тогда? Сервлеты-то постоянно в память загружены и мгновенно обслуживают запросы, а скрипт — его же каждый раз с жёсткого диска загрузить надо, да сопутствующие утилиты и библиотеки, да всякие прочие накладные расходы…»
Тут в засыпающее сознание поступает вполне конкретный физиологический позыв. Но кодинг не отпускает: «Вот взять хотя бы посещение туалета по малой нужде. Если ты встал с кровати, прогулялся до белого друга, выполнил все прочие формальности — это CGI. Батюшки, это сколько же накладных расходов! А вот сервлет — это другое дело. Его можно сравнить с ситуацией, когда ты, скажем, в памперсе или в скафандре, как космонавт. Поступил сигнал — сразу пошёл ответный процесс… Не-е-ет!»
В общем, бежал быстро и успел реализовать позыв в формате CGI. Может, оно и сурово, и с некоторой задержкой во времени, зато надёжно и гигиенично.
7759
Живу в общаге технического вуза. Нежданно-негаданно прилетает проверка на электроприборы: чайники и обогреватели нельзя. А мы с соседом только что чай вскипятили. Естественно, чайник у нас попытались конфисковать, а чтоб не носить кучу трофеев, забрали только подставку. Но мы же студенты, к тому же русские, и для нас нет ничего невозможного.
Пришлось снимать витуху, которая используется вместо телевизионной антенны, и запитывать чайник напрямую без подставки. Сегодня сосед припёр с работы кучу запчастей, из которых мы благополучно собрали вторую альфа-версию вундервафли. Сейчас из пенопласта варганим нормальную подставку, чтоб провода руками не держать.
7758
У нас в банке шесть лет назад начальник отдела программирования выставил для проверки на пустую дату в платёжных документах 11 ноября 1911 года… Скотина.
А какая-то сволочь, не разобравшись в камментах, три года назад обновила программу и убрала проверку на пустую дату по веку, оставив только по году… Падла.
Вчера у нас был ад и холокост. У тысяч клиентов, решивших отправить платёжки через банк-клиент, программа выдала fatal error и завершилась, а платёж подвис в воздухе. С самого утра телефоны разрывались. Я-то не программист, но я сижу с этими скотами в одной комнате! Так вот, одна из этих сволочей по-быстрому накатала патчик, но не проверила его и воткнула в автообновление для всех клиентов. Патчик при установке вешал программу-сетапер. Начали звонить ещё и те, кто платежей не производил, но решил обновить программу.
Мозг кипит от звонков, начальство периодически заходит и орёт на всех, не разбираясь, программисты или сисопы. В коридоре — толпа клиентов, жаждущих крови. По телефонам уже звонят в соседние отделы, просят принести трубку сюда и ударить ею в голову.
Трижды одиннадцатого трижды проклятые три программиста с интервалом в три года попортили нам тройное количество нервов, а обед задержали на три часа. Кое-кто лишится премии и, возможно, пройдёт сеанс терморектального криптоанализа. Проверяйте свой код, товарищи.
7757
С недавних пор тесно общаюсь с бухгалтерией. Кроме того, слежу за нашим оборудованием. Так вот, когда продают компьютер, как обычно выглядит в счёте начало строки с системным блоком?
Процессор Core i5…
И вот как прикажете занести в учёт эту вещь, чтобы потом проверка поверила на слово?
7756
Будни российской софт-компании.
— Ты не поверишь! Нам тут предлагают свой код тестить.
— Не, ты что! Это же инцест получится!
— Ну… Смотря как воспринимать свой код: как своё детище или как продолжение себя. Если как продолжение себя, то вообще онанизм выходит.