Игра в наблюдение за логотипом DVD-плеера
Это про пункт лайфлиста, в котором я хотел создать игру.
В моем любимом сериале "Офис" есть эпизод, в котором герои следят за перемещением логотипа DVD по экрану телевизора, а тот отскакивает от стенок. Всех мучает вопрос: бывает ли так, что этот логотип попадает ровно в угол экрана?
Теперь вы можете сами на него ответить. Для этого я написал вот такую игру, которая имитирует поведение DVD-логотипа из "Офиса", а также сама считает, сколько раз произошло столкновение со стенкой экрана (hit), а сколько раз -- заветное попадание в угол (win).
Самый кайф в том, что вы можете ее оставить на какое-то время, заняться своими делами, а потом вернуться и посмотреть, были ли "угловые" попадания или нет. По моему опыту, на 300-400 отскоков от стенки приходится 1 "угловой".
Игра запускается со случайной скоростью, поэтому если вы хотите, чтобы логотип летал побыстрее или наоборот помедленнее, попробуйте пару раз перезагрузить страничку :)
Технические детали:
- язык программирования: Си (вот код),
- библиотека: Raylib,
- штука для компиляции под браузер (wasm, canvas и вот это всё): Emscripten.
Differential Machine Learning: МЛ + дифуры
В 2020 году я решал конкурс на Kaggle про предсказание результатов в американском футболе и подумал — вот бы неплохо прикрутить к МЛ-моделям ещё и дифуры.
Потом как-то забыл это всё, а теперь вспомнил и нашел статью "Differential Machine Learning" на towardsdatascience в которой, к тому же есть видос, где забавно мелькают формулы:
C# — торт
Пост любви и обожания языка программирования C#.
Читать полностьюКнига про Rust связные списки :D
Наткнулся на забавную обучалку по Rust'у. Называется Learn Rust With Entirely Too Many Linked Lists.
Автор пишет:
I fairly frequently get asked how to implement a linked list in Rust. The answer honestly depends on what your requirements are, and it's obviously not super easy to answer the question on the spot. As such I've decided to write this book to comprehensively answer the question once and for all.
Ну то есть чувака спроили, как бы реализовать связный списочек (вроде просто, да?), а он книгу написал.
Однако, книга действительно выглядит интересной, так как примеры постепенно усложняются, и все сложности довольно подробно разбираются.
Какие главы я бы с ходу хотел почитать:
- Persistent Stack - здесь про связный список в разделяемой среде, с подсчетом ссылок.
- An Unsafe Singly-Linked Queue - про использование небезопасных штук, типа указателей. И, оказывается, у автора есть ещё книга Rustonomicon - как раз про unsafe.
Группы Ли и алгебры Ли (канал Дж. Эванса)
Преподаватель математики Джонотан Эванс ведет образовательный канал на Youtube. У него есть замечательная подборка из 58 лекций по группам и алгебрам Ли.
Одно из важнейших, как мне кажется, видео я выложу здесь:
В этом видео автор рекомендует книги по группам и алгебрам Ли. Я ознакомился со всеми из них, они действительно достойны внимания:
- Fulton William, Harris Joe - Representation Theory. A First Course.
- Alexander Kirillov Jr - An introduction to Lie groups and Lie algebras. Есть издание на русском языке.
- Roger William Carter, Graeme Segal, Ian Grant Macdonald - Lectures on Lie groups and Lie algebras.
- J. F. Adams - Lectures on Lie Groups.
- Dr. Morton L. Curtis - Matrix Groups.
- Anthony W. Knapp - Lie Groups Beyond an Introduction.
- H. S. M. Coxeter - Regular Complex Polytopes.
№17 Написать приложение на React
17-й пункт списка.
Впервые полностью сам написал приложение на React. До этого только дорабатывал приложения, которые кто-то уже написал.
Давно хотел написать приложуху с нуля, но всё откладывал, а тут пришел Женя Летов и попросил доработать UTM-разметчик, который я году в 2015 написал на AngularJS — не путать с современным Angular.
Старичок AngularJS уже впал в спячку: его уже активно не развивают, а в декабре 2021 вообще прекращают поддержку. Поэтому надо было куда-то переезжать.
Так как я в этот момент читал книгу «Fullstack React with TypeScript», я решил попробовать переписать всё на реакте.
Читать полностьюПопробовал мьютексы и async/await в Rust
В универе был курс про параллельные вычисления. По этому случаю решил две учебные задачки на Rust'е:
- задачу обещающих философов (Дийкстра придумал) — см. GitHub,
- запиливание веб-кроулера, обходящий какой-нибудь сайт в ширину — см. GitHub.
Первую задачку решил на мьютексах. Вторую решил запилить на async/await (так как многопоточность для нее была бы оверкилом).
Полезные ссылки:
№30. Написать клиент «Типографа» на языке Rust
Это статья рассказывает об одном пункте лайфлиста — списка из 100 клёвых вещей, которые я хочу попробовать.
Мне давно хотелось что-нибудь написать на Rust'е. И здесь я подробно рассказываю о первом опыте.
Читать полностью100 вещей, из которых около половины я хочу попробовать
За идею спасбо Сереге Капличному.
Некоторые вещи сделаны - их отмечаю галочкой (✓). К некоторым вещам я потерял интерес - там крестик (✗).
Читать полностьюКуда делись старые записи и вообще весь старый блог?
tl;dr Интересы поменял, ссылки оставил. Велкам в новый блог
Я решил реанимировать к блог, чтобы с его помощью структурировать знания — по программированию и математике.
Старый блог был про маркетинг и рекламу. Я этим занимался пару лет, но потом решил вернуться в программирование, а статьи остались, ну и пусть лежат здесь, вдруг кому-то будут полезны:
- «Бесплатные онлайн-курсы, полезные для аналитика»,
- «Как написать текст для сайта»,
- «Как поставить цель»,
- «Интерстеллар: почему 1 час на планете Миллер равен 7 годам на Земле?»,
- «Александр Олещук. События и а/б тесты как способ познать себя»,
- «Максим Уваров: анализ рекламных кампаний в Excel»,
- «Список моих конспектов с Convert-2014»,
- «Самое плохое слово»,
- «Минус-слова для Яндекс.Директа: приводим списки в порядок».
- «Гид по шаурме-2016».