• Свой криптографический протокол — опасная идея


      Разработка своей криптографии в чём-то сравнима с созданием собственного авиадвигателя, говорит эксперт по безопасности Руна Сандвик. Фото: Виталий Кузьмин

      Предположим, заказчик требует разработать собственный сетевой протокол. Например, для передачи данных между сервером и мобильным приложением, для связи между микросервисами, модулями программной системы, поверх UDP или поверх TCP. С шифрованием.

      Казалось бы, почему не использовать открытые стандарты типа WebSocket и JSON, зачем собственный закрытый протокол? На это обычно приводят ряд причин. Во-первых, для безопасности, чтобы его было сложнее отреверсить и никто не понял, какие данные вы передаёте. Во-вторых, для эффективности. У нас ведь уникальный случай использования, поэтому стандартные решения — не самые оптимальные. Наш собственный протокол будет работать с меньшими задержками, потреблять меньше трафика и меньше расходовать батарею (на мобильных устройствах). И третья причина — функции. В своём протоколе специально для нашего приложения мы реализуем уникальные возможности, каких нет ни в открытом стандарте, ни у конкурентов.

      Это распространённые причины, из-за которых разрабатывают проприетарные протоколы.
      Читать дальше →
      • +17
      • 2,1k
      • 2
    • Каждый браузер видит цвета видео по-разному

      • Перевод

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

      В преобразовании значения RGB-триплета в конкретную длину волны света задействовано множество систем. Это преобразование должно быть стандартизовано, чтобы всё ПО, все декодеры видео, видеокарты и мониторы (даже изготовленные разными производителями в разные десятилетия) могли создавать одинаковые результаты по одинаковым входным данным. Для решения этой задачи были разработаны цветовые стандарты. Однако со временем дисплеи и другие технологии развивались. Телевидение стало цифровым, начали применять сжатие, а мы отказались от ЭЛТ в пользу LCD и OLED. Новое оборудование было способно отображать больше цветов при большей яркости, но получаемые им сигналы по-прежнему были адаптированы под возможности старых дисплеев.
      Читать дальше →
      • +23
      • 2,4k
      • 1
    • Безуспешная попытка монетизации моего проекта в open source

      • Перевод


      Время от времени я пишу ПО в open source. У меня есть довольно популярный сейчас проект под названием faker.js. Я работаю над Faker уже больше десятка лет. Он имеет лицензию MIT.

      В этом посте я расскажу о своей попытке монетизации проекта Faker при помощи облачного сервиса. Постепенно мы дойдём до инженеров из стартапа ценой 75 миллионов долларов, основанному Sequoia Capital. Джон и Патрик Коллисоны зарегистрировались в моём облачном сервисе, протестировали его, скопировали концепцию, вставили ссылку на CDN моего бизнеса, а теперь CEO компании Дэвид Сюй не отвечает на мои письма. В целом это будет увлекательное и информативное чтиво.
      Читать дальше →
    • WebUSB. Прошейся из браузера



        Разработчики хромиума постоянно пилят огромное количество классных API для разных технологий и железяк. Тут и Web Share, и работа со звуком, Bluetooth, NFC, WebOTP и много чего ещё, более-менее полный список со статусами реализации можно посмотреть здесь. Но больше всего среди них впечатляет WebUSB API, о настоящих возможностях которого я узнал совсем недавно. Оказывается, с его помощью можно не только открывать странички с подключенных устройств, но и прошивать их. Это открывает новый крутейший сценарий работы со всякой мелкой электроникой.
        Читать дальше →
      • Почему современные 50-миллиметровые объективы настолько сложно устроены?

        • Перевод

        Объективы наподобие Nikon Z 50mm F1.2 S больше, тяжелее, дороже и сложнее, чем старые объективы F1.2. Но почему?

        Для начала немного истории оптики


        В те времена, когда корабли строили из дерева, у людей уже были надёжные оптические инструменты. Одним из таких инструментов являлся объектив с постоянным фокусным расстоянием, изготовленный по схеме «двойной объектив Гаусса». До начала двадцатого века проектировщики объективов уже создали пять из шести типов объективов, ставших основой для тех, которые мы используем сегодня. (Ретрофокусный объектив появился в 1920-х, а зум-объективы, если вам любопытно, по сути, являются модифицированными триплетами Кука.)

        С конца 19-го века двойной объектив Гаусса был основной конструкцией объективов с постоянным фокусным расстоянием и большой светосилой. В течение многих лет конструкторы добавляли новые группы для получения большего количества света, коррекции аберраций и совершенствования объективов в целом. Но вплоть до современности фундаментом для объективов с постоянным фокусным расстоянием оставался «двойной Гаусс». Вспомните любой известный объектив с постоянным фокусным расстоянием, и он скорее всего будет изготовлен по схеме «двойного Гаусса»: Speed Panchro, Planar, Xenon, Summicron, Takumar, Ultron, и так далее.
        Читать дальше →
      • Как один человек борется за право ремонта макбуков

        • Перевод

        Луис Россман не хотел продолжать платить по паре сотен долларов в час терапевту, задающему вопросы о компьютерах. Поэтому в 2012 году этот инженер по ремонту начал выступать на YouTube. «Этот канал не предназначался для того, чтобы его смотрели другие люди», — рассказывает Россман. Но сегодня, когда на его YouTube-канал подписалось более 1,5 миллиона человек (это число пугает даже самого Россмана), он больше не «обычный человек, ноющий на камеру ради психотерапии». Он стал крупной фигурой движения за право на ремонт.

        Право на ремонт — это концепция, позволяющая владельцу сломанного телефона, автомобиля или компьютера иметь возможность починить их без обращения к производителю или продавцу. Защитники права на ремонт утверждают, что компании наподобие Apple имеют финансовую мотивацию создавать из ремонта монополии, направляя покупателей в свои ремонтные центры, когда у устройств возникают проблемы. Они заявляют, что таким образом компании могут завышать цены на ремонт или отказываться от него, чтобы убедить потребителя купить новое устройство.
        Читать дальше →
      • RET-моторы антенн сотовой связи. Оптимизация в радость


          Одна из важнейших задач инженера по планированию сотовой связи является оптимизация существующей сети для увеличения пропускной способности и улучшения качества обслуживания. Это включает, в первую очередь, борьбу с шумом и помехами снижающими пропускную способность на секторных антеннах. Если работа приёмопередатчика в норме, КСВ в антенно-фидерном тракте не превышает допустимого значения, отсутствует пассивная интермодуляция, а шумы и помехи не исчезают, то может помочь смена электрического угла наклона антенны. А так как подобрать сразу нужное оптимальное значение угла наклона не всегда удаётся, приходится выставлять разные значения и на основе KPI и сбора статистики основных параметров радиосигнала, искать «правильное» значение. Это требует времени, да и к тому же регулярно отправлять специалиста на базовую станцию для смены угла довольно затратно. Это можно сделать и удалённо, если на антеннах установлены RET — Remote Electrical Tilt.
          Читать дальше →
          • +28
          • 5,9k
          • 5
        • А всё не так банально! Опыт использования дрона и к чему это привело

            image

            Приветствую, хабровчане!
            Это повествование будет продолжением моей статьи, которую я писал ещё в ноябре 2020 года.
            Тогда, купив дрон, я делился своими свежими впечатлениями и первыми шагами.
            Сейчас же, прошёл почти год, и у меня накопилось много полезных знаний и умений. Очень хочу с вами поделиться. Тем, кто в теме – будет интересно!
            Читать дальше →
          • Функции: эта ошибка дороже, чем «null»

            • Перевод
            Каждый день мы используем шаблон программирования, из-за которого без всякой необходимости повышается стоимость создания и поддержки ПО. Он приводит к бесчисленным багам и уязвимостям в безопасности. Он требует постоянного рефакторинга. Его сложно тестировать, утомительно документировать, а его гибкость превращает каждую реализацию в уникальную снежинку, что приводит к бесконечному дублированию кода.

            Имя этому шаблону — функция.

            Если конкретнее, то это интерфейс, который обычно является набором функций.


            Какие из языков вы узнали?

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

            Почему?
            Читать дальше →
          • Самая серьёзная проблема HTML? Разработчики, разработчики, разработчики

            • Перевод
            image

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

            Увы, на практике мы видим, что в этом отношении сами разработчики могут быть своими худшими врагами. Они выбирают ужасные «фреймворки», заставляющие их трудиться больше, а не продуманней, или намеренно бравируют своим незнанием фундаментальных основ и копируют чужой код в надежде, что он выполнит нужную задачу.

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

            Если в двух словах, разработчики воспринимают HTML недостаточно серьёзно, но что произойдёт, если вы укажете им на их слабость? В ответ мы дождёмся только бесконечный поток бессмысленных оправданий того, почему их нельзя отвлекать на его правильную реализацию!
            Читать дальше →
          • Трюки в консоли. Крутые однострочники



              Много говорилось об удовольствии, которое испытываешь при работе в консоли. Это не случайно: так задумано отцами-основателями Unix. Возникает странное ощущение, что это самый правильный способ взаимодействия с компьютером.

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

              В чём же дело?
              Читать дальше →
            • Как ИТ перестали быть скучными

              • Перевод


              Невысокого роста, седые волосы, усы, склонность к облысению, клетчатая рубашка с короткими рукавами. В его офисе (без окон) стоит книга O’Reilly про XSLT с цаплей на обложке. Пусть его зовут Гордон (мужчину в клетчатой рубашке, не цаплю).

              Некоторые факты о Гордоне:

              1. Он любит, чтобы в файлах VBScript были комментарии. А если вы не оставляете комментарии в нужном формате, скрипт будет удалён.
              2. Нельзя писать код, пока вы не знаете о принципах работы сетей. И пакетах установщика Microsoft. И Configuration Manager. Он начнёт с обучения вас Windows NT 4.0, несмотря на то, что её выпустили в 1996 году.
              3. Или делай, как он тебе сказал, или убирайся. «Сисадмин дал, сисадмин взял». У него есть такой магнитик на холодильнике. Вы можете класть свой обед в холодильник, но после трёх часов дня пятницы его обязательно выкинут. Он обращается с холодильником точно так же, как и с папками temp на своих серверах.
              4. Вам не дадут прав администратора на вашем компьютере.

              Читать дальше →
            • Программные зонды Elecard Boro – Мониторинг IPTV



                Boro реализует мониторинг и контроль качества потоков прямых трансляций (IPTV). Проект разработан компанией Elecard, основанной в России. Среди их клиентов и партнёров такие корпорации, как Intel Corporation, Netflix, Huawei, Cisco Systems, Samsung и многие другие. В этой статье будут рассмотрены главные особенности проекта и описан механизм его работы.
                Читать дальше →
              • Когда уходят на покой программисты? 35 — это конец карьеры?

                • Перевод
                image

                Почему мы не наблюдаем вокруг большого количества седоволосых разработчиков ПО? Куда деваются все программисты, когда становятся старше? Увольняют ли компании программистов в возрасте?

                Если программист в свои пятьдесят собеседуется на вакансию вместе с людьми, которым 20-30 лет, сколько компаний наймёт его? Об этой проблеме существует множество мифов, как и несколько жестоких истин.

                Да, иногда шокирует, что 40-летних, иногда даже 35-летних называют «старыми». Под «старыми» здесь подразумевается то, что программисты на этом этапе планируют уходить на покой или менять место работы.
                Читать дальше →
              • Превращаем одноплатник Cubietruck в Wi-Fi Hotspot с Captive portal, VPN-шлюзом и Ad block

                • Tutorial
                raspap

                Для построения Wi-Fi сети обычно используют готовые маршрутизаторы, функциональность которых всегда ограничен прошивкой. А если необходимо добавить блокировщик рекламы, VPN шлюз и красивый Captive portal, покупать новую железку? Стоимость устройства с такими возможностями будет уже весьма высока. Можно взять Linux с Hostapd и сделать точку доступа с Wi-Fi, но в отличие от готовых маршрутизаторов не будет наглядного Web-интерфейса. И для решения этой задачи был создан проект RaspAP, который на базе устройств с ОС Debian создает Wi-Fi Hotspot с Captive portal, VPN-шлюзом, Ad block. Для RaspAP в отличие от OpenWrt не требуется непосредственная поддержка устройства, достаточно поддержки последней версии Debian. RaspAP работает поверх уже установленных ОС: Raspberry Pi OS, Armbian, Debian, Ubuntu. Как сделать Wi-Fi Hotspot на RaspAP прошу под кат.
                Читать дальше →
              • Apple превращается в ещё одну Microsoft

                • Перевод
                image

                Фанаты Apple продолжают рассуждать о том, что может стать новым прорывным продуктом компании. Что-то сравнимое с первым Mac, первым iPod, первым iPhone — революционный продукт, который изменит отрасль и даст Apple мощный толчок вперёд. В конце концов, именно так Apple всегда вела эту игру. Именно таким мы привыкли видеть успех Apple.

                Но я думаю, что дальше эта игра будет продолжаться иначе. Произойдёт нечто совершенно другое. Но чтобы понять, какой будет Apple будущего, нам нужно понять Apple прошлого и почему это прошлое не повлияет на будущее.
                Читать дальше →
              • Пиринговые мессенджеры — враг государства?



                  В случае полного отключения интернета одна из главных проблем — общение с товарищами и родственниками. Опыт Гонконга показывает, что для этого хорошо подходят децентрализованные P2P-мессенджеры, которые работают без интернета, используя mesh-сеть по протоколам Wi-Fi Direct, Bluetooth, Apple Multipeer Connectivity Framework, ANT+, LoRa и др.

                  Для эффективной коммуникации приложение нужно скачать максимальному количеству человек до начала блокады интернета. Иначе придётся искать файлы после блокады. Человек с нужными файлами станет настоящим авторитетом в офисе или в классе (как это было в Беларуси в августе 2020 года — за файлами Psiphon люди реально приезжали из других микрорайонов города).

                  Вообще, вся история сетей wireless mesh намекает на то, что эта технология крайне не нравится правоохранительным органам.
                  Читать дальше →
                • Почему вся реклама сегодня выглядит одинаково?

                  • Перевод


                  Стиль иллюстрации: плоский, с геометрическими формами, фигуральный, обычно составленный из однотонных цветов. Безликие фигуры разбросаны по железнодорожным станциям и автобусным остановкам, от финтех-компании MoneyFarm и Trainline до сервиса доставки «Виагры» GetEddie. Даже собственный брэндинг Transport for London, завоевавший себе особое место в истории модернистского графического дизайна, начинает перенимать этот стиль.
                  Читать дальше →
                • Не ищите лучших; нанимайте людей, исходя из слабых сторон команды

                  • Перевод


                  Поиск сотрудников надо начинать не с вопроса «как нам нанять самого лучшего?», а с вопроса «какие у нас есть слабые стороны?».

                  Зачем вы нанимаете людей? Вы нанимаете, чтобы больше делать или достигать?

                  Спроектируйте процесс найма так, чтобы подбирать людей, усиливающих слабые стороны команды, а не искать лучших.

                  Думайте не о том, «как нанять самых умных?», а о том, «как найти людей, способных сделать команду сильнее?».
                  Читать дальше →
                  • +31
                  • 16,1k
                  • 8
                • Робозвери 90-х


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

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

                  Самое читаемое