В октябре 2021 года я опубликовал на Хабре статью «Змей и дротик. От михраба до квазикристаллов», в которой кратко рассказал об апериодических мозаиках, в том числе, составленных Роджером Пенроузом и древнеперсидскими архитекторами. Не припомню, обращался ли я после этого в моём блоге к парадоксальным геометрическим проблемам. Но уже в конце октября текущего 2024 года нашлась ещё одна подобная тема, заслуживающая отдельной статьи на Хабре. Подсказал мне эту историю уважаемый Виктор Георгиевич Сиротин @visirok мой давний собеседник, который создал отличный блог на Хабре и размышляет о программировании и о программной архитектуре как о материализации идей — одноимённую группу он также ведёт в Телеграме. Статья же будет об удивительном сходстве между сегментами раковины наутилуса и очертанием мышечных волокон, которое недавно обнаружили венгерские учёные.
User
Синтез цифровых схем: что почитать при любом уровне подготовки
Осенью стартовал новый поток Школы синтеза цифровых схем — нашей бесплатной образовательной программы о современных приемах проектирования цифровых микросхем. От серийных ASIC и микропроцессоров общего назначения до реконфигурируемых FPGA и специализированных вычислителей. По этим и связанным темам выпущено немало профессиональной литературы. Мы попросили преподавателей Школы — Юрия Панчула и Александра Рябова — выбрать книги, которые помогут при обучении в школе и самостоятельном освоении синтеза цифровых схем.
Путь к геометрии Лобачевского 1: скалярное произведение и метрика
В конце 2023 года я провел семинар по геометрии и рассказал про различные её виды - евклидову, сферическую и гиперболическую, или геометрию Лобачевского. Сюжет оказался интересным, поэтому он был развит - я включил в него дополнительные темы, какие-то из них раскрыл подробнее, поменял акценты и самое главное - добавил трехмерные визуализации.
Семинар был разбит на цикл из шести частей, в которых постепенно, с некоторым количеством формул и выводов, написаных от руки, и большим количеством визуализаций, будет пройден путь от длин кривых в евклидовых пространствах до геометрии Лобачевского.
Главным преимуществом цикла являются визуализации и интуитивная подводка к тому, откуда появляются описываемые объекты. В цикле отсутствует постулирование, вроде "вот такую штуку мы назовем прямой", а объекты выводятся из первых принципов. Приглашаю к прочтению!
Как мы делаем Автограф — «русское Visio»
Самая первая инженерная версия редактора, не самая удобная для конечных пользователей
В России MS Visio используется для того, чтобы нарисовать планы помещений, вентиляции, пожарной сигнализации, рисовать всякие схемы работы — и так далее. Потом в какой-то момент оно пропало, а желание делать удобные схемы осталось.
Мы начинали в 1991 году с софта для автоматизации проектирования электросхем — когда вы рисовали одну схему, а по ней синтезировались недостающие участки, вроде расчёта типа и количества реле, нужного сечения кабеля и так далее. К 2010 году дорога приключений привела нас к тому, что мы начали делать уже схемы для объектов энергетики.
Сейчас мы замещаем Visio в России и поддерживаем VSD/VSDX-форматы в обе стороны.
Собственно, я хочу рассказать немного о техническом аспекте работы с большими схемами.
Сильно упрощая, каждая схема и в нашем движке, и в движке Visio состоит из векторных элементов. Пользователь перемещает окно с полем зрения по схеме, и для этого места идёт рендер — рисуются только те элементы, которые видно. Для каждого масштаба делается пререндер этого вектора с разной детализацией, то есть пользователь каждый момент времени работает со всего одной группой SVG-элементов. Всё остальное только кажется схемой из деталей, на самом деле — это единая отрендеренная большая картинка.
Эксперимент: даём ChatGPT полный доступ к компьютеру
Это статья написана от души и для души. Она не является: инструкцией, примером для подражания, призывом к действию или чем-то подобным.
Я абсолютный новичок в программировании, поэтому могу ошибаться в некоторых (или даже во многих) вещах. Я бы, наверное, даже не писал эту статью. Однако, проведя некоторое время в сети, мне так и не удалось найти похожий на мой проект. Именно поэтому я решил поделиться своей идеей с вами.
Почему троичные вычисления лучше двоичных
Давно изучаемая, но нечасто применяемая вычислительная система с основанием 3 всё же может найти применение в кибербезопасности.
Как рассказывали детям 1970-х годов в Schoolhouse Rock!, три — это магическое число. Три поросенка; три кровати, миски и медведя для Златовласки; три трилогии «Звёздных войн». Чтобы табуретка стояла сама по себе, нужно как минимум три ножки, и как минимум три точки, чтобы определить треугольник.
Число 3 также предполагает другой способ счёта. Наша знакомая десятичная система счисления с основанием 10 использует 10 цифр от нуля до 9. Двоичная система, наш цифровой lingua franca, представляет числа, используя только две цифры: 0 и 1.
Но математики давно изучают число три. Рассмотрим, например, основание 3 или троичную систему, которая использует три цифры. Обычно это цифры 0, 1 и 2, но также используются и симметричные обозначения: –1, 0 и 1.
Дизайн и реализация виртуальной машины CPython
Наиболее интересной частью каждого языка, компилируемого в байт‑код является виртуальная машина (также известная как интерпретатор байт‑кода), в которой происходит исполнение байт‑кода. Поскольку это наиболее важная часть реализации языка, она должна быть крайне производительной. Даже если вы не занимаетесь разработкой компиляторов, знание внутреннего устройства ее реализации может дать вам возможность найти новые способы оптимизации вашего кода, что может быть полезно в других областях вашей работы. А если вы занимаетесь разработкой компиляторов, вам всегда стоит исследовать реализации в других языках, чтобы найти для себя новые трюки и потенциально упущенные детали.
В этой статье мы обсудим формат инструкций байт‑кода CPython, а также реализацию цикла обработки байт‑кода в интерпретаторе, где он и исполняется.
Как извлечь квадратный корень из перестановки чисел?
В этой статье мы исследуем проблему извлечения квадратного корня из перестановки , иными словами задачу нахождения всех таких перестановок , что = . Будет сформулирован критерий возможности извлечения квадратного корня, алгоритм нахождения корней и формула их подсчёта в общем виде.
Технологии интеграции информационных систем. Часть 2. GraphQL, gRPC, WebSocket, webhook, брокеры сообщений
Эта статья ー вторая часть материала об интеграции информационных систем (ИС) и самых распространённых стилях и технологиях интеграции.
Как мы заработали 250 000 руб, запустив ИИ приложение для обучения математике в США
Что мы поняли, запустив за 1 месяц простое приложение, которое обучает решению задач по математике в США. И как вышли на +$1200/месяц спустя 4 месяца после запуска.
Как простой Python-скрипт с использованием ИИ может оптимизировать ваш рабочий процесс
Программисты не понаслышке знают, как важно периодически давать отдых уставшим запястьям. И в этом случае возможность диктовки текста – будь то во время длительных сессий программирования или в стремлении к более эргономичной организации работы – может стать настоящим спасением. В данном туториале я вместе с вами подробно рассмотрю процесс создания современного инструмента для транскрибации речи в текст на языке Python, отличающегося высокой скоростью и точностью благодаря использованию ИИ, а именно API Whisper от Groq.
Наша цель – разработать скрипт, работающий в фоновом режиме и позволяющий активировать голосовой ввод в любом приложении простым нажатием кнопки. После отпускания кнопки скрипт мгновенно преобразует речь в текст и автоматически вставит его в активное поле ввода. Таким образом, мы получаем возможность голосового ввода практически в любом вашем приложении.
Приятного прочтения!
Как мы уменьшили количество кода для генерации графиков в 10 раз, сделав Vue-компонент
Рассказываем, как мы сделали универсальный компонент вместо копирования кода и многократно упростили жизнь разработчикам.
Сравнение технологий для написания оконных приложений
Как-то раз в одном чате прозвучала идея сравнить разные технологии для написания оконных приложений. В частности, под Windows. Используя средства языка C#. То есть, конечно, можно это сделать и с помощью C++, Python, Rust, JS и других языков, но мы же шарписты, нам интереснее именно то, что мы можем сами использовать, не меняя язык программирования.
Итак, оконные приложения на C#.
Простая автоматизация с Bash для новичков
Приветствую, это Денис из команды BagrovChibirev, и в статье я на простом примере расскажу об автоматизации процессов в Linux с помощью bash скриптов (сценариев командной строки).
Этот материал для тех, кто только рассматривает для себя инструменты автоматизации рутинных процессов. Я не буду вдаваться в подробности работы оболочки или терминологию (на знания чего и не претендую), но я пошагово пройдусь по написанному скрипту и расскажу своё мнение почему вообще их стоит использовать. Приятного чтения :)
Рассматривать я буду свой минималистичный скрипт для разворачивания простого python Django проекта при помощи системных юнитов (демонов) на удалённом сервере. Для тех, кто не в курсе: демоны - это специальные системные сервисы, которые следят за состоянием сторонних процессов и поддерживают их работоспособность. В современном мире для таких целей на микросервисах применяется Docker, но когда проект небольшой и состоит из пары-тройки процессов, их намного легче, проще и дешевле для системы (в разы), развернуть при помощи встроенных в линукс демонов.
Всё уже придумали за нас: библиотеки с тысячами готовых GPT-промтов для работы, учёбы и отдыха
Подборка для тех, кто пробовал использовать нейросети в своих задачах, но разочаровался в них: непонятно, как чат-бот вообще может помогать с чем-то серьёзным.
Python, CryptoAPI и российские криптопровайдеры
В статье описывается работа в Python с криптопровайдерами, прежде всего российскими, через CryptoAPI. Особое внимание уделено получению штампа времени - рассмотрено взаимодействие между клиентом и Time-Stamp сервером и формирование запроса в соответствии с Time-Stamp протоколом.
Давайте сделаем крупное приложение на Flask (язык Python)
На Хабре я часто вижу статьи о реализации тех или иных фич на Python-фреймворках. Я объединил все эти фичи в реальный проект с открытым исходным кодом, чтобы у вас сложилась целостная картина. Мы с вами создадим UX/UI на Figma, напишем фронтенд на HTML, CSS, SASS, Bootstrap и JavaScript, создадим ER-диаграмму в MySQL Workbench, напишем бекэнд на Flask, создадим регистрацию через социальные сети OAuth 2.0 в один клик, используем брокер сообщений и асинхронную очередь Celery для отправки писем на электронную почту, сделаем WYSIWYG-редактор, реализуем полнотекстовый поиск Elasticsearch, закешируем Redis, покроем тестами pytest и запустим в Docker-контейнерах, поговорим о многопроцессности для WSGI-шлюза Gunicorn.
Вы нас просили и мы сделали. VPN на собственном сервере с XRay Reality за 5 минут с помощью Amnezia
Всем привет! Это команда Amnezia.
Мы читаем комментарии под нашими постами и знаем, что один из самых частых вопросов – когда будет XRay? Так вот, мы добавили XRay в приложение AmneziaVPN, а точнее протокол Reality от XRay для всех платформ - IOS, Android, Windows, Linux и MacOS. Если у вас еще нет последнего релиза, скорее скачивайте и создавайте VPN на собственном сервере в пару кликов с одним из самых защищенных и быстрых протоколов в мире, ниже мы немного о нем расскажем, а в конце статьи будет пошаговая инструкция как это сделать.
Почему XRay Reality так популярен ?
Все дело в том, что Reality подходит для стран с самым высоким уровнем интернет-цензуры, сейчас его используют в Китае и Иране, он защищен от детектирования методами active probing.
Распознать цензоров REALITY может еще на этапе TLS-хендшейка. Если REALITY видит, что к нему приходит его клиент, то сервер запускает для него VPN туннель, а если приходит любой другой запрос на 443 порт, то TLS-подключение передается на какой-нибудь другой реальный сайт, например, google.com, где цензор получит настоящий TLS-сертификат от google.com и вообще все настоящие данные с этого сайта.
Со стороны систем анализа трафика это выглядит как подключение к настоящему сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит очень по-настоящему и не вызывает подозрений.
Особенно приятно, что при этом производительность REALITY и скорость подключения у протокола действительно хороши, в сравнении, например, со связкой OpenVPN over Cloak.
Эволюция конечных автоматов в бэкенд-разработке
Привет! Меня зовут Павел, я программист-эксперт в отделе разработки серверных решений ЮMoney. Сегодня расскажу и покажу, как менялись наши конечные автоматы в бэкенде — как от большого страшного монстра с файлами классов по 1000+ строк мы пришли к красивым визуальным диаграммам, которые понимают не только разработчики, но и сотрудники других отделов.
Открытый онлайн-курс по цифровой схемотехнике: от истоков до первого устройства
Привет, Хабр! У нас новости. Мы запустили онлайн-курс по цифровой схемотехнике для начинающих. Он подойдет всем, кому интересно собрать из простых компонентов готовое устройство на макетной плате и узнать больше о «внутренностях» электроники. Присоединяйтесь сами или рассмотрите курс для совместного досуга с ребенком, младшим братом или сестрой. Возможно, кому-то он поможет не только найти новое занимательное хобби, но и определиться с будущей профессией.
Всего в курсе 11 практических роликов с подробными теоретическими материалами к каждому. Будем не просто смотреть на картинки с электрическими схемами, а проводить эксперименты своими руками. Начнем с истоков: познакомимся с оборудованием и линейными электронными компонентами, а закончим сборкой секундомера с применением микросхем цифровой логики. Все подробности — на странице курса и под катом.
Information
- Rating
- Does not participate
- Registered
- Activity