
Игра в наблюдение за логотипом 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'е. И здесь я подробно рассказываю о первом опыте.
Зачем нужен «Типограф»?
«Типограф» — это сервис, написанный «Студией Лебедева». Он помогает делать текст легко читаемым:
- расставляет кавычки «ёлочки»;
- меняет дефисы на длинные тире;
- расставляет символы неразрывных пробелов, чтобы не получалось «висячих» предлогов в конце строки;
- ...и, наверняка, делает ещё много полезного.
Артемий Лебедев написал о правилах типографики, которые легли в основу сервиса в 62-м параграфе Ководства.
Я пользуюсь им всегда, когда пишу в блог.
У Типографа есть веб-версия, но мне не хотелось запускать браузер каждый раз, когда что-то нужно оттипографировать. Поэтому я решил сделать утилиту командной строки и получать красивый текст сразу, как только сохранил его.
Почему Rust?
Rust мне любопытен по трём причинам: из-за статической типизации, интересных хаскелоподобных конструкций, плюс новой для меня концепции владения-заимствования.
Читать полностьюЛайфлист: 100 вещей, которые я хочу попробовать
Серега Капличный лет 8 назад собрал «Лайфлист» — список из 100 крутых вещей, которые вроде хотел, да всё никак не пробовал. И стал постепенно претворять в эти вещи жизнь.
Я решил сделать то же самое. Не претендую на оригинальность, некоторые пункты из Сережиного списка мне настолько понравились, что я их утащу к себе).
Имхо, тут главное даже не сами «галочки». Цель — она не в том, чтобы это всё сделать, а в том, чтобы чуть лучше понять — «А чего мне хочется-то?».
Читать полностью