Pull to refresh
45
15
Ярослав @ELEKTRO_YAR

не имею конкретной специальности

Send message

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

Level of difficultyMedium
Reading time12 min
Views56K

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

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

Читать далее
Total votes 312: ↑312 and ↓0+371
Comments132

Векторные СУБД и другие инструменты для разработки ML-моделей

Level of difficultyMedium
Reading time6 min
Views4.5K

На фоне развития генеративных и больших языковых моделей набирают обороты векторные базы данных. В прошлый раз в блоге beeline cloud мы обсудили, насколько этот тренд устойчив, а также предложили несколько книг для желающих погрузиться в тему. Сегодня же мы собрали компактную подборку открытых СУБД и поисковых движков, способных помочь в разработке систем ИИ. Обсуждаем такие инструменты, как Lantern, LanceDB, CozoDB, ArcadeDB, Dart Vector DB, Marqo и Orama.

Читать далее
Total votes 7: ↑7 and ↓0+8
Comments3

Неужели это очередной «конец» сферы разработки ПО?

Reading time8 min
Views16K

Привет, Хабр! Поговорим о роли ИИ в жизни разработчика — мы в блоге beeline cloud часто обсуждаем темы, которые волнуют ИТ-сообщество. 

Увольнения, увольнения, увольнения, кажется, они никогда не закончатся. На сайте layoffs.fyi есть даже трекер увольнений в технологической сфере. Финансирование стартапов опускается на минимальный за последние 5 лет уровень, пишет Crunchbase. Помимо общих экономических проблем, на горизонте маячит страх, что ИИ и вовсе вытеснит программистов. 

Техноновости напоминают репортажи о конце света. Так ли это?

Как человек, который начал свою карьеру программиста сразу после того, как лопнул пузырь доткомов, я могу с уверенностью утверждать, что все не так уж плохо. Когда я только начинал свою профессиональную деятельность, люди говорили мне, что «Интернет мертв» и мне стоит поискать настоящую работу. А проблемы, с которыми боролись доткомовские стартапы, никуда не делись. Причём многие из найденных в начале 2000-х решений были зарыты в землю, лишь для того, чтобы вновь объявиться несколько лет спустя.

Читать далее
Total votes 22: ↑16 and ↓6+15
Comments26

Заставляем ChatGPT быть эгоистичным и решать дилемму заключенного, в которой есть котики

Reading time10 min
Views8.1K

Успехи машинного обучения наталкивают на мысль, что ИИ, стоящий в развитии на пару ступеней выше человека, уже не за горами. Станет он нам новым лучшим другом или скорее чем-то вроде Скайнета? Мы не знаем будущего, но можем проверить, насколько железный мозг дружелюбен в настоящем.

Привет! Мы в Selectel часто используем ИИ и знаем, что это хороший помощник, которому можно доверить часть рутины. А как насчет человеческих качеств? Чтобы выяснить это, сыграем с ним в классическую математическую игру, с помощью которой ученые уже больше 70 лет исследуют альтруизм и эгоизм, способность к эмпатии и готовность предать — характеристики, присущие человеку.
Читать дальше →
Total votes 41: ↑39 and ↓2+52
Comments62

Быстрый двоичный поиск без ветвления

Level of difficultyMedium
Reading time15 min
Views14K

Мои читатели — занятые люди, поэтому сразу перейду к делу. Вот она, самая быстрая обобщённая (и простая) реализация двоичного поиска на C++:

template <class ForwardIt, class T, class Compare>
constexpr ForwardIt sb_lower_bound(
      ForwardIt first, ForwardIt last, const T& value, Compare comp) {
   auto length = last - first;
   while (length > 0) {
      auto rem = length % 2;
      length /= 2;
      if (comp(first[length], value)) {
         first += length + rem;
      }
   }
   return first;
}

Тот же интерфейс функции, что и у std::lower_bound, но вдвое быстрее и короче. «Без ветвления», потому что if компилируется в команду условной передачи, а не в ветвление/условный переход. Ближе к концу статьи мы изучим опции компилятора и даже более быстрые версии полностью без ветвления. Для понимания этой статьи не нужны особые знания в C++. Достаточно понимать, что итераторы (first и last) по сути являются указателями на элементы массива, хотя могут указывать на один элемент дальше, чем последний элемент массива. Можете не обращать внимания на template, class, constexpr и &. Вот если бы существовал быстрый и чистый язык, работающий на уровне железа...1 2
Читать дальше →
Total votes 78: ↑78 and ↓0+78
Comments6

Google пытается оптимизировать формат JPEG, увеличив компрессию на 35%. Что это за технология?

Reading time4 min
Views15K

Формат изображений JPEG появился ещё в конце прошлого века, причём актуальность он не теряет, а, наоборот, набирает. Казалось бы, что можно изменить в технологии, которой столько лет? В Google посчитали, что сейчас самое время для оптимизации формата, а именно повышения эффективности компрессии. Что предложили в Google и как работает новая технология?

Читать далее
Total votes 25: ↑25 and ↓0+31
Comments47

AutoML на практике — как делать автоматизацию, а не её иллюзию

Level of difficultyMedium
Reading time15 min
Views12K

Привет, Хабр! Меня зовут Алексей Рязанцев, я Junior Data Scientist в Лаборатории Машинного обучения Альфа-Банка. Свой путь в Лаборатории я начал со стажировки летом-осенью 2023-го года, на которой для меня была интересная задача — разработать с нуля собственный AutoML в Альфа-Банке

Когда количество ML-моделей в компании исчисляется сотнями, процессы десятками, а фичи тысячами, вопрос «а нужен ли нам AutoML?» уже не стоит. Стоит другой вопрос - как сделать AutoML так, чтобы он был действительно полезен и им реально хотелось пользоваться? 

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

Читать далее
Total votes 30: ↑29 and ↓1+32
Comments14

Как я ушел из IT в психологию

Reading time16 min
Views66K
[Опыт перехода в психологию]. На Хабре довольно много статей о том, как стать программистом, сисадмином, сетевиком и много ещё кем. Материалов о том, как уйти из IT, гораздо меньше, и сегодня я постараюсь восполнить этот пробел.


ППКС. Источник: t.me/smallpharm/559

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

И да, под катом опять очень много букв.
Читать дальше →
Total votes 78: ↑68 and ↓10+58
Comments213

Мы шутили над «опытными пользователями ПК», а ведь они вымирают

Level of difficultyEasy
Reading time7 min
Views83K


Пока в Лас-Вегасе проводят киберспортивные турниры по Excel, где сверхлюди уверенно соревнуются в скоростном решении абсурдно сложных рабочих задач при помощи самого универсального офисного софта, весь остальной мир так же уверенно в вопросе офисных задач деградирует. Двадцать лет назад гики и энтузиасты компьютерной техники шутили, что «отбери у современного пользователя компьютерную мышь и он будет беспомощен», и в чем-то они были правы. Когда-то ненавистные многим графические операционные системы «извратили» работу за ПК, превратив ее из ввода-вывода информации с помощью клавиатуры в тыканье курсором мыши по экрану. Нелюбовь к мыши, кстати говоря, через года пронесли многие: есть огромный массив рабочих задач, где использование мыши избыточно. То, что можно было сделать за две секунды, делается мышью минуту.

Но если я скажу вам, что для того, чтобы ввести в ступор молодого пользователя сейчас, ему достаточно открыть на ПК гугл-таблицу? Или даже просто показать персональный компьютер? Отберите у молодого человека смартфон, дайте ему компьютер и наблюдайте за тем, как он впадает в отчаянье. Сейчас та самая Марьивановна из бухгалтерии на фоне людей, выросших со смартфоном в руках, кажется просто гениальным хакером. И это не брюзжание старика про «раньше было лучше». Это реальная проблема, к которой мы не просто летим на сверхзвуке, мы уже в ней по самые уши. Людей, умеющих пользоваться компьютером даже на уровне тыканья курсором мыши по иконкам все меньше и меньше, хотя вычислительной техники вокруг все больше и больше.
Читать дальше →
Total votes 256: ↑233 and ↓23+262
Comments638

Пишем GPT4 ботов на coze.com

Level of difficultyMedium
Reading time4 min
Views29K

Нет времени объяснять! Bytedance тестирует платформу создания АИ ботов, coze.com, в том числе на базе gpt-4/gpt-3.5/Dalle-3 с возможностью интеграции в телеграм/дискорд. На данный момент ограничений практически нет, бесплатный доступ к огромному количеству сервисов, включая платные. Сервис доступен в России и еще в ряде стран.

Есть возможность создавать сложные workflow, добавлять кастомные плагины/апи, да практически что угодно можно сделать. Я покажу на примере нескольких ботов. Простой gpt бот - переводчик, чуть более сложный - для написания кода на питон, с возможностью "гуглить" и очень сложный, для генерации изображений в Dalle, с сложным воркфлоу, кастомными плагинами/вставками кода/условиями и так далее. Поехали!

Читать далее
Total votes 17: ↑14 and ↓3+14
Comments11

Третий год борюсь с инфоцыганами. Теперь за мной следит наблюдательный совет

Level of difficultyEasy
Reading time17 min
Views47K

Никто доподлинно не знает, что происходит на рынке IT-образования.

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

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

Читать далее
Total votes 42: ↑27 and ↓15+20
Comments95

«Доброе утро, Вьетнам!»: Как запустить своё интернет-радио

Reading time5 min
Views16K
Что читать, что слушать, что смотреть и что покупать — сегодняшний выбор пользователя глобальной сети огромен. На смену газетам пришли блоги и коммьюнити в соцсетях, появились новые способы «упаковки» старых и совершенно новые типы контента.

Ранее мы рассказывали о том, что сегодня происходит с радио (здесь и здесь). В частности, мы упоминали, что радио постепенно «уходит в сеть». Феномен интернет-радиостанций заключается в том, что они появляются быстрее, чем вы скажете «переключи».

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

Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments13

Написание слоя API в приложении — это прошлый век! Встречайте универсальный прокси

Level of difficultyMedium
Reading time5 min
Views26K

Перестаньте писать, генерировать и переписывать API слой для каждого приложения - создайте универсальный прокси с TypeScript единый для множества приложений и обновляйте только типы при изменениях API на сервере!

Ваш API слой всегда будет оставаться минимальным в размерах и не увеличится ни на байт с увеличением количества вызываемых методов! Это обеспечит стройность вашим бандлам и добавит удовольствие пользователю от быстрой загрузки вашего сайта

Читать далее
Total votes 29: ↑13 and ↓160
Comments134

Конец программирования, как мы его знаем, или Что нас ждёт с LLM

Level of difficultyMedium
Reading time5 min
Views61K

«Большие языковые модели и конец программирования». Под таким заголовком в прошлом году прошла серия лекций доктора Уэлша, профессора информатики в Гарварде. В этом посте мы раскроем основные тезисы выступления, и в заключение попробуем взглянуть на будущее так же воодушевлённо, как автор.

Читать далее
Total votes 62: ↑40 and ↓22+32
Comments233

Получаем деньги за подбрасывание монет стоимостью в миллионы долларов

Level of difficultyHard
Reading time6 min
Views38K

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

Начнём с очевидного.

Ожидаемая стоимость при выборе зелёной кнопки цвета составляет $25 млн.

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

Читать далее
Total votes 38: ↑32 and ↓6+40
Comments86

Новая блокировка OpenVPN и Wireguard замедляет интернет в России

Reading time3 min
Views169K

Позавчера, 15 января ночью, по всему Рунету пошли сигналы, что протоколы WireGuard/OpenVPN массово «отвалились». Судя по всему, с понедельника Роскомнадзор снова взялся за VPN, экспериментируя с блокировками OpenVPN и Wireguard в новом масштабе.

Мы в Xeovo заметили это по большому наплыву пользователей, которые вообще не знали что протоколы блокируются (где они были все это время). Уже учения были много раз, и мы предупреждали клиентов, но, видимо, OpenVPN и WireGuard до сих пор очень хорошо работали у всех. На настоящий момент блокировка продолжается. Возможно, тестируют, как все работает перед выборами. 

Читать далее
Total votes 118: ↑82 and ↓36+70
Comments379

Полиномиальные корневые методы синтеза САУ ч.3 (заключение)

Level of difficultyMedium
Reading time12 min
Views1.8K

Леонид Маркович Скворцов. Широко известный в узких кругах математик, профессионально занимающийся математическими проблемами автоматического управления. Например, его авторские методы использованы в SimInTech. Данный текст, еще готовится к публикации. Но с разрешения автора, читатели Хабр будут первыми кто сможет оценить. Первая часть здесь... Вторая часть здесь...

Две предыдущие части были заполнены многоэтажными формулами в третей части разберем на примерах применение этих формул. Математику в жизнь!

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

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments2

Как языковая модель предсказывает следующий токен (часть 1)

Reading time27 min
Views7.4K

Я обучил небольшой (порядка 10 миллионов параметров) трансформер по превосходному туториалу Let’s build GPT: from scratch, in code, spelled out Андрея Карпати. После того, как он заработал, я захотел максимально глубоко понять, как он устроен внутри и как создаёт свои результаты.

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

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

Если вы знакомы с трансформерами и хотите сразу узнать вывод, то он таков: каждый блок трансформера (содержащий слой многоголового внимания и сеть с прямой связью) изучает веса, связывающие конкретный промт с классом строк, найденных в обучающем корпусе. Распределение токенов, соответствующее этим строкам в обучающем корпусе, и есть приблизительно то, что блок выводит как прогноз для следующего токена. Каждый блок может ассоциировать один и тот же промт со своим классом строк обучающего корпуса, что приводит к другому распределению следующих токенов, а значит, и к другим прогнозам. Окончательный результат работы трансформера — это линейное сочетание прогнозов каждого блока.

Читать далее
Total votes 27: ↑27 and ↓0+27
Comments5

Wubuntu: Linux с интерфейсом Windows 11 и возможностью запускать «виндовый» софт. А ещё и Windows 95

Reading time3 min
Views60K

Дистрибутивов Linux достаточно много — на любой запрос, вероятно, можно найти подходящий вариант. Не так давно появился ещё один дистрибутив, который внешне является почти полной копией Windows 11. Также он способен запускать Windows-программы и работает на относительно старых компьютерах и ноутбуках. Называется он Wubuntu, и подробности о нём — под катом.

Читать далее
Total votes 49: ↑39 and ↓10+42
Comments86

Почему мое производство пельменей умирает

Reading time9 min
Views158K

В 2018 г. я открыл производство пельменей и полуфабрикатов. Шучу, что у меня 3 класса образования церковной школы, так как мое высшее по специальности “социальная коммуникация” не кажется мне фундаментальным.

6 лет мы продаем 50 позиций пельменей, голубцов и чебуреков в 200 магазинов. В ковид ели много пельменей и у меня было 3 цеха, доходило до тонны в день. А сегодня я провожу аудит, закрыл 1 цех и думаю о закрытии остальных. Если считаете, что бабушкины пельмени лучше магазинных, ставьте лайк и пишите об этом в комментариях.

Читать далее
Total votes 297: ↑227 and ↓70+211
Comments774

Information

Rating
494-th
Location
Россия
Registered
Activity

Specialization

Fullstack Developer
Middle
From 5,000 $
C++
C
Software development