Как стать автором
Обновить
7
0
Алексей @morgreek

Продвинутый эникейщик-шнуродёр

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

NFC-видеотека для моих детей

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

В детстве у нас с сестрой была гора VHS-кассет, которые мы бесконечно пересматривали. Современная видеоколлекция моих детей сильно от них отличается. Она полностью цифровая и разбросана по разным сервисам. Я хотел поделиться с ними магией осязаемости носителя из моего детства.

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

Это заставило меня задуматься: почему бы не объединить новое и старое? Я хотел, чтобы у сына была более активная роль в выборе того, что он хочет посмотреть, несмотря на цифровой формат.

Несколько лет назад я увидел, как кто-то распечатал любимые музыкальные альбомы с NFC-меткой внутри, и решил сделать что-то подобное для своих детей.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+64
Комментарии25

Как устроена белка: софт и хард

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

Как известно, все современные образцы искусственного интеллекта относятся к категории ANI (artificial narrow intelligence) — «ограниченному искусственному интеллекту». Это программы и алгоритмы, существенно или очень сильно превосходящие человека в решении некоторых узких задач, но не проявляющие мышления, здравого смысла, смекалки и сознания как такового. В этой статье в качестве примера ограниченного естественного интеллекта будет рассмотрена беличья память и интеллектуальные способности белок. Они легко алгоритмизируются, поэтому я также расскажу о БПЛА, реализующем некоторые аспекты беличьей биомеханики.    

Читать далее
Всего голосов 30: ↑27 и ↓3+41
Комментарии15

Булевы операции двумерных тел

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

В детстве меня всегда завараживали игры с динамическим ландшафтом: The Castle и Worms Armageddon. В то время я не понимал, как реализована эта удивительная механика разрушения и изменения мира. Позже я узнал, что секрет заключался в использовании растровой графики, но интерес к теме не исчез. В этой статье я хочу рассказать о векторном решении аналогичной задачи.

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

5 лет на весах: личный опыт

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

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

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

Итак, начал худеть в 2019, мне тогда было 35 лет. Точную цифру начала не помню. В исходной статье было 92, на графиках вижу 96, ну да не суть. Рост примерно 172, если это важно. Весной 2024 г. вес дошёл до 71, сейчас где-то 74 (летом я, традиционно, отпускаю ситуацию).

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

Современным самолётом невозможно управлять

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

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

Читать далее
Всего голосов 214: ↑197 и ↓17+232
Комментарии110

Адаптивная фоновая подсветка для телевизора на Raspberry Pi – аналог Ambilight

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

Это телевизор с диагональю 50” и 37 RGB точками адаптивной фоновой подсветки по верхней и боковым сторонам экрана. Как сделать аналогичную адаптивную фоновую подсветку для любого экрана или ТВ — тема избитая, но вполне актуальная по ряду причин.

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

Во-вторых, на рынке нет и не будет самсунгов, сони, элджи и прочих ТВ с поддержкой данной технологии, так как она запатентована на многие годы вперед компанией Philips. И наконец — все решения «из коробки», доступные на али и иже с ним – имеют ряд ограничений в гибкости настроек и адаптации к размеру кадра видеоконтента, корректировок цветовой гаммы и т. д, являясь при этом всего лишь аппаратным костылем, анализирующим внешний сигнал и работающий только на формирование подсветки.
Всего голосов 35: ↑35 и ↓0+35
Комментарии38

Вот скажи мне, микросервис, в чем сила (часть 2)

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

Если вы не читали начало - то оно здесь.

Вкратце же, там я описал как начал строить свой “интернет магазин электроники”. Да, именно в кавычках 🙂. Потому что это не магазин совсем, а эксперименты по реализации части механик. Конкретно, подбора товаров по параметрам. Запустил первый блин комом и сейчас буду наш первый блин улучшать.

В любом случае, первую часть будет полезно почитать хотя бы из-за дельных комментариев (как всегда на Хабре). Там любезно объяснили, что этому всему есть научный термин - фасетный поиск. И что данная реализация соответствует паттерну EAV. Да и вообще этот велосипед уже изобрели. Но меня это, конечно же, не остановит 🙂. Что может быть прекрасней собственного велосипеда!

Есть еще надежда, что написанные статьи привлекут внимание тех, кто реализует подобное не как я - ради развлечения, а ради работы. Может они в комментариях поделятся своими замерами производительности, или какими-то подводными камнями. Было бы интересно.

Показать
Всего голосов 12: ↑11 и ↓1+12
Комментарии3

find + mkdir полны по Тьюрингу

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

Введение

Мы покажем, что система, имеющая лишь команды GNU find и mkdir, полна по Тьюрингу.

Хорошо известно, что команды sed и awk сами по себе полны по Тьюрингу, но мне не удалось найти информации о Тьюринг-полноте find + mkdir.

Доказательство основано на реализации таг-системы.

Мы по порядку рассмотрим реализацию цикла, FizzBuzz и таг-системы.

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

Памятка по BPMN и BPMN-диаграммам

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

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

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

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

Текстовые квесты… на Telegram

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.1K
Давным-давно, около полугода назад, мне в голову пришла интересная идея: а не запустить ли текстовые квесты из "Космических рейнджеров" под управлением Telegram-бота? Скажу сразу, что как и всё с упоминанием "Dagaz" в заголовке, проект полностью бесплатный, с открытыми исходными кодами и MIT-лицензией. Если вы неравнодушны к теме, всё ещё помните неповторимую атмосферу легендарной игры или любите играть в текстовые квесты, просто кликните по картинке в начале этой статьи и перейдите в уютный Telegram. В том же случае, если вам как и мне гораздо более интересны технические подробности, добро пожаловать в мою статью…
Читать дальше →
Всего голосов 10: ↑10 и ↓0+14
Комментарии14

Как мы в России сделали микрофон как у Артемия Лебедева и продаем по всему миру

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

В 2016-м у меня была ипотека, беременная жена, а мое производство микрофонов на 80 кв.м в Туле приносило убытков на 1 млн в месяц. Я брал кредиты, занимал у родителей и смотрел на подработку в такси. А сейчас мы продаем на 200 млн ₽ в год, а наши микрофоны известны по всему миру. 

Читать далее
Всего голосов 246: ↑209 и ↓37+225
Комментарии259

Подборка игр с низкоуровневым программированием

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

TL;DR

Игры от Zachtronics:

TIS-100, EXAPUNKS, SHENZHEN I/O

Про создание процессора от логических элементов и до написания кода на ассемблере: браузерная бесплатная nandgame.com, более продвинутая Turing complete.

Если Вам нравится какая-то игра из перечисленных - наверно, и остальные тоже подойдут. В каждую из них я наиграл по 30+ часов, получил кучу удовольствия и научился чему-то новому.

Подробности
Всего голосов 67: ↑66 и ↓1+79
Комментарии26

Самопаркующийся авто за 500 строк кода

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



TLDR


В этой статье мы научим авто самостоятельно парковаться с помощью генетического алгоритма.


Мы создадим первое поколение авто с произвольными геномами, которое будет вести себя примерно так:





Примерно на сороковом поколении авто начнут понимать, что такое авто-парковка, и начнут приближаться к парковочному месту:




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

Научитесь создавать собственные команды bash менее чем за 4 минуты

Время на прочтение4 мин
Количество просмотров23K
В этой статье я научу вас создавать собственные псевдонимы команд bash, а также как одновременно запускать несколько команд с помощью одной команды bash.

TL;DR В первой части описывается, почему псевдонимы — это так важно, сколько времени они экономят и т.д., но, если вы просто хотите узнать, как создать собственные псевдонимы, то перейдите к шагу 1.


Читать дальше →
Всего голосов 37: ↑21 и ↓16+5
Комментарии29

Git. Руководство по оформлению веток и коммитов

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

Статей на тему что такое git и как им пользоваться на просторах интернета не мало. Я же хочу предложить вам несколько иной взгляд на привычные вещи, а именно, на оформление веток и коммитов, рассмотреть что такое WIP-коммиты, для чего они нужны и как с помощью них можно повысить свою продуктивность и поддерживать чистоту в истории вашего репозитория, в особенности, если вы работаете в команде. Поехали.

Познать истину
Всего голосов 17: ↑15 и ↓2+13
Комментарии16

Как я запрограммировала собственный рукописный шрифт

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

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

Недавно я создала на JavaScript собственный блочный шрифт, решив, что запрограммировать слитное рукописное письмо будет слишком сложно. Но не прошло и двух месяцев, как вот я здесь и готова рассказать о созданном мной механизме слитного письма. Пожалуй, в этом есть свой урок, но мы в его смысл углубляться не станем.
Читать дальше →
Всего голосов 102: ↑100 и ↓2+127
Комментарии59

Обзор типов индексов Oracle, MySQL, PostgreSQL, MS SQL

Время на прочтение6 мин
Количество просмотров199K
В одном из комментариев здесь была просьба рассказать подробнее об индексах, и так как, в рунете практически нет сводных данных о поддерживаемых индексах различных СУБД, в данном обзоре я рассмотрю, какие типы индексов поддерживаются в наиболее популярных СУБД
Взглянем?
Всего голосов 99: ↑96 и ↓3+93
Комментарии41

Попытка создать идеальный компонент формы

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

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

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

Древовидные структуры в SQL в одну таблицу

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

Как реализовать хранение и работу каталога папок в PostgreSQL? Есть большое количество вариантов. Но хочется, чтобы реализация выглядела лаконично, не нарушала прозрачность выполняемых операций, не вызывала блокировок, не требовала большого вовлечения клиента в специфику работы и т.д. Потому сегодня попробуем реализовать хранение древовидных структур и работу с ними без использования триггеров, блокировок, дополнительных таблиц (представлений) и внешних инструментов в SQL.

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

Принципы SOLID, только понятно

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

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

Изучить принципы
Всего голосов 80: ↑66 и ↓14+59
Комментарии94
1
23 ...

Информация

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