Pull to refresh
2
0
Send message

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

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


Ведомые часы

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

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

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

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

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

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

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

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

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

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



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

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

Reading time 5 min
Views 23K
Помните как некто cnlohr запустил передачу ТВ сигнала на ESP8266?

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

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

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

Reading time 3 min
Views 11K

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

Что там у вас с ремонтом
Total votes 18: ↑14 and ↓4 +10
Comments 13

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

Reading time 19 min
Views 25K

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


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

Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 52

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

Reading time 11 min
Views 197K


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

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

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

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

Oracle join elimination

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

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

Reading time 7 min
Views 13K

Введение


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


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


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

Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 4

Deep Learning теперь на Java

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


Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 1

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

Reading time 19 min
Views 46K
Маринус ван Реймерсвале. Меняла и его жена. 1539 г. Музей Прадо, Мадрид.
Маринус ван Реймерсвале. Меняла и его жена. 1539 г. Музей Прадо, Мадрид.

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

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

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

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

Reading time 10 min
Views 121K

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


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


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


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


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

Читать дальше →
Total votes 220: ↑203 and ↓17 +186
Comments 539

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

Reading time 26 min
Views 24K

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


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

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

Reading time 21 min
Views 39K


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

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

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

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

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


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

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

Reading time 4 min
Views 75K


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

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

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

Reading time 2 min
Views 51K

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


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


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

Читать дальше →
Total votes 76: ↑74 and ↓2 +72
Comments 44

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

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

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

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

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

Total votes 81: ↑73 and ↓8 +65
Comments 28

Information

Rating
Does not participate
Registered
Activity