Search
Write a publication
Pull to refresh
30
0
Сергей Сахно @Punk_Joker

Software engineer

Send message

Мой MikroTik – моя цифровая крепость (часть 4)

Reading time11 min
Views37K

Статья является продолжением первой, второй и третьей частей, посвящённых организации практической безопасности сетей, построенных на оборудовании MikroTik. Ранее были рассмотрены общие рекомендации, безопасность уровней L1, L2 и L3, реализация централизованного логирования. Настало время поговорить про развёртывание IDS и её интеграцию в инфраструктуру RouterOS.
Читать дальше →

Дебажим U-boot на реальном железе

Reading time6 min
Views16K

Продолжение предыдущей статьи, в которой мы ускорили разработку под embedded linux. Рабочая станция + sftp сервер + nfs сервер ускорили на порядок (10х) доставку изменений кода на целевое железо. Теперь не нужно часами компилировать код. В этой статье продолжаем очеловечивать разработку. На этот раз прикручиваем полноценную графическую IDE и пошаговую отладку кода на целевом железе с помощью программатора J-Link. Но пока только загрузчика U-boot. И автоматизируем развертывание рабочей среды разработчика с помощью Docker.

Читать далее

Распределенная общая память (DSM — Distributed Shared Memory)

Reading time10 min
Views9K

В настоящее время большинство высокопроизводительных вычислений мигрируют в сторону кластерных систем, а для них невозможно получить по настоящему высокую производительность без быстрого доступа к распределенным данным. Данная статья посвящена описанию устройства распределенной общей памяти (DSA) с малой латентностью.

Читать далее

КОМПАС-3D под FreeBSD в среде Wine на видеокарте nVidia

Reading time4 min
Views11K

Данный пост можно рассматривать как дополнение к "КОМПАС-3D и Linux → Часть 1"

Небольшое отступление.

К фрюхе я неравнодушен давно, года с 1996-го, но использовал её ранее только как серверную ОС. О том, что бы установить FreeBSD на рабочий ноутбук, как -то даже и мысли не возникало. Но времена меняются. С месяц назад я просто почувствовал, что пора... пора расстаться с этим недоразумением под названием Windows и накатил FreeBSD 13.0 на свой рабочий ASUS VX7. Почему не Linux ? Потому, что фрюха - это наше все! О том, как проходил процесс пуско-наладки FreeBSD на отдельно взятом ноутбуке можно написать не один пост, но сейчас вопрос не об этом.

Дело в том, что мне по долгу службы часто приходится иметь дело с 3D моделями, для этой цели пару лет назад была приобретена сетевая лицензия на КОМПАС-3D, а так же оформлена подписка на Fusion 360. После перехода на фрю, оба этих инструмента мне стали недоступны и я вынужден был использовать FreeCAD. К сожалению, приходится констатировать факт - FreeCAD урод от рождения, пользоваться им можно, но крайне тяжело. Это вынудило меня потратить некоторое время на поиски альтернативного решения, а именно - как заставить Fusion 360 или КОМПАС-3D работать под FreeBSD в среде Wine.

Читать далее

Разбираем редкого зверя от Nvidia — DGX A100

Reading time7 min
Views40K

Крупные IT-компании располагают дорогими «игрушками», которые скрыты от взоров большинства пользователей. Сегодня мы приоткроем завесу тайны и расскажем про систему, которая оптимизирована для работы с искусственным интеллектом.

Задачи ИИ предъявляют высокие требования к вычислительным и сетевым ресурсам, поэтому наш сегодняшний «гость» приятно порадует своей конфигурацией. Встречайте: NVIDIA DGX A100.
Читать дальше →

Энтерпрайзные проекты убили профессию разработчика

Reading time7 min
Views9.2K


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


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


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

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

Работа с СОМ-портом на Си в linux

Reading time18 min
Views88K
Телетайп, на который БЭВМ могли выводить и получать данные. Фото взято здесь.

Каждый, кто постоянно занимается электроникой и программирует встраиваемые устройства, неизбежно сталкивается с необходимостью работы с СОМ-портом под линуксом. Недаром, моя статья "UART и с чем его едят" спустя 11 лет после выпуска набирает просмотры и комментарии.

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

Поэтому умение работать с СОМ-портами в linux особенно важно. И вот, казалось бы, UART, древнейший интерфейс, всё должно быть известно и понятно, и даже опытные программисты ломают зубы, работая с ним в линуксе. Особенный цирк с конями начинается при работе с передачей сырых данных по RS-485. Не знаю ни одного программиста, который бы не хватил горя при разработке ПО для таких решений. Самое забавное, что с более новомодным i2c работать в линуксе куда проще и понятнее, чем с ортодоксальным UART. Чтобы не было путаницы дальше, всё семейство UART (RS-232, RS-485, UART 5V, UART 3,3 и т.д.) по тексту я буду называть COM-порт или UART. Мы говорим в статье не о физическом интерфейсе, а о программной стороне вопроса.

В этой статье я хочу показать, как писать свои программы, работающие с UART в ОС Linux. И неважно на каком языке вы пишете программу для работы с UART (python, c, c++, bash, php, perl и т.д.), принцип работы и грабли будут одни и те же, так как всё равно всё упирается в системные вызовы к ядру. А непонимание того, что там происходит и приводит к различным трудноуловимым багам.
Читать дальше →

Как автоматизировано защитить Mikrotik от несанкционированного доступа через API, порт 8728

Reading time3 min
Views8.1K
Если вы используете на своём маршрутизаторе службу HotSpot и управляете сетью с помощью удаленного сервера, через API, то эта статья будет вам интересна.

Обычно, для запрета доступа через определенные порты, открывают меню IP → Services и отключают нужный порт, путем выделения нужной строки, двойным кликом и нажатия кнопки «Disable». Как показано на рисунках ниже.
Читать дальше →

Почти детективная история одной «кровавой» ошибки

Reading time2 min
Views8.7K


Дополнение статьи «Размещение кучи FreeRTOS в разделе CCMRAM для STM32», и в продолжение серии статей про различные полезности для STM32 (1, 2 и 3), хочу обратить внимание на одну особенность работы с CCM RAM памятью, которая может быть причиной совершенно не очевидных ошибок в работе устройств, одна из которых выпила у автора достаточно много крови, так что с чистой совестью её действительно можно назвать «кровавой».

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

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

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

Как написать FizzBuzz на собеседовании

Reading time31 min
Views59K

Здравствуй, Хабр.


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

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

С чего начать постройку дрона-дирижабля

Reading time4 min
Views14K

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

Читать далее

Мелкодисперсная пыль, выделяемая при работе 3D-принтеров (перевод)

Reading time17 min
Views7K

Уважаемые читатели сообщества! Уже долгое время стоит вопрос о выделяемых летучих веществах в процессе 3D-печати и возможном пагубном их воздействии на пользователей аддитивных устройств, находящихся непосредственно вблизи рабочей зоны. Довольно много дискуссий по этому поводу было на различных форумах ([1], [2], [3], [4]) и изложено в статьях ([5], [6]). Проводились исследования, подтверждающие как полную безвредность некоторых марок филаментов (как например, [5]), так и совершенно противоположную точку зрения (например, [6], русскоязычный перевод [7]). Чтобы наконец положить конец этим разногласиям, дать обоснованный ответ, подтверждённый экспериментальными и вычислительными данными, пришлось обратиться к относительно давнему зарубежному изданию, опубликованным командой исследователей во главе с профессором Иллинойского университета Брентом Стеффенсом из открытого источника Atmospheric Environment [8]. Перевод данной статьи публикуется с согласия автора. Спасибо за внимание и отклик!

Читать далее

Многоканальный имитатор сигнала GPS на RFSoC

Reading time6 min
Views15K

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

Читать далее

Интересные проекты на Raspberry Pi: от счетчика Гейгера до коммерческих серверов

Reading time4 min
Views37K

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

Сегодня предлагаем поговорить об интересных проектах, основа которых — «малинка». Количество таких разработок просто зашкаливает, так что для того, чтобы охватить хотя бы небольшую их часть, придется писать несколько томов. Вместо этого мы составили субъективную подборку проектов, каждый из которых чем-то выделяется из ряда себе подобных. В общем, поехали!
Читать дальше →

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

Reading time13 min
Views24K

... и точно. Точнее, с заданной точностью, простите за каламбур.

Под катом я расскажу, как сделать это с использованием школьного курса алгебры и целочисленной арифметики, при чём здесь полиномы Чебышёва I-го рода, и дам ссылки на примеры реализаций для ПК и Cortex-M3.

Читать далее

Бекап макбуков на удаленный сервер Time Machine для путешественников

Reading time4 min
Views15K

У меня есть рабочий макбук и я часто путешествую. Я боюсь потерять данные на нем, поэтому я делаю бекапы через родную Time Machine на удаленный сервер. Для этого я поднял в офисе сервер SMB, который всегда доступен через VPN.

Проблема: если включить автоматический бекап в Time Machine, система будет постоянно бекапится даже через тонкий мобильный интернет в самолете, мешая работать, исчерпав весь канал.

Решение: я написал скрипт Time Machine Traveler, который проверяет скорость доступа к SMB шаре и запускает бекап только если качество соединения высокое.

Читать далее

Самодельный стратостат. Часть 2

Reading time20 min
Views18K

Vostok-3b view


Long, long time ago… Нет, не так. 4 месяца назад я рассказал вам, как из клея и резиновых сапог создать с нуля свой стратостат с телеметрическим модулем и видеокамерой. Я так же описал наш опыт запуска и поиска этого метеозонда, обозначив несколько возникших проблем. Что ж. Мы анализировали, анализировали и доанализировались до четвертого шара. И сейчас я расскажу вам, что произошло за это время, почему он четвертый, и где пропавшие два. Эта часть будет менее технической, т.к. изменений конструкции почти не было, но те что были — имеют значение. Если вы вне контекста, то эту часть советую читать только после прочтения первой (хотя бы технических разделов). Ссылка на первую часть ниже. Будет много фото, видео и графиков. Поехали?

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

Быстрый, мощный интерфейс на Python

Reading time15 min
Views153K

Dear PyGui принципиально отличается от других фреймворков GUI Python. Рендеринг на GPU, более 70 виджетов, встроенная поддержка асинхронности — это лишь некоторые возможности Dear PyGui. Руководством по работе с этим пакетом делимся к старту курса по разработке на Python.

Читать далее

Мой MikroTik – моя цифровая крепость (часть 1)

Reading time10 min
Views140K
В статье рассмотрены различные подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik, в том числе при помощи дополнительного открытого программного обеспечения, расширяющего имеющиеся штатные возможности, что в комплексе позволяет качественно администрировать сетевые средства, а также своевременно реагировать на различные угрозы информационной безопасности.
Читать дальше →

Опыт работы со смартфоном PinePhone: модульный телефон без сервисов Google

Reading time5 min
Views50K
image

Прошлым летом, во время распространения коронавируса по городам и весям, я почти все время сидел дома. У меня появилось много свободного времени, так что, наконец, получилось заняться давно запланированным обзором PinePhone. Напомню, что это смартфон с ОС Linux, а не Android.

Он интересен не только операционной системой, но и отсутствием сервисов Google. Я видел предупреждения о том, что телефон все еще может считаться тестовым девайсом, но решил, что смогу преодолеть все препятствия. Спустя год мне действительно удалось это сделать — сейчас это устройство, которое вполне можно использовать в качестве альтернативы телефонам на Android. Конфиденциальность данных для меня в приоритете, несмотря на то, что взамен пришлось пожертвовать некоторыми функциональными возможностями.
Читать дальше →

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity