Feed aggregator

Предварительная трансляция макро в HomeLisp

Habr.com - Fri, 08/14/2026 - 13:34

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

Важно отметить, что на первом этапе ядро Лиспа не вычисляет значения аргументов вызова.

Использование макро в гомоиконном Лиспе позволяет добавлять в Лисп новые “операторы” (именно поэтому знаменитый лиспер Пол Грэм назвал Лисп программируемым языком программирования).

Однако, у медали имеется и обратная сторона: если код содержит большое количество макро, то при интерпретации Лиспа будет тратиться значительное время на макрогенерацию.

Цель этой небольшой заметки состоит в том, чтобы указать вполне очевидный способ снизить отмеченный недостаток использования макро. Этот способ состоит в том, что весь исполняемый код предварительно обрабатывается, в нём отыскиваются макровызовы и “раскрываются” (заменяются на результат макрогенерации).

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

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

-         мacroexpand (функция, которая строит макрорасширение);

-         proplist (получение списка свойств символа для того, чтобы отличить макровызов от вызова функции);

-         stat (функция, которая включает режим статистики);

Читать далее

Пишем свой Native Filter плагин для Apache Superset: пошаговый рабочий туториал

Habr.com - Fri, 08/14/2026 - 13:14

Всем привет! Меня зовут Александр Цай, я ведущий инженер-аналитик в МТС Web Services.
Занимаюсь всем, что связано с данными и ИИ. Найти, заполучить, обработать, спроектировать, развернуть — это все ко мне.

Опущу все нудные подробности, решили мы развернуть себе Superset 6.1.0 — последнюю версию, но столкнулись с тем, что заказчику категорически не нравится штатный фильтр по датам и он не хочет пересаживаться со своего BI, а хочет он календарик. А еще — пару плагинов с оглядкой на PowerBI. Поэтому встал вопрос создания собственного плагина-фильтра.

Казалось бы, задача несложная. Пара-тройка гайдов в en сегменте имеется, есть даже документация и штатный генератор шаблонов. Но по факту оказалось, что все это не работает. Генератор так вообще не обновлялся аж с 2024 года: выдает шаблон, который ссылается на уже несуществующие классы и типы, что автоматически делает все гайды неактуальными…

А что все это значит? Время написать свой собственный!
Об этом и расскажу в сегодняшнем материале. 

Дисклеймер: Я питонист до мозга костей и в тайпскрипте, да и фронте в целом, понимаю не очень много. Простите меня, адепты сего языка программирования, но код самого плагина навайбкожен (хоть и проверен насколько я смог).
В npm не запушил тоже умышленно, цель статьи дать исходники и показать, как можно собрать плагин. Любой желающий может что-то додумать и доработать, собрать или разобрать и так далее.

Читать дальше

Альт Оркестрация 11.0 — неизменяемая ОС для Kubernetes

Linux.org.ru - Fri, 08/14/2026 - 13:03

Доступен релиз Альт Оркестрация / ALT Orchestra 11.0. Сборка выполнена на базе стабильной ветки репозитория Одиннадцатой платформы (p11 Salvia) для архитектур x86_64 и AArch64 с ядром 6.18 (LTS).

ALT Orchestra - специализированная операционная система для организации Kubernetes-кластеров, разработанная компанией «Базальт СПО» на основе Talos OS.

Отличительные черты:

  • неизменяемая файловая система;
  • управление только через API (без SSH);
  • встроенные механизмы безопасности (TPM, полное шифрование дисков, Secure Boot);
  • поддержка различных сред установки - от bare-metal до облаков и offline-режимов.

( читать дальше... )

 , , ,

Техно-пророк в юбке: История Ады Лавлейс

Habr.com - Fri, 08/14/2026 - 13:00

Есть имена, которые не просто вписывают в учебники: они меняют саму оптику, через которую мы смотрим на прогресс. Ада Лавлейс как раз была из таких. Её часто называют первым программистом в истории, но это определение слишком узкое: она не просто написала алгоритм, она сформулировала саму философию того, что компьютер может делать.

Читать далее

Wazuh без ограничений дашборда: работаем напрямую с индексами

Habr.com - Fri, 08/14/2026 - 13:00

На связи Андрей, руководитель направления безопасности облака в Selectel. В статье расскажу, как работать с индексами Wazuh напрямую через OpenSearch. Такой подход пригодится, когда встроенных возможностей Wazuh уже не хватает: нужно собрать собственный отчет, посчитать статистику по всей инфраструктуре, настроить нестандартный алертинг или выгрузить данные для BI и других внешних систем. Вместо того чтобы обходить ограничения дашбордов, мы научимся работать с тем, где эти данные хранятся на самом деле.

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

Под кат →

Как мы превратили API-контракт в отдельный артефакт и сократили генерацию клиента с 15 минут до нескольких секунд

Habr.com - Fri, 08/14/2026 - 13:00

Привет! Я Дмитрий, старший Angular-разработчик в команде Klecks — платформы для разметки данных AI-Центра Т-Банка.

Последние годы мы жили с NSwag: один api.ts на 13 000 строк, Docker-сборка бэкенда и ожидание по 15—17 минут каждый раз, когда менялся контракт. В рамках одной из задач мы решили перейти к модели, где OpenAPI-файлы лежат в репозитории, а клиент генерируется через ng-openapi-gen. Расскажу, какие проблемы мы пытались решить, что пробовали на стороне ASP.NET Core и какой workflow получился в итоге.

Читать далее

Мотивация и орексиновые нейроны

Habr.com - Fri, 08/14/2026 - 13:00

Какова основная задача любого живого организма? Выживание и размножение для сохранения вида. Эта базовая мотивация является решающим фактором того, по какому пути идет эволюция того или иного вида. Эволюция нашего вида подарила нам весьма развитый интеллект, который сильно сместил приоритеты, управляющие поведением менее развитых организмов. Но понятие мотивации сохранилось. Любой тип добровольной деятельности подразумевает некое вознаграждение за выполнение определенных задач. Не всегда это нечто материальное, абстрактное вознаграждение также имеет вес. Но что именно мотивирует нас продолжать делать что-то, когда вознаграждение кажется все менее и менее вероятным? Короткий ответ — мозг. Более длинный ответ нашли ученые из Нагойского университета (Япония). Они провели исследование, в ходе которого установили, что орексиновые нейроны могут активироваться/инактивироваться в зависимости от мотивационных нужд. Как именно работают эти нейроны, и что происходит при их полной блокировке? Ответы на эти вопросы мы найдем в докладе ученых.

Читать далее

[Перевод] Абстракции для реализаций мертвы. Да здравствуют абстракции для проектирования

Habr.com - Fri, 08/14/2026 - 12:59

Благодаря искусственному интеллекту код удешевился. Но ошибочные архитектурные решения остаются такими же дорогими, как и раньше.

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

Давайте объясню это на конкретном примере. Система электронных продаж, написанная на Java — как раз такая штука, с которой большинство бэкендеров сталкивались хотя бы раз на протяжении карьеры.

Читать далее

Podman 6.1

Linux.org.ru - Fri, 08/14/2026 - 12:57

12 августа опубликован выпуск Podman 6.1.0, свободного инструментария для запуска и управления OCI-контейнерами, образами и pod-группами. Podman — свободный движок для управления OCI-контейнерами, образами, томами и группами контейнеров (pod). На Linux он работает без постоянно запущенного центрального демона и позволяет выполнять большинство операций от имени обычного пользователя. Для удалённого управления предусмотрен REST API с собственным интерфейсом Libpod и слоем совместимости с Docker API, а графическое управление контейнерами доступно через отдельный проект Podman Desktop. Проект распространяется под лицензией Apache 2.0.

Основные изменения Podman 6.1:

( читать дальше... )

 , ,

Биткоин: эйфория кончилась, паника — нет. Интерактивная модель цены

Habr.com - Fri, 08/14/2026 - 12:54

Итак, два ряда чисел. Первый — насколько высоко пик каждого цикла стоял над трендом:

1.03 → 0.81 → 0.46 → 0.06

Второй — насколько глубоко дно уходило под тренд:

−0.28 · −0.24 · −0.38 · −0.37

Верхний ряд схлопывается монотонно, четыре цикла подряд, пятнадцать лет. Нижний стоит на месте: все четыре дна укладываются в коридор шириной 0.14. Пик декабря 2013 года стоял над трендом в десять раз. Пик октября 2025 превысил тренд на 15%.

Расхожая формулировка «четырёхлетний цикл умер» склеивает три разные вещи в одну. Тайминг цикла держится как держался: пики приходили на 13, 17, 18 и 18-й месяц после халвинга, максимальные падения — на 26, 29, 30 и 26-й. Дно не затухло вообще. Умер эйфорический верх.

Из этого наблюдения выросла интерактивная сквозная модель:

Cross-scale Bitcoin price model (исходники, русская версия).

Далее — что там внутри, где оно ломается, и что должно или может произойти.

Читать далее

Как мы добавили Global Orchestration в IncidentRelay: маршрутизация алертов до создания инцидента

Habr.com - Fri, 08/14/2026 - 12:31

Когда система мониторинга отправляет алерт, он редко выглядит так, как хотелось бы дежурному инженеру.

Один источник пишет critical, другой — disaster, третий передаёт severity: 5. В одном payload сервис называется checkout, в другом — payments-api, а в третьем его приходится угадывать по namespace.

Если все эти события приходят через общий Alertmanager или webhook, одной статической настройки маршрута быстро становится недостаточно.

Обычно проблему решают одним из трёх способов:

Читать далее

Резюме уже не объясняет специалиста: зачем нужна доказательная цифровая профессиональная карта

Habr.com - Fri, 08/14/2026 - 12:27

В ИТ-проектах я всё чаще вижу новую норму: когда руководитель проекта, заказчик или HR рассматривает специалиста в команду, он уже не ограничивается присланным резюме. Гораздо проще открыть ChatGPT, Gemini, DeepSeek или другую привычную модель и спросить: «Что известно об этом человеке как о профессионале?» И вот здесь начинается самое интересное: машина собирает ответ не из того, что человек хотел о себе рассказать, а из того, что о нём действительно осталось в цифровой среде.

Для зрелого специалиста это создаёт совершенно новую проблему. Можно иметь двадцать лет опыта, десятки сложных проектов и сильную профессиональную репутацию — и при этом обнаружить, что в цифровом мире вся эта история существует разрозненными кусками. Резюме сообщает должности, профиль показывает выбранное представление, цифровой след хранит отдельные события, но ни один из этих элементов сам по себе ещё не доказывает профессиональную способность. Чем легче с помощью ИИ написать безупречное резюме, тем важнее становится другое: можно ли восстановить путь от заявленной компетенции к реальной задаче, личному действию, результату и подтверждению.

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

Читать далее

Encode, don't stringify — как JSON.stringify вам врёт

Habr.com - Fri, 08/14/2026 - 12:27

Помните, как лет 5-7 назад все сидели на Yup или Ajv и всех всё устраивало? Потом появилось «Parse, don’t validate», стало настольной книгой для кучи разработчиков и в итоге выстрелило и у нас, в JavaScript и TypeScript. Тысячи библиотек со схемами - лучшее тому подтверждение.

Но это уже решённая проблема. А вот что не решено — обратная сторона:

JSON.stringify({ price: Infinity }) // => ‘{“price”:null}’

Ни падения, ни предупреждения. Где-то сломалась математика, а клиент получил null и нарисовал пустую ячейку. И это только один пункт из списка: undefined там, где в типах написано string; молча пропавшие ключи; Map и Set, превращающиеся в {}; и вообще отправляется всё - включая поля, которые вы отправлять не собирались.

Кажется, за 7 лет разработки я собрал все эти грабли. В статье разбираю каждый пункт и показываю как это чинится - “Encode, don’t stringify”

Читать далее

Имитационное моделирование: что это такое и с чем его едят

Habr.com - Fri, 08/14/2026 - 12:25

Моя Roadmap разработчика имитационных моделей в AnyLogic породила в моём канале больше вопросов, чем ответов. Суммируя которые можно прийти к медианному:: «А что это вообще за зверь?». Поэтому к вашему вниманию новая статья, позволяющая хоть и не приручить, но по крайней мере погладить эту животинку. Для этого нам понадобится: 1) познать ИМ суть, 2) понять ареол обитания и 3) осознать незаменимость в дикой природе сложных систем.

Приступим к приручению

Use-As-Dictionary: как мы перестали отдавать один и тот же бандл по пять раз в день

Habr.com - Fri, 08/14/2026 - 12:24

У нас в среднем два релиза в день, бандл весит 7,76 МиБ после brotli, и половина клиентов качает его заново по несколько раз в сутки: хеш в имени файла поменялся - значит, кеш мимо. Compression Dictionary Transport (RFC 9842) позволяет объявить вчерашнюю сборку словарём для сегодняшней, и вместо 7,76 МиБ уезжает 15 КБ.

Рассказываю, что из этого работает на практике при непрерывной поставке: почему дельты только к предыдущей сборке хватает лишь на 43% визитов, как считать окно словарей по своим логам, как отдавать дельты из nginx без reload на каждый релиз, и что ломается на откатах, канарейках и бампах зависимостей. Все цифры - с нашего портала, методика в конце.

Читать далее

Динамики: когда «хорошо» не бывает

Habr.com - Fri, 08/14/2026 - 12:15

Это четвертая статья серии о том, почему акустика, которая хорошо измеряется, может плохо звучать

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

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

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

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

Читать далее

Вебинар, запись или индивидуальная демонстрация: что выбирает корпоративный покупатель на Маркетплейсе в 2026 году

Habr.com - Fri, 08/14/2026 - 12:10

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

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

После нескольких таких запусков я пришла к выводу, что спор «вебинар или видео» в 2026 году сформулирован не совсем правильно. Покупатель выбирает не столько формат. Он выбирает, сколько собственного времени и общения с продавцом готов потратить, чтобы принять решение.

Классическая корпоративная воронка часто выглядит примерно так: Хотите посмотреть продукт? Оставьте заявку → менеджер позвонит → договоримся о времени → проведем демонстрацию.

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

Читать далее

“Жрёт много” или 5 способов НЕ кормить ботов из РСЯ

Habr.com - Fri, 08/14/2026 - 12:07

Внутри:

- Как избавиться от тех, кто ПОСТОЯННО кликает по вашей рекламе.
- Защищаем сайт БЕЗ КАПЧИ: рисуем кнопку, которая будет невидима для бота.
- Как вычесть мусорные визиты из Яндекс.Директа.
- Как кормить Директ конверсиями, чтобы он НЕ учился на МУСОРЕ.

И ТОПовый лайвхак! Ловушка для ботов, которую может повторить каждый.

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

Читать далее

Можно ли инициировать движение объектов магнитным полем?

Habr.com - Fri, 08/14/2026 - 12:05

UMDemoLab

Физика, всё же, удивительная штука, и, порой открывает мир совершенно с неожиданных сторон — например, как вам понравится, что можно вызывать физическое движение объектов, простым воздействием магнитного поля?! 

Несмотря на кажущуюся странность такой возможности — это широко известный научный эксперимент, одним из авторов которого являлся сам знаменитый Эйнштейн… 

Читать далее

Почему Илону Маску не удается создать по-настоящему правдивую нейросеть?

Habr.com - Fri, 08/14/2026 - 11:40

Илон Маск как одержимый выпускает на рынок все новые модели своей нейронной сети Grok, и 12 августа уже стала доступной версия 4.6, но, хотя он постоянно подчеркивает, что его детище является максимально правдивым ИИ, правдивость ответов Grok в некоторых случаях не обеспечивает. Это не случайно – в модели содержится принципиальный дефект – она не владеет научными правилами отличия правды от лжи и заблуждений. Чтобы исправить этот дефект, к алгоритмам обучения SFT и RL следует добавить новый – НРД.

Несколько лет назад Илон Маск захотел создать альтернативу ChatGPT – нейросеть TruthGPT, в которой упор был бы сделан на поиск правды, однако что-то пошло не так, и у него получилась в 2023 году нейросеть Grok, у которой из-за минимальной цензуры существует значительный риск воспроизведения непроверенных данных, поэтому ее пользователям рекомендуют обязательно проверять факты.

Тем не менее, сам Илон Маск постоянно подчеркивает, что его детище является максимально правдивым ИИ, даже если эта истина иногда противоречит общепринятой точке зрения или политкорректности. Да и название нейросети, которое взято из романа Роберта Хайнлайна «Чужак в чужой стране», там использовалось в смысле интуитивного, глубинное понимание чего-либо. То есть претензии на правду остались, несмотря на другое название.

Маск считает, в частности, что другие нейросети содержат скрытые элементы идеологии разнообразия, равенства и инклюзивности (DEI), а это представляет серьезную угрозу, так как ИИ может из-за этого принимать неверные решения. Например, если ИИ научить, что разнообразие является единственным приемлемым результатом, то нейросеть может сказать, что у власти слишком много белых парней, и их надо просто казнить. А если, допустим, запрограммировать ИИ думать, что неправильное определение пола – это худшее, что может произойти, тот, чтобы гарантировать, что неправильное определение пола никогда не произойдет, решит просто уничтожить всех людей, так как это сведет к нулю  вероятность неправильного определения пола.

Читать далее

Who's online

There are currently 0 users and 8 guests online.
Syndicate content