На IT happens было: «Преподавательница реляционных баз данных, при мне объяснявшая студенту, что таблица, распечатанная им непосредственно из Access, ну никоим образом не находится в первой нормальной форме».
Не буду спорить, насколько плоха преподавательница. Но разве таблица из СУБД может быть не в 1NF? Оказывается, может. И я это видел в живом проекте.
Большая американская сеть магазинов одежды. В магазинах есть отделы (три наименования). Любитель нормализации сделал бы список отделов и таблицу-связку. Пофигист обошёлся бы тремя полями:
has_kids
,
has_plus
,
has_shoes
. Эти сделали набор отделов строчкой: «Kids, Plus, Shoes».
На заре своей карьеры пришлось мне устроиться работать экспедитором. Сопровождал груз с телефонами, симками и другими мобильными побрякушками. Не айтишник, конечно, но пока в армию не забрали, и так сойдёт.
Приехал как-то на объект. Пока продавцы-консультанты принимали товар, сидел за стойкой продавца и копался под столом. Обнаружил там китайский MP3-плеер на батарейке типа ААА. Спрашиваю у одной девушки, почему этот плеер там лежит. Она говорит:
— А он не работает, не включается. Я как полгода назад пришла сюда работать, он тут лежал, так до сих пор никому не нужен и никто не выкидывает.
— Хм, а дайте мне его. Я его как флешку буду использовать.
— Да забирай!
Тут же под столом нашёл батарейку. И вправду не включается: экранчик моргает, больше ничего не реагирует. Начинаю внимательно изучать, а там проприетарный разъём. Как флешку можно будет использовать, только если найду кабель. Оставил на потом.
Вечером, вернувшись с работы, зашёл в интернет и решил изучить характеристики плеера: что можно с ним сделать, где кабель достать. Читаю: «Ударопрочный, пыле-, влагозащищённый корпус»… Хм, я ничего не теряю — и со всего маху раз об стенку! Батарейка выскочила. Вставил обратно — и снова об стенку! Смотрю — экранчик ожил, показывает, что мелодия предустановленная заиграла. Подключаю наушники — всё работает отлично.
Я — та самая девочка-дурочка, которая будет вызывать вас через два этажа с требованием починить неработающий принтер и мило хлопать глазками, когда вы включите его в розетку, нажмёте на нем кнопочку «вкл» или поставите другой картридж, лежащий в соседнем ящике. Я позову вас вылечить вирус, а сама буду рядом мило трындеть по телефону с другим сотрудником. Я буду плакать, если бэкап Очень Важной Базы Данных вчера вы решили не делать, ибо «каждый день — это слишком часто», и жаловаться вашему начальнику (лично), гендиректору (письменно) и своей маме (по телефону).
Я — бухгалтер. Сегодня я должна выставить девять инвойсов иностранным компаниям на сумму с шестью нулями в фунтах стерлингов. Потом за особо прибыльных клиентов необходимо посчитать комиссию продажникам (с ними я говорю по телефону, пока вы чините мой компьютер): благодаря отделу продаж у нас есть эти компании и эти деньги. Затем хорошо бы подготовить отчёт для аудиторов, чтобы работу компании не заблокировали «до выяснения». Остальное необязательно, но…
Офтопик. Я — дочь сисадмина. Я могу найти неполадку в принтере, правильно подключить ИБП, установить обновления, вылечить вирус. Я способна самостоятельно переустановить винду, сохранить бэкапы и восстановить из них базу данных.
Но «остальное» — это премия, выплачиваемая всем сотрудникам просто потому, что компания в данный момент зарабатывает много денег. Не правда ли, хорошо бы мне успеть «остальное», а вам — искать ерундовую неполадку вместо меня?
Мне недавно принесли флешку. Говорят, что якобы сломалась и ещё пару компов с собой в компьютерный ад прихватила, а на флешке куча важной информации, восстановить нужно всё срочно.
Тыкаю флешку (да-да, без всяких тестирований и прочего — не верю я байкам о сгоревших компах), но монитор не тухнет, дыма из БП не идёт, а кулер спокойно гудит, как ни в чём не бывало. Флешка определилась, все разделы на месте — значит, жива.
Пока не монтирую, вместо этого поднимаю виртуальную машину. Проверим, сохранилась ли информация… Подключаем флешку, смотрим: все папочки на месте, всё в порядке. Но в мозг закрадывается профессиональное сомнение, всё ли в порядке, ещё до того, как я осознаю, что все папки выглядят как-то странно. На виртуальной машине (голая и навечно «только что установленная» XP) не было совсем ничего настроено, однако иконку папки проводник отображал очень даже Вистовскую. Ах вот как! «Панель управления» → «Свойства папки» → галочки «Отображать скрытые файлы и папки» и «Отображать расширения» — готово! Хитроумный вирус скрыл все папки, скопировал себя на флешку и назвал каждую копию так же, как папки, лежавшие в корне.
Отдав чистую флешку хозяину, я скопировал экземпляр вируса на рабочий стол XP и запустил. Вирус сработал безотказно, снеся всё, что было возможно, но через минуту XP снова чувствовала себя только что установленной. Хорошая всё же штука эти виртуальные машины!
Купил я себе новый роутер латвийской разработки. Модель неплохая — RB951G-2HnD. После некоторых танцев с бубном (был сбой при обновлении прошивки) шайтан-машина завелась. Вопрос — а что делать со старым? Ну, я же тролль, работажурналиста обязывает.
Итак, сменил немного на старом добром TP-Link настройки: обозвал сеть «Free Wi-Fi», снял с неё пароль и физически отключил внешний кабель. Буквально за 15 минут зафиксировал семерых соседей — любителей халявы.
Дальше мысль такая: помучить таких любителей дня три-четыре, а потом переименовать сеть во что-то типа «Eto free Wi-Fi, a ne free Internet :-)».
Уроненный стеллаж с товаром — не такая уж большая беда для магазина, где руководство честно признается себе и окружающим: да, такое у нас случается. А случаться будет, хоть признавайся, хоть не признавайся: такие случаи ещё не обошли стороной ни один магазин, даже с самым аккуратным персоналом.
Решение проблемы было найдено ещё в СССР, но перенято многими теперешними сугубо капиталистическими торговыми сетями, от мебельных до компьютерных. Называется — отдел уценённых товаров.
Отлично работающий плеер, только с трещиной во весь корпус. Жёсткий диск с бэдами для хранения неответственных данных. Роутер, у которого потеряли одну из двух антенн. «Реджекты» — товары, возвращённые пользователями в течение десяти дней по причине «не понравилось». Эти и вовсе только вскрытой и заклеенной упаковкой отличаются. Всё это и многое другое можно приобрести в нормальном магазине в таком отделе по очень выгодным ценам. Естественно, без гарантии, но покупатель, которого устраивает уцененный товар, добровольно от неё отказывается, зато покупает новый товар почти по цене б/у. В одном проигрывает, в другом выигрывает — правило рычага (или трансформатора) универсально. А нужен жёсткий диск без бэдов для ответственной информации — добро пожаловать в профильный отдел, он совсем рядом.
Поскольку реализовано будет в конечном итоге всё, из зарплаты кладовщиков можно вычесть лишь разницу между стоимостью неуценённого и уценённого. Экономия на гарантиях позволяет дополнительно уменьшить вычеты. Выигрывают от честности все: магазин, персонал, покупатели обоих видов товаров, гарантийщики. Репутации тоже на пользу.
А если отдела уценённых товаров нет, лучше насторожиться и отправиться в другой магазин. А вы что ж, все без такого отдела, что ли? Тогда мы не идём к вам.
Получил письмо из США. В одном городе некий предприимчивый владелец типографии выпустил механическое приспособление для вычисления стоимости одного фунта продукта в супермаркете. Выставляешь, сколько стоит упаковка и сколько в ней фунтов продукта — узнаешь, почём один фунт. Продаётся новинка в ярком блистере с надписью: «Faster than on a calculator». Раскупается!
Восхищающийся — знаток ассемблеров для нескольких микроконтроллерных архитектур, а также четырёх восточных языков. Никак не попадает он под задорновские стереотипы. А переработанную логарифмическую линейку в картонном вычислительном устройстве не узнал.
Требуется отсканировать документ и получить его на руки в виде файла.
Точка № 1. За сканирование желают 150 рублей. Ещё 100 рублей, чтобы записать файл на флешку. Ну, или 60, чтобы отправить на электронную почту.
Точка № 2. Сканер — вот он, отсканировать могут, и дёшево. Но на флешку записать не могут: в целях безопасности подключение USB-носителей на компьютере заблокировано. Отправить на почту тоже не могут: в целях безопасности сторонние сайты не открываются. Могут только здесь же распечатать копию на принтере.
Точка № 3. Сканирование — 50 рублей, запись на флешку или отсылка по электронной почте — бесплатно, время работы — три минуты.
Вот только в поисках точки № 3 пришлось посетить четыре точки, аналогичные № 1, и шесть, аналогичных № 2…
Эту фразу с порога произнёс посетитель магазина канцтоваров. Продавцы переглянулись, один попросил уточнить, что это такое.
— Разве не понимаете: программэ́йбл! Сейчас покажу какой.
Ищет товар на витрине, наконец, находит. Тычет пальцем в коробку, на которой крупным шрифтом написано: «Programmable», а ниже мелким — «scientific calculator».
А я знаю, почему люди ломают технику, чтобы сдать её в сервис по гарантии в неремонтопригодном состоянии. Попользоваться и вернуть деньги? Нет, не за этим.
Возьмём жесткий диск. У него было трудное детство: в подсобке магазина уронили целый стеллаж. Упаковки аккуратно вскрыли, на скорую руку проверили; мёртвые и потерявшие товарный вид «повесили» на зарплату сотрудников склада, а те, что заводятся, не шумят и без бэдов, запаковали и пустили в продажу.
Какая дальнейшая судьба этих дисков, я думаю, ясно. Скорее всего, харды получили множество скрытых повреждений, которые проявятся позже. Некоторое время это будет видно по S.M.A.R.T. — будет расти количество ремапов, будут ухудшаться и другие показатели. Претензий не предъявишь: формально диск работает, но…
И вот — первые «бэды». Их уже можно предъявить гарантийке. Что она сделает? Запустит принудительный ремап. Диск перестанет показывать плохие сектора, и вроде всё в порядке: упавшую скорость и плохие показатели S.M.A.R.T. к делу не пришьёшь. Доверия к диску уже нет: окончательно помрёт в любой момент, унеся за собой информацию, а чтобы его поменяли, нужно, чтобы он либо умер совсем (причём без возможности его временно «поднять»), либо явные неисправности появились три раза в течение гарантийного срока. Остаётся либо наплевать на гарантию и покупать новый, либо добить тушку «без палева».
Сейчас очень много таких вещей, которые не починишь в связи с тем, что либо нечего чинить, либо слишком тонкая механика. Зато очень много где легко замаскировать проблему — перепрошить (некоторое время дырявая флеш-память эту прошивку будет держать, а потом снова заглючит), прогреть плату феном (микротрещины проводников временно закрываются, и некоторое время прибор работает), программно скрыть явные дефекты («битые» сектора на дисках и SSD, дефектные пиксели и даже целые строки пикселей на матрицах фотоаппаратов, нерабочие ядра процессоров и видеоконтроллеров)… В результате такого «ремонта» мы либо временно получаем работающее устройство, либо всё работает и будет работать в дальнейшем, но с существенным ухудшением. И гарантийные мастерские этими способами охотно пользуются, вынуждая людей идти на вандализм.