Pull to refresh
4
0.7
Дмитрий Померанцев @pda0

User

Send message

Each и Every в английском: где который «каждый»

Reading time5 min
Views24K

Продолжаем нашу рубрику «Нюансы английского». Сегодня рассмотрим пару очень похожих по смыслу слов each и every. 

На русском у них идентичные значения, но области и особенности использования в оригинале отличаются. На начальных этапах изучения языка в этих нюансах не сильно-то разбираются, из-за чего даже сильно позже путаница с each-every случается довольно часто.

Читать далее

Андрей Карпати: Bitcoin на Python (часть 1)

Reading time21 min
Views18K
image

Андрей Карпати — директор по искусственному интеллекту и Autopilot Vision в Tesla.

Я считаю, что блокчейн — классная штука, потому что он расширяет open source разработку софта до open source + state. Это кажется интересным нововведением в компьютерных парадигмах; Мы не просто делиться кодом, мы можем предоставить общий доступ к работающему компьютеру, и любой человек в любом месте может использовать его открыто и без разрешения. Семена этой революции, возможно, начались с биткойна, поэтому мне стало любопытно вникнуть в него более подробно, чтобы получить интуитивное понимание того, как он работает. И в духе «то, что я не могу создать, я не понимаю», что может быть лучше, чем реализовать биткойна с нуля?

Мы собираемся создать, поставить цифровую подпись и транслировать биткойн-транзакцию на чистом Python, с нуля и с нулевыми зависимостями. В процессе мы немного узнаем о том, как биткойн представляет ценность. Давай попробуем.

(кстати, если визуальный формат этого поста вас раздражает, посмотрите версию jupyter notebook, у которой идентичный контент).

Шаг 1: создание крипто сущности


Для начала мы хотим создать совершенно новую криптографическую сущность, которая представляет собой всего лишь пару ключей: публичный и приватный. Биткойн использует криптографию на эллиптических кривых (Elliptic-Сurve Сryptography, ECC) вместо чего-то более распространенного, например RSA, для защиты транзакций. Я не собираюсь здесь углубляться в ECC, потому что другие проделали значительно лучшую работу, например, я считаю серию постов в блоге Андреа Корбеллини очень полезным ресурсом. Здесь мы просто напишем код, но чтобы понять, почему он работает математически, вам нужно прочитать эти посты.
Читать дальше →

Избавляемся от LUKS-шифрования корневого диска

Level of difficultyEasy
Reading time3 min
Views1.9K

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

Сейчас разберемся под катом

P.S.: в конце опросничек

Читать далее

Знакомьтесь, MiSTer

Reading time14 min
Views51K

Я долго придумывал вступление к теме FPGA-реимплементации в контексте ретро, но это сложнее чем кажется. Давайте попробуем издалека. Сейчас электроника довольно неплохо стандартизирована, но ведь 40-50 лет назад ситуация была гораздо сложнее. То, что мы сейчас принимаем как должный и абсолютный незыблемый стандарт, когда-то таковым не являлось. Как, например, то, что в 1 байте 8 бит. Были машины и с 6 и с 9 битными байтами и много чего еще. Тем собственно старая техника и интригует. Сколько человекочасов было убито на её проектирование, какие гениальные и не очень решения принимались. И всё это будет утеряно? Да и просто - как это всё работало? Вопрос, который, думаю, интересовал многих ретро-энтузиастов ещё с детства.

Читать далее

Оловянные монстры и борьба с ними

Reading time8 min
Views16K

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

Читать далее

Двое из ларца на CES 2025: стандарты HDMI 2.2 и DisplayPort 2.1b

Reading time5 min
Views4.4K

На техновыставке CES 2025, кроме прочих hi-tech чудес, представлены HDMI 2.2 и DisplayPort 2.1b. Обновленные технологии обещают всякое — от сверхчеткой графики до плавного воспроизведения видео с высоким FPS. Геймеры, киноманы, создатели контента и просто любители крутых гаджетов наверняка заинтересуются. Давайте разберемся, в чем разница между DP и HDMI, что привнесут новые стандарты и когда появятся первые устройства с их поддержкой.

Читать далее

Кэш. Теория кэширования. Устройство и разновидности кэша

Level of difficultyEasy
Reading time7 min
Views17K

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

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

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

Стать гуру кэша

Rust 1.84: новый релиз отличного языка программирования. Еще лучше, еще эффективнее, как всегда

Reading time6 min
Views13K

Источник изображения.

Вышел новый релиз языка программирования Rust версии 1.84. Этот язык общего назначения изначально разрабатывался проектом Mozilla, но теперь его поддерживает независимая некоммерческая организация Rust Foundation. Rust ориентирован на безопасную работу с памятью и обеспечивает высокий уровень параллелизма выполнения задач, не прибегая к сборщику мусора или полноценному runtime (runtime ограничен базовой инициализацией и поддержкой стандартной библиотеки). Что нового? Давайте разбираться.
Читать дальше →

«Нам нужны кардинальные социальные и технологические изменения»: неизбежен ли крах общества?

Level of difficultyEasy
Reading time5 min
Views3.9K

Для человека, изучившего 361 исследование и 73 книги о крахах обществ, вывод Данило Брозовича о том, что должно произойти, чтобы избежать краха современного мира, одновременно обезоруживающе прост и представляет собой сложнейшую задачу: «Нам нужны радикальные социальные и технологические изменения».

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

«Всё больше и больше научных статей упоминают об угрозе коллапса из-за изменения климата», — говорит Брозович, преподающий в школе бизнеса Университета Скёвде (Швеция). Вопрос о коллапсе привлёк его после того, как он затронул его в проекте по устойчивому развитию бизнеса, который затем привёл его к написанию всестороннего обзора в 2023 году.

Читать далее

Центропия — новый метод проектирования материалов

Reading time7 min
Views3.1K

Среди наиболее удачных редакционных материалов Хабра, вышедших в начале этого года, была и переводная статья уважаемого @SLY_G «Энтропия — это мера того, как мало мы на самом деле знаем». Незадолго до того мне попадалась на глаза ещё одна переводная статья, вышедшая в корпоративном блоге издательства «Питер» рекламирующая книгу «Пространство, время и движение» Шона Кэрролла и также посвящённая совершенно различным трактовкам энтропии, но в данном случае с акцентом на энтропию чёрных дыр. Поэтому я решил оперативно высказаться об ещё одной малоизвестной концепции, сформулированной всего около полутора лет назад и рассматривающей энтропию в необычном прикладном аспекте — как инструмент для проектирования новых материалов и прогнозирования их потенциальных свойств. 

В Рунете осталась практически незамеченной интересная теория, предложенная летом 2023 года исследователями из Пенсильванского университета под руководством Зи-Ку Лю. В своей статье авторы попытались ответить на вопрос о том, почему в некоторых материалах объём вещества уменьшается при повышении температуры. Практическая ценность этого вопроса заключается в проектировании материалов, которые могли бы сочетать в себе свойства ферромагнетиков и парамагнетиков, чтобы, к тому же, эти материалы можно было управляемо переключать между такими состояниями. В термодинамике известна формула, согласно которой производная объёма относительно температуры (термическое расширение) равна по модулю производной энтропии относительно давления. Эта закономерность подтверждается эмпирически, но формального объяснения не имеет. Поиск ответа на этот вопрос позволил учёным наметить очертания теории, которую они назвали «центропией». Центропия пока развивается в рамках вычислительной термодинамики, но в случае удачного развития поспособствует точному проектированию новых материалов и созданию материалов с заданными свойствами. В дальнейшем она открывает перспективы создания целого «генома материалов» — множества данных не менее масштабного, чем Геном человека.

Читать далее

Curve V1: Принцип работы модели StableSwap

Reading time5 min
Views1.3K

Curve Finance — это децентрализованная биржа (DEX), которая использует модель автоматического маркетмейкера (AMM), концепции, которая также используется другими известными DEX, такими как Uniswap.

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

Читать далее

pg-index-health – статический анализ структуры PostgreSQL баз данных

Level of difficultyHard
Reading time19 min
Views6.7K

С 2019 года я занимаюсь разработкой open source инструмента под названием pg-index-health, который позволяет анализировать структуру БД и находить потенциальные проблемы.

Все эти годы pg-index-health эволюционировал и развивался. За 2024 год мне при поддержке нескольких контрибьюторов удалось решить большинство остававшихся «детских болячек» и довести проект до состояния, когда он готов к масштабной экспансии.

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

Читать далее

Как спроектировать игровую математическую модель, забалансить её и не сдуреть. Разбор на практических кейсах

Level of difficultyEasy
Reading time17 min
Views20K

Мы идём от общего к частному. Задаём системе вопросы на самом общем уровне и постепенно углубляемся в детализацию. Если на какой-то вопрос мы не смогли ответить, значит, скорее всего, мы пропустили какой-то более общий вопрос, от которого зависит рассматривая ступень детализации, в этом случае не стесняемся вернуться на один или несколько уровней абстракции назад.

Читать далее

Надоело постоянно пользоваться телефоном, поэтому написал замену Google Authenticator в виде TUI

Level of difficultyEasy
Reading time7 min
Views34K

Мне надоело постоянно использовать Google Authenticator и переключаться между ПК и телефоном для подтверждения двухфакторной (мультифакторной) аутентификации. Красивых и функциональных TOTP (Time-based one-time password) хранилок в терминале я не нашел, поэтому сделал эту TUI, которая позволит хранить, управлять, просматривать, копировать 2FA ключ в пару нажатий с поддержкой VIM управления. Ну и просто мне было интересно, какого это создавать свои TUI приложения.

Читать далее

Машинное обучение: Наивный байесовский классификатор. Теория и реализация. С нуля

Level of difficultyEasy
Reading time17 min
Views5.6K

В этой статье я привел основные сведения о трех основных видах НБК и показал реализацию каждого.

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

Читать далее

Прокрастинация. Какие трюки использует наш мозг, чтобы отложить дело на потом?

Level of difficultyMedium
Reading time5 min
Views12K

Если вы зашли прочитать эту статью, есть высокая вероятность, что где‑то в вашем списке дел горит ярко‑красным «СРОЧНО». Вы, конечно, не горите желанием этим заниматься. Ну что ж, добро пожаловать в клуб прокрастинаторов, которые предпочитают посвятить время идеальной настройке камеры и выбору фона в Zoom, вместо того чтобы приступить к решению действительно значимой задачи!

Читать далее

«Сингулярностей не существует», — утверждает первооткрыватель чёрных дыр Рой Керр

Level of difficultyHard
Reading time13 min
Views92K

В нашей Вселенной, когда вы соберёте достаточно много массы в достаточно малом объёме пространства, вы неизбежно пересечёте черту: скорость, с которой вам нужно будет двигаться, чтобы преодолеть гравитационное притяжение в этой области, превысит скорость света. И когда это происходит, вокруг области неизбежно образуется горизонт событий, который выглядит, действует и ведёт себя точно так же, как чёрная дыра, если смотреть со стороны. Тем временем внутри вся эта материя неумолимо притягивается к центральной области внутри чёрной дыры. При наличии конечного количества массы, сжатой до бесконечно малого объёма, появление сингулярности будет практически гарантировано.

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

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

Читать далее

Оптимизация кольцевого буфера для повышения пропускной способности

Level of difficultyMedium
Reading time6 min
Views9.8K

В этой статье мы рассмотрим классический конкурентный кольцевой буфер и обсудим, как его можно оптимизировать для повышения производительности. Я покажу вам, как существенно улучшить этот показатель от 5,5 миллионов элементов в секунду до 112 миллионов элементов в секунду — и эти показатели выше, чем в реализациях Boost и Folly. Если вам требуется готовая реализация со всеми этими оптимизациями, посмотрите мою библиотеку SPSCQueue.h.

Кольцевой буфер также называется очередью «один производитель — один потребитель» (SPSC). В ней не бывает ожидания (и, соответственно, не бывает блокировок), это конкурентный примитив. Такая структура данных находит множество вариантов применения, и здесь я рассмотрю передачу сетевых пакетов между сетевым контроллером и драйверами операционной системы. Основная задача, решаемая при этом — выполнение событий ввода/вывода в относительно новом асинхронном API io_uring.

Читать далее

Information

Rating
2,652-nd
Location
Химки, Москва и Московская обл., Россия
Date of birth
Registered
Activity