Pull to refresh
0
0
Send message

Справочник по применению GPU в машинном обучении

Level of difficultyMedium
Reading time35 min
Views6.5K

Это перевод популярного лонгрида Тима Детмерса "Выбор графического процессора для глубокого обучения: мой опыт и советы".

Глубокое обучение (Deep learning, DL) - область с высокими вычислительными требованиями, и выбор графического процессора будет в корне определять ваши возможности в этой сфере. Какие характеристики важны при выборе нового GPU? Оперативная память GPU, ядра, тензорные ядра, кэш? Как сделать экономически эффективный выбор? Мы рассмотрим эти вопросы, заодно разберемся с распространенными заблуждениями, разберемся в характеристиках GPU, дадим советы, которые помогут вам сделать правильный выбор.

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

Как найти проблему с производительностью ВМ на VMware ESXi

Reading time14 min
Views7.2K

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

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

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

VGranite — Софт для преобразователя интерфейсов serial<->ethernet

Level of difficultyMedium
Reading time9 min
Views2.9K

Мы занимаемся сбором данных с ИПУ в многоквартирных домах. Наше предпочтение - проводное подключение. Обычно мы подключаем одинаковые типы счетчиков в один канал - Вода, Газ, Электричество.

Однажды к нам перешел дом, на котором в качестве счетчиков электричества стояли "Меркурий 203.2ТL". Особенность этих счетчиков в том, что они используют в качестве интерфейса опроса - CAN шину. И тут важно уточнить, что именно только CAN шину, ничего более от CAN там нет. То есть, если вы купите преобразователь Ethernet<->CAN по типу USR-CANET200 - работать у вас ничего не будет. Причина в том, что подобные преобразователи используют кадры CAN для общения между устройствами, но разработчики счетчиков "Меркурий 203.2ТL" вертели на своем вертеле все это и просто поставили внутри драйвер CAN<->UART.

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

Скажу честно, мы не любим зависимости, поэтому пошли своим путем. Была приобретена Orangepi Zero, USB<>SerialTTL, TTL<>CAN. Все это было слеплено вместе в один преобразователь Ethernet<>CAN. Сразу скажу, что мы пробовали несколько разных драйверов CAN и на практике они оказались довольно капризными, мы пришли к выводу, что лучше использовать драйвер VD230 с UsbSerialTTL-CH340G.

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

Обеспечение безопасности загрузчика GRUB в Linux

Reading time3 min
Views3.9K


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

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

Читать далее
Total votes 9: ↑7 and ↓2+8
Comments10

Всё что вы хотели знать про ACL в Active Directory

Level of difficultyMedium
Reading time25 min
Views7.5K

В данной статье я постарался максимально полно и глубоко рассказать про построение и внутреннее использование ACL (Access Control List) внутри Active Directory. В этой статье нет рассказов про "null DACL" и "empty DACL" и тому подобного. Если читатель хочет изучить все более простые нюансы использования ACL, то рекомендую почитать другую мою статью или лучше сразу почитать комментарии к моему тестовому коду для этой статьи.

Что будет в этой статье:

- Расскажу про все 22 различных типа ACE, а также разделю их на 4 различных вида;

- Расскажу, почему прав вида "GENERIC" не существует;

- Покажу, как именно флаги из ACCESS_MASK работают при проверках в Active Directory;

- Расскажу почему вы не сможете "сделать RBCD" имея AllExtendedRights на "computer";

- Расскажу и дам ссылку на программу для получения всех "control access rights" (extended rights, validated writes, property sets);

- Покажу, как получить полный список всех атрибутов, связанных control access rights и подчинённых классов для любого объекта в домене;

- Расскажу про каждое "validated write" в отдельности и покажу как можно обойти их контроль;

- Как именно хранятся security descriptors в NTDS.DIT и почему их там мало;

- Дам таблицу для всех "extended access rights" со ссылками на алгоритмы их использования;

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

Как собрать LTE-модем на базе SDR

Level of difficultyHard
Reading time17 min
Views18K
Приветствую всех!
Пожалуй, самой закрытой технологией в пользовательском сегменте является сотовая связь. Очень немногие знают о том, как на самом деле работают телефоны и модемы, отчего им часто приписывают всякие мифические свойства. Как насчёт попробовать запустить полностью открытую реализацию модема стандарта 4G? Именно этим я и предлагаю заняться.



Итак, в сегодняшней статье поговорим о том, как взаимодействовать с мобильной сетью при помощи SDR. Попутно узнаем, какой софт для этого существует, и соберём самый дорогой 4G-модем в истории.

Традиционно будет много интересного.
Читать дальше →
Total votes 96: ↑96 and ↓0+108
Comments22

Kerberos простыми словами

Level of difficultyMedium
Reading time46 min
Views20K

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

Данную статью я написал после того, как сделал собственную библиотеку, генерирующую сообщения протокола Kerberos, а также после того, как я протестировал «стандартный клиент» Kerberos в Windows — набор функций SSPI. Я научился тестировать произвольные конфигурации сервисов при всех возможных видах делегирования. Я нашёл способ, как выполнять пре‑аутентификацию в Windows как с применением имени пользователя и пароля, так и с помощью PKINIT. Я также сделал библиотеку, которая умещает «стандартный» код для запроса к SSPI в 3–5 строк вместо, скажем, 50-ти.

Хотя в названии статьи фигурирует «простыми словами» однако эта статья предполагает, что читатель уже имеет какое‑то представление о Kerberos.

Читать далее
Total votes 18: ↑18 and ↓0+19
Comments19

Практическое руководство по Rust. 4/4

Level of difficultyMedium
Reading time34 min
Views4.3K



Hello world!


Представляю вашему вниманию четвертую и последнюю часть практического руководства по Rust.



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


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

Читать дальше →
Total votes 20: ↑19 and ↓1+25
Comments2

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

Level of difficultyMedium
Reading time54 min
Views87K

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

Публикую шпаргалку по SQL, которая долгое время помогала мне, да и сейчас я периодически в неё заглядываю.

Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.

Здесь есть и примеры довольно сложных запросов с агрегирующими функциями, триггерами, длинными подзапросами, с оконными функциями. Помимо этого, часть примеров посвящена работе с SQL в Python, используя sqlite3, pandas, polars. Этот список запросов с комментариями можно использовать как наглядное пособие для изучения SQL.

Читать далее
Total votes 110: ↑107 and ↓3+119
Comments7

Парсинг, хранение и отображение логов 3-х разных агентов доставки электронной почты. MTA Log Parser

Reading time3 min
Views4.1K

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

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

OpenSource NTA для безопасника

Reading time8 min
Views13K

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

Уже многое было рассказано об анализе сетевого трафика, например с помощью suricata или snort, но что делать, если контекста алертов IDS\IPS все еще не хватает для полноценного анализа?

Под катом - обзор opensource NTA – Arkime (в прошлом Moloch) и разбор нескольких кейсов.

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

MacOS Monterey на Linux — быстро и просто?

Level of difficultyEasy
Reading time3 min
Views44K
Что делать, если у вас возникло желание или необходимость заняться разработкой под MacOS или iOS, но под рукой нет макбука, а покупать его только чтобы открыть Xcode кажется делом сомнительным? Недавно я столкнулся с такой проблемой в одном из своих пет-проектов и решил ее достаточно просто и быстро. После выполнения нескольких достаточно примитивных шагов, мне удалось запустить MacOS Monterey как на скриншоте ниже.

image

Никакого Virtualbox, никакого Virtual Machine Manager. Из требований — только 100 Гб свободного места на диске и хотя бы 16 Гб оперативной памяти. В рунете я встречал описание похожих путей установки, вроде Docker-OSX или Sosumi. Но я бы хотел поделиться способом, который позволяет использовать актуальную версию MacOS (Sosumi — сразу минус) и не потратить уйму свободного времени на возню с конфигами и терминалом. Поехали.
Читать дальше →
Total votes 68: ↑64 and ↓4+75
Comments67

Фотонный компьютер — шанс увеличить скорость обработки не квантовых задач в 100000 раз в ближайшее время

Reading time8 min
Views16K

В 2018 году незаметно прошла новость о том, что российские ученые запатентовали идею фотонного компьютера. В основе лежат патенты Полуэктова А.О. и Степаненко С.А. В 2021 году в докладе Сергея Степаненко  было заявлено, что при наличии квалифицированных кадров и 300-400 человеко лет, цель создания фотонного компьютера может быть достигнута. Предлагаю стенограмму доклада.

Читать далее
Total votes 26: ↑23 and ↓3+26
Comments39

Онлайн-сервер для NFS Underground 2 своими руками. Часть 1

Reading time11 min
Views16K

Привет, Хабр! Спустя 13 лет я решил рассказать как однажды начал писать dedicated-сервер для игры NFS Underground 2, как решил возродить функционал оригинального онлайн-сервера, закрытого ещё в 2007 году, и как получилось, что это всё ещё WIP, несмотря на килотонны написанного кода и сотни часов, проведённых в реверс-инжиниринге.

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

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

Инструкция: как расширить файловую систему в Linux. Часть 1

Reading time9 min
Views52K
image

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

Материал будет интересен начинающим системным администраторам, а также разработчикам, которые хотят ближе познакомиться с файловыми системами.
Читать дальше →
Total votes 12: ↑8 and ↓4+5
Comments5

Функции в скриптах Роутер ОС Микротик. Интересные решения и недокументированные возможности

Reading time32 min
Views20K
Роутер ОС Микротик, как известно, имеет мощнейший LUA-подобный встроенный скриптовый язык, позволяющий осуществлять исполнение сценариев, в том числе при наступлении каких-либо событий в сети или по расписанию. Скрипты могут состоять из одной строки кода или иметь внушительные размеры, при передаче управления друг другу формируя сложные программы. Встроенный скриптовый язык существенно расширяет возможности системы, практически не ограничивая полет фантазии программиста. Существующее официальное руководство по скриптам написано кратко и, разумеется, не может охватить все особенности программирования для Роутер ОС.

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

Перед прочтением статьи, пользователям, начинающим изучать скрипты, рекомендую ознакомиться с официальным руководством Микротик по скриптам по ссылке выше, либо с его переводом (например, здесь). Следует знать типы переменных в скриптах Микротик, иметь понятие об областях видимости, окружении переменных и т.д… Также будет весьма полезна статья habr.com/ru/post/270719, в которой автор подробно разбирает типы переменных LUA Микротик и варианты их объявления и использования.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments0

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 1 — теория)

Reading time6 min
Views32K

В статье рассмотрено понятие «соединение» для TCP и UDP протоколов в ядре операционной системы Linux на примере работы оборудования MikroTik. Дополнительно рассматриваются особенности работы технологии NAT в указанном контексте. Материалы носят в основном теоретический характер и предназначены для людей, тонко настраивающих Firewall, Qos и маршрутизацию, где им придётся непосредственно работать с рассматриваемыми connections.

В этой части статьи подробно описана сущность сетевого соединения глазами ядра маршрутизатора. В практической части закрепим информацию в результате рассмотрения работы прикладного протокола DNS через подсистемы RouterOS. В заключительной части речь пойдёт о диаграмме потока пакетов, при работе с которой важно понимать сущность рассматриваемого сетевого соединения, а также о не документированной в явном виде особенности работы NAT. Материала достаточно много, и чтобы читатель не потерял смысловую нить к концу статьи, она разделена на 3 части: теория, практика и особенность NAT.
Цикл статей не предназначен для новичков и может их только запутать. Полагаю, что читатель хорошо знаком с предметом разговора.
Читать дальше →
Total votes 34: ↑29 and ↓5+39
Comments44

Как распутать уроборос роутинга в Linux

Reading time7 min
Views13K
image

Описание проблемы


Ситуация: у нас имеется один интерфейс eth0, «смотрящий» в интернет, с IP-адресом 192.168.11.11/24 и шлюзом 192.168.11.1. Нам нужно организовать интерфейс vpn0, который будет через VPN соединяться с неким сервером, и весь исходящий с этой машины трафик должен идти через этот интерфейс vpn0.

Примечание: я оставляю за скобками детали работы с IPv6, поскольку там хватает своих особенностей. Рассматривается только ситуация с IPv4.

Итак, мы берём в руки программу для подключения в VPN-у — она соединяется с неким VPN-сервером по адресу 10.10.10.10 и поднимает нам интерфейс vpn0 например с таким адресом: 192.168.120.10/24, шлюз 192.168.120.1. Казалось бы, всё хорошо, пинги через vpn0 ходят, коннект есть, он стабильный, осталось только прописать нечто вроде

ip route add default dev vpn0 metric 1000

чтобы перенаправить все соединения через новый интерфейс и…

И всё благополучно падает. Пропадает интернет, отваливается VPN, отключается ssh (если вы по нему подключены к хосту). Если приложение VPN-а не выключит интерфейс при потере соединения, то извне вы до этого хоста до ребута больше не подсоединитесь.

Что случилось?
Total votes 22: ↑22 and ↓0+22
Comments15

Рутокен VPN в opensource – для кого, зачем и почему?

Reading time6 min
Views7.2K

Не так давно Компания «Актив» предоставила в открытый доступ на GitHub исходный код версии продукта Рутокен VPN Community Edition. В этой статье мы хотим рассказать зачем и для кого мы это сделали, как можно воспользоваться исходным кодом, и чего ожидаем в результате от сообщества разработчиков.

Зачем нужен еще один VPN? 

Как известно, события последних полутора лет стимулировали развитие рынка VPN, и сегодня он переживает эпоху роста. Конкуренция на этом рынке значительная, цены на услуги растут. Одновременно Россия в 2021 году остается в десятке топ-потребителей VPN сервисов, т.е. спрос на рынке присутствует.  

Создавая Рутокен VPN, основной «фишкой» мы решили сделать ориентацию на малый и средний бизнес, т.е. на компании, которые, вероятно, не имеют в штате постоянного и высококвалифицированного системного администратора. Именно для таких компаний мы сделали версию продукта Рутокен VPN, которая упрощает настройку VPN-сервера и клиента. Кроме того, нашей целью было предоставить разработчикам возможность развивать интересный и востребованный продукт, совершенствовать свои навыки, получая таким образом бесценный опыт и дополнительные очки к своему CV. Не скроем также, что заинтересованы и в советах участников профессионального сообщества по улучшению Рутокен VPN, которым будем максимально рады. 

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

Information

Rating
Does not participate
Registered
Activity