Одна из моих любимых песен с тех пор, как её один супермозг визуализировал на 64 ядрах (128 аппаратных потоках) процессора AMD Threadripper 3990x.👇
Forwarded from Блог*
YouTube
Bad Apple!! but it's made of YouTube captions
Recommended: Mac, Android, Linux
Windows is fine, but spaces look off because the font has a wrong width for braille space.
iPhone/iPad app can only play captions at about 5 fps, but it works with browser version of YouTube.
Original: https://youtu.be/FtutLA63Cp8…
Windows is fine, but spaces look off because the font has a wrong width for braille space.
iPhone/iPad app can only play captions at about 5 fps, but it works with browser version of YouTube.
Original: https://youtu.be/FtutLA63Cp8…
Дженерики для го приняли тоже. Хороший пример фичи системы типов, которую нужно планировать заранее с самого начала, иначе вкорячивать придётся не самым красивым образом.
С другой стороны отличная демонстрация, что "вода камень точит".
С другой стороны отличная демонстрация, что "вода камень точит".
GitHub
spec: add generic programming using type parameters · Issue #43651 · golang/go
We propose adding support for type parameters to Go. This will change the Go language to support a form of generic programming. A detailed proposal document has been published, with input from many...
Гугл спонсирует переписывание разных штук на Rust. Представьте, сначала тулзы, потом и сам POSIX, а потом появится и safe-слой для сисколлов :-P (ага, размечтался..)
https://security.googleblog.com/2021/02/mitigating-memory-safety-issues-in-open.html
https://security.googleblog.com/2021/02/mitigating-memory-safety-issues-in-open.html
Google Online Security Blog
Mitigating Memory Safety Issues in Open Source Software
Posted by Dan Lorenc, Infrastructure Security Team Memory-safety vulnerabilities have dominated the security field for years and often lead ...
Модель трёх тел хоть и сложна и аналитически не решается, но её всё равно нужно усложнить ещё дальше, чтобы она стала реалистичной. Например, добавить радиус планеты в параметры и столкновения между планетами, с образованием отлетающих кусков, которые становятся новыми планетами. Есть теория, что наша Луна — это отколовшийся когда-то кусок Земли в результате столкновения с каким-то шальным астероидом.
Forwarded from Random three body problem
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
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++🤔
Критическая ошибка в Chrome, позволяющая обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения. ...она вызвана обращением к уже освобождённому блоку памяти
Очень специфическая проблема, редчайший случай в софте на C++🤔
www.opennet.ru
Обновление Chrome 88.0.4324.146 с устранением критической уязвимости
Опубликовано обновление браузера Chrome 88.0.4324.146 в котором устранена уязвимость, имеющая статус критической проблемы, позволяющей обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения. Детали об уязвимости (CVE-2021…
Одно из самых интересных траекторий планет задачи трёх тел, маленькую планету колбасит просто!
Forwarded from Random three body problem
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
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)]
.Gist
Rust Optimization.md
GitHub Gist: instantly share code, notes, and snippets.
Навеяно постом Ильи
https://t.iss.one/optozorax_dev/298
У меня есть история из детства. Когда я только учился программировать (я на самом деле до сих пор не умею😭), я решил сделать компьютерный аналог игры в 1000 с пятью кубиками, игральными костьми то есть.
Особенность этой игры в том, что после того, как были сгенерировано 5 случайных чисел, нужно было этот массив проверить на то, содержится ли там 3, 4, 5 одинаковых числа и если да, выяснить, что это за числа, кроме этого есть ещё комбинации
Если попытаться вычислить вхождение каждой комбинации в лоб получая на вход массив чисел, то это порождает необходимость в переборе всех комбинаций троек, потом четвёрок, кучи проверок и когда я тогда попытался продавить это решение, оно было кошмарным и я утонул в багах.
И однажды мне неожиданно пришла простая мысль: давайте сделаем массив длины 6,
Прежние мои попытки я с радостью удалил и переписал проверку паттернов (и соответственно подсчёт очков). Я был так воодушевлён, что решил было сделать алгоритм игры, то есть бота, чтобы мне поиграть против компьютера. Увы, такого рода задачи уже были мне не по зубам вплоть до универа, когда я начал грызть "Программирование игр" Адельсона-Вельского и компании.
https://t.iss.one/optozorax_dev/298
У меня есть история из детства. Когда я только учился программировать (я на самом деле до сих пор не умею😭), я решил сделать компьютерный аналог игры в 1000 с пятью кубиками, игральными костьми то есть.
Особенность этой игры в том, что после того, как были сгенерировано 5 случайных чисел, нужно было этот массив проверить на то, содержится ли там 3, 4, 5 одинаковых числа и если да, выяснить, что это за числа, кроме этого есть ещё комбинации
1,2,3,4,5
и 2,3,4,5,6
.Если попытаться вычислить вхождение каждой комбинации в лоб получая на вход массив чисел, то это порождает необходимость в переборе всех комбинаций троек, потом четвёрок, кучи проверок и когда я тогда попытался продавить это решение, оно было кошмарным и я утонул в багах.
И однажды мне неожиданно пришла простая мысль: давайте сделаем массив длины 6,
s = [s1, s2, s3, s4, s5, s6]
и в нём будем накапливать количество выпавших на текущем ходу единиц, двоек и так далее шестёрок. Этот препроцессинг сделал проверку условий элементарным, скажем, "выпало ли 4 единицы" нам нужно проверить выполнено ли s1 == 4
.Прежние мои попытки я с радостью удалил и переписал проверку паттернов (и соответственно подсчёт очков). Я был так воодушевлён, что решил было сделать алгоритм игры, то есть бота, чтобы мне поиграть против компьютера. Увы, такого рода задачи уже были мне не по зубам вплоть до универа, когда я начал грызть "Программирование игр" Адельсона-Вельского и компании.
Telegram
dev optozorax
Как известно, я решил задачу "что будет если поместить портал в портал". Я написал программу, которая проводит вычисление этого, и срендерил результат.
По этому поводу я опубликовал маленькое видео на ютубе, а затем запостил это видео на реддите, и оно там…
По этому поводу я опубликовал маленькое видео на ютубе, а затем запостил это видео на реддите, и оно там…
Нужно будет тщательным образом просмотреть и намотать на ус
https://www.youtube.com/watch?v=czhNqUxmLks
https://www.youtube.com/watch?v=czhNqUxmLks
YouTube
Introduction to Starcraft, Strategy, and Bot AI Programming
Time Codes:
00:00 - Introduction / Links
02:13 - What is Starcraft / RTS?
05:23 - Basic RTS Strategies
08:31 - Starcraft Races
10:28 - Terran Overview
13:06 - Protoss Overview
15:26 - Zerg Overview
18:37 - Example Game Scenario
20:55 - What is a Build Order?…
00:00 - Introduction / Links
02:13 - What is Starcraft / RTS?
05:23 - Basic RTS Strategies
08:31 - Starcraft Races
10:28 - Terran Overview
13:06 - Protoss Overview
15:26 - Zerg Overview
18:37 - Example Game Scenario
20:55 - What is a Build Order?…
Интересное интервью с создателем Factorio известным как kovarex. Длинный 2.5-часовой подкаст, где товарищ kovarex рассказывает, что его связывало со старкрафтом, и как он пришёл к идее создания Factorio.
(Factorio — это такая игра, где вместо раздачи команд юнитам игрок создаёт всё более и более высокоуровневые структуры для решения стратегических задач).
https://makingcomputerdothings.com/the-undermind-episode-45-an-interview-with-kovarex-the-creator-of-factorio/
(Factorio — это такая игра, где вместо раздачи команд юнитам игрок создаёт всё более и более высокоуровневые структуры для решения стратегических задач).
https://makingcomputerdothings.com/the-undermind-episode-45-an-interview-with-kovarex-the-creator-of-factorio/
Making Computer Do Things
The Undermind Episode 45 – An interview with kovarex, the creator of Factorio
This episode is a very special one – few people know that kovarex actually one of the founders of the BWAPI project – and he agreed to have a talk about it, and of course, Factorio. Thi…
Воу воу, помедленнее там
https://www.zdnet.com/article/linus-torvalds-on-where-rust-will-fit-into-linux/
Линус говорит о том, где Раст будет зажигать на линуксе (хинт: на уровне приложений, дрова и утилиты, в ядро Линус его не пустит).
https://www.zdnet.com/article/linus-torvalds-on-where-rust-will-fit-into-linux/
Линус говорит о том, где Раст будет зажигать на линуксе (хинт: на уровне приложений, дрова и утилиты, в ядро Линус его не пустит).
ZDNET
Linus Torvalds on where Rust will fit into Linux
Slowly but surely the Rust language is making its way into Linux. I talked with Linus Torvalds and Greg Kroah-Hartman about where they see Rust and Linux working together.
А вы знали, что сегодня International Waffle Day?
Давайте поздравим Вафеля (t.iss.one/ihatereality), я уже съел вафельку за его здоровье🖐
Давайте поздравим Вафеля (t.iss.one/ihatereality), я уже съел вафельку за его здоровье🖐
Открываю релиз ноты Rust, вижу не очень красивый коде сниппет
Увы, нужно признать, разработчики языка допустили архитектурную ошибку💥, теперь это соглашение ушло в библиотеки и сторонний код. Бывает.
Теперь будем терпеть, если вдруг в каком-то месте нужно будет переключиться с вектора на массив (или обратно), нужно будет протыкать и форычи заодно.
fn main() {И дальше: "Обратите внимание, что это было добавлено как отдельный метод, вместо
let array = [1, 2, 3, 4, 5];
// Было
for item in array.iter().copied() {
println!("{}", item);
}
// Стало
for item in std::array::IntoIter::new(array) {
println!("{}", item);
}
}
.into_iter()
, так как сейчас оно ломает текущее соглашение о том, что .into_iter()
относится к срезам по ссылочному итератору."Увы, нужно признать, разработчики языка допустили архитектурную ошибку💥, теперь это соглашение ушло в библиотеки и сторонний код. Бывает.
Теперь будем терпеть, если вдруг в каком-то месте нужно будет переключиться с вектора на массив (или обратно), нужно будет протыкать и форычи заодно.