Как стать автором
Обновить
1
0
Dmitry Sëmin @Dr_Krasov

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

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

Как править мозги Mercedes, если играться с программируемыми калькуляторами уже надоело

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


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


Заинтриговал. Пожалуй, почитаю
Всего голосов 49: ↑43 и ↓6+54
Комментарии65

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

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

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее
Всего голосов 312: ↑312 и ↓0+371
Комментарии132

Не Unity единым…

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

Игры бывают разные, большие и маленькие, триA и супер инди, в компаниях с сотнями разработчиков и что создаются самородками-одиночками. Редко их делают с нуля и пишут код только игры, чаще пишут игровые тулы, редактор и параллельно пишут саму игру. За всей этой многомиллиардной индустрией стоит код, много кода, очень много кода. Игровые движки и фреймворки – мощные инструменты, которые помогают разработчику творить его идеи и создавать увлекательные игровые миры. Это каркас, на котором строятся все игровые вселенные, они включают в себя сотни инструментов, библиотек и ресурсов, позволяя разработчикам превратить строчки кода в театр для одного зрителя.

Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок монополизировал рынок. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игры была сделана не на Unity, а на православном SDL?

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

Прокачиваем вёрстку ARIA атрибутами. Атрибут aria-label

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


Cегодня я хочу рассказать про атрибут aria-label. В статье не будет заумных определений и бездумного копирования стандарта. Я хотел простым языком объяснить, какая польза от атрибута, а также передать свой практический опыт, чтобы вы могли его повторить. А получилось у меня или нет, решать вам.


Со вступительным словом всё. Давайте начнём!

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

Создание favicon для сайта 2020

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

Что такое favicon и для чего он нужен?


Favicon – это значок (иконка), который отображается во вкладке браузера, закладках, а также в сниппетах результатов поиска.

image

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

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

Какой формат использовать для favicon?


Раньше в качестве основного формата использовали ICO. Особенность данного формата – мульти-размерность. Данный файл может хранить в себе несколько размеров иконки. На смену ICO пришел формат PNG. ICO все еще поддерживаемый, но большинство современных браузеров выбирают PNG формат иконки, который легче. Некоторые браузеры не могут выбрать правильный значок в файле ICO, что приводит к неправильному использования значка с низким разрешением.

О каких платформах пойдет речь в этой статье?


  • Десктопные браузеры
  • Chrome на Android
  • Иконка закладки в iOS (PWA)
  • macOS
  • Windows

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

Первые агенты для самообучения сильного ИИ

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

Тысячи учёных, программистов и просто энтузиастов по всему миру сейчас со всех сторон стараются подойти к главному изобретению в истории человечества, если оно будет сделано — это сильный ИИ (AGI, artificial general intelligence).

Один из подходов к созданию AGI — самообучение так называемых агентов, то есть автономных систем, способных найти решение для произвольных задач и улучшать его до бесконечности. Результаты первых экспериментов интересные.
Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии27

Циклоидный редуктор + BLDC мотор своими руками

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

Всем привет! Эта статья открывает собой серию статей по разработке манипулятора. Тут я попробую рассказать о циклоидном редукторе и зачем он вообще мне понадобился. Разумеется, мы проведём его расчёт и воплотим его в физическое представление при помощи PLA пластика. Ну и как бонус соберём из хлама BLDC мотор для тестирования этого редуктора. Погнали.
Читать дальше →
Всего голосов 102: ↑102 и ↓0+102
Комментарии114

Tinder ушёл… да здравствует $hyoo_match

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

Здравствуйте, меня зовут Дмитрий Карловский и недавно у меня случился тиндергейт. Но вот беда, Match Group уходит из России, забирая с собой Tinder. С чего же нам теперь кринжевать? Но, как известно, свято место пусто не бывает, так что я запилил свой дейтинг без геймификации и монетизации:

? Tinder ушёл... встречай  match.hyoo.ru - сервис знакомств, которому выгодно, чтобы ты нашёл себе пару и свалил в закат.
Никаких фейков, мёртвых душ, рекламы и вымогательства денег. Поделись с друзьями - пусть тоже найдут свою половинку ?

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

Найти, наконец, свою половинку
Всего голосов 158: ↑112 и ↓46+95
Комментарии605

Андрей Карпаты. Software 2.0. Непонятный софт будущего

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

Когда мы говорим о современных разработках в области нейросетей и машинного обучения, то первое имя, которое приходит на ум — это Андрей Карпаты. Молодой словак быстро стал звездой в данной области и одним из главных авторитетов по части конкретного программирования систем. Это тот человек, который обучал Джона Кармака, в частности.

Андрей Карпаты — сооснователь компании OpenAI (GPT-4, ChatGPT) и ведущий разработчик автопилота Tesla. Впрочем, из «Теслы» он недавно ушёл по очевидной причине: есть вероятность, что человечество стоит на пороге грандиозного открытия, с которым ничто не сравнится по важности — оно разделит историю нашего вида на до и после сингулярности. Речь идёт об AGI, то есть ИИ общего назначения. Если так, то сейчас нет смысла работать больше ни над чем.
Читать дальше →
Всего голосов 48: ↑43 и ↓5+56
Комментарии30

Изучение TypeScript — Полное руководство для начинающих. Часть 1 — Введение и примитивные типы данных

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

Всем привет. Меня зовут Лихопой Кирилл и я - Fullstack-разработчик.

Представляю вашему вниманию cвою первую статью на Хабре, a точне перевод англоязычной статьи, на тему изучения TypeScript (TS, Тайпскрипт).

Другие части:
Часть 2 - Ссылочные типы данных
Часть 3 - Классы и интерфейсы
Часть 4 - Литералы и дженерики
Часть 5 - Строгий режим и сужение типов

Читать далее
Всего голосов 12: ↑8 и ↓4+7
Комментарии9

Простейшая нейросеть: еще раз и подробнее

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

Машинное обучение это незаменимый инструмент для решения задач, которые легко решаются людьми, но не классическими программами. Ребенок легко поймет, что перед ним буква А, а не Д, однако программы без помощи машинного обучения справляются с этим весьма средне. И едва ли вообще справляются при минимальных помехах. Нейросети же уже сейчас решают многие задачи (включая эту) намного лучше людей. Их способность обучаться на примерах и выдавать верный результат поистине очаровывает, однако за ней лежит простая математика. Рассмотрим это на примере простого перцептрона.
Данная статья представляет собой пересказ-конспект первой части книги Тарика Рашида "Создай свою нейросеть" для тех, кто начал изучать тему, не понял отдельные детали или с трудом охватывает общую картину.

Читать далее
Всего голосов 84: ↑83 и ↓1+95
Комментарии27

SEO Выводы из утечки кода поисковика Яндекс

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

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

Читать далее
Всего голосов 166: ↑151 и ↓15+182
Комментарии130

Как собрать самодельный принтер/плоттер

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров22K
Картинка youtube-канал «stefanopadoan art»

Есть один весьма примечательный вид ЧПУ-устройств, который не оставит равнодушным никого — самодельный принтер.

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

И именно об интересных путях создания подобного устройства мы и поговорим в этой статье.
Читать дальше →
Всего голосов 48: ↑47 и ↓1+66
Комментарии41

Переносим свою картину мира в чат-бота на базе GPT-3

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

Думаю, все уже наслышаны о потрясающих возможностях ChatGPT и GPT-3, многие уже вдоволь наигрались с ними, а новые стартапы на их основе льются на нас каждый проливным дождём! Возможности ChatGPT в решении некоторых текстовых задач потрясают, порой кажется, что имеешь дело с настоящим разумом.

У меня возникла идея - что если попробовать доучить сеть так, чтобы она имитировала картину мира определенного человека? (Да, снова Черное Зеркало). Классический подход с pre-prompt для этого не подходит, так как хочется заложить в сеть побольше знаний (а также реально поменять веса связей), поэтому будем использовать fine-tune (дообучение на небольшом датасете и небольшом числе итераций). Такая опция доступна пользователям openAI за небольшую плату ($0.5-1 в моих примерах).

В этой статье я покажу как можно обучить GPT-3 (в версии davinchi-003) на своей картине мира и засунуть её внутрь телеграм-бота, потратив на всё всего несколько долларов.

Код бота доступен в репозитарии.

Читать далее
Всего голосов 34: ↑33 и ↓1+41
Комментарии31

6 Python декораторов, которые значительно упростят ваш код

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

"Простое лучше сложного".

Лучшая функция Python, которая применяет эту философию из "дзен Python", - это декоратор.

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

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

Болтать не буду. Давайте посмотрим на отобранные мной 6 декораторов, которые покажут вам, насколько элегантен Python.

Читать далее
Всего голосов 61: ↑57 и ↓4+69
Комментарии26

Изучаем Python за 6 месяцев. Подробный план обучения

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

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

Когда я начал изучать питон, у меня возникло несколько вопросов.

Читать далее
Всего голосов 47: ↑26 и ↓21+8
Комментарии87

#4 Нейронные сети для начинающих. Sudoku Solver. Судоку. Часть 1

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

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

Спойлер: я столкнулся с парой проблем как в своём понимании этой игры, так и в понимании меня компьютером (тут должно было быть смешно), но всё получилось. С результатом моего труда я вам и предлагаю ознакомиться!
Читать дальше →
Всего голосов 41: ↑41 и ↓0+41
Комментарии12

Lazarus-AVR, №1. Программирование микроконтроллеров AVR в IDE Lazarus

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

Вот появилось желание написать небольшой проектик для себя с применением микроконтроллера. В CodeVisionAVR команды не подсвечиваются по Ctrl+Пробел, да и Си что-то начал забывать, вспоминать - лень... Конечно, вспомнить Си - это 10-30 минут, но лень... Поэтому, было решено начать проект в родной IDE Lazarus, она же кросс-компилируемая! Правда, понять, как включить avr в Lazarus, чтоб компилировался hex-файл ушло 3 дня :), поэтому пишу здесь, чтоб другие не мучались, а сразу пользовались.

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

Датировка звукозаписи по гулу в энергосети

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

Сравнение колебания частоты тока в целевом сигнале (target) и референсной базе данных (ref) относительно несущей частоты 50 Гц с помощью программы enf-matching, источник

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

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

Речь о специфическом гудении энергосети в виде электрического шума, который всегда записывается на аудиодорожку.
Читать дальше →
Всего голосов 61: ↑59 и ↓2+77
Комментарии54

Небанальные правила чистого Python. Часть 1

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

Большинство питонистов не раз слышали о таких правилах как «функции должны быть глаголами» или «не наследуйтесь явно от object в Python 3». В этой статье рассмотрим не такие банальные, но полезные правила чистого кода в Python.

Читать далее
Всего голосов 40: ↑38 и ↓2+45
Комментарии49
1

Информация

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