Pull to refresh
0
0
Send message

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

Reading time7 min
Views48K


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

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

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

Под катом — подробности того, как установить Mailu без боли и проблем, а также описание компонентов и рассказ о том, что и как можно менять и использовать.
Читать дальше →
Total votes 18: ↑17 and ↓1+24
Comments23

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

Reading time14 min
Views18K
image

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

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

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

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

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

Читать дальше →
Total votes 36: ↑34 and ↓2+41
Comments10

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

Reading time7 min
Views12K

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

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

Бытующее, упорно возрождающееся при разных режимах представление, что государство — это бухгалтерия, его альфа и омега — это бюджет, и любой рост сумм финансирования — это плохо само по себе — окончательно устарело. Деньги — это не метрика, а инструмент организованного самоуправления цивилизации. Метрикой должно быть другое: качество и продолжительность человеческой жизни.
Читать дальше →
Total votes 44: ↑33 and ↓11+37
Comments283

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

Reading time14 min
Views12K

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

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

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

Читать далее
Total votes 53: ↑52 and ↓1+70
Comments16

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

Reading time8 min
Views29K

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

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

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

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

Читать далее
Total votes 10: ↑7 and ↓3+5
Comments2

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

Reading time8 min
Views62K

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

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

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

Читать далее
Total votes 18: ↑16 and ↓2+17
Comments5

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

Reading time22 min
Views12K

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

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

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

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

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

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

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

Reading time4 min
Views21K

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

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

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

Читать далее
Total votes 20: ↑14 and ↓6+13
Comments8

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

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


Знания умножают печали...
Total votes 105: ↑101 and ↓4+133
Comments136

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

Reading time14 min
Views4.4K

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

Проверить кроличью нору
Total votes 14: ↑13 and ↓1+18
Comments9

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

Reading time5 min
Views7.8K

Этот материал посвящён одному вымышленному языку и одной книге, ставшей жемчужиной мировой классики, которую читают вот уже более 500 лет. 1516-й год, святой Томас Мор. «Весьма полезная, а также и занимательная, поистине золотая книжечка о наилучшем устройстве государства и о новом острове Утопия». Попробуем разобраться, что нам известно о языке «Утопии», его связи с латынью и греческим шибболетом и что спрятал в нём гений Томаса Мора.
Читать дальше →
Total votes 27: ↑26 and ↓1+44
Comments4

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

Reading time3 min
Views46K


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

Читать дальше →
Total votes 40: ↑31 and ↓9+27
Comments62

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

Reading time5 min
Views6.4K

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

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

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

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

Reading time23 min
Views28K

Но зачем


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


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

Читать дальше →
Total votes 12: ↑11 and ↓1+11
Comments9

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

Reading time6 min
Views231K


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

Читать дальше →
Total votes 151: ↑110 and ↓41+106
Comments255

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

Reading time10 min
Views93K

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

Читать далее
Total votes 16: ↑12 and ↓4+9
Comments12

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

Reading time6 min
Views32K

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

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

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

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

Reading time5 min
Views7.3K

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

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

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

Ракета на палочке

Reading time14 min
Views7.1K

Всем привет! Меня зовут Илья!

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

Читать далее
Total votes 14: ↑11 and ↓3+13
Comments6

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

Reading time10 min
Views19K

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

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

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

Читать далее
Total votes 25: ↑23 and ↓2+25
Comments7

Information

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