1.84K subscribers
3.27K photos
130 videos
15 files
3.55K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
#prog #rust #rustlib

macro_rules_attribute — процедурные макросы для применения macro_rules! макросов без сдвига вправо и с возможностью нормально их комбинировать для derive-like макросов, и всё без зависимостей на syn, quote и proc-macro2.

#[macro_use]
extern crate macro_rules_attribute;

macro_rules! foo {
// …
}

macro_rules! Bar {
// …
}

#[apply(foo)]
#[derive(Debug, Bar!)]
struct Struct {
some_field: SomeType,
}


Также либа даёт возможность создавать алиасы для пачек дерайвов и cfg-атрибутов:

#[macro_use]
extern crate macro_rules_attribute;

derive_alias! {
#[derive(Ord!)] = #[derive(PartialEq, Eq, PartialOrd, Ord)];
}

#[derive(Debug, Clone, Copy, Ord!)]
struct Foo {
// …
}

attribute_alias! {
#[apply(complex_cfg!)] = #[cfg(
any(
any(
foo,
feature = "bar",
),
all(
target_os = "fenestrations",
not(target_arch = "Pear"),
),
),
)];
}

#[apply(complex_cfg!)]
mod some_item { /* … */ }
👍12🤬42🔥1🤮1
Что лучше?
Anonymous Poll
39%
std::unordered_set
61%
std::unordered_get
🤡30😁5💩1
#prog #rust #article

avatar.png

Или как сделать "аватарку", которая будет показывать IP-адрес того, кто её просматривает.
TTRPG "The Grim Guzzler"✙∆
Photo
> trauma free dice
> всё ещё включает d4
😁13😭3👍1
Forwarded from Neural Machine
Сделайте обнаженную точку близости.
Как договариваются о встрече с мастером шибари?

"Свяжемся"
🥰17🤮32👍1
Блог* pinned «Допустим, я организую в Ереване встречу с подписчиками»
assert_eq!(Wrap { 0: (0.0,) }.0.0, 0.0);
😐11🤨7😁1🤔1
Channel photo updated
#prog #rust #article

Faster Rust Toolchains for Android

TL;DR: табличка сверху.

Статья о версиях компилятора Rust, используемые в Google для сборки rust-компонентов Android. Ввиду масштабов количества билдов Android, даже относительно небольшие ускорения компилятора выливаются в конкретно сэкономленное время:

For every 50k Android builds per day run in our CI infrastructure we save ~10K hours of serial execution.

Monolithic обозначает использование -C codegen-units=1.

Как видно, наибольшую маргинальную выгоду принесла PGO, однако автор статьи предостерегает, что тулчейн заточен под нужды Android и на других кодовых базах изменения в производительности могут отличаться. Вдобавок, это результат от суммы четырёх разных профилей.
👍7
#meme

*сегодня
Forwarded from Обратная сторона Луны (Луна)
😢20
#itsec #article

CVE-2013-4576 — это уязвимость в GPG, вызванная подверженности side channel атакам. Конкретно в данном случае источником утечки информации является шум, производимый компьютером во время расшифровки текста.

Исследователи, обнаружившие уязвимость, подробно описали её в RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis (pdf). Скорость утечки информации не слишком высока, но всё же позволяет за час при помощи атаки специально подобранными шифрованными текстами восстановить 4096-битный RSA-ключ. Даже без проведения подобной атаки спектры шумов, производимых при расшифровке, достаточно специфичны, чтобы отличить применение одного ключа от другого. Не смотря на то, что процессоры работают на частоте порядка гигагерц, для проведения атаки достаточно микрофонов с чувствительностью в килогерцовом диапазоне — более того, исследователи продемонстрировали, что с расстояния в 30 сантиметров атаку можно провести даже при помощи микрофона телефона.
🔥15🤔4🤯3