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

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

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

BLE адаптер на ESP32 под Ардуино

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

Глядя на обилие дешевых ESP32 модулей захотелось мне сделать из них что нибудь полезное. А именно BLE адаптер с последовательным интерфейсом пригодный для разных применений вроде организации беспроводного канала связи между железками или сбора телеметрии с нескольких устройств.

Читать далее
Всего голосов 18: ↑17 и ↓1+24
Комментарии28

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

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

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

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

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

Десять основных упражнений для предотвращения болей в спине у программистов

Время на прочтение5 мин
Количество просмотров12K
Привет всем коллегам-программистам! Давайте углубимся в тему, которая имеет не меньшую важность, чем дебаггинг того дурацкого фрагмента кода, с которым вы столько воюете – тему вашего здоровья, а если конкретнее – предотвращения болей в спине. Речь не о затекающих время от времени мышцах, а о глубокой, настойчивой, ноющей боли, которая является последствием написания кода в режиме марафона. Под катом вы найдете десять упражнений, которые станут для вас палочкой-выручалочкой и сделают вашу спину такой же крепкой, как ваш код.
Читать дальше →
Всего голосов 22: ↑18 и ↓4+20
Комментарии12

Про́клятый огонь, или магия препроцессора C

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

Задавались ли вы когда-нибудь вопросом, можно ли полноценно программировать при помощи директивы #define в языке C? Полнота по Тьюрингу шаблонов C++ известна весьма широко, например, люди пишут трассировщики лучей, делающие все вычисления во время компиляции (вместо времени исполнения). А как обстоят дела с препроцессором C? Вопрос оказался сильно нетривиальнее, и эта история является, на мой вкус, отличным анекдотом для курса лекций по теории компиляторов, что я готовлю в данный момент. В частности, для лучшего понимания происходящего здесь, рекомендую ознакомиться со второй статьёй, которую я опубликовал параллельно этой: лексер и парсер.

Чтобы не было обманутых впечатлений, предупрежу сразу, что рейтрейсера не будет, но про́клятый код будет очень даже! Итак, поехали. Для начала, почему я вообще задался этим вопросом? Если обычный код компьютерной графики вам скучен, следующий раздел можно пропустить, перематывайте до последней картинки.

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

Stable Diffusion. Курс молодого бойца

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

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

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

Так же в конце будет изложен mindset, который необходимо иметь чтобы научиться пользоваться SD. Я буквально попытаюсь научить вас думать как AI художник.

Поэтому без лишних слов, начинаем.

Поехали!
Всего голосов 60: ↑58 и ↓2+70
Комментарии24

Реально Бесконечное (лето) RuGPT3.5: Генерация новеллы на ходу нейросетью

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

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

Будет создан прототип text adventure, основанного на тексте Everlasting summer, проведена оценка потенциала RuGPT3.5 в разных аспектах подобной задачи и проведено дообучение модели для получения лучших результатов.

Перейти на другую временную линию
Всего голосов 27: ↑26 и ↓1+30
Комментарии23

Поговорим об оптимизирующих компиляторах. Сказ третий: неопределённое поведение и оптимизации

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

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

Наверное, многие слышали, что неопределённое поведение (undefined behavior, UB) -- постоянный источник разнообразных багов, иногда очень забавных, иногда довольно жутких. Тема также неоднократно освещалась и на Хабре, навскидку раз, два, три (и даже целый тег есть). Однако чаще всего статьи по данной теме посвящены тому, как можно отстрелить себе ногу, голову или случайно сжечь свой жёсткий диск, исполнив какой-нибудь опасный код. Я же намерен сделать акцент на том, зачем авторы языков программирования надобавляли всей этой красоты, и как оптимизатор может её эксплуатировать. Всё будет проиллюстрировано наглядными примерами из LLVM и присыпано байками из собственного опыта, так что наливайте себе чай, располагайтесь поудобнее, и погнали.

На дно
Всего голосов 52: ↑52 и ↓0+52
Комментарии96

Поговорим об оптимизирующих компиляторах. Сказ второй: Доминирование

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

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

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

Причаститься
Всего голосов 49: ↑49 и ↓0+49
Комментарии18

Как выучить что угодно в 7 раз быстрее и эффективнее

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

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

Удивительно, но такое средство было найдено в 1990 году американским социологом Майклом Хоу. Он провел серию тестов среди студентов и определил, что пользователи «волшебного средства» в 7 раз лучше запоминали материал, легко вспоминали факты и легко применяли знания на практике.

Тот, кто использовал «волшебное средство» был наголову выше обычных студентов. «Обычные» хуже помнили материал и хуже его понимали, более того, даже одаренные отличники были слабее тех, кто использовал это «волшебное средство».

Это удивительное средство...

Читать далее
Всего голосов 141: ↑94 и ↓47+71
Комментарии124

Где скачать научную статью легко и доступно?

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

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

Однако стоимость одной статьи от платных издателей может составлять 150 долларов, что не так уж и мало по сравнению с размером стипендии студента.

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

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

Sun против Intel: Питерское противостояние 2004-го года

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

Эта история произошла 18 лет назад. Все сроки давности уже прошли, так что можно рассказать о тех событиях и как так получилось, что две огромных технологических компании буквально дрались за коллектив из 150 человек. Но прежде надо немного объяснить, что же это был за коллектив и чем он был примечателен.


Прежде, чем начать, хочу отметить, что на протяжении всего изложения мои симпатии будут с Sun.

Читать дальше →
Всего голосов 96: ↑95 и ↓1+121
Комментарии51

Зубы мудрости: удалить нельзя оставить

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

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

Издавна с восьмёрками (третьими молярами или «зубами мудрости») связано очень много анекдотов, суеверий, легенд и историй, в том числе весьма страшных. И распространена вся эта мифология не только среди обычных людей, но и в медицинском сообществе. Постепенно, в ходе обсуждения, я попробую их развенчать и показать, что зубы мудрости — не такая уж проблема, как в плане диагностики, так и в плане удаления. Тем более, если речь идёт о современном докторе и современной клинике.
Читать дальше →
Всего голосов 149: ↑142 и ↓7+135
Комментарии254

Зубы мудрости: «Выше только...»

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

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

ВНИМАНИЕ!-Uwaga!-Pažnju!-Attention!-Achtung!-Attenzione!-ВНИМАНИЕ!-Uwaga!-Pažnju!

Ниже будут представлены фотографии сделанные во время операции! С видами зубов, дёсен, крови и расчлененки. Слабонервных прошу отказаться от прочтения данной статьи.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+24
Комментарии29

Обновление Zabbix 5.2 до Zabbix 6.0 на CentOS 8

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

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

Читать далее
Всего голосов 4: ↑3 и ↓1+5
Комментарии5

Отправка SMS кириллицей с AT-модема

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

Оперативное информирование клиентов, когда их достаточно много для ручного обзвона, но недостаточно много для подключения массового сервиса, вроде sms.ru (на самом деле сервис хорош, но недавняя политика некоторых мобильных операторов создала определённые финансовые сложности ввиду заградительных тарифов на использование услуг sms-рассылок с/без использования имён, для относительно не крупных рассылок), что породило потребность в применении независимого инструмента.

Путем продолжительных скитаний по просторам сети, был изучен ряд материалов и некоторые готовые решения. Спасибо dos999 (Ссылка на пост) за отправную точку, но хотелось бы реализовать это "модном" на python3.

Была предпринята попытка адаптировать изложенную логику на основе полученных знаний, но уперся в кириллическую кодировку, т.к. готового кодера в UCS-2 python не имеет, а варианты на основе utf-16 приводили к какому-то такому результату "PÉQ@P>Q£Q$P>P9".

Но, кто ищет - то находит. Попалась мне на задворках сети готовая реализация на python2 от huh-muh (Ссылка на пост). И тут пазл сложился, а адаптировать под python3 труда не составило:

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

Теперь наш публичный синтез в супер-высоком качестве, в 10 раз быстрее и без детских болячек

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

hero_image


В нашей прошлой статье про синтез речи мы дали много обещаний: убрать детские болячки, радикально ускорить синтез еще в 10 раз, добавить новые "фишечки", радикально улучшить качество.


Сейчас, вложив огромное количество работы, мы наконец готовы поделиться с сообществом своими успехами:


  • Снизили размер модели в 2 раза;
  • Научили наши модели делать паузы;
  • Добавили один высококачественный голос (и бесконечное число случайных);
  • Ускорили наши модели где-то примерно в 10 раз (!);
  • Упаковали всех спикеров одного языка в одну модель;
  • Наши модели теперь могут принимать на вход даже целые абзацы текста;
  • Добавили функции контроля скорости и высоты речи через SSML;
  • Наш синтез работает сразу в трех частотах дискретизации на выбор — 8, 24 и 48 килогерц;
  • Решили детские проблемы наших моделей: нестабильность и пропуск слов, и добавили флаги для контроля ударения;

Это по-настоящему уникальное и прорывное достижение и мы не собираемся останавливаться. В ближайшее время мы добавим большое количество моделей на разных языках и напишем целый ряд публикаций на эту и смежные темы, а также продолжим делать наши модели лучше (например, еще в 2-5 раз быстрее).


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

Читать дальше →
Всего голосов 130: ↑129 и ↓1+156
Комментарии101

AccessUSB: «флешка всевластия» для телевизоров LG

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

Многие современные телевизоры имеют скрытые сервисные меню, через которые можно посмотреть и изменить различные параметры, недоступные в обычном пользовательском меню. В телевизорах LG есть 2 основных сервисных меню - InStart и EzAdjust, которые можно вызвать посылкой "секретных" ИК кодов, отсутствующих на обычном пульте. Подробности о том, как открыть эти меню, легко найти в интернете, не буду на этом останавливаться, один из вариантов - в этой статье. К сожалению, многие интересные опции в сервисных меню были недоступны для изменения.

В меню InStart меня заинтересовала строка Access USB Status. Гугление не давало никакой информации о том, что это за Access USB, но интуиция подсказывала, что это что-то интересное.

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

11 худших особенностей Windows 11, и как их исправить

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


Windows 11 вызывает смешанные чувства. С одной стороны, многие люди с удовольствием остались бы и на Windows 10. С другой стороны, есть вполне достойные причины обновиться до 11-й версии – улучшенное переключение между окнами, улучшенный контроль над виртуальными рабочими столами, свежие дизайнерские штучки – типа закруглённых уголков у окон.

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

Предлагаем вашему вниманию худшие особенности Windows 11 и пути их исправления – или, по крайней мере, смягчения.
Читать дальше →
Всего голосов 80: ↑69 и ↓11+78
Комментарии343

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

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

Несмотря на свою кажущуюся банальность, темы о вычислении синуса достаточно регулярно появляются на хабре. И каждый раз их авторы или делают сомнительные утверждения, или получают сомнительные результаты. Не в силах более терпеть, я тоже решил поучаствовать и внести свой, не менее сомнительный вклад в этот вопрос.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+91
Комментарии41

Добавляем GUI в EFI

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

В стандартном EDK нет поддержки графического интерфейса. Есть только из коробки пиксельный/текстовый вывод и TUI для HII интерфейса. А хочется капельку красоты и человеческий GUI. Дак добавим же! Даже не ради чего-то конкретного, а просто JUST FOR FUN!

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

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

Информация

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