Search
Write a publication
Pull to refresh
78
0
Роман @RomeoGolf

инженер-программист

Send message

Затолкаем, братцы!!! UART Lite через PCIe прямиком в Linux: драйвер за вечер (почти)

Level of difficultyMedium
Reading time20 min
Views10K

Что если можно было бы подключить своё AXI-устройство на FPGA к Linux через PCIe за вечер? В этой статье рассказываю, как написать драйвер для UARTLite через XDMA, собрать свою TTY и начать работать с GPS прямо из терминала!

Залетай, что смотришь....

«Кипячение» кальциевых аккумуляторов — нельзя или нужно?

Level of difficultyEasy
Reading time13 min
Views11K


Привет, Хабр! Подавляющее большинство современных автомобильных аккумуляторов кальциевые, про которые существует расхожий миф, будто бы дозаряд при напряжении выше 15.5, 15.0 или даже 14.7 вольт действует на них губительно.

Сегодня мы исследуем этот вопрос опытным путём.
Читать дальше →

ХрюХрюКар v.2 или как я использую Go для защиты своего двора

Level of difficultyEasy
Reading time7 min
Views15K

Почти год назад я писал про ХрюХрюКар. Это экспериментальный проект, который проработал 7 месяцев в городе Балаково Саратовской области. За это время мы «поймали» около тысячи автомобилистов, разместивших свои авто на зеленых зонах, детских/спортивных площадках и тротуарах.

В этой статье я расскажу про совершенно новую версию ХХК, которую я написал на Go. Ну и отдам сообществу все исходники проекта.

Припарковаться правильно

RAII 2.0: RAII как архитектурный инструмент в C++

Level of difficultyMedium
Reading time7 min
Views5.3K

Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы?

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

Читать далее

Покоряем сетевой стек Linux: декапсулируем пакеты с помощью eBPF на скорости 6Mpps+

Reading time15 min
Views14K

Когда переход на VXLAN в облачных сетях грозил нарушить работу системы анализа трафика, нам нужно было найти решение, позволяющее сохранить точный сбор статистики при экстремальных нагрузках и измененной структуре заголовков пакетов. Я — Александр Шишебаров, старший разработчик в команде сетевых функций облака Selectel. Разрабатываю все, что связано с сетью: балансировщики, виртуальные роутеры, сети, глобальный роутер и так далее.

В этой статье рассказываю о том, как мы использовали eBPF для перехвата и декапсуляции VXLAN-пакетов прямо в ядре, обеспечив корректный сбор статистики без значительных изменений в архитектуре системы. Разберем, какие требования привели нас к этому решению, как его внедряли и каких результатов удалось достичь. Также расскажу, что такое eBPF, как работает технология, как начать с ней работать и на каких этапах сетевого стека Linux можно перехватывать пакеты с ее помощью. Подробности под катом!
Читать дальше →

Автомобильная сигнализация на ESP32 + GSP + GSM и BLE метки для аутентификаци

Level of difficultyEasy
Reading time4 min
Views9K

Понадобился специфичный вариант "сигнализации в машину". Можно было использовать сочетания покупного иммобилайзера и GPS трекера (делал так). Но, захотелось сделать свое, адаптированное под мои хотелки. Делал исходя из "а почему бы и нет". Однако, с практическим применением (поставил в машину).

Все что хотел из функциональности - сделал.

Хотел бы поделится опытом не очевидных проблем "на пути".

Читать далее

Как написать приложение на JavaFX: гид для начинающих

Reading time11 min
Views6.3K

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

Читать далее

Как легко получить отрицательное напряжение для питания ОУ?

Level of difficultyEasy
Reading time3 min
Views9.2K

Простая схема получения отрицательного напряжения для вспомогательного питания на одном P канальном транзисторе и индуктивности.

Читать далее

Собираем и запускаем минимальное ядро Linux

Level of difficultyHard
Reading time9 min
Views15K

Однажды на работе техлид порекомендовал мне проштудировать книгу Understanding the Linux Kernel Бове и Чезати. В ней рассмотрена версия Linux 2.6, сильно не дотягивающая до более современной версии 6.0. Но в ней явно ещё много ценной информации. Книга толстая, поэтому на её изучение мне потребовалось немало времени. Занимаясь по ней, я решил настроить такую среду разработки, в которой я мог бы просматривать и изменять новейшую версию ядра Linux — чтобы было ещё интереснее.

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

Читать далее

Восстанавливаем повреждённый Linux через chroot

Reading time4 min
Views9.7K

Доводилось ли вам раскупоривать системник с Linux, который не грузится ни в какую – даже  после того, как вы убедились в корректности настроек BIOS и в том, что никаких серьёзных аппаратных ошибок в машине нет?

Если да – то вам просто необходимо изучить chroot. Он станет для вас настоящей палочкой-выручалочкой.

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

Этот метод я нащупал только после того, как Linux более десяти лет был моей рабочей лошадкой (спасибо, Мэтт !). Поэтому у меня есть основания полагать, что этот метод очень полезен и заслуживает вашего внимания. Надеюсь, этим постом мне удастся помочь тем, кому не доставало такого рассказа.

Читать далее

Черный ящик с мозгами внутри: простое введение в нейросети

Level of difficultyMedium
Reading time6 min
Views10K

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

Читать далее

Хеш-таблица и C++20

Level of difficultyHard
Reading time6 min
Views7.7K

Рассматриваем различные «приколюхи» из C++20 на примере хеш‑мапы!

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

Читать далее статьи от @SEIka69

Обслуживаем «необслуживаемое»: автомобильный аккумулятор без доступа к электролиту

Level of difficultyEasy
Reading time9 min
Views24K


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

Но что делать, если производители аккумуляторной батареи не предусмотрели доступа к пробкам? Именно таких необслуживаемых АКБ сегодня очень много.

Выход есть, и сегодня я о нём расскажу.
Читать дальше →

Как поднять персональный VPN

Level of difficultyEasy
Reading time3 min
Views19K

Как поднять свой VPN?


Зачем я вообще решил сделать свой VPN? 1. Я хочу быть уверен, что никто не пишет логи и не знает куда и что я отправил. 2. Я могу пользоваться ВПН без ограничений на количество устройств, скорости и объема траффика. 3. Если скинуться группой, то выйдет дешевле.

Что же, приступим к запуску персонального VPN. Расскажу как это делал я:

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

9 правил из ИТ которые помогают мне в жизни

Level of difficultyEasy
Reading time6 min
Views12K

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

И нет, я тут не буду писать про «как мы ставим друг другу задачи в Jira на помыть посуду или погулять с собакой». Речь скорее про принятие решений или использование привычек, приобретенных за время работы в IT сфере. Это сугубо мой опыт и ИМХО конечно, если покажется не релевантным – дизлайк доступен, комменты тоже (лучше комменты :)).

 

Правило 1. Стоимость владения надо учитывать.

У опытного ИТ директора в "библии" или в "букваре" черным по белому написано: "У любой системы\оборудования\технологии есть стоимость владения". Если вы внедряете систему или онбордите технологию, то для того, чтобы учитывать в бюджете её стоимость, нужно закладывать не только стоимость изначальной покупки, но и стоимость владения технологией ежегодно. В неё обычно входят затраты на обслуживание, поддержку, обновления и подобное.

Чем помогает в жизни:

В жизни мы почему то про этот принцип забываем. А ведь тут то же самое:

Умеете водить машину - надо регулярно водить иначе забудете как

Знаете английский – на нём надо регулярно разговаривать

Знаете C++, но не писали на нём код 3-5 лет… у меня для вас много новостей.

Ну и так далее. Только в отличие от компании у нас бюджет один – время, и он очень ограничен. Так что как пели в старой песне "Думайте сами, решайте сами, иметь или не иметь".

 

Правило 2. Все ключевые элементы инфраструктуры должны иметь минимум 2-кратное резервирование

Читать далее

Зачем Трамп начал торговую войну: разбираем все объяснения причин ввода тарифов

Level of difficultyEasy
Reading time11 min
Views60K

В прошлую среду Трамп объявил о новых торговых пошлинах против всего мира, и мир этот несколько закачался: всего за 2 дня и рынки акций, и нефть обвалились более чем на 10%. Мнения о том, что происходит и почему, разделились. В этом материале я разобрал все основные версии по поводу того, чего конкретно пытается добиться Трамп.

Читать далее

Народный измеритель ёмкости батареек и аккумуляторов BatteryTest 2

Level of difficultyEasy
Reading time13 min
Views19K

Я завершил разработку новой версии прибора для измерения ёмкости любых батареек и аккумуляторов.

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

Любой желающий может собрать такой прибор из доступных модулей.

Читать далее

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

Reading time3 min
Views4.1K

• От чего зависит продуктивность? 

• Как на нее влияет физиология человека? 

• Что такое shit-детектор и какие еще существуют научные методы? 

В этой статье я постарался интересно и вдумчиво разобраться в том как повысить продуктивность

Читать далее

13 законов разработки ПО

Level of difficultyMedium
Reading time8 min
Views27K

Некоторые из них хорошо известны, другие — достаточно нишевые. Но все они очень полезны разработчикам и менеджерам. Любопытно, какие из них вам известны:

  1. Закон Паркинсона.
  2. Закон Хофштадтера.
  3. Закон Брукса.
  4. Закон Конвея (и обратный закон Конвея).
  5. Закон Каннингема.
  6. Закон Старджона.
  7. Закон Завински.
  8. Закон Хайрама.
  9. Закон Прайса.
  10. Эффект Рингельмана.
  11. Закон Гудхарта.
  12. Закон Гилба.
  13. Закон Мёрфи.

Поехали.
Читать дальше →

Оцифровка аналоговых воспоминаний

Level of difficultyEasy
Reading time6 min
Views3.3K

В 90-е годы прошлого тысячелетия в стране начался бум домашнего видео. Камеры из разделов научной фантастики и редких любителей киносъемки вошли почти в каждый дом. «Я всегда с собой беру ви-идеокамеру!» — пели в заставке популярной телепрограммы.

На видео снимали детские утренники, последние звонки и многочисленные домашние застолья. Всё это потом переписывалось на кассеты для домашнего видеомагнитофона и выстраивалось в шкафу многотомной видеотекой с яркими обложками SKC, JVS и прочими ECP. Однако практически никогда эти записи потом никто так и не пересматривал.

Читать далее

Information

Rating
3,737-th
Location
Свердловская обл., Россия
Date of birth
Registered
Activity