Pull to refresh
0
0
Send message

Настраиваем свой почтовый сервер в docker-compose

Reading time7 min
Views54K


Недавно мне потребовалось собрать свой почтовый сервер. В принципе, дело-то простое. Берёшь и ставишь сервер. Postfix, dovecot, letsencrypt, roundcube, spamassasin, clamav. Всё это — уже известные дела. Колея проторена. Иди и делай.

Но мне нужно было наплодить этих серверов. И я подумал, а почему бы не настроить всё на контейнерах? Такое можно сделать. Для этого надо скачать все вышеописанные контейнеры и написать .env файл века с более чем сотней разных параметров. Ну и, конечно же, сконфигурировать nginx. Там всё просто. С полдесятка хостов, и система заработает.

Я тяжело вздохнул и решил, что наверняка есть решение попроще. И оно нашлось. Mailu. Всё просто и из коробки, но всё-таки и в нём есть свои подводные мины.

Под катом — подробности того, как установить Mailu без боли и проблем, а также описание компонентов и рассказ о том, что и как можно менять и использовать.
Читать дальше →

Греческая мифология и астрономия

Reading time14 min
Views20K
image

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

Казалось бы, нет суровее науки. В ней не может быть никаких «ученым показалось…» или «ученые думают, что…» — ученые теперь лишь публикуют 100 раз проверенные данные и 100500 раз перепроверенные выводы из этих данных.

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

Но есть у астрономии одно удивительное свойство, которого нет ни у какой другой точной или естественной науки.

Астрономия насквозь мифологична.

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

Цивилизация — это рост продолжительности жизни, а не экономики

Reading time7 min
Views12K

Как часто в новостях приходится слышать или читать рассуждения, о повышении эффективности образования или здравоохранения в значении сокращения расходов на человека в денежном измерении? Даже противники такого подхода не выходят за рамки монетарной парадигмы оценки человеческих потребностей. Однажды резанула глаза фраза «Игнорирование проблемы приведёт к ещё более высоким расходам государства на здравоохранение».

Тут два в одном: во-первых, критерием хорошо/плохо в государстве не должны быть деньги, тем более в здравоохранении. Результативность государственной политики должна измеряться в попугаях, то есть — человеках: в продолжительности жизни, смертности, человекочасах. И во-вторых, здравоохранение — это не «расходы», словно это не главная, но обязательная ноша, а финансирование. Деньги не за что-то (так и быть, человечек, заплатим за ваши болячки), а на что-то — на обеспечение здоровой долгой жизни.

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

Недорасшифрованные письменности Крита, Кипра и филистимлян. Часть 1: Прорыв

Reading time14 min
Views13K

Текст написан иностранным агентом – лицом, проживающим за пределами России (в Канаде). Иллюстрации взяты из открытых источников - если не указано иное, из Википедии.

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

Это хорошо видно на примере изучения древних письменностей острова Крит, из которых была дешифрована только одна – наиболее позднее Линейное письмо В (и то не до конца). Что же касается более ранних надписей, то тут есть многочисленные нюансы…

Читать далее

Простейший вариант поиска пути: объяснение на Python

Reading time8 min
Views32K

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

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

В этом руководстве рассмотрен простейший алгоритм поиска пути, основанный на алгоритме Дейкстры. Этот алгоритм также известен под названием поиск по первому наилучшему совпадению, ключевая логика у него общая со многими другими алгоритмами, например, A*, заливка методом наводнения и диаграммы Вороного.

Здесь мы рассмотрим практическое применение этого алгоритма. Вам понадобятся базовые знания программирования и языка Python.

Читать далее

Теорема Байеса: просто о сложном

Reading time8 min
Views66K

В этой статье мы рассказываем об основах и применении одного из самых мощных законов статистики - теоремы Байеса. 

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

Мы также покажем истинную силу байесовских рассуждений и как несколько байесовских вычислений можно объединить в цепочку, чтобы вычислить общую апостериорную вероятность.

Читать далее

Что необходимо знать, чтобы написать свою Embedded RTOS (часть 1)

Reading time22 min
Views13K

Хотел бы написать небольшой цикл статей посвященных тому, как я написал свою RTOS с какими трудностями столкнулся и зачем вообще писать свою RTOS если уже есть FreeRTOS, RTX, embOS и т.д. список достаточно большой.

Начнем с того, что по мере работы я сталкивался с тем, что часть разработчиков (и я в том числе когда-то и сам) относятся к RTOS как к некоторому черному магическому ящику, мол что-то там происходит как-то все это работает и лучше туда не лесть, а то поломается ящик и проекту «ХАНА». И все хорошо пока хорошо, но как только появляются проблемы, то начинаются бессонные ночи с отладчиком, сроки по проекту горят, а самое главное и коварное, что ошибки в RTOS отловить крайне сложно. Зачастую они имеют плавающий характер и такие эффекты как переполнение стека, инверсия приоритетов, взаимные блокировки, и все, что связанное со средствами синхронизации отладить крайне сложно.

Cо всем этим я решил разобраться в корне, и чисто в академичесеких целях начал писать свою RTOS, чтобы так сказать прочувствовать все изнутри.

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

При написании RTOS, я осознанно отказался от поддержки проприетарных архитектур как AVR, PIC и мой выбор пал на семействе CORTEX, поскольку cortex-mX, на сегодня самая распространенная архитектура в Embedded.

Читать далее

Как пирамида Пола Грэма помогает отделять конструктивный фидбэк от токсичных комментариев

Reading time4 min
Views23K

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

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

Пирамида аргументации Грэма, описанная им в эссе «Искусство возражать» — хороший инструмент, помогающий вырваться из этого порочного круга. Она четко структурирует возможные варианты критических комментариев – и связывает их с истинными намерениями оппонента. Теперь вы всегда можете идентифицировать "ступень" и понять: стоит ли критика вашего внимания — или это грязь под ногами, которую просто надо перешагнуть.

Читать далее

Бижутерия, которую Вы заслужили (?). Радиоактивное урановое стекло в магазинах для рукодельниц

Reading time16 min
Views56K
Как любят говорить инфоцыгане в электричках «Разрешите к вам обратиться!» Занимаясь вопросами радиоактивности ювелирных камней, я решил провести небольшой «полевой сhallenge» во имя гражданской науки и предложил своим ассистентам провести проверку ассортимента магазинов с различными handicraft товарами (самоцветы, разное декоративное стекло и проч). Внезапно оказалось, что во многих «магазинах бисероплетения» продаются артефакты с мощным потоком бета-излучения (превышение нормы в десятки раз). Я конечно же попытался привлечь к этому факту внимание местных СМИ, контролирующих органов (мы ведь "работаем оперативнее cпецов из МЧС"), владельцев магазинов в конце концов, но, ожидаемо, все имело нулевой эффект. Осталось только поинтересоваться мнением комьюнити хабра на этот счет (хабра-горшочек, вари!). В качестве примера взят Минск, но что-то мне подсказывает, что похожая ситуация может иметь место и в аналогичных магазинах России/Украины. Все подробности исследования под катом.


Знания умножают печали...

Читательская пирамида Кактусоу

Reading time14 min
Views4.5K

Вероятно, тема этой статьи не очень подходит под основную тематику Хабра, но чем чёрт не шутит – всё-таки тут тоже читают книги, и, наверное, будет интересно почитать о том, как эти книги пишутся и воспринимаются «под капотом». Я не претендую на истину, а лишь анализирую собственный опыт нахождения по обе стороны баррикад - как со стороны читателя, так и со стороны автора.

Проверить кроличью нору

Искусственный язык в «Утопии» Томаса Мора

Reading time5 min
Views8.3K

Этот материал посвящён одному вымышленному языку и одной книге, ставшей жемчужиной мировой классики, которую читают вот уже более 500 лет. 1516-й год, святой Томас Мор. «Весьма полезная, а также и занимательная, поистине золотая книжечка о наилучшем устройстве государства и о новом острове Утопия». Попробуем разобраться, что нам известно о языке «Утопии», его связи с латынью и греческим шибболетом и что спрятал в нём гений Томаса Мора.
Читать дальше →

«Интернет в огне»: критическая уязвимость Log4Shell терроризирует онлайн-сервисы

Reading time3 min
Views46K


Критическая уязвимость в Java, в библиотеке log4j, которая используется в тысячах сервисов, начиная от Minecraft и заканчивая Apple Cloud, быстро превращается в серьезную угрозу для организаций по всему миру. Уязвимости подвержены сервера Apple, Valve, Microsoft и других.

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

Технология VPN и как с ее помощью реализовать Zero Trust

Reading time5 min
Views6.9K

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

Однако сейчас иногда и этого недостаточно, и для больше безопасности многие компании стараются придерживаться принципам Zero trust (или сеть с нулевым доверием). Построить такую сеть, оказывается, можно как раз используя технологию VPN.

Читать далее

Установка Kubernetes на домашнем сервере с помощью K3s

Reading time23 min
Views32K

Но зачем


Знаю, о чем вы думаете — Kubernetes? На домашнем сервере? Кто может быть настолько сумасшедшим? Что ж, раньше я согласился бы, однако недавно кое-что изменило мое мнение.


Я начал работать в небольшом стартапе, в котором нет DevOps разработчиков со знанием Kubernetes (в дальнейшем K8s), и даже будучи старым ненавистником K8s из-за его громоздкости, был вынужден признать, что мне не хватает его программного подхода к деплойментам и доступу к подам. Также должен признать, что азарт от укрощения настолько навороченного зверя давно будоражит меня. И вообще, K8s захватывает мир — так что лишние знания не навредят.

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

Скорость света ближе, чем казалось: ученые создали первый пузырь Алькубьерре

Reading time6 min
Views235K


Еще одна технология из Star Trek оказалась больше наукой, чем фантастикой. Ученые под финансированием DARPA создали так называемую «warp bubble» — область пространства, способную расширяться или уменьшаться быстрее скорости света. Об этом сообщает бывший специалист НАСА по варп-двигателям Гарольд Уайт. Это первый настоящий «пузырь варп-движения», созданный в лаборатории. Который, как минимум, подтверждает, что такое возможно. И, по словам Уайта, устанавливает новую перспективу для тех, кто захочет создать первый космический корабль, способный к деформации.

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

Основы HTTPS, TLS, SSL. Создание собственных X.509 сертификатов. Пример настройки TLSv1.2 в Spring Boot

Reading time10 min
Views110K

Привет, Хабр! В современном мире абсолютное большинство сайтов используют HTTPS (Google даже снижает рейтинг сайтов работающих по HTTP в поисковой выдаче), а подключение к различным системам происходит по протоколу TLS/SSL. Поэтому любой разработчик рано или поздно сталкивается с этими технологиями на практике. Данная статья призвана помочь разобраться, если вы совершенно не в курсе что это такое и как оно устроено. Мы разберем как работает соединение по протоколу TLS, как выпустить собственные сертификаты и настроем TLS в Spring Boot приложении. Поехали!

Читать далее

Физика в Python с использованием Pymunk

Reading time6 min
Views35K

Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python.
К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и поймём основы использования библиотеки Pymunk.

В этом туториале вы сможете создать симуляцию тел как на гифке сверху!

Читать далее

Реализации машины в qemu

Reading time5 min
Views8K

В процессе обратной разработки прошивок иногда возникает задача по ее эмуляции, например, для фаззинг тестирования или детального изучения поведения в динамике. На практике обычно для этого хватает фреймворков avatar2, unicorn, qiling и подобных. Однако они поддерживают далеко не все платформы и имеют ряд ограничений для решения таких задач. При разработке эмулятора PLC я столкнулся с тем, что ни один фреймворк для эмуляции не поддерживал требуемую платформу.

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

Читать далее

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

Reading time10 min
Views20K

Меня зовут Андрей Булов. Я простой питерский технарь, архитектор, разработчик, DevOps технический менеджер. Сейчас работаю в Quantori.

Я не буду описывать самоорганизующиеся команды, а расскажу про алгоритм их создания. Это мой личный опыт — я так работаю с командами (их было 30+). Он перекликается с Management 3.0, моделью Херши-Бланшар, LeSS, Sсrum и даже SAFe, а также со многими другими софтовыми областями. И в нем есть конкретика на уровне действий.

Для ленивых: я исследую окружение, проектирую дизайн культуры, объясняю правила и делегирую задачи команде. Я не поддерживаю внедрение самоорганизации через фреймворк. Видео моего выступления об этом на конференции TeamLead Conf 2021 можно посмотреть здесь.

Читать далее

Python: Логируем как профессионалы

Reading time13 min
Views54K

Часто вижу, что помимо обработки исключений, люди мучаются кое с чем еще, а именно с логированием.

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

Читать далее

Information

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