Pull to refresh
5
0
Сергей Паньков @trapwalker

Backend, python

Send message

Мультиварка — умная кастрюля или «не доведенный до ума» гаджет

Reading time12 min
Views644K

Этот пост будет полезен всем, кто хотя бы иногда что-то готовит сам, а также помогает или мешает это делать другим.
Из него можно узнать, что это за гаджет — мультиварка, какие у нее технические возможности и невозможности, внутренность, наружность, достоинства (много) и недостатки (тоже много). Расскажу кое-что и о маленьких мультиварочных хитростях, а также позволю себе общее лирическое отступление о программировании на кухне.
Цель поста — рассказать про мультиварки, как класс объектов, не выделяя особо его представителей, но, чтобы не вести разговор о сферической мультиварке в вакууме, сделаю основным примером разбора мою модель — Panasonic SR-TMJ181.
Те, у кого нет мультиварки узнают, нужна ли она им, но и те, у кого она есть, надеюсь, без новых знаний не останутся.
Читать дальше →

Работа с базой данных во Flask: от джуна джуну

Reading time7 min
Views26K
Написать данную статью меня побудило желание помочь таким же новичкам в Python в целом и в работе с Flask в частности, как я сам. Во время работы над задачей целостного и понятного объяснения в том стиле, как любим мы, новички, не нашел. Приходилось информацию искать по крупицам. Каких-то картинок не будет. Сугубо техническая статья. Опытным людям буду благодарен за комментарии и за подсказки по улучшению кода.
Читать дальше →

Маппинг на вершину горы и фонендоскоп у статуи Христа – как проекторы позволяют выразить слова поддержки в сложное время

Reading time4 min
Views1.7K

Подозреваю, что многих уже порядком утомило непрерывное психологическое давление и упоминание темы коронавируса. В 1974-м году американский психиатр Герберт Фрейденбергер ввел в психологию такое понятие как «эмоциональное выгорание». Оно проявляется на фоне нарастающего эмоционального истощения, особенно в условиях почти непрерывного потока отрицательных эмоций и страха. И в итоге может приводить к безразличию, как к своим повседневным обязанностям и работе, так и требованиям техники безопасности: «Меня все это так достало, что мне теперь все равно».


Давайте не будем доводить до греха и вместо этого хотя бы на несколько минут разорвем порочный круг «негатив – расстройство – негатив», и вспомним, что сложные исторические периоды, традиционно, стимулируют появление новых творческих идей!




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

Unity: бесконечный процедурно генерируемый город, получаемый при помощи алгоритма WFC (коллапс волновой функции)

Reading time7 min
Views27K
Привет, Хабр!

Как законодатели мод по теме Unity на российском рынке предлагаем вам почитать интересное исследование о практическом использовании алгоритма WFC (Wave Function Collapse), построенного по образу и подобию известного принципа квантовой механики и очень удобного при процедурной генерации уровней в играх. Ранее на Хабре уже публиковался подробный рассказ об этом алгоритме. Автор сегодняшней статьи Мариан Кляйнеберг рассматривает алгоритм в контексте трехмерной графики и генерации бесконечного города. Приятного чтения!

Читать дальше →

Реалистичный боевой ИИ для 2D-игры

Reading time6 min
Views14K
image

Хотя Close Quarters преимущественно является многопользовательской игрой, в ней всё равно должны присутствовать сложные ИИ-боты, чтобы игроки продолжали играть при плохом Интернет-соединении или отсутствии других онлайн-игроков. Кроме того, боты играют важную вспомогательную роль в некоторых режимах игры. Поэтому они должны вести себя правдоподобно и демонстрировать набор сложных поведений, в том числе использование укрытий, применение предметов в подходящее время, обход с флангов, бросание гранат и убегание от них.

Окружение и ограничения


Игровое окружение состоит из полигонов. Большинство полигонов блокирует движение, область видимости и стрельбу, однако есть и «низкие» полигоны, только блокирующие движение. Окружение плотно заставлено препятствиями и укрытиями.

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

Новый аналог Punto Switcher для linux: xswitcher

Reading time3 min
Views64K
Прекращение поддержки xneur вызвало у меня определённые страдания в последние полгода (с появлением OpenSUSE 15.1 на моих десктопах: при включённом xneur окна теряют фокус и забавно мерцают в такт ввода с клавиатуры).

«А, блин, опять не в той раскладке начал набирать» — в моей работе встречается до неприличия часто. И позитива не добавляет.

Читать дальше →

Организация кода в микросервисах и мой подход применения гексагональной архитектуры и DDD

Reading time7 min
Views15K

Привет, Хабр! В Монолите весь код должен быть в едином стиле, a в разных микросервисах можно использовать разные подходы, языки программирования и фреймворки. Для простых микросервисов с 1 — 2 контроллерами и 1 — 10 действиями особо смысла городить слои абстракций нет. Для сложных микросервисов с различными состояниями и логикой перехода между ними наоборот лучше изначально не лениться. Я хочу рассказать о моем опыте организации кода и использования подходов DDD, Портов и Адаптеров для обоих случаев. Есть кратко суть статьи: Джун — пишет код в контроллере. Мидл — пишет кучу абстракций. Сеньор — знает когда нужно писать код в контроллере, а когда нужны абстракции.
Читать дальше →

О том, как я заставлял Ubuntu работать 10 часов от батареи

Reading time11 min
Views195K
imageЯ являюсь рядовым линукс-пользователем и поэтому не стоит от этой статьи ожидать очень умных ходов или нестандартных программистских решений. Все по мануалам. Но раз результат достигнут, значит кому-то кроме меня это может оказаться полезным.

О том, как заставит ноутбук работать под линуксами как можно дольше, написано немало, в том числе и на хабре. В какой-то степени я еще раз соберу все советы воедино, от очевидных до обскурных, заодно опишу несколько проблем и решений, которые у меня оказались достаточно «индивидуальными».

Устанавливал я Ubuntu 10.10 на ноутбук Acer Aspire Timeline 5810TG. Эта машина обладает экраном в почти 16 дюймов и относительно производительным железом, зато батарея достаточно емкая, чтобы ставить с ней личные рекорды.
Читать дальше →

5 инструментов геймдизайнера, которые помогут вашей игре

Reading time5 min
Views24K


Видеоигры существуют более 50 лет. За это время технологии скакнули от текстовой The Oregon Trail до фотореалистичной Red Dead Redemption 2. Не говоря уже о VR-тайтлах вроде Half-Life: Alyx, которая выходит в конце марта.

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

Создание roguelike в Unity с нуля

Reading time18 min
Views40K
image

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

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

Будем считать, что вы знаете по крайней мере основы Unity, например, как создать префаб или скрипт, и тому подобное. Не ждите, что я буду учить вас, как создавать спрайтшиты, об этом есть множество прекрасных туториалов. Я буду делать упор не на изучение движка, а на то, как реализовать игру, которую мы будем создавать вместе. Если у вас возникнут трудности, то зайдите в одно из потрясающих сообществ в Discord и просите о помощи:

Unity Developer Community

Roguelikes

Итак, давайте приступим!

Этап 0 — планирование


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

Мы будем писать roguelike. В основном мы будем слушаться мудрых советов разработчика Cogmind Джоша Ге, приведённых здесь. Сходите по ссылке, прочитайте пост или посмотрите видео, а потом возвращайтесь.

Какова же цель этого туториала? Получить крепкую простую базовую roguelike, с которой потом можно будет экспериментировать. В ней должна быть генерация подземелий, движущийся по карте игрок, туман видимости, враги и предметы. Только самое необходимое. Итак, игрок должен иметь возможность спускаться вниз по лестницам на несколько этажей. допустим, на пять, повышать свой уровень, совершенствоваться, а в конце сражаться с боссом и побеждать его. Или умирать. Вот, собственно, и всё.
Читать дальше →

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

Reading time2 min
Views3.3K
Три года назад я опубликовал статью, посвященную идее «динамических курсов» (тех, что генерируются из базы знаний в момент запроса пользователя), а чуть позже разработал несложный сервис, который ее реализует. Сейчас этот сервис доступен на другом сайте kursopoisk.ru и, фактически, представляет собой библиотеку атомарного контента (статьи, видеоролики и расчеты, главным образом, по математике), из которого, в соответствии с заранее прописанными связями, и формируются подобные микрокурсы. Я их называю динамическими, однако, в духе современной терминологии, правильно было бы использовать термин траектории обучения. Сразу хочу сказать, что создавал я Курсопоиск, в первую очередь, для себя, чтобы самому быстро находить нужный контент и вспоминать материал, с которым когда-то разобрался, а потом благополучно забыл.

Принцип формирования траекторий иллюстрируется рисунком и был подробно описан в предыдущей статье, поэтому я не буду повторяться, а расскажу о том, что поменялось.


Читать дальше →

GPS антенна своими руками за 5 минут

Reading time1 min
Views64K
Для приема GPS сигналов, можно изготовить несложную антенну, которая по своим возможностям будет соответствовать маленькой патч-антенне.

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

Принимаем центральную частоту GPS сигнала равной 1575.42 МГц, находим длину одного плеча антенны L/4 = 47.7 мм. Цифра справедлива для провода без изоляции. Провод в изоляции должен быть чуть короче. Длина плеч диполя и монополя отсчитывается от грани оплетки кабеля.

Если половинка диполя одна, то это уже монополь. Я подготовил диполь и монополь.



Антенны крепятся на короткий коаксиал с разъемом типа IPX.В качестве эталонной антенны используем активную маленькую патч-антенну. GPS-модуль NEO6.


Читать дальше →

Как настроить китайский левитрон

Reading time5 min
Views52K
В данной статье рассмотрим электронную начинку подобных устройств, принцип работы и метод настройки. До сих пор мне встречались описания готовых фабричных изделий, очень красивых, и весьма не дешевых. Во всяком случае, при беглом поиске цены начинаются от десяти тысяч рублей. Я предлагаю описание китайского набора для самостоятельной сборки за 1.5 тысячи.

image

Концерт для города с оркестром: кто и зачем записывает звуки повседневной жизни

Reading time4 min
Views3.5K
Вы когда-нибудь задумывались о том, как с течением времени меняется звучание города? Когда-то оно ассоциировалось с криками торговцев и цоканьем копыт по брусчатке. Сегодня экосистему звука «обогатили» трамваи, автомобили и другие транспортные средства. Анализ всего этого многообразия — это целая наука. Ученые оценивают уровень шумового загрязнения, а бизнес использует аудио для совершенствования рабочих процессов — например, ретейлеры записывают то, как продавцы общаются с покупателями. Но некоторые энтузиасты просто стремятся сохранить «слепки нашей повседневности» — звучание всевозможных гаджетов, редких языков и потаенных уголков планеты.

Расскажем о нескольких старых и не очень проектах, формирующих «звуковой архив человечества».

Читать дальше →

Разработка идеального pypi пакета с поддержкой разных версий python

Reading time15 min
Views22K

Это небольшой мануал/история о том, как создать "идеальный" pypi пакет для python, который каждый желающий сможет установить заветной командой:


pip install my-perfect-package

Ориентирована на новичков, но призываю и профессионалов высказать свое мнение, как можно улучшить "идеальный" пакет. Поэтому прошу под кат.

Читать дальше →

«Мобильный контент» бесплатно, без смс и регистраций. Подробности мошенничества от Мегафона

Reading time12 min
Views160K
UPD 07: Телеграм чат для обсуждения операторов сотовой связи t.me/opsosru

После того как я опубликовал статью «Как Мегафон спалился на мобильных подписках», я попытался получить комментарий от Мегафона.


Ответа до сих пор нет.

Но вместо этого я получил зависающий интернет. То есть в какой-то момент трафик перестаёт идти и ютубчик перестаёт играть. Так же с мобильного Мегафона совсем перестал открываться moy-m-portal.ru. На Теле2, МТС и Билайне всё стабильно. То есть Мегафон решил просто мне отомстить…

Это подогрело мой интерес, чтобы раскрутить этот клубок «мобильных подписок» и поделиться с Вами своими исследованиями.

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


Читать дальше →

Как Мегафон спалился на мобильных подписках

Reading time5 min
Views255K
Обсуждение операторов сотовой связи в Телеграм t.me/opsosru

Уже давно как не смешные анекдоты ходят истории о платных мобильных подписках на IoT устройствах.


С Пикабу

Всем понятно, что без действий сотовых операторов эти подписки не обходятся.
Читать дальше →

Управляем дюймовыми жалюзи дешево

Reading time8 min
Views31K

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



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

Читать дальше →

Промышленные дизайнеры о Tesla Cybertruck: почему он такой, что в нем хорошо, а что плохо

Reading time8 min
Views95K


Я связался с промышленными дизайнерами и задал им вопросы о Кибертраке, который Маск представил 21 ноября. Почему он такой рубленный? Зачем там «мраморная» столешница внутри? Отчего штурвал, а не руль? А тот «аэродинамический» рендер — это правда? На дилетантские вопросы отвечали опытные спецы: Василий Маркин — дизайнер московской студии дизайна LADA, а также Илья Мелехов (ilyamelekhov) — автомобильный инженер/дизайнер.
Читать дальше →

9 лучших опенсорс находок за октябрь 2019

Reading time2 min
Views31K

Доброго ноября, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за октябрь 2019.


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Rust, Swift, TypeScript, JavaScript, Go, Scala, Python.
Тематика: веб и мобильная разработка, визуализация данных, инструменты разработчика, документация.


Прошлый выпуск.

Читать дальше →

Information

Rating
Does not participate
Location
Белгород, Белгородская обл., Россия
Date of birth
Registered
Activity