uk
Feedback
Блог*

Блог*

Відкрити в Telegram

Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here

Показати більше
1 923
Підписники
-124 години
Немає даних7 днів
-730 день
Архів дописів
photo content

Repost from Segment@tion fault
В ЕС провалили очередное голосование по chat control - согласно законопроекту все мессенджеры должны либо отменить шифрование, либо отдать в соотв. органы ключи. Дания, которая продвигает законопроект с 2022 года, сдаваться не собирается и будет пиарить его дальше. Законопроект "chat control" - инициатива Дании по отмене шифрования в интернетах "для борьбы с педофилами".

В кои-то веки #successstory

😭 (сайт — releases.rs)
😭 (сайт — releases.rs)

photo content

photo content

Ну, почти
Ну, почти

(ну так-то, конечно, не колготок, а чулков) Source
(ну так-то, конечно, не колготок, а чулков) Source

#prog #abnormalprogramming spellscript
esotoric [sic!] programming language that's read like a spellbook
begin the grimoire.
summon the power with essence of 7.
conjure ritual named amplify with value to return value multiplied by value.
enchant power with essence 0 of through ritual amplify with power.
inscribe whispers of "the power is amplified: " bound with power.
close the grimoire.
output: the power is amplified: 49

#prog #article That boolean should probably be something else
By storing a boolean as our data, we're coupling that data tightly to our application logic. Instead, we should remain critical and ask what data the boolean depends on, and should we maybe store that instead?
Да, про сумм-типы там тоже упоминается.

photo content

#prog #rust #abnormalprogramming fibonacci-numbers crate with self-recursive dependencies
I have created a crate called fibonacci-numbers. There are 187 different major versions of the crate, each exporting the Fibonacci number corresponding to that version. <...> Version 186 depends on version 184 and 185 and exports the largest Fibonacci number that fits in a u128:
pub const VALUE: u128 = fib184::VALUE + fib185::VALUE;

Демидович -> Demidovich -> Полуголубкин (#лингво)

Почему "национализация" означает "переход в собственность государства", а не "превращение в страну"?

photo content

#meme про кота (thanks @memegelion)
#meme про кота (thanks @memegelion)

+1
+1

Папищек подсказывает, что в std Rust предлагают добавить метод для работы с подобными случаями, и, более того, предложение ссылается на ту же статью

Надо отметить, что первый пример с оптимизацией действительно не компилируется в лоб, но это не значит, что от аллокации в цикле нельзя избавиться. Именно, вот такой код с использованием bumpalo компилируется:
fn process_source(sources: Vec<Source>) {
    let b = bumpalo::Bump::new();
    for source in sources {
        let data = source.fetch_data();
        let mut buffer = bumpalo::collections::Vec::new_in(&b);
        buffer.extend(data.split(splitter);
        process_data(&buffer);
    }
}
В этом коде арена, которая в реализации и выделяет память, конструируется один раз за пределами цикла и позволяет переиспользовать память, но версия вектора из bumpalo создаётся заново на каждой итерации и потому может позволить себе иметь время жизни, сравнимое с временами жизни переменной итерации. Вызывать при этом явно .clear() за счёт RAII не требуется.