uk
Feedback
Блог*

Блог*

Відкрити в Telegram

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

Показати більше
1 963
Підписники
Немає даних24 години
-27 днів
Немає даних30 день

Триває завантаження даних...

Залучення підписників
серпень '26
серпень '26
+42
в 4 каналах
липень '26
+78
в 2 каналах
Get PRO
червень '26
+29
в 2 каналах
Get PRO
травень '26
+45
в 4 каналах
Get PRO
квітень '26
+51
в 3 каналах
Get PRO
березень '26
+31
в 4 каналах
Get PRO
лютий '26
+34
в 3 каналах
Get PRO
січень '26
+56
в 9 каналах
Get PRO
грудень '25
+76
в 11 каналах
Get PRO
листопад '25
+106
в 7 каналах
Get PRO
жовтень '25
+56
в 10 каналах
Get PRO
вересень '25
+46
в 6 каналах
Get PRO
серпень '25
+44
в 5 каналах
Get PRO
липень '25
+62
в 9 каналах
Get PRO
червень '25
+42
в 2 каналах
Get PRO
травень '25
+85
в 6 каналах
Get PRO
квітень '25
+52
в 5 каналах
Get PRO
березень '25
+62
в 3 каналах
Get PRO
лютий '25
+57
в 4 каналах
Get PRO
січень '25
+90
в 6 каналах
Get PRO
грудень '24
+61
в 4 каналах
Get PRO
листопад '24
+167
в 5 каналах
Get PRO
жовтень '24
+95
в 5 каналах
Get PRO
вересень '24
+84
в 4 каналах
Get PRO
серпень '24
+98
в 9 каналах
Get PRO
липень '24
+66
в 8 каналах
Get PRO
червень '24
+59
в 3 каналах
Get PRO
травень '24
+47
в 4 каналах
Get PRO
квітень '24
+73
в 10 каналах
Get PRO
березень '24
+65
в 7 каналах
Get PRO
лютий '24
+88
в 1 каналах
Get PRO
січень '24
+80
в 3 каналах
Get PRO
грудень '23
+88
в 5 каналах
Get PRO
листопад '23
+59
в 2 каналах
Get PRO
жовтень '23
+46
в 2 каналах
Get PRO
вересень '23
+93
в 0 каналах
Get PRO
серпень '23
+78
в 0 каналах
Get PRO
липень '23
+59
в 0 каналах
Get PRO
червень '23
+57
в 0 каналах
Get PRO
травень '23
+41
в 0 каналах
Get PRO
квітень '23
+55
в 0 каналах
Get PRO
березень '23
+39
в 0 каналах
Get PRO
лютий '23
+36
в 0 каналах
Get PRO
січень '23
+118
в 0 каналах
Get PRO
грудень '22
+56
в 0 каналах
Get PRO
листопад '22
+48
в 0 каналах
Get PRO
жовтень '22
+62
в 0 каналах
Get PRO
вересень '22
+24
в 0 каналах
Get PRO
серпень '22
+46
в 0 каналах
Get PRO
липень '22
+34
в 0 каналах
Get PRO
червень '22
+34
в 0 каналах
Get PRO
травень '22
+36
в 0 каналах
Get PRO
квітень '22
+49
в 0 каналах
Get PRO
березень '22
+19
в 0 каналах
Get PRO
лютий '22
+41
в 0 каналах
Get PRO
січень '22
+49
в 0 каналах
Get PRO
грудень '21
+88
в 0 каналах
Get PRO
листопад '21
+75
в 0 каналах
Get PRO
жовтень '21
+172
в 0 каналах
Get PRO
вересень '21
+63
в 0 каналах
Get PRO
серпень '21
+130
в 0 каналах
Get PRO
липень '21
+74
в 0 каналах
Get PRO
червень '21
+79
в 0 каналах
Get PRO
травень '21
+66
в 0 каналах
Get PRO
квітень '21
+100
в 0 каналах
Get PRO
березень '21
+81
в 0 каналах
Get PRO
лютий '21
+42
в 0 каналах
Get PRO
січень '21
+103
в 0 каналах
Get PRO
грудень '20
+663
в 0 каналах
Дата
Залучення підписників
Згадування
Канали
26 серпня0
25 серпня0
24 серпня+1
23 серпня+2
22 серпня0
21 серпня+1
20 серпня+1
19 серпня+2
18 серпня+3
17 серпня+3
16 серпня+1
15 серпня+2
14 серпня+5
13 серпня+1
12 серпня+1
11 серпня+2
10 серпня+1
09 серпня+1
08 серпня0
07 серпня+1
06 серпня+1
05 серпня+2
04 серпня+2
03 серпня+2
02 серпня+4
01 серпня+3
Дописи каналу
Repost from diablogang
Юбисофт это единстванная компания, которая может выпустить игру в стиме с единственным битым экзешником в 24 киллобайта... Те
+1
Юбисофт это единстванная компания, которая может выпустить игру в стиме с единственным битым экзешником в 24 киллобайта... Теперь представьте, что если бы они это сделали в пс сторе, где нету легкого возврата денег, как в стиме.

2
#prog #rust #article Replacing a Rust Enum with a 64-bit Word Made My Interpreter 17% Faster <...> That being said, sha256_unfixed is still running 12% faster with the new value representation than with the old version, even though it's allocating a total of 3,149,052 boxed integer values in a span of about 490 ms. That seemed a bit crazy to me, but having a copying GC with a bump allocator means that we can allocate objects really fast.
370
3
Вспомнил, как однажды я почти принял свою внешность и почти поверил, что я норм, а потом вышло интервью со мной 18+ НАСТОЯЩИЙ
Вспомнил, как однажды я почти принял свою внешность и почти поверил, что я норм, а потом вышло интервью со мной 18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ АЛЕСИНЫМ ДЕНИСОМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА АЛЕСИНА ДЕНИСА ВЛАДИМИРОВИЧА.
483
4
#prog #rust В Rust стабилизировали тип never. Да, опять. Но на этот раз вроде окончательно, все крейты, сломанные из-за смены фоллбека или получили апдейты, или дико старые. Если всё пройдёт гладко, дойдёт до stable в красивой версии 1.100.
564
5
#video Every living creature is 1 hit point
557
6
Немає тексту...
589
7
Вы только представьте себе эту хрупкую мужественность, которой нужен антивок-мод, который делает жопу игрового персонажа боле
Вы только представьте себе эту хрупкую мужественность, которой нужен антивок-мод, который делает жопу игрового персонажа более плоской. А теперь представьте, что таких модов больше одного.
618
8
#prog #rust Ииииии на этой версии обнаружили P-Critical баг: компилятор может генерировать vtable с null. К счастью, должны пофиксить быстро, потому что на бете уже не воспроизводится.
657
9
▪️Стабилизировали API: 🔸format_into на примитивных числовых типах (и используемый аргументом fmt::NumBuffer) для форматирования числа в переданный по ссылке буфер. Это избегает использования оверхеда от write! и может сильно повысить производительность — бенчи показывают, что новый метод по производительности сопоставим с itoa (крейт, не функция из C). 🔸str::substr_range и <[T]>::subslice_range, которые возвращают диапазон, в котором располагается переданная подстрока/подслайс. Эти методы не смотрят на содержимое самой строки, а вычисляют позицию, используя сравнения указателей, поэтому на посторонних аргументах (не лежащих внутри self) этот метод возвращает None. Документация, правда, предупреждает, что методы могут возвращать Some(0..0) или Some(self.len()..self.len()), если переданная строка/слайс пустая и лежит в памяти непосредственно до или после self. 🔸NonZero::from_str_radix. Ошибка от этого метода может возвращать из метода kind значение IntErrorKind::Zero. 🔸String::from_utf16{be, le}_{, lossy} для получения строки из UTF-16 с порядком байт, отличных от нативного. 🔸str::strip_circumfix и <[T]>::strip_circumfix, которые возвращают строку/слайс без указанных префикса и суффикса. Возвращает None, если префикс и/или суффикс не содержатся в self или если они перекрываются. 🔸Atomic<T>::{from_mut, from_mut_slice} для получения атомиков из уникальных ссылок. Уникальность ссылок гарантирует корректность этого преобразования. Также стабилизировали Atomic<T>::get_mut_slice, который является логичным продолжением уже стабильного Atomic<T>::get_mut.
660
10
#prog #rust #rustreleasenotes Вышел Rust 1.98.0! Как всегда, кусочки — тут, мясо — там. ▪️Обычно я пишу про новые вещи в порядке: фичи языка, добавления в std, изменения в cargo. В этот раз я напишу сначала про фичу, которая номинально является новым API в std, но которая даёт возможности, ранее невыразимые в языке (без использования интринсиков, по крайней мере). Как известно, типы с плавающей точкой не обладают свойствами, которые имеются у действительных чисел в математике — в частности, у чисел с плавающей точкой сложение не является ассоциативной операцией. Это связывает руки оптимизатору, который обязан предохранять поведение. Например, если есть код типа fn dot(a: &[f32], b: &[f32]) -> f32 { let mut sum = 0.0; for i in 0..a.len() { sum += a[i] * b[i]; } sum } , то компилятор обязан генерировать код, который считывает и суммирует произведения чисел из слайсов по одному. Он не может, скажем, векторизовать код, поскольку подобная трансформация неизбежно меняет порядок, в котором суммируются числа, и это может заметно повлиять на результаты (это, кстати, был мотивирующий пример для предложения добавить API, описанный ниже). Типы f32 и f64 (а также f16 и f128, но их ещё не стабилизировали) обзавелись методами algebraic_{add, sub, mul, div, rem}. Они выполняют указанные арифметические операции, но, в отличие от обычных арифметических операций, оптимизатор может переупорядочивать их, используя тождества, справедливые для действительных чисел и, вообще говоря, неверные для чисел с плавающей точкой. Взамен компилятор в состоянии оптимизировать код значительно лучше — в частности, пример выше можно переписать в виде fn dot(a: &[f32], b: &[f32]) -> f32 { let mut sum = 0.0f32; for i in 0..a.len() { sum = sum.algebraic_add(a[i].algebraic_mul(b[i])); } sum } , и тогда генерируемый код теперь использует SIMD и на процессорах, поддерживающих набор инструкций AVX2, код может работать до восьми раз быстрее! Данные операции идейно схожи с ключами -ffast-math, но обладают большей гранулярностью и, в отличие от них, не страдают от драконовских ограничений в виде UB на операциях с NaN. ▪️Компилятор теперь реагирует на #[no_mangle] функции, которые некорректно переопределяют функции, ожидаемые рантаймом (ошибка компиляции) и ожидаемые std (предупреждение). ▪️Компилятор теперь предупреждает, если функция возвращает core::ffi::c_void по значению. Тип void в C и C++ отображается на () в Rust, а c_void нужно использовать, только через указатель. ▪️Атрибут #[repr(transparent)] можно применить на структуру, где одно поле "значимо", а остальные имеют "тривиальные" типы. Ранее ими считались все типы нулевого размера с единичным выравниванием, но с этой версии из этого списка исключили #[repr(C)] типы, типы с приватными полями и #[non_exhaustive] типы. ▪️#[derive(PartialOrd)] в генерируемом коды теперь просто возвращает Some(self.cmp(rhs)), если используется одновременно с #[derive(Ord)]. Из-за ограничений инфраструктуры по раскрытию макросов есть забавное особенность: комбинации #[derive(PartialOrd, Ord)] struct A; #[derive(Ord, PartialOrd)] struct B; #[derive(Ord)] #[derive(PartialOrd)] struct C; получают упрощённый вариант кода, а вот #[derive(PartialOrd)] #[derive(Ord)] struct D; — нет.
556
11
#gamedev Разработчики Artisan of Glimmith (советую btw) недавно опубликовали пост про апдейт, главной темой которого была в основном оптимизация. Пост советую к прочтению целиком, отчасти из-за того, что для, в общем-то, относительно казуальной игры подобные технические моменты разработчики обычно освещают редко. Из занятных моментов могу отметить, что разработчики перенесли обработку частиц с GPU на CPU. Как оказалось, в игре они используются с достаточно небольшом количестве, чтобы оверхед на вызовы графического API каждый кадр и перенос данных на GPU перекрывал выгоды от параллелизации. Более того, после удаления этих вызовов суммарная нагрузка на CPU в итоге снизилась — даже на CPU эти расчёты занимают меньше времени, чем общение с видеокартой.
639
12
Эх, вот бы кто прислал фото для рубрики "прекрасные папищеки"...
646
13
#ml #предложка, пожалуй
#ml #предложка, пожалуй
659
14
#prog #rust Enabling the next-generation trait solver on nightly И о том, что это значит для Rust
770
15
#prog #rust #article Protecting the Rust standard library from accidental breakage Accidental breakage can happen in any codebase. The Rust standard library isn't magically exempt from this — so it too now uses cargo-semver-checks to prevent accidental breakage. Here's why this took months of work by multiple Rustaceans, dozens of pull requests, and 15,000+ lines of code across the Rust repo, cargo-semver-checks, and its component libraries.
818
16
Немає тексту...
758
17
Source И это почти не преувеличение+2
Source И это почти не преувеличение
939
18
KotlinLLM is Going Open Source - The JetBrains Blog https://blog.jetbrains.com/research/2026/07/kotlinllm-open-source/ забавн
KotlinLLM is Going Open Source  - The JetBrains Blog https://blog.jetbrains.com/research/2026/07/kotlinllm-open-source/ забавно, раньше мы шутили, что будут такие функции, но похоже дошутились :)
943
19
Я — ненастоящий мужчина, потому что у меня нету шуруповёрта :(
849
20
На перекрестке в автобус въехал грузовик с большой надписью "техническая помощь" на борту. Уж помогли так помогли не #услышано
859