Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов.
Шрифт:
#1138: Свидетели Столлмана
20:45 08.08.2009, IT happens
Стою утром на остановке, курю, никого не трогаю. Подходит ко мне солидная дама и спрашивает, давно ли проезжал такой-то автобус. Нет, говорю, только отошел. Стоим еще минуты две; вдруг дама начинает беседу:
– Славная нынче погодка, не так ли?
– Да, погодка что надо.
– Как вы думаете, может ли Бог сделать так, что бы в жизни нашей все было так же славно? Готовы ли вы для этого уверовать в его могущество и стать другом Христа?
Далее следует долгая, заранее
– Не знаю насчет этого, но вот верите ли вы, что Великий Тукс и пророк его Всемогущий Торвальдс могут избавить мир от невзгод?
Дама смотрит на меня с нескрываемым удивлением. Я же продолжаю свою «проповедь»:
– Вижу, вы не знаете про великого Тукса? То-то я не замечаю счастья на вашем лице! Вот, возьмите этот диск (протягиваю очень кстати оказавшийся у меня в рюкзаке Ubuntu 9.04) и загрузите с него свой компьютер. Я уверена, что после этого вы обретете истинное счастье!
– Девушка, вы меня извините, но…
– Да подождите же вы, я ведь еще не успела рассказать вам про священную нашу книгу - «Just For Fun»!
– Девушка, да отстаньте вы от меня!
– Подождите, не уходите! Возьмите хотя бы диск! Вы познаете истинное счастье!…
Последние слова звучали уже вдогонку «миссионерке».
#1139: Точка с запятой, дефис, закрывающая скобка
20:45 08.08.2009, IT happens
Работаю программистом. В нашей организации установлена большая информационная система, внутри которой запускается куча разных задач. Как-то звонят мне с объекта - мол, не работает на моей задаче фильтр по подразделениям. Пользователю видны все подразделения, что идеологически неправильно, да и просто неудобно. Спрашиваю:
– Коды подразделений введены правильно?
– Правильно, правильно!
– Через точку с запятой?
– Конечно! Как вы нам говорили, так и сделали.
Делать нечего, лезу в удаленку, открываю параметры задачи. Вместо «;» между кодами стоят «.,».
#1140: Большой шум принтера LPT
00:30 09.08.2009, IT happens
Решил из нескольких списанных Epson LX-800 собрать себе домой на новый год матричник. Сижу, ковыряюсь, перебирая полуубитые головы, барабаны и протяжки. Собрал, агрегат даже заработал. Гоняю «лист Малевича» - страницу, залитую черным.
На стрекот заходит удивленый напарник: «А что за музыка у тебя только что была?» Начинаю ржать, он не понимает и продолжает: «Понимаешь, только последний акорд услышал - столько вспоминаний полезло! Кто играет?»
Обьяснил. Слушаем уже четвертый лист.
#1141: Ломать - не строить
13:00 09.08.2009, IT happens
Мои родители занимаются видеомонтажом в Adobe Premiere и Adobe After Effects. Контора, на которую они работают, подарила им лицензионный пакет этих программ. Все как положено - красивая коробка, серийный номер, защита и так далее. Все было хорошо до тех пор, пока софт не полез обновляться в интернет и при запуске потребовал повторной активации.
Казалось бы, все просто: телефон для России указан, нужно только продиктовать серийный номер, код активации и получить
Да, поменять ситуацию будет непросто - русский человек еще слабо понимает, что делать с лицензионными программами…
#1142: Десять строк хорошего кода заменяют сотню ленивых юзеров
15:00 09.08.2009, IT happens
В 2007 году я разрабатывал небольшую самописную ГИС с картами Москвы для мелкого завода. Бесплатных данных не было, и я кое-как за месяц расковырял одну систему с картами, успешно «спиратив» исходники. Немного позже потребовались геоданные для Московской области. В той программе их не было, зато нашлась другая в виде отсканированного атласа, на который были нанесены векторные метки. Сами данные хранились в каком-то невероятном формате; времени на разбор не было, система была нужна «здесь и сейчас».
Идея пришла моментально. Из-под моих плящущих по клавиатуре пальцев вылетали куски кода:
– отправляющего сообщения вида «нажата кнопка „вправо“», «нажата кнопка „влево“», «нажата кнопка „Page Down“» окну;
– распознающего серые окружности, изображающие города;
– получающего название города из текстового поля;
– двигающего мышь в нужную позицию.
Все было собрано в программу-потрошитель. Она искала окно «жертвы», переводила карту в левый верхний угол, распознавала города на текущем сдвиге, запоминая их координаты, получала названия и сдвигала экран вправо. Процесс повторялся - если был достигнут край карты, экран опускался вниз.
Запуск невероятно порадовал - по экрану как угорелый скакал курсор мыши, кликал в окружности-города, названия которых сменяли друг друга с невероятной скоростью. Все моргало и двигалось, производя самое фантастическое впечатление. Через десять минут вся карта была сграблена.
С тех пор я верю: как бы ни была сложна программа, рассчитанная на взаимодействие с человеком, можно написать робота, который решит задачу не хуже.
#1143: Живи играючи
15:00 09.08.2009, IT happens
Я биолог и от математики предельно далек. Довольно часто мне приходится решать сложные задачи - обычно за меня все делают умные программы, но иногда нужно что-то посчитать вручную. В этом случае я обращаюсь за помощью к своему другу-программисту, который, несмотря на всю свою занятость, частенько меня выручает, ведь мои задачи не только полезны для «народного хозяйства», но и довольно интересны.
Постучался я как-то ему в аську: «Слушай, есть новое дельце!» Друг заинтересовался и согласился подумать. Даю вводную: есть поле 5х5, в ячейках нужно разместить цифры от единицы до четверки При этом единичку можно ставить везде, двойку - только рядом с единицей, тройку так, чтобы рядом с ней были одновременно 1 и 2, а четверку в окружении 1, 2 и 3. Цифры нужно расставить так, чтобы общая сумма была максимальной.