• На пути к теории струн

      Эта статья является второй частью конспекта книги «Скрытая реальность: Параллельные миры и глубинные законы Космоса».

      Современная космология, от Большого взрыва до инфляции, ведет свое начало из общей теории относительности Эйнштейна. В новой теории гравитации Эйнштейн отбросил общепринятое представление о жестком и неизменном пространстве и времени; перед наукой предстал динамический космос. С накопленным к 1920-м годам математическим арсеналом и геометрической интуицией он приступил к развитию единой теории поля.

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

      Читать далее
    • Пишем драйвер фреймбуфера для Raspberry Pi с LCD

      • Tutorial

      Прочитав монументальную серию статей о подключении LCD экрана к роутеру мне захотелось сделать то же самое. Однако многообразие используемого стека (openwrt, stm32, usb) в сочетании с отсутствием полных исходников кода но может плохо искал несколько затруднило задачу. Я решил начать с малого — написать свою реализацию framebuffer для raspberry и вывести графическую среду raspberry на LCD. Что из этого получилось, описываю далее.

      Читать дальше →
      • +39
      • 6.6k
      • 5
    • Взлом Wi-Fi-сетей, защищённых WPA и WPA2

      • Translation
      Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2.


      Статья написана исключительно в ознакомительных целях

      Читать дальше →
    • Улучшаем архитектуру: Инверсия и внедрение зависимостей, наследование и композиция

        Всем привет. Очень часто, работая со старым (а иногда и не очень) кодом, или пытаясь применить какую-то библиотеку, сталкиваешься с ограничениями в применении. Зачастую проблемы бы не было, будь код архитектурно грамотен. Есть множество архитектурных правил и паттернов, которые в конечном счете облегчают расширение кода, рефакторинг и переиспользование. В статье хочу затронуть некоторые из них в примерах.

        Читать далее
        • +12
        • 4.2k
        • 4
      • Запасной вариант для Let's Encrypt — бесплатные автоматические УЦ

          Для многих Let's Encrypt стал неотъемлемой частью веб-разработки, а автоматическое обновление сертификата каждые 90 дней — рутинной процедурой. Фактически, сейчас это самый популярный удостоверяющий центр в интернете. Это великолепно, но и опасно.

          Возникает вопрос: а что, если серверы Let's Encrypt временно перестанут работать? Не хочется думать о возможных причинах сбоя. Но желательно предусмотреть запасной вариант. То есть такой же удобный автоматизированный центр бесплатной сертификации.

          К счастью, запасные варианты есть. Как минимум два. Такие же бесплатные автоматизированные УЦ, созданные по образцу Let's Encrypt.
          Читать дальше →
        • Апгрейд отладочной платы с процессором Baikal-T1: добавляем SD-карту

          • Tutorial
          С апреля прошлого года в открытой продаже доступны отладочные платы BFK3.1 c процессором Baikal-T1 на борту. Всё бы хорошо, но у этой отладки нет штатной возможности подключать SD-карту.

          Нам потребуется 30 минут времени, паяльник, и внешний модуль Catalex-Micro-SD-Card-Module стоимостью 5 штук за 300 рублей — и вопрос снят.

          Вот пошаговое руководство, как добавить SD-кард ридер на BFK3.1. Всё описываемое опробовано на практике. Использовался самый свежий на данный момент SDK 4.16, размещенный на официальном сайте «Байкала». В SDK версии 4.14 и младше это работать не будет.
          Читать дальше →
          • +24
          • 6.3k
          • 3
        • Работа с SD-картой по интерфейсу SPI. Реализация на VHDL

            Привет, Habr! Однажды на работе мне досталась задача оценить возможность реализации хранения данных на SD-карте при подключении ее к FPGA. В качестве интерфейса взаимодействия предполагалось использование SPI, так как он проще в реализации. Полученным опытом хотелось бы поделиться.


            Читать дальше →
          • Разработка приложения с использованием Python и OpenCV на Android устройстве

            • Tutorial


            В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительности Termux на моем Android устройстве и Raspberry Pi 3B.

            Все действия описанные статье выполнялись на:
            Huawei MediaPad M5 10.8
            4GB ОЗУ, Hisilicon Kirin 960s, EMUI 9, без root
            Читать дальше →
          • Hyper-V для разработчиков под Windows 10

            • Translation
            Hyper-V более известен как технология виртуализации серверов; однако, начиная с Windows 8, он также доступен в клиентской операционной системе. В Windows 10 мы значительно улучшили работу, сделав Hyper-V отличным решением для разработчиков и ИТ-специалистов.
             
            Microsoft Hyper-V, кодовое название Viridian, — это нативный (тип 1) гипервизор, который, в отличие от VMware Workstation, VirtualBox и других гипервизоров типа 2, работает непосредственно на оборудовании. Впервые он был выпущен в Windows Server 2008 и позволяет запускать виртуальные машины в системах x86-64.

            Hyper-V позволяет разработчикам быстро разгонять виртуальные машины для разработки на Windows 10 с превосходной производительностью, но он также используется в нескольких других функциях разработки в качестве серверной технологии, например, в таких как эмулятор Android, подсистема Windows для Linux 2 (WSL2) или контейнеры Docker. В этой статье мы кратко рассмотрим, как Hyper-V в Windows 10 может помочь разработчикам.
            Читать дальше →
          • 5 причин использовать Linux в 2020 году

            • Translation


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

            2020 год, как на него не взгляни, был странным, но для Linux он оказался продолжением обычного цикла разработки. В этой статье мы вспомним этот год и вкратце расскажем о том, что нужно знать о Linux в 2020 году.
            Читать дальше →
          • Управляем сетевыми подключениями в Linux с помощью консольной утилиты nmcli

            • Translation
            • Tutorial
            Используйте все возможности инструмента управления сетевыми подключениями NetworkManager в командной строке Linux c помощью утилиты nmcli.



            Утилита nmcli напрямую обращается к API для доступа к функциям NetworkManager.

            Она появилась в 2010 году и для многих стала альтернативным способом настройки сетевых интерфейсов и соединений. Хотя кто-то до сих пор использует ifconfig. Так как nmcli — это инструмент интерфейса командной строки (CLI), предназначенный для использования в окнах терминалов и скриптах, он идеально подходит для системных администраторов, работающих без GUI.
            Читать дальше →
          • Программирование SPI Flash с помощью Arduino и SD-карты

            Предыстория


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

            • материнская плата — ASRock B75 Pro 3
            • процессор — Intel Core i5-3570
            • блок питания — Corsair CX750M

            После включения системник начал издавать пять противных писков, что вроде как соответствует неисправности процессора. Процессор, судя по Яндекс.Маркету, на данный момент стоит от 11000 руб. Покупать довольно накладно, а недорогой, но слабенький не хочется. В общем, немного испугался…

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

            В первую очередь подключил другой старенький БП — комп не запускается.

            Для дальнейших проверок принес домой автомобильный комп. Состав:

            • материнская плата — ASRock B75M-ITX
            • процессор — Intel Pentium G640T

            Как хорошо, что компоненты оказались взаимозаменяемыми.

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

            Далее домашний процессор вставил в автомобильный комп — комп заработал. Следовательно, процессор живой, а проблема в материнке. Начал грешить на BIOS (Winbond 25Q64BVAIG).
            Читать дальше →
          • Я станцевал бы для тебя Menuet

              История удивительной операционной системы MenuetOS




              Идея разработки миниатюрной ОС с оконным графическим интерфейсом, построенной по принципу «вся система на одной дискете», появилась, наверное, одновременно с этими самыми дискетами. Попытки запихнуть компактную операционнку c GUI на съемные носители предпринимались и в девяностые, и в двухтысячные. Одной из таких попыток, со временем превратившихся в серьезный проект, который дожил до наших дней, стала созданная фактически на голом энтузиазме MenuetOS. Эта система отличается от других подобных «стартапов» и замыслом, и используемыми технологиями, и архитектурой.
              Читать дальше →
            • Смартфон как системный блок, почему нет?


                Linux Deploy от Антона Скшидлевского aka meefik

                Современные смартфоны по CPU и объёму оперативной памяти практически сравнялись с настольными компьютерами и ноутбуками: не редкость 8 ГБ оперативной памяти и флэш-накопитель на 512 гигабайт. Например, в последнем айфоне 6-ядерный CPU и 4-ядерный графический процессор, причём CPU сделан по 5-нанометровому техпроцессу. Сейчас ни один CPU для настольных компьютеров не производится по такой технологии. То есть мы дошли до того, что технический прогресс сначала обслуживает смартфоны, потом ноутбуки, а до настольных компьютеров доходит в последнюю очередь.

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

                Всё-таки удобнее вводить команды в Linux-консоли с клавиатуры, а не прицеливаться пальцами по экрану.
                Читать дальше →
              • Уязвимости в реализации межпроцессного взаимодействия в Android-приложениях

                  Последние 6 лет я работаю экспертом по информационной безопасности в Одноклассниках и отвечаю за безопасность приложений.


                  Мой доклад сегодня — о механизмах межпроцессного взаимодействия в Android и уязвимостях, связанных с их неверным использованием.



                  Но сначала пара слов о том, как появился этот доклад.


                  Наверное, вы уже заметили, что на каждом Heisenbug есть как минимум один доклад про безопасность, например про XSS или поиск уязвимостей в веб-приложениях. Тема мобильной безопасности осталась не охвачена, хотя мы живем в 2020 году, и аудитория мобильных приложений уже давно превысила аудиторию веба. Мне хотелось выбрать тему из мира мобильной безопасности — достаточно конкретную, чтобы выдержать формат технического доклада, но при этом достаточно распространенную.

                  Читать дальше →
                  • +26
                  • 3.9k
                  • 2
                • Дерево синтаксиса и альтернатива LINQ при взаимодействии с базами данных SQL

                  • Translation


                  В этой статье, на примере простых логических выражений, будет показано, что такое абстрактное синтаксическое дерево и что с ним можно делать. Так же будет рассмотрена альтернатива выражениям LINQ для выполнения запросов к SQL базам данных.

                  Читать дальше →
                • NVMe против UFS 3.1: Битва типов памяти в смартфонах. Разбор

                    iPhone быстрые? Да! Но почему?

                    Apple мало что рассказывает нам про внутренности своих девайсов. Как будто скрывает от нас страшную тайну!

                    Например, знали ли вы что в iPhone и в Android используется совершенно разный тип флеш-памяти? NVMe в iPhone и UFS в Android.


                    Может в этом секрет скорости девайсов Apple? Сегодня разберемся в том, как устроена флеш-память. Узнаем, чем отличаются стандарты памяти? И главное — сравним, кто всё-таки быстрее Android или iPhone! Такой информации больше нигде не найдете. Так что, читайте и смотрите до конца!
                    Читать дальше →
                  • Внедрение зависимостей – проще, чем кажется?

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

                      У нас готовится к выходу второе издание легендарной книги Марка Симана, «Внедрение зависимостей в .NET»



                      Поэтому сегодня мы решили кратко освежить тему внедрения зависимостей для специалистов по .NET и C# и предлагаем перевод статьи Грэма Даунса, где эта парадигма рассматривается в контексте инверсии управления (IoC) и использования контейнеров.
                      Читать дальше →
                    • Что такое память типа LPDDR5? — Разбор

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

                        Это весной президент Xiaomi Group провел опрос в социальной сети Weibo, в котором спросил у фанатов: сколько оперативной памяти они бы хотели видеть в новом флагмане Redmi: 8 или 12 ГБ при одинаковой цене. И как вы думаете за какой вариант проголосовали фанаты? За 8 Гб. Но почему? Дело в том, что Xiaomi предлагали выбор 12ГБ стандарта LPDDR4x, и 8 ГБ стандарта LPDDR5. Но что такого нового в этом LPDDR5, чтобы идти на такие жертвы?


                        Сегодня мы разберемся в стандартах оперативной памяти. Выясним, чем отличается LPDDR от DDR. Узнаем как новая оперативка влияет на автономность устройств, помогает развитию 5G и спасает жизни водителей!
                        Читать дальше →