Истории с тегом: факапы

Всего историй: 808

6058

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

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

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

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

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

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

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

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

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

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

6026

With great power comes great responsibility

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

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

6000

Под защитой монолита

Когда я работал в техподдержке крупного магистрального оператора, вели мы чудесный проект по организации каналов связи для дистанционного обучения детей-инвалидов. Провели такой канал в центр обучения в Чите. Стали проверять — недоступен адрес. Местные монтажники поднапряглись и нашли причину: обрыв оптики в одном из кабельных колодцев. По горячим следам выяснилось, что постарались местные бомжи — думали, что медь.

Но речь не о том. Проблему-то решили быстро, но встал вопрос: как защититься от нового обрыва? Горе-монтажники думали недолго — просто взяли и залили колодец цементом. А линк после этого пропал…

5975

Ситуация в Ливии: ололо пыщь пыщь риальни!

Запускали мы в одной телекомпании бегущую строку в новостях. На мне был контроль заполнения строки информацией с внутреннего сайта, но пока тестили, текст брали из локального файлика. Ничего не придумывалось; думал написать что-нибудь матерное, но что-то ёкнуло, и рука Великого Рандома меня остановила. Кое-как вылез в инет, зашёл на первый попавшийся сайт, скопировал несколько строк.

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

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

5974

Контрабандная соль на рану

Израильская IT-компания средней руки в несколько сотен душ. Один работник, хорошо отдохнув за выходные, посылает своему коллеге-приятелю электронное письмо с лейтмотивом: «Я достаю из широких штанин… Cмотрите, завидуйте, я гражданин». К письму приложены фотографии жены первого работника в позах, которые заставили бы покраснеть Сильвию Сэйнт. Позавидовать и правда есть чему: жена обладает яркой внешностью, а фотографии по откровенности легко затыкают за пояс произведения киностудии Private. Письмо уходит с одного корпоративного адреса электронной почты на другой, и работник блаженно жмурится в предвкушении обсуждения собственной везучести в курилке.

Недолго музыка играла. Работник отправил письмо в общую рассылку. Копию со всеми вложениями получил каждый сотрудник, от генерального директора до уборщицы.

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

Женщины начали придумывать способы мести. Дальше банальной стерилизации механическим путём обсуждение не зашло, но вот предлагаемые методы отличались изощрённостью и необычностью. Мужчины собрались переломать незадачливому коллеге ноги, руки и рёбра по самые уши, чтоб знал, что нельзя сыпать соль на рану сразу после выходных. Гендиректор вызвал работника к себе и доступно объяснил, что тот очень сильно неправ, и надо проверять поле «кому» дважды, а некоторым особо умным — и четырежды, после чего отдал распоряжение готовить приказ об увольнении. Расторопная секретарша уже успела приготовить приказ с очень ядовитой формулировкой, которая навеки закрыла бы перед работником возможность устроиться на должность посерьёзнее грузчика. Приказ на столе гендиректора, и тот уже заносит ручку, чтобы размашисто поставить точку в этой истории…

Под ручку с воплем «…мать!» бросается начальник службы безопасности.

Производство очень-очень военное, разработка составляет государственную тайну, поэтому все внешние контакты заблокированы. Отрублен интернет, в системниках нет дисководов и CD-ROM’ов, корпуса заперты на замки и опломбированы, все неиспользуемые порты залиты эпоксидкой и/или отключены от материнки. На территорию фирмы запрещено проносить записывающую аппаратуру. Вахтёры не спят, и за флешку, которую работник забыл оставить дома, следует такой втык, что гуманнее было бы вставить её в порт вывода на задней панели самого работника, причём широкой стороной. Да и незачем приносить флешку на работу: к рабочему-то компьютеру её подключить всё равно не получится, ведь USB-порты залиты эпоксидкой. Посетители сдают мобильники и наладонники на проходной под расписку, а аборигены пользуются корпоративными мобильниками, которые умеют только принимать и посылать звонки: умельцы из службы безопасности отключили камеру, диктофон и даже выдрали функцию SMS, чтобы злобные вражеские кроты, крысятничая, не переслали исходники кода ракеты в миллион строк порциями по 140 символов. В общем, no pasaran: враг не пройдёт, тут и свои-то не могут.

Начальник службы безопасности встаёт перед провинившимся работником на колени: ну как, как он пронёс на корпоративный компьютер эти чёртовы фотографии?!

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

5960

Идеальное преступление

В выходные работать — удовольствие. Не отвлекают, тихо. Галстук не нужен — в трениках и тапочках ходи. А ещё выходные прямо предназначены для гадостей. Да, работающие на выходных известны поимённо, но обнаружат-то гадость только в понедельник. А напакостить могли и вечером в пятницу, и в понедельник утром — ищи-свищи!

Так думал злоумышленник, кромсая кабели в шкафчике со свитчом на директорском этаже. Забрав для надёжности обрезки с разъёмами, отправился восвояси, уверенный в безнаказанности. Вот только сисадмины начали восстанавливать сеть к вечеру, а круг подозреваемых у озлившейся дирекции был очень узок: в час ночи в воскресенье в здании было всего семеро сотрудников. Nagios не подвёл.

5947

Даже белый халат надеваю

— Ты зачем, мать твою эдак, материнку исцарапал?

— Я не царапал!

— А кто ж это поцарапал — я, блин, что ли?

— Я бы его ни за что не царапал! Я забочусь о компьютере, пылесошу его регулярно, вчера пыль щёткой чистил.

Достаёт металлическую щётку для дерева, металла — или для какой там она ещё фигни используется?

— Ну, мне Лёша посоветовал специальную щётку для электроинструмента.

5945

Пишу я die() — и к горлу подступает ком

Работаю я веб-программистом. Часто выдаётся свободная минутка, чтобы отдохнуть или поиграть во что-нибудь. Естественно, делаю я это как можно более незаметно для коллег, админов и начальства. Когда наглость зашкаливает, я прямо в рабочее время смотрю аниме. В наушниках, негромко так. Монитор отвёрнут от посторонних глаз, сеть отключается (админы любят баловаться удалёнкой), так что поймать меня за этим занятием сложно.

В один из таких дней, когда код уже прожёг и без того уставший мозг до состояния «сыр с дырочками», я решил немножко отдохнуть от работы. Включил аниме, отрубил сеть, напялил наушники. Вроде бы не подкопаешься. Коллеги сидят тихо, в кабинете слышна только громкая музыка из наушников у соседа. Благоприятное время для расслабления. Вид задумчивый (вроде как я в мыслях о коде), рука на всякий пожарный у эскейпа, чтобы плеер закрыть мгновенно, если кто заглянет.

Погружаюсь в сюжет. Показывают воспоминания одного из персонажей: умирает маленькая сестрёнка героя. Я же не каменный! Девочка на больничной койке при смерти, брат её за руку держит — и музыка душещипательная… Меня прошибло. Слёзы потекли по щекам, хоть я и пытался сохранять серьёзный вид.

Краем глаза замечаю, что коллега снял наушники и идёт в мою сторону. Быстрым движением руки закрываю плеер и разворачиваю код на весь экран. Сосед подходит, глядит в монитор, потом на меня:

— У тебя что-то случилось?

Шмыгнув носом и утерев рукавом глаза, дрожащим голосом произношу:

— Код у меня ну очень трогательный…

Ещё неделю после этого от меня не отлипало прозвище «Эмокодер».

5891

Жестянка в резинке

Несколько лет назад винчестеры Seagate выпускались в рубашке из резины. Помнят их именно по этой особенности, которая якобы предохраняла диски от ударов. Куда меньше помнят о том, что из-за рубашки винчестеры эти были немного нестандартного размера.

Однажды пришлось мне в срочном порядке менять жёсткие на своей машине, и этот самый Seagate упорно не хотел заходить в предназначенное для него место в корзине. «Против лома нет приёма, если нет другого лома», — подумал я и винчестер засунул через силу.

Машина стала подозрительно неторопливо грузиться и вообще медленно помирать. Разбор полётов показал, что у этого винта, помимо рубашки, была и другая особенность: с двух торцевых сторон он был защищён не металлом, а самой настоящей фольгой. Из-за треклятой рубашки винт сдвинулся, и металлические скобки, которые должны были его держать, просто-напросто разрезали жестянку.

Когда я отнёс диск в сервис, мастер сказал, что многое повидал: и битые, и уроненные, и облитые винты, но разрезанный пополам лицезрел впервые.

5887

Про#$али всю ракету — заработаем ещё

Пускаем спутник. Циклограмма заправки второй ступени сжатым гелием. Команду «открыть клапан» написали, «пустить газ» написали, а «закрыть клапан» — забыли. 60 миллионов баксов в виде ракеты и спутника плюхнулись в океан. Реакция начальства: «Ну, ты больше так не делай» — и всё. Отличная у меня работа, не находите?