BZIK.INFO
[ bzik анекдоты ] [ bzik афоризмы ] [ bzik истории ] [ bzik башизмы ] [ bzik ИТ истории ] [ bzik тосты ]
[ bzik неразобранное ] [ bzik прислать свежий ]
BZIK.INFO





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



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



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



Потом мне, конечно, всё восстановили, но я понял: не всё то золото, что имеет расширение exe.








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



Был там чекбокс «Монтаж». Если стоит галочка, то в таблицу вносится «Да»; если нет, то «Нет». Когда я запустил программу, то заметил, что даже если не ставить галочку, в таблицу всё равно вносится «Да».



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



Самое смешное, что за месяц до этого я читал про « » и подумал: «Ха-ха, тупые! Кому это надо?» Оказалось, надо. Конечно, проблема была в том, что я написал = вместо ==.



Не пренебрегайте случайно полученными знаниями и опытом, даже если думаете, что это всё вам не понадобится.








Довелось мне прочитать , и вызвало оно во мне неимоверный прилив тёплых чувств.



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



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



И вот в один прекрасный (для меня, во всяком случае) момент и от рождения-то страшная, а нонче густо удобренная костылями система испускает дух. Собственные админы реанимировать её надолго не в состоянии. Что делать?



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



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



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








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



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



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



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



После пары ребутов всё устаканилось. И экран не гаснет, пока не попросят. Всё-таки одна голова — хорошо, а две…



Сижу теперь бэкапы накатываю — вдруг чего опять приключится?








Уж сколько раз твердили миру: если вы не понимаете, почему программа написана именно так — возможно, проблема не в разработчике, а в том, что именно вы не понимаете, почему программа написана так.



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



А вы точно разобрались, что именно должна хранить эта БД и как с ней работает софт?



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



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



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



А вот если бы вам надо было хранить и получать организационную структуру магазинов — это могла бы быть вообще иерархия вложенных объектов в NoSQL-базе, от банальной LDAP до модной нынче MongoDB.



Всё зависит от того, какая задача стояла перед создателями базы.



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



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



В доказательство тётка тоже может предъявить сертификат о прохождении курсов: у тебя, глупый админ, такого нет! И попробуй оспорь…








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



— Я думал, он будет выжигать изображения на широкоформатных носителях, а он просто показывает, как старый фильмоскоп!



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



Покупатель не стал сдавать проектор и ушёл. А на следующее утро — звонок:



— Приеду — съем всех! У меня по вашей книге на ткани негатив получается, а нужен позитив!



Рассказали, как инвертировать изображение. Следующий звонок был уже восторженным:



— Получилось! Мы сделали декорацию! Спектакль уже идёт! На следующий всех вас приглашу!



В эти выходные идём на спектакль.








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



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



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








Сегодня столкнулся со случаем эпичнейшего идиотизма.



Менял на днях человеку ось с «вислы» на «семёрку». Проходят сутки, человек в панике звонит мне на мобильный телефон и кричит в трубку, что ничего не работает. Приглашаю его к себе, запускаю ноутбук — и вижу, что все *.exe проассоциированы с Windows Media Center. Сделал откат и в очередной раз убедился в том, что самый ужасный вирус — это пользователь.








— Алё, какое расстояние между Москвой и Екатеринбургом? И сколько времени займёт на машине доехать?



— Тебя в Гугле забанили? Или школьные формулы на скорость-время-расстояние забыл?



— Да всё я умею, только некогда: договор с екатеринбуржцами составлять надо.



Уже была тут басня «не айтишник — будь добр, не разбирайся в айти». Теперь её новый варинат: «умею, но ». Доченька админская, вы ж в силу профессии калькулятором владеете отлично. Вот и посчитайте, сколько минут займёт вызвать и дождаться айтишника, и сколько секунд — самостоятельно включить принтер в розетку. И сколько в первом и втором случаях высвободится времени на «остальное».



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



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








На IT happens : «Преподавательница реляционных баз данных, при мне объяснявшая студенту, что таблица, распечатанная им непосредственно из Access, ну никоим образом не находится в первой нормальной форме».



Не буду спорить, насколько плоха преподавательница. Но разве таблица из СУБД может быть не в 1NF? Оказывается, может. И я это видел в живом проекте.



Большая американская сеть магазинов одежды. В магазинах есть отделы (три наименования). Любитель нормализации сделал бы список отделов и таблицу-связку. Пофигист обошёлся бы тремя полями: has_kids, has_plus, has_shoes. Эти сделали набор отделов строчкой: «Kids, Plus, Shoes».






ЕЩЁ БЗИКОВ!        ПРИСЛАТЬ СВОЙ!

{126} {125} {124} {123} {122} {121} {120} {119} {118} {117} {116} {115} {114} {113} {112} {111} {110} {109} {108} {107} {106} {105} {104} {103} {102} {101} {100} {99} {98} {97} {96} {95} {94} {93} {92} {91} {90} {89} {88} {87} {86} {85} {84} {83} {82} {81} {80} {79} {78} {77} {76} {75} {74} {73} {72} {71} {70} {69} {68} {67} {66} {65} {64} {63} {62} {61} {60} {59} {58} {57} {56} {55} {54} {53} {52} {51} {50} {49} {48} {47} {46} {45} {44} {43} {42} {41} {40} {39} {38} {37} {36} {35} {34} {33} {32} {31} {30} {29} {28} {27} {26} {25} {24} {23} {22} {21} {20} {19} {18} {17} {16} {15} {14} {13} {12} {11} {10} {9} {8} {7} {6} {5} {4} {3} {2} {1}




BZIK.INFO
[ bzik анекдоты ] [ bzik афоризмы ] [ bzik истории ] [ bzik башизмы ] [ bzik ИТ истории ] [ bzik тосты ]
[ bzik неразобранное ] [ bzik прислать свежий ]
BZIK.INFO

админу в мыло