Очередная блокировка мобильного интернета. Банки не работают. Телега легла. Почта, бла-бла ключи и т.д. и т.п. не работают. Зато любимый ЛОР работает. Пишу с мобильника без интернета ;)
Проблема взаимодействия Rust и C++: Постановка задачи
В ноябре 2024 года мы опубликовали постановку задачи по взаимодействию Rust и C++, в которой изложили стратегическое видение улучшения взаимодействия языков и призвали сообщество к обсуждению.
В постановке задачи описаны три ключевых стратегических подхода:
Улучшение существующих инструментов и решение тактических проблем в рамках проекта Rust для снижения трения и рисков при взаимодействии языков в краткосрочной перспективе.
Достижение консенсуса по долгосрочным целям, требующим изменений в самом Rust, и разработка тактических подходов для их реализации.
Взаимодействие с сообществом C++ и комитетом по стандартизации для улучшения качества взаимодействия обоих языков, что поможет достичь общих целей в области безопасности и производительности.
З.Ы. По ссылке так и не нашёл технических проблем, кроме каких-то абстрактных, аля, «все должно быть легко», «ничего дополнительно писать не надо (ну или совсем чуть-суть)», …
В процессе изучения проблемы я обнаружил, что что-то случилось в начале-середине октября и из зоны RU за 2 недели вылетело 120 серверов из 140 имеющихся.
На данный момент ситуация катастрофическая, поскольку в зоне RU осталось 4 (четыре) сервера, один из которых мой.
Помогите сохранить точное время в Рунете. Если не мы, то кот?
UPD: на пост откликнулись представители timeweb.cloud и выделили под NTP 30 (!!!) виртуальных машин!
В субботу, 13 января 2024 г., в рассылке, посвященной разработке ядра, программист сообщил о том, что температура воздуха в Портленде и округе упала до -10 градусов Цельсия и возникновении масштабных перебоев с подачей электроэнергии.
Линус также выразил сомнения в том, что восстановление энергетической инфраструктуры в районе его проживания вряд ли станет для коммунальных служб приоритетом, в связи с чем он допускает свое сравнительно длительное отсутствие на посту главного разработчика Linux.
Местные СМИ сообщили о том, что толщина образовавшегося снежного покрова достигла 10-13 см, а также о возникновении заторов на дорогах, перебоев в работе общественного транспорта и нескольких случаях гибели жителей района от холода.
Третий десяток лет работаю на обычных офисных дешёвых клавиатурах.
И тут понадобилось купить клаву домой. И что-то не могу понять какую. Раньше пошёл в магазин, руками потрогал, нашёл свою и купил. Теперь этого нет… Все клавы в коробках, да и выглядят как новогодний дешман, что из них пробовать - ХЗ.
Ладно, заказал простую со 100500 звёздочками, и офигел. Легкая с деревянными клавишами и вонючая, работать не реально. Посмотрел на пару механических, брал у коллег/знакомых. Не то. Пробую работать, начинают болеть пальцы O_o. Офигел. Никогда такого не было, да и ещё что бы так ломало руки.
В итоге ищу мембрану нормального качества. Можно со светодиодиками (для детей).
Из вариантов сейчас только офисные HP-шные, но боюсь сын не оценит.
Где i2c-6 это USB-ишный FT260 на плате. Он один такой и скриптом конкретно его определить можно. Сейчас всё это упаковано в скрипт и оформлено в виде службы. Но как-то не по себе от этого.
Как это дело оформить нормально? Неужели нет внятного способа описания i2c устройств?
Есть мысль задействовать udev, но блин не вбивать же в RUN это безобразие.
Минцифры подготовило ряд приложений к стимулированию развития открытого ПО и открытой архитектуры в России. Среди них была идея приравнять софт с открытым кодом к российскому и добавить его в реестр отечественного ПО. Это предложение раскритиковали представители российской ИТ-сферы.
Проект состоит из нескольких мер поддержки, среди которых есть предложение приравнять открытые решения к отечественным ПО и микроэлектронике и внести их в соответствующие реестры. После этого госструктуры и компании с госучастием получат возможность использовать эти решения.
Вместе с этим Минцифры высказало идею по внедрению в стране обязанности по размещению в свободном доступе того заказного программного обеспечения, разработка которого велась с привлечением госсредств.
Отрасль против
Российская ИТ-сфера раскритиковала идею Минцифры по приравниванию софта с открытым исходным кодом к российскому. Против этого предложения, как пишет РБК, высказался глава центра компетенций по импортозамещению в сфере ИКТ Илья Массух. «Обсуждавшиеся в конце июля (2021 г. – прим CNews) положения – это ранние наброски. По моему мнению, речь не идет о приравнивании открытого ПО к российскому. Мы как центр компетенций, да и, думаю, вся отрасль будем против такого решения», – заявил он.
Илья Массух добавил, что разработчики ПО с открытым кодом размещают его, как правило, в иностранных репозиториях. К примеру, это может быть GitHub, с июня 2018 г. принадлежащий американской корпорации Microsoft. В этом случае может возникнуть вопрос прав на такое программное обеспечение.
«Безусловно, в нишевых зонах, где нет отечественных аналогов, можно использовать и свободное, и даже закрытое ПО. Но чтобы получить те же права, что и российское ПО, свободный софт должен разрабатываться российской компанией, базироваться в отечественном репозитории, не иметь принудительных обновлений из-за рубежа, иметь техническую поддержку здесь и т.п.», – подытожил директор центра компетенций по импортозамещению в сфере ИКТ.
Общий смысл: переписали alloc, что бы он не паниковал на каждый чих. Переходят на стабильный компилятор.
Немного примеров:
for _ in 0..page_count {
let page = Pages::<0>::new()?;
page.insert_page(vma, address)?;
- pages.push(page);
+ pages.try_push(page)?;
address += 1 << bindings::PAGE_SHIFT;
}
- // TODO: This allocates memory.
- let arc = Arc::from(pages);
+ let arc = Arc::try_from_vec(pages)?;
// Save pages for later.
let mut inner = self.inner.lock();
fn read_all(&mut self) -> Result<Vec<u8>> {
let mut data = Vec::<u8>::new();
- data.try_reserve_exact(self.len())?;
- data.resize(self.len(), 0);
+ data.try_resize(self.len(), 0)?;
// SAFETY: The output buffer is valid as we just allocated it.
unsafe { self.read_raw(data.as_mut_ptr(), data.len())? };
I’ve spent the last year building keyboards, which has included writing firmware for a variety custom circuit boards.
I initially wrote this firmware in Rust, but despite years of experience with that language I still struggled quite a bit. I eventually got my keyboards working, but it took an embarrassingly long time and wasn’t fun.
After repeated suggestions from my much more Rust-and-computing-experienced friend Jamie Brandon, I rewrote the firmware in Zig, which turned out swimmingly.
З.Ы.: Напомню, что на прошедшем FOSDEM языку программирования Zig была посвящена отдельная секция с 4 докладами: