Свежие анекдоты, приколы со всего рунета!

Чат    Друзья    О проекте    Загадки:)
Постов за сутки: 242

Нужны сильные программисты

1999 год. Армия. Первые месяцы службы. Тяжеловато. Однажды спрашивают, есть ли музыканты. Вызвались трое, думали в оркестр заберут или в солдатский клуб… Оказалось, надо какому то генералу тащить рояль на восьмой этаж. Потом искали художника, был у нас один талантливый, вызвался, думал посадят стенгазеты рисовать… Оказалось, надо покрасить ворота на КПП, сам КПП и ограждение вокруг военного городка, и это в мороз -40. Вот ищут пару компьютерщиков. У меня и товарища вышка по IT. Думали, думали, где может быть подлянка, ничего не придумали, рискнули, вызвались. Приводят в штаб дивизии, много белых компьютеров, мониторов, принтеров… Дают по ведру для воды, мыло, тряпки — отмыть все за два дня!

Правда, все же удалось зацепиться — показали пару фишек в Word и Excel. Потом среди штабных офицеров за нас чуть ли не драка была.

Очень коммерческая тайна

Один очень крупный банк сейчас вовсю внедряет прием оплаты бесконтактными картами Виза и Мастеркард. Учитесь у крупнейших игроков, как это делать «правильно».

Во-первых, терминал для работы с картами выглядит точно так же как и пять лет назад. Мясистый такой калькулятор с термопринтером для печати чека, щелью для чиповых карт и прорезью для карт с магнитной полосой. Бесконтактные карты нужно прикладывать к экрану. Как об этом узнать? А никак — никаких обозначений, хотя бы намекающих на поддержку работы с бесконтактными картами, на терминале нет. У банка в арсенале две модели терминалов, и обе не имеют никаких видимых намеков на бесконтактную оплату.

Во-вторых, в банке вообще не очень подумали о том, чтобы продвигать бесконтактную оплату. Поэтому на кассе, где собственно происходит оплата, по-прежнему размещают только наклейки «Виза», «Мастеркард», «ОченьКрупныйБанк», и снова никаких намеков на бесконтактную оплату. Наклейку на терминал а-ля «вайфай» тоже никто не придумал.

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

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

Хотите блестящих результатов — учитесь у крупнейших игроков рынка.

Видеомашина Голдберга

Вот приходишь на смену, а дорогие коллеги, большие профессионалы, сломали IP-KVM. Ну то есть совсем сломали, выдернут из текстолита VGA-разъем видеовхода, уронили наверное. KVMпоследний и единственный, остальные уехали в другой ДЦ на международный проект, а это значит, что при любом заказе на трешовый дедик уровня core2duo придется переть из теплого офиса по улице 500 метров в модуль и сидеть там от 15 минут до часу времени, накатывая ручками всю хурму на серваки локально. В модуле холодно и шумно, и вайфай медленный, что же делать?

Надо применить инженерный подход. VGA не пашет, но команды клавиатуры с KVM на сервак передаются ок. В зипе находится длинный-предлинный vga-кабель, метров тридцать в бухте. Вешаем KVM на сервак, подключаем к серваку по VGA монитор, монитор ставим на коробку, коробку на стул, стул на стол, усиливаем все скотчем подкатываем получившуюся башенку к cctv-камере в углу комнаты, ориентируя монитором прямо в объектив. Вуаля - картинка с монитора доступна по сети, команды с клавиатуры передаются по сети тоже, пусть и по другому каналу.

Довольный собой, запускаю с pxe раскатываться на серваке образ и топаю в теплый офис, чтобы по возвращению заглянуть в cctv-монитор, а там сервер в процессе сетапа свалился в kernel panic и не отвечает на клавиатуру, окей.

Платите лучше дома

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

Экранная клавиатура показывается сначала в режиме ввода только букв, для набора цифр нужно нажать кнопку переключения режима. После этого цифры надо набирать на маленьких кнопочках, которые вместе занимают едва ли десятую часть экрана и половина из них срабатывает только при нажатии в правильно угаданный угол кнопки. Если попробовать набирать цифры на более удобной механической клавиатуре под экраном, железка пищит и игнорирует нажатия.

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

Очень интересно узнать, как они добились такого безусловного успеха.

Алое око пожара

Пару лет назад принесли ноутбук на ремонт и сами признались, сходу, что залит. Вроде дело обычное, но каким образом это произошло — рассказали сами хозяева.

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

Когда запятые кончились

Корректность значения не проверяется, говорите? Их есть у меня!

Год где-то 2005, в районных электросетях (РЭС) работает биллинговая программа. Ну, работает более-менее, вроде всё настроено. Мануалов, как водится, нет, приходится всё делать методом не всегда научного тыка.

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

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

Компьютер решил развеяться

Сижу на работе, скучаю, гоняю игрушки, никого не трогаю.

Звонок. Соседка по квартире.

— Привет, тут у тебя компьютер сам работает! Там на нём какая-то игра идёт, он сам в неё играет и шумит на всю квартиру! Что делать?!

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

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

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

Только так - или никак

Знакомая работает в медицинском учреждении. Получили новый аппарат для экспресс-анализа на наркотики. Сам аппарат — коробочка 5×7 см, по usb подключается к ноутбуку. В коробочку вставляется картридж с анализом, она его сканирует. На ноутбуке программа, сравнивающая цвета полосок на скане с эталоном и считающая концентрации.

Все нормально, но при попытке записи результата выдаётся ошибка: «7:» is not valid integer data.

Пляски с бубном дали результат парадоксальный — все заработало при установке в системе формата времени HH: MM: SS.

Теперь я не могу понять, откуда растут руки у разработчиков? Взять системное время в текстовом виде, порезать по два символа в три целочисленных поля и даже не сделать проверки на корректность значения…

Древние грабли

Древнее золото, говоришь?

А у меня сразу возник вопрос. Если обработка XML требовала затянуть в память все, и там разбирать ("проблема была в сильной связанности") - то почему загрузка в CSV этого же не требовала?

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

Я вот совсем недавно исправлял проблему - нельзя было загружать XML'и больше определенного размера. Памяти не хватало. Оказалось, там парсер грузит всю структуру в память целиком и только потом обрабатывает. Заменил на потоковый. Потребление памяти константное, скорость работы возросла.

А обмен через файлы - это большая коллекция граблей с автоподзаводом. Возможно, уже пришла пора открыть для себя что-нибудь более новое?

Надо к цветам привыкать

Работаю в дизайнерской фирме админом. Имеется парк довольно приличных компьютеров и древний широкоформатный плоттер. Плоттер печатает цвета не совсем точно и довольно темно. Дизайнеры на него жалуются постоянно. Уже сколько раз его калибровали — все без толку. Со временем все как-то смирились.

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

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

«ЦВЕТА НА ТРОГАТЬ!!! Они как на говноплоттере!»

Кажется, пора с начальство по поводу нового плоттера поговорить…

Древнее золото редко блестит

Однажды я писал утилиту для анализа большого объёма сильно связанных данных на XML + C# — заказчик хотел модные (в 2007 году) технологии. Ничего сложного — XML-документ загружался в память, последовательно обрабатывался, результаты складывались в базу. Проблема была в сильной связанности — при обработке почти каждого узла приходилось подгружать целые секции из разных концов этого же документа.

Когда соотношение объёма входных данных и объёма ОЗУ машины пересекло критическую отметку, программа сошла с ума. Показатель Time in GC достиг значения 98%, а значит, программа не работала, вместо этого среда выполнения занималась очисткой и дефрагментацией памяти. Проведённое расследование показало — при нехватки памяти и попытке подгрузить дополнительные данные для обработки текущего узла ОС скидывала обрабатываемые данные в своп, а затем доставала их обратно. И сборщик мусора работал над свопом, что в тысячи раз медленнее работы с ОЗУ.

Решением был файловый ввод-вывод. Я переписал программу, используя свой велосипедный страничный ввод-вывод и формат CSV вместо громоздкого XML. После этого она могла обрабатывать любой объём данных, независимо от ограничений ОЗУ машины, с постоянной скоростью, не отвлекаясь на дефрагментацию своп-файла и вообще его не используя.

К чему я всё это. Файловый обмен — замечательная вещь, и мало форматов лучше, чем CSV. Он легко читается машиной и человеком, его поддерживают большинство программ — от офисных до научных пакетов. Используя магию bash, его можно бить на части (подзадачи для вычислительной фермы, например) или объединять (результаты вычислений), записывать в сеть, в устройства, в другие процессы, выложить в облачное хранилище или отправить по email, перезапросить в случае отказа сети, создать резервную копию, принять и обработать тысячей и одним способом.

Если технология существует давно, это не значит, что она плохая. Это значит, что она уже пережила пару поколений желающих использовать только новейшие технологии. Они ушли или перегорели, а технология осталась.

It's a Sony

Подходит зять и спрашивает, как ему получить NAT второго уровня на бытовом роутере! Я, премного офигевший, спрашиваю, зачем ему, спортивному тренеру и по образованию, и по профессии, потребовалось рулить сетью на канальном уровне? Мне, админу, ещё ни разу не требовался столь низкий уровень управления, да и не понадобится, я думаю.

На что он отвечает, что его игровая, блин, приставка (PlayStation 4, если не ошибаюсь) требует NAT второго уровня! Долго не въезжаю, чего же эта тупая железка хочет — лезу разбираться, роюсь в интернете… Оказывается, Sony придумала свою собственную классификацию уровней NAT и никому об этом не сказала!

Мне одно интересно, почему только NAT? Скажите им, кто-нибудь, что в коммуникациях ещё много чего можно переименовать и переклассифицировать! Пусть работают! Придурки, блин.

Когда б вы знали, из какого сора...

Наткнулся сегодня на историю «Аутсорсинг грязной работы»:

Ещё на втором курсе мы писали прогу управления LPT-портом на Паскале. Суть была простой: на определённые пины подавать пять вольт. Но как её запустить на маке? На виндовую тачку ставим прогу, к LPT цепляем реле, через реле пускаем питание вайфай-точки. Создаём bat-файл, «слушающий» текстовик в расшаренной папке. На маке пишем командный файл для консоли, который записывает в текстовик строку «wifi-off». Когда виндокомп, сработав, отключает точку, командник на маке реагирует на «wifi-off-ok» в файле и выплёвывает окошко: «Wi-Fi погашен».

Так вот. Часть 1С-ников таким же образом реализуют обмен между системами, c учётом того, что 1С поддерживает все современные протоколы обмена. Этот вывод я сделал из недавнего опыта.

Понадобилось мне как-то связать 1С и Asterisk. Суть связки проста: из 1С берём список компаний с номерами телефонов и передаём его на сервер Asterisk по HTTP. А Asterisk, в свою очередь, сохранив этот список в базе, в будущем при входящем звонке показывает менеджеру на экране телефона, что ему звонит не какой-то там номер, а, например, компания «Рога и Копыта».

Обратился я с просьбой к знакомому 1С-нику, который, как я считал, разбирался в предмете. Он, выслушав мои хотелки, сказал, что по HTTP 1С не умеет и вообще нужно список сохранять ручками в файл excel/csv на сетевую шару, а Asterisk пускай мониторит эту шару на предмет наличия файла и при появлении затягивает его в базу. И попросил за это 100500 денег.

Опечаленный, но не сдавшийся, я вечерком сел за комп, скачал 1С и демо базу с данными и, не имея никаких знаний по языку 1С, начал пробовать силы. Итог: 3 часа плюс Гугл, и готово решение, которое делает то, чего хотелось — обмен на автомате и по HTTP.

В итоге все этой истории я сильно усомнился в квалификации знакомого и оправданности стоимости услуг подобных людей.

P.S. Рассказал знакомому о правильном решении моей проблемы, а он отмазывается: «Ну, 10 лет назад файловый обмен работал и сейчас работает…»

Враг не пройдёт

Подрабатываю приходящим админом в маленькой, но очень гордой фирмочке. В числе прочих её достоинств — предоставление интернета арендаторам, что в свою очередь даёт работу и мне: протянуть кабель, добавить пользователя в UserGate, прописать на клиенте прокси и, собственно, выдать статистику.

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

Приехал представитель банка, и мы уже вдвоём начали ломать головы. Причём осложняло весь процесс расположение кабинетов — клиенты обитали на третьем этаже, а серверная — на втором. Приходилось носиться туда-сюда (вечер, охота домой) почти бегом, пока голова была забита правилами, NAT’ами, назначениями портов и мануалом, в котором эта же ситуация расписана как самая заурядная. Час забегов по кабинетам и лестницам результатов не дал.

Закрались смутные сомнения в собственной компетенции и способности мыслить адекватно. Клиенты, ожидающие, когда ж, наконец, можно будет работать, стали откровенно хмуро поглядывать и на меня, и на представителя банка. Идеи кончились, осталась одна спасительная мысль: наверняка всё дело в какой-то незамеченной мелочи. Я начал внимательно вглядываться в комп клиентов, изучая все значки запущенных программ. Внимание привлёк значок, уж очень похожий на «кирпич». Открываю его — так и есть. Суровые правила банковской дисциплины или неловкое движение банкира — неважно, но свеженький Outpost со значками непривычного моему глазу дизайна был выставлен на «Блокировать всё».

После разблокировки всё заработало, как положено. Воистину — жизнь состоит из мелочей!

Смешная третья опция

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

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

Возможно, система их в чём-то ограничивает, вот только им оно и без ограничений не нужно было.

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

А вот то, что в середине — когда-то такое расположение принесло потрясающий успех, но сейчас выходит так, что в середине ни то ни сё: недостаточно красиво для любителей «просто пользоваться» и недостаточно ковырябельно для любителей покопаться.

Времена изменились?

Редчайшая робокошка

Читали рассказ о человеке, который выходил в интернет через дайлап, а соседи думали, что это у него не модем орёт, а кошки, которых он мучает? Один мой друг, прочитав этот рассказ, решил позабавиться. Из плюшевой кошки, машинки с радиоуправлением и кассетного плеера с динамиком он соорудил нечто. Вышел к бабкам у подъезда и заявил, что это робокошка, которую он сам сделал с одной целью — мучить. С этими словами он пнул «кошку», и та с характерным модемным звуком убежала (того, что одну руку друг постоянно держал в кармане с пультом, никто не заметил). Догнав, друг дёрнул «животное» за плюшевый хвост, и история повторилась.

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

Спас ситуацию сам остряк. Звук модема на кассете он заменил на мурлыканье в собственном исполнении. На глазах у старушек «кошка» подползла к нему, он её погладил, и та замурлыкала. Бабушки тоже захотели погладить «кошку», и она никому не отказывала. Присоединился и участковый, который понял, что бабкам надо подыграть.

И не смей пикнуть

Дело было к вечеру, делать было нечего. Однако занятие скоро нашлось: захотелось мне закинуть на телефон (Samsung на Windows Phone 7) пару-тройку треков. Подключаю к компу — Zune агрегат в упор не видит, а доступа к файловой системе на WP7 не предусмотрено. Через несколько минут гугления нашёлся ответ: подправить раздел реестра, где прописался драйвер телефона. Ура! Телефон законнектился по MTP… И я могу копировать с телефона фото — ни больше ни меньше. Плохо. Лезу на сайт Microsoft, нахожу инструкции, действую:

  1. Пробую заменить кабель — нет результата.

  2. Меняю порт — нет результата.

  3. FixIt от Мелкософта не запускается.

  4. Переустанавливаю драйвер — угадайте с трёх раз.

  5. Инструкции кончились. Лезу в сервис-меню телефона и повторно ставлю режим подключения по USB в положение «Zune sync». Безрезультатно.

  6. Захожу на XDA-Developers, вспоминаю про тред с прграммулиной, которая запускает на телефоне FTP-сервер, зайдя на который с компьютера, можно увидеть всю ФС телефона. Теплится слабая надежда… Сайт автора лежит. Нет у меня FTP-сервера.

  7. Пытаюсь подключиться через Windows Mobile Device Center с помощью соответствующего средства на телефоне. Ситуация та же, что и с Zune.

  8. В итоге нахожу неофициальную утилитку под названием «WP Device Center». Запускаю. Требует WP SDK. Качаю, устанавливаю. Телефон кое-как распознан. Через многочисленные глюки копирую альбом.

Ура! Получилось! Стоп… Штатный (сторонних в природе не существует) плеер ничего не видит. Сижу, грущу, ищу решение дальше.

В мире одним майкрософтоненавистником стало больше.

Ох уж эти сказочники

Общалась я как-то в чате.

— А ты красивая, — пишет мне собеседник.

От меня последовал логичный вопрос:

— А как ты узнал?

— А я твой компьютер взломал, — ответил товарищ. — Дистанционно. И фотки посмотрел.

Верю, что посмотрел. Особенно это легко сделать, когда я зарегистрировалась под своим самым используемым ником, который у меня ещё и на страничке «Вконтакте» написан. А вот что взломал — не верю.


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

— А как узнал? — интересуюсь с улыбкой.

— А я специалист по компьютерной безопасности. Мне ли не знать, что у тебя в компьютере делается!

Верю, что рассказы глянул. Учитывая, что я только что скинула тебе свой скайп, который висит и на странице с рассказами, и на страничке «Вконтакте», и даже на корпоративной странице техникума, где я преподаю. А что взломал — не верю.

P.S. Преподаю я, кстати, математику и информатику.

Не мудрствуя лукаво

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

Любой здравомыслящий человек согласится, что при нынешнем уровне техники очень нерационально делать ракетоноситель электрическим, а лифт или эскалатор — реактивный. Нет почвы — нет и холивара.

На чём поехать в гости — на метро или на такси? Уже сложнее: можно и на том, и на другом. Но после взвешивания всех плюсов и минусов (потянем ли финансово, есть ли пробки, хочется ли комфорта) быстро выбираем что-то одно. Холивар вянет, не успев вырасти.

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

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

Чем фотографировать свадьбу, фотоаппаратом Canon или Nikon? Да результат один — сфотографированная свадьба! Хватайте любой и бегом снимать!

Мы рождены, чтоб шутку сделать былью

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

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

В 1980-х годах другая первоапрельская шутка обошла многие научные журналы мира, включая «Науку и жизнь». Бесшумная лазерная электробритва — не мечта ли это? Вскоре те же журналы обошло опровержение: лазерная электробритва невозможна, потому что лазер требуемой мощности в ней не поместится.

И буквально вчера на «Гиктаймсе» появилась ничуть не шуточная статья о сборе средств на лазерную бритву на «Кикстартере». Задача там решена очень оригинально. Две линейки, как в сканере. Линейка датчиков и линейка маленьких полупроводниковых лазерчиков. Когда датчик обнаруживает волос, соответствующий лазер не сжигает его целиком, как говорилось в первоапрельской шутке, а даёт короткий, но мощный импульс, перерубающий его в одной точке. Средняя потребляемая мощность получается очень маленькой.

Кстати, Google TiSP тоже воплощён. Нет, просунуть оптический кабель в унитаз и ждать его подхвата микророботами по-прежнему нельзя. Но по канализации эти кабели уже прокладывают, и именно роботами. Об этом знают многие читатели газеты Metro.

Особенности национальных стартапов

Сантехник Потапов хотя и не брезговал торрентами и разного рода «зайцами», но старался их использование минимизировать. Если та музыка, к которой в данный момент тянулась его душа, находилась на «Яндекс.Музыке» или Jamendo, он слушал её там. А ещё он, любитель спортивной ходьбы, мечтал о Nike+, но такое в его городок не заводили. Так что верный шагомер «Заря» никогда не покидал его потёртый ремень.

Однажды он увидел в продаже разработку местного стартапа. Аналог Nike+, но датчиков два. Не только в ботинок, но и на пульс. В дополнение к ним задействованы акселерометр и навигатор смартфона. Защита от накрутки всесторонняя — не то, что в шагомерах Nintendo. От чего защищаются?

От злоупотребления системой вознаграждений. В Nike+ она жадная. Прошёл заданное расстояние — включает песню. Уже скачанную, а если она платная — то купленную. У Nintendo тоже так себе: в уже купленных играх раскрывает скрытые уровни или мини-игры. А тут — щедрая! За каждые двадцать пройденных километров даёт бесплатно скачать любую композицию на любом платном сервисе — производитель устройства оплатит. Не исполнилась ли мечта Потапова?

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

Тут-то он и понял причину щедрости разработчиков. Больше ходишь — чаще меняешь ботинки. К тому же, ходьба продлевает жизнь — дольше кормишь единственный на весь городок обувной магазин. Потому и привязки к конкретной марке обуви нет: как ни крути, а в этом магазине покупать придётся. В нём-то и разместился маленький сборочный цех нового стартапа.

Проснулся сантехник Потапов с одной мыслью: если такой стартап действительно появится, связываться с его продукцией он не будет. Ибо нефиг. «Заря» рулит!

Кручу-верчу, обмануть хочу

Первый компьютер (я имею в виду именно комп, а не кворум с телевизором) появился у меня в 2000 году. По тем временам это было круто: Celeron-466, 128 метров памяти (да-да, когда я спросил в магазине про 256, меня обозвали маньяком и сказали, что будет очень дорого!), винт на 10 Гб и дорогой по тем временам привод Sony (про остальное железо промолчу, ибо это неважно для истории).

Так вот. Спустя ровно полгода у этого привода что-то умерло внутри, и он отказался читать диски. Ну, то есть совсем. Любые обращения к CD оборачивались чуть менее чем полным зависанием системы в целом. Да, ресет был почти универсальным решением. Но играть-то хотелось, а игры на дисках…

Следующие полгода я развлекался так: снял морду с сидюка, поставил только появившуюся тогда Virtual CD, а дальше всё просто — я брал диск с игрой, запускал процесс создания образа, и чем-нибудь тонким (обычно стержнем от шариковой ручки или спичкой) раскручивал диск «с толкача». Диск раскручивался, дальше крутился нормально, и если его не сильно царапали — образ получался. Иногда, когда очень хотелось, я по полдня сидел, пытаясь создать образ.

Сейчас работаю в сфере виртуализации. Знал бы тогда!

Пей до дна!

Операционные системы уже сравнивали и с девушками, и с автомобилями, и с туалетами. А с чем ещё не сравнивали? С напитками, наверное.

Windows — это алкоголь. Кто подсел, более обходиться не может. Слезть можно, но трудно. А того, кто не подсел и обходится, обзывает адептом. Хотя сам не замечает, что носится со своей бутылкой, как с писанной торбой, рекламируя её не хуже любого адепта.

Mac OS X — дорогой алкоголь. Такой, который пьют не для того, чтобы опьянеть, а для того, чтобы почувствовать вкус. Но — чего греха таить — не замечают, как переходят границу, и всё-таки пьянеют.

Linux — чай. С алкоголем ведь как просто: открыл, налил и выпил. А чай надо заварить — целая наука. Зато какой вкусный!

Linux при работе с командной строкой — чай, приготовленный в самоваре. Его ведь надо ещё уметь разжигать.

Ubuntu — чай в пакетиках. Тоже надо произвести некоторые манипуляции, чтобы выпить, но их меньше.

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

ReactOS — самогон.

Gentoo — чай, приготовленный в самоваре, но таком, который раз в 10 сложнее самогонного аппарата.

Windows 8 — алкоголь, который сам открывается и сам наливается.

Symbian — иван-чай. Раньше был известным напитком, всерьёз конкурировавшим с чаем, теперь известен только в узких кругах.

Между жизнью и смертью

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

Пару дней назад она написала заявку, мол, комп сдох окончательно, не включается вообще. Забрал я его к себе диагностировать. Пробую включить по кнопке — не включается, пробую завести с отвёртки (замыканием контактов на материнке) — тоже нет реакции, проверяю БП прямым замыканием — вентилятором крутит, работает. Ну, ясное дело, материнка сдохла, тем более что для компов организации комплектуха бралась, судя по всему, из одной партии и недавно все материнки начали дохнуть. Поменял ей мать на такую же, даже гиг оперативы докинул, отдал, радуется, что всё даже быстрее стало.

Сегодня снова пишет, комп умер, опять. И тут у меня в мозгу всплыла одна деталь, на которую я сразу не обратил внимания, когда проверял комп в прошлый раз. Кнопка на блоке питания была не в положении «вкл» или «выкл», а где-то посередине. Подхожу к рабочему месту сотрудницы и вижу — комп придвинут вплотную к столу, причём высота задней стенки стола настолько удачная, что провод блока питания проходит под ней, а вот кнопка уже нет, и она оказывается как раз зафиксированной в положении ни так ни сяк. Включил, сказал, чтобы вплотную к столу не придвигала, всё ок, всё работает.

Но материнка, видимо, действительно помирала, так как глюки исчезли.

Самое слабое звено

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

Такие истории про то, что непонятно кто делает непонятно что, а им ещё и помогают сотрудники фирмы, умиляют только до первой кражи информации/коммерческой тайны, ну, или денег. Выделенная врезка во внутреннюю сеть фирмы, это ж какой простор для фантазии!

Наверное, многие считают, что уж с ними этого не случится, чего у них красть-то… Вот, один дядечка в одной мелкой организации тоже так думал и ходил по разным сомнительным страницам с того же ноутбука, с которого заходил на счета своей фирмы. А потом внезапно с этих самых счетов увели ни много ни мало 25 миллионов рублей. Дядечка, конечно, сам виноват, потому что на настойчивые советы обратиться к айтишнику, чтобы банально настроить базовый уровень безопасности да регулярно чистить ноутбук, он отвечал отказом, мол, дорого. Второй ноутбук специально для блуждания по тем самым сомнительным сайтам для него тоже было дорого покупать.

Из-за этой истории досталось и нам, так как в ходе разбирательств дядечка указал на нас, мол, мы ему ноутбук покупали.

Мораль? Да ничего подобного: все будут продолжать считать, что уж с ними-то этого не случится.

Конфликт интересов

Что в России может победить откаты? Только другие откаты.

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

Есть в программе один нюанс: в имени принтера должно быть не более 8 символов. Не спрашивайте, откуда такое ограничение в 2015 году, оно просто есть. Ну да ладно, переименовываем принтеры.

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

Вот только есть в программе один нюанс: имя принтера должно быть весьма определённого вида, в длину около 20 символов.

Как вы, наверное, догадались, возникает конфликт интересов. Делаем морду кирпичом, спрашиваем у начальства, что делать. Конечно, можно пару костылей вставить, но об этом молчок.

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

Вот только компания огромную кучу бабла в унитаз выкинула — ну так, что делать. Такова жизнь.

Пощупать не за что

И снова о разнице между кнопочными и сенсорными мобилками.

Матушка купила сенсорный, «потому что две симки». Не осилила, дала его мне со словами «разберись, потом покажешь мне». Походил я с ним чуть больше недели. Может, просто модель неудачная попалась. Разная чувствительность в разных меню и приложениях, некоторые кнопки очень мелкие (а стилус не прилагается) и прочее, прочее.

Почитал книжку на перекуре, закинул в карман. Не сработала автоблокировка. Дошёл до кабинета, достаю — а он карту памяти успел форматнуть и майджонг запустить. Зато можно выдвинуть антенну и посмотреть телевизор. В общем, пошёл я в магазин к знакомому и купил маме кнопочный со всеми фишками, которые она заказывала, — фото-видео, MP3, две симки, радио (она его притопила через год, но это уже другая история).

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

М-да, занесло Остапа… Я ж о чём сказать-то собирался? О том, что мне просто комфортнее с тактильным подтверждением того, что кнопка нажата. Ну, старый я, привык так. И когда усиленно сватают какой-нибудь навороченный сенсорник, я говорю (динозавры, можете переписать в блокнотик):

— Мобила без кнопок, как плоская девка — личико симпатичное, а пощупать не за что.

Чудеса маскировки

В один прекрасный час начали вылетать все программы без каких-либо ошибок. После нескольких попыток виновным компонентом стала считаться оперативка. Для проверки было решено воспользоваться стандартным mdsched (каюсь, сам дурак, но захотелось испытать данное средство в таком удобном случае). Двадцать минут теста, перезагрузка, радостное сообщение: «На этом компьютера обнаружена неполадка с памятью». Время на часах уже давно давало понять, что пора и поспать. Дабы не забыть, на чём мы остановились, я сделал скриншот сообщения и положил его на рабочий стол.

На следующий день я провёл несколько других тестов. Вот так магия! Ни одной ошибки. Ближе к вечеру решил накатить свежие драйвера от видеокарты, поставил на установку и ушёл на кухню. Прихожу и вижу, что никакой установки уже нет, а на экране то самое сообщение. Ну всё, что-то сдохло.

Планки вытащены, на замену пришли новые. Радостный я накатываю весь свой любимый софт обратно и мельком смотрю на рабочий стол. Там лежит скриншот. Дабл-клик — и стандартное средство просмотра фоток в восьмёрке открывает скриншот на весь экран.

Барабанная дробь. Апогеем стало непонимание, каким образом скриншот сам собой открылся. Возможно, Великий Ктулху изволил девственные платы? Может, техника и без души, но окружающее пространство явно что-то скрывает.

Квантовая неопределённость

Эффект присутствия при ловле багов? Попробуйте отсутствовать. Непонятно? Сейчас объясню.

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

Сидели над ним по часу, слушали музыку, читали книги — не виснет. Уйдёшь, оставив на попечение владельца — виснет.

А причина оказалась каким-то образом связана то ли с мышью, то ли со скринсейвером (которого не было, но, видимо, что-то как-то пыталось запуститься). Уже догадались?

Вот что вы делаете, когда тупо сидите у компа и чего-то ждёте? Даже если вы с ним ничего полезного не делаете — кто-то гоняет курсор мыши по экрану, кто-то постукивает по столу пальцами, заставляя мышь елозить туда-сюда на 1−2 пикселя, кто-то щёлкает кнопками.

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

Вылечили переустановкой системы, так как это было банально быстрее, поэтому настоящая причина зависания так и осталась невыясненной. Да и нужно ли это было?

Ювелирная работа

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

Выезжаю к клиенту, вытаскиваю диск, цепляю к ноуту, пока данные сливаются разговариваю с хозяйкой.

— А этот ноутбук уже только выбрасывать? Мне он, в общем-то, не очень нужен, разве только пасьянсы раскладывать…

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

— А что с ним случилось? Как он сломался?

— Он сильно задымил, заискрил и выключился.

Ну, думаю, не хватало в материнке копаться и выискивать сгоревшие микросхемы.

— Скорее всего, уже не получится починить.

— А он вам нужен?

— Ну, разве что на запчасти. За сколько отдадите?

— Да бесплатно отдам, мне всё равно его выбрасывать, только данные нужны были.

Принёс в офис. Решили вскрыть и посмотреть, что можем из него взять. Вскрыли. Рядом с материнкой маленькая платка с разъёмом S-Video и входом питания. Гнездо питания обуглено, одной ножки вообще нет — испарилась! И рядом маленький винтик валяется. Судя по размеру, попал в корпус между пластинами радиатора и однажды просто замкнул между собой плюс и минус гнезда!

Заменили БП, я сделал новую платку питания, и ноут ожил! Только разъёмом S-Video пришлось пожертвовать. Теперь это наш офисный ноутбук!

Но я долго буду вспоминать, как на текстолитовой плате размером 1,5×5 см вырезал дорожки самодельной микродрелью с отрезным диском диаметром 2 см.

Дело было не в бобине

Это было в начале 2000-х в небольшом провинциальном городке. У моей мамы на работе был компьютер, который постоянно перезагружался. Вот так, без видимых причин, просто перезагружался, и всё тут. И мышь не работала. Это был, кажется, AMD Athlon 233, если я ничего не путаю.

И вот попросили меня его вылечить. Мышь была вылечена простой чисткой шарика. А вот перезагрузку я с ходу вылечить не смог — в менеджере процессов ничего криминального не наблюдалось, и я решил переустановить Windows. Переустановил, отчитался, мол, всё, процесс восстановления завершён. И буквально через пять минут компьютер снова перезагрузился…

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

Каждому своё

Специально для тех, кто спускается на землю, заходим в Гугл, вбиваем «кто использует Linux и СПО» и находим там кучу организаций, от медицинских до министерств. Как я сказал, министерств? Наверное, это какие-то неправильные министерства, и там меньше 500−1000 человек. А может, они просто не умеют считать деньги?

Милейший начальник, который старше сорокалетнего отца мальчика, каждому инструменту своё место. Не надо пихать свой виндовс/линукс/макось во все щели. Если в вашей конторе 500 дизайнеров и спецсофт для них (или какой-то другой) затребован, то базара нет. Но если у вас достаточное количество станций укладывается в то, что можно сделать и на линуксе, то стоит подумать о внедрении. Внедрение, поддержка, обучение персонала, обслуживающий штат — всё это можно перевести в цифры и просчитать, что выгоднее для конкретной конторы.

А тот «мальчик», кстати, не говорил, что линукс — это «серебряная пуля». Он просто показал, что линукс неожиданно оказался юзерфрендли для виндузятника со стажем.

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

P.S. А возрастом кичиться не комильфо.

Не жми на кнопку — получишь результат

Есть у меня домашний сервер, как, наверное, у многих айтишников: файлохранилище, прокси, VPN, DLNA, управление 1-Wire и так далее.

В качестве него используется старый нетбук с Линуксом. Почему нетбук — потому что маленький и не шумит, в нём вообще вентиляторов нет. Почему не перепрошитый роутер или какой-нибудь Raspberry Pi — потому что не хотелось возиться с поиском прошивок, кросскомпиляцией и прочими интересными вещами.

Работает он уже несколько лет, висит себе на стенке на гвоздике в дальнем углу, пыль собирает. Вот только в последнее время в доме возникла проблема с электроэнергией: её могут внезапно отключить на сутки. Это вообще отдельная тема, но что касается нетбука-сервера — никаких бесперебойников и батарей не хватает, он ведь не один на резервном питании сидит, поэтому он периодически выключается.

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

И вот, наконец, нашлось решение: конденсатор!

Ведь что такое «нажать на кнопку»? Это на пару секунд замкнуть два контакта, чтобы компьютер запустился, а потом контакты разомкнуть, чтобы он не выключился.

А что такое конденсатор? В момент подачи напряжения через него проходит ток заряда, который постепенно снижается до нуля. Чем не нажатие на кнопку?

Подходящий конденсатор на 100 мкФ нашёлся в валяющемся без дела старом CD-приводе, который всё было лень выбросить. Припаиваем его параллельно кнопке — и всё: в момент подачи напряжения нетбук сам запускается, потом конденсатор заряжается и «отпускает кнопку». Причём даже не нарушается всё остальное — настоящая кнопка-то работает, можно нажать, и он выключится, как и положено.

Просто вовремя вспомнился график заряда из учебника. А ведь уже собирался рыть интернет в поисках нового биоса для этой давно снятой с производства модели — и вряд ли бы нашёл.

Не виндой единой

Давеча приходит ко мне отец, сетевой инженер:

— Надо, видимо, уже на Линукс переходить.

— Ну так переходи, в чём проблемы?

— Да ну, я эту систему совсем не знаю.

Три года назад он кривил лицо, когда я о ней упоминал. Сегодня же я поставил ему на комп Fedora 22 с Oracle Virtual Machine (есть проги типа Альфа-директа (для брокеров), которые не работают под Линуксом ни в какую).

Вечером приезжает, включает:

— Это чё такое?!

— Линукс.

— Почему Федорка?

— Ну, с openSUSE были проблемы, да и не знаю я её…

— Ну давай мне, в инете посижу.

Собираюсь я уже уезжать. Крик из комнаты:

— Женя, бл%#ь! Как же я раньше жил-то?!

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

Итог: человеку за сорок, доволен как ребёнок, периодически вскрикивает: «Охренеть, тут даже это есть!» Уже сидит читает консоль, bash скриптинг. Говорит, завтра будет ядро пересобирать.

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

Необычное звучание

Стоят на рабочем месте два ПК — один для работы, второй для интернета в обход прокси. Решил подключить к рабочему компу второй монитор, который был подключен к инет-компу, а на его место поставить 24″, такой же, как на рабочем. Всё подключил, скомпоновал, смотрю, любуюсь, что аж душа радуется!

Настраиваю яркость на мониторе, который снял с инет-компа и параллельно спрашиваю начальника смены:

— А кнопка выключения на NEC’е не работает, что ли?

— Работает, дави сильнее.

Давлю, монитор выключается под звуки отключения устройства с инет-компа. Что за фигня?! Включаю — и слышу звук подключения устройства на инет-компе. Что, бл#@ь, за черти?!

Думаем с начальником, думаем, жмём вкл/выкл, прислоняемся ухом к рабочему компу — звук не с него. Увеличиваем звук на колонках инет-компа — да, точно с него!

Смотрю в десятый раз провода на системниках — всё верно, иначе не работали бы. Потом краем взгляда замечаю тоненький проводок, идущий от монитора в сторону инет-компа, смотрю, а это USB-провод, подключённый к монитору для связи с USB-хабом.

Вот такой, казалось бы, пустяк, а сколько мыслей было высказано по этому поводу, например, что инет-комп соскучился по своему давнему другу или что черти завелись!

Друзья, побольше вам таких вот забавных IT-приключений!

В ответе присутствует замена

Было это ещё во времена, когда все юзали диалап, в мою бытность студентом третьего курса. Купил я у одной из фирм интернет-провайдера ночной пакет с колбэком, так как была поминутка на исходящие на моей АТС. С инструкцией давался некий скрипт, который, собственно, и позволял модему поднимать трубку при отзвоне с сервера. Потом, правда, систему изменили, всё стало более цивилизованно, но изначально было так.

У меня сразу же начались проблемы — входящий звонок есть, но модем трубку не берёт. Игры с регистрами и командами результата не приносили. Что интересно, в T-Mail'e (кто помнит такую) всё было прекрасно, входящие звонки в FIDO обрабатывались без проблем, в терминале T-Mail'a тоже всё было замечательно. Техподдержка была бессильна помочь.

С неделю бился над проблемой. Запустил Hyper Terminal и что я вижу — на команды модем отвечает не как обычно «Ok», а цифрами «1», «2».

Начал я искать файлы, связанные с этим модемом, откопал *.inf, который шёл с его драйвером. И там обнаружил интересную вещь — были прописаны типа макросов. Т. е. когда модем выдаёт «Ok», это подменяется на «1», «RING», например, на «2» и т. д. А из-за того, что в скрипте колбэка были строки, которые ждали определённого ответа — «Ok», «RING», а на самом деле в ответ получали цифры — ничего не работало.

Пришлось подредактировать *.inf, хотя, конечно, можно было поставить и стандартный драйвер. А в T-Mail'е всё работало, ведь он не общался с модемом через виндовый драйвер.

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

IT-шная почта

История произошла со мной, когда я работал в ночное время в небольшом офисе.

Сидел я, значит, пялился в монитор, как вдруг до моих ухолокаторов донеслось лёгкое постукивание. С минуту я было грешил на глюки, но равномерный и отчётливый стук не прекращался. Мне стало любопытно, и я начал искать источник. Как оказалось, звук шёл из электрощитка. Раздираемый любопытством, я открыл его и выпал в осадок — об донышко щитка бился торчащий сверху Ethernet-кабель с привязанной к нему запиской: «Передай в третий щиток». Пытаясь сдержать смех, я начал тянуть кабель, как платки из кармана у фокусника.

В щитке под номером три уже обнаружился «заказчик» — проволока с крючком и с запиской: «Цепляй». Аккуратно зацепив коннектором за крючок, я слегка подёргал за проволоку, и та начала погружаться, увлекая за собой кабель.

Я стоял и контролировал «процесс». Через полминуты крючок появился вновь: «Спасибо!»

Полностью довольный собой, я продолжил работу, а 30 минут спустя, получив из третьего щитка команду «Вытягивай», помог кабелю вернуться домой.

Таинственный процесс, в котором я участвовал, как и личности людей, стоявших за ним, — так и остались тайной.

Голь на выдумки хитра

Напишу и я немного о «кулибинстве». Тяжёлое детство, 8-битные игрушки, Spectrum, i286, AMD 5×86… Ой, не об этом. Это совсем древность. Сегодня возьмём время чуть поновее…

Итак. Есть мама EPoX 8KTA3-Pro на старом добром Via133. Есть к ней проц AMD Athlon XP 1.6+ GHz. Мама эта замечательна тем, что на ней 1 AGP + 6 PCI + 1 ISA слотов. Именно поэтому я и выбрал её в своё время для домашнего компа. Воткнуто туда было следующее: видео в AGP (профессиональный Matrox), SCSI-контроллер (Tekram), звуковуха (Awe64), две сетевухи (3com 905) и ISA-шный модем. Вдобавок четыре модуля памяти. Кроме того, проц был слегка погнан (так как был из «хорошей пластиковой» серии) до 2.0 реальных ГГц (ясное дело, с поднятием напряжения).

И всё было хорошо (даже глюк чипсета по работе с дисками не доставал, ибо Linux умеет его обходить), но разъём питания у мамы был ATX 2.0 (2.4 тогда ещё не придумали). И в какой-то момент я почуял запах гари (а комп-то работал, не выключаясь).

Анализ ситуации показал, что обгорели и обуглились все ножки питания +5 В в разъёме на маме. Дело в том, что эта плата почти не использовала +3.3 В с блока питания и получала нужные ей напряжения вторичным стабилизатором из +5 В, установленным уже на самой плате, тем самым недогружая линии 3.3 В и перегружая линии 5 В.

Решение родилось мгновенно: с обратной стороны платы было найдено четыре участка с крупными дорожками +5 В (рядом с разъёмом), они были зачищены, и к ним были припаяны провода по четыре квадрата. Ответные стороны проводов обжаты в разъёмы и подключены в БП (блок питания был мощный и имел достаточно разъёмов). В результате вместо трёх линий на маму стало идти семь линий +5 В.

И жизнь наладилась, а этот комп без всяких изменений до сих пор трудится у моих родителей — теперь, правда, уже не круглосуточно.

P.S. Проц все ещё работает в разогнанном виде, не умер и не глючит.

Сопротивление бесполезно

Работал в одной немецкой компании по хостингу и саппорту.

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

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

Итак, вечер, парни деловито снуют под столами, исступленно молотят по кнопочкам приборов, бодро наклеивают бирочки. На мой вопрос про смысл сего действия с умным видом объясняют, что замеряется сопротивление заземления розеток и допустимый ток утечки оборудования обоих классов: 1) с заземлением; 2) с изоляцией. Плюс осуществляется осмотр провода и корпуса на предмет повреждений, что в принципе эти сотрудники и маркируют красными «фу»-наклейками и кладут на стол, как неисправные.

Казалось бы, придраться не к чему. Но, чтобы не лезть под стол, парни замеряют сопротивления заземления мониторов своим кабелем. Многократно. Своим кабелем.

Нет, я понимаю, сроки, конкуренция, но ведь они пришли проверять безопасность оборудования!

Я даже не стану говорить, что блоки питания не имеют тока утечки, если их не подключать к потребителю, так что я не знаю, что они там замеряли — по-моему, они только клеили бирочки и пили кофе. Только если кого-то долбанёт током или что-то начнёт гореть — это будет на их ответственности.

Хотя бы спросили, трогать вилку сервера или нет, и на том спасибо.

Это я удачно зашёл

Работаю админом в отделе сопровождения софта в %companyname%.

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

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

Ну, думаю, выпью чашку кофе — и в бой.

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

Раздаётся звонок от начальства. Сообщают, что есть две хорошие новости: первая — послезавтра привезут новые сервера и сетевое оборудование, а вторая — начальство отметило мои старания и трудовой энтузиазм и решило повысить меня до старшего админа, так что по заявкам мотаться больше не придётся.

А говорят ещё, что понедельник — день тяжёлый.

Рога и копыта

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

Не вопрос, справились. Взяли первую попавшуюся подходящую демо-печать с прозрачным фоном. Далеко ходить не нужно, всё нашлось в картинках одного из поисковиков. Ну и попутно подготовили себе в запасничек демо-подписи «Гендиректор» и «Главбух», выведенные красивым рукописным шрифтом. Всё настроили и забыли до получения оригиналов. На следующий день нам приходит грозное письмо от разъярённого клиента:

Добрый день!

Прошу вас остановить работу по сайту. После вчерашней шутки в общем доступе на сайте (подпись и печать «Рога и копыта») я хочу прекратить наши деловые отношения.

Естественно, мы принесли заказчику извинения:

Здравствуйте, ООО ***.

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

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

Не пойман — не баг

Знаете, эффект присутствия — это круто. Но не в том случае, когда надо диагностировать причину поломки.

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

Пришёл. Сижу час. На компьютере вертится Google Chrome, играющий музыку из интернета. Никаких проблем, ничего не вылетает. Ушёл по своим делам, через 15 минут звонок: «Паш, он опять вырубился».

Прихожу опять. Заставляю своего друга сесть и делать всё то же, что и обычно, вдруг в этом причина. Снова просидел чуть больше часа — никакого эффекта, прекрасная работоспособность. Ушёл. Пришёл домой — звонок: снова отключился.

Иду в третий раз. С собой взял Visual Studio и исходники одного из своих проектов. Устанавливаю, ставлю компиляцию, запускаю одну из самых требовательных игрушек, что нашлись, в общем, всячески нагружаю железо. Полтора часа стресс-теста и опять никакого эффекта. Опять ушёл. Только вышел из подъезда — звонок. Плюнул, подниматься не стал. Сейчас вот думаю, как ошибку дальше искать?

Совпадение? Не думаю!

Вступлюсь за честь коллег из геймдева.

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

Во-вторых, сессия для инициализации рандома используется в одиночных играх с целью борьбы с читерской магией load-save. Другого смысла постоянно дёргать seed просто нет.

В-третьих, игрокам вообще много что кажется, и они с радостью это интерпретируют как факты. Плюс — confirmation bias. Я помню случай, когда игроки были свято убеждены, что по случайному номеру в ссылке для предотвращения кеширования можно было определить успех ремонта предмета. И никого не смущало, что к скрипту шли десятки обращений в секунду и от момента генерации ссылки до последующего запроса рандом дёргался более тысячи раз.

Это же касается вообще любых якобы повторяющихся паттернов в рандоме. И «вычисления алгоритма работы». Чего его вычислять — всё есть в открытом доступе, почти всегда используется штатная функция выбранного языка разработки. Только никому это знание ничего не даёт.

Искренне порадовался аргументу про сокращение выборки. Ясное дело, что чем меньше выборка, тем более она неравномерна — это очевидно. Нетрудно получить «решку» в 8−10 случаях из 10, шанс на это чуть более 5%. А вот получить её в 80−100 случаях из 100 уже вряд ли удастся хотя бы раз за миллион попыток.

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

Fair dice roll

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

Уже более пятнадцати лет я наблюдаю пляски разработчиков игр вокруг рандомизаторов, и мне слегка несмешно временами, такое ощущение, что матчасть даже не пытались изучать:

  • if (rand(10000)==1) и прочие подобные глупости при использовании генератора с нормальным распределением.

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

  • Генерация энтропии на основе данных игрока/сессии/сервера. Обычно легко прослеживается и явно заметна.

  • Выборка случайного элемента из некоторой части списка для придания «большей случайности». За пределами добра и зла. В одной известной игрушке про убийство монстров это привело к тому, что можно было сутками пытаться выбить шмотку, которой просто не может выпасть в текущей сессии.

  • Скрытая манипуляция выборкой под видом случайного выбора.

  • ...и даже сочетание всего вышеперечисленного.

Самое смешное, что когда пользователи жалуются на симптомы подобных решений или вычисляют примерный алгоритм работы рандомизатора, начинается тотальное отрицание всего и вся. В крайнем случае, проверки алгоритма за пределами возможного матожидания, например: «Вот, смотрите, мы протестировали алгоритм на выборке из 300 выстрелов, всё чудесно». После этой фразы уже объяснять, что если сократить количество итераций до 30, картина меняется в корне, абсолютно бесполезно.

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

Великий корейский рандом

Пишу на C# тест для детей. Первое задание — перевести маску подсети в сокращённый вид, второе — перевести маску подсети из сокращённого вида в полный, далее — вычисление адреса сети и так далее.

Прога практически дописана. И тут я замечаю, что у меня выдается одна и та же маска в первом и во втором задании, просто в разной форме записи. Ну, совпало, думаю.

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

И тут я замечаю, что маски в первом и во втором задании больше не одинаковы. Перезапускаю программу — маски разные. Удаляю холостые запуски генератора — маски опять разные. Это всего лишь шесть раз подряд маски в первом и во втором случае совпали. Рандом — такой рандом…

Земля курильщика

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

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

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

Мастер надиагностировал сгоревшую материнку и сгоревший процессор. Заменил на антиквариат из собственных запасов. Но через пару недель история повторилась.

Тут мы вспомнили, что не раз обращали внимание на наводки на корпусе. И наконец-то догадались проверить напряжение на контактах в розетке.

В общем, в конце 90-х мы делали ремонт. Для компьютера решили поставить «европейскую» трёхконтактную розетку, которые тогда ещё были непривычны. Так как в стене шёл обычный советский двужильный провод, решили боковые контакты замкнуть на ноль, ведь на нём же нет напряжения, чем не «земля»? Прошло время, и то ли в щитке, то ли на подстанции наш ноль поменяли с фазой. Теперь удивляюсь, что техника в таких условиях вообще жила несколько месяцев, и даже данные на дисках остались неповреждёнными.

Неуловимый Джо

Индусы, индусы, индусы… Пару часов назад столкнулся с тем, что коренные американцы способны накосячить не хуже индусов.

Вставляем в программу проверку входных бинарных данных (_fpclass) — вдруг нам NaN пришёл (или ещё какой мусор). И неожиданно для себя получаем три жирных бага в совсем других местах: зависание, некорректное отображение данных, движение времени «большими рывками».

Пара часов отладки — и становится понятно, что дело в том, что _fpclass портит режим сопроцессора. И вместо long double у нас сопроцессор считает всё как float.

Открываем сорцы. Ну странно же, когда стандартная подпрограмма из системной библиотеки не восстанавливает регистры оборудования. Гм, она восстанавливает. Угу, восстанавливает. Но с перепутанным порядком параметров в вызове _control87.

Дата написания кода — © 1998, 2000. Версия библиотеки 10.0. Как этот баг прожил 15 лет? 15 лет, Карл!

Много шума из ничего

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

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

В большинстве случаев фейспалмщик будет пытаться перекинуть внедрение новой «как правильно» технологии на старый персонал. Сам же будет бегать вокруг, лезть под руки и театрально стонать: «Ну кто вас учил так делать?! У вас же руки из жопы, вы ничего не умеете! Как вас только в профессию взяли?!» Если старые сотрудники достаточно умны и не позволят повесить на себя внедрение «как правильно» технологий, фейспалмщик будет обвинять их в саботаже: «Они мне не дали чего-то там, куда-то там не пустили, не предупредили, что оборудование старое».

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

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

— Почему вдруг ничего не работает?

— Где ещё могут быть резервные копии. Не, там мы удалили случайно, где ещё?

— Не будет ли любезен многоуважаемый джин за премию починить всё обратно? А вернуться на прежнее место с повышением?

Непрекращающийся фейспалм

Вот человек жалуется, что у него все компьютеры на работе начали скачивать Win10. А про WSUS не слышал, да? А хотя бы про настройку времени работы Windows Update? Хотя рядовые пользователи вообще не должны иметь прав на скачивание и установку любых апдейтов и приложений. Это основы.

Другой бегает по кабинетам бухгалтеров, чтобы посмотреть на текст на экране. Подключение по rdp или vnc? Мы не ищем лёгких путей!

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

Четвертый после ремонта в серверной не только не удосужился зайти проверить, что там как, но и даже на график температуры не посмотрел ни разу за три месяца! Я даже не знаю, что тут вообще можно сказать кроме «вон из профессии» и LMD.

Пятый называет себя инженером-программистом и с готовностью берётся настраивать сеть с хлипким каналом, но про шейпинг трафика и настройку фаервола не в курсе. А на его собственный ноутбук кто попало может поставить торрент-клиент. Хотя бы запаролить биос и административный аккаунт, затем включить UAC? Делов-то на пять минут.

Я медленно покрываюсь фейспалмами и не понимаю, зачем все эти люди присылают истории, основанные на вопиющей некомпетентности, небрежности и раздолбайстве.

Неужели они не понимают, что именно они — позор IT?

Гуляем на все!

Прихожу я на работу после трудных выходных, а это был переезд трёх отделов (тот ещё маразм), ну и в надежде, что смогу побездельничать и душевно отдохнуть, включаю любимые сайты с юмором и уже собираюсь приступить к чтению, как вдруг поступает сообщение от колл-центра — мол, у них всё плохо, интернет почти не шевелится, и общаться с клиентами невозможно.

Проверяю скорость соединения и очень сильно удивляюсь — скорость вместо положенных 100 мегабит зависла между 5−10, и это в начале рабочего дня! Дальнейшее исследование и звонки провайдеру позволили выяснить, что это всего лишь Windows догадался на все компы махом скачать обновление до десятки, при этом ресурсы сети решил не учитывать… Опять звонки провайдеру и слёзная просьба выделить побольше скорости.

Короче говоря, скорость они увеличили, сеть завертелась, и все счастливы, а Майкрософт за такое стоило бы прибить.

Архив: 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99  100 
Бесплатный софт   Чат на сайт
Рейтинг@Mail.ru