Как стать автором
Обновить

Моя лента

Тип публикации
Порог рейтинга
Уровень сложности
Предупреждение
Войдите или зарегистрируйтесь, чтобы настроить фильтры

Искусственный интеллект для игры в Тетрис

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 569

Работая над своей реализацией Тетриса на Javascript, я столкнулся с необходимостью тестирования игры. Тестировать хотелось в условиях, максимально приближенных к реальности, т.е., играя в него. Самому тратить часы на игру не было ни желания, ни времени. Я решил разработать бота, который будет играть в тетрис вместо меня. Такого бота можно оставить играть на несколько часов и отловить редкие ошибки, которые слишком трудно воспроизвести вручную. Кроме того, мне было просто интересно написать такого бота.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 2

Новости

Почему Илья Суцкевер не ходит на работу?

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 3.3K

Слева направо: Грег Брокман и Илья Суцкевер. Фон — картины Суцкевера. @gdb

Илью Суцкевера не уволили, официально не отстранили, но на рабочем месте его не видели всю прошлую неделю. В других случаях это был бы типичный прогульщик, если бы речь шла не про главного научного сотрудника OpenAI.

Почему Суцкевер не ходит в офис? Пока что сказать трудно. Зато сейчас легко предположить, почему уволили Сэма Альтмана. Для этого нужно размотать клубок OpenAI до самого основания компании.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 6

Магия swizzle из шейдеров в C++

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 602

В шейдере мы можем написать vec3 v0 = v1.xxy * 2 и любую другую комбинацию x, y, z и w в зависимости от длины вектора. Я рассматриваю только размеры вектора до 4, как самые распространенные для использования. Полученный вектор может не иметь той же самой размерности, как в меньшую так и в большую сторону и его компоненты могут быть скопированы в произвольном порядке. Это операция называется "swizzle" и это чертовски удобно для различных операций с малоразмерными векторами, особенно если они представляют игровые сущности в виде позиций, размера или цветов. Вектора используются повсюду в игровых проектах (да и не только в игровых), и не только в шейдерах. В какой-то момент swizzle было решено затащить и в наш игровой движок в базовые классы vec2, vec3 и vec4. Встали вопросы чтобы добиться такого же синтаксического и семантического поведения в C++ коде? Да сделать без особой потери производительности.

Swizzl'ить дальше
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 13

Apple: режим блокировки iPhone пока никому не удалось взломать

Время на прочтение 1 мин
Количество просмотров 3.1K

Apple утверждает, что режим блокировки, предназначенный для защиты от кибератак, пока никто не смог взломать. Компания добавила эту функцию в iPhone в прошлом году, и она предназначена в первую очередь для пользователей из группы риска, таких как политики, журналисты и активисты.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 7

Бесплатный безлимитный Telegram-бот Спич для расшифровки голосовых и кружочков

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 1K

Обзор бесплатного и безлимитного Telegram-бота для расшифровки гс и кружков Спич.

У всех же бывало когда присылают кружок, а ты прям никак не можешь прослушать, но вдруг там что-то важное?

Или любители голосовых... не зря мемы про них не теряют актуальности.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 18

Frontend и цветовая слепота или путь в IT длиною 15 лет с дальтонизмом

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 500

Доброго времени суток, меня зовут Юрий, мне 38 лет и я фронтендер. А еще у меня имеется генетическое нарушение, которое влияет на способность различать определенные цвета, в частности, я плохо различаю некоторые оттенки зеленого и красного. Как при этом мне удается совмещать эту особенность с моей работой и до сих пор оставаться в разработке? Давайте разберемся.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 6

Зачем металлу зёрна и что это такое?

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 1K

Вероятно, вам приходилось слышать, что структура любого металла представлена зёрнами. Это не те зёрна, которые клюют куры и едят мыши. Но тогда какие?

Читать далее
Всего голосов 10: ↑6 и ↓4 +2
Комментарии 5

Исследование: экосистема биткоина в 2023 году потратит более 2000 гигалитров воды

Время на прочтение 2 мин
Количество просмотров 1.5K

Экосистема биткоина потратит 2237 гигалитров  (1 гл = 1 млн м3) воды в 2023 году, а на одну транзакцию биткоина уходит около 19 тыс. литров воды. Таковы результаты исследования основателя Digiconomist и кандидата наук в области данных Амстердамского свободного университета Алекса де Вриза. Он предупреждает, что экосистема криптовалюты может вызвать нехватку пресной воды, особенно в странах-центрах майнинга.

Читать далее
Всего голосов 9: ↑3 и ↓6 -3
Комментарии 14

На Rostelecom Tech Day представлена ОС «Аврора 5.0» и проект Aurora Foundation

Время на прочтение 2 мин
Количество просмотров 3.3K

Компания «Открытая мобильная платформа» (ОМП) представила новую версию операционной системы (ОС) «Аврора 5.0» на мероприятии Rostelecom Tech Day, проходившем в Москве 8 декабря 2023 года. Разработчики заявили, что в новой версии ОС кардинально изменён интерфейс.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 4

Расчет АБ T-тестом

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 300

Продолжаем нырять в тему АБ и разбираться как считают тесты в большинстве продуктовых команд, где нет отдельного АБ-департамента.

Если ты еще не видел, то глянь вот здесь про дизайн тестов, как принять гипотезу от менеджера и привести ее в формат документации.

Примеры будут на R, но если ты питонист, можешь найти эти темы у меня в ТГ, там версия для Python тоже присутствует.

А теперь про сам тест.

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 0

Фантастический OpenRISC и где он обитает, или недетский разбор детской камеры

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 2.3K

После запуска Doom на кнопочном телефоне, я искал устройства на которых можно это повторить. К ним есть требования: цветной экран и несколько мегабайт памяти (идеально 4, но можно запустить и на двух). Видел счётчик электричества и USB тестер, то и другое есть с цветными экранами. Но покупать не стал, потому что скорее всего такие устройства имеют лишь десятки килобайт памяти, как и мощный чип им не нужен. Наконец на распродаже на известном китайском маркетплейсе увидел детский фотоаппарат, его и заказал для своего извращённого развлечения реверс-инжинирингом.

Но также нашел детский фотоаппарат со скидкой в немного другом корпусе на нашем маркетплейсе, заказал и его, ведь он будет у меня много раньше чем товар из Китая. Его и начал изучать первым...

Да простят меня подписчики хаба фототехники.

Читать далее
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 11

Пишем приложение на Python для подготовки к собеседованиям по Python

Время на прочтение 6 мин
Количество просмотров 2.1K

На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возникает потребность подготовки к собеседованиям.

В этой статье я расскажу о том, как используя Python, можно написать desktop-приложение для ОС Windows, которое поможет быстро, эффективно и абсолютно бесплатно подготовиться к собеседованиям по Python.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 8

Недокументированная возможность в Phpstorm: нативная консоль php -a с автодополнением из IDE

Время на прочтение 3 мин
Количество просмотров 1K

В прошлой статье я уже рассказывал о том, что использовать консоль Xdebug как аналог Python Console в Phpstorm. В комментариях меня спросили, чем не подходит для этого нативная консоль php, которую можно вызвать командой php -a (Php Interactive Shell). Я тогда ответил, что она не интегрирована с IDE, и у нее нет соответствующих фич, таких как автодополнение. Однако недавно выяснилось, что на самом деле ее можно "интегрировать" с Phpstorm одним хитрым способом...

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Ближайшие события

Kafka Connect на примере Debezium PostgresConnector

Уровень сложности Средний
Время на прочтение 19 мин
Количество просмотров 1.1K

В предыдущей статье про микросервисную архитектуру на основе событий с использованием Kafka Streams достаточно поверхностно был упомянут io.confluent.connect.jdbc.JdbcSourceConnector, который использовался для вычитания данных из SQLite и отправки их в топик Kafka. Сейчас я бы хотел более подробно разобрать технологию Kafka Connect на примере io.debezium.connector.postgresql.PostgresConnector. Как и в прошлый раз, я реализовал небольшой демо проект, код которого доступен на GitHub. В проекте кода совсем немного, однако чтобы понять все настройки, примененные в коннекторе, придется достаточно подробно пройтись по теоретической части. Итак, приступим.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Как я пытался облегчить работу в поликлинике

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 3K

Работа врача поистине тяжелая. Для того, чтобы облегчить ее и сделать чуточку проще, попробовал с помощью «No‑code» разработать удобное приложение, по подобию доставки. Что из этого вышло и почему бессмысленно.

Подробнее об опыте
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 9

Что нас бесит в интерфейсах игр

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 2.8K
image

Интерфейс — это то, по чему встречают игры. И далеко не все игры дружелюбны к игрокам, приветствуя их сложными менюшками и порой крайне нелогичным расположением кнопок. В этом материале я решил вспомнить, какие элементы интерфейсов могут вызывать, мягко говоря, недоумение.
Читать дальше →
Всего голосов 30: ↑24 и ↓6 +18
Комментарии 15

История создания Оптимизатора для ПК: Nuxt.js, Electron и C++ в Одном Проекте

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 1.8K

Как я проектировал свой самый большой проект, сложности с которыми я столкнулся. Фишки и неочевидные моменты при разработке.

Читать далее
Всего голосов 13: ↑1 и ↓12 -11
Комментарии 8

Typescript: принцип подстановки функций

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 1.5K

По аналогии с принципом LSP из ООП, при работе с функциями в Typescript стоит придерживаться следующего принципа:

Принимая колбэк с меньшим числом аргументов, оборачивайте его, прежде, чем передавать его далее в качестве колбэка с большим числом аргументов.

Почему это так?
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 1

Пьеса о неудачном запуске предзаказа

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 792

Воскресный пост без технических нюансов. Просто история одного дня из жизни команды разработки. Пост для развлечения и поднятия боевого духа перед началом рабочей недели – все решаемо и всегда есть выход из ситуации, главное его найти.

Читать далее
Всего голосов 12: ↑9 и ↓3 +6
Комментарии 3

Пора делать нормальных телеграм-ботов #1

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 2.3K

Вы создаёте ботов в телеграме? Даже если нет, полезно будет знать о некоторых моментах, касающихся разработки телеграм-ботов. Никакого кода не будет, только картинки и описание 5 распространённых ошибок, которые меня — заядлого педанта в области разработки простых интерфейсов — раздражают.

Узнать, о чём речь
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 11