Читали рассказ о человеке, который выходил в интернет через дайлап, а соседи думали, что это у него не модем орёт, а кошки, которых он мучает? Один мой друг, прочитав этот рассказ, решил позабавиться. Из плюшевой кошки, машинки с радиоуправлением и кассетного плеера с динамиком он соорудил нечто. Вышел к бабкам у подъезда и заявил, что это робокошка, которую он сам сделал с одной целью — мучить. С этими словами он пнул «кошку», и та с характерным модемным звуком убежала (того, что одну руку друг постоянно держал в кармане с пультом, никто не заметил). Догнав, друг дёрнул «животное» за плюшевый хвост, и история повторилась.
Бабушки привели участкового, так ему и сказав: у нас такой-то мучает робокошку. Участковый, осмотрев механическое «животное», объяснил им, что они стали жертвами розыгрыша, и что ни плюшевая кошка, ни машинка, ни плеер испытывать мучения не могут. Тут вся мощь старушечьего гнева обрушилась на участкового, которого бабки принялись обвинять в бессердечности.
Спас ситуацию сам остряк. Звук модема на кассете он заменил на мурлыканье в собственном исполнении. На глазах у старушек «кошка» подползла к нему, он её погладил, и та замурлыкала. Бабушки тоже захотели погладить «кошку», и она никому не отказывала. Присоединился и участковый, который понял, что бабкам надо подыграть.
Если ОС — это алкоголь (а решаемые задачи — надо понимать, закуска), то Linux — это портвейн. Недорого, но и не очень качественно, похмелье тяжелее, есть вероятность отравиться. Как и положено, закусывается тем, что есть. Но не всякая закусь подходит — некоторые сочетания грозят рвотой и головокружением. Иногда приходится в портвейн подливать водку. Портвейновые алкоголики — с претензией. Оказывается, их портвейн — не просто запивка к основному блюду, портвейн — это стиль жизни. Вопреки логике утверждают, что их портвейн крепче водки. На самом деле, без вкусовых добавок пить эту гадость могут только энтузиасты. В портвейновую зависимость часто попадают те, кто ближе к алкогольной тематике. Так как стандартом де-факто является водка, до употребления портвейна надо додуматься и иметь смелость экспериментировать. Иногда на портвейн люди переходят под влиянием друзей — панков или дурной компании.
Windows — это водка. Оптимальное соотношение цены и опьянения. Windows-алкоголики обычно претензий не имеют — просто берут и пьют. Идёт со всем — и с дорогими блюдами, и с бесплатными обедами. Вкуса особо нет, некоторые любители добавляют варенье или концентрированный сок. Основная масса пьёт так. Добавлять в водку портвейн никому и в голову не придёт.
OS X — это дорогое вино. Люди, его употребляющие — люди творческие, художники своего дела. Дорогое вино с чем попало не пьют. Закусь обычно тоже с претензией.
Android — это маленький флакончик с портвейном. Удобно носить в кармане. Удобно отпивать на остановке или в общественном транспорте. Так как доза обычно маленькая, то и отравиться маловероятно. С Android обычно употребляют чипсы, фисташки, арахис и другую носимую еду.
iOS — маленький флакончик с вкусными духами. Стоит дороже, пить вкусно, если привык. Считается, что употребляют его какие-то алкогольные извращенцы. Закусывают его тоже разными несуразицами — модной тушью для ресниц, тональными кремами и тенями. Субкультура такая.
(Если без сравнений, то не употребляйте алкоголь. Выпейте лучше чай или морс. Настоящие мужчины пьют протеиновый коктейль после тренировки. Или молоко.)
Ну, а если с точки зрения программиста — Linux воспитывает быдлокодеров. Невнятная архитектура, отсутствие изящных структурных решений. Работать можно — чего ещё надо? Отличной иллюстрацией к внутреннему устройству Linux является обложка книги по системному программированию для Linux — гравюра с педальным вертолётом. Летает? Летает. Не так быстро, удобно и безопасно? Зато никаких сложных моторов и расчётов. Сел и полетел. Хорошо написанных программ для Linux — по пальцам пересчитать.
Windows воспитывает стратегов системного программирования. Внутреннее устройство Windows — это образец того, как должна быть устроена идеальная среда для программ. Windows API — идеальный конструктор приложений для своего времени. .NET — идеал функциональности. Технологии, рождённые Microsoft — в основной своей массе это шедевры. Да, есть шедевры и от других компаний. Но Microsoft по праву занимает место лидера. Хотя и очень обленившегося, лежащего в шезлонге лидера. Его периодически пинают конкуренты, тогда лидер встаёт и даёт сдачи. Он — отличная иллюстрация того, что чем больше зарабатывают люди, тем меньше времени они готовы тратить на выполнение работы.
Если и создавать народную ОС, то создавать надо не очередной клон Linux, а клон Windows. Пусть устаревший на несколько лет, но такой же изящный, с такой же продуманной структурой.
Безусловно, Linux — это инструмент. Но Windows — больше чем инструмент. Это решение. Поставил и забыл.
— А я твой компьютер взломал, — ответил товарищ. — Дистанционно. И фотки посмотрел.
Верю, что посмотрел. Особенно это легко сделать, когда я зарегистрировалась под своим самым используемым ником, который у меня ещё и на страничке «Вконтакте» написан. А вот что взломал — не верю.
— А ты, оказывается, ещё и рассказы пишешь! — сообщает мне человек в онлайн-игрушке.
— А как узнал? — интересуюсь с улыбкой.
— А я специалист по компьютерной безопасности. Мне ли не знать, что у тебя в компьютере делается!
Верю, что рассказы глянул. Учитывая, что я только что скинула тебе свой скайп, который висит и на странице с рассказами, и на страничке «Вконтакте», и даже на корпоративной странице техникума, где я преподаю. А что взломал — не верю.
P.S. Преподаю я, кстати, математику и информатику.
Некоторое время назад одна сотрудница начала жаловаться, что у неё стал умирать комп — то включается долго, то ещё что-то. Но, так как дел было и без неё полно, на эту проблему временно подзабили, ну загружается долго, но работает же.
Пару дней назад она написала заявку, мол, комп сдох окончательно, не включается вообще. Забрал я его к себе диагностировать. Пробую включить по кнопке — не включается, пробую завести с отвёртки (замыканием контактов на материнке) — тоже нет реакции, проверяю БП прямым замыканием — вентилятором крутит, работает. Ну, ясное дело, материнка сдохла, тем более что для компов организации комплектуха бралась, судя по всему, из одной партии и недавно все материнки начали дохнуть. Поменял ей мать на такую же, даже гиг оперативы докинул, отдал, радуется, что всё даже быстрее стало.
Сегодня снова пишет, комп умер, опять. И тут у меня в мозгу всплыла одна деталь, на которую я сразу не обратил внимания, когда проверял комп в прошлый раз. Кнопка на блоке питания была не в положении «вкл» или «выкл», а где-то посередине. Подхожу к рабочему месту сотрудницы и вижу — комп придвинут вплотную к столу, причём высота задней стенки стола настолько удачная, что провод блока питания проходит под ней, а вот кнопка уже нет, и она оказывается как раз зафиксированной в положении ни так ни сяк. Включил, сказал, чтобы вплотную к столу не придвигала, всё ок, всё работает.
Но материнка, видимо, действительно помирала, так как глюки исчезли.
Что в России может победить откаты? Только другие откаты.
Высоким начальством было решено внедрить у нас программу, кривую да глючную, по учёту всяких штуковин, на складах хранящихся, да в ремонтах нуждающихся. Программа ужасная, неудобная, дорогущая, работу усложняющая раза в три и увеличивающая раза в четыре. Но приказы начальства не обсуждаются, да и откаты уже проплачены. Под слёзы и тихий (а иногда и во весь голос) мат пользователей внедряем.
Есть в программе один нюанс: в имени принтера должно быть не более 8 символов. Не спрашивайте, откуда такое ограничение в 2015 году, оно просто есть. Ну да ладно, переименовываем принтеры.
Тут вдруг высоким начальством было решено внедрить у нас другую программу, кривую да глючную, по учёту печатаемых бумажек. Программа дорогущая, толку от неё, как от козла молока. Но, вы помните, приказы начальства не обсуждаются, да и откаты уже проплачены. Внедряем.
Вот только есть в программе один нюанс: имя принтера должно быть весьма определённого вида, в длину около 20 символов.
Как вы, наверное, догадались, возникает конфликт интересов. Делаем морду кирпичом, спрашиваем у начальства, что делать. Конечно, можно пару костылей вставить, но об этом молчок.
Разные начальники, в зависимости от того, кому кто занес, выдают разные распоряжения, какую программу внедрять, какую похерить. Комедия продолжается месяца три. Результат получается такой, что устраивает всех: стоят обе программы, ни одна ничего не делает. Начальство радостно подсчитывает откаты. Разработчики радуются удачной сделке. Пользователи продолжают работать в написанных и вылизанных для их нужд самодельных программах. Всем хорошо.
Вот только компания огромную кучу бабла в унитаз выкинула — ну так, что делать. Такова жизнь.
И снова о разнице между кнопочными и сенсорными мобилками.
Матушка купила сенсорный, «потому что две симки». Не осилила, дала его мне со словами «разберись, потом покажешь мне». Походил я с ним чуть больше недели. Может, просто модель неудачная попалась. Разная чувствительность в разных меню и приложениях, некоторые кнопки очень мелкие (а стилус не прилагается) и прочее, прочее.
Почитал книжку на перекуре, закинул в карман. Не сработала автоблокировка. Дошёл до кабинета, достаю — а он карту памяти успел форматнуть и майджонг запустить. Зато можно выдвинуть антенну и посмотреть телевизор. В общем, пошёл я в магазин к знакомому и купил маме кнопочный со всеми фишками, которые она заказывала, — фото-видео, MP3, две симки, радио (она его притопила через год, но это уже другая история).
А с того сенсорного только книжки и читаю, сидя на кухне с сигаретой. После перекура укладываю на полку экраном вверх — мало ли что. А себе думаю вместо водоплавающего «Самсунга» прикупить бронированно-водоплавающего Ginzzu с тем же набором функций, тоже кнопочного — старичок после трёх лет походной жизни получил несколько травм корпуса и потерял герметичность.
М-да, занесло Остапа… Я ж о чём сказать-то собирался? О том, что мне просто комфортнее с тактильным подтверждением того, что кнопка нажата. Ну, старый я, привык так. И когда усиленно сватают какой-нибудь навороченный сенсорник, я говорю (динозавры, можете переписать в блокнотик):
— Мобила без кнопок, как плоская девка — личико симпатичное, а пощупать не за что.
Я рад за мальчика, у которого отец, сорокалетний сетевой инженер и закоренелый виндузятник, наконец поумнел и дорос до уровня знаний школьника. Как всё-таки смешон юношеский максимализм. «Ух ты, тут и это есть! Как же я до этого жил?»
Я чуток постарше вашего отца: 25 лет в IT, из них 15 начальником (в разное время под моим началом было от 30 до 500 рабочих мест), сейчас постоянно использую в работе все 3 основных системы (винда, линукс и макось).
Так вот, открою вам маленький секрет этой жизни: дома на компьютере, предназначенном для баловства, можно себе позволить пару дней потратить на поиск тулзов и пересборку ядра, можно даже пытаться пользоваться опенсорсными графредакторами и попискивать от радости, что, оказывается, «ну почти такой же» редактор есть и там.
Но как только комп становится не игрушкой, а рабочим инструментом — правила игры меняются кардинально. Понимаете ли, существует такое понятие, как «стоимость владения» — так вот, как это ни удивительно, но с этим понятием совсем не всё так очевидно.
Ну, например, каждая минута рабочего времени каждого сотрудника стоит денег. Да-да, именно так. Поиск и закачка дистрибутива, настройка репозиториев, показ пользователю, как и что делать — всё это в итоге не бесплатно.
Вы не задумывались, почему практически во всех предприятиях на рабочих местах стоит именно винда? А также почему ни один дизайнер (по крайней мере, серьёзный — а я их знаю сотни) не работает на линуксе? 90% — мак, 10% — винда, 0.00% — линукс.
А всё на самом деле очень просто. Перевод рабочих станций на линукс — (и бонусом к этому — переобучение пользователей, увеличение времени на обновление ПО, увеличение времени решения любой проблемы с рабочей станцией, а значит, увеличение штата админов) — стоит дороже, чем покупка винды и Офиса. Просто обходится дороже, несмотря на то, что линукс «бесплатен». А макось достаточно удобна для работы, когда ты делаешь что-то «стандартное», главный минус всего этого — баснословно дорогое оборудование. Вот и всё.
Ну и задумайтесь ещё вот над каким вопросом: зачем Microsoft и Apple содержать тысячи программистов и дизайнеров, если «всё уже есть, и бесплатно»? Не потому ли, что они делают продукт лучше? Помните, что ни один человек никогда не работает бесплатно. Именно по этой причине софт (в том числе и для линукса), который в самом деле сделан на приличном уровне, стоит очень дорого. Есть специализированные пакеты со стоимостью лицензии в десятки и сотни тысяч долларов. Или вы в самом деле думаете, что такие деньги платят чисто из глупости (то есть платят те, кто явно глупее вас)?
Так что хочу вас разочаровать — скорее всего, ваш отец не «наконец-то поумнел» а просто прикалывается, что «самодельщики» уже почти смогли освоить что-то похожее на рабочую станцию. И её даже можно использовать дома, почти ничего не теряя в удобстве. Не более того.
Занимались не так давно внедрением интернет-магазина для торговой компании. Стояла задача подготовить счёт, который выставляется юридическим лицам. Все мы знаем, что в любом счёте внизу обычно размещаются подписи директора и бухгалтера, а также печать организации. Естественно, я запросила их у заказчика, мол, просим предоставить образцы печати и подписи для оформления счёта интернет-магазина. Заказчик мне ответила, что пока «живые» печать и подпись вам не нужны, справляйтесь без них.
Не вопрос, справились. Взяли первую попавшуюся подходящую демо-печать с прозрачным фоном. Далеко ходить не нужно, всё нашлось в картинках одного из поисковиков. Ну и попутно подготовили себе в запасничек демо-подписи «Гендиректор» и «Главбух», выведенные красивым рукописным шрифтом. Всё настроили и забыли до получения оригиналов. На следующий день нам приходит грозное письмо от разъярённого клиента:
Добрый день!
Прошу вас остановить работу по сайту. После вчерашней шутки в общем доступе на сайте (подпись и печать «Рога и копыта») я хочу прекратить наши деловые отношения.
Естественно, мы принесли заказчику извинения:
Здравствуйте, ООО ***.
Для тестирования интернет-магазина необходимо заполнение ключевых элементов счёта. Так как запрошенную информацию мы от вас не получили, а работы необходимо было провести, то соответствующие элементы счёта были заменены демонстрационными данными абстрактной компании. Наши действия не являлись какой-либо шуткой или провокацией. Приносим свои извинения, если вы сочли их некорректными.
Мораль сей басни очевидна: нужно быть внимательнее при выборе демо-материалов, чтобы не травмировать чувствительную психику клиента. Ибо для нас, разработчиков, это просто сайт с демо-контентом, а для владелеца — дело всей жизни, и он вполне может принять за личное оскорбление безобидные картинки.
Великий корейский рандом, говорите? Всего лишь особенности работы генератора псевдослучайных чисел. Это очень хорошо, что вы только IP с его помощью формируете и ничего более, куда печальней дела обстоят в геймдеве, я вам скажу.
Уже более пятнадцати лет я наблюдаю пляски разработчиков игр вокруг рандомизаторов, и мне слегка несмешно временами, такое ощущение, что матчасть даже не пытались изучать:
if (rand(10000)==1) и прочие подобные глупости при использовании генератора с нормальным распределением.
Выбор по таблице добычи при помощи генератора с нормальным распределением. Если сюда добавить ещё разный шанс трофеям, то для некоторых позиций вырисовывается совсем запредельная схема.
Генерация энтропии на основе данных игрока/сессии/сервера. Обычно легко прослеживается и явно заметна.
Выборка случайного элемента из некоторой части списка для придания «большей случайности». За пределами добра и зла. В одной известной игрушке про убийство монстров это привело к тому, что можно было сутками пытаться выбить шмотку, которой просто не может выпасть в текущей сессии.
Скрытая манипуляция выборкой под видом случайного выбора.
… и даже сочетание всего вышеперечисленного.
Самое смешное, что когда пользователи жалуются на симптомы подобных решений или вычисляют примерный алгоритм работы рандомизатора, начинается тотальное отрицание всего и вся. В крайнем случае, проверки алгоритма за пределами возможного матожидания, например: «Вот, смотрите, мы протестировали алгоритм на выборке из 300 выстрелов, всё чудесно». После этой фразы уже объяснять, что если сократить количество итераций до 30, картина меняется в корне, абсолютно бесполезно.
Очень хотелось бы обратиться ко всем коллегам: если вы пользуетесь радномизаторами в своих приложениях, прикиньте, как их поведение будет отражаться на ваших пользователях, разберитесь в алгоритме, подумайте тщательно. А то уже глаз дергается, ей богу.
Прочитав историю про ноль, расключённый на контакт заземления, получил лицевую травму от фейспалма.
Для кого выпускают ГОСТы, СНиПы и прочие стандарты? В основном, разумеется, для профессионалов. Но раз уж ты решил что-то сделать, ну так хотя бы загугли, можно вообще так поступить или лучше не надо.
Помните давнюю историю про таксу, которая за потолком тянула UTP? Задорно, ага. ГОСТ Р 53246? ANSI/TIA/EIA-569A? Не, не слышали. Профи, безусловно.
Золотое правило: если ты всё делаешь по соответствующему стандарту, ты гарантированно получишь работоспособную систему. Потому что стандарты предусматривают хороший такой «запас прочности», он же «защита от дурака», и в них в принципе отсутствуют так называемые узкие места.
А когда лень и недосуг почитать стандарт, получаются различные казусы. И не всегда забавные. Минимальный радиус изгиба оптики? Не в курсе? Тогда считай, что дешевле — ставить муфту на перелом кабеля или перетягивать трассу. Пучок UTP в одном лотке с вводным кабелем толщиной в руку — и чего это у нас тест на категорию 6 не проходит? Незаземлённый лоток — ой, откуда коллизии?
Иной раз складывается впечатление, что ГОСТы — это такая вещь в себе, никому, кроме авторов, не интересная. Добрая половина факапов, описанных на IT happens, как раз и случилась по причине пренебрежения правилами.
Собственно, это всё к чему? Есть такой документ — ПУЭ, Правила устройства электроустановок. Он совершенно не интересен ни админам, ни монтажникам слаботочки, ни, тем более, обычным гражданам, ровно до тех пор, пока не приходится столкнуться с сетью электропитания. Поскольку подавляющее число компьютерной и бытовой техники хочет для работы 220 В, в какой-то момент это столкновение произойдёт.
Так вот, когда это произойдёт, не поленитесь хотя бы Гуглом воспользоваться, если на ПУЭ сил не хватит. Узнаете много интересного про рабочий ноль и защитный ноль, например. Про то, что в распределительных щитах на вводе принято делать повторное заземление — соединять ноль и «землю». И про то, что после распределительного щита делать такое соединение категорически запрещается. Заодно узнаете, почему. Потому что, если вы этого не узнаете теоретически, то запросто можете узнать практически. Со всеми вытекающими.