Pull to refresh
0
0

Саунд-дизайнер, веб-разработчик

Send message

Запускаем Arduino от DIY-батарейки из лимона

Level of difficultyHard
Reading time7 min
Views5.2K

В 2018 году я уволился из российского подразделения Atmel (компании, которая разработала микроконтроллеры ATmega, применяемые в Arduino) и был приглашён в южноамериканское подразделение NXP. На собеседовании в числе прочих был один весьма забавный вопрос: «Как вы запустите демоплату с микроконтроллером MCXA143VLH, если окажетесь в античной Греции?» Мой ответ про батарейку из лимона приятно удивил собеседника.

Такую батарейку каждый читатель легко может сделать у себя дома. И сегодня я расскажу как. А чтобы убедиться в том, что батарейка функциональна, мы подключим к ней Arduino, который выполнит написанный нами код.

Опустить электроды в лимонный сок
Total votes 43: ↑40 and ↓3+56
Comments49

Во имя богов Рандома. Настраиваем вероятность исходов в играх

Reading time8 min
Views5.3K

Непредсказуемость всегда вызывает у людей интерес и является популярным инструментом в руках разработчиков игр: процедурная генерация, лутбоксы, шансы крита и ещё множество параметров, на которые игрок может лишь молиться, чтобы они ему благоволили. Однако иногда подобные механики оборачиваются гневом простых людей против создателей. В этой статье рассмотрим реализации рандома для генерации исходов таким образом, чтобы минимизировать недовольство игроков и сохранить их интерес.

Читать далее
Total votes 22: ↑21 and ↓1+24
Comments5

Почему GitHub на самом деле победил: история глазами сооснователя

Level of difficultyEasy
Reading time17 min
Views9K

Недавно мы опубликовали в блоге перевод статьи о том, как GitHub заменил SourceForge в роли доминирующей платформы для хостинга кода. Но, как справедливо отметил автор оригинала, его мнение основано на открытых источниках и интервью с коллегами. А потом своим ви́дением поделился один из сооснователей GitHub, Скотт Чакон, который «действительно был там». Под катом — перевод его ответной статьи о реальных причинах победы GitHub. 

Читать далее
Total votes 42: ↑39 and ↓3+45
Comments6

Попробуйте Tauri

Level of difficultyMedium
Reading time6 min
Views5.9K

Хочу рассказать про один из моих любимых Opensource проектов: Tauri. Это среда для создания десктопно-мобильных приложений на JavaScript, но быстрых и легковесных. С опциональными дополнениями на Rust, а через него и на всех других языках.

Читать далее
Total votes 24: ↑22 and ↓2+27
Comments30

Геймдев и ИИ: как нейросети меняют правила игры

Level of difficultyEasy
Reading time10 min
Views6.3K

Искусственный интеллект уверенно входит в мир разработки игр, становясь важным инструментом для оптимизации творческих и технических процессов. От генерации графики и 3D-моделей до создания сценариев и озвучки — ИИ уже меняет подход к геймдеву. Но действительно ли он способен полностью заменить разработчиков, или же останется лишь продвинутым ассистентом? В этой статье мы рассмотрим различные аспекты применения ИИ в индустрии, его влияние на будущее видеоигр и даже рассмотрим первый в мире нейросетевой игровой движок!

Читать далее...
Total votes 6: ↑5 and ↓1+8
Comments12

Будни ретрогеймера: а я сказал — BITMAN

Level of difficultyEasy
Reading time20 min
Views6.4K

Ретрогейминг — довольно популярное сейчас увлечение старыми компьютерными и видеоиграми, от истоков индустрии и до того момента, в который актуальное нынешнее превращается в пыльное ретро. На данный момент эта условная граница пролегает где-то между поколениями PlayStation 2 и 3, в начале 2000-х годов.

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

В современном мире вовсе не обязательно использовать реальные игровые устройства, картриджи и диски, но именно они являются краеугольным камнем ретрогейминга, источником всех этих старых игр. И если возжелать обратиться к этому подлиннику, обнаружится проблема: в 21-ом веке эти артефакты требуют обслуживания, мелкого ремонта и восстановления, а зачастую ещё и адаптации под современные реалии.

Хотя в своих публикациях я обычно касаюсь более хардкорных граней ретрокомпьютинга, я тоже частенько ковыряюсь в старых приставках. Особенно кучно они пошли в этом году, и это навело на мысль посвятить этому занятию статью. Простая возня со старым железом, без мучительных копаний в википедийных фактах и прочей истории, околотехническое творчество и решение разнообразных проблем подручными средствами. Приступаем!
Читать дальше →
Total votes 53: ↑53 and ↓0+71
Comments23

Российские игры: двадцатые

Level of difficultyEasy
Reading time10 min
Views15K
image

На дворе — 2024 год. Несмотря на непростые времена, люди продолжают творить, в том числе и игры. Практически все игры достойны ознакомления, многие сильно затягивают, не хуже, чем крупные западные тайтлы. Вот о них — в новом материале цикла про российские игры XXI века.
Читать дальше →
Total votes 39: ↑39 and ↓0+58
Comments26

Топ-6 игровых процессоров для ПК, которые можно купить осенью 2024 года

Level of difficultyEasy
Reading time9 min
Views20K

Выбор оптимального процессора для игрового ПК в 2024 году не становится проще. Теперь уже мало просто посмотреть на количество потоков и ядер, а нужно учитывать множество разных показателей от архитектуры до объема и типа кэша L3 вроде 3D V-Cache. В этой статье мы собрали шесть наиболее перспективных CPU для гейминга, чья производительность, энергоэффективность и совместимость с платформами сочетаются с адекватной ценой. 

Читать далее
Total votes 6: ↑3 and ↓3+2
Comments20

Заметка про реализацию системы способностей в играх

Level of difficultyEasy
Reading time11 min
Views8.1K

Разработчики игр нередко сталкиваются с необходимостью или желанием реализовать систему способностей в своих проектах. Не редки случаи, когда не понятно ни как подступиться в начале, ни как уже потом добавить в игру новую "гениальную" способность, о которой "ранее не договаривались", не сломав уже добавленные. Как минимум, через эти сложности я и сам успел пройти не один раз на сингловых и мультиплеерных проектах. О том, что я успел для себя понять, эта заметка.

Читать далее
Total votes 11: ↑9 and ↓2+10
Comments6

Как я сделал свою Arduino

Level of difficultyMedium
Reading time7 min
Views19K

Привет, читатель!

Сегодня существуют десятки вариантов платы Arduino. Их популярность обусловлена, по моему мнению, фреймворком Wiring для микроконтроллеров, распространением «шилдов» (нет необходимости паять компоненты) и, что самое удобное, загрузкой программ по USB. В рамках этой статьи расскажу, как я создал небольшую оценочную плату для микроконтроллера и добавил в нее загрузочную запись.

По своей сути, большинство «ардуинок» (оценочных плат) — это печатные платы с минимально необходимыми для микросхемы деталями. Такие прототипы позволяют сделать работу с чипами удобнее, проще и приятнее. Однако бывает, что под контроллер либо нет подобных решений, либо они универсальные и имеют некоторые неточности. С этим можно бороться, но возникают различные костыли, поэтому я решил разработать оценочную плату для отечественного чипа. Самому чипу посвящена отдельная статья на Хабре, его я использую в паре пет-проектов. Приступим к разработке!
Читать дальше →
Total votes 52: ↑50 and ↓2+63
Comments21

ОС «Аврора» — веб-сервер в кармане

Level of difficultyMedium
Reading time6 min
Views13K

Привет, читатель!

В начале июня я опубликовал обзор смартфона с ОС «Аврора». После этого взялся изучать документацию к SDK, решил написать пару небольших приложений и портировать один проект на телефон. В процессе понял, что для выполнения команд, просмотра файлов и доставки пакетов требуется консоль. В какой-то момент стало любопытно покопаться и посмотреть, какие приложения есть в репозиториях «Авроры» и с чем из этого можно поиграться. Выбор оказался весьма широк, но самым интересным для меня был исполнитель интерпретируемого языка. Если вам интересно, какой код можно запустить со смартфона на «Авроре» и какие могут возникнуть нюансы, прошу под кат!
Читать дальше →
Total votes 45: ↑44 and ↓1+55
Comments15

Отечественная портативная консоль своими руками

Level of difficultyEasy
Reading time5 min
Views22K

Привет, читатель!

Как-то я отлаживал приложение для телефона на отечественной ОС «Аврора» и вдруг заскучал. Тогда я поставил на него RetroArch и скачал несколько игр. Подключив геймпад, провел за ними пару часов. Позже, листая раздел с играми в чате разработчиков «Авроры», наткнулся на идею подключения джойстиков-чехлов к телефону. Но мне не понравился их внешний вид, поэтому накидал пару концептов мобильной приставки и решил воплотить ее в жизнь.
Читать дальше →
Total votes 84: ↑78 and ↓6+95
Comments30

Suno как аранжировщик etc

Level of difficultyMedium
Reading time14 min
Views3.9K

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

Под аранжировкой обычно понимают создание инструментального трека (минусовки, backing track) на основе мелодии или мелодии + гармонии, с определенным стилем, темпом, формой/структурой. Suno генерирует песни (и инструментал) целиком с задаваемыми (относительно) стилем и формой. Показалось интересным протестировать систему на возможность создания нужной аранжировки. Особенно после своих экспериментов с Audio Input (см. статью), когда эта функция Suno стала очевидной. Да и читатели обращались с подобным вопросом. Так я затеял серию экспериментов, результаты которых представил в пяти тестах. (Все звуковые примеры и детали у меня на сайте).

За последние пару месяцев я сделал более 80 DS (dataset, исходников), как с вокалом, так и инструментальных. Причем, чаще это была не просто отрезка фрагмента до 60 сек. из готового трека, а его препарация или сборка фрагмента c нужным содержанием (вокал, аккорды, Hi-Hat Loop и т.п.).

Тест #1 / от спетой мелодии, текста... ("По-Гру-Гла-Но ...") *.

Отталкиваясь от удачного опыта с генерацией аранжировок в разных стилях на а капеллу Воробей я решил провести более детальный эксперимент: на входе спетая мелодия + текст (Lyrics) и задание Style. Классно же спеть свою мелодию, скормить Suno и получить готовую песню в нужном стиле...

Написал простую мелодию, сочинил шуточный текст, включающий Bridge, Verse и Chorus и пропел все это на простую гармонию. Сначала в темпе 90 bpm - тогда пришлось сделать 2 разных DS: Bridge+Verse и Bridge+Chorus, иначе нельзя было уложиться в ограничение в 60 сек. Затем - в темпе 102 bpm: Bridge+Chorus, здесь Bridge уже не пропевался.

Читать далее
Total votes 12: ↑12 and ↓0+16
Comments8

Когда старые игры молодеют: Age of Mythology получила глобальный ремейк 22 года спустя. Каким он получился?

Reading time5 min
Views6.6K

Знаете, всегда радует, если разработчики ПО или игр продолжают поддерживать свои продукты спустя несколько лет. Сейчас такое время, что компания, выпустившая какую-либо программу, через полгода уже и существовать не будет — а значит, пользователи ПО останутся без поддержки. Жесткий пример подобного, правда не для ПО, а для другого высокотехнологичного продукта, — компания Second Sight. Она выпускала бионические глазные импланты Argus. Через пару лет прекратила их производство и заявила, что не может полноценно поддерживать работу существующих устройств, которые вживили более чем 350 пациентам по всему миру.

Но есть и положительные примеры. Один из них — игра Age of Mythology. Она получает обновления с 2002 года, с момента своего выхода в свет. Разработчики периодически выпускают DLC-версии игры с улучшенными текстурами. Но сейчас они превзошли самих себя и выпустили ремейк с полностью обновленной графикой, игровым ИИ и прочими фишками. Атмосфера, управление, звуки и вообще окружающая игрока виртуальная среда остались прежними. Об этом и поговорим под катом.

Читать далее
Total votes 16: ↑14 and ↓2+25
Comments7

Как извлечь квадратный корень из перестановки чисел?

Level of difficultyMedium
Reading time4 min
Views6.2K

В этой статье мы исследуем проблему извлечения квадратного корня из перестановки p, иными словами задачу нахождения всех таких перестановок x, что x \cdot x = p. Будет сформулирован критерий возможности извлечения квадратного корня, алгоритм нахождения корней и формула их подсчёта в общем виде.

Читать далее
Total votes 12: ↑10 and ↓2+13
Comments13

Взлом паролей методом брутфорса, уязвимой машины в Kali GNU/Linux с hydra, medusa, ncrack — просто

Level of difficultyEasy
Reading time4 min
Views7.6K

Всех приветствую читатели Хабра!

Сегодня я поведую о том как установить, настроить, и эксплуатировать уязвимости заранее уязвимой машины Metasploitable2-Linux. В данной статье я скорее даже поделюсь своим опытом взлома уязвимого хоста в виртуальной машине.
Но для начали правовая информация:

Данная статья создана исключительно в ознакомительных/образовательных/развивающих целях.

Автор статьи не несет ответственности за ваши действия.
Автор статьи ни к чему не призывает, более того напоминаю о существовании некоторых статей в уголовном кодексе РФ, их никто не отменял:
УК РФ Статья 272. Неправомерный доступ к компьютерной информации
УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ
УК РФ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей

Естественно для целей изучения указанного софта я и использую виртуальную машину у себя на своем личном компьютере, а не удаленный хост или сервер.
Моя основная система Kali GNU/Linux, цель моей атаки - виртуальная машина Metasploitable2-Linux. Вообще Metasploitable2-Linux была создана для тестирования на проникновения (пентест, белый хакинг) другого известного фреймворка - metasploit-framework. Но metasploit-framework я использовать в данном случае не буду, а буду пробовать атаковать уязвимый хост программами для брутфорса - hydra, medusa, ncrack.

Итак у нас имеются две задачи сейчас:

I "Поднять" уязвимую машину в virtual box, и настроить ее.
II Проэксплуатировать уязвимости машины.

Читать далее
Total votes 9: ↑7 and ↓2+7
Comments8

История Git: на этот раз не так весело

Reading time23 min
Views26K

Линус Торвальдс как-то написал в своей книге, что создавал Linux для развлечения, но в итоге это привело к революции. Git, его второе творение, также оказалось «случайной революцией» — и сегодня это стандартный инструмент для людей в ИТ. Однако процесс его создания был уже не таким «весёлым» — по крайней мере, для самого Линуса. 

Читать далее
Total votes 92: ↑91 and ↓1+107
Comments39

Учимся читать QR-коды без компьютера

Level of difficultyMedium
Reading time4 min
Views39K

Задавались ли вы когда-нибудь вопросом, как работают QR-коды? Если да, то эта статья для вас. Здесь вас ждёт интерактивное объяснение*, которое мы составили для семинара, проводившегося в рамках Всемирного конгресса хакеров 37C3, но вы также можете использовать его самостоятельно.

Прочитав статью, вы узнаете:

  • Из чего состоят QR-коды.
  • Как декодировать QR-коды вручную (используя нашу шпаргалку).
Читать дальше →
Total votes 94: ↑91 and ↓3+114
Comments32

Рецензия на книгу “Flutter и Dart. Сборник рецептов: Разработка полнофункциональных облачных приложений”

Level of difficultyEasy
Reading time8 min
Views2.1K

Новая рецензия будет о книге, помогающей разработчикам стать профи в довольно редкой пока профессии Flutter/Dart Developer. Книга«Flutter и Dart. Сборник рецептов» (Flutter and Dart Cookbook) авторства Ричарда Роуза (Richard Rose) — это практическое руководство по разработке мобильных приложений с использованием Flutter и Dart. Книга построена на аналогии со сборником кулинарных рецептов, помогая разработчикам решать конкретные задачи на мобильных платформах. Рассматривается создание UI, работа с API, управление состоянием приложений и многие другие аспекты разработки на Flutter и Dart.

Читать далее
Total votes 13: ↑11 and ↓2+17
Comments5

Новый оператор безопасного присваивания в JavaScript: ?=

Level of difficultyEasy
Reading time4 min
Views12K

Современная разработка на JavaScript часто сталкивается с задачами асинхронной работы и обработки ошибок. Как правило, для этих целей используются конструкции try-catch и async-await. Однако они могут утяжелять код и усложнять его восприятие. Чтобы решить эту проблему, был предложен новый оператор безопасного присваивания ?=, который значительно упрощает обработку ошибок и улучшает читаемость кода. В этой статье мы рассмотрим, как работает этот оператор, его особенности и преимущества для разработчиков.

Читать далее
Total votes 36: ↑31 and ↓5+35
Comments75
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Frontend Developer
Sound design
Sound engineering
Creating sound effects
Web development
Data Analysis
Natural language processing