Нас в отделе двое PHP-программистов: я и одна девушка. Дал ей задание обновить информацию на сайте, а сам в своих делах замотался настолько, что даже забыл спросить, готово или нет.
Вечером, точнее ночью после полуночи, на связи появляется заказчик и интересуется, как дела. Я убеждаю его, что все завтра будет, сижу и думаю - чего завтра ждать, если возможность сейчас сделать есть? Захожу из дома и за пару часов делаю свою часть и немного захватываю часть работы девушки. Сохраняюсь - и все, с чистой совестью спать.
Утро. Захожу на сайт. %#@!
Все по старому, часть модулей работает, часть нет, доля работы захваченная у девушки пропала, все осталось как вчера. Начинаю разбираться - ничего не понятно, даже пробегает мысль - не приснилось ли мне работа вчерашняя? И тут вдруг коллегу осеняет.
- А может это потому, что я оставила открытыми окошки DreamWeaver'а и с утра сохранила? - ... - Не надо так на меня смотреть. - ... - Ты чего молчишь? Скажи хоть что-нибудь! Цензурное.
Как-то раз писал свой собственный фрэймворк на PHP. Разработал архитектуру. Запрограммировал основные компоненты. Все протестировал - работает замечательно. И тут, значит, приходит заказ - написать CMS для простенького сайта. Решил поднять на этом самом фрэймворке. Все было замечательно, но в одном месте потребовалось обратиться на самый низкий уровень за значением, в результате чего родилась вот такая, поражающая своей информативностью, строчка кода:
В процессе портирования некой программы с Visual Basic, нашел гениальную альтернативу оператору !
Select Case bln_Сменить_направление_вращения Case True bln_Сменить_направление_вращения = False Case False bln_Сменить_направление_вращения = True End Select
<Ohtori_Akio> о чём ни спроси - все обычно советуют сменить операционку, потом железо, потом страну пребывания, ориентацию, всё, что угодно... вместо того, чтобы подсказать нужную настройку в софтине.
На форуме %sitename% в разделе по MS Access человек с проблемой: есть Accessовская база, он делает простую страницу доступа к ней. Локально она открывается, по сети - нет. Ему советуют изучать Perl, PHP, поставить Apache...
Проблема же была в том, что по умолчанию путь к базе данных в странице доступа прописывается полный локальный, его всего лишь нужно было в коде страницы перебить на сетевой.
Тестировал создание клиентов из внешней оболочки приложения, чем очень шокировал наших операторов. Среди Ивановых, Петровых и Сидоровых клиент "Создание Извне" смотрелся действительно слегка необычно.
Работал в начале девяностых в одной конторе. Писали преимущественно на C. Как то раз один заказчик попросил приложение, не помню уже какое, на сто тысяч строк. Объяснить человеку, большую часть жизни проведшему в местах не столь отдаленных, что размер не влияет на качество у нас не получилось.
Сразу почувствовали себя Маяковскими. Долго думали, что делать, потом решили сначала подгонять по смыслу, а потом по размеру. Программа вышла дай бог на двадцать тысяч строк. Просто переносам кода по строчкам эффекта не добиться. Впрочем, решение нашли довольно быстро.
Такой высокохудожественной программы я не писал никогда. Комментарии содержали в себе величайшие произведения русской и мировой литературы, стихи, прозу - все подряд. Даже один мой стих!
Клиент при приемке смотрел не в код, а на размер, поэтому остался доволен.
Несколько лет назад я запустил в немаленькой компании в работу небольшую программу для справочной. Несколько женщин-клиентов, для которых это был первый опыт работы с компьютером, целыми днями искали в справочной телефоны.
Через два дня звонят мне со словами "программа не запускается". Иду, значит, смотрю. Программа запущена, но свернута. А развернут стандартный пасьянс "Косынка". Возвращаюсь к себе, вношу изменение в программу, дабы не сворачивалась. Накатываю изменения на все компьютеры.
На следующий день опять "программа не запускается". Снова иду, смотрю. Программ запущено пять копий, все окна, дабы не мешали, растащены по углам за пределы рабочего стола (видны только уголки окон). А большую часть рабочего стола занимает все опять же пасьянс. Возвращаюсь к себе, вношу изменения в программу, чтобы запускалась только одна копия. Накатываю изменения.
На следующий день опять - "программа не запускается". Прихожу опять - запущена как и положено одна копия программы, как и положено развернута, НО - закрыта сверху окном с "Косынкой"!
В результате нормально работала только программа, которая не сворачивалась и запускалась поверх всех окон только в одной копии!
История про меню-каменную плиту, которое патрулировало остров, напомнило аналогичный случай из жизни разработчиков игры, действие которой происходит в открытом-преоткрытом космосе.
У них меню в какой-то момент тоже стало игровым объектом, в результате чего могло быть атаковано, расстреляно и взрывалось к чертовой матери. То есть получилась та ситуация, к которой игры стремятся уже давно, но безрезультатно: воздействию игрока поддается все. Можно разрушить космические корабли, планеты, меню, интерфейс. И остается лишь мышиный курсор. В черном холодном безмолвии открытого космоса. Один. Совсем один.