LINUX.ORG.RU

Сообщения dataman

 

Сопровождающий 16 модулей GNOME ограничит своё участие в проекте

https://www.opennet.ru/opennews/art.shtml?num=64759:

Кристиан Хергерт (Christian Hergert), автор интегрированной среды разработки GNOME Builder, эмулятора терминала Ptyxis и текстового редактора GNOME Text Editor, объявил, что в связи с переездом из США во Францию и изменением приоритетов в жизни, больше не сможет уделять должное внимание разработке GNOME. Кристиан являлся почти единственным активеным сопровождающим 16 модулей GNOME и более сорока часов в неделю уделял поддержке и развитию стека GNOME. Отмечается, что после переезда его возможности по участию в разработке будут сильно ограничены и основное время он будет уделять семье, новой деятельности и налаживанию быта на новом месте.

В качестве причины переезда упоминается новая эммиграционная политика США (у Криса жена родом из Тибета). Крис был трудоустроен в Red Hat, но данная компания отклонила его просьбу сохранить должность после переезда во Францию, несмотря на предоставление доказательства наличия рисков для его семьи.

Cписок модулей, сопровождением и разработкой которых занимался Крис:

  • GtkSourceView - библиотека для встраивания в приложения виджета многострочного редактирования текста, применяется во многих редакторах на базе GTK.
  • Text Editor - основной текстовый редактор GNOME.
  • Ptyxis - эмулятор терминала, по умолчанию используется в Fedora, Debian, Ubuntu, RHEL/CentOS/Alma/Rocky.
  • libspelling - библиотека для использования в GTK-приложениях проверки правописания на базе пакета enchant2.
  • Sysprof - система профилирования, интегрируемая с Linux perf, Mesa, GTK, Pango, GLib, WebKit, Mutter.
  • Builder - интегрированная среда разработки.
  • template-glib - шаблонизатор для GObject.
  • jsonrpc-glib - библиотека для взаимодействия через JSON-RPC.
  • libpeas - движок для создания плагинов на C, C++, Rust, Lua, Python и JavaScript.
  • libdex - библиотека для отложенного выполнения задач и интеграции с io_uring.
  • GOM - маппинг объектов GObject в SQLite.
  • Manuals - просмотрщик документации.
  • Foundry - реализация функциональности GNOME Builder для использования из командной строки и в форме библиотеки.
  • d-spy - утилита для анализа соединений D-Bus.
  • libpanel - виджеты для создания сложных IDE-подобных приложений на базе GTK и libadwaita.
  • libmks - GTK-компоненты для отображения экрана и передачи событий мыши/клавиатуры при взаимодействии с виртуальными машинами на базе QEMU.

 , ,

dataman
()

SoX_ng — форк SoX

Прилетело обновление в Devuan/Ceres (ну и в Debian/sid, конечно), ну и вот.

https://codeberg.org/sox_ng:

The SoX_ng project aims to sanitize the Swiss Army Knife of sound processing utilities by unifying commits in the fifty-odd development forks and patches in the fifty-odd distros that package SoX and by making regular time-based releases every six months.

https://codeberg.org/sox_ng/sox_ng:

The SoX_ng project imports, compares and refines bug fixes and new work from the 50-odd software distributions that package SoX and from the plethora of forks on github and elsewhere and makes regular releases with a six-monthly cadence for each of the micro (bug fixes) and minor (new features) releases. A major release (non-backwards-compatible changes) is not planned.

The next micro release is scheduled for the 18th February 2026.
The next minor release is scheduled for the 18th May 2026.

Такие дела.

 ,

dataman
()

Википедия: четверть века свободных знаний

https://ru.wikipedia.org/wiki/Википедия:25_лет:

15 января 2026 года Википедия отметит 25-летие со дня своего основания в 2001 году. Серебряный юбилей Википедии отмечается во всём мире в течение года.

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

Википедия начиналась с амбициозной идеи создания свободной энциклопедии, написанной волонтёрами для людей во всём мире. Это казалось невозможным, но за два с половиной десятилетия Википедия стала самым популярным хранилищем знаний. Как это произошло? (1 мин. 30 сек.)

https://ru.wikipedia.org/wiki/Википедия:Обзор:

25 лет назад Википедия была мечтой, амбициозной и, как казалось, несбыточной. Перенесёмся в наше время — и увидим миллиарды читателей, сотни тысяч редакторов: простых любителей, писателей, учителей, специалистов разных направлений и учёных. Википедия стала мировым источником информации № 1. Если вы ищете какую-то информацию, то скорее всего найдёте её здесь. Википедия может поделиться с вами знаниями из самых разных областей, от истории маленьких деревень и биографий отдельных людей до шоу-бизнеса, мировой политики и передовых научных достижений. Искусственный интеллект обучается на основе Википедии. Поисковые системы приводят её в первых строках. Ваш умный помощник говорит: «Вот что я нашёл в Википедии…». В мире, где платные подписки и реклама кажутся нормой, Википедия по-прежнему бесплатна, нейтральна, открыта и человечна. Это тот интернет, который нам обещали: 25 лет знаний, сотрудничества, консенсуса и гуманизма в лучшем его проявлении. За всем этим стоят простые волонтёры, редактирующие статьи, спорящие и приходящие к согласию. Вы можете принять участие в редактировании в любое время. Сохранение и развитие знаний зависит от каждого из нас.

24 года достижений

Идея объединить мировые знания в одном месте восходит к античным библиотекам и древним всеобщим энциклопедиям, таким как «Естественная история» Плиния Старшего. Концепция универсальной, широко распространённой печатной энциклопедии берёт своё начало с Дени Дидро и французских энциклопедистов XVIII века. Концепция всемирной машинной энциклопедии получила развитие в сборнике эссе фантаста Герберта Уэллса «Мировой мозг» (1938) и других сочинениях. В начале XXI века эта фантастическая идея стала реальностью.

Википедия выросла из Nupedia, более профессиональной бесплатной онлайн-энциклопедии. В 2001 году Джимми Уэйлс и Ларри Сангер запустили Wikipedia в качестве дополнительного проекта, используя движок вики (откуда и название Википедии) как инструмент для совместного составления документов. Хотя изначально Википедия задумывалась как место для черновиков статей, которые впоследствии предполагалось доработать в Nupedia, она быстро превзошла свою предшественницу, став глобальным проектом и вдохновив широкий спектр других справочных онлайн-проектов.

Первые месяцы Википедия писалась только на английском языке. Первым неанглийским языковым разделом стал немецкий, созданный 16 марта 2001 года. Раздел на русском языке основан 11 мая 2001 года.

На начало 2026 года Википедия содержит более 66 миллионов статей на более чем 340 языках мира. Википедия является седьмым или девятым по посещаемости веб-сайтом в мире (согласно различным источникам данных об интернет-трафике) и единственным некоммерческим сайтом с такой высокой посещаемостью. В Википедии пишут, редактируют и проверяют факты почти 250 000 человек со всего мира. Википедия стала самым крупным и наиболее читаемым справочником, а также самой полной энциклопедией из когда-либо создававшихся за всю историю человечества.

Русскоязычный раздел к настоящему времени входит в десятку крупнейших языковых разделов Википедии по всем основным показателям и включает 2 080 229 статей.

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

Как она работает?

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

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

Слоган Википедии «Свободная энциклопедия» относится к свободному и бесплатному распостранению её содержимого (по условиям свободной лицензии). В Википедии может участвовать любой человек (даже без регистрации), но исключительно в рамках правил проекта. Правила не позволяют писать, что угодно, поскольку целью Википедии является создание достоверной энциклопедии, а не площадки для свободного самовыражения. Возможный непрофессионализм редакторов нейтрализуется требованием писать статьи согласно источникам, авторитетным в данной конкретной области знаний, а также постоянной проверкой фактов и открытыми обсуждениями. Хотя в отдельных тематиках статьи Википедии могут быть недостоверными, необъективными или предвзятыми, но это является не общим положением вещей, а нарушением правил, которые предписывают создание проверяемого, нейтрального и взвешенного контента.

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

 ,

dataman
()

Секрет кока-колы — больше не секрет. Бери и делай

https://pikabu.ru/story/sekret_kokakolyi__bolshe_ne_sekret_beri_i_delay_13591787:

Ютубер Зак Армстронг с канала LabCoatz потратил почти год на изучение и воспроизведение секретной формулы Coca-Cola — одного из самых тщательно охраняемых коммерческих секретов в мире. Как он отмечает в начале видео, компания принимает экстремальные меры защиты: демонстрирует гигантское стальное хранилище на экскурсиях, а ингредиенты доставляются без маркировки с разных производств, сотрудники которых не знают, что именно они производят.

TL;DR

Винс с канала Neptunium и Бен с канала Aspect Everything исследовали Coca-Cola, ингредиенты Зака и похожие напитки (включая Pepsi) на масс-спектрометрах.

Рецепт Lab Cola

Оборудование:

• Точные весы
• Регулируемая микропипетка (до 1000 мкл)
• Мерный цилиндр на 50 мл
• Литровые бутылки для хранения
• Термостойкая стеклянная посуда (не металлическая — фосфорная кислота разъедает металл)
• Магнитная мешалка и мерная колба на 1 л (по желанию)

Ингредиенты:

Эфирные масла, сахар, газированная вода, кофеин, карамельный краситель, пищевой спирт, 85%-ная фосфорная кислота, глицерин, винные танины, 5%-ный уксус, ванильный экстракт, фенхол.

Смесь A — ароматизатор «7X»:

• 45,8 мл лимонного масла
• 36,5 мл лаймового масла
• 1,2 мл апельсинового масла
• 8 мл масла чайного дерева
• 4,5 мл масла кассии (корицы)
• 2,7 мл мускатного масла
• 0,7 мл кориандрового масла
• 0,6 мл фенхола

Смесь желательно выдержать один-два дня. Затем 20 мл ароматической основы разводят пищевым спиртом до одного литра. Этого хватит более чем на 5000 литров газировки.

Смесь B — водорастворимые компоненты:

В примерно 200 мл горячей воды растворить:

• 10 мл 5%-ного уксуса
• 9,65 г кофеина
• 175 г глицерина
• 45 мл 85%-ной фосфорной кислоты
• 8 г винных танинов
• 10 мл ванильного экстракта
• 320 мл карамельного красителя

Довести объём водой до одного литра.

Приготовление напитка:

1. Растворить 104 г сахара в небольшом количестве воды (не 110 г — фосфорная кислота гидролизует сахарозу).

2. Влить 10 мл смеси B и 1 мл смеси A (7X).

3. Нагреть почти до кипения и накрыть крышкой.

4. Остудить и довести холодной газированной водой до одного литра.

5. Для лучшего вкуса дать постоять в холодильнике сутки.

Зак организовал для своей колы слепые и открытые дегустации. Участники с трудом отличали Lab Cola от настоящей Coca-Cola.

Те, кто регулярно пьёт Coca-Cola, чаще угадывали реплику, но общий вывод таков: Lab Cola можно спутать с Coca-Cola (но не с Pepsi). Когда напиток пробовали отдельно, без прямого сравнения, его принимали за оригинал — в отличие от рецепта Пембертона, Open Cola и прочих клонов.

Актуальную версию рецепта автор обещает поддерживать в описании под видео.

 , ,

dataman
()

Сайты с таблицами системных вызовов

  1. https://syscalls.mebeim.net – всегда свежие данные; есть сигнатура вызова; JSON для отдельных версий ядра.

  2. https://syscalls.defoy.tech – еженедельное обновление; syscalls.tar.gz всех CSV.

  3. https://x64.syscall.sh – только arm, arm64, x86; есть сигнатура вызова; есть API сайта.

  4. https://filippo.io/linux-syscall-table – Linux 6.16-rc1; нечёткий поиск по имени; исходники этого HTML на Go.

Enjoy!

 

dataman
()

Cex.C — making old C cexy again!

Александр Веденеев пишет:

https://cex-c.org

Cex.C - Comprehensively Extended C Language
No dependency, cross-platform, single header C language extension. Making old C cexy again!

https://github.com/alexveden/cex

Cex.C (officially pronounced /ˈtsɛk.si/ «tsek-see») was born as alternative answer to a plethora of brand new LLVM based languages which strive to replace old C. Cex.C still remains C language itself, with small, but important tweaks that bring a completely different development experience.

LEGAL NOTICE: Any intentional mispronunciation of Cex.C or cexy$ (build system), officially pronounced /ˈtsɛk.si/ («tsek-see»), into an incorrect form may be considered intentional tseksual harassment of the project — which identifies itself with the code gender (it/its) — and may be subject to legal action under the MIT License. /LOL/

$ stat cex.h:

Size: 680288

#define CEX_IMPLEMENTATION
#include "cex.h"

int
main(int argc, char** argv)
{
    io.printf("MOCCA - Make Old C Cexy Again!\n");
    return 0;
}

 , ,

dataman
()

eXdupe — быстрый консольный архиватор файлов с дедупликацией и дифференциальным резервным копированием

https://www.exdupe.net.

eXdupe 3tar+zstdkopiaresticDuplicacyzpaq647-Zip flzma2Duplicati
Time9.76 s14.2 s14.8 s24.8 s77.0 s112 s209 s360 s
Size7.34 GB10.6 GB9.93 GB9.21 GB11.4 GB8.18 GB9.42 GB10.2 GB

Исходный код на C и C++: https://github.com/rrrlasse/eXdupe, GNU GPL 2.0+.

Версия 3.0.0 от 30 июня:

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

 , , , ,

dataman
()

Уран и Нептун зачислили в ряды каменных планет

https://naked-science.ru/article/astronomy/new-interior-models-of-ur

По общепринятой и незыблемой до сих пор версии, Уран и Нептун — ледяные гиганты: основную часть их массы составляют летучие вещества в особом состоянии «горячих льдов». Теперь у планетологов появилась альтернативная гипотеза: они подозревают, что никаких «горячих льдов» внутри них может не быть, а вместо этого есть крупные каменные ядра, окруженные легкой газовой оболочкой.

Плотность Юпитера на самом деле даже немного выше плотности Урана — 1,33 грамма на кубический сантиметр. Тем не менее пока что никто не сомневается в том, что крупнейшая планета Солнечной системы — газовый гигант: состоит он почти целиком из водорода, но его огромная масса (318 масс Земли) создает внутри настолько экстремальное давление, что водород в самом центре переходит в «металлическое» состояние. 

Уран заключает в себе лишь около 14 масс Земли, а Нептун — 17, но при этом их плотности составляют 1,27 и 1,64 грамма на кубический сантиметр соответственно. Такого сильного давления, как внутри Юпитера, в них быть не может. Поэтому планетологи и пришли к выводу, что водород и гелий составляют лишь примерно треть их общей массы, а под этой легкой оболочкой должно скрываться нечто более тяжелое. 

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

Недавно ученые из Университета Цюриха (Швейцария) поставили эту устоявшуюся концепцию под сомнение и поделились собственными расчетами в статье, доступной (1) на сервере препринтов arXiv.org. Они заверили, что собранных на сегодня данных об Уране и Нептуне недостаточно для того, чтобы уверенно называть их ледяными гигантами. 

Исследователи смоделировали разные варианты внутреннего строения этих планет так, чтобы оно одновременно соответствовало и всем их наблюдаемым параметрам, и вообще законам физики. Как выяснилось, и Уран, и Нептун с таким же успехом могут оказаться не ледяными, а «каменными» гигантами — содержать в себе твердые ядра размерами и массой до половины всей планеты и даже больше. Напомним, диаметр Урана и Нептуна — примерно 51 и 49 тысяч километров соответственно.

Ученые задались вопросом: как в таком случае должны генерироваться магнитные поля двух планет? У Урана и Нептуна они намного слабее, чем у Земли, а устроены гораздо сложнее. По основной версии, они формируются не в ядре, а в мантии — там вода от давления распадается на ионы, становится гораздо более электропроводной, и ее интенсивное перемешивание создает магнитное динамо. Как пишут планетологи, даже в качестве «каменных гигантов» Уран и Нептун не лишаются этого электропроводящего слоя, хотя он и должен быть тоньше, чем в классической модели их внутреннего строения.

(1) https://arxiv.org/abs/2510.00175

 ,

dataman
()

Отставка команды модераторов NixOS из-за разногласий с управляющим комитетом

https://www.opennet.ru/opennews/art.shtml?num=63967:

Команда модераторов, отвечавшая за поддержание порядка в форумах и репозиториях проекта NixOS, объявила о снятии с себя полномочий в знак протеста против действий управляющего комитета (SC - Steering Committee), вмешивающегося в работу модераторов и пытающегося влиять на принимаемые решения. Действия комитета рассматриваются модераторами как превышение полномочий и, так как правила проекта не регламентируют подобные ситуации, команда модераторов решила, что в сложившихся условиях не может добросовестно выполнять свою работу.

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

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

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

Дополнение: Роберт Хенсинг (Robert Hensing) из управляющего комитета пояснил, что комитет пытался сотрудничать с командой модераторов для понимания модераторских решений, чтобы направить поведение модераторов в объективное русло, а также сделать модерацию справедливой. Основное недовольство модераторами было связано с тем, что модерация проводилась не на основе кодекса поведения, а на личных мнениях и компромиссах. Более решительные меры были предприняты так как модераторы не хотели отчитываться перед управляющим комитетом, которому они напрямую подчинены в иерархии проекта.

 ,

dataman
()

Приближается 3I/ATLAS

https://ru.wikipedia.org/wiki/3I/ATLAS

3I/ATLAS или C/2025 N1 (ATLAS) (предварительное обозначение A11pl3Z) — межзвёздный объект с кометными свойствами, который 29 октября 2025 года сблизится с Солнцем до расстояния 1,36 а.е. Объект обладает самым большим эксцентриситетом из всех открытых межзвёздных объектов (6,15 ± 0,17 против 1,2 и 3 у Оумуамуа и у кометы Борисова соответственно). Максимальное сближение с Землёй ожидается 19 декабря 2025 года, расстояние до неё составит 1,8 ± 0,1 а.е.

Открытие
3I/ATLAS впервые обнаружен в ходе обзора неба ATLAS 1 июля 2025 года. Он двигался по небу вдоль границы созвездий Змеи и Стрельца, вблизи галактической плоскости. Обсерватории и любители астрономии сразу начали искать этот объект на более ранних снимках, чтобы увеличить дугу наблюдений 3I/ATLAS для уточнения его траектории. Объект удалось найти на снимках от 25 и 29 июня 2025 года. Прогнозируется, что 3I/ATLAS пролетит в 28 миллионах километров от Марса и (без учёта кометных свойств) достигнет на небе красной планеты 11-й звёздной величины, что сделает его едва видимым для аппарата MRO.

TL;DR

Гипотеза об искусственном происхождении

16 июля 2025 года астрофизик Ави Леб из Гарвардского университета и другие исследователи опубликовали статью на arXiv, в которой предполагается, что 3I/ATLAS может быть внеземным космическим аппаратом, поскольку они полагают, что объект обладает «аномальными» характеристиками.

Основные аргументы Леба в пользу искусственной природы:

* Орбита объекта совпадает с плоскостью земной орбиты всего на 5 градусов, что по оценкам: случайность с вероятностью 0,2 %.
* Движется по ретроградной траектории и обладает аномально высокой яркостью, что указывает на диаметр около 20 километров — больший, чем у типичной межзвездной кометы.
* Обнаружено негравитационное ускорение, предположительно связанное с активными манёврами объекта, что нехарактерно для естественных тел.
* Положение объекта при перигелии позволяет ему выполнить манёвр Оберта — космический приём для торможения и выхода на орбиту, что предполагает наличие управления движением.
Ученый связывает эти особенности с гипотезой темного леса из научной фантастики, согласно которой разумные цивилизации скрывают своё присутствие, опасаясь уничтожения, и могут запускать скрытные зонды для разведки.

Другие астрономы, в том числе Крис Линтотт из Оксфордского университета, сразу же раскритиковали предположение Леба; на сайте научных новостей — Live Science, сообщается, что «подавляющее большинство считает, что это комета», при этом многие исследователи «разочарованы новой статьей и отмечают, что она отвлекает от работы других ученых». Дэррил Селигман, возглавлявший первое исследование 3I/ATLAS, заявил, что «было проведено множество телескопических наблюдений 3I/ATLAS, демонстрирующих, что она имеет классические признаки кометной активности».

 ,

dataman
()

Герб Саттер — отчёт о встрече по стандартам ISO C++ в июне 2025 года

https://herbsutter.com/2025/06/21/trip-report-june-2025-iso-c-standards-meeting-sofia-bulgaria/

Уникальная веха: «Совершенно новый язык»

Сегодняшний день знаменует собой поворотный момент в развитии C++: несколько минут назад комитет C++ проголосовал за включение первых семи (7) документов по рефлексии во время компиляции в C++26 под несколько продолжительных аплодисментов в зале. Я думаю, что Хана «Мисс Constexpr» Дусикова лучше всего описала влияние этой функции несколько дней назад, в своей спокойной бесстрастной манере… Когда ей сказали, что документ об рефлексии попадёт на субботнее голосование по принятию, она слегка пожала плечами и тихо сказала: «Совершенно новый язык».

Микрофон упал.

До сегодняшнего дня, возможно, самым значимым опросом за всю историю C++ был опрос в Торонто в июле 2007 года о принятии первого документа «constexpr» Бьярне Струструпа и Габриэля Дос Рейса в проект C++11. Оглядываясь назад, мы можем видеть, какой тектонический сдвиг начался для C++.


Даниэль Лемир (Daniel Lemire) попробовал:


Экспериментальный форк clang от Bloomberg с поддержкой P2996 («Reflection for C++26»):

Есть в godbolt.org.

 ,

dataman
()

jemalloc всё

2 июня 2025 Jason Evans, автор аллокатора jemalloc, перевёл репозиторий в режим «только для чтения».

https://jasone.github.io/2025/06/12/jemalloc-postmortem/

Аллокатор памяти jemalloc был впервые задуман в начале 2004 года, и вот уже около 20 лет он находится в публичном использовании. Благодаря природе лицензирования программного обеспечения с открытым исходным кодом, jemalloc будет оставаться общедоступным неограниченное время. Однако активная разработка этого приложения подошла к концу. В этом посте кратко описаны этапы разработки jemalloc, каждый из которых характеризуется некоторыми успехами/неудачами, а затем даны некоторые ретроспективные комментарии.

TL;DR

jemalloc был для меня странным развлечением, поскольку я уже более 25 лет являюсь убежденным сторонником сборки мусора, а не ручного управления памятью. Лично я рад снова работать над системами со сборкой мусора, но jemalloc был чрезвычайно насыщенным проектом. Спасибо всем, кто сделал этот проект таким стоящим – и соавторам, и сторонникам, и пользователям.

 , , ,

dataman
()

Skribidi — шустрая библиотека рендеринга текста

Mikko Mononen пишет на Си библиотеку Skribidi:

Skribidi is nimble bidirectional text stack for building UIs.

Features

  • bidirectional text layout
  • bidirectional text editing
  • font collections with CSS inspired font selection
  • color emojis
  • line breaking
  • text attributes
    • size, weight, style, streatch, letter spacing, word spacing, line spacing, baseling align, horizontal aling)
  • icons
  • glyph, emoji and icon rasterization
    • color, SDF and alpha
  • render cache with image atlas for glyphs and icons
  • layout cache for immediate mode use
  • lean dependencies

Status
Skribidi just got started. There are bugs and the API is very likely to change.

 , , ,

dataman
()

Ещё парочка компиляторов C

Обнаружил в Alpine/edge.

https://github.com/fuhsnn/slimcc:

This is a fork of Rui Ueyama’s chibicc with fixes and improvements, including:

  • C99 features: VLA parameters, VLA de-allocation, K&R old-style functions.
  • C11 features: _Static_assert(), over-aligned locals, _Generic with qualifiers.
  • C23 features: constexpr, enum:T{}, #embed, auto type-inference, etc.
  • C2y features: labeled loop/switch, if/switch declaration
  • TS features: defer(enable with -fdefer-ts), VA_TAIL
  • GNU features: inline assembly, symbol attributes, cleanup, cons/destructor
  • Basic codegen optimizations: const folding, reg-alloc for temporaries, instruction selection.

https://kefir.protopopov.lv

This web page is dedicated to Kefir C compiler project, developed by Jevgenij Protopopov.

Work on the project has been going on and off since November 2020, and the main goal of this project is producing a reasonably standard-compliant, independent compiler for modern C language (currently targeting C17 standard) for x86_64-based systems following System-V AMD64 ABI. The project is is licensed under GNU GPLv3 terms for the compiler and 3-Clause BSD for compiler-specific include files (see below). More detailed description is available in the README, whereas this page focuses on providing a high-level overview of the project and its purpose.

Disclaimer: Kefir is experimental hobby project which is not meant for production purposes. No guarantees are being made for correctness, completeness, stability and fitness for any particular purpose.

 , ,

dataman
()

Растогруб

https://www.opennet.ru/opennews/art.shtml?num=62945

Разработчики GRUB2 рассматривают возможность использования языка Rust.

Владимир Сербиненко, один из трёх мэйнтейнеров загрузчика GRUB2, внёсший в кодовую базу более пяти тысяч изменений, выставил на обсуждение возможность написания модулей для GRUB2 c использованием языка Rust. Владимир представил первые результаты экспериментов с добавлением поддержки Rust в GRUB2 и созданием необходимых обвязок. Для GRUB также подготовлены изменения, позволяющие использовать разделяемые библиотеки («.so», ET_DYN) для модулей, вместо связывания на уровне объектных файлов («.o», ET_REL).

Инициатива пока позиционируется как отдельный эксперимент, который не будет влиять на разработку GRUB2. В качестве оптимального применения Rust в GRUB упоминается написание модулей для новых файловых систем. Также не исключается переписывание на Rust кода для работы с дисковыми разделами и GPT.

Предполагается, что использование Rust поможет проекту уменьшить вероятность появление некоторых видов ошибок, особенно в коде модулей, содержащем множество больших и сложных процедур парсинга. В феврале в результате аудита кодовой базы GRUB были выявлены 72 проблемы с безопасностью, 21 из которых признаны опасными уязвимостями, пригодными для обхода механизма верифицированной загрузки UEFI Secure Boot. 20 из 21 уязвимостей вызваны ошибками при работе с памятью, приводившими к переполнению буфера или обращению к памяти после её освобождения.

Дополнительно можно отметить выпуск проекта GNU Boot 0.1 RC6, в состав которого вошли вышеотмеченные исправления уязвимостей (в самом GRUB2 исправления продолжают распространяться в виде патчей без формирования отдельного релиза). Проект GNU Boot развивает замену проприетарным прошивкам UEFI и BIOS, основанную на CoreBoot, но применяющую более жёсткие требования к включению бинарных компонентов. GNU Boot преподносится как «coreboot-libre», т.е. как редакция CoreBoot, избавленная от блобов и несвободных компонентов, по аналогии с тем, как проект Linux-libre развивает очищенный вариант ядра Linux. Отдельно развиваются похожие проекты Libreboot и Canoeboot.

 ,

dataman
()

Бьёрн Страуструп призвал стандартизировать профили C++ для безопасной работы с памятью

https://www.opennet.ru/opennews/art.shtml?num=62821

Бьёрн Страуструп (Bjarne Stroustrup), создатель языка C++, призвал комитет WG21, отвечающий за разработку стандартов для языка C++, предпринять меры для сохранения актуальности C++ в условиях активного продвижения инициатив по переходу на языки, обеспечивающие безопасную работу с памятью. Страуструп считает, что язык С++ уже содержит все возможности, необходимые для безопасной работы с памятью. Остаётся только предоставить средства, гарантирующие, что код написан с использованием только безопасных возможностей.

По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры, так как Агентство по кибербезопасности и защите инфраструктуры США и ФБР стали более активно продвигать среди производителей ПО идею перехода на языки, безопасного работающие с памятью. До 2026 года производителям ПО рекомендовано разработать план по применению в своих продуктах технологий, защищающих от ошибок при работе с памятью, или переходу на использование языков, безопасно работающих с памятью.

Стандартизация возможностей для безопасной разработки на C++ позволит сохранить интерес к языку С++, особенно с учётом того, что разработчики существующих проектов на С и C++ смогут постепенно наращивать безопасность своих продуктов, не прибегая к инициативам по переписыванию на другом языке. В частности, проекты на C можно преобразовать в код С++, а за тем поэтапно переводить код на безопасные конструкции, следуя рекомендациям из руководства «C++ Core Guidelines».

Для обеспечения разработки безопасного кода Страуструп предлагает стандартизировать систему профилей C++, вводящих дополнительные требования к коду. Профили близки к применению флагов -Wall и -Wextra при компиляции, но в отличие от них работают на уровне запрета применения определённых возможностей языка. К реализации предлагаются профили для безопасных типов, контроля времени жизни объектов, работы с допустимыми диапазонами значений и целочисленной арифметики. Привязку к профилям можно задавать не только для проекта и файлов (например, [[profile::enforce(type)]]), но и включать/отключать на уровне отдельных конструкций (например, [profile::suppress(lifetime))] this->succ = this->succ->succ;).

Работа по повышению безопасности будет сводится к включению профиля для определённого кода и переписыванию частей, использующих небезопасные возможности языка, охватываемые выбранным профилем. Например, использование профилей поможет уйти от применения в коде сырых указателей и массивов, избавиться приведения типов и защититься от обращений к неинициализированным объектам. Вместо сырых указателей можно использовать, например, умные указатели std::unique_ptr и std::shared_ptr с отслеживанием владения. При наличии в коде циклов «for», перебирающих отдельные элементы Си-массива, потребует заменить данные циклы на вариант с обработкой диапазонов for(type variable : vector), использующий std::vector.

Предложены следующие профили:

  • type – каждый объект должен быть инициализирован, не допускается приведение типов.
  • lifetime – запрещены ссылки на освобождённые или неиспользуемые области памяти, разыменование указателей, явный вызов new/delete.
  • bounds – требуется проверка допустимых диапазонов при работе с указателями, запрещены арифметические операции с указателями.
  • arithmetic – блокируются целочисленные переполнения, запрещены знаковые/беззнаковые преобразования, изменяющие значение.
  • concurrency – исключает операции, приводящие к взаимным блокировкам и состояниям гонки.
  • RAII (Resource Acquisition Is Initialization) – требует проверки владения для каждого ресурса.

Гарантии, реализуемые при использовании профилей:

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

 , , ,

dataman
()

Свершилось! На GitHub можно обсуждать Midnight Commander!

https://github.com/MidnightCommander/mc-old

Midnight Commander’s Legacy Repository

⚠️ This repository has been archived! ⚠️

It reflects the state just before we switched from Trac to GitHub for issue tracking on Feb 28, 2025.

Please use the new repository at MidnightCommander/mc instead!

– Maintainers


MidnightCommander/mc

Уже:

Issues 620

https://github.com/MidnightCommander/mc/discussions/4658

Welcome to Midnight Commander Discussions!

 , ,

dataman
()

Форкнули QuickJS

Оригинал Белларда: https://github.com/bellard/quickjs.
Форк: https://github.com/quickjs-ng/quickjs:

QuickJS is a small and embeddable JavaScript engine. It aims to support the latest ECMAScript specification.
This project is a fork of the original QuickJS project by Fabrice Bellard and Charlie Gordon, after it went dormant, with the intent of reigniting its development.

Версия 0.8.0 от 24 декабря 2024.


Другие JavaScript-движки на C.

https://github.com/svaarala/duktape – больше года без изменений.

Duktape is an embeddable Javascript engine, with a focus on portability and compact footprint.

https://github.com/jerryscript-project/jerryscript – версия 3.0.0 от 18 декабря 2024.

JerryScript is a lightweight JavaScript engine for resource-constrained devices such as microcontrollers. It can run on devices with less than 64 KB of RAM and less than 200 KB of flash memory.

 , , , ,

dataman
()

Для systemd развивается возможность загрузки системных образов по HTTP

Леннарт Поттеринг (Lennart Poettering) предложил включить в системный менеджер systemd изменение, позволяющие загружать систему с использованием образа корневой ФС, получаемого c внешнего хоста по протоколу HTTP. Изменение сводится к расширению systemd возможностью не только скачивать дисковый образ по HTTP на начальной стадии загрузки, но и распаковывать загруженный образ, связывать с блочным устройством в loopback-режиме, монтировать блочное устройство как /sysroot и загружать с него систему.

Поддержка скачивания дисковых образов во время загрузки системы при помощи systemd-import-generator уже включена в состав systemd 257. Остальная функциональности пока находится на стадии рабочего прототипа, требующего доработки. В реализации пока не поддерживается полный цикл загрузки, но в дальнейшем функциональность планируют довести до загрузки через UEFI HTTP Boot универсальных образов ядра UKI (Unified Kernel Image), объединяющих в одном файле загрузчик для UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd.

URL для загрузки системного образа планируют вычислять на основании URL, заданного для EFI-образа в настройках UEFI HTTP Boot (например, при загрузке через EFI HTTP Boot http://example.com/somedir/myimage.efi, присутствующий в UKI initrd-обработчик загрузит образ rootfs как http://example.com/somedir/myimage.raw.xz). В дальнейшем помимо HTTP в качестве транспорта для получения образа планируется добавить поддержку технологии NVMe-over-TCP, позволяющей обращаться к NVMe-накопителям по сети (NVM Express over Fabrics), используя протокол TCP.

Предполагается, что загрузка с образов, получаемых с внешнего хоста, упростит организацию тестирования современных неизменяемых («immutable») операционных систем на реальном оборудовании. Разработчик может на своём компьютере сформировать образ с системным окружением утилитой mkosi и сделать его доступным через HTTP командой «mkosi -f serve». На компьютере, на котором требуется протестировать работу системы, достаточно включить в EFI загрузку по HTTP и добавить URL загружаемого образа командой:

kernel-bootcfg --add-uri=http://192.168.47.11:8081/image.efi --title=testloop --boot-order=0

После чего можно просто перезагрузить компьютер и он загрузит типовой образ ядра UKI, который затем загрузит подготовленный разработчиком дисковый образ с корневой ФС. До отключения в EFI загрузки по HTTP каждая последующая перезагрузка компьютера будет приводить к загрузке свежего системного образа. При подобном тестировании никак не затрагиваются локальные диски.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62711.

 ,

dataman
()

Геологическая история Марса: рентгеновский спектрометр помогает разгадывать марсианские загадки

Учёные раскрывают секреты формирования планеты в образцах древних вулканов Марса.

В новом исследовании международная группа учёных во главе с профессором Мариек Шмидт из Университета Брока представила открытия о критическом периоде эволюционной истории Марса. Работа раскрывает новые подробности о геологическом прошлом Красной планеты.

Профессор Шмидт, возглавляющая кафедру наук о Земле в Университете Брока, участвовала в миссии марсохода Perseverance NASA в качестве научного сотрудника. Она и её коллеги анализировали древние породы, найденные в кратере Езеро на Марсе. Одной из основных целей миссии был поиск признаков древней микробной жизни, но изучение магматических пород и реголита в этом районе также дало представление о малоизученном периоде истории планеты.

«Мы делаем на Марсе то, чего никогда раньше не делали», – говорит Шмидт. Она также является со-исследователем в команде, работающей с прибором PIXL (Planetary Instrument for X-Ray Lithochemistry). Этот рентгенофлуоресцентный спектрометр использовался для определения элементного состава марсианских поверхностных материалов с высоким разрешением, позволяя учёным дистанционно «заглянуть» вглубь пород, чтобы исследовать, как они формировались и из чего состоят.

«Масштаб научных исследований был невероятным. Это самое всестороннее на сегодняшний день изучение образцов, которые были сохранены для возвращения на Землю», – отмечает Шмидт. «Теперь мы знаем минеральный и химический состав пород, понимаем их текстуры, но следующим шагом было рассказать о том, как, по нашему мнению, формировались эти породы с точки зрения подъёма магмы через марсианскую кору, её кристаллизации, эволюции и изменения состава».

Работа также выдвигает ряд гипотез, которые могут направлять дальнейшие исследования, когда образцы будут доставлены на Землю.

Таня Кизовски, соавтор статьи и заместитель куратора по минералогии в Королевском музее Онтарио, отмечает, что все марсианские образцы, изученные на Земле до сих пор, были метеоритами. Большинство марсианских метеоритов имеют возраст менее 500 миллионов лет, что относительно молодо по сравнению с 4,5-миллиардной историей Марса. В то же время образцы из кратера Езеро, как полагают, имеют возраст не менее 3,5 миллиардов лет.

«Марс очень хорошо сохранился с точки зрения ранней истории нашей Солнечной системы, поэтому возможность изучать такие древние породы, особенно когда они будут доставлены на Землю, поможет нам узнать об истории внутренней части Солнечной системы и о том, когда возникла жизнь», – говорит Кизовски.

Образцы также происходят из уникального периода в истории Марса, когда внутренняя динамика планеты претерпевала серьёзные изменения. Шмидт объясняет: «Вулканизм на Марсе в основном связан с так называемыми горячими точками, подобными Гавайям или Исландии на Земле, где есть сфокусированный источник магмы, уходящий глубоко, пробивающийся через всё и затем извергающийся на поверхность. Но в ранней истории Марса есть модели, подтверждающие идею о том, что марсианская кора формировалась в результате широко распространённого вулканизма, не обязательно сосредоточенного в этих горячих точках, и этот переход, как считается, произошёл примерно в то время, когда формировались эти породы».

Шмидт и её команде ещё предстоит подождать – возможно, десятилетие или больше – прежде чем образцы буду доставлены на Землю. «Доставка этих образцов с Марса будет невероятно сложной задачей и потребует удивительного инженерного подвига, особенно если учесть, что вы доставляете с орбиты нечто размером с баскетбольный мяч», – говорит Шмидт.

Тем временем марсоход Perseverance продолжает исследовать новые районы Марса и собирать образцы, а Шмидт и её коллеги терпеливо ожидают возможности однажды проанализировать марсианские породы уже на Земле.

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

Источник: https://www.ixbt.com/news/2025/02/08/geologicheskaja-istorija-marsa-rentgenovskij-spektrometr-pomogaet-razgadyvat-marsianskie-zagadki.html.

https://ru.wikipedia.org/wiki/Езеро_(кратер)
https://ru.wikipedia.org/wiki/Персеверанс_(марсоход)

 , perseverance, ,

dataman
()

RSS подписка на новые темы