Pull to refresh
5
0
Send message

Толстые хвосты распределений — это загадочно и странно

Level of difficultyMedium
Reading time13 min
Views1.1K

Если вы посещали занятия по статистике — вы, возможно, проходили тему «общая теория меры». Там могла идти речь о мере и об интеграле Лебега, а так же — об их связи с другими способами интегрирования. Если на ваших занятиях много внимания уделялось математике (так было у меня), то на них вы вполне могли познакомиться с теоремой Каратеодори о продолжении меры и даже с основами теории операторов на гильбертовых пространствах, а так же — с преобразованиями Фурье и много с чем ещё. Большинство этих математических конструкций нацелено на доказательство одной из самых важных теорем, на которой основана огромная часть статистики. Речь идёт о центральной предельной теореме (ЦПТ).

ЦПТ утверждает, что для широкого класса того, что мы называем в математике «случайными величинами» (которые представляют собой результаты проведения некоего эксперимента, включающего в себя элемент случайности), до тех пор, пока они удовлетворяют определённым условиям (как может показаться — простым), их среднее значение сходится к случайной величине определённого типа, который называют «нормальным» или «Гауссовым».

Читать далее
Total votes 12: ↑11 and ↓1+18
Comments1

Однокаскадный ламповый усилитель для квартирной музыки

Level of difficultyMedium
Reading time7 min
Views16K

Речь идёт об оснащении звуковоспроизводящей аппаратурой, по возможности «высокой верности», небольшой городской квартиры. Своими руками и невеликими средствами. Причём во главу угла решено поставить «звук», манкируя некоторыми эксплуатационными качествами. Здесь: постройка усилителя мощности звуковой частоты (УМЗЧ) в комплект к чувствительным акустическим системам (АС) из гипсокартона [1]. Усилитель выполнен на радиолампах пальчиковой серии и примечателен рядом необычностей.
Читать дальше →
Total votes 56: ↑54 and ↓2+75
Comments48

Эмиттерный повторитель — ключ к пониманию работы транзисторных каскадов

Level of difficultyMedium
Reading time9 min
Views23K


Привет, эту публикацию я хочу посвятить людям, кто, как и я, любил в детстве читать журнал «Радио» и книги по электронике, но не смог сам разобраться в принципах работы усилителей на биполярных транзисторах. Тема полупроводников непроста и требует понимания многих чуждых для нашей повседневной интуиции физических процессов. Я помню момент озарения, когда я понял принцип схемотехнического решения эмиттерного повторителя, и именно с него пошло постепенное понимание, как функционируют и другие типы транзисторных каскадов. И я предполагаю, что эта тема может стать точкой входа в аналоговую электронику не только для меня.
Читать и смотреть схемы
Total votes 123: ↑121 and ↓2+160
Comments107

Асинхронный телеграм бот на bash, глазами C# программиста

Reading time7 min
Views4.1K

В интернете много статей о том, как создавать простых bash-телеграм ботов. Часто это сводиться к вечному циклу, который раз в несколько секунд дергает tg-api. А что, если у меня хотелок больше чем может предоставить такое решение?

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

Это история, о попытке поизвращаться создать небольшой, но удобный инструмент для написания ботов, удовлетворяющих моим требованиям.

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

Часть 2. Алгоритм Тарьяна для приведения нелинейной системы уравнений к вычисляемой последовательности подстановок

Level of difficultyMedium
Reading time6 min
Views1.9K

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

Теперь мы будем исследовать другую задачу. Дана система нелинейных уравнений. Необходимо разделить систему на две подсистемы - "уравнения" и "подстановки" с помощью алгоритма Тарьяна. Подсистема подстановок должна быть формально вычислимой. Подставив уравнения второй категории в первую, получим систему меньшей размерности, которую будет проще решить численными методами.

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

Прошиваем программу не только в начало FLASH памяти STM32

Level of difficultyMedium
Reading time3 min
Views5K

Знаете ли вы куда попадает ваша программа после того, как вы нажали кнопку RUN или DEBUG в IDE? Если да, то как изменить этот адрес или даже выйти за пределы постоянной памяти и прожигаться сразу в оперативную память? Небольшая статья, которую я сам в свое время не нашел и потратил много часов и нервов на сбор этой не хитрой информации.

Читать далее
Total votes 18: ↑14 and ↓4+18
Comments31

Алгоритм Тарьяна для поиска минимального набора уравнений

Level of difficultyMedium
Reading time6 min
Views3.9K

Дана система, состоящая из большого количества уравнений (необязательно линейных), где вам необходимо найти всего лишь несколько переменных. Как это сделать эффективно? Какой минимальный набор уравнений вам потребуется? В этой статье мы обсудим графовое представление систем уравнений, применим алгоритм Тарьяна и формализуем процесс на Python.

Читать далее
Total votes 7: ↑7 and ↓0+11
Comments7

Побеждаем компилятор в скорости при помощи ассемблера

Level of difficultyMedium
Reading time13 min
Views7.9K

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

Тем не менее, иногда до нас доносятся слухи.

Написанные в древних томах, подслушанные в тайных покоях, начертанные на стенах разрушенных храмов, упоминаемые в загадочных текстах, они рисуют чёткую картину:

Компиляторы плохо справляются с генерацией кода для интерпретаторов, и можно превзойти их, написав интерпретатор на языке ассемблера.
Читать дальше →
Total votes 42: ↑40 and ↓2+56
Comments41

Как найти и удалить 2 Тб ненужных файлов, которые не видит СУБД? Дорабатываем pg_orphaned

Level of difficultyHard
Reading time22 min
Views4.4K

PostgreSQL, как и все СУБД, основанные на его открытом коде, устроен так, что всю информацию хранит в большом количестве отдельных файлов. И они при разных обстоятельствах могут потеряться. Например, бывает так, что при заполнении таблицы или обработке транзакции происходит сбой. Процесс, породивший файл, прерывается, не удалив результаты своей работы. СУБД про этот файл ещё ничего не знает, поскольку транзакция, создавшая его, не успела закоммититься. Часть таких файлов удалится при перезапуске СУБД, а часть — нет. Так неиспользуемые файлы копятся и занимают всё больше места. Иногда их объём исчисляется терабайтами.

Меня зовут Роман Дягелев, я инженер в СберТехе, сопровождаю и разрабатываю СУБД Platform V Pangolin. Наш продукт основан на открытых решениях PostgreSQL и включает в себя собственные доработки в области безопасности, отказоустойчивости и удобства эксплуатации. Я расскажу о том, почему нам не хватило готового инструмента PostgreSQL для очистки файлового мусора и как я вместе с коллегами дорабатывал его. Надеюсь, наш опыт станет полезен тем, кто работает с инструментарием PostgreSQL и ищет решения для работы с ненужными файлами.

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

Возможности С++: от стандартных алгоритмов до диапазонов (Ranges)

Level of difficultyMedium
Reading time10 min
Views5.8K

Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В предыдущей статье мы с вами рассмотрели применение стандартных алгоритмов в повседневном коде и их преимущества над обычными циклами. В продолжение этой темы мне хотелось бы рассказать о недостатках стандартных алгоритмов и способах их решения с помощью библиотеки Ranges. Практические примеры я разбил на три части: в первой показаны обычные циклы, во второй — вариант написания с помощью алгоритмов (но не всегда можно это сделать), в третьей – с использованием Ranges. Этот материал будет полезен тем разработчикам, которые хотят применять новые стандарты и подходы у себя на проектах.

Читать далее
Total votes 6: ↑5 and ↓1+7
Comments6

Как я запустил Linux с Google Drive

Level of difficultyMedium
Reading time10 min
Views20K

Я грешен: во мне есть дух соперничества. Когда я услышал, что мой друг заставил Linux загружаться с NFS, мне обязательно нужно было его превзойти. Я обязан был доказать, что могу сделать что-то сложнее, лучше, быстрее, сильнее [прим. пер.: в оригинале отсылка к композиции Daft Punk «Harder, Better, Faster, Stronger»].

Как и все хорошие проекты, этот начался с идеи.

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

На грани безумия мой утомлённый мозг придумал мой magnum opus: запуск Linux с рута Google Drive.

▍ Но как?


Я хотел обеспечить автономность системы, поэтому не мог использовать в качестве «помощника» вторую машину. Мой разум сразу же вспомнил FUSE — программу, работающую драйвером файловой системы в пользовательском пространстве (с поддержкой со стороны ядра).

Мне достаточно было установить программы FUSE в initramfs ядра Linux и сконфигурировать сеть. В этом ведь не должно быть ничего сложного, так?
Читать дальше →
Total votes 51: ↑50 and ↓1+69
Comments6

Расширенное пространство (часть II)

Level of difficultyHard
Reading time15 min
Views4.7K

Ультраметрический сосед

В квантовых масштабах наш мир начинает меняться. Он начинает соприкасаться  с ультраметрическим пространством, которым он насквозь пронизан. В микромире деградирует монолитное, цельное пространство с непрерывной метрикой, и достаточно гладкими (регулярными) законами.   В наше пространство начинают врываться потоки энергий, реализуясь в виде виртуальных частиц, которые поставляются  ультраметрическим  пространством. В этом смысле ультраметрическое пространство напрямую олицетворяет вакуум Дирака. При рассмотрении  “планковских”   масштабов  теряется возможности нормально «работать» как с  малыми областями пространства, так и  с микро объектами подобных размеров в силу их не детерминировости и неопределенности  (отсутствуют свойства привычного  пространства, позволяющие фиксировать координаты этого объекта). На этих масштабах работает принцип  Гейзенберга. Обычно этот принцип объясняют тем, что вмешательство прибора измерения, существенно влияет на сам измеряемый процесс, поэтому нельзя одновременно выяснить координаты элементарных частиц и их скорости(точнее импульсы). На  дело не в точности и грубости приборов измерения, как принято говорить сейчас.  Теряются метрики и смысл измеряемых параметров. Области пространства превращаются в сети с квантами пространства в качестве узлов  и связывающими их петлями силовых линий. Что более существенно меняется геометрия и тем более топология пространства. Областями-дырками испещрено  все наше пространство,  наш мир всюду разрывной в каждой своей «планковской» области. Образно эта картина  представляется   в виде композиции  пограничных слоёв, разделяющим пространство нашего мира с архимедовой метрикой и ультраметрическое пространство с не архимедовой метрикой. «Планковские» масштабы - это области квантовых явлений, спиновых сетей с квантами пространства в узлах, и процессами , идущих в ультраметрическом пространстве и управляющими поведением квантовых явлений, в том числе появлением квантовых флуктуаций и  виртуальных частиц в нашем мире.

Читать далее
Total votes 7: ↑6 and ↓1+6
Comments7

Уникальный планшет со съёмным процессором в DDR2-слоте: что за устройство ценой в 100$ сделали китайцы в 2010?

Level of difficultyEasy
Reading time9 min
Views12K
image

Друзья, я почти уверен, что большинство читателей не видели такого диковинного девайса, который будет в сегодняшней статье! Едва ли где-то ещё можно найти планшет, у которого процессор с ОЗУ выполнен в виде съёмного модуля, который стоит в слоте DDR2-памяти, а само устройство настолько просто и гениально спроектировано, что фактически построено на базе USB-хаба и AC97-кодека. Кроме того, планшет построен на базе редкого и диковинного ARMv5 процессора, способного загружаться в Android, Linux и Windows CE. Недавно читатель с Хабра подарил мне такой планшет в нерабочем состоянии и я его оживил. Интересно узнать о том, что за интересный такой девайс и как я его ремонтировал? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 51: ↑48 and ↓3+64
Comments44

systemD с 0 до 1: библия сисадмина

Level of difficultyMedium
Reading time27 min
Views19K


Что бы кто не говорил, systemD становится стандартом систем инициализацией в линуксе. И с 80% вероятностью все сервера будут с systemD. Не факт, конечно, есть и личные сервера, на которых может стоять хоть Gentoo, хоть Devuan, хоть NixOS.

Некоторые дистрибутивы хотят даже перейти с загрузчика Grub на systemd-boot! Потому знать, как работать с данной системой инициализации, должен каждый сисадмин и просто программист, ибо сейчас он практически везде.

В этой статье мы разберем — создание сервисов и юнитов, как облегчить работу при помощи systemd, отслеживать состояние системы и управлять ей.

А также напишем небольшой скрипт на Python для автомизации некоторых задач. Приятного чтения, господа линуксоиды и просто пользователи!
Читать дальше →
Total votes 51: ↑46 and ↓5+53
Comments11

Собираем docker и деплоим из GitHub Actions

Level of difficultyMedium
Reading time4 min
Views4.4K

Я приведу краткую инструкцию, как быстро собирать проект и деплоить docker. Флоу будет очень простым: одним job мы собираем образ (с указанием тэга или ветки) и кладем в приватный репозиторий образов GitHub, а другим - job деплоим оттуда. Это удобно, когда есть несколько сред и мы один раз собираем и контейнер запускаем из него с разными переменными среды.

Начнем
Total votes 8: ↑7 and ↓1+8
Comments6

История создания Ведьмака: от литературной саги до игровой франшизы

Level of difficultyEasy
Reading time98 min
Views16K
image

Ко мне в руки тут попала одна книжка про разработку этих ваших ведьмаков и Гервантов из Рыбии. История франшизы, короче. В общем, прочитал я её, проникся, решил изучить тему глубже, а потому, дорогие читатели, держите материал, без регистрации и СМС, даром. Это будет компиляция всевозможной инфы в одном месте, максимально подробно. Кто уже читал эту книгу или изучал разные источники — и так всё знает, кто не читал — экономлю вам время и приоткрываю завесу тайн, которые, возможно, вы не знали. Всё это приправлено разными интервьюшками, концепт-артами и прочей информацией с забугорных сайтов и других годных материал. Должно быть интересно. Тем более игре совсем недавно (26 октября) стукнуло 16 лет, хороший повод. Итак…
Читать дальше →
Total votes 55: ↑53 and ↓2+66
Comments20

Assembler для Windows в Visual Studio

Reading time12 min
Views25K

В этой статье я покажу как написать приложение для windows на ассемблере. В качестве IDE будет привычная многим Visual Studio 2019 со своими привычными плюшками - подсветка кода, отладка и привычный просмотр локальных переменных и регистров. Собирать приложение будет MASM, а значит, у нас будут и масмовские плюшки. Это будет полноценное оконное приложение с меню, иконкой, отрисовкой, выводом текста и обработкой мыши с клавиатурой.

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

Анимация доски Гальтона на Python и manim

Reading time9 min
Views3.8K

Многие видели математические видео с канала 3blue1brown. Оригинальный стиль, отличные визуализации самых разных математических понятий. Как они были сделаны? Грант Сандерсон, автор канала 3blue1brown, написал специальную библиотеку на питоне, manim, для создания своих видео. Библиотека оказалась популярной, был сделан форк и сложилось сообщество для ее дальнейшего развития. Мне стало интересно и я захотел научиться делать похожие видео, для примера будет анимация доски Гальтона. Математика присутствует, анимация интересная, что из этого вышло - написано в статье.

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

Краткий справочник по «всем-всем» командам Linux

Level of difficultyMedium
Reading time74 min
Views166K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1110 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 105: ↑102 and ↓3+120
Comments114

Аппаратный bit banding CortexM3/M4(ARM), архитектура ядра, ассемблер, С/C++14 и капля метапрограммирования

Reading time9 min
Views24K

Введение


Внимание, это не очередная «Hello world»статья о том как помигать светодиодом или попасть в свое первое прерывание на STM32. Однако, я постарался дать исчерпывающие объяснения по всем затрагиваемым вопросам, поэтому статья будет полезна не только многим профессиональным и мечтающим стать таковыми разработчикам (как я надеюсь), но и начинающим программистам микроконтроллеров, так как тема эта почему-то обходится стороной на бесчисленных сайтах/блогах «учителей программирования МК».

image
Читать дальше →
Total votes 77: ↑73 and ↓4+69
Comments38
1

Information

Rating
Does not participate
Registered
Activity