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

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

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

Why Not Just Do Simple C++ RAII in C?

В последнее время есть предложения для того, чтобы добавить в C defer. Разумеется, эта конструкция избыточна, если в языке есть RAII. Статья показывает, почему "просто добавить RAII в C" не сработает.
👍1
Forwarded from Neural Machine
Рождение ребенка годится только для чудаков. Меня будет раздражать такая фигня.
Если вы вдруг наберёте достаточно голосов для Блог*а, то я добавлю в реакции эмодзи 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
💩17❤‍🔥2👍2🤮2👎1
Блог*
Photo
Кстати, парни, мотайте на ус, женщинам это нравится
🤡12❤‍🔥5👏3💯31💩1
Forwarded from optorepost
Шикарное видео про обучение нейронки балансированию двойного маятника. Обучается через генетический алгоритм. Вроде бы простая задача, простое решение, но очень глубоко. А в какой-то момент автор придумал гениальное решение, когда его система перестала обучаться.

Я посмотрел очень много подобных видео, и вообще погружался в тему, и это видео одно из достойнейших. Так что реально рекомендую.

На самом деле это вторая часть, и там есть первая с контекстом и историей. Ради второй стоит посмотреть и первую (https://www.youtube.com/watch?v=EvV5Qtp_fYg).

https://youtu.be/9gQQAO4I1Ck (это вторая)
7
optorepost
Шикарное видео про обучение нейронки балансированию двойного маятника. Обучается через генетический алгоритм. Вроде бы простая задача, простое решение, но очень глубоко. А в какой-то момент автор придумал гениальное решение, когда его система перестала обучаться.…
#prog #math #video

Больше всего меня удивило следующее:

Первые решения автора использовали скорость перемещения каретки в качестве выходного параметра (ещё для первой части с уравновешиванием одинарного маятника). В качестве fitness function использовалась очень простая вещь: единица счёта начислялась за каждую секунду симулированного времени, во время которой конец маятника находился достаточно высоко. С таким подходом ему удалось сконструировать решение, но для получения эстетически удовлетворительных результатов — без лишней дёрганности — ему пришлось модифицировать fitness function, чтобы она штрафовала решения за ненулевую угловую скорость маятника и за отклонение от серединного положения.

В комментариях к первому видео автора справедливо заметили, что использование скорости в качестве выходного параметра фактически означает бесконечное ускорение и потому нефизично и нереалистично. В конце второго видео автор попробовал подход, при котором в качестве выходного параметра используется ускорение каретки вместо скорости — разумеется, скорость каретки пришлось добавить в качестве входного параметра для нейросети. В итоге получилось рабочее и при этом не дёрганное решение — и для его достижения было достаточно первой, самой простой формы fitness function.
❤‍🔥1👍1
Что ни делает дурак, всё он делает не так #rus_nya #сказочноебали #сказочныедолбоёбы
🤡24😁14🌚5🤣2🤮1
Кстати. А кто из моих дорогих папищеков сейчас в Грузии?
🤮10🥰4🤡1
Блог* pinned «Кстати. А кто из моих дорогих папищеков сейчас в Грузии?»
> называется ssh-add
> с -d удаляет идентичности
🍌13
🌚10🤝7😁4💯4
МИДрифф
👌1
Forwarded from PB
ну я..
🥰12🍌12🤔1
#prog #rust #article

Enter paradis — A new chapter in Rust's parallelism story

Из-за правил относительно тупого borrow checker работать в Rust с разными мутабельными кусками одной структуры неудобно, даже если они заведомо не пересекаются. Для наиболее простых случаев годится spli_at_mut на слайсах, но это не распространяется на более сложные структуры данных и на более сложные случаи. Скажем, просто разбить слайс на набор мутабельных ссылок на элементы с чётными и нечётными индексами уже не получается.

В случае, если у структуры данных есть некоторая разновидность индексации, которая сопоставляет разным индексам разные элементы, то можно раздавать мутабельные ссылки на разные элементы, соответствующие разным наборам непересекающихся индексов. На практике это выливается в некоторый бойлерплейт с unsafe, который ещё и надо написать достаточно аккуратно, чтобы не потерять проверки времён жизни.

Библиотека paradis как раз стремится заполнить этот пробел за счёт предоставления этих наборов уникальных непересекающихся индексов и их комбинаторов, сохраняющих эти свойства, а также, разумеется, геттеров, использующих эти наборы индексов. Для каждой отдельной структуры данных требуется только реализовать геттер по индексу (unsafe, разумеется). Причём так как эти абстракции предназначены для использования в многопотоке, геттер возвращает данные, принимая self по разделяемой ссылке.

Автор отдельно отмечает, что paradis — экспериментальная библиотека и её дизайн ещё может поменяться.
👍105
#meme про женскую одежду.

Насколько я знаю из разговоров со знакомыми женщинами — правдивый.
🔥7🤔2
Блог*
#meme про женскую одежду. Насколько я знаю из разговоров со знакомыми женщинами — правдивый.
Ну и раз уж речь зашла об одежде...

#meme о том, как перестать быть слабаком и одеваться по-мужски (прямо как в старые добрые)
🥰16💩3👌3🤮1🤡1
Ну, допустим, #meme про изучение #rust.

(thanks @bapho_bush)
🥰19😁5👍21💩1