• Как ускорить игру «Жизнь» в сто раз

      image

      Сложно найти человека, не знакомого с игрой "Жизнь", придуманной английским математиком Джоном Конвеем еще в 1970 году, и до сих пор не теряющей своей популярности. Многие программисты писали свою реализацию этой игры, и еще одна вряд ли кого-то удивит. Однако эта игра является отличным примером, показывающим, насколько полезной может оказаться оптимизация вычислений, даже не меняющая асимтотическую сложность алгоритма. Мы начнем с простейшей реализации на c# и будем последовательно применять различные оптимизации, ускоряя работу программы.

      Мы также улучшим алгоритм на JavaScript, ускорив его в 10 раз по сравнению с неоптимизированной версией.

      В конце статьи дана ссылка на код, а также на online-реализацию игры с оптимизированным алгоритмом на JavaScript, выполняющим до двухсот итераций в секунду на поле размера 1920x1080 (Full HD), где вы можете убить время поиграть в эту замечательную игру.
      Читать дальше →
    • Производительность Raspberry Pi: добавляем ZRAM и изменяем параметры ядра

      • Перевод
      Пару недель назад я опубликовал обзор Pinebook Pro. Поскольку Raspberry Pi 4 тоже основана на ARM, то для неё вполне подходят некоторые из оптимизаций, упомянутых в предыдущей статье. Хотел бы поделиться этими хитростями и узнать, проявятся ли у вас такие же улучшения в производительности.

      После установки Raspberry Pi в свою домашнюю серверную я заметил, что в моменты дефицита оперативной памяти она становилась очень невосприимчивой и даже подвисала. Чтобы решить эту проблему, я добавил ZRAM и внёс несколько изменений в параметры ядра.
      Читать дальше →
      • +32
      • 9,9k
      • 7
    • Разработка и производство троичных микросхем на обычном техпроцессе CMOS



        Многие утверждали, что строят троичный компьютер из дискретных компонентов, однако некоторые разрабатывают и заказывают троичные микросхемы уже прямо сейчас :)
        Читать дальше →
      • Моделирование меандровой инвертированной-F антенны – это просто

        Приветствую, эта статья посвящена моделированию меандровой инвертированной-F антенны (англ. Meander inverted-F antenna, MIFA) в программе Ansys HFSS. Пошаговая инструкция проектирования антенны. Сделай свою MIFA!


        Читать дальше →
      • Простой регулятор на базе нечеткой логики. Создание и настройка

        Нечеткая логика для управления


        Текст подготовлен на основе материалов книги Гостева В.В. «Нечеткие регуляторы в системах автоматического моделирования». Как все серьезные публикации по теме, данная книга перегружена математическими выкладками и тяжела для неподготовленного читателя. Между тем, сами по себе принципы создания и использования нечеткой логики достаточно просты и наглядны. Данный текст – попытка перевести пример из книги с математического языка на инженерный.
        Показана возможную последовательность проектирования регулятора на базе нечеткой логики, путем последовательного усложнения логических правил и подбором параметров методами оптимизации.

        Постановка задачи


        Рассмотрим синтез цифрового ПИД-регулятора и нечеткого регулятора для системы управления ракетой по углу атаки. Методом математического моделирования определим процессы в системе и дадим сравнительную оценку качества системы при использовании синтезированных регуляторов.

        Читать дальше →
      • Маленькие задачи по физике

          Приведу несколько задач, в основном из физики. Мне они нравятся. Надеюсь они понравятся и Вам.

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

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

          Большинство задач, так или иначе, обсуждалось в Internete. Но время идет и приходят новые поколения и, может быть, для них задачи будут в новинку.
          Читать дальше →
        • Четвертушка Ethernet-а: старая скорость, новые возможности


            5 февраля этого года был утверждён новый стандарт на 10-мегабитный Ethernet. Да, вы верно прочитали: десять мегабит в секунду.

            Для чего в 21-м веке нужна такая «маленькая» скорость? Для замены того зоопарка, который скрывается под ёмким названием «полевая шина» — Profibus, Modbus, CC-Link, CAN, FlexRay, HART и т.д. Их слишком много, они несовместимы между собой и относительно сложны в настройке. А хочется просто воткнуть кабель в коммутатор, и всё. Как с обычным Ethernet.
            И вскоре это станет возможным!
          • Задержать COVID-19. Все про фильтрацию воздуха на случай пандемии

            • Tutorial
            По материалам из телеграм-канала LAB66 и присоединенного к нему чата.

            Это время для фактов, а не для страха. Это время для науки, а не слухов. Это время солидарности, а не охоты на ведьм…
            директор ВОЗ Tedros Adhanom Ghebreyesus про эпидемию COVID-19
            Прошло немного времени с момента публикации моей статьи про респираторную защиту во время эпидемии. За это время, отчасти благодаря активному обсуждению в «приканальном» чате выработалась некоторая система, которой бы я хотел поделится и с читателями хабра. Вынудило меня написать эту статью то, что из-за коронавируса поднялся нездоровый хайп, на волне которого на поверхность начала всплывать совсем не та информация, которая всплывать должна была бы (равно как и внезапно подскочили до х40 раз цены на респираторы, притом все без разбора). Так что нужно расставить точки над i. Под катом читаем про подбор правильного респиратора, про сборку кастомных фильтров и стерилизацию зараженных средств защиты. Ответы на вопросы.

            Грантовая поддержка исследования
            Фактически, в роли «научного грантодателя» для этой статьи выступают мои «меценаты» с Patreon. Благодаря им все и пишется. Поэтому и ответ они могут получить раньше всех других, и черновики увидеть, и даже предложить свою тему статьи. Так что, если интересно то, о чем я пишу и/или есть что сказать — поспешите стать моим «патроном» (картинка кликабельна):



            Статью же настоятельно рекомендую «в закладки». Буду рад любому посильному распространению статьи. Краткий итоговый FAQ — в конце статьи.


            Собираем полумаску под себя!
          • Устанавливаем неподдерживаемую Wifi карту в HP Pavilion dv6-1319er

              image Маркетинг страшная сила, и в погоне за выгодой, у производителей ноутбуков стало модно блокировать сторонние карты расширений, мол хотите карту новей — покупайте у нас, с наценкой, и не факт что у производителя есть то что ВАМ нужно (а если брать в расчет что BIOS для лаптопа обновляется максимум год — два, тогда ещё и жить со старым оборудованием).
              На хабре уже есть такие топики (например) о внесении изменений в BIOS ноутбука для поддержки сторонних карт mini pci-e, хочу и я вам рассказать о таком же подвиге, но на другом представителе ноутбуков HP Pavilion dv6-1319er

              Читать дальше →
            • Защита ПО процессора S805-B (secured boot)

                Речь пойдёт о способе защиты програмного обеспечения, который реализован в самом процессоре. Для экспериментов я выбрал мультимедиа приставку Comigo Quattro. Цель — запустить своё ядро линукс.

                Краткий обзор


                На первый взгляд ПО приставки является клоном Android. Доступ по ssh закрыт. Работает только с действующим абонементом от дистрибьютора. Стоковая прошивка полностью шифрована. Всё глухо, как в танке.

                Подготовка


                Первым делом я подробно ознакомился с техническим описанием процессора. Порадовали меня две вещи: у процессора был интерфейс UART и он поддерживал загрузку системы с разных источников (USB, SD и т.д.), которая могла настраиваться снаружи при помощи конфигурационного регистра. На борту приставки также имелось место для mSD карты, но разьём был не припаян. Для того, чтобы найти пятачки конфигурационного регистра и пины UART мне пришлось спаять процессор и прозвонить дорожки. Когда все контакты были найдены, я подключил адаптер UART и запустил приставку. На экрана высветился U-Boot. Загрузка системы прерывалась нажатием клавиш и U-Boot выходил в режим ввода, но ни на какие клавиши кроме enter, никак не реагировал. И эта лазейка тоже была закрыта.
                Читать дальше →
              • Серийное производство электроники в России. Автоматизация тестирования



                  Продолжаю рассказывать про наш опыт организации серийного производства коммерческой электроники.

                  Прошлая статья была про историю производства изделия. Там много статистики, полученной в результате использования тестовых станций. Но мало про то, что собой представляют сами станции. Сегодня — подробнее о том, как мы автоматизировали функциональное тестирование печатных плат на производстве и как устроена тестовая станция, которая нам в этом помогает.
                  Читать дальше →
                • Электронный тест беременности из аптеки: как это работает

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


                  Традиционный тест


                  При беременности в организме женщины вырабатывается гормон под сокращенным названием ХГЧ. Если сделать пи-пи на полоску с соответствующим реагентом (экскюзе муа, леди и джентльмены), то наличие гормона будет отображено как цветная полоска. Чем больше срок, тем выше уровень гормона и ярче полоска.


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


                  Читать дальше →
                • Считывание защищенной прошивки из флеш-памяти STM32F1xx с использованием ChipWhisperer


                    В предыдущей статье мы разбирались с Vcc-glitch-атаками при помощи ChipWhisperer. Нашей дальнейшей целью стало поэтапное изучение процесса считывания защищенной прошивки микроконтроллеров. С помощью подобных атак злоумышленник может получить доступ ко всем паролям устройства и программным алгоритмам. Яркий пример – взлом аппаратного криптокошелька Ledger Nano S с платой МК STM32F042 при помощи Vcc-glitch-атак.


                    Интересно? Давайте смотреть под кат.

                    Читать дальше →
                  • Краткая история космических микропроцессоров, часть вторая

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

                      Следующий большой шаг в обеспечении радиационной стойкости наступил с переходом на суб-100 нм, где практически каждое следующее поколение технологии приносит новые вопросы: меняются материалы, меняются требования к топологии, растет статическая мощность (утечки безо всякой радиации, которые под дозой становятся еще хуже), продолжает расти значимость одиночных эффектов, которые превращаются во множественные. Эти задачи потребовали разработки новых подходов и, что удивительно, частичного возврата к старым, потому что часть вещей, отлично себя зарекомендовавших на нормах 1-0.18 мкм, на более тонких нормах не работает. Например, в таких технологиях для повышения выхода годных запрещено делать любимые дизайнерами радстойких чипов кольцевые транзисторы. О том, как дизайнеры справляются с новыми вызовами, я расскажу на примере России – и заодно сравню достижения наших соотечественников с успехами иностранных коллег и покажу, чего стоит ожидать в обозримом будущем.
                      Читать дальше →
                    • Краткая история космических микропроцессоров, часть первая

                        Десятого июля 1962 года с космодрома на мысе Канаверал стартовала ракета “Тор” с первым коммерческим телекоммуникационным спутником на борту. Telstar-1 стал зарей новой эры космонавтики, показавшей, что космос может приносить людям реальную пользу. Этот аппарат ждало большое будущее, но днем раньше в небе над атоллом Джонсон, расположенном в пустынной части Тихого океана, взорвалась атомная бомба Starfish Prime. Взрыв уничтожил три сотни уличных фонарей на расположенных в полутора тысячах километров Гавайях, а также создал огромное количество свободных электронов, подхваченных магнитным полем Земли в рукотворный радиационный пояс. Каждый раз, когда Telsat-1 проходил через этот пояс, продвинутая транзисторная начинка набирала дозу радиации, и уже к ноябрю 1962 года он перестал работать. С изучения последствий этого инцидента началась история защиты космической электроники от радиации.

                        С высотными ядерными взрывами, к счастью, довольно быстро завязали, но и без них работы достаточно, и требования по надежности и долговечности, предъявляемые к современным спутникам, становятся все амбициознее. Рассказать обо всем невозможно, но я постараюсь кратко осветить прошлое и настоящее космических микропроцессоров из разных стран. Почему именно микропроцессоров? Про них больше всего информации и они лучше понятны неспециалистам. Статья получилась длинной, поэтому я разбил ее на две части: ранняя история на примере США и Европы (под катом) и современная – на примере России (вот тут). Поехали!
                        Читать дальше →
                      • Превращаем DSLogic U2Basic в DSLogic Plus

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

                        В данной статье расскажу как модифицировать DSLogic U2Basic до DSLogic Plus.

                        Данная статья является обновлением статьи — Превращаем DSLogic Basic в DSLogic Plus

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

                          Не один год я увлекаюсь генеалогией. Практической пользы в этом хобби нет, но интересного очень много. Здесь я хотел поделиться накопленным опытом, частью интересных сведений, не сильно погружаясь в персональные истории. Чтобы текст сильно не распухал, расскажу всего 2 кейса: поиск в военных архивах на основе данных онлайн-баз и продолжительный просмотр и анализ метрических книг одного села периода конца XIX — начала XX вв. вплоть до конца революции и гражданской войны.

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

                          Осознаю, что некоторым тема публикации может показаться далекой от IT, но в процессе у меня было и программирование, VBA-скриптинг, SQL, и впереди, надеюсь, ML\DS\AI.


                          Страница метрической книги, рождения в 1898 г. Еще в книгах записывались браки и смерти — до появления ЗАГСов в начале 1920х
                          Читать дальше →
                        • Введение в ELF-файлы в Linux: понимание и анализ

                          • Перевод
                          Есть в мире вещи, которые мы принимаем как нечто само собой разумеющееся, хотя они являются истинными шедеврами. Одними из таких вещей являются утилиты Linux, такие, как ls и ps. Хотя они обычно воспринимаются как простые, это оказывается далеко не так, если мы заглянем внутрь. И таким же оказывается ELF, Executable and Linkable Format. Формат файлов, который используется повсеместно, но мало кто его понимает. Это краткое руководство поможет вам достичь понимания.



                          Прочтя это руководство, вы изучите:

                          • Зачем нужен формат ELF и для каких типов файлов он используется
                          • Структуру файла ELF и детали его формата
                          • Как читать и анализировать бинарное содержимое файла ELF
                          • Какие инструменты используются для анализа бинарных файлов
                          Читать дальше →
                        • Как я купил заблокированный ноутбук на eBay и попробовал сделать свой AntiTheft на базе IntelAMT



                          TL;DR


                          Absolute Computrace — технология, которая позволяет заблокировать машину(и не только), даже если на ней переустановили операционную систему или даже заменили жесткий диск, за $15 в год. Я купил ноутбук на eBay, который был залочен этой штукой. В статье описывается мой опыт, как я с ней боролся и пытался сделать то же самое на базе Intel AMT, но бесплатно.
                          Читать дальше →
                        • gReebok detected. Сам себе дерматовенеролог

                          • Tutorial
                          Около года назад я опубликовал свою статью Как спастись от «зайцев». Инструкция по борьбе с ультрафиолетом в которой достаточно подробно рассказал про ультрафиолет, его воздействие на ткани человека и способы лучевой защиты. Однажды на досуге я задумался над тем, в какой форме чаще всего приходится сталкиваться с «рукотворным» (т.е. не из спектра Солнца) ультрафиолетом. Вышло, что наиболее популярный УФ — это мягкий УФ и флуоресценция, которую он способен вызывать. Наиболее популярный вариант у моих дружков — это просвечивать друг друга и потом спрашивать у меня, что значит тот или иной цвет пятна на коже, и не грибок ли это. Чтобы раз и навсегда этот вопрос закрыть представляю очередной туториал. На этот раз, по диагностике кожных заболеваний ультрафиолетом лампы Вуда. Так что если интересно, как с помощью «дискотечного ультрафиолета» можно определить наличие чесотки/грибка на ногах/лишая (в том числе у любимого котика), а также про то, как лампа с aliexpress за 5$ может помочь диагностировать рак кожи и бороться с борщевиком — читаем под катом. Только наукоёмкое самоделие, с пожеланием крепкого здоровья в Наступающем 2020 году!
                          Закинь в закладки, %username% :)


                          Проверить себя и того парня лампой Вуда!