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

Пользователь

Отправить сообщение

Разработка ведущих часов для Pragotron PJ 27 базе ESP32 с синхронизацией времени по NTP

Время на прочтение3 мин
Количество просмотров7.2K
Мне удалось раздобыть старые ведомые часы, которые, если судить по их серийному номеру, выпущены в 1960-х годах. Это — Pragotron PJ 27, версия на 12В. Они были сделаны в Чехословакии, в них используется механизм PS-1.


Ведомые часы

Такие часы обычно применялись в организациях, где использовалась система единого времени. Например — в школах, на заводах и в других подобных местах. Изначально работу таких часов обеспечивали большие механические ведущие часы. Позже механические часы заменили на электронные.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии24

Реализация маневрирования юнитов в играх (избегание столкновений)

Время на прочтение6 мин
Количество просмотров16K
Задача движения юнитов в играх является одной из ключевых задач, стоящих перед разработчиками игр. От того, как двигаются игровые юниты, во многом зависит восприятие всего геймплея в целом.

Традиционно считается, что достаточно реализовать алгоритм поиска пути и дальше всё будет работать само собой.

На практике же мы имеем совсем другую ситуацию.

Алгоритмы поиска пути разобраны досконально.

Нужен поиск пути с весами? A*. Нужен поиск для большого количества юнитов? Flow Field или кластеризация.

По большому счету по поиску пути не осталось не разобранных вопросов.

И вот, поиск пути реализован и довольный игродел запускает свою игру… И видит, что болванчики полностью оправдывают своё название. Они конечно находят путь и едут туда, куда им сказали. Но при этом спотыкаются о препятствия… Толкаются друг с другом или проезжают насквозь… Упираются друг в друга при встречном движении…

Эти проблемы и будем сегодня решать.



Disclaimer
Данная статья не претендует на исчерпывающее решение обозначенной проблемы.
Я лишь рассказываю о том, как конкретно мне видится решение, над которым я работал. Это решение в оттюнингованном виде попало в один из зарелизенных в этом году РТС проектов, но осталось ли там на данный момент я не знаю. Комментарии и дополнения приветствуются.
Всего голосов 49: ↑49 и ↓0+49
Комментарии55

Передача аналогового тв сигнала с помощью STM32

Время на прочтение5 мин
Количество просмотров23K
Помните как некто cnlohr запустил передачу ТВ сигнала на ESP8266?

Недавно мне попалось к просмотру это видео, стало интересно как это возможно и выяснил что автор видео разогнал частоту I2S до телевизионного диапазона, а затем с помощью DMA генерировал AM сигнал. Мне захотелось повторить это, но или прошивка криво собирается, или ESP модуль оказался неподходящий. Запустить передачу телесигнала не получалось.

Затем я вспомнил что STM32 умеет выводить свой тактовый сигнал на один из пинов.
Всего голосов 89: ↑89 и ↓0+89
Комментарии35

«Ремонт для звука»: разбираемся с акустической подготовкой помещения — 10 тематических материалов

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

Для чтения на выходных мы подобрали экспертные статьи о том, как улучшить опыт прослушивания с помощью незначительной [в некоторых ситуациях — масштабной] доработки помещения.

Что там у вас с ремонтом
Всего голосов 18: ↑14 и ↓4+10
Комментарии13

Azure RTOS. Часть 1: обзор и запуск (STM32 + CubeIDE + HAL)

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

На недавно прошедшем Microsoft Build 2020 многократно упоминалась Azure RTOS как специализированная ОС жесткого реального времени для микроконтроллеров.


В данном материале мы последовательно разберемся в том, что это за операционная система, какое место она занимает в продукции Microsoft для встраиваемых систем, а также установим планировщик ОС на один из микроконтроллеров STM32.

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

Пиксель-арт для начинающих: инструкция по применению

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


Инди-разработчикам нередко приходится совмещать сразу несколько ролей: геймдизайнера, программиста, композитора, художника. И, когда дело доходит до визуала, многие выбирают пиксель-арт — на первый взгляд он кажется простым. Но чтобы сделать красиво, нужно много опыта и определенные навыки. Нашел туториал для тех, кто только начал постигать основы этого стиля: с описанием специального софта и техник рисования на примере двух спрайтов.
Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии6

Самообучение английскому — оптимальная организация времени. Практика занятий по методу Умин для компьютера и смартфона

Время на прочтение15 мин
Количество просмотров62K
Метод Умин является одной из наиболее популярных альтернативных методик изучения иностранного языка, он известен уже более 20 лет и имеет многие сотни отзывов в прессе и интернете. Метод был опубликован в 1993 году в книге Умин Е. А. “Иностранный легко и с удовольствием” (50 стр., доступно в интернете). Автор метода, член-корреспондент РАМН Евгений Алексеевич Умрюхин, в интервью рассказывает о его возможностях так:
— Я видел много примеров, когда после полугода изучения языка моим методом человек получал возможность общаться на нем, может несовершенно, допуская отдельные ошибки или испытывая иногда трудности в выражении сложных мыслей. Но в общении, восприятии речи и чтении книг на иностранном языке эти трудности быстро преодолевались. Предложенный метод эффективен, потому что он существенно отличается от многих стандартных.

Сам метод основан на научных исследованиях Е. А. Умрюхина по функционированию мозга, изложенных, например, в книгах “Механизмы мозга: информационная модель и оптимизация обучения” (1999 г.), “Медико-биологические аспекты интеллектуальной деятельности” (2004 г.), а также в преподаваемых им учебных курсах, в том числе и в МГТУ им. Баумана, где я и познакомился с ним самим и с его исследованиями.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии7

Oracle join elimination

Время на прочтение15 мин
Количество просмотров26K
Оптимизатор в Oracle может применять различные способы трансформации запросов для улучшения их производительности. Одним из таких способов является join elimination. В официальной документации Oracle Database SQL Tuning Guide об этом способе сказано достаточно мало, в отличие от других.
Приглашаю читателей под кат, чтобы поговорить об этом способе поподробнее.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии35

Локальный запуск юнит-тестов в STM32CubeIDE под Windows

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

Введение


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


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


Существует три способа запуска юнит-тестов для встраиваемых платформ:

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

Deep Learning теперь на Java

Время на прочтение12 мин
Количество просмотров17K
Не любите Java? Да вы не умеете ее готовить! Mani Sarkar предлагает нам познакомиться с инструментом Valohai, позволяющим проводить исследования модели на Java.


Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии1

Современный валютный рынок

Время на прочтение19 мин
Количество просмотров46K
Маринус ван Реймерсвале. Меняла и его жена. 1539 г. Музей Прадо, Мадрид.
Маринус ван Реймерсвале. Меняла и его жена. 1539 г. Музей Прадо, Мадрид.

Я начал работать в Deutsche Bank программистом на Java в 2009-м году (последствия кризиса, чудо на Гудзоне, «Миллионер из трущоб», свиной грипп, поражение сборной в Мариборе). На собеседовании мне сообщили, что я буду работать в проекте AutobahnFX.

FX? Foreign eXchange? Мои знания о валютном рынке не отличались от знаний среднестатистического обывателя. На углу возле дома есть обменник, но от разницы курсов покупки и продажи дёргается глаз. В вагонах метро висит реклама форекс-контор «Чувствуешь разницу? На этом можно заработать!» Газеты описывают инвестиционные банки то как всезнающих спекулянтов, предсказывающих курсы валют на годы вперёд, то как сборище бездарных рвачей, обрушивших мировую экономику. «Ну ладно, — подумал я, — разберёмся в процессе».

Эта статья — часть того, что я выяснил, работая то над одной системой, то над другой. Почему вам стоит прочитать её? Во-первых, это интересно. Современный валютный рынок — сложная распределённая система из множества независимых акторов. Во-вторых, если вы работаете в финансах, вы можете увидеть сходство и с другими рынками, от рынка облигаций до рынка деривативов на погоду. Наконец, в-третьих, если в следующий кризис опять грохнется какой-нибудь инвестиционный банк, вам будет проще читать разбор полётов в прессе.
Читать дальше →
Всего голосов 98: ↑97 и ↓1+96
Комментарии62

Исповедь docker хейтера

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

Я должен признаться. Я ненавижу docker. Всей своей душой. Это самая ужасная софтина, которую я видел за последние 10 лет.


С одной стороны, я очень уважаю одноименную компанию. Ребята из Docker Inc. реально популяризировали контейнеризацию. Теперь о ней не знает только ленивый. С другой стороны, ничего принципиально нового они не изобрели — контейнеризация на момент, когда Docker "выстрелил", уже существовала более 30 лет (начиная от chroot, вспомним еще jails и zones, ну, и наконец-то — namespaces & cgroups).


Круто, что docker реально ускоряет разработку во множество раз. Если вести ее правильно, то даже без потери в качестве. В любом случае, docker здесь, от него не деться и приходится им пользоваться.


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


Disclaimer: все написанное ниже является личным мнением автора и может как отражать реальность, так и не отражать реальность. Материал строго провокационного характера и основной целью является не унизить или обидеть кого бы то ни было, а скорее заставить людей включить голову и осознать масштабы глубин (с).

Читать дальше →
Всего голосов 220: ↑203 и ↓17+186
Комментарии539

И ещё о сортировках

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

И ещё о сортировках


Рискну опять поднять эту тему. Начну со ссылки на статью Михаила Опанасенко (oms7), очень впечатляющую по объёмам проделанной работы, а также по количеству приведёных ссылок. Свой материал начал готовить, не зная об этой публикации, что впоследствии, после ознакомления привело к необходимости его существенной переработки. Для тех, кто уже прочитал эту статью, сообщаю, что в моём материале, исследуются более разнообразные по типам данные, в частности, строки и вещественные числа, используются библиотеки boost и bsd, а также затрагиваются некоторые другие отсутствующие в названной статье темы.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии53

Разбор задачи с собеседования Google: поиск соотношения

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


Добро пожаловать в очередную из серии статей с разбором задачек, которые я задавал на собеседованиях в Google, прежде чем их запретили после утечки. С тех пор я оставил работу инженера-программиста в Google и перешёл на должность менеджера по разработке в Reddit, но у меня всё ещё осталось несколько замечательных тем. К настоящему моменту мы разобрали динамическое программирование, возведение матриц в степень и синонимичность запросов. На этот раз совершенно новый вопрос.
Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии73

История алгоритмов рандомизации «Тетриса»

Время на прочтение5 мин
Количество просмотров24K
image
В 1985 году Алексей Пажитнов и Вадим Герасимов выпустили в свет Tetris. Эта увлекательная и вызывающая сильное привыкание игра требовала от игроков соединять фигуры, появлявшиеся в случайном порядке. С того времени было выпущено более 150 лицензионных версий «Тетриса». Отличаясь игровыми режимами, правилами и реализацией, все они игрались слегка (или очень) по-разному. Рандомизатор «Тетриса» — это функция, возвращающая случайно выбранную фигуру. На протяжении многих лет правила выбора фигур эволюционировали, оказывая влияние на геймплей и саму случайность. Некоторые из этих алгоритмов были подвергнуты реверс-инжинирингу и задокументированы. Я составил список рандомизаторов, которые считаю важными, и покажу в статье, как с годами менялось внутреннее устройство «Тетриса».
Читать дальше →
Всего голосов 75: ↑74 и ↓1+73
Комментарии33

Книги по психологической самопомощи: есть ли в них хоть какой-то смысл, и, если да, какие выбрать?

Время на прочтение18 мин
Количество просмотров73K
Многие не любят психологов и психологию, но немногие отрицают наличие у людей [вообще, а не у себя лично] психологических «заморочек». На этом фоне идея разобраться с этими сложностями самостоятельно может выглядеть привлекательно. Этим пользуются авторы и издатели, предлагающие разного рода «книги по самопомощи».


Что под катом: обзор литературы, посвящённой исследованию [не]эффективности самостоятельной работы над психологическими проблемами по книгам (спойлер: эффективна, но с некоторыми оговорками), несколько списков книг, которые (опять же, с оговорками) можно для этих целей использовать.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии44

Простые эксперименты с микроконтроллером STM32F103 («Голубая таблетка»)

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


Многие приобрели «голубую таблетку» на попробовать. Но из-за сложности программирования данная вещь оказалась где то на полке, до лучших времен.

Будем считать, что «лучшие времена» — наступили.
Читать дальше →
Всего голосов 56: ↑46 и ↓10+36
Комментарии97

9 лучших опенсорс находок за август 2019

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

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


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


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

Читать дальше →
Всего голосов 76: ↑74 и ↓2+72
Комментарии44

Абстрактная фабрика на пальцах

Время на прочтение4 мин
Количество просмотров81K
Написать данную статью меня заставили две причины. Совсем недавно я познакомился с паттерном Абстрактная фабрика. Как говорится – «Не умеешь сам, научи товарища». Известно, что один из лучших способов закрепления материала – это объяснение кому-либо ранее изученного. Вторая причина – в процессе изучения данного паттерна я не встретил материала, который лично для меня излагал бы вполне ясно суть Абстрактной фабрики (по крайней мере на Хабре).

Итак, приступим. Самый первый вопрос, на который нужно ответить самому себе, изучая данный паттерн: «Что же такое Абстрактная фабрика». Самый простой и точный ответ, гласит, что Абстрактная фабрика – это «фабрика фабрик». Но здесь появляется второй вопрос: «Для чего вообще может кому-нибудь понадобиться «фабрика фабрик»? Чтобы на него ответить рассмотрим пример из реальной жизни.
Читать дальше
Всего голосов 23: ↑18 и ↓5+13
Комментарии71

Хочешь <s>похудеть</s> учиться ИТ самостоятельно? Спроси меня как

Время на прочтение11 мин
Количество просмотров34K
Есть мнение, с которым я часто сталкиваюсь, — учиться самостоятельно невозможно, нужны профессионалы, которые будут вас вести по этому тернистому пути — объяснять, проверять, контролировать. Попробую опровергнуть это утверждение, а для этого, как известно, достаточно привести хотя бы один контрпример. В истории есть такие примеры великих автодидактов (или по-простому, самоучек): археолог Генрих Шлиман (1822–1890) или гордость Грузии — художник Нико Пиросмани (1862–1918). Да, эти люди жили, учились и творили по большей части в XIX веке и были крайне далеки от мира информационных технологий. Однако по-прежнему «самая важная цель обучения — научиться учиться», как говорил Аристотель.  В этой статье я поделюсь с вами практическими примерами, позволяющими эффективно организовать самостоятельный учебный процесс.

Всего голосов 81: ↑73 и ↓8+65
Комментарии28
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность