• Гарантированная локализация/русификация консоли Windows

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

    Далее о локализции приложений в консоли
  • Андрей Столяров выложил в свободный доступ второе издание книги «Программирование: введение в профессию»



      1 марта 2021 года автор-программист Андрей Викторович Столяров выложил в свободный доступ второе издание книги «Программирование: введение в профессию». Трехтомник можно скачать бесплатно в формате pdf (том 1 «Азы программирования», том 2 «Системы и сети», том 3 «Парадигмы»), так и купить в бумажном варианте.
      Читать дальше →
    • Последние облака. Подробно о гипотезе влажной стратосферы

        В 2004 году, на момент выхода фильма «Послезавтра», сохранялось ощущение, что подобный сюжет является фантастикой, преувеличением или просто страшилкой. Сегодня мы живем в мире, где уже превратилась в недавнюю историю филиппика Греты Тунберг, где рекордно обмелел водопад Виктория, а на Ямале зафиксирована вспышка сибирской язвы – болезнь сохранилась в трупе северного оленя, долгие годы пролежавшем в вечной мерзлоте, которая сегодня все сильнее тает. Буквально на момент подготовки этого материала читаем о беспрецедентном ослаблении Гольфстрима. Книга «Необитаемая Земля» в 2020 году стала бестселлером по версии «Нью-Йорк Таймс», и еще в 2020 году была издана на русском языке.

        Но таковы жанры фантастики и постапокалиптики, а вместе с ними — и экологический дискурс — что по-настоящему грозные последствия глобального потепления остаются в тени, поскольку не слишком зрелищны, растянуты во времени и на данный момент маловероятны. Даже более маловероятны, чем сюжет «Послезавтра» в 2004 году. Я очень удивился, насколько скудно раскрыты в Рунете и практически не раскрыты на Хабре вопросы бесконтрольного парникового эффекта и влажной стратосферы – и сегодня хочу остановиться на них.

        Читать далее
      • 10 инструментов разработчика, которые вам наверняка понадобятся

        • Перевод

        Мы разработчики и у нас хватает задач, которые нужно делать ежедневно, когда мы кодим. Вот почему нам определённо понадобятся некоторые инструменты, чтобы сделать жизнь проще и помочь повысить производительность. В Интернете есть много таких инструментов, которые имеют много преимуществ. В этой статье нет технического хардкора, но есть список некоторых полезных тулзов для разработчика, о которых вы, вероятно, не знаете. Давайте сразу к делу.
        Читать дальше →
      • Как выжить, если вы падаете со скоростью 190 км/ч с высоты 10 000 метров, и у вас в запасе есть три минуты

        • Перевод


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

        6:59:00, высота 10 000 м




        Вчера вы рано легли, а сегодня у вас был ранний рейс. Вскоре после взлёта вы засыпаете. И вдруг вы резко просыпаетесь – вокруг вас свистит холодный воздух и раздаётся шум. Ужасный и громкий. Где я? – думаете вы. Где самолёт?

        Вы на высоте 10 км. Один. И вы падаете.
        Читать дальше →
      • Защита от уязвимости Dependency Confusion в PHP с помощью Composer

        • Перевод


        Недавно Алекс Бирсан опубликовал статью «Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies», в которой рассказал, как использовал диспетчеры пакетов уровня языков наподобие npm (Javascript), pip (Python) и gems (Ruby), чтобы заставить компании установить и запустить в своей инфраструктуре зловредный код.

        Проблема сводится к тому, что компании ссылаются на внутренние пакеты по имени, например my-internal-package, а злоумышленник публикует в центральном реестре/репозитории пакетов языка (для PHP это packagist.org) пакет с таким же названием my-internal-package, имеющий более высокую версию. После этого компании устанавливали и выполняли эти зловредные пакеты вместо своих внутренних пакетов, потому что их диспетчер пакетов выбирал версию с более высоким номером из стандартного репозитория пакетов вместо внутреннего репозитория.
        Читать дальше →
        • +39
        • 3,6k
        • 7
      • UbuntuDDE: замечательный гибрид


          Привет, %username%. Вот уже на протяжении 15 лет провожу над собой забавный эксперимент. Заключается он в том, чтобы пробовать разные дистрибутивы Linux и делать однозначный вывод о возможности использования в качестве основной десктопной ОС. Времена, когда Linux был не слишком дружелюбен к обычному пользователю, давно прошли, и сейчас установить его не представляет труда.

          Одним из первых дистрибутивов, с которым я познакомился и с которого начался мой путь в Linux, была ОС Ubuntu 6.06 LTS. Скачивание образов было непомерно дорогой роскошью, так что я отправил запрос в Canonical, оставил домашний адрес и спустя месяц получил вожделенный набор дисков (Ubuntu / Kubuntu / Edubuntu). Не могу сказать, что был в восторге от ОС, но тем не менее это был интересный опыт.
          Читать дальше →
        • PortablePy: компьютер-раскладушка для MicroPython

          • Перевод
          Признаю: мне очень нравится та невероятная скорость, с которой загружаются домашние компьютеры 1980-х годов. Я какое-то время пытался оптимизировать время загрузки Raspberry Pi, но особенно далеко в этом деле не продвинулся. Я, кроме того, большой поклонник специализированных устройств, в которых аппаратное обеспечение используется для решения какой-то одной задачи. Такие системы тоже работают очень быстро. MicroPython — это очень интересная разработка, попадающая в сферу моих интересов. Это, с одной стороны — «язык высокого уровня», а с другой — программный комплекс, который без особых сложностей работает на весьма скромных аппаратных ресурсах.


          Читать дальше →
        • ГМО-люди – будущее биотехнологий уже здесь


            Интересно, чем закончатся наши исследования

            Кажется, прошлая тема про ГМО-лосося весьма неплохо зашла Хабрачитателям. Пока мы готовим материал по модификации растений, я предлагаю посмотреть не менее интересную тему — генная модификация Homo Sapiens. Это очень спорная и холиварная тема, игнорировать которую бесполезно.

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

            1. Мы вырождаемся. Каждый год выживают все более слабые особи, которые рожают детей и отягощают генофонд. Это надо чинить.
            2. Простые запреты не помогут. Если эксперименты запретят в Европе, то их выполнит, например, Китай.
            3. На лечении генетических заболеваний мы не остановимся. Рано или поздно подключатся военные со своими суперсолдатами и те, кто хочет более сильных и умных детей с голубыми глазами.

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

            • Tutorial

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

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

            Читать далее
          • Элементарные шифры на понятном языке

            Привет, Хабр!

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

            Прежде всего, разберемся в терминологии.

            Шифрование – это такое преобразование исходного сообщения, которое не позволит всяким нехорошим людям прочитать данные, если они это сообщение перехватят. Делается это преобразование по специальным математическим и логическим алгоритмам, некоторые из которых мы рассмотрим ниже.

            Исходное сообщение – это, собственно, то, что мы хотим зашифровать. Классический пример — текст.

            Шифрованное сообщение – это сообщение, прошедшее процесс шифрования.

            Шифр — это сам алгоритм, по которому мы преобразовываем сообщение.

            Ключ — это компонент, на основе которого можно произвести шифрование или дешифрование.

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

            Теперь, когда мы говорим на более-менее одном языке, разберем простые шифры.
            Читать дальше →
            • +25
            • 99,8k
            • 5
          • Китайцы создали сразу две альтернативы Flash, потому что не могут отказаться от технологии Adobe


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

              В общем, китайцы нашли оригинальное решение — решили сделать свой Flash. И даже не одну технологию, а сразу две. Так, разработчики дистрибутива UOS создали альтернативу с названием ReFla, у которой, по их словам, все хорошо с безопасностью и стабильностью работы. А партнер Adobe в Китае выпустил оригинальный Flash Player, доработав его в плане безопасности.
              Читать дальше →
            • NodeGUI

              • Tutorial
              NodeGUI — фреймворк, который позволяет писать нативные кроссплатформенные десктопные приложения. Под капотом он использует Qt для отрисовки интерфейса.

              Есть возможность подключить React или Vue.

              Также существует имплементация с Angular от irustm.

              Эта статья будет опираться именно на версию с React.

              Запуск и настройка


              Сначала необходимо установить cmake.
              Склонируем готовый шаблон от разработчиков и запустим его.

              npm install
              npm run dev
              npm start

              Чтобы приложение пересобиралось каждый раз, как в код вносятся изменения, к компоненту app подключается hot reload.

              if (module.hot) {
               module.hot.accept(['./app'], function () {
                 Renderer.forceUpdate();
               });
              }

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

              К тому же, указанный компонент обязательно должен быть классовым (только app, любые его дочерние компоненты могут быть функциональными).
              Читать дальше →
            • Куда идти за иммунитетом?

                Начну с того, что я не антипрививочник ни разу, скорее наоборот. Но вакцина вакцине рознь, особенно сейчас и от известного вируса. Итак, что же мы имеем на сегодня? 

                Гамалеевский Спутник V. Нашумевшая и очень современная вакцина, впереди только генная терапия в чистом виде. Неудивительно, что именно сюда вложили столько сил, времени и средствОна же пока еще единственно возможная в нашей стране. Ее очевидные плюсы: максимальный иммунный ответ (помимо антител имеем клеточный иммунитет) при минимальных побочных эффектах. Но есть нюанс, про который почему-то если и говорят, то очень-очень мало и конечно же не в СМИ, а в специализированных медицинских пабликах. Сейчас объясню, о чем речь.

                Данная вакцина представляет собой генетически модифицированный аденовирус, вернее два обезвреженных аденовируса (5-го и 26-го серотипов), которые вводятся в организм с промежутком в 3 недели. В геном каждого встроен ген спайк-белка ("шипа") коронавируса. По сути, это «машины», задачами которых является доставка важного «пассажира» по назначению. А дальше все идёт так, как заложено природой: аденовирус доставляет ген коронавируса в клетки, распаковывается там и начинает производить белки как «пассажира», так и свои. Кусочки этих белков выставляет заражённая клетка, обучая тем самым т-лимфоциты. После разрушения «клетки-фабрики», вирусные белки (именно белки, а не готовые заражать новые клетки вирионы, как при болезни) попадают в кровь, тем самым стимулируя производство антител. Заболеть невозможно, иммунитет формируется, и вроде бы все здорово. Но побочным эффектом этой вакцины является развитие иммунного ответа на сами аденовирусные компоненты вектора. В результате повторного введения, «машина с пассажиром» просто не успеет доехать до клетки, а будет сразу уничтожена антителами, которые образуются в результате предыдущего «знакомства». Получается, что Спутник V можно использовать только один раз. И это чревато даже не столько тем, что вакциной больше нельзя будет воспользоваться по назначению - напряженность иммунитета к коронавирусу все равно никому не известна, а случаи повторных заражений вроде бы есть, но малоПугает пожизненное ограничение на любую потенциально возможную аденовекторную генную терапию, в том числе и на лечение онкологии, которая может понадобиться в будущем. Все это сейчас активно развивается, а после такого «масштабного тестирования», дело пойдёт ещё быстрее. Но опять же, терапия эта может пригодиться, а может быть и нет, а иммунитет к вирусу нужен уже сегодня. Поэтому, здесь каждый выбирает для себя, что ему важнее. Вакцина получилась вполне нормальная, для пожилых - самое то. А вот на месте молодых (у них ведь есть все шансы в будущем  воспользоваться генной терапией), я бы призадумалась.

                Слышала про разработку версии «Спутник-Лайт», для тех, кто бережёт (фигуру) иммунитет. Это будет однокомпонентная вакцина, сделаная на основании только одного серотипа. Этот вариант приятнее, но его выпуск планируется не раньше декабря 2021 года. 

                Читать далее
              • Tucows Downloads: история, причины закрытия и новая жизнь от Internet Archive софта



                  Уходит в небытие целая эпоха. Закрыт навсегда портал-дистрибьютор ПО — Tucows Downloads, запущенный 28 лет назад. Портал был старше поисковиков Google и Яндекс на 4 и 5 лет, соответственно. Но настало и его время уходить на пенсию.

                  Портал представляет собой файлохранище, где в свободном доступе были выложены десятки тысяч бесплатных и условно-бесплатных приложений под Windows, Linux и macOS. В большинстве случаев программы загружались разработчиками. На площадке не приветствовалось распространение пиратского и взломанного ПО. Теперь же портал закрыт, но, к счастью, его наследие осталось с нами. В статье рассказываем краткую историю сайта и раскрываем причины закрытия.
                  Читать дальше →
                  • +19
                  • 3,6k
                  • 6
                • DagazServer: Встречайте Garbo Chess

                    Кто мне сказал, — «не получится»?
                    Если мне хочется, сбудется!

                    Земфира

                    Плюнь тому в глаза, кто скажет,
                    что можно объять необъятное!

                    Козьма Прутков "Плоды раздумья"


                    Новогодние праздники вновь навалились внезапно. Такое обилие свободного времени было просто необходимо разбавить какой-то осмысленной деятельностью и я решил приделать к своему серверу бота для игры в Шахматы. Готовых шахматных движков существует множество. Я решил остановиться на Garbochess-JS — простой и понятной реализации, на языке JavaScript, названной в честь знаменитой актрисы Греты Гарбо (вы можете видеть её на фотографии).
                    О том, что из этого вышло, читайте далее...
                    • +18
                    • 1,2k
                    • 5
                  • Двоичные и побитовые операции в PHP

                    • Перевод

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

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

                    А теперь к делу! В этой статье я расскажу много интересного о побитовых операциях, двоичной и шестнадцатеричной обработке, которые будут полезны в ЛЮБОМ языке.
                    Читать дальше →
                  • У Google появился новый креативный способ убивать SaaS-стартапы

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



                    Клянусь, я прочитал FAQ!
                    Читать дальше →
                  • Job — шаблон проектирования для новичков и опытных Go программистов

                    Я начал программировать на Go после достаточно продолжительного периода программирования на PHP. Полагаю судя по последним тенденциям, мой случай далеко не единичный. Go в целом набирает популярность среди Web разработчиков.

                    Читать далее
                  • Как измерили расстояние до Солнца



                      Сегодня, когда астрономию вернули в школьную программу, любой старшеклассник (ну, в теории, любой) должен знать: расстояние от нашей планеты до Солнца составляет примерно 149,5 млн километров. Это расстояние еще принято называть астрономической единицей.
                      Но, понятно, что этот ответ как-то надо было получить и астрономам потребовалось на это несколько шагов, растянувшихся не одно тысячелетие. Ниже — о каждом шаге подробнее.
                      Читать дальше →