Рубрика: Рефлексия

  • QR-коды

    QR-коды

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

    Поэтому в 1994 году японец Масахиро Хара разработал новый тип кода быстрого считывания — Quick Response code. Масахиро работал на заводе по производству автозапчастей Denso Wave, одного из поставщиков Toyota. Сотрудникам завода приходилось постоянно сканировать штрих-коды. Благодаря разметке из трёх чёрных квадратов, QR-коды можно считывать под любым углом или даже вверх ногами. Изобретатель отказался патентовать свою разработку, что позволило QR-кодам распространиться повсеместно.

    Идея QR-кодов пришла в голову Масахиро, когда он смотрел на доску для игры в Го. Черные и белые фишки напомнили ему бинарный код, где чёрные кодируют единицы, а белые — нули.

    QR-код может кодировать разные типы данных:
    – Числа как в традиционных штрих-кодах.
    – Буквы, числа и знаки пунктуации. Этот формат используют в том числе для адресов сайтов и vCard.
    – Бинарные данные — единицы и нули. Эти коды применяют в качестве меток для роботов.
    – Кандзи — базовые китайские иероглифы, которые включены в японскую письменную систему. Это что-то вроде древних эмодзи.

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

    В школе я играл в игру рендзю на доске для Го. Вероятно, поэтому QR-коды меня сразу зацепили. Впервые я использовал их в рекламных кампаниях примерно 15 лет назад — мы размещали их на флаерах и афишах, которые висели по городу. Тогда их практически не сканировали, поэтому я в них разочаровался. Кто знал, что позже они станут такими популярными.

    Большой толчок в распространении QR получили во время COVID-19 — ситуация требовала бесконтактную передачу информации. Очень скоро их адаптировали для платежей.

    Если захотите сгенерировать QR-код, воспользуйтесь проверенными сервисами:
    Генератор от Adobe.
    GoQR. Тут есть также API для программной генерации.

  • Первая консультация

    Первая консультация

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

    Лето, центр Питера, дворик в переулке Джамбула. Я поднялся по узкой витой лестнице, дверь открыл бородатый мужик лет сорока в свитере. Не разуваясь мы прошли в комнату. Там за столом, заваленным мусором и проводами, сидел второй бородатый мужик в очках и задумчиво смотрел в большой пузатый монитор. Сейчас я понимаю, что эта дикая смесь компьютерных проводов и экранов из “Матрицы” с хмурыми бородачами из “Брата” была маленькой веб-студией в съёмной квартире. Кипела работа — мужики делали новый сайт по продаже компьютеров для местной компании.

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

    Я помог подружить JavaScript с Flash-роликом — показал, как передавать значения переменных из HTML и обрабатывать их с помощью ActionScript внутри Flash. На объяснение концепции и демонстрацию кода я потратил минут двадцать. Мужики одобрительно хмыкали и почесывали бороды. В конце они переглянулись, один молча достал зелёную бумажку в 50 долларов и протянул мне.

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

  • Нужен ли консалтинг?

    Нужен ли консалтинг?

    Национальное бюро экономических исследований (США) опубликовало впечатляющее исследование влияния консалтинга на экономические показатели компаний.
    Исследователи взяли данные всех компаний Бельгии и B2B-платежей из всех секторов за 20 лет. Анализировали данные национального банка Бельгии и из открытых источников. Из исследования убрали “большую четвёрку” аудиторов, так как они в основном оптимизируют налоги.

    Интересные находки:
    – Консалтинг чаще всего заказывают лидеры рынка и отстающие компании. У слабых игроков эффект особенно заметен: наблюдается значительное улучшение после консалтинговых проектов.
    – В среднем новые клиенты тратят 3% ФОТ на консалтинг.
    – Средний консалтинговый проект длится менее года.
    – Рост достигается за счёт небольшого сокращения занятости при сохранении или росте выручки.
    – Прирост продуктивности труда в компаниях после консалтинга — 3,6%, сохраняется в течение 5 лет.
    – Зарплаты персонала растут на 2,7%.
    – В Индии и Мексике аналогичные исследования показали +17% и +27% прибавку к продуктивности, в отличие от Бельгии. Это стоит иметь в виду, проецируя исследования на российский рынок.
    – После консалтинга компании увеличивают закупки услуг на рынке, немного растёт количество увольнений (вследствие реструктуризаций), при этом уменьшаются расходы на аутсорсинг.

    Мои выводы:
    – Хотя исследование сфокусировано в основном на крупных игроков, его выводы можно применить на небольшие фирмы.
    – Исследование подтверждает, что в целом консультанты не дармоеды.
    – Консалтинговые проекты окупаются в течение года и приносят рост экономических показателей.
    – На основе этих данных нужно тратить хотя бы 3% ФОТ на консалтинг. При ФОТ 1 миллион в месяц это 360 тысяч в год.
    – Слабая компания просто обязана покупать консультации. Это поможет догнать лидеров.
    – Сильная компания должна покупать консультации, чтобы оставаться лидером.
    – Средние компании не обращаются к консультантам. Пока гром не грянет…
    – Консультации не должны совершать революции в процессе работы, скорее они про планомерное улучшение и эффективность работы.
    – У малых компаний ROI может быть выше, а эффект наступать быстрее.

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

  • Гостевые книги

    Гостевые книги

    Люди поумнее не пишут в гостевухах.
    — Кирпичи, 2002 год

    Раньше комментарии оставляли не к посту, а сразу ко всему сайту.
    Называлось это Гостевая книга. Был такой популярный вид интерактива в начале 2000-х.

    “Гостевуха” состояла из двух частей:
    – Формы для комментария в привычном виде: Имя, Почта и Текст комментария. Регистрации не было.
    – Ленты комментариев, разбитой на страницы. Сверху показывался самый свежий комментарий и можно было отмотать в прошлое.

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

    Технически это выглядело так. Интерактивные скрипты на Perl складывали в папку CGI-bin и только в этой папке можно было исполнять код. Сам сайт при этом был набором статичных HTML-страниц и картинок.

    Гостевухи постепенно исчезли с развитием форумов, последние из них добили спамеры.

  • Как начать торговлю онлайн

    Как начать торговлю онлайн

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

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

    Прошло 20 лет:
    – Получил доступ к Госуслугам.
    – Выпустил электронную подпись.
    – Зарегистрировал ИП удалённо.
    – Открыл счёт в банке удалённо.
    – Завёл ЭДО.
    – Подписал договор с эквайрингом.
    – Подписал договор с ОФД и завёл онлайн-кассу.
    – Сервис для бухгалтерии или аутсорс, в облачную 1С приходится ходить.
    – Как, вы живёте без CRM? Так нельзя! Завёл CRM.
    – Зарегистрировался в Честном знаке.
    – Интегрировать всё это друг с другом.
    – Льём рекламу? Зарегистрируйте каждый креатив, получите идентификатор, отчитайтесь.

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

  • Плотность речи

    Плотность речи

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

    Выяснилось:
    – Слоги в языках имеют разный “вес”: средний японский слог кодирует 5 бит, английский — 7 бит, а вьетнамский со сложной системой тонов — все 8 бит.
    – В английском языке 6949 вариантов слога, в японском — 643. В 10 раз меньше, Карл!
    – Чем выше плотность информации, тем медленнее речь. И наоборот.
    – То есть, темп речи не влияет на информативность. Ученые измеряли как итальянцы тараторят на высокой скорости, а немцы говорят как будто замедленно. И все языки передают одинаковое количество данных в единицу времени.
    – Язык — это кодек для информации. Если общение идёт с одной плотностью вне зависимости от алгоритма кодека, то ограничение находится не в самом языке.
    – А значит нет более эффективного языка с точки зрения обмена информацией!
    – Удалось посчитать и измерить скорость обмена данными между людьми — 39.15 бит в секунду. Телеграфное общение на азбуке Морзе в два раза медленнее. Домашний интернет на 100 мегабит в секунду — это 100 000 000 бит в секунду.
    – Многие из нас ускоряют видео и аудиокниги. Мы можем слушать более быструю речь, чем говорим сами. Значит, кодирование потребляет больше ресурсов, чем декодирование.
    – Реальный ограничитель не в программном обеспечении, а в аппаратном. На какой-то скорости мы уже не успеваем обдумывать услышанное, поэтому в плеерах максимальное ускорение 200%, а не 1000%.

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

    Оригинальное исследование в журнале Science (на английском языке).

  • Как я стал ежедневно вести канал

    Как я стал ежедневно вести канал

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

    Наташа из Галеры мне написала “пора канал завести”, я и завёл. А дальше что? Мне просто хотелось писать. Появилось желание сделать формулировки чётче и доносить мысли до окружающих яснее. Было понимание, что таким образом я смогу улучшить свою речь. Но писать регулярно содержательные материалы казалось нереальным.

    Точно знаю, что мне помог челлендж Content Hero, к которому я присоединился как раз пять месяцев назад. Сейчас мы в небольшой группе принимаем участие в своеобразном литературном забеге. Каждый день нужно написать пост и публично отчитаться роботу, иначе штраф!

    Что я узнал о себе по ходу челленджа:

    • Я могу каждый день писать в канал.
    • Мне очень нравится писать — это огромное удовольствие!
    • Мне нравится придерживаться своего решения каждый день.
    • Мне есть о чём рассказать.
    • Вам интересно то, о чём я пишу.
    • Ответственность перед коллективом меня стимулирует больше, чем возможные штрафы.
    • Думал, что буду писать в канал про новое, а пока больше пишу про старое.

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

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

    Если хочется вести канал более ответственно — рекомендую присоединиться к Content Hero. Челендж не заканчивается, можно запрыгнуть в ближайший поток и попробовать писать каждый день.

  • Первый браузер

    Первый браузер

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

    В 1992 году в интернете было 26 сайтов, а браузеры были консольными и текстовыми. Национальный центр по разработке приложений для суперкомпьютеров при Университете Иллинойса получил государственный грант. В том же году его сотрудники Марк Андрисен и Эрик Бина начали разработку и в 1993 году выпустили браузер Mosaic.

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

    Некоторые фишки Мозайки:
    – Графический интерфейс с кнопками и иконками, а не консольное приложение.
    – Гипертекстовая навигация — переход по ссылкам по клику мыши.
    – Картинки сразу отображались на веб-страницах. Раньше нужно было открывать их отдельно.
    – Поддержка HTML-форм для отправки данных.
    – Закладки в браузере.
    – Поиск по странице.

    Посмотри на скриншот интерфейса — за 30 лет интерфейс браузера не так сильно изменился.

    Одна из его коммерческих версий была лицензирована компанией Microsoft и легла в основу нового браузера Internet Explorer.

    Через несколько лет основные разработчики Mosaic основали компанию Netscape. Они написали с нуля код движка и разработали на его основе браузер Netscape Navigator.
    Позже движок Netscape получил название Mozilla (Mosaic + Killer) и стал открытым. Сегодня на нём работает браузер Firefox.

    Один из основных разработчиков Mosaic ­— Марк Андрисен, до сих пор не пропадает из новостей. Он является одним из основателей венчурного фонда a16z (Андрисен-Хоровиц). Фонд инвестировал в Facebook, Github, Airbnb, Figma, Oculus, Pinterest, Roblox, Coinbase, Skype, Slack и ещё в сотни компаний.

    Как бы выглядел интернет сегодня, если бы первым стал не Mosaic?

  • Любой человек должен уметь

    Любой человек должен уметь

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

  • Лингва франка для программистов

    Лингва франка для программистов

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

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

    Программист пишет код программы и запускает компилятор. Компилятор переводит код на язык компьютера — в машинный байт-код из единиц и нулей. То есть, компьютер не является носителем английского языка, его процессор вообще не знает никакой язык.

    Значит, что язык программирования можно было бы перевести на ваш родной язык. Это сразу бы сделало освоение программирования доступным для миллиардов человек. Подкованный читатель наверняка сразу вспомнит 1С с его русскоязычным синтаксисом. Также есть десятки языков программирования на арабском, китайском, японском, фарси и санскрите. Посмотрите на этот список.

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

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

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

    Как думаете, что произойдёт быстрее: исчезнет профессия программиста или потребность изучать английский?