Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение

Переход с iptables на nftables. Краткий справочник

Время на прочтение18 мин
Количество просмотров131K
image

В Debian теперь нет iptables. Во всяком случае, по умолчанию.

Узнал я об этом, когда на Debian 11 ввёл команду iptables и получил “command not found”. Сильно удивился и стал читать документацию. Оказалось, теперь нужно использовать nftables.

Хорошие новости: одна утилита nft заменяет четыре прежних — iptables, ip6tables, ebtables и arptables.

Плохие новости: документация (man nft) содержит больше 3 тысяч строк.

Чтобы вам не пришлось всё это читать, я написал небольшое руководство по переходу с iptables на nftables. Точнее, краткое практическое пособие по основам nftables. Без углубления в теорию и сложные места. С примерами.
Читать дальше →
Всего голосов 126: ↑126 и ↓0+126
Комментарии46

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

Время на прочтение7 мин
Количество просмотров39K

Статья является продолжением первой части, посвящённой организации практической безопасности сетей, построенных на оборудовании MikroTik. До этого уже даны общие рекомендации по настройке оборудования, а также подробно рассмотрены вопросы безопасности L1 и L2 уровней. В текущей части поговорим о настройке протокола Dot1X и работе Firewall.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+40
Комментарии37

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

Время на прочтение10 мин
Количество просмотров127K
В статье рассмотрены различные подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik, в том числе при помощи дополнительного открытого программного обеспечения, расширяющего имеющиеся штатные возможности, что в комплексе позволяет качественно администрировать сетевые средства, а также своевременно реагировать на различные угрозы информационной безопасности.
Читать дальше →
Всего голосов 67: ↑64 и ↓3+85
Комментарии101

Заметки фитохимика 2021. БОРЩЕВИК

Время на прочтение25 мин
Количество просмотров55K
Когда-то давным-давно, после публикации статьи посвященной лампе Вуда (см. gReebok detected. Сам себе дерматовенеролог), я анонсировал «борьбу с борщевиком». Потом периодически то в телеграм-канале, то в патреоне читатели у меня спрашивали на предмет этого ненароком брошенного «бороться». Вот на улице весна и кое-где «главный ворог православного народа» начал показываться из-под земли. А значит, самое время описать свое видение того, а надо ли бороться вообще и только ли с борщевиком.

Если хочется узнать почему петрушка/укроп/лайм/бабушкин фикус не менее токсичны (?) чем борщевик Сосновского, как с помощью компонентов борщевика за пару дней стать негром или вылечить рак и облысение — добро пожаловать под кат!


Памятка по работе с борщевиком
Всего голосов 95: ↑91 и ↓4+118
Комментарии89

Растения I класса опасности. Памятка по идентификации

Время на прочтение15 мин
Количество просмотров170K
Признаю честно, я не собирался сейчас писать заметку, ибо в лавине разномастного хабр-научпопа ботанике с примесью химии конкурировать достаточно сложно. Да и все, кому интересны мои публикации давным-давно координируются телеграм-каналом, а самые активные даже patreon-ируют и влияют на создание контента. Но внезапно, после того, как аннотация заметки в фэйсбуке набрала кучу репостов, я решил вынести ее на Хабр, ибо «Знание-сила». Под катом короткая статья, про растительные сверхтоксины, которые в прямом смысле вокруг нас. Как не крути, а это надо знать всем!

Вторая часть — Токсины растений. User Stories
Третья часть — Ядовитые декоративные растения в саду и огороде. Справочник
Четвертая часть — Опасные «вкусняшки». Ядовитые лесные ягоды. Памятка для детей и взрослых


Определить сверхтоксичное растение!
Всего голосов 132: ↑126 и ↓6+158
Комментарии164

Андрей Карпати: Bitcoin на Python (часть 1)

Время на прочтение21 мин
Количество просмотров17K
image

Андрей Карпати — директор по искусственному интеллекту и Autopilot Vision в Tesla.

Я считаю, что блокчейн — классная штука, потому что он расширяет open source разработку софта до open source + state. Это кажется интересным нововведением в компьютерных парадигмах; Мы не просто делиться кодом, мы можем предоставить общий доступ к работающему компьютеру, и любой человек в любом месте может использовать его открыто и без разрешения. Семена этой революции, возможно, начались с биткойна, поэтому мне стало любопытно вникнуть в него более подробно, чтобы получить интуитивное понимание того, как он работает. И в духе «то, что я не могу создать, я не понимаю», что может быть лучше, чем реализовать биткойна с нуля?

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

(кстати, если визуальный формат этого поста вас раздражает, посмотрите версию jupyter notebook, у которой идентичный контент).

Шаг 1: создание крипто сущности


Для начала мы хотим создать совершенно новую криптографическую сущность, которая представляет собой всего лишь пару ключей: публичный и приватный. Биткойн использует криптографию на эллиптических кривых (Elliptic-Сurve Сryptography, ECC) вместо чего-то более распространенного, например RSA, для защиты транзакций. Я не собираюсь здесь углубляться в ECC, потому что другие проделали значительно лучшую работу, например, я считаю серию постов в блоге Андреа Корбеллини очень полезным ресурсом. Здесь мы просто напишем код, но чтобы понять, почему он работает математически, вам нужно прочитать эти посты.
Читать дальше →
Всего голосов 21: ↑10 и ↓11-1
Комментарии3

SOHO UPS в маленьком корпусе и своими руками. Менее чем за 1500 руб

Время на прочтение6 мин
Количество просмотров62K

Хотите обеспечить бесперебойное питание своим устройствам, но при этом не сильно потратиться? Именно такой своей разработкой я и хотел с вами поделиться.

Все мы переживаем, когда устройства внезапно отключаются «по питанию» и не зря. Большая часть нештатного отключения электроэнергии сопровождается скачками повышенного напряжения, что в свою очередь может привести к поломке оборудования или сбросу настроек. Да, на этот случай различные компании выпускают ИБП, но они достаточно велики и весят как правило не менее нескольких килограмм.

А что если сделать такой источник бесперебойного питания, который можно поставить прямо рядом с защищаемым устройством – лёгкое, компактное, недорогое?
Читать дальше →
Всего голосов 92: ↑90 и ↓2+117
Комментарии172

Чернобыль. ч.3. Терминологическая справка и суть рокового эксперимента

Время на прочтение9 мин
Количество просмотров34K

Автор: Александр Старостин

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

При разговоре об авариях на реакторах РБМК часто упоминается ряд профессиональных терминов, которые ни о чём не говорят человеку, далёкому как минимум от ядерной физики. Однако без их понимания невозможно и объяснение произошедшего в 1975 (!!) и 1986 годах выше уровня обывателя.

Читать далее
Всего голосов 23: ↑19 и ↓4+21
Комментарии24

Вторая жизнь пыльного Андроида

Время на прочтение4 мин
Количество просмотров99K

Три мысли всё не давали мне жить спокойно:

1) есть ноутбук, но для работы нужен второй экран
2) давно мечтаю о пульте управления для Photoshop в дополнение к клавиатуре
3) на полках пылятся устаревшие гаджеты, которые продавать глупо, а выкидывать жалко

Решим одно за счёт другого
Всего голосов 59: ↑58 и ↓1+75
Комментарии94

Как мы с братом алмаз делали

Время на прочтение6 мин
Количество просмотров126K

Наверное кто-то задумывался, а можно ли сварить алмаз «на кухне и/или на коленке». Можно! Я решился рассказать, как мы с братом это делали.

Читать далее
Всего голосов 200: ↑196 и ↓4+258
Комментарии227

SQLite — не игрушка

Время на прочтение7 мин
Количество просмотров82K

Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.

Читать далее
Всего голосов 189: ↑187 и ↓2+235
Комментарии89

Трассировщик лучей с нуля за 100 строчек Python

Время на прочтение16 мин
Количество просмотров24K

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

Примечание: Эта статья ни в коем случае не является полным руководством/объяснением трассировки лучей, поскольку эта тема слишком обширна, а скорее просто введением для любопытствующих.

Читать далее
Всего голосов 31: ↑29 и ↓2+32
Комментарии14

Перегон картинок из Pillow в NumPy/OpenCV всего за два копирования памяти

Время на прочтение7 мин
Количество просмотров11K

Стоп, что? В смысле «всего»? Разве преобразование из одного формата в другой нельзя сделать за одно копирование, а лучше вообще без копирования?

Да, это кажется безумием, но более привычные методы преобразования картинок работают в 1,5-2,5 раза медленнее (если нужен не read-only объект). Сегодня я покопаюсь в кишках обеих библиотек, расскажу почему так получилось и кто виноват. А также покажу финальный результат, который работает так же, только быстрее. Никаких репозиториев или пакетов не будет, только рассказ и рабочий код в конце. Но давайте обо всём по порядку.

Читать далее
Всего голосов 39: ↑39 и ↓0+39
Комментарии13

Microsoft Excel: революционный игровой 3D-движок?

Время на прочтение10 мин
Количество просмотров25K
image

Введение


В самых передовых компьютерных играх используются различные графические подсистемы — так называемые трёхмерные графические движки. Играм и специалистам этой отрасли хорошо известны Source (Half Life 2), Unreal Engine (Unreal Tournament), idTech 4 (Doom 3), CryENGINE2 (Crysis) и Paradox [прим. пер.: оригинал статьи написан в 2008 году].

Настало время узнать имя нового 3D-движка: Microsoft Excel.

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

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

В разделах статьи даже представлены демо-программы и фильмы, созданные при помощи 3D-движка Excel.
Всего голосов 44: ↑43 и ↓1+56
Комментарии23

Обратный поиск изображений: руководство от детективного агентства Bellingcat

Время на прочтение4 мин
Количество просмотров73K

Кадр одного из онлайновых расследований Bellingcat

Международное агентство Bellingcat опубликовало несколько советов по идентификации людей и географических локаций на фотографиях с помощью функции «Поиск изображений» в поисковых системах.

Оказалось, что в этом отношений нет равных российской поисковой системе «Яндекс. Картинки». По одному образцу движок находит фотографии этого лица в совершенно другой обстановке и освещении, что говорит о продвинутом распознавании лиц. У Google и других компаний нет ничего подобного, признают специалисты. Таким образом, «Яндекс» можно назвать безусловным лидером по обратному поиску изображений.

В опубликованном руководстве разъясняются базовые методы онлайн-расследований, с акцентом на идентификацию лиц и адресов.
Читать дальше →
Всего голосов 99: ↑93 и ↓6+123
Комментарии47

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

Время на прочтение8 мин
Количество просмотров27K

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

Правда, в них отсутствует много всяких цифровых штучек. Разные flac и тому подобные форматы. Управление проигрыванием, музыкой и фильмами через телефон или компьютер. Возможность запустить музыку с Youtube, Last.fm или выбрать интернет радио. Удаленное проигрывание медиа через DLNA. Или просто возможность подключить ваш компьютер через Bluetooth и выводить весь звук через большие колонки. Или что там еще напридумывают нам в будущем для облегчения нашей аудиофильской жизни.

Но что нам мешает использовать все эти технологии в старой технике? Да и почему обязательно в старой… У вас есть RCA, miniJack 3.5 или S/PDIF разъем на вашей магнитоле? Тогда мы идем к вам и … И делаем из старого усилителя многофункциональный медиа сервер с помощью Raspberry Pi. Подключаем нашу Raspberry Pi через RCA и обновляем нашу технику до "острия технологической атаки". Не обязательно использовать RCA. Найдите аналоговый или цифровой вход на своей технике и выберите нужную комплектацию вашей Raspberry Pi. Я буду рассматривать вопрос сугубо с практической точки зрения. Как настроить все быстро на Raspberry Pi? Ведь статей профессионалов об особенностях работы той или иной технологии достаточно, чтобы не останавливаться на этом. Я возьму в качестве примера Raspberry Pi и плату для цифровой обработки звука на основе чипа PCM 5102 A .

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии16

Микшерный пульт из USB-звучки и опенсорса

Время на прочтение11 мин
Количество просмотров9K

Иногда у меня, как у звукача аниме/гик фестивалей/конвентов, появляется задача обеспечить звуком небольшой ивент, на площадке которого нет вообще ничего из оборудования. Такие патички довольно лайтовы и располагают к экспериментам. Так, для нашего осеннего опенэйра я выбрал следующий (весьма непривычный) опенсорсный сетап, который в итоге отлично сработал:


  • Колонка 50 Вт
  • Два микрофона
  • Аудиоинтерфейс из серии BEHRINGER U-PHORIA
  • Ноутбук на линуксе
  • Ardour в качестве микшера и хоста плагинов
  • Calf Studio Gear для обработки звука
  • JACK в качестве звукового сервера
  • VLC в качестве основного плеера

Идея делать микшер из простейшего аудиоинтерфейса на опенсорсном софте мне настолько понравилась, что я решил поделиться.


Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии8

Эффективное кеширование. От теории к практике

Время на прочтение13 мин
Количество просмотров69K
image

Как правило, статьи о кешировании начинаются за здравие, а заканчиваются LRU кешем. Попробуем переломить эту тенденцию? Начнем с того, чем LRU плох, а закончим за здравие. Я надеюсь.

Вне зависимости от того, строите ли вы хайлоад сервис для миллионов посетителей или проектируете мобильное приложение, пишите операционную систему или СУБД — ключевое звено, влияющее на конечную стоимость системы и на отзывчивость интерфейса/сервиса — это кеш.
Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии59

Классические задачи Computer Science на языке Python. Обзор книги

Время на прочтение7 мин
Количество просмотров12K
Привет, Хабр!

Одной из самых интересных наших книг по Python в течение уходящего года оставались "Классические задачи Computer Science на языке Python" от Дэвида Копеца.



Для тех, кто еще не успел ознакомиться с этой книгой, предлагаем ее обзор, написанный по оригинальному изданию в октябре 2019 года. Также можно ознакомиться с небольшим обсуждением на Reddit. Также все желающие могут высказаться по поводу допечатки — для этого в конце статьи поставлена голосовалка.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии12

Как увидеть ℼ? Нужно швырнуть ℼ в стену

Время на прочтение2 мин
Количество просмотров48K
Лучший способ объяснить школьникам и самому себе, что такое фазовое (конфигурационное) пространство.

image


Дано: Два блока массой 1 кг и 100 (10 000, 1 000 000,… 100x) кг. Трение в системе отсутствует, удары абсолютно упругие (потерь энергии нет). Более массивный блок ударяет менее массивный и тот отскакивает от него, а потом от стенки слева. Справа стены нет, тела могут двигаться в бесконечность.

Вопрос: Сколько столкновений совершит маленький блок, пока система не придет в состояние, когда столкновения невозможны (скорость маленького тела меньше скорости большого, двигающегося в бесконечность)?

Ответ невероятен:

image


В очередной раз поражаюсь изящности объяснений от 3Blue1Brown. Предлагаю читабельный конспект с небольшими сокращениями и дополнениями.
Всего голосов 163: ↑154 и ↓9+197
Комментарии111

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность