es
Feedback
Блог*

Блог*

Ir al canal en Telegram

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

Mostrar más
1 982
Suscriptores
+124 horas
+37 días
+1830 días
Atraer Suscriptores
oct '26
octubre '26
+5
en 2 canales
septiembre '26
+41
en 1 canales
Get PRO
agosto '26
+48
en 4 canales
Get PRO
julio '26
+78
en 2 canales
Get PRO
junio '26
+29
en 2 canales
Get PRO
mayo '26
+45
en 4 canales
Get PRO
abril '26
+51
en 3 canales
Get PRO
marzo '26
+31
en 4 canales
Get PRO
febrero '26
+34
en 3 canales
Get PRO
enero '26
+56
en 9 canales
Get PRO
diciembre '25
+76
en 11 canales
Get PRO
noviembre '25
+106
en 7 canales
Get PRO
octubre '25
+56
en 10 canales
Get PRO
septiembre '25
+46
en 6 canales
Get PRO
agosto '25
+44
en 5 canales
Get PRO
julio '25
+62
en 9 canales
Get PRO
junio '25
+42
en 2 canales
Get PRO
mayo '25
+85
en 6 canales
Get PRO
abril '25
+52
en 5 canales
Get PRO
marzo '25
+62
en 3 canales
Get PRO
febrero '25
+57
en 4 canales
Get PRO
enero '25
+90
en 6 canales
Get PRO
diciembre '24
+61
en 4 canales
Get PRO
noviembre '24
+167
en 5 canales
Get PRO
octubre '24
+95
en 5 canales
Get PRO
septiembre '24
+84
en 4 canales
Get PRO
agosto '24
+98
en 9 canales
Get PRO
julio '24
+66
en 8 canales
Get PRO
junio '24
+59
en 3 canales
Get PRO
mayo '24
+47
en 4 canales
Get PRO
abril '24
+73
en 10 canales
Get PRO
marzo '24
+65
en 7 canales
Get PRO
febrero '24
+88
en 1 canales
Get PRO
enero '24
+80
en 3 canales
Get PRO
diciembre '23
+88
en 5 canales
Get PRO
noviembre '23
+59
en 2 canales
Get PRO
octubre '23
+46
en 2 canales
Get PRO
septiembre '23
+93
en 0 canales
Get PRO
agosto '23
+78
en 0 canales
Get PRO
julio '23
+59
en 0 canales
Get PRO
junio '23
+57
en 0 canales
Get PRO
mayo '23
+41
en 0 canales
Get PRO
abril '23
+55
en 0 canales
Get PRO
marzo '23
+39
en 0 canales
Get PRO
febrero '23
+36
en 0 canales
Get PRO
enero '23
+118
en 0 canales
Get PRO
diciembre '22
+56
en 0 canales
Get PRO
noviembre '22
+48
en 0 canales
Get PRO
octubre '22
+62
en 0 canales
Get PRO
septiembre '22
+24
en 0 canales
Get PRO
agosto '22
+46
en 0 canales
Get PRO
julio '22
+34
en 0 canales
Get PRO
junio '22
+34
en 0 canales
Get PRO
mayo '22
+36
en 0 canales
Get PRO
abril '22
+49
en 0 canales
Get PRO
marzo '22
+19
en 0 canales
Get PRO
febrero '22
+41
en 0 canales
Get PRO
enero '22
+49
en 0 canales
Get PRO
diciembre '21
+88
en 0 canales
Get PRO
noviembre '21
+75
en 0 canales
Get PRO
octubre '21
+172
en 0 canales
Get PRO
septiembre '21
+63
en 0 canales
Get PRO
agosto '21
+130
en 0 canales
Get PRO
julio '21
+74
en 0 canales
Get PRO
junio '21
+79
en 0 canales
Get PRO
mayo '21
+66
en 0 canales
Get PRO
abril '21
+100
en 0 canales
Get PRO
marzo '21
+81
en 0 canales
Get PRO
febrero '21
+42
en 0 canales
Get PRO
enero '21
+103
en 0 canales
Get PRO
diciembre '20
+663
en 0 canales
Fecha
Crecimiento de Suscriptores
Menciones
Canales
06 octubre+1
05 octubre+1
04 octubre0
03 octubre+3
02 octubre0
01 octubre0
Publicaciones del Canal
The most important thing in IT is
Anonymous voting

2
+1
Sin texto...
497
3
https://ayles.github.io/doom-in-kernel/ Коллеги (на этот раз действительно коллеги!) подогнали прекрасное - Doom, на #eBPF, в ядре Linux. "Прекрасное" потому что идет наперекор тому, как пытается работать eBPF. eBPF, для каждой загружаемой программы, пытается доказать, что программа не зависнет, и что программа не ездит по памяти. Второе, допустим, просто, поколения программистов вычистили исходники Doom так, что игра работает и без проездов. Первое - сложно, и чуваки поступили, на мой вкус, весьма #изящно! Они запилили свой компилятор поверх LLVM. Он режет обычный C-код на "регионы" - куски без сложных циклов и вызовов. Регион обрывается на каждом вызове функции, возврате, неудобном обратном ребре цикла или yield. В конце он сохраняет state в память, и возвращает номер следующего региона. Регионы гоняет маленький диспетчер из трёх вложенных ограниченных циклов: 32x2048x64, около 4*10^6 регионов за один вызов. Если бюджет кончился, программа возвращает "не доделано" с номером продолжения, и userspace вызывает её снова. Ну а верификатор доказывает завершение не DOOM, а очередного региона и диспетчера. И он может это сделать, потому что видит набор кусков, каждый из которых заканчивается обычным return, плюс цикл с константной границей. Прыжков "регион 18 -> регион 42" в графе управления нет: это число, записанное в память. Рекурсия, глубокие вызовы и длинные циклы существуют только во время исполнения, как последовательность этих чисел. Я бы тут поинтересовался у коллег, почему того же самого нельзя было добиться source трансформацией кода, превратив его в async код через с++ корутины, трансформация ровно та же самая получается - куча блоков с return, и цикл dispatch над ними сверху, но сути это не меняет.
351
4
Sin texto...
594
5
Sin texto...
635
6
Re: I spent $220 on Google app ads and 60% of the installs were robots My favorite story: 1. Dev publishes app with Google Admob integration to the Play Store. 2. Buys Google Ads to drive traffic to the app. 3. Google Admob bans his account for invalid traffic. https://www.reddit.com/r/admob/comments/1vzg3fu/i_paid_googl... yunusabd, 5 hours ago
610
7
Sin texto...
667
8
Source
Source
671
9
Sin texto...
610
10
Sin texto...
1 291
11
#prog #rust #article Generic Const Args and You Статья о текущем состоянии экспериментальной поддержки констант в типовой системе Rust.
688
12
#prog #rust #rustreleasenotes Вышел Rust 1.99.0! Бла-бла-бла, детали. ▪️В Rust добавили вариадики! ...Сишные. Раньше эти функции можно было декларировать, а теперь можно и определять: /// SAFETY: must be called with (at least) 2 i32 arguments. unsafe extern "C" fn sum(mut args: ...) -> i32 { // SAFETY: guaranteed by the caller. let a = unsafe { args.next_arg::<i32>() }; let b = unsafe { args.next_arg::<i32>() }; a + b } fn foo() -> i32 { unsafe { sum(0i32, 2i32) } } Список типов, значения которых можно доставать через next_arg, ограничен sealed трейтом VaArgSafe. Связано это с тем, что в C значения некоторых типов при передаче в вариадическую функцию кастуются в более крупные типы, поэтому их по определению из VaList достать нельзя. Кстати, сам VaList, если сильно нужно, можно передавать явно и даже клонировать. Также такие функции могут быть #[naked], и по очевидным причинам их нужно писать на ассемблере. ▪️Пачка линтов unused теперь включает в себя unreachable_cfg_select_predicates. ▪️Теперь гарантируется, что получить доступ к содержимому UnsafeCell<T> можно через каст сырого указателя в указатель на T, использовать UnsafeCell::get необязательно. Общие правила насчёт unsafe, соблюдающего правила языка, остаются в силе. ▪️RangeInclusive исторически плохо оптимизировался из-за того, что последняя итерация должна была обрабатываться отдельно. Это в какой-то мере исправили, добавив в трейт Step, на который опираются диапазоны, методы для итерации с возвратом флага переполнения. ▪️Если имя метода неправильное (несуществующее), но является именем из #[doc(alias)] на существующем методе, то этот метод будет предложен в первую очередь, выше имён со схожим написанием. ▪️Стабилизировали API, включая: 🔸IntoIterator на Box<[T; N]>, &Box<[T; N]> и &mut Box<[T; N]>. 🔸VecDeque::retain_back: выкинуть из деки все элементы, кроме указанного числа последних. 🔸Box::into_non_null и Box::from_non_null. 🔸Vec::into_parts и Vec::from_parts, где parts — это тройка из NonNull указателя на аллокацию, длины и ёмкости. 🔸core::mem::{size_of_val_raw, align_of_val_raw} и core::alloc::Layout::for_value_raw, аналогичные существующим функциям без *_raw, но работающие на сырых указателях. Разумеется, unsafe. 🔸std::fs::{set_times, set_times_nofollow} для установки временных отметок на файлах. На всех OS можно менять время доступа и модификации. Дополнительно на Windows и OS от Apple можно менять время создания. *_nofollow вариант при использовании на символической ссылке меняет атрибуты самой ссылки, а не файла, на который она указывает (довольно кривой дизайн, кмк: что, если потом нужно расширить набор флагов? Не делать же по функции на каждую комбинацию). ▪️В rustdoc добавили линт, предупреждающий о неиспользованных сносках в документации.
800
13
Что, простите?
Что, простите?
766
14
Кампейн Abomination vaults, в котором я участвовал и который продолжался больше года, сегодня закончился TPK 🫡
700
15
https://t.me/AlexCarrier/16988 Ор выше гор 10000 подписчиков Это точно поможет продвижению Макса Спасибо подписчику за наводк
https://t.me/AlexCarrier/16988 Ор выше гор 10000 подписчиков Это точно поможет продвижению Макса Спасибо подписчику за наводку
602
16
+1
Sin texto...
940
17
маниакальный смех
маниакальный смех
817
18
#prog #rust #rustlib #article Deser: Rethinking Rust Serialization Статья про новую библиотеку (де)сериализации. Решает проблемы, которые есть в serde и которые очень сложно или почти невозможно решить из-за архитектуры. Разумеется, это не строго лучше serde, и в статье подробно об рассказывается. В частности, в отличие от serde, deser поддерживает только self-describing форматы.
706
19
#music Не мне ж одному это слушать https://youtube.com/watch?v=KThlYHfIVa8
686
20
#prog #rust #article How to speed up the Rust compiler in September 2026
693