2024-10-25

vak: (Daemon)
(отсюда)

К обсуждению удаления 11 мэйнтейнеров ядра Linux из РФ присоединился Джеймс Боттомли (James Bottomley), мэйнтейнер подсистемы SCSI, ранее занимавший посты члена совета директоров и председателя технического консультативного совета Linux Foundation. Джеймс извинился за то, как было произведено удаление, и пояснил, что удаление связано с санкциями против компаний из РФ, которые попали в список OFAC SDN, опубликованный Министерством финансов США. По словам Джеймса, возможность сотрудничать с компаниями из США для работников компаний, находящихся в санкционном списке, ограничена и подобные работники не могут находится в числе мэйнтейнеров ядра Linux.

Если удаление произведено по ошибке и текущий работодатель не находится в указанном списке, то разработчику следует предоставить информацию об этом Грегу Кроа-Хартману (это именно та документация, о которой шла речь в первом сообщении об удалении). В любом случае Джеймс пообещал при необходимости добавить в файл CREDITS упоминание о вкладе удалённых участников в разработку ядра. Причиной следования санкциям названо нахождение в США всей инфраструктуры для разработки ядра Linux и большого числа сопровождающих. Из-за этого при разработке ядра невозможно игнорировать требования законодательства США.

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

Пояснение Джеймса отправлено в ответ на прощальное письмо Сергея Семина, попавшего в число удалённый мэйнтейнеров. В своём письме Сергей сообщил, что после случившегося он потерял мотивацию для продолжения дальнейшего участия в разработке ядра, а попытки получить у вышестоящего мэйнтенера более подробную информацию о причине удаления не прояснили ситуацию - в ответе было лишь извинение, упоминание санкций, сожаление о невозможности что-либо сделать и совет обратиться к юристу своей компании. При этом Сергей уже более года участвует в разработке ядра только как волонтёр, а не как оплачиваемый работник. За время работы в сообществе Сергей отправил 518 патчей, прорецензировал 253 патча и принял участие в тестировании 80 патчей.

В списке рассылки ядра также опубликовано предложение удалить из числа мэёнтейнеров разработчиков, трудоустроенных в компании Huawei, так как данная компания также находится в санкционных списках США. Теодор Цо (Theodore Ts'o), создатель файловой системы Ext4, пояснил, что в США действует несколько разных санкционных режимов и те санкции, которые применяются к Huawei, попадают под исключения, допускающие возможность принимать исправления и вовлекать в рецензирование кода разработчиков данной компании, если взаимодействие с ними осуществляется на публичной платформе, такой как списки рассылки разработчиков ядра Linux.

В случае подсанкционных российских компаний требования более жёсткие, так как Linux может применяться в военных целях, например, в ракетах и беспилотных летательных аппаратах. Мэйнтейнеры, проживающие в США, обязаны при приёме изменений выполнять законы и требования, установленные правительством США, а также убедиться, что производимые действия не представляют опасность для других разработчиков Linux. При этом у мэйнтейнеров из других стран могут возникать другие обязательства.
vak: (Робот 1)
В кроссовках выходит шустрее. Судя по грубой пластике движений, им не с первого раза удалось добраться до финиша.



Вот правильная пластика движений робота:

vak: (Default)
Задачку про увеличение числа в N раз при перестановке задней цифры вперёд я предложил с умыслом. Хотелось показать, как работать в Си++ с целыми числами неограниченной разрядности. Есть такая библиотека GMP. Написана она на Си, но имеет также интерфейс Си++. Вот программа, которая вычисляет ответы для каждого из N.
#include <iostream>
#include <gmpxx.h>

using bigint = mpz_class; // Integer type with unlimited precision

int main()
{
for (int n = 2; n < 10; n++) {
bigint ten_pow_k = 1;
for (int k = 1; k < 100; k++) {
ten_pow_k *= 10;
bigint x = n * (ten_pow_k - n);
if (x % (10*n - 1) == 0) {
bigint v = 10*x / (10*n - 1) + n;
std::cout << n << " * " << v << " = " << (n * v) << '\n';
break;
}
}
}
}
В библиотеке тип неограниченного целого называется mpz_class. Я переобзываю его bigint для большей ясности. Значения этого типа ведут себя ровно так же, как обычные int.

Компилируем, запускаем:
$ c++ -std=c++17 n-times.cpp -o n-times `pkg-config gmpxx --cflags --libs`
$ ./n-times
2 * 105263157894736842 = 210526315789473684
3 * 1034482758620689655172413793 = 3103448275862068965517241379
4 * 102564 = 410256
5 * 102040816326530612244897959183673469387755 = 510204081632653061224489795918367346938775
6 * 1016949152542372881355932203389830508474576271186440677966 = 6101694915254237288135593220338983050847457627118644067796
7 * 1014492753623188405797 = 7101449275362318840579
8 * 1012658227848 = 8101265822784
9 * 10112359550561797752808988764044943820224719 = 91011235955056179775280898876404494382022471
vak: (Default)
Удобная платка с микроконтроллером RP2040, дисплейчиком и SD-карточкой.





Софт, включая микро-Питон: github.com/sbcshop/HackyPi-Software

Принципиальная схема: SCH.pdf