Pull to refresh
5
0.3
Send message

Матрица Вандермонда

Level of difficultyEasy
Reading time3 min
Views7.1K

Александр Теофил Вандермонд (28 февраля 1735 - 1 января 1796) - французский музыкант и математик, известный благодаря своей работе в области высшей алгебры.

Главным увлечением Вандермонда длительное время была лишь музыка, но к 35-ти годам юный ученый обратился к математике. Первым делом он провел исследование симметрических функций и решения круговых полиномов, после чего выпустил три статьи: про задачу о ходе коня, про комбинаторику и про основы теории детерминантов. 

В честь Александра Теофила был назван специальный класс матриц - матрицы Вандермонда, о котором пойдет речь в данной статье. [1]

Читать далее
Total votes 11: ↑6 and ↓5+4
Comments7

Распределенные вычисления на Elixir: основные варианты реализации

Level of difficultyEasy
Reading time7 min
Views953

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

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

В этой статье мы рассмотри основные инструменты для реализации распределённых вычислений Elxir.

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

Феномен Рунге

Level of difficultyMedium
Reading time4 min
Views8.9K

Введение

Карл Давид Тольме Рунге (30 августа 1856 - 3 января 1927) - выдающийся немецкий математик, физик и спектроскопист. Обучался в Берлинском университете, где получил степень PhD, являлся профессором математики в Ганноверском университете, а также главой кафедры прикладной математики в Гёттингене. [1]

в 1901 году Карл открыл "Феномен Рунге" - в численном анализе эффект нежелательных колебаний, возникающий при интерполяции полиномами высоких степеней - о котором пойдёт речь в данной статье. [2]

Но прежде, чем мы окунёмся глубже в изучение данного феномена, давайте поговорим об интерполяционном многочлене Лагранжа, на примере которого мы и разберём Феномен Рунге.

Интерполяционный многочлен Лагранжа

Полином Лагранжа - это математическая функция, позволяющая записать полином n-степени, который будет соединять все заданные точки из набора значений, полученных опытным путём или методом случайной выборки. Многочлен в форме Лагранжа в явном виде содержит значения функций в узлах интерполяции, поэтому он удобен, когда значения функций меняются, а узлы интерполяции неизменны. Число арифметических операции, необходимых для построения многочлена Лагранжа, пропорционально и является наименьшим для всех форм записи. [3]

Полином Лагранжа в общем виде выглядит следующим образом:

Читать далее
Total votes 43: ↑41 and ↓2+51
Comments34

Оценка инсайда в ставках на спорт

Level of difficultyHard
Reading time18 min
Views1.3K

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

Данная статья представляет собой попытку измерения инсайда с помощью модели ценообразования на рынке стоимости будущих событий (state-contingent claims). Специфической средой для нашего исследования является рынок ставок на скачках, на котором роль маркетмейкеров берут на себя букмекерские конторы, а трейдеров играют потенциальные игроки.

Читать далее
Total votes 6: ↑4 and ↓2+6
Comments0

Newbee торговый бот, часть третья: первые предсказания

Reading time6 min
Views1.4K

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

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

Читать далее
Total votes 5: ↑3 and ↓2+4
Comments5

«Вечная лампочка» из новых Lexman

Reading time2 min
Views128K
Я нашёл ещё один неплохой вариант для простейшей переделки в «вечную лампу». Это лампы Lexman 10 Вт 1000 лм, продающиеся по 85 рублей в магазинах Леруа Мерлен.


Читать дальше →
Total votes 132: ↑132 and ↓0+132
Comments215

Мини-ПК в сентябре 2023 года: больше форм-факторов хороших и разных

Reading time3 min
Views20K
image

Производители продолжают выпускать различные модели мини-ПК, которые предназначены для решения самых разных задач. Это может быть обычная офисная работа, игры, причем достаточно ресурсоемкие, либо что-то еще, включая промышленное использование таких девайсов. О новых моделях, которые появились относительно недавно, — под катом.
Читать дальше →
Total votes 32: ↑31 and ↓1+39
Comments39

Приложения алгебры кортежей. Часть 2. Математическая модель вопроса

Level of difficultyMedium
Reading time11 min
Views2.1K

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

Об алгебре кортежей (АК) и ее использовании для логико-семантического анализа было рассказано в моей статье в Хабре. В комментариях к статье предлагалось обратить внимание на функцию SELECT в языке SQL, которая соответствует операции Selection (Выборка) в реляционной алгебре. Эта операцию можно рассматривать как один из вариантов математической модели вопроса.

Предлагаемый здесь вариант смысла вопроса заключается в том, что в вопросе заданы некоторые ограничения (область знания, ситуация, значения некоторых атрибутов и т.д.), которые требуется использовать для того, чтобы найти или вычислить значение определенного атрибута или проверить правильность заданных в вопросе соотношений. Эта семантика применима к восполняющим вопросам типа «Что?», «Где?», «Когда?», к уточняющим вопросам типа «Верно ли, что А?» и к ИЛИ-вопросам типа «Что правильно: А или Б?». Назовем такие вопросы ограничительными. Их можно считать вариантами известной в искусственном интеллекте задачи удовлетворения ограничений.

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

WebSocket. Краткий экскурс в пентест ping-pong протокола

Level of difficultyMedium
Reading time12 min
Views14K

"Краткость - сестра таланта" - именно так сказал Антон Павлович Чехов, и теперь говорю я. Сегодня, завтра и до конца дней habr-а речь пойдет о WebSocket-ах: "Что это?", "Как работает?" и главное - "Как это взламывать?" (в целях этичного хакинга конечно). Начнем с простого и будем идти к более сложному, пробираясь через тернии к звёздам.

Приятного чтения
Total votes 19: ↑19 and ↓0+19
Comments0

Как будут работать суды при DeSoc

Level of difficultyMedium
Reading time4 min
Views1.1K

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

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

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

Почему мой любимый API — это файл zip на сайте Европейского центрального банка

Level of difficultyEasy
Reading time7 min
Views31K

Когда был максимальный курс доллара к евро?

Вот небольшая программа, вычисляющая это:

curl -s https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip \ | gunzip \ | sqlite3 -csv ':memory:' '.import /dev/stdin stdin' \ "select Date from stdin order by USD asc limit 1;"

Результат: 2000-10-26. (Можете попробовать запустить её самостоятельно.)

Читать далее
Total votes 81: ↑67 and ↓14+76
Comments27

Удивительная лампочка из Ашана

Level of difficultyEasy
Reading time2 min
Views46K
На прошлой неделе я протестировал 23 модели светодиодных ламп Ашан и среди них обнаружилась одна, «не такая, как все», причём отличается она в лучшую сторону.


Читать дальше →
Total votes 100: ↑100 and ↓0+100
Comments45

Взаимодействие с MOEX ISS через Python

Level of difficultyEasy
Reading time4 min
Views16K

В этой статье я хочу дать поверхностное представление о том, как работает взаимодействие с MOEX ISS на Python requests. Да, сегодня уже существуют готовые решения для работы с MOEX, например aiomoex. Но как по мне, лучше всегда сначала что‑то захардкодить и понять, как это работает под капотом. Если вы только знакомитесь с MOEX ISS или начинаете заниматься анализом временных рядов, думаю, вам эта статья будет полезна. Если же вы более продвинутый специалист, то вряд ли найдете здесь что‑то новое.

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

Новые возможности в скриптах Роутер Ос 7 Микротик

Reading time10 min
Views14K
Появления Роутер ОС 7 давно ждали. Новая система создавалась разумеется для более производительных устройств, имеющих новые процессоры и больше оперативной памяти. Новое ядро Linux, поддержка WireGuard и ZieroTier, новые возможности маршрутизации и BGP, новый users manager, обновление MPLS, запуск приложений в контейнерах далеко не полный список новинок.

Но в этой статье мы будем обсуждать нововведения только в скриптовом языке системы вплоть до актуальной beta версии 7.12.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments28

Как (быстро) сделать русский локальный ChatGPT

Level of difficultyMedium
Reading time7 min
Views40K

Эта история началась в начале марта этого года. ChatGPT тогда был в самом расцвете. Мне в Telegram пришёл Саша Кукушкин, с которым мы знакомы довольно давно. Спросил, не занимаемся ли мы с Сашей Николичем языковыми моделями для русского языка, и как можно нам помочь.

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

После этого мы какое-то время продолжали какое-то время делать всё то же самое. Я потихоньку по инерции расширял rulm новыми наборами данных. Посчитав, что обучить базовую модель нам в ближайшее время не светит, мы решили сосредоточиться на дообучении на инструкциях и почти начали конвертировать то, что есть, в формат инструкций по аналогии с Flan. И тут меня угораздило внимательно перечитать статью.

Читать далее
Total votes 70: ↑69 and ↓1+88
Comments54

Статистические тесты и проверка гипотез в R

Reading time15 min
Views7.3K

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

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

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

Как спасти принцессу, используя 8(+45) языков программирования, в пятницу

Reading time1 min
Views68K


У вас есть JavaScript. Вы тратите несколько часов на сбор библиотек, настройку node и постройку фреймворка для замка. К тому времени, как вы разберетесь с фреймворком, форт уже будет заброшен, а принцесса переберется в другой замок.



У вас есть С. У вас есть библиотека для замка и для принцессы. В атаку! Вы спасаете принцессу, ее собаку, весь ее гардероб и всё, что она когда-либо съела. Fuck, неужели я забыл null-terminator?
Total votes 122: ↑81 and ↓41+40
Comments205

Мониторинг — это боль

Level of difficultyMedium
Reading time13 min
Views14K

И все мы выполняем его неправильно (в том числе и я).

Я должен признаться. Несмотря на то, что меня много раз нанимали в том числе и благодаря моему опыту работы с платформами мониторинга, я начал его ненавидеть. Инструменты мониторинга и наблюдаемости (observability) совершают тяжкий грех: обманом заставляют людей думать, что это простая задача. Очень легко мониторить маленькое приложение или сервис. Но почти ни одно из таких решений не масштабируется.

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

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

В статье я расскажу о том, что, по моему мнению, нужно делать, а также поделюсь своими надеждами и мечтами. Прошу вас убедить меня, что я не прав и что есть более качественные решения.
Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments15

W-функция Ламберта, ее приближения, и как она помогает строить доверительные интервалы

Level of difficultyHard
Reading time9 min
Views3.8K

Поговорим о том, как можно приближать значения различных ветвей W-функции Ламберта, а после применим полученные результаты для решения задачи поиска кратчайших доверительных интервалов.

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

Анонимная сеть в 200 строк кода на Go

Level of difficultyMedium
Reading time15 min
Views18K

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

Вследствие этого, можно сказать just-for-fun, у меня появился вопрос: можно ли реализовать анонимную сеть настолько малую, чтобы её программный код смог понять даже начинающий программист за короткое время?

Читать далее
Total votes 17: ↑16 and ↓1+19
Comments11
1

Information

Rating
2,056-th
Registered
Activity