День в муках рождался документ, и вот настал торжественный момент передачи задания исполнителю. Я развернул лист и увидел там самое краткое ТЗ в мире:
Программисту написать программу.
#7650: В далёкой-далёкой галактике, в большом-большом театре
12:00 31.10.2011, IT happens
Познакомился я с одним интересным человеком, который трудится монтажником оборудования на публичных мероприятиях. Разговорились. В числе прочего он поведал мне историю из личного опыта.
Как-то раз в Большом театре должен был проходить какой-то масштабный концерт. Соответственно, потребовались трансляционные экраны, и этот человек оказался в бригаде. До генеральной репетиции они успели уложиться с работой на сцене, остальное действо проходило уже с пультами. Все подключено, осталось оттестировать. К счастью, экраны мог видеть только дирижёр, которому наверняка стоило титанических усилий сохранить самообладание. Ребята не нашли ничего лучше, чем проверить экраны нарезкой из «Звёздных войн».
А что делали вы, когда космические корабли бороздили Большой театр?
#7651: Бьём в одну точку
12:00 31.10.2011, IT happens
Однажды пришлось мне настраивать SMS-уведомления сотрудникам компании о предстоящих мероприятиях. Ну, как обычно: делаю выборку телефонов и имён из БД, перебираю массив и отсылаю сообщение: «%name%, напоминаем вам, что…» Вследствие того, что у одного пользователя может быть больше одного телефонного номера, сделал ещё один перебор массива с номерами внутри массива с сотрудниками. Поставил LIMIT 1 в SQL-запросе, проверил на себе — всё работает. Убрал лимит и запустил скрипт.
Заподозрил что-то неладное, когда скрипт не закончил выполнение спустя пять минут. Сослался на тугодумность SMS-сервиса, но решил проверить лог отправки. Полез в базу и обомлел. Скрипт зациклился и отправлял сообщения только одному человеку: заместителю генерального директора. В общей сложности на её телефон пришло около двух тысяч эсемесок. Пришлось извиняться.
#7652: Смотрите все: я знаю алфавит!
12:00 31.10.2011, IT happens
Сижу на одном программистском форуме, помогаю студентам решать задачи на Паскале. Я честно не знаю, что бы я делал без этих дорогих индусов. Наверное, умер бы от скуки. Вот последняя жемчужина.
Необходимо создать текстовый файл, содержащий исходную программу, а также подсчитать длину созданного файла. С созданием файла вопросов не возникает, а вот как подсчитать длину? На ум пришло только:
{Podschet dlini}
Reset(f1);
koclass="underline" =0;
while not eof(f1) do begin
readln(f1,l);
For i1:=1 to length(l) do if (l[i]='a')or(l[i]='A') or (l[i]='b')or(l[i]='B')
or(l[i]='c')or(l[i]='C')or(l[i]=' ')or(l[i]='d')or(l[i]='D')
or(l[i]='e')or (l[i]='E') or(l[i]='f') or(l[i]='F')
or (l[i]='g')or (l[i]='G') or (l[i]='h')or(l[i]='H')
or(l[i]='i')or(l[i]='I')or(l[i]='J')or(l[i]='j')
or(l[i]='k')or(l[i]='K')or(l[i]='l')or(l[i]='L')
or (l[i]='m')or (l[i]='M')or(l[i]='n')or(l[i]='N')
or (l[i]='o')or(l[i]='O')or(l[i]='p')or(l[i]='P')
or(l[i]='q')or(l[i]='Q')or (l[i]='r')or (l[i]='R')
or(l[i]='S')or(l[i]='s')or(l[i]='t')or(l[i]='T')
or(l[i]='v')or(l[i]='V') or(l[i]='w')or(l[i]='W')
or(l[i]='u')or(l[i]='U')or(l[i]='x')or(l[i]='X')
or(l[i]='y')or(l[i]='Y')or (l[i]='z')or(l[i]='Z') then
koclass="underline" =kol+1;
end;
WriteLn('kol=',kol);
Правильно ли? И каким ещё образом можно подсчитать длину?
#7653: Быстрее, выше, больше
12:00 31.10.2011, IT happens
Как правило, новые версии программ предъявляют более высокие требования к железу, нежели предыдущие. Ведь новые рюшечки и перламутровые пуговки — это так практично, эргономично и прочие «-ично»! Но 2010-й офисный пакет от мелкомягких и тут смог отличиться. До чего же удобно и красиво смотрится изменение формата файла из XLS в XLSX с одновременном увеличением размера с 500 КБ до 125 МБ!
#7654: Такой дорогой, такой беззащитный
14:00 31.10.2011, IT happens
Приходит клиент, заказывает комплектующие. Говорим, что соберём и привезём на дом бесплатно. Не соглашается: он, дескать, не дурак, сам сможет собрать, тем более это очень интересное занятие. Довольный, уходит с дорогой покупкой.
На следующий день клиент приносит собранный собственноручно комп и спокойно указывает, что тот почему-то не работает. Подключаем для проверки и с удовольствием наблюдаем дым из системника. Разбираем и находим провод питания FDD, подключённый к четырёхконтактному разъёму питания процессорных вентиляторов на материнке. Оказывается, очень даже неплохо подходят по размерам.