Linker Unsafe
220 subscribers
182 photos
24 videos
18 files
859 links
Собираю ржавые и лямбдообразные новости, прикольные цитатки с форумов, ссылки на статьи и всё такое. В-общем, сюда я тащу такие крупицы, которые мне будет жаль потерять в цифровой бездне. Возможно, они покажутся интересными и вам.

Фи сюда: @nlinker
Download Telegram
Энтузиаст начал переводить эту красоту на русский. Вообще, 3b1b иногда просто приятно смотреть из-за классных анимаций, даже не пытаясь вдумываться в содержание.

https://youtu.be/aCvnUuYaRH8
Интервью одного человека, с которым я когда-то работал и которого я уважаю. Сам он говорит, что его застали врасплох и получилось не очень, а по мне так получилось очень хорошо. История с Боингом как будто бы типичная, но ребятам могло на самом деле повезти, мне в аналогичной ситуации повезло и дефектов не случилось.😊
https://www.saratovit.ru/interview/andrej-gusev/
И мы видим, что менеджера в айти все больше и больше воспринимают как ничего не понимающего человека, раздающего малоосмысленные указания и действующего по шаблону в ущерб здравому смыслу.
Forwarded from илья optozorax
По мотивам недавнего мемчика из профунктора
О недостатках Rust на сегодняшний день

Doge Shibu:
Такая возможность была бы полезна практически везде.

Простейший пример - мы хотим из метода трейта возвращать итератор (абсолютно разумная и естественная идея):

trait MyTrait<'a> {
type MyIter: Iterator<Item = &'a MyType>;
fn get_iter(&'a self) -> Self::MyIter;
}


Ок, пишем реализацию:
impl<'a> MyTrait<'a> for MyTraitImpl {
type MyIter = ???;
fn get_iter(&'a self) -> Self::MyIter {
let some_value = self.some_method(...);
self.something.iter().map(|x| some_value.wtf(x))
}
}


И теперь выходит, что мы не можем назвать тип, который должен идти в MyIter, из-за того, что у нас там будет Map<???, ...>, в котором надо будет указать имя типа замыкания, чего мы сделать не сможем. И соответственно так реализовать трейт тоже не сможем.

У нас остаются два варианта - бокс + dyn, что в случае итераторов смешно, или переходить на найтли и давать имя MyIter через type MyIter = impl Iterator<...>;

И вот кажется, что раз уж разрабы выбрали такой дизайн для лямбд, то возможность как-то дать название типу замыкания должна была быть с самого начала.

И, кстати, вот эта проблема - это то из-за чего я почти во всех своих проектах сижу на найтли и считаю, что раст без найтли - не сказать, чтобы сильно удобен.
Одна из моих любимых песен с тех пор, как её один супермозг визуализировал на 64 ядрах (128 аппаратных потоках) процессора AMD Threadripper 3990x.👇
Любопытное. Если погуглить по "rust tracing" выпадает такая красота.
Дженерики для го приняли тоже. Хороший пример фичи системы типов, которую нужно планировать заранее с самого начала, иначе вкорячивать придётся не самым красивым образом.
С другой стороны отличная демонстрация, что "вода камень точит".
Гугл спонсирует переписывание разных штук на Rust. Представьте, сначала тулзы, потом и сам POSIX, а потом появится и safe-слой для сисколлов :-P (ага, размечтался..)

https://security.googleblog.com/2021/02/mitigating-memory-safety-issues-in-open.html
Модель трёх тел хоть и сложна и аналитически не решается, но её всё равно нужно усложнить ещё дальше, чтобы она стала реалистичной. Например, добавить радиус планеты в параметры и столкновения между планетами, с образованием отлетающих кусков, которые становятся новыми планетами. Есть теория, что наша Луна — это отколовшийся когда-то кусок Земли в результате столкновения с каким-то шальным астероидом.
This media is not supported in your browser
VIEW IN TELEGRAM
Initial states:
m: 0.950 x: 0.841 y: -2.945 vx: 0.055 vy: 0.867
m: 7.171 x: -1.359 y: 2.404 vx: 0.573 vy: -0.282
m: 1.920 x: -2.252 y: -4.907 vx: -0.063 vy: 0.047
Interest-ness score: 61
https://www.opennet.ru/opennews/art.shtml?num=54516

Критическая ошибка в Chrome, позволяющая обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения. ...она вызвана обращением к уже освобождённому блоку памяти

Очень специфическая проблема, редчайший случай в софте на C++🤔
Одно из самых интересных траекторий планет задачи трёх тел, маленькую планету колбасит просто!
This media is not supported in your browser
VIEW IN TELEGRAM
Initial states:
m: 8.824 x: 2.963 y: -3.744 vx: 0.181 vy: 0.671
m: 0.105 x: 5.368 y: 6.131 vx: -0.438 vy: -0.021
m: 5.209 x: -3.997 y: 4.265 vx: 0.002 vy: 0.486
Interest-ness score: 73
Оставляю для себя потом прочитать, довольно важная тема оптимизации программ на Rust в одном единственном посте. Старый пост Achieving warp speed with Rust, 2017-го аж года, но при этом вроде бы актуальный. Единственное но, разные штуки, вроде test::black_hole пока доступны только в nightly и для них нужно включать #![feature(test)].