12753

Программиста ответ

Гардероб. Светящаяся табличка:

Внимание! Согласно публичной оферте на пользование нашими услугами, гардеробщик ИМЕЕТ ПРАВО брать себе всё находящееся в карманах и рукавах сдаваемой одежды. Клиент, не желающий этого, обязан перед сдачей одежды вынуть всё из её карманов и рукавов.

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

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

12752

Сначала думай, потом делай

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

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

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

Допустим, построили мы дом в чистом поле. Или нет, лучше на южном склоне холма: и ветра меньше, и теплопотери с северной стороны менее заметны. Остаётся облачность, туман, снег и дождь. Насколько остынет дом даже с очень хорошей теплоизоляцией за неделю такой погоды? А за месяц? А если жильцы иногда заходят-выходят, выпуская драгоценное тепло? Ах да, можно же печку поставить. Не очень дёшево и не совсем экологично, но это ведь для экстренных случаев (которых у нас, правда, чуть ли не шесть месяцев в году).

Хорошо, примем печку как данность. Люди уже давно к этой печке придумали разнообразные приспособления, повышающие её эффективность как отопительного прибора, от чугунной плиты позади камина до системы труб с самым дешёвым теплоносителем (сиречь водой) и радиаторов. Так, собственно, печки и превратились в разнообразные отопительные котлы — твердотопливные, газовые, электрические, опять же… Ну, и комбинированные, само собой. Этот велосипед уже давно изобрели и продолжают совершенствовать.

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

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

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

Я к чему это всё? Да к тому, что любой принцип имеет границы своей целесообразности. Самое простое — не всегда самое лучшее. Избыточное в теории часто оказывается необходимым на практике. Решение «в общем виде» может не подойти ни к одному частному случаю.

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

12751

Заглядывай в прошлое, там интересно

Недавно мы рассмотрели правило для изобретателя: «Остерегайся закваски зачемной». А вот и ещё одно: «Заглядывай в прошлое, там интересно».

Лучшие умы человечества беспрестанно бьются над созданием удобных подставок для смартфонов и планшетов. А заглянуть в прошлое не догадываются. А там… Знаете, что там?

Game & Watch там. Ну, и клоны его советские. Встроенная подставка, состоящая всего из одной копеечной детали, в сложенной состоянии совершенно не мешается, а в откинутом — прекрасно справляется с возложенной на неё задачей. Если на неё и был патент, он давно истёк. Так что теперь эту конструкцию подставки могут смело применять все производители современных гаджетов.

Что им мешает? Наверное, пресловутый «зачем», хотя ответ на него очевиден. А Гумпэю Ёкои не помешал.

12750

Да и XOR с ним

Все-таки айтишник — это не профессия, а образ мыслей.

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

— Ну, или горчичники ему поставь!

Потом, правда, спохватился — вспомнил, с каким дуболомом говорит, и добавил:

— И заметь, ключевое слово здесь — «или»!

Но интерн всё равно и успокоительное дал, и горчичники поставил.

А ведь я сразу, как Быков про «или» сказал, подумал: вот если бы был он не доктором, а программистом, то он бы такую ошибку не допустил, он бы воспользовался исключающим «ИЛИ».

12749

И полетят тут телеграммы

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

А что же почта? Ей теперь отведена роль почти исключительно курьерской службы. Образ «Харитоши — аккуратного почтальона» канул в лету. Или его ещё можно спасти?

Можно. Если почтовики прислушаются и присоединятся к общей безлимитной тенденции. Ввести доступные безлимитные тарифы на доставку бумажных писем вместо того, чтобы тарифицировать каждый конверт, каждую открытку — вряд ли это будет для них слишком уж затратно. Говорите, не угнаться за опсосами, у которых базовые станции всё экономичнее? Так и ваши Харитоши пусть снова крутят педали, а не баранки!

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

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

12748

Подпись верна, клянусь виндой

Есть многое на свете, друг Горацио, что и не снилось нашим мудрецам…

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

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

В этом месте я жму руку специалистам компании «К». Они поступили проще. Зачем передавать по закрытым каналам ключи, когда их можно сгенерировать прямо у клиента, закрытую часть сразу сбросить на дискету/флешку/токен, а открытую часть отослать на сервер для проверки администраторами? Осталось дело за малым: решить, чем генерировать пару ключей. Яваскриптом? Производительность не та, да и реализацию раскрывать так уж явно не хочется. Специальной программкой? Так её придётся обновлять (достаточно часто, там должен быть модуль связи с сервером). Обновляться автоматически? Во-от! Всё уже изобретено за нас — это или ява-апплеты, или ActiveX. Кто один умеет работать с ActiveX? Правильно, только «ослик». А то, что Хром и иже с ними до сих пор не понимают ActiveX, уж точно не проблема компании «К» и клиентов, которые пользуются их продуктами.

Вы правильно отметили: заточка продукта на IE сильно упрощает саппорт. Мы в компании клиентов поддерживаем сами и очень редко отсылаем в саппорт компании «К» (хотя надо бы). Почти все глюки связаны либо с файрволами, либо со старыми версиями программ на ОС типа «восьмёрки», либо с тем, что пользователь потерял ключевой контейнер. Руководство, читая мою переписку с клиентами, начинает подозревать во всяком: мол, при минимуме информации он даёт такие развёрнутые ответы, телепат, наверное.

А как же линуксы, спросите вы? Уверяю вас, даже в этом случае есть варианты — не такие прямолинейные, но есть. Клиентам-разработчикам всяких там автоматилок под линукс с удовольствием рассказываю, что надо приобрести и установить, чтобы не лезть к нашим серверам из-под Windows. Кому-то хватает прокси на Windows, кто-то делает более аккуратно несмотря на то, что в большинстве свободных дистрибутивов нет поддержки ГОСТ из коробки. Даже компилировать ничего не придётся — почти всё привычное из инструментария работает нормально.

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

12747

Пеня на пеню в пенни

Миллион лет назад наши придумали такую услугу — SMS-уведомление о списаниях со счёта абонента. О каждом списании. Позвонил бабуле — тебе тут же SMS: «−4 рубля». Отправил эсемеску, посидел в инете — тыды-ы-ым! Сообщение.

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

На стадии тестов всё было зашибись: там бабло не привязано. А тут первый за пять лет абонент подписался на эту услугу. Отправил эсемеску, получил уведомление: «−50 копеек». А потом с него списали 3 копейки за получение этого уведомления и прислали новое уведомление: «−3 копейки», за которое списали 5 копеек и прислали уведомление…

Бесконечный цикл, 1–5 копеек на итерацию, скорость — примерно одно сообщение в секунду. А для внутренних услуг минус по дефолту не устанавливается… Короче, пока разобрались, чувак на десять штук в минус ушёл, телефон его сдох от перегрева, а у нас все соты с района оттянуло на хутор, где абонент жил.

12746

В чужой монастырь со своим workflow

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

Расскажу от лица тех, кого меньше (а может, наоборот, сильно больше, но они молчат?). На линукс на рабочих компах пересел лет эдак десять назад. С винды. И да, хакинтоши я тоже ставил.

Вся, вероятно, величайшая беда большинства «неудачников» в подходе. Вот он пересел с винды на линукс. И поехали: найти удобный редактор (чтобы ничем не отличался от Офиса), найти удобный блокнот (чтобы Блокнот™ был, в идеале), фотошоп… Перечислять смысла не имеет. Кто сталкивался — знает. Но вот закавыка — все переходящие как-то забывают одно из главных правил линукса: одна программа — одна группа задач. Не видел ни одного пакета, ни одной программы для линукса, которые уподобились бы тому самому продукту с горящим Римом на ярлычке, одновременно и диски зарезая, и музыку воспроизводя, и галерею из фотографий демонстрируя. Второе правило совсем не линуксовое, оно прямо описывается пословицей про чужой монастырь.

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

Я каждый день пишу код, каждый день совершаю массу различных действий на удалённых серверах, каждый день ищу баги в коде заказчиков. Каждый день. Моя цель оправдывается линуксом на все сто — PuTTY и KiTTY встроенному терминалу в подмётки не годятся. И простите, но у меня не возникает ступора при виде путей а-ля /var/log/…, когда речь заходит о глюке чего-то, что пришло на тест. В дополнение к этому я не думаю о том, где бы мне протестировать очередную серверную софтину. Это как приятный бонус, мне ничего не стоит.

Взамен попыток поставить «чтобы было как там» я осознал главный принцип. Проблема ведь в понимании. И сразу всё встало на места.

А дома — уже на виндовом компе — стоят игры. Установлен кроссплатформенный, в принципе, XBMC, и с Андроид-приложения я его удалённо контролирую и смотрю любимые сериалы и фильмы. На работе цель — работать, дома цель — расслабиться и отдохнуть.

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

12745

С точностью до ослика

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

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

Если система предполагает, что её пользователи преимущественно используют Виндоус, то в Виндоусе обязательно есть Интернет-эксплорер, а значит, можно написать инструкцию с точностью до пунктов его меню. Когда в техподдержку позвонит жаждущий: «У меня ничего не работает!», оператор колл-центра прочитает в ответ: «Нажмите третью кнопку сверху и во втором пункте проставьте правую галочку», после чего проблема в 90% случаев будет решена. Поэтому при поставке продукта будет оговорено, что он работает например, с IE 9.0 — значит, именно по нему есть инструкция у операторов.

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

Но бывает и иначе: если используется какая-то возможность HTML5 — вероятность того, что её поддерживает Хром, куда как выше, чем вероятность работы в IE. Впрочем, другие браузеры тоже, скорее всего, будут работать, просто в них не тестировали.

И наоборот, какой-нибудь ActiveX-компонент работает только в IE, только под Виндоусом, да ещё может зависеть от конкретной версии ОС. В этом IE уникален и незаменим.

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

12744

Копия на тахионах

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