Pull to refresh
30
0.1
Авдосев Никита @avdosev

ML-разработчик

Send message

Его величество Граф

Level of difficultyEasy
Reading time10 min
Views5.5K

Графы для меня особенная тема, в них есть нечто таинственное и мощное.

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

Я не буду рассказывать основы графов, они есть в Википедии.

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

Ну что, поехали, будет интересно!

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

Как я провел лето…

Level of difficultyEasy
Reading time16 min
Views9.7K

Никогда особо не стремился в большие компании, по душе всегда были небольшие уютные игровые студии, где и "отеческий" нагоняй от лида получить легко, да и самому "парой ласковых" объяснить коллегам где они были не правы можно. Но конечно шальные мысли, а вот если бы в Я..., да какой-нибудь еще фейсгугл попробоваться. Жаль только они не делают игры, но мысль эта таилась на закорках подсознания, периодически напоминая о себе в моменты просмотра объявлений, да после писем рекрутеров на linkedin. Около года назад два моих знакомых, которые давно уже живут на другом континенте, но с кем застали еще распад питерского EA, вдруг объявились на страничке в linkedin, оставили отзывы да отсыпали скилов. Сначала я не придал этому особого значения, мало ли чего там себе люди думают, может просто сеть знакомых обновляют, есть у них там за океаном такая забава. И так получилось, что на эти отзывы сагрились hr-боты большого G..., что и привело в дальнейшем к очень интересному опыту взаимодействия с людьми, знакомством с кухней отбора, этапами собеседования и воронкой "смерти" входа. Осторожнее надо быть со своими желаниями.

Где-то уже на хабре были статьи и про G... и про Я..., такие, что читая описания задачек на собесах, волевым решением на следующее утро начинал решать leetcode. Воли обычно хватало где-то на неделю, а потом рутина боевых задач и митинги затаскивали обратно в уютную берлогу не очень большого игростроя. Почему я решил написать об этом только через год после всех событий? Да банально подмахнул на третьем собеседовании NDA о методах проведения интервью, а когда понял ЧТО подписал - уже было поздно.

Вам письмо от G...
Total votes 53: ↑49 and ↓4+54
Comments19

Забытые системы ИИ — как «Сайк» здравому смыслу учили

Level of difficultyEasy
Reading time6 min
Views2.5K

Разговорами о работе с ИИ уже никого не удивить. Нейросетями не пользуется только ленивый, а бизнес всё чаще запускает свои языковые модели. Но мало кто помнит, что еще в 80-х один амбициозный исследователь взялся разработать свою интеллектуальную систему с чувством «здравого смысла». Проект назвали «Сайк», и он до сих пор существует — даже имеет ряд кейсов коммерческого применения. Мы в beeline cloud решили обсудить, как он устроен, и что лежит в основе решения.

Читать далее
Total votes 17: ↑16 and ↓1+23
Comments3

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

Level of difficultyMedium
Reading time6 min
Views30K


Привет, Хабр!

Наверное, многие из вас понимают, что одним из ключевых моментов при эксплуатации ванной комнаты является поддержание оптимального микроклимата, поскольку избыточная влажность создает идеальную среду для развития плесени и грибка на любых пористых поверхностях, будь-то штукатурка или межшовное пространство кафеля. Для нормализации уровня влажности, в первую очередь необходимо обеспечить нормальную вентиляцию, как правило, данная задача решается установкой вытяжного вентилятора. Вместе с тем, для обеспечения эффективности, немаловажно автоматизировать процесс работы вытяжной вентиляции. В данной статье я хочу поделиться своим опытом реализации «домашней» автоматизации для решения этого вопроса. Впереди DIY и много картинок, присоединяйтесь!
Читать дальше →
Total votes 50: ↑49 and ↓1+59
Comments85

Новая модель интеллекта. Как пошатнулись принципы генетики, медицины и нейросетей

Level of difficultyMedium
Reading time14 min
Views33K

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

Читать далее
Total votes 46: ↑41 and ↓5+46
Comments33

Итоги года соло-разработки поискового движка на средства гранта

Level of difficultyEasy
Reading time5 min
Views5.7K

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

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

Оба этих события дарят ощущение лёгкости, как в последний учебный день в школе.

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

В текущей статье я решил поделиться своим опытом, оглянувшись на проделанную работу, а также прикинуть перспективы на будущее.
Читать дальше →
Total votes 31: ↑24 and ↓7+27
Comments15

Скука как катализатор успеха

Level of difficultyEasy
Reading time5 min
Views5.2K

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

Читать далее
Total votes 15: ↑12 and ↓3+10
Comments5

Feature-Based Flutter Architecture

Level of difficultyMedium
Reading time6 min
Views2.1K

Всем привет! В этой статье я хотел бы поговорить о вопросах многомодульной архитектуры для разработки средней сложности flutter - проектов.

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments0

Моя б̶е̶з̶умная колонка: часть вторая // программная

Level of difficultyEasy
Reading time16 min
Views7K

Привет, Хабр!

В прошлой статье я описал аппаратную реализацию своего голосового ассистента на базе бюджетного одноплатника Orange Pi Zero 2W с 4Гб оперативной памяти. Эту же статью хочу посвятить программной реализации данного устройства. Если стало интересно, то добро пожаловать под кат.
Читать дальше →
Total votes 40: ↑40 and ↓0+53
Comments30

Пробуем Typst, альтернативу LaTeX

Level of difficultyEasy
Reading time20 min
Views9.3K

Вы могли слышать об Typst, современной альтернативе LaTeX, написанный на Rust, или не могли, ведь на Хабре я нашёл лишь несколько статей о нём. Некоторые до меня подчёркивали, что есть некоторые недостатки у первого по сравнению с последним.

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

Читать далее
Total votes 28: ↑28 and ↓0+37
Comments55

Пишем собственный макрос на Dart 3.5 вместо старого генератора кода

Level of difficultyMedium
Reading time6 min
Views2.1K

В Dart 3.5 большое новшество: макросы. Это как старая генерация кода, но прямо в памяти, без временных файлов, плюс ещё много преимуществ.

В этой статье разбираем пилотный макрос JsonCodable, который команда Dart выпустила, чтобы мы разобрались в новой технологии. И пишем собственный простейший макрос.

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

Как я дерзко превратил свою RTX 4090 в eGPU

Level of difficultyMedium
Reading time6 min
Views21K

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

К тому же, RTX 4090 настолько толстая, что занимает на стандартной материнке 3 слота PCIe — а ещё ведь нужно пространство для полноценного обдува. В 2020 году я использовал эту же машину, которая достигала скорости в 11 миллионов IOPS и 66 ГБ/с на базе одного процессора AMD ThreadRipper. Однако, чтобы установить в неё RTX 4090, пришлось извлечь большинство SSD и (тоже горячую) сетевую карту Mellanox 200Gbe. В итоге значительная часть полезного оборудования оказалась не задействована… Долго терпеть я такое не смог и решил перейти к активным действиям.
Читать дальше →
Total votes 59: ↑43 and ↓16+51
Comments63

Маркеры хорошей базы знаний

Level of difficultyEasy
Reading time19 min
Views8.2K

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

— В моей базе знаний я делаю все правильно или у меня есть какие‑то существенные проблемы и недостатки?

Рассуждения хоть и субъективные, но они написаны достаточно абстрактно, чтобы всяк читающий смог примерить мысли из статьи на себя и перенести вынесенную пользу на свою уникальную, персонализированную базу знаний. Причём неважно в каком именно инструменте вы ведёте персональную базу знаний (Obsidian, Roam Research, Logseq, Trilium, Dendron, Notion, Siyuan и прочие), описанные маркеры в этой статье вас так или иначе могут сподвигнуть на какие-то продуктивные размышления или даже изменения.

Ну, давай попримеряем мысли из статьи
Total votes 4: ↑4 and ↓0+4
Comments6

Ошибки ведения личной базы знаний: почему я удалил 1500 из 4500 заметок в Obsidian

Level of difficultyMedium
Reading time5 min
Views45K

Меня зовут Никита Шевченко и однажды я заигрался в красивый инструмент, да так, что в какой-то момент потерял суть и начал терять пользу. А потом начал придерживаться правил ведения заметок и даже придумал несколько своих.

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

Читать далее
Total votes 75: ↑54 and ↓21+52
Comments107

Яндекс выпустил DivKit. Я – Nui

Level of difficultyMedium
Reading time25 min
Views4.6K

Привет! Сегодня я поведаю вам историю создания супер-пупер движка для Server Driven UI во Flutter, являющегося составной частью супер-пупер CMS (именно так её создатель, то есть я, её позиционирует). У вас, конечно же, может быть другое мнение и я с удовольствием обсужу его в комментариях.

Эта статья - первая из двух в цикле. В ней мы рассмотрим непосредственно Nui, а в следующей - саму Nanc CMS.

В конце данной статьи вы не найдете никаких ссылок на Telegram-каналы, но будет много интересного про Server Driven UI, возможности Nui (Nanc Server Driven UI) историю проекта, шкурные интересы, Доктора Стренджа и даже немного го**а на вентиляторе.

Поехали!
Total votes 15: ↑11 and ↓4+8
Comments6

Создаём свою стример-тян из зефира и палок

Level of difficultyMedium
Reading time127 min
Views13K

Наверняка вы слышали о нашумевшей в своё время ИИ стримерше NeuroSama. Однако мое внимание привлекало не само шоу и эти нашумевшие самые «крутейшие» моменты стримов, а сам факт того, что нейросеть реально может полностью автономно и полноценно вести стрим, удерживая внимание зрителей! Меня очень заинтересовала такая задумка, и я решился её повторить!

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

Может, немного опоздал с трендом, но не пропадать же добру просто так! Кому-нибудь да пригодится (хотя бы для того, чтобы посмеяться или кринжануть с человека, который год занимался никому не нужной фигнёй).

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

Будет весело, сложно и очень интересно как опытному «бойцу», так и простому обывателю!

Читать далее →
Total votes 50: ↑49 and ↓1+61
Comments17

Производительность базового поиска в Ozon как культурный феномен

Level of difficultyMedium
Reading time22 min
Views23K

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

Читать далее
Total votes 68: ↑63 and ↓5+71
Comments87

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

Level of difficultyMedium
Reading time12 min
Views49K

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

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

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

Как мы юнит-экономику считали и управленческий учет для маркетплейсов делали. Было сложно

Level of difficultyMedium
Reading time12 min
Views4.7K

С одной стороны, задача посчитать юнит-экономику выглядит как задача на вечер в компании с экселем. А если она возникает регулярно, то можно потратить 10 вечеров, и потом все будет занимать 20 минут.

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

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments14

Что нужно знать, чтобы успешно пройти System Design Interview

Reading time16 min
Views39K

Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.

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

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

Читать далее
Total votes 49: ↑47 and ↓2+56
Comments26
1
23 ...

Information

Rating
2,873-rd
Location
Волгоград, Волгоградская обл., Россия
Registered
Activity