Попробовал, наконец, классную математическую настольную игру "Машина Тьюринга".
На самом деле не столько игра, сколько головоломка, которую вы можете решать в одиночку, совместно или соревнуясь. Она совершенно гениально сделана, и я не до конца понимаю, как именно, но она работает и приносит много удовольствия.
Каждая задача в игре — трехзначное число с цифрами 1..5, зашифрованное в наборе карточек. Карточки двух видов: выражение и его валидатор. Выражение, например, может быть таким: "Вторая цифра меньше трех". Вы выдвигаете гипотезу, каким именно будет число-ответ. А дальше происходит магия — каждое такое число собирается из трёх перфокарт с отверстиями, вы прикладываете к сборке валидатор, и в единственном оставшемся отверстии видете бинарный результат: истина или ложь. Таким образом, получаете информацию о том, справедливо ли выражение для загаданного числа.
Ход за ходом вы должны выбирать самые эффективные гипотезы и выражения, которые отсекут больше всего неверных вариантов. В какой-то момент информации для однозначного ответа становится достаточно. Чем меньше ходов вы потратили, тем лучше.
Если вы нерд и любите фокусы с цифрами, то это прям мастхэв. Играется очень приятно, и вызывает неподдельный кайф каждый раз, когда вы собираете из кусочков ответ, хотя за мгновение до этого может казаться, что до решения ещё очень далеко.
Если же вы не фанат подобного, то подарите коробку знакомому математику, он будет рад!
#games
#java#cache#caffine#data#draft#fetch#graphql#immer#immutable#immutable_collections#immutable_datastructures#java#jdbc#kotlin#orm#orm_framework#orm_library#orms#redis#redis_cache
Jimmer is a powerful and advanced ORM (Object-Relational Mapping) framework for Java and Kotlin that lets you easily read and write complex data structures without needing to predefine their shapes. It supports dynamic multi-table queries, automatic SQL optimization, and efficient saving of incomplete or nested objects. Jimmer also generates type-safe DTOs (Data Transfer Objects) for complex queries and updates, avoids common problems like "N+1" queries, and offers strong caching and GraphQL support. This means you can build complex business logic faster and with less hassle, improving both development speed and code quality. It works well with modern IDEs and supports both Java and Kotlin seamlessly.
https://github.com/babyfish-ct/jimmer