Search
Write a publication
Pull to refresh
0
0
Константин Садовский @AsmodeusL

User

Send message

Коронавирус: мы все умрём?

Reading time17 min
Views55K
Что мы говорим Богу смерти? — Не сегодня.
Сирио Форель, сериал «Игра престолов».


Насколько действительно опасен коронавирус COVID-19? Сколько людей умрёт от коронавируса в мире? А сколько – в России? Так ли необходимы жесткие меры, принимаемые для борьбы с коронавирусом в большинстве стран мира? Что принесет больше ущерба: смерть людей от коронавируса или падение экономики, вызванное ограничительными мерами?

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

Чтобы сделать материал доступным для всех читателей, в начале статьи мы сконцентрируемся на качественном анализе, и красивых картинках. А в самом конце для интересующихся приведем исходный код для расчетов, выполненных на языке Python.
Читать дальше →

Миллиард операций в базе данных за 0.3 секунды. Не сравнивайте OLTP с OLAP, а QuestDB с PostgreSQL

Reading time8 min
Views12K
Очень часто за свой 15летний опыт работы разработчиком ПО и тимлидом я сталкиваюсь с одним и тем же. Программирование превращается в религию — редко кто пытается внедрять технологии на основе разумного выбора, аргументированно, с учетом ограничений, возможностей переносимости, оценки степени привязки к вендору, реальной цены, перспектив технологии и свободы лицензий. Разработчики ходят на конференции или читают посты — заводятся на хайповость, а их ИТ директоров и менеджеров кормят не только сказками о светлом аджайл будущем на мероприятиях различные визионеры, сейлы и консалтеры. И получается что технологии оказались в проекте не с учетом удобства разработки и внедрения, нефункциональных требований проекта, а потому что это хайпово и google у себя использует, amazon рекомендует(хотя их вакансии говорят что сами не часто используют) или принято высочайшее решение руководства компании внедрять «это».


Но особое веселье — это выбор базы данных. Чем больше объемы хранимой информации, сложнее структуры данных в проекте и их изменения/эволюция, выше требования ко времени отклика или производительности тем дороже стоит ошибка выбора в начале на поздних стадиях проекта.
Читать дальше →

Забота о домашних: делаем бэкап ноутбука или десктопа с помощью бесплатных Veeam Agents

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

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

Полагаю, что многие из вас уже используют для этого Veeam Agent for Microsoft Windows или Veeam Agent for Linux. Если же ещё нет — то, возможно, вас заинтересует сегодняшний краткий обзор. Итак, добро пожаловать под кат.


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

Network automation. Случай из жизни

Reading time10 min
Views6.7K
Привет, Хабр!

В данной статье мы бы хотели поговорить про автоматизацию сетевой инфраструктуры. Будет представлена рабочая схема сети, которая функционирует в одной маленькой, но очень гордой компании. Все совпадения с реальным сетевым оборудованием являются случайными. Мы рассмотрим кейс, произошедший в данной сети, которой мог привести к остановке бизнеса на продолжительное время и серьезным денежным потерям. Решение данного кейса очень хорошо вписывается в концепцию «Автоматизация сетевой инфраструктуры». С помощью средств автоматизации мы покажем, как можно эффективно решать сложные задачи в сжатые сроки, и поразмышляем на тему, почему перспективнее эти задачи надо решать именно так, а не иначе (через консоль).
Читать дальше →

Apache Kafka для чайников

Reading time11 min
Views285K
Данная статья будет полезной тем, кто только начал знакомиться с микросервисной архитектурой и с сервисом Apache Kafka. Материал не претендует на подробный туториал, но поможет быстро начать работу с данной технологией. Я расскажу о том, как установить и настроить Kafka на Windows 10. Также мы создадим проект, используя Intellij IDEA и Spring Boot.
Читать дальше →

Устанавливаем рабочий стол Linux на Android

Reading time7 min
Views83K
Привет, Хабр! Представляю вашему вниманию перевод статьи из журнала APC.

image

В данной статье рассматривается полная установка операционной среды Linux вместе с графическим окружением рабочего стола на Android-устройствах.

Одной из ключевых технологий, которую применяют многие из систем Linux на Android, является pRoot. Это реализация утилиты chroot в пользовательском пространстве, которая пользуется большой популярностью в настольных системах и серверах Linux. Однако для инструмента chroot нужны полномочия пользователя root, которые не доступны по умолчанию на Android. pRoot же даёт это преимущество за счёт установления привязки к директории.

Терминалы Linux


Не во всех эмуляторах терминалов Linux для Android имеется набор утилит BusyBox, в отличие, например, от Termux. Причиной тому является то обстоятельство, что весь смысл подобных систем состоит в обеспечении «полной» установки всех компонентов ОС, в то время как BusyBox предназначена для того, чтобы свести всё множество общих утилит в один двоичный файл. В системах, где не установлена BusyBox, используется начальная загрузка для Linux, содержащая полные версии программ.
"

Задайте логин и пароль для дистрибутива и VNC в UserLAnd.

Однако в этих системах присутствует дополнительная технология, которая не требует наличия Termux. В этой статье будет рассматриваться полнокомплектная инсталляция дистрибутива Linux, а также рабочего стола GUI. Но прежде необходимо выбрать способ установки графической системы.

Linux на Android


Как было упомянуто ранее, программные пакеты, которые мы будем устанавливать, запускаются в пользовательском пространстве.
Читать дальше →

Как реализованы конвейеры в Unix

Reading time16 min
Views20K

В этой статье описана реализация конвейеров в ядре Unix. Я был несколько разочарован, что недавняя статья под названием «Как работают конвейеры в Unix?» оказалась не про внутреннее устройство. Мне стало интересно, и я зарылся в старые источники, чтобы найти ответ.
Читать дальше →

Настраиваем RDP на Hi-dpi (4k) мониторах

Reading time1 min
Views34K
На волне массового перехода на удалёнку, возможно кому-то будет полезным.

Рабочий монитор — FullHD (Win7x64), домашний 4k. На домашнем мониторе получалось 1/4 экрана и никак не увеличивалось, настройка размера шрифтов до 150% на рабочем мониторе при подключении по РДП была заблокирована.

Перелопатил прилично форумов и решение всё-таки нашлось. На рабочем компе надо установить апдейт от Майкрософт KB2726399 и после ребута можно выставить 150% увеличение.



В настройках RDP на домашнем включаем фуллскрин.



Результат — на домашнем 4к-мониторе полный экран с нормальным удобным разрешением.

К сожалению, на сайте МС этот апдейт выпилен, но интернет помнит всё (или почти всё), так что апдейт удалось скачать отсюда.

Docker и VMWare Workstation на одной Windows машине

Reading time3 min
Views16K
Задача было простой, поставить Docker на свой рабочий ноутбук с Windows, на котором уже и так зоопарк. Поставил Docker Desktop создал контейнеры, всё ок, вот только быстро обнаружил, что VMWare Workstation перестала запускать виртуалки с ошибкой:

VMware Workstation and Device/Credential Guard are not compatible. VMware Workstation can be run after disabling Device/Credential Guard.

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

О математике, пандемиях и карантинах, продолжение

Reading time5 min
Views17K
Начало здесь.

Disclaimer 1

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

Disclaimer 2

По этическим соображениям, результаты работы модели, калиброванной по параметрам COVID-19, публиковаться не будут. Возможно, вы с моим решением не согласны, но вам придется с этим жить.
Как мы увидели в прошлой части, режим самоизоляции достаточно эффективен, в частности он сбивает экспоненциальный рост числа заболевших до степенного и тем самым позволяет снизить нагрузку на здравоохранения до приемлемой (“flatten the curve”, ага). Тем не менее, режим самоизоляции длится очень долго, наносит огромный ущерб экономике и возникает резонный вопрос: нельзя ли обойтись пусть более жесткими, но краткосрочными мерами?

Для наглядности экспериментов я слегка модифицировал инфекционный агент, сделав его чуть менее заразным, для большей иллюстративности интересующих нас эффектов. Помимо этого, я снизил порог насыщения минздрава до 5% популяции (это все равно очень и очень много). И да, чтоб не слишком ранить чувствительные души, шанс смерти индивидуума, которому «не досталось койки», вырастает теперь в три раза, а не в десять, как раньше. Цените мой гуманизм! Остальные параметры такие же (самое важное: инкубационный период, когда пацак заразен, длится 10 дней и столько же длится период лечения).
Читать дальше →

Открытые онлайн-материалы от Computer Science центра, часть 2

Reading time1 min
Views11K
В первой части поста мы рассказали о наших популярных онлайн-курсах на Stepik, а теперь выкладываем записи открытых лекций и видеокурсов на YouTube.


Делегируем управление RDP-сеансами

Reading time5 min
Views21K

В организации, где я работаю, удаленка запрещена в принципе. Была. До прошлой недели. Теперь пришлось в срочном порядке внедрять решение. От бизнеса — адаптация процессов к новому формату работы, от нас — PKI с пин-кодами и токенами, VPN, детальное логирование и много чего ещё.
Помимо всего прочего, я занимался настройкой инфраструктуры удаленных рабочих столов aka службы терминалов. У нас несколько RDS-развертываний в разных ЦОДах. Одной из задач было дать возможность коллегам из смежных подразделений ИТ подключаться к пользовательским сеансам в интерактивном режиме. Как известно, для этого есть штатный механизм RDS Shadow и самый простой способ его делегировать — дать права локального администратора на RDS-серверах.
Я уважаю и ценю своих коллег, но очень жадный до раздачи админских прав. :) Тех, кто со мной солидарен, прошу под кат.
Читать дальше →

Ещё один взгляд на вопрос «нужна ли дефрагментация для SSD»

Reading time7 min
Views97K

Несомненно, вопрос, вынесенный в заголовок статьи, не нов, поднимался не раз и по нему достигнут консенсус «не особо нужна, и даже может быть вредна».
Однако недавнее обсуждение в комментариях заставило меня ещё раз задуматься.


Со временем любой SSD всё равно сильно фрагментируется (внутри, в FTL)… Свежезаписанный SSD при линейном чтении даст высокую скорость, а уже поработавший — гораздо ниже, потому что линейными оно будет только для вас.

Да, обычно такое не должно происходить: или мы пишем «понемногу» в мелкие файлы/небольшие блоки метаинформации ФС (скорость линейного чтения которых нас не особо волнует), либо же мы пишем «помногу» в большие файлы и всё будет хорошо. Бывает и дозапись мелкими блоками в большие файлы — логи, например, однако они относительно короткоживущие и особой проблемы я тут не вижу.
Но легко представился вполне реальный сценарий, при котором всё-таки внутренняя фрагментация SSD может проявиться: файл базы данных, в который идёт достаточно активная случайная запись. Со временем он (оставаясь нефрагментированным на уровне операционной системы) окажется физически очень даже фрагментированным, что может существенно снизить скорость seq scan, резервного копирования и т.п.


Для проверки я написал скрипт и провёл тесты.


Спойлер: проблема присутствует (существенно влияет на производительность) только на одной из попавшихся под руки моделей (и та позиционируется производителем не как datacenter, а как десктопная/ноутбучная).

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

Общий финансовый анализ на Python (Часть 2)

Reading time2 min
Views14K
Ну что продолжим?

Скользящее окно (Moving Windows)


В заголовке я привел дословный перевод. Если кто меня поправит, и другой термин более применим — то спасибо.

Смысл скользящего окна– с каждым новым значением функция пересчитывается за заданный период времени. Этих функций большое количество. Для примера: rolling.mean(), rolling.std(), которые чаще всего и используют при анализе движения акций. rolling.mean() — это обычная скользящая средняя, которая сглаживает краткосрочные колебания и позволяет визуализировать общую тенденцию.
Читать дальше →

Байесовский ниндзя

Reading time4 min
Views11K

Coderik однажды отметил: "Фильтра Калмана много не бывает". Так же можно сказать и о теореме Байеса, ведь это с одной стороны так просто, но с другой стороны так сложно осмыслить её глубину.


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

EF Core + Oracle: как сделать миграции идемпотентными

Reading time4 min
Views4.3K


Обычно фреймворк EF Core используют в сочетании с MS SQL — другим продуктом Microsoft. Однако это не догма. Например, мы в CUSTIS пишем бизнес-логику на C#, а для управления базами данных используем Oracle. В EF Core есть замечательный механизм миграций, но в нашем случае они не идемпотентны. Дело в том, что Oracle и ряд других БД, например MySQL, не поддерживают транзакционный DDL. Значит, если миграция упадет где-то посередине, ее не получится ни накатить, ни откатить. Как же реализовать идемпотентные миграции на EF Core без MS SQL?
Читать дальше →

Руководство по Aircrack-ng в Linux для новичков

Reading time10 min
Views143K
Всем привет. В преддверии старта курса «Практикум по Kali Linux» подготовили для вас перевод интересной статьи.




Сегодняшнее руководство познакомит вас с основами для начала работы с пакетом aircrack-ng. Конечно, невозможно предоставить всю необходимую информацию и охватить каждый сценарий. Так что будьте готовы делать домашние задания и проводить исследования самостоятельно. На форуме и в Wiki есть множество дополнительных туториалов и другой полезной информации.
Читать дальше →

Миграция из Oracle в Postgres

Reading time9 min
Views21K

Зачем переносить данные


image


Тема переноса (миграции) данных из Oracle в Postgres набирает обороты. В РФ количество запросов по переходу на Postgres на волне импортозамещения, сейчас больше, чем когда либо. Oracle — очень качественный, мощный и отлично документированный инструмент. Но вместе с тем очень дорогой в лицензировании и поддержке. Зачастую охватить все его возможности не получается в силу специфики использования. Ключевыми параметрами эксплуатации в нашем случае являются производительность системы, процент использования (утилизации) железа, простая тех. поддержка, а также дешевое и быстрое масштабирование — легкое развертывание новых баз.


Я решил изучить процесс миграции данных, изучая то, как реализовать пожелания конкретного заказчика, а также из практического любопытства, теперь я пробую перенести небольшую схему около 15 Гбайт с Oracle 11.2.0.4 на Linux Redhat 6.8 в Postgres 9.4 на Windows. Немного погрузившись в тему, я решил написать эту статью и рассмотреть процесс подробно. В отрыве от нашей специфики пост будет полезен интеграторам и DBA при планировании переноса данных/CUT.

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

Обзор: Варшава и мать её Польша

Reading time17 min
Views49K




Привет, меня зовут Паша и я разработчик ПО!


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

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

Кластер из двух узлов – дьявол в деталях

Reading time8 min
Views8.3K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Two Nodes — The Devil is in the Details» автора Andrew Beekhof.

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

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity