bash.im ithappens.me zadolba.li

Факапы

6179

Левый кривой я

11 мая 2011, 10:00

Работаю с 1С. Задание: написать нестандартную ведомость по зарплате. Переписал из компоновки в стандартный отчёт, сидим с расчётчицей тестим. У гендира зарплата не высвечивается: получил он деньги 31-го, а период выбран до 00:00:00 этого числа. Рассказываю расчётчице: бывают, дескать, левые кривые программеры, которые так вот делают. Открываю перед ней исходник — а там в комментариях в заголовке моё имя.

Стыдно, но весело.

6122

Мир, труд, CRITICAL ERROR

Баннерная реклама нового авто известной немецкой марки. На счётчике — количество дней до премьеры новинки в этой стране. С первого числа мая все сайты с такой рекламой висят по неизвестной причине. При разборе полётов оказалось, что работает этот индийский код как надо только в апреле.

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

6116

Ленту разорвало

В конце восьмидесятых рухнул железный занавес. Технические специалисты со всех концов Союза ринулись покорять мир и нагуливать жир на иностранческих харчах. В числе покоряемых государств был и Израиль; здесь не то чтобы было много жира (в 85-м страна пережила жесточайший экономический кризис), но, по крайней мере, никто не притеснял тебя из-за еврейского происхождения — у всех вокруг были те же проблемы.

Мощный приток сильных специалистов в маленькую страну создал переизбыток квалифицированных кадров. Народу было реально нечего делать. И тогда в «Технионе», лучшем техническом вузе Израиля, задались вопросом: а почему бы нам, имея столько учёных, не отправить в космос собственный спутник? Пусть это даст небольшую реальную выгоду, но зато какой будет резонанс, какая эффектная реклама: «Технион» станет одним из немногих университетов, способных построить и запустить спутник самостоятельно! Надо ковать железо, пока горячо, а то через несколько лет все эти учёные забудут, как проектировать спутники.

Это был широко освещавшийся, разрекламированный проект, в котором участвовали пять технионовских факультетов: материаловедения, физики, электротехники, программирования и аэронавтики. К разработчикам предъявлялись очень жёсткие требования: спутник должен был быть очень маленьким, чтобы запуск стоил меньше. Спутник должен был потреблять не больше 17 ватт энергии, чтобы работать на небольших солнечных батареях. Спутник подвергается постоянному облучению жёсткими космическими лучами, которые легко могут изменить содержимое компьютерной памяти или пережечь микросхемы, а экранирующая свинцовая оболочка будет весить слишком много, чтобы устанавливать её, — значит, надо предусмотреть запасные пути обработки информации и использовать методику коррекции ошибок. Испепеляющее солнечное излучение, раз в сорок минут сменяющееся глубоким космическим холодом, предъявляет свои требования к внешней оболочке спутника и размещённым снаружи датчикам. Технионовские учёные с блеском решили все эти задачи (все расчёты выполняли студенты) и создали пресловутый спутник, названный «Тек-Сат 1» (от «Technion Satellite», естественно).

Одним из внешних датчиков на спутнике была обычная камера, снимающая Землю. Больших и дешёвых оптических матриц тогда не было, поэтому спутниковые камеры с хорошим разрешением в те времена были похожи скорее на сканеры. Камера на «Тек-Сат» считывала изображение полоской оптических датчиков строка за строкой, по двадцать две тысячи пикселей в строке. За время считывания местоположение спутника менялось, Земля немного поворачивалась, и следующая строка содержала уже новую информацию. Эта информация должна была немедленно быть отправлена на Землю, потому что хранить её было негде: оперативная память стоила дорого и потребляла много энергии, так что хранить всю фотографию разом было невозможно. Из-за жёстких ограничений на компьютерные компоненты графическая информация не проходила сжатие. 24 бита на пиксель, 66 КБ на строку, гигабайт на фотографию формата 4:3. Повторюсь: гигабайт с небольшим на одну фотографию.

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

От глобального конфуза израильских учёных спасли российские ракетчики. Ракета-носитель не вышла на орбиту, спутник был потерян, и никто так и не узнал, что установленной на спутнике камерой пользоваться было нельзя. Следующий спутник — «Тек-Сат 2», успешно выведенный на орбиту в 1998 году и работающий до сих пор, — уже содержал оригинальное аппаратное решение сжатия графической информации, выдающее картинку заданного размера в реальном времени. Напомню, что из всей картинки каждый раз в наличии была только одна строка, а алгоритмы сжатия графических данных работают с блоками 8×8 пикселей, так что решение было действительно очень интересным.

6115

Доклад докладом, а апдейт по расписанию

3 мая 2011, 10:00

У заочников предзащита дипломов, на это дело в большую аудиторию ставится специально выделяемый ноут. Без всякой задней мысли приношу, подключаю, вижу, что всё работает, и ухожу в админку. Минут через пятнадцать прибегает тётка: «У нас ноутбук выключился!»

Кто ж знал, что эта сволочь поймает неизвестно откуда вайфай, сольёт обновления для Висты и уйдёт в ребут на середине доклада?

6114

Ехал SysAdmin через SysAdmin

3 мая 2011, 10:00

Наши дни, почта на Эксчейндже, у клиентов Аутлук. У одного руководящего сотрудника стоял форвард всех входящих писем подчинённому. В течение какого-то времени правило работало нормально, только спам последнему приходил в двойном экземпляре. Но однажды вечером размер почтового ящика превысил квоту, и отправителям стало возвращаться письмо от SysAdmin с кодом 5.2.2 и вложенным оригиналом сообщения. Пришло такое письмо и на ящик руководителя — форвард послал его обратно. В ответ получил письмо от SysAdmin с вложенным письмом от SysAdmin с вложенным оригиналом — и понеслось.

На 250-й итерации код баунса поменялся на 5.6.3: «В сообщении более 250 вложений». За ночь руководителю пришло 90 тысяч писем от SysAdmin, а ящик раздулся до 12 ГБ (вот вам ящики без ограничений у руководства!). Чистка в фоновом режиме шла четыре часа.

6105

Слив засчитан

2 мая 2011, 08:00

Бывший мой шеф слыл большим любителем интернета. Даже в сортир положил яйцо йотовское, чтобы, сидя на стульчаке, с нетбука в инет залазить. Кончилось дело тем, что уборщица перепутала это яйцо с подвешенным под ободком мыльцем, унитаз омывающим. Подвесила его на проводах, как смогла, под струю… Вечная память девайсу!

6061

Прикручу почти бесплатно

26 апреля 2011, 11:45

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

— Здравствуйте. Хотел бы спросить, как часто вы проверяете свои продажи через нововведённую систему оплаты?
— Здравствуйте. Ежедневно. Почему вас это заинтересовало?
— Вот смотрите, сколько стоит лицензия на вашу программу?
— Цена на один ключ — 1200 рублей.
— И часто у вас покупают ключи?
— Несколько штук в день.
— Скажите, а кто писал скрипты продажи через электронные деньги?
— Нанятый программист, а что?
— Советую вам выпустить новую версию либо закрывать фирму.
— Вы угрожаете?
— Нет. Заглянув в ваши логи, я увидел 28 покупок программы за 0 рублей, а также обнаружил на *****.ru лицензии на вашу программу по 200 рублей.

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

В конце концов, найдите денег на нормального программиста. Вам же лучше будет.

6058

Реальность вносит коррективы

26 апреля 2011, 10:00

Одному гениальному учёному захотелось, чтобы холодильник сам мог сказать, сколько в нём чего осталось, может быть, даже присылал эсемески: «Мужик, у тебя тут молоко заканчивается и огурцы уже привет передают». Как этого добиться?

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

Следующей идеей стала цифровая камера — они тогда (в начале двухтысячных) только-только начали набирать популярность. Точнее, несколько камер, расположенных так, чтобы увидеть всё, что есть в холодильнике. С анализом изображения, классификацией согласно базе данных и мониторингом количества после каждого открывания дверей. Учёный вздохнул тяжко, поднял свои конспекты по machine learning, натравил Wget на парочку сайтов с изображением продуктов, чтобы набить базу данных картинками обёрток и тактико-техническими характеристиками товаров, и сел писать алгоритм.

Получалось плохо. Для начала оказалось, что для создания устойчивой трёхмерной диспозиции объектов каждая полка должна была быть оснащена минимум тремя камерами, а лучше — четырьмя. (Ещё лучше — пятнадцатью, но тут уже включались экономические факторы.) Во-вторых, надо было построить объёмную модель каждой упаковки по тем её кускам, которые не загорожены другими упаковками, определить её раскраску и сверить с базой данных всех возможных упаковок под разными углами и с разных расстояний. Это примерно то же самое, что по мочке уха и левой пятке с расстояния в несколько метров определить личность человека и узнать, за какую команду он болеет в каждом виде спорта. Требования к счётным мощностям тут совершенно дикие; на такую задачу впору натравливать NASA или Министерство обороны, а не домашний сервер на основе Pentium IV, который учёный хотел нагрузить этой задачей вдобавок к остальным. В-третьих, надо было что-то придумать с распознаванием образов внутри полиэтиленовых пакетов: большое и зелёное — это огурец или авокадо? Незрелый мандарин или уже перезрелый? В-четвёртых, как поступить, если упаковка смята или этикетка наклеена очень криво? В-пятых, что делать с отделением для колбас? Оно слишком тонкое, чтобы туда поместилось несколько камер, и вещи там лежат друг на друге очень плотненько, и все в одинаковых пакетиках, а колбасы-то разные. В-шестых, как по внешнему виду упаковки понять, сколько ещё продукта осталось внутри? С молоком всё просто — упаковка полупрозрачная, но кефир и сок поставляются в картонных тетрапакетах, а шоколадная паста имеет тенденцию залеплять упаковку изнутри вне зависимости от её реального количества.

Coup de grâce идее с автоматическим распознаванием образов нанесла жена, на глазах у учёного доставшая сыр из коробки из-под котлет, потому что эта коробка, видите ли, удобнее.

Но гениальные учёные не сдаются! Если нельзя автоматически подсчитать, что в холодильнике заканчивается, то, может, удастся хотя бы облегчить эту задачу обычному пользователю? Итак, берём цифровые камеры, вешаем их на дверь холодильника изнутри. Берём LCD-экраны бросового качества (пять-семь битых пикселей в этом случае роли не играют), вешаем их на эту же дверь снаружи. Берём тот самый Pentium, пишем ему софт, который тупо пересылает картинки с камер внутри на экраны снаружи. Profit!

Система была создана, написана, опробована в лабораторных условиях (на столе) и отлажена. Учёный продырявил дверь холодильника, прикрутил к ней экраны саморезами, провёл провода, приклеил внутри холодильника камеры, подключил всё и позвал жену хвастаться новинкой.

Всё работало идеально. Экраны показывали внутренности холодильника. Жена была в восторге. Учёный гордо закрыл дверь. В холодильнике погас свет.

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

6026

With great power comes great responsibility

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

Когда сисадмин заметил в логе какие-то странные команды, которые он не вводил, он молниеносно сменил все пароли, включая пользовательские, пароль рута от базы данных и пароли на доступ к FTP. Тревога оказалась ложной, но в тот день из 25 сайтов, которые разрабатывались на нашем хостинге, лежал 21.