100 вещей, которые я хочу попробовать.

Игра в наблюдение за логотипом DVD-плеера

Теги: #c #игры #100

Это про пункт лайфлиста, в котором я хотел создать игру.

В моем любимом сериале "Офис" есть эпизод, в котором герои следят за перемещением логотипа DVD по экрану телевизора, а тот отскакивает от стенок. Всех мучает вопрос: бывает ли так, что этот логотип попадает ровно в угол экрана?

Теперь вы можете сами на него ответить. Для этого я написал вот такую игру, которая имитирует поведение DVD-логотипа из "Офиса", а также сама считает, сколько раз произошло столкновение со стенкой экрана (hit), а сколько раз -- заветное попадание в угол (win).

Самый кайф в том, что вы можете ее оставить на какое-то время, заняться своими делами, а потом вернуться и посмотреть, были ли "угловые" попадания или нет. По моему опыту, на 300-400 отскоков от стенки приходится 1 "угловой".

Игра запускается со случайной скоростью, поэтому если вы хотите, чтобы логотип летал побыстрее или наоборот помедленнее, попробуйте пару раз перезагрузить страничку :)

Технические детали:

Differential Machine Learning: МЛ + дифуры

Теги: #математика

В 2020 году я решал конкурс на Kaggle про предсказание результатов в американском футболе и подумал — вот бы неплохо прикрутить к МЛ-моделям ещё и дифуры.

Потом как-то забыл это всё, а теперь вспомнил и нашел статью "Differential Machine Learning" на towardsdatascience в которой, к тому же есть видос, где забавно мелькают формулы:

C# — торт

Пост любви и обожания языка программирования C#.

Читать полностью

Книга про Rust связные списки :D

Теги: #rust

Наткнулся на забавную обучалку по 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.

Ну то есть чувака спроили, как бы реализовать связный списочек (вроде просто, да?), а он книгу написал.

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

Какие главы я бы с ходу хотел почитать:

Группы Ли и алгебры Ли (канал Дж. Эванса)

Теги: #математика #теория групп

Преподаватель математики Джонотан Эванс ведет образовательный канал на Youtube. У него есть замечательная подборка из 58 лекций по группам и алгебрам Ли.

Одно из важнейших, как мне кажется, видео я выложу здесь:

В этом видео автор рекомендует книги по группам и алгебрам Ли. Я ознакомился со всеми из них, они действительно достойны внимания:

  1. Fulton William, Harris Joe - Representation Theory. A First Course.
  2. Alexander Kirillov Jr - An introduction to Lie groups and Lie algebras. Есть издание на русском языке.
  3. Roger William Carter, Graeme Segal, Ian Grant Macdonald - Lectures on Lie groups and Lie algebras.
  4. J. F. Adams - Lectures on Lie Groups.
  5. Dr. Morton L. Curtis - Matrix Groups.
  6. Anthony W. Knapp - Lie Groups Beyond an Introduction.
  7. H. S. M. Coxeter - Regular Complex Polytopes.

№17 Написать приложение на React

Теги: #100

17-й пункт списка.

Впервые полностью сам написал приложение на React. До этого только дорабатывал приложения, которые кто-то уже написал.

Давно хотел написать приложуху с нуля, но всё откладывал, а тут пришел Женя Летов и попросил доработать UTM-разметчик, который я году в 2015 написал на AngularJS — не путать с современным Angular.

Старичок AngularJS уже впал в спячку: его уже активно не развивают, а в декабре 2021 вообще прекращают поддержку. Поэтому надо было куда-то переезжать.

Так как я в этот момент читал книгу «Fullstack React with TypeScript», я решил попробовать переписать всё на реакте.

Читать полностью

Попробовал мьютексы и async/await в Rust

Теги: #rust #матмех

В универе был курс про параллельные вычисления. По этому случаю решил две учебные задачки на Rust'е:

  1. задачу обещающих философов (Дийкстра придумал) — см. GitHub,
  2. запиливание веб-кроулера, обходящий какой-нибудь сайт в ширинусм. GitHub.

Первую задачку решил на мьютексах. Вторую решил запилить на async/await (так как многопоточность для нее была бы оверкилом).

Полезные ссылки:

№30. Написать клиент «Типографа» на языке Rust

Теги: #100 #rust

Это статья рассказывает об одном пункте лайфлиста — списка из 100 клёвых вещей, которые я хочу попробовать.

Мне давно хотелось что-нибудь написать на Rust'е. И здесь я подробно рассказываю о первом опыте.

Зачем нужен «Типограф»?

«Типограф» — это сервис, написанный «Студией Лебедева». Он помогает делать текст легко читаемым:

Артемий Лебедев написал о правилах типографики, которые легли в основу сервиса в 62-м параграфе Ководства.

Я пользуюсь им всегда, когда пишу в блог.

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

Почему Rust?

Rust мне любопытен по трём причинам: из-за статической типизации, интересных хаскелоподобных конструкций, плюс новой для меня концепции владения-заимствования.

Читать полностью

Лайфлист: 100 вещей, которые я хочу попробовать

Теги: #100

Серега Капличный лет 8 назад собрал «Лайфлист» — список из 100 крутых вещей, которые вроде хотел, да всё никак не пробовал. И стал постепенно претворять в эти вещи жизнь.

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

Имхо, тут главное даже не сами «галочки». Цель — она не в том, чтобы это всё сделать, а в том, чтобы чуть лучше понять — «А чего мне хочется-то?».

Читать полностью