Search
Write a publication
Pull to refresh
0
@geof_01read⁠-⁠only

User

Send message

Как написать первую статью на Хабр: полный чек-лист

Level of difficultyEasy
Reading time14 min
Views19K

Первая статья на Хабре, будь она от компании или пользователя, — фактически визитная карточка, которая либо даст хороший старт и мотивирует писать больше и интереснее, либо отобьёт руки. Опыт показывает, что авторы в своих первых публикациях совершают одни и те же ошибки, которые смазывают впечатление и сказываются на отношении аудитории. Известно, что лучше предотвратить ошибку, чем исправлять её после совершения, поэтому решено: в этой статье разберём все типичные ошибки и будем давать на неё ссылку новичкам.

Читать далее

Самодельный детектор мюонов за 100$

Level of difficultyEasy
Reading time5 min
Views14K

В середине 1960-х у лауреата Нобелевской премии Луиса Альвареса появилась безумная идея. Он предложил использовать мюоны — субатомные частицы с большой проникающей способностью, создаваемые при попадании космических лучей в атмосферу Земли — для поиска скрытых камер в одной из пирамид Гизы.

Мюоны — это тяжеловесные родственники электронов, перемещающиеся почти со скоростью света. Они могут проникать сквозь множество метров сплошной каменной породы, в том числе известняковых и гранитных блоков, которые использовали в строительстве пирамид. Однако некоторые из этих мюонов будут поглощены этим плотным материалом, то есть, по сути, их можно использовать для «рентгенографии» пирамиды, обнаруживающей её внутреннюю структуру. В 1968 году Альварес и его коллеги начали проводить мюонные измерения из камеры, находящейся в основании пирамиды Хефрена.

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

Вы тоже можете выполнять похожие эксперименты при помощи оборудования, которое можно изготовить всего примерно за 100$.

Читать далее

Как мы запускали мониторинг-пилот для Новатэка: испытание холодом, логистикой и бюрократией

Level of difficultyEasy
Reading time5 min
Views2.9K

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

Моей же страстью были стратегии. Сплю и вижу, как управляю огромными армиями, выстраиваю цепочки снабжения и контролирую ситуацию с высоты птичьего полёта. Именно эта мысль и легла в основу моего проекта.

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

Когда я изучал рынок RTLS в России, честно, я разочаровался.

В то время как в США, ЕС и Китае его капитализация может достичь $15 млрд к 2027 году благодаря внедрению IoT, 5G и искусственного интеллекта, запущенные в России проекты можно пересчитать по пальцам одной руки.

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

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

Наш пилотный проект

Начать же мы решили с малого, там, где нас примут. В 2024 году мы провели первый коммерческий пилот с подрядчиком Новатека — буровой компанией Эриал — нужно было отслеживать перемещение рабочих на буровой установке в жёстких северных условиях.

Читать далее

Быстрое приближённое умножение и деление чисел с плавающей точкой

Level of difficultyHard
Reading time27 min
Views7.1K

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

Читать далее

Обработка аудио на ESP32

Level of difficultyMedium
Reading time15 min
Views13K

В этой статье я хочу поделиться своим опытом портирования проекта распознавания музыкальных жанров аудиозаписей на ESP32-C3. Исходный проект взят из репозитория книги TinyML-Cookbook_2E.
При анализе речи или других звуков важно выделить такие характеристики, которые отражают строение сигнала, но при этом не зависят от конкретных слов, громкости и других мешающих факторов. Для этого используют cepstrum, mel-cepstrum и MFCC - это шаги преобразования, которые переводят звук в удобную для анализа форму.

Читать далее

Уроки компьютерного зрения. Оглавление

Level of difficultyEasy
Reading time2 min
Views45K

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 1.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 2.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 3.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 4.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 5.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 6.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 7.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 8.

Читать далее

Уроки компьютерного зрения на Python + OpenCV с самых азов

Reading time3 min
Views51K
Оглавление.

В этом цикле уроков я расскажу о том, как использовать библиотеку OpenCV в языке Python. Но для начала несколько слов о самом компьютерном зрении. Как компьютер вообще видит? Если подключить к нему видеокамеру, это еще не значит, что он будет видеть. Мы получим просто набор нулей и единиц. А человек видит что-то осмысленное. Как же из этих нулей и единиц извлечь что-то осмысленно? В этом и состоит задача компьютерного зрения.
Читать дальше →

15 команд Git, которые покрывают 90% повседневной работы разработчика

Level of difficultyMedium
Reading time9 min
Views89K

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

Читать далее

Как сделать RAG для своей компании

Level of difficultyMedium
Reading time5 min
Views11K

По следам:

Как я сделал RAG для своей компании

Как я сделал RAG для своей компании (часть 2). И как начал делать AI Агента

AI агенты — клоны сотрудников (часть 3)

В этой статье я постараюсь суммировать свой опыт, подвести итоги и предоставить полное решение со ссылками на Git.

Читать далее

RAG-технология в действии: как создать интеллектуальную систему поиска по нормативным документам

Level of difficultyMedium
Reading time12 min
Views13K

В этой статье рассмотрим пример практической реализации RAG (Retrieval-Augmented Generation) на Python для ответов на вопросы пользователей с опорой на нормативную базу технических стандартов. В моём случае это строительные документы: СНиПы, СП, ГОСТы и другие. Готовое решение можно протестировать в строительном Telegram-боте: https://t.me/Pdflyx_bot - данний бот генерирует ответ на основании базы знаний, приводит цитаты и указывает страницы документов, откуда была взята информация.

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

Читать далее

Evertop: ультра-экономичный ПК на солнечной батарее

Reading time5 min
Views6.8K

Evertop — это портативный ПК, эмулирующий IBM XT с процессором 80186 и 1МБ RAM. На нём можно запускать DOS, Minix и некоторые другие ОС из 80-х. Можно запустить и Windows до версии 3.0. Благодаря мощному и при этом экономичному микроконтроллеру, E-Ink дисплею, батареям на 10 000 мАч и реализации исключительных мер энергосбережения, он может работать на одном заряде до сотен и даже тысяч часов. Прибавьте сюда встроенную солнечную батарею и вы сможете использовать его бесконечно в условиях отсутствия сети, не беспокоясь о подзарядке.
Внутри много фото

Простой способ управления IoT-устройствами через телеграм-бот, используя esp32

Level of difficultyMedium
Reading time10 min
Views11K
Картинка Benzoix, Freepik

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

Однако в наше время было бы обидно пройти мимо гораздо более удобного способа, который, на мой взгляд, частенько многократно более удобен, и к тому же находится всегда под рукой — управление с помощью телеграм-бота…
Читать дальше →

Создаём эмулятор легендарной игры «Ну, Погоди» на базе Raspberry Pi Pico

Level of difficultyMedium
Reading time22 min
Views19K


Многие из тех, кому сейчас за 30, и рождённых в СССР или на постсоветском пространстве, помнят электронную игру «Ну, погоди!». Во времена, когда не было ни интернета, ни ноутбуков, ни мобильных телефонов, а из общедоступных электронных развлечений были только аттракционы в парках культуры и видеосалоны, обладание бытовым компьютером, электронными наручными часами Montana или электронной игрой «Ну, погоди!» было мечтой многих детей.

Были ещё и другие электронные игры, но именно «Ну, погоди!» считается классикой.


Игре посвящено много ностальгических статей и видео. На различных торговых площадках можно купить её в различном состоянии от убитого до «с хранения» и даже новодел.


Лет 10 назад и я купил её в идеальном состоянии, поигрался, вспомнил детство и положил в ящик. Но несколько месяцев назад с разочарованием увидел, что «потекла» нижняя часть экрана.


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


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


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


Эмулятор максимально приближен к оригиналу, если не считать экран (он не сегментный, как в оригинале) и корпус (я пока реализовал на беспаечной макетной плате).


Если вам интересно, как за несколько вечеров воссоздать у себя эмулятор «Ну, погоди!» на современном микроконтроллере или просто поностальгировать, добро пожаловать под кат.


Читать дальше →

Справочник по стандартам ЕСКД при помощи RAG на PrivateGPT

Level of difficultyEasy
Reading time7 min
Views2.1K

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

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

В целом, неплохо работает. Истории сообщений и переключения истории чатов с RAG ассистентом в UI PrivateGPT нет. Интерфейс довольно простой. Вот он:

Читать далее

Ирина — опенсорс русский голосовой помощник. Offline-ready

Reading time9 min
Views65K

- Ирина, таймер...
- Ставлю таймер на пять минут.

Вполне себе обыденная история из моего быта. Я таки сделал собственного автономного голосового помощника.

TL;DR> Ирина вполне неплохо работает дома 24x7.

Потребуется установить Python 3.5+ и зависимости через pip (немного знаний Python).

Скиллы "из коробки": таймер, погода, контроль медиа (громче/тише/дальше), контроль плеера MPC-HC, запуск медиа из папки, расписание ближайших электричек, "подбрось кубик/монетку".

Плагинами добавляются: другие скиллы, Text-to-Speech и Speech-to-Text движки.

Интересно? Поехали >

Создаем игрушечный оконный менеджер в ретро-стиле Windows 3.x на Python

Level of difficultyEasy
Reading time17 min
Views3.8K

Знакомо, правда? Да, да - это "рабочий стол" Windows 3.1, которая вышла в 1992 году. И даже если вы не из того поколения, у которого сейчас свело олдскулы, вы, я думаю, все равно хоть раз в жизни видели эту ОС (хотя бы на картинке) и не остались к ней равнодушны.

В этой статье мы напишем простенький игрушечный оконный псевдо-менеджер в стиле Windows 3.x. Использовать для этого мы будем Python и стандартную библиотеку Tkinter.

Целью статьи является не создание визуальной копии 3.x, а упрощенная реализация главной фичи Windows, которая и дала ей название - окошек. Стилизованных под 3.x, разумеется.

Читать далее

Технологии древних: ATAPI IDE, часть первая, подготовительная

Level of difficultyHard
Reading time15 min
Views9.9K

Однажды я захотел себе сделать PC уровня не старше первого Pentium для DOS и WIN9x игр. Причём, я хотел это организовать не как ещё один огромный ящик на столе, а в формате обычной приставки к телевизору. Я нашел материнскую плату формата Baby‑AT так называемую Super7, это материнская плата для Socket-7 на стероидах: у неё память уже SDRAM, есть AGP и большой кеш второго уровня. Нашёл корпус для mITX, куда Baby‑AT может быть размещена и, самое главное, блок питания там PicoPSU, что позволяет использовать стандартный блок питания от ноутбука. В качестве HDD я использовал IDE SSD, которые достаточно дешёвые. Пока испытывал эту связку на столе я использовал IDE ATAPI привод оптических дисков. Всё работало прекрасно. Только вот в маленьком корпусе mITX нет места для 5,25» привода, а привод нужен, ибо даже для DOS игры были с поддержкой CD, не говоря за WI9x. И вот тут я понял — пора делать свой IDE ATAPI эмулятор оптических дисков, компактный и бесшумный. Именно об этом и будет этот небольшой цикл статей, который, я надеюсь, доведу до логического конца. Если интересно — заходите, вместе веселее!

Окунуться в дебри неизведанного

Интеграция Unity Framework для модульного тестирования в IAR Embedded Workbench

Reading time6 min
Views2.2K

Споры о применении модульного тестирования в разработке встраиваемого ПО не утихают, масла в пожар этих споров подливают статьи, иногда появляющиеся на Хабре, такие как Модульное тестирование в Embedded или очередное упоминание не безызвестной и, несомненно хорошей, книги "Test-Driven Development for Embedded C" авторства James W. Grenning. В целом с методологией TDD можно спорить, как и любой инструмент его однозначно стоит применять там, где он уместен. Но вряд ли кто-то будет спорить с тем, что часто во встраиваемом ПО присутствуют модули бизнес-логики или математических вычислений, которые должны подвергаться тестам при рефакторинге или оптимизации и тут уже не важно используете вы TDD целиком или только берете оттуда те принципы, которые лично вы считаете полезными.

Читать далее

Как приручить нейросеть: практический опыт

Reading time5 min
Views47K

Итак, в прошлой статье я уже немного рассказывал о том, что с LLM можно работать и даже построить определенный RAG. Как и обещал, перейдем к практике! :)

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

Читать далее

Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 2 — VueJS3 + Centrifugo с монетизацией приложения

Reading time33 min
Views4.3K

В первой части мы построили бэкенд на FastAPI, Aiogram, Redis и Centrifugo, заложив основу для анонимного чата в Telegram. Теперь пришло время развернуть фронтенд и создать стильный и отзывчивый интерфейс с использованием VueJS 3 в формате Telegram MiniApp.

В этой статье мы:

Разработаем интерактивный UI с фильтрами поиска, анимациями загрузки и real-time чатом.
Настроим мгновенный обмен сообщениями через Centrifugo без лишних запросов к серверу.
Интегрируем монетизацию для заработка на рекламе в приложении.
Выполним деплой на удаленный сервер и подготовим проект к продакшену.

Если вы хотите создать быстрый, удобный и монетизируемый анонимный чат в Telegram, который работает без задержек и перезагрузок, — эта статья для вас!

Читать далее

Information

Rating
Does not participate
Registered
Activity