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

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

231

Потому что мы банда!

Учился я на факультете математики и информатики. И всегда делал все задания вместе с друзьями (ну, если честно, то я делал, остальные списывали). Нас даже препод бригадой называл, а меня бригадиром.

Так вот, сдавали на ASM-е какое-то задание. Мой друг (назовем его Петькой) сдает первым. Препод смотрит на текст программы (рукописный), спрашивает: "что это?" и указывает на строчку:

mov ax, 13;

int 10h;

Петька отвечает: "intion - иншион по нашему!". В рукописном варианте пробел был как-то незаметен, единица на английскую "i" смахивала, ну а "h" была похожа на "n", Петька, видимо, очень спешил переписать мое задание, поэтому сделал кучу ошибок, да еще вместо точки с запятой он поставил двоеточие.

Петька смотрит на текст - ну "иншион", да еще две точки в конце стоят... Ну точно иншион. Препод вдруг меня спрашивает, что там написано. Я всматриваюсь, ну "иншион"... Всматриваюсь еще - ну точно "иншион"! Чего он к Петьке придирается! Всё это я думаю про себя, потом беглым взглядом анализирую код выше и вижу "mov ax, 13;".

И тут меня осеняет! Что это никакой не "иншион", а int 10h!

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

222

Внучка за бабку, бабка за дедку, дедка за репку

Живу в Израиле. Делаю сайты.

Заказываю некий модуль для %frameworkname% у местного ивритоязычного фрилансера. Через месяц получаю готовый, проверяю, вроде работает, расплачиваюсь. Через пару дней обнаруживаю глюк, решаю починить сам. Читаю код и вдруг вижу:

$sysvar = str_replace($chto, $nachto, $parm); //vot blya!

Впадаю в ступор, ибо знаю, что фрилансер по-русски не знает ни слова. Звоню ему. Он мнётся, мнётся, но в конце концов признаётся, что модуль сделал не сам, а нашёл другого фрилансера на каком-то сайте. Я, собственно, так и думал - но тут он мне сообщает, что второй фрилансер - индус!

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

А я-то ещё удивлялся, почему такой простой проект у первого отнял месяц.

211

Use SVN, Luke!

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

Вечером, точнее ночью после полуночи, на связи появляется заказчик и интересуется, как дела. Я убеждаю его, что все завтра будет, сижу и думаю - чего завтра ждать, если возможность сейчас сделать есть? Захожу из дома и за пару часов делаю свою часть и немного захватываю часть работы девушки. Сохраняюсь - и все, с чистой совестью спать.

Утро.

Захожу на сайт.

%#@!

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

И тут вдруг коллегу осеняет.

- А может это потому, что я оставила открытыми окошки DreamWeaver'а и с утра сохранила?

- ...

- Не надо так на меня смотреть.

- ...

- Ты чего молчишь? Скажи хоть что-нибудь! Цензурное.

207

Это было неописуемо!

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

$result = $cur_obj->values->value->value->get_value();

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

$result = $cur_obj->values->value->value->get_value(); // ЫЫЫЫЫ!!! =8]

Так и сдал, заказчику.

Если кто будет поддерживать сайт и встретит это творение, знай брат, я не специально...

205

Альтернатива

В процессе портирования некой программы с Visual Basic, нашел гениальную альтернативу оператору !

Select Case bln_Сменить_направление_вращения

Case True

bln_Сменить_направление_вращения = False

Case False

bln_Сменить_направление_вращения = True

End Select

201

Но дело не в этом!

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

На форуме %sitename% в разделе по MS Access человек с проблемой: есть Accessовская база, он делает простую страницу доступа к ней. Локально она открывается, по сети - нет. Ему советуют изучать Perl, PHP, поставить Apache...

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

197

Извне пришли они...

Разрабатываем биллинг.

Тестировал создание клиентов из внешней оболочки приложения, чем очень шокировал наших операторов. Среди Ивановых, Петровых и Сидоровых клиент "Создание Извне" смотрелся действительно слегка необычно.

188

Прокомментировано величайшими писателями

Работал в начале девяностых в одной конторе. Писали преимущественно на C. Как то раз один заказчик попросил приложение, не помню уже какое, на сто тысяч строк. Объяснить человеку, большую часть жизни проведшему в местах не столь отдаленных, что размер не влияет на качество у нас не получилось.

Сразу почувствовали себя Маяковскими. Долго думали, что делать, потом решили сначала подгонять по смыслу, а потом по размеру. Программа вышла дай бог на двадцать тысяч строк. Просто переносам кода по строчкам эффекта не добиться. Впрочем, решение нашли довольно быстро.

Такой высокохудожественной программы я не писал никогда.

Комментарии содержали в себе величайшие произведения русской и мировой литературы, стихи, прозу - все подряд. Даже один мой стих!

Клиент при приемке смотрел не в код, а на размер, поэтому остался доволен.

186

Битва с пасьянсом

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

Через два дня звонят мне со словами "программа не запускается". Иду, значит, смотрю. Программа запущена, но свернута. А развернут стандартный пасьянс "Косынка". Возвращаюсь к себе, вношу изменение в программу, дабы не сворачивалась. Накатываю изменения на все компьютеры.

На следующий день опять "программа не запускается". Снова иду, смотрю. Программ запущено пять копий, все окна, дабы не мешали, растащены по углам за пределы рабочего стола (видны только уголки окон). А большую часть рабочего стола занимает все опять же пасьянс. Возвращаюсь к себе, вношу изменения в программу, чтобы запускалась только одна копия. Накатываю изменения.

На следующий день опять - "программа не запускается". Прихожу опять - запущена как и положено одна копия программы, как и положено развернута, НО - закрыта сверху окном с "Косынкой"!

В результате нормально работала только программа, которая не сворачивалась и запускалась поверх всех окон только в одной копии!

180

Очень одинокий курсор

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

У них меню в какой-то момент тоже стало игровым объектом, в результате чего могло быть атаковано, расстреляно и взрывалось к чертовой матери. То есть получилась та ситуация, к которой игры стремятся уже давно, но безрезультатно: воздействию игрока поддается все. Можно разрушить космические корабли, планеты, меню, интерфейс. И остается лишь мышиный курсор. В черном холодном безмолвии открытого космоса. Один. Совсем один.

Поэзия.