Forwarded from QuantChemAndStuff
Пришло абсолютно ужасающее известие из США. 😱
Группу атомной спектроскопии Национального института стандартов и технологий (NIST) закрывают в течение ближайших нескольких недель, поскольку их работа "не является критической для миссии NIST". Если что, это та самая группа, которая создаёт и поддерживает многие из баз данных, которые мы так любим использовать в нашей повседневной работе, в частности Atomic Spectra Database. Это подразделение NIST существует больше 120 лет, первая научная работа Национального бюро стандартов (старое название NIST) была из этой самой группы, ну и конечно, за многие годы именно это подразделение было мировым лидером в спектроскопии и метрологии, имея уникальные спектроскопические приборы, покрывающие почти весь электромагнитный диапазон (от рентгена до ИК). Но, видимо в рамках новой оптимизации "гениальных эффективных менеджеров," данному подразделению был подписан смертный приговор.
К сожалению, не очень понятно, что можно с этим сделать, и сейчас сотрудники NIST пытаются придумать как сохранить знание и приборы, например, распределяя нагрузку по поддержанию баз данных и отдавая приборы в другие организации. Поэтому, если вы можете сделать оффлайн копию баз данных от этой лаборатории, пожалуйста сделайте это сейчас, поскольку кабель могут отрубить в любую минуту. Ещё, была запущена петиция на Change.org о сохранении лаборатории. И хотя петиции почти никогда не работают, вдруг вы захотите её подписать. Ссылка на неё здесь:
https://www.change.org/p/oppose-the-layoff-of-the-nist-atomic-spectroscopy-group
Группу атомной спектроскопии Национального института стандартов и технологий (NIST) закрывают в течение ближайших нескольких недель, поскольку их работа "не является критической для миссии NIST". Если что, это та самая группа, которая создаёт и поддерживает многие из баз данных, которые мы так любим использовать в нашей повседневной работе, в частности Atomic Spectra Database. Это подразделение NIST существует больше 120 лет, первая научная работа Национального бюро стандартов (старое название NIST) была из этой самой группы, ну и конечно, за многие годы именно это подразделение было мировым лидером в спектроскопии и метрологии, имея уникальные спектроскопические приборы, покрывающие почти весь электромагнитный диапазон (от рентгена до ИК). Но, видимо в рамках новой оптимизации "гениальных эффективных менеджеров," данному подразделению был подписан смертный приговор.
К сожалению, не очень понятно, что можно с этим сделать, и сейчас сотрудники NIST пытаются придумать как сохранить знание и приборы, например, распределяя нагрузку по поддержанию баз данных и отдавая приборы в другие организации. Поэтому, если вы можете сделать оффлайн копию баз данных от этой лаборатории, пожалуйста сделайте это сейчас, поскольку кабель могут отрубить в любую минуту. Ещё, была запущена петиция на Change.org о сохранении лаборатории. И хотя петиции почти никогда не работают, вдруг вы захотите её подписать. Ссылка на неё здесь:
https://www.change.org/p/oppose-the-layoff-of-the-nist-atomic-spectroscopy-group
NIST
Atomic Spectroscopy Group
The mission of the Atomic Spectroscopy Group is to measure, calculate, critically compile, and disseminate reference data on atomic properties and fundamental constants in support of basic research, commercial development, and national priorities
😢3🫡3👍1
Вышел-таки релиз смака 4.0!
Авторы решились поднять мажор, чтобы подсветить изменения в обратной совместимости и аккуратно выпилить старьё времён версии 2.8.ххх, старее, и вверх до версии 3.5 - старые политики, некоторые кривые вещи, устаревшие ещё с начала 10-х годов, хотя, по изменениям релиз минорный (до февраля это был ещё релиз 3.32, жалко, что красивой цифры 3.33 мы так и не увидели).
Для поддержки сборки проектов, которые собирались на последних версиях (3.31, 3.30 и некоторых раньше) добавили переменную окружения для мейнтейнеров старья CMAKE_MINIMUM_POLICY_VERSION
, и ей надо задать версию 3.5, чтобы старые проекты не ругались на старые политики сборки, которые были удалены. Авторы смака вместе с мейнтейнерами некоторых дистров (дебиан, Федора) помогли починить кое-где сборку.
Если у вас проект, у которого стоит
Помимо этого, там:
- в рамках тикета нашли багу в LLVM, в его поддержке модулей c++20 для clang/libc++ (Там глава Kitware зачинил багу);
- Продолжают внедрять и стабилизировать CPS - декларативный формат для внешних зависимостей, которые потом будут цепляться через
- Улучшают инструментацию сборки/конфигурирования проекта (активности примерно начались с версии 3.18, когда добавили простую возможность профилирования этапа конфигурации проекта), теперь можно будет получить более детальную информацию о том, что именно подтормаживает при процессе конфигурации/сборки проектов. Формат данных - flame-graph, включить в своем проекте можно через флаги --
В четвертой версии эту вещь расширили (на сборку, линковку, кастом-шаги), написали документацию, и сделали возможность задавать свои хуки на измерения, общаться через CMake File API (используется IDE-шками для сбора ВСЕЙ метаинфы о проекте, о таргетах, исходниках и пр.). Новая фича спрятана под волшебным идентификатором
- потихоньку улучшается дока по CMake , поэтому рекомендую периодически ее посматривать - авторы за релиз обычно много всяких полезных уточнений делают/принимают от волонтеров
- на мобильных устройствах теперь левая колонка со ссылками спрятана в "бутерброд"-кнопку контекстного меню;
- старые генераторы для MSVC, которые принимали в своем имени битность архитектуры (вида "Visual Studio 2015 64") были дропнуты в пользу флага
- Теперь можно экспортировать журнал конфигурирования проекта в формат SARIF через флаг
- Началась работа над генерацией SPDX SBOM
- Пачка прочих изменений (384 мерж-реквестов было слито, и там сотни файлов и тысячи строк были дропнуты после удаления старых вещей)
- также там был влит мой "фермерский" MR с фиксом кодировки текста ошибки, который можно получать через функцию FormatMessage(), там неверно интерпретировалась строка как юникод (haha, classic).
Другие изменения (а я рассказал только про удаленные вещи и про интересные экспериментальные фичи) можно глянуть в списке изменений тут: https://cmake.org/cmake/help/v4.0/release/4.0.html
#длиннопостик #смак #cmake #cpp #cxxmodules #profiling #build
v1.1.1-2025-03-09-0046
#длиннопостик@AlexFailsChannel
Авторы решились поднять мажор, чтобы подсветить изменения в обратной совместимости и аккуратно выпилить старьё времён версии 2.8.ххх, старее, и вверх до версии 3.5 - старые политики, некоторые кривые вещи, устаревшие ещё с начала 10-х годов, хотя, по изменениям релиз минорный (до февраля это был ещё релиз 3.32, жалко, что красивой цифры 3.33 мы так и не увидели).
Для поддержки сборки проектов, которые собирались на последних версиях (3.31, 3.30 и некоторых раньше) добавили переменную окружения для мейнтейнеров старья CMAKE_MINIMUM_POLICY_VERSION
, и ей надо задать версию 3.5, чтобы старые проекты не ругались на старые политики сборки, которые были удалены. Авторы смака вместе с мейнтейнерами некоторых дистров (дебиан, Федора) помогли починить кое-где сборку.
Если у вас проект, у которого стоит
cmake_minimum_required(VERSION 3.4) и ниже - пора обновиться, желательно на 3.10. (у проектов, у которых нет этой команды вверху, лучше добавить эту команду, чтобы правильно применять политики обратной совместимости).Помимо этого, там:
- в рамках тикета нашли багу в LLVM, в его поддержке модулей c++20 для clang/libc++ (Там глава Kitware зачинил багу);
- Продолжают внедрять и стабилизировать CPS - декларативный формат для внешних зависимостей, которые потом будут цепляться через
find_package(libmeow COMPONENTS paws)- Улучшают инструментацию сборки/конфигурирования проекта (активности примерно начались с версии 3.18, когда добавили простую возможность профилирования этапа конфигурации проекта), теперь можно будет получить более детальную информацию о том, что именно подтормаживает при процессе конфигурации/сборки проектов. Формат данных - flame-graph, включить в своем проекте можно через флаги --
profiling-output=<filename> --profiling-format=google-trace, например: cmake -S . -B build --profiling-output=configure-profile.json --profiling-format=google-trace. Полученный JSON можно скормить служебной странице хромиумоподобных браузеров about:profiling, в случае с Firefox - на profiler.firefox.com. Также такие файлы понимают некоторые IDE, типа Qt Creator, vscode и пр. В четвертой версии эту вещь расширили (на сборку, линковку, кастом-шаги), написали документацию, и сделали возможность задавать свои хуки на измерения, общаться через CMake File API (используется IDE-шками для сбора ВСЕЙ метаинфы о проекте, о таргетах, исходниках и пр.). Новая фича спрятана под волшебным идентификатором
CMAKE_EXPERIMENTAL_INSTRUMENTATION. Такие идентификаторы описаны тут (там и про CPS, и про find_package() с CPS, и про import std, который все ещё не достаточно стабильный, и авторы CMake ходят фиксят/репортят баги в апстримах). Эта тема будет интересна для авторов IDE, для девопсов и тех, кому хочется найти узкие места сборки как локально, так и на CI/CD, и я, возможно, сделаю по этой теме отдельную заметочку;- потихоньку улучшается дока по CMake , поэтому рекомендую периодически ее посматривать - авторы за релиз обычно много всяких полезных уточнений делают/принимают от волонтеров
- на мобильных устройствах теперь левая колонка со ссылками спрятана в "бутерброд"-кнопку контекстного меню;
- старые генераторы для MSVC, которые принимали в своем имени битность архитектуры (вида "Visual Studio 2015 64") были дропнуты в пользу флага
-A <arch-name>- Теперь можно экспортировать журнал конфигурирования проекта в формат SARIF через флаг
--sarif-output=<file>- Началась работа над генерацией SPDX SBOM
- Пачка прочих изменений (384 мерж-реквестов было слито, и там сотни файлов и тысячи строк были дропнуты после удаления старых вещей)
- также там был влит мой "фермерский" MR с фиксом кодировки текста ошибки, который можно получать через функцию FormatMessage(), там неверно интерпретировалась строка как юникод (haha, classic).
Другие изменения (а я рассказал только про удаленные вещи и про интересные экспериментальные фичи) можно глянуть в списке изменений тут: https://cmake.org/cmake/help/v4.0/release/4.0.html
#длиннопостик #смак #cmake #cpp #cxxmodules #profiling #build
v1.1.1-2025-03-09-0046
#длиннопостик@AlexFailsChannel
🔥9❤7👍5
ВЕЛО1. Москва — Петербург
Посмотрите, сколько велосипедов!
Это ваша кодовая база