IT happens. #1-800
Шрифт:
Одна контора запросила у другой некий документ. А чтобы тем было проще документ составить – отправили форму, для заполнения. Листов 10 – всякие ячейки, столбцы и прочее в том же духе.
Предварительно распечатав эту форму на принтере, и отсканировав каждую страницу.
В TIF. Несколько мегабайт.
Поскольку в почтовый ящик оно не лезло – запаковали в архив, разбитый на пару десятков кусков.
И отправили. По диалапу.
Восторгу получателей не было предела: надо все это скачать, собрать, распаковать, потом по картинкам набить вручную
И месть была страшна: документ был изготовлен, заполнен, распечатан, отсканирован, картинки вставлены в Вордовский документ (ах, с каким трудом еле шевелился под многомегабайтным грузом Ворд!...), все это запаковано в архив и порезано кусками.
И отправлено по диалапу обратно...
#500: Глобально, на века!
17 января 2009, 09:00. рейтинг: 1936
Работаю тестировщиком в офшорной софтверной компании. На одном проекте со мной трудятся китайские разработчики, которые регулярно, простите, жгут. Не могу не поделиться последним их подвигом.
Есть на одной из форм поле "Дата рождения". Во время тестирования было выяснено, что значения туда могут быть введены уж очень фантастические (люди столько не живут), крайней датой, которую можно сохранить, было 1 января 1573 года, после крайней даты система вываливала страшный ексепшен.
Иду в багтрек и пишу предложение китайским друзьям – ребята, есть смысл во-первых, определить приемлемый диапазон дат (это ж не просто дата, а дата рождения), во-вторых сделать юзер-френдли сообщение, на случай если пользователь опечатается в этом поле, дабы не пугать его.
В следующей версии приходит фикс. Иду проверять, ввожу какую-то, совсем уж мохнатую дату, на что получаю "user friendly" сообщение:
"The date should be between January 1, 1753 and December 31, 9999"
Это ж как масштабно мыслят эти парни – система, видимо должна работать не только с супер-долгожителями, но и с людьми, которые родятся только через несколько тысячелетий...
#501: Подземные лучи
17 января 2009, 09:00. рейтинг: 3913
Подрабатывали как-то с другом ремонтом ноутбуков.
Стандартная поломка – замена разбитой матрицы. Матрица куплена, поставлена и проверена, все работает. Приходит клиент за своим ноутом, мы с напарником выносим пациента на демонстрацию, ставим на тумбочку в коридоре, включаем его в розетку, все пускается, матрица не работает.
Опаньки.
Рассказываем про непредвиденные обстоятельства, скрытые дефекты, а в голове перспектива разбора, да еще не дай бог матрицу тащить назад сдавать. Просим пять минут – разобраться, что могло случиться.
Уходим назад в комнату, подключаемся к розетке, включаем – чудо! Матрица завелась. Ну и слава богу, мало ли что это могло быть. Работает вроде бы стабильно. Выключаем, тащим обратно клиенту показать победу. Ставим в коридоре, включаем и... правильно, не работает! Ну, думаем, приплыли – догорело что-то, уносим в комнату. Работает. Одновременно приходит мысль, что все дело в розетке. Воображение рисует разные картины – вплоть до перевернутой кверх ногами синусоиды. И тут на третьем подходе меня осенило.
С веселым, но несколько нервным гоготом я выволок с полочки той самой тумбочки, куда мы ставили ноут на демонстрацию, спрятанный до лучших времен динамик 35-ГДН, лежавший там вверх магнитом диаметром около 12 сантиметров. Своим магнитным полем агрегат пробивал слой ДСП, корпус ноута с материнкой и заставлял срабатывать магнитный флип на матрице ноутбука. А тот считал, что крышка всегда закрыта...
#502: Точный математический прибор
18 января 2009, 09:00. рейтинг: 2645
Небольшая IT-компания, занимаемся в основном внедрениями 1С.
Выезд в деревню, бугалтерия, выделили компы, нужно сделать им 1С-Бухгалтерию.
Приезжаю, захожу в офис, сидят бухгалтеры, вокруг стоят компьютеры, на столах у каждого помимо машин лежат калькулятор и счеты.
Спрашиваю, зачем счеты.
– А вдруг калькулятор неправильно посчитает? Мы проверяем.
Боюсь рассказывать им, для чего нужна 1С-Бухгалтерия....
#503: А тем, кто не поймет, он откусит ногу
18 января 2009, 09:00. рейтинг: 1273
Разрабатываем одну большую корпоративную систему – огромная база данных, большие нагрузки на сервера ну и веб-интерфейс, куда ж без него. Интерфейс этот пишется с использованием одной библиотечки, которая в свою очередь вовсю использует AJAX. Библиотека open-source, но как-то раз преподнесла совершенно неожиданный сюрприз.
Решил я ее обновить, скачал новую версию, пересобрал, залил – все вроде в порядке. Но при заходе на одну из страничек сервер стал тут же падать! Не поняв с первого раза, как стабильно работающее приложение может вдруг выкинуть такой фокус, стал внимательно изучать логи. И обнаружил там, о ужас, StackOverflowException! При этом, точно зная что рекурсию нигде не использую, порылся в своем коде пару минут, да и решил заглянуть в код библиотеки. А там увидел вот такую прелесть на месте того метода, который вызывал ошибку:
/**
* @return
* @see #getPage
* @deprecated
*/
public int getPageIndex {
return getPageIndex;
}
Вот оказывается как надо объявлять метод устаревшим, чтобы его впредь больше никогда не использовали!
#504: Деревянные игрушки, коляски без тормозов...
19 января 2009, 09:00. рейтинг: 2119
Мама на днях решила "почистить компьютер" от всего ненужного. Не нужным, естественно, оказался мой многострадальный курсак по с++.