Предположим, у вас есть две последовательности чисел, которые вы хотите сравнить, чтобы измерить, насколько они связаны или зависимы друг от друга. Это действительно довольно общий сеттинг: две последовательности могут представлять временные ряды, так что у вас есть таблица с тремя столбцами и кучей строк. Первый столбец будет временем (скажем, с часовыми интервалами), а затем по одному столбцу для каждой последовательности; первый, например, может быть средней ценой акции за этот интервал, а второй - объемом торгуемых акций за этот интервал. Или вы могли бы сравнить процентное изменение цены одной акции по сравнению с другой. Конечно, это вовсе не обязательно должны быть временные ряды: у вас также может быть всего два столбца (то есть вообще без столбца времени). Первый может быть ростом американца старше 30 лет в дюймах, а второй — весом того же человека в фунтах. Или, чтобы использовать более актуальный пример, каждый столбец может представлять вектор эмбеддингов некоторых предложений на английском языке от определенной модели LLM. Первый столбец может быть вектором от модели Mixtral 8x7B для строки "I love my 3 sons" (Я люблю моих трех сыновей), а другой — от той же модели для строки "I cherish my 5 daughters" (Я дорожу моими пятью дочерьми).
В каждом из этих случаев у нас есть две последовательности данных, которые мы хотим сравнить. Проблема заключается в том, что в самой общей ситуации мы не имеем ни малейшего представления о том, какова может быть природа связи, или даже есть ли связь, о которой стоит говорить. Что, если две последовательности полностью независимы, как записи бросков двух разных честных кубиков? Что, если данные немного искажены и содержат некоторые экстремальные выбросы, которые искажают наиболее общие виды мер, на которые вы могли бы захотеть посмотреть, такие как среднее значение и дисперсия каждого столбца отдельно? Вы могли бы подумать сейчас: «Погодите, разве ответ на это — просто посмотреть на корреляцию?» И это действительно хорошая идея для проверки, поскольку это наиболее часто используемая мера ассоциации между двумя наборами данных.
Пользователь
Система статусов для проектов в Obsidian
Статья о том, как внедрить и как продуктивно использовать систему статусов в персональных проектах.
Гайд предназначен для пользователей Obsidian. Однако, если вы к таковым не причисляетесь, то можете ознакомиться только с описанием системы статусов. Возможно, что вам сам подход понравится и у вас впоследствии получится адаптировать его в своих инструментах.
Как я сделал девайс для Korn, Limp Bizkit, Drowning Pool и других рокеров, собрав все продуктовые ошибки
Привет, Хабра!
Сегодня одолела ностальгия и хочу рассказать, как делал устройства для музыкантов — педальки-контроллеры, наделяющие музыкальный процессор Digitech Whammy новыми возможностями. Устройства мало кому нужны, но кому нужны — то позарез)
Этот проект мне очень дорог, потому что с него началась настоящая страсть к созданию чего-то нового. И хоть я давно уже не брался за паяльник, а основное время посвящаю развитию в управлении продуктом, всё ещё не оставляю фантазии о фееричном возвращении в music hardware, которое сделает немного шума в чахнущем царстве рока.
Да и перед именитыми ребятами (на фото, например, CJ Pierce из Drowning Pool, James "Munky" Shaffer из Korn и Wesley Borland из Limp Bizkit, ну и я с девайсами), признаться, стыдно, что пропал на целых несколько лет — ни слуха от меня, ни духа о новых устройствах.
Удачно сложилось, что сегодня же есть 3,5 часа в самолёте, так что настало время офигительных историй — расскажу, как появились эти железки реально из мусора. Курьёзы и неудачи, какие устройства хотел и что получилось, как они оказались у топ-музыкантов мира и почему я отложил такие крутые штуки в долгий ящик.
Возможно это смотивирует кого-то вернуться и доделать свои идеи, а кому-то просто поднимет настроение. Итак, вперёд! Точнее назад, в 2010 год...
Уникальные стили визуализации данных в Python: от Cyberpunk до элегантности
Необычные стили для визуализации данных на Python: от киберпанка до эстетики. В статье рассмотрены 5 малоизвестных стилей для визуализации данных и создания дашбордов.
Domain fronting для чайников, и как его использовать для обхода блокировок
Давайте сразу вопрос на засыпку: может ли быть так, что клиент подключается, ну, например, к серверу www.python.org (самому настоящему, тому, к которому обращаются еще миллионы клиентов со всего мира), а потом использует его как прокси и гоняет через это подключение трафик до своего VPS для доступа в неподцензурный интернет? Если вы не уверены в ответе на этот вопрос или почему-то ответили "нет", то добро пожаловать в статью.
Я уже не раз рассказывал здесь о технологии XTLS-Reality (1, 2, 3) суть которой в том, что ваш прокси-сервер VPS может очень достоверно маскироваться под какой-нибудь популярный веб-сайт - принимать подключения, которые будут выглядит точно так же, как обращения к настоящему сайту, отвечать на них полностью аутентичным TLS-сертификатом, и в целом вести себя как тот настоящий сайт. Единственная проблема - сам IP-адрес. Немного подозрительно, когда к какому-нибудь якобы www.google.com постоянно обращается только один пользователь, а IP-адрес этого сервера на самом деле даже не относится к автономной сети Google.
Еще я рассказывал о разных вариантах проксировать трафик посредством вебсокетов и простых HTTP-туннелей через различные CDN
, такие как Cloudflare и Gcore. Вероятность того, что под блокировку попадет вся CDN гораздо ниже, чем что забанят какой-то один сервер или диапазон хостера, но та схема требовала регистрацию своего домена для работы через CDN.
И наверняка многим в голову приходила идея, а нельзя ли как-нибудь совместить эти два механизма? Проксироваться через CDN, но при этом "прикрываясь" каким-нибудь чужим доменом? Ответ: да, можно, и сейчас мы посмотрим, как именно.
OSINT: инструменты
Современные реалии таковы, что большинство людей в своих социальных сетях сами пишут на себя досье. В этой статье вы узнаете о некоторых инструментах, которые помогут вам узнать о человеке максимум.
Искусство создания понятных графиков
Эта статья — субъективное эссе о хороших и плохих практиках в визуализации данных, в нём приведены примеры и объяснения.
В папке
Scripts/
на Github есть файлы .Rmd
, генерирующие показанные ниже графики. Для их работы требуются R, RStudio и пакет rmarkdown.- R: Скачать R
- RStudio: скачать RStudio
- rmarkdown можно установить при помощи интерфейса установки пакетов в RStudio
«Дюна» – от Герберта до Вильнёва
Всё началось с экологического эксперимента. В конце 1950-х Министерство сельского хозяйства США искало способы остановить распространение песчаных дюн в штате Орегон. Для этого необходимо было отыскать растение, способное выжить на песках и постепенно скреплять почву, делая её пригодной для других растений. Ну то есть задача буквально состояла в том, чтобы озеленить пустыню.
Писатель-фантаст Фрэнк Герберт ранее уже интересовался темой экологии и влияния человека на природу нашей планеты, поэтому он решил написать статью об этом эксперименте. Увы, но текст так и не был опубликован – редакция сочла его недостаточно конкретным, ему недоставало четкости, а Герберт не стал его дорабатывать.
Позднее, в 2005-ом году статья «Они остановили движение песков» всё-таки увидела свет. Она вошла в книгу «Путь к Дюне» наравне с другими наработками к роману.
Но мы забежали вперёд…
Как получить первый опыт работы: 11 платформ для IT-волонтерства
Периодически публикую, как найти первую работу в аналитике данных. И в этом посте один из вариантов, но не только для аналитиков данных, но и для разработчиков, маркетологов, дизайнеров, менеджеров и др вакансий в IT и digital.
Точечная маршрутизация по доменам на роутере с OpenWrt
Статья о том, как настроить точечный обход блокировок по нужным доменам на роутере с OpenWrt. На мой взгляд, это самый удобный способ, который можно реализовать сейчас.
Я предоставляю уже готовый конфиг с самыми востребованными доменами, который можно дополнять.
Настроить роутер можно с помощью скрипта. Если вдруг не заведётся сразу, то другим скриптом можно найти, что не работает. Настройка с помощью Ansible никуда не делась, только модифицировалась и стала лучше.
Помимо инструкций по настройке туннелей Wireguard и OpenVPN, написал инструкцию по использованию технологий, которые помогут в обходе блокировок по протоколу: Shadowsocks, VLESS и прочими.
Как ответить на вопрос «Когда будет готово?» на основе статистики
Всем привет! Я Анастасия Жадринская, деливери-менеджер в Тинькофф. Да, эта статья опять про оценки и сроки выполнения задач. Сроки без вуду, астрологии, гаданий и привлечения экспертов. В статье рассмотрю метод Монте-Карло — элегантный и простой в применении математический подход для прогнозирования сроков завершения проектов или объема выпуска задач.
О точности вычислений: как не потерять данные в цифровом шуме
Специалист отдела перспективных исследований компании «Криптонит» Игорь Нетай изучил процесс потери точности вычислений и написал библиотеку, доступную на GitHub, которая помогает разработчикам контролировать точность расчётов на каждом этапе вычислений. Данная библиотека особенно актуальна в сфере машинного обучения и анализа (больших) данных, где накопление ошибок может сильно искажать результат.
DataOps — Развеивание тайн — Часть 5
DataOps (Data Operations) - это гибкая, процессно-ориентированная методология разработки и предоставления аналитических данных. Она включает в себя практики и технологии для повышения качества и скорости аналитики, включая статистику, исследование данных и машинное обучение. Цель - улучшить взаимодействие и ускорить цикл предоставления аналитических данных, подобно тому, как DevOps повлиял на разработку программного обеспечения.
Зачем нужна денормализация баз данных, и когда ее использовать
В нашем блоге на Хабре мы не только рассказываем о развитии своего продукта — биллинга для операторов связи «Гидра», но и публикуем материалы о работе с инфраструктурой и использовании технологий.
Недавно мы писали об использовании Clojure и MongoDB, а сегодня речь пойдет о плюсах и минусах денормализации баз данных. Разработчик баз данных и финансовый аналитик Эмил Дркушич (Emil Drkušić) написал в блоге компании Vertabelo материал о том, зачем, как и когда использовать этот подход. Мы представляем вашему вниманию главные тезисы этой заметки.
Как продлить время автономной работы телефона (VPN+DNS)
Надо было мне разобраться получше с iptables и ansible, а для этого нужна задачка. Задачка была выбрана такая: поднять свой VPN сервер с возможностью резки рекламы и прочего spyware.
Суть происходящего при резке рекламы с помощью DNS сервера состоит в том, что когда клиент спрашивает сервер какой IP адрес сопоставлен имени хоста, то DNS сервер отвечает ему 0.0.0.0 В итоге клиент ходит сам к себе и быстро получает отказ, так что не пользуется для этого модемом связи в случае с телефоном. Что экономит батарейку не просто на процент, а при моем режиме использования телефона время автономной работы выросло с 8-10 часов до 23.5. Специально засекал и был мягко говоря удивлен. Как показала практика 85% запросов от телефона это spyware.
Ansible был выбран потому, что для настройки всего даже на настраиваемый сервер заходить не надо, просто нужен доступ по ssh к нему. После настройки конфиги для подключения к VPN будут лежать в папке с плейбуком. Да и сам запуск это одна команда. Не люблю я запоминать, что я там пять лет назад настроил и Ansible для того что бы этого не делать идеален, не говоря уже о прочих его достоинствах. Запустил у себя на ноуте плейбук, он все тебе на сервере настроил, потом отсканил QR код на телефоне, работает.
В качестве DNS сервера с возможностью резать телеметрию и прочую гадость был выбран Pi-hole DNS. Просто потому, что он очень не требователен к ресурсам и мне хватает на амазоне t3.nano ноды, которую мне дали бесплатно на год. При этом я видел на DigitalOcean готовый дрополет Pi-hole VPN, но он прибит к этому провадйеру, а мой плейбук я пробовал уже на двух разных и он просто пашет, плюс там видно все, что он делает. Плюс ко всему при установке он закачивает более 5млн бан записей в DNS что бы не искать их потом.
Бестолковые телеграм боты и статический адрес в Outline
Во времена блокировок некогда популярного VPN протокола Wireguard слава перешла к другому, еще более упрощенному по способу подключения через протокол Shadowsocks, многие из вас знаю о нем по приложению Outline.
Вот только многие из авторов надежных и доступных персональных vpn-сервисов быстро забывают о комфорте пользователя, ваши статичные ключи, привязанные к IP вашего сервера за 500р выглядят максимально безнадежно.
Очень грустно, что люди, готовые брать ответственность за ваш трафик - не готовы уделить время на чтение документации по генерации динамических ключей, с помощью которых, можно не затрагивая пользователей менять координаты хоть на каждый факт подключения.
Примеры формулировок требований по правилам руководства по написанию требований от INCOSE
Примеры формулировок требований в соответствии с руководством по написанию требований от INCOSE
Статья содержит примеры формулировок требований как правильных (т.е. с точки зрения соответствия правилам руководства), так и неправильных (т.е. с точки зрения нарушения правил руководства).
СУБД Redis и её автор antirez, программист и фантаст
Сальваторе Санфилиппо aka antirez — итальянский программист, проживающий в Катании (на острове Сицилия). Провинциальное местонахождение не мешает звезде IT-индустрии: он известен на весь мир как автор СУБД Redis. 46-летний antirez входит в число самых авторитетных и талантливых программистов-одиночек с хакерским бэкграундом.
В 2020 году он завязал было с программированием, чтобы целыми днями писать научную фантастику. Но закончив книгу, в конце 2022-го снова вернулся к коду. Оказалось, что между литературным творчеством и программированием сложных систем много общего.
ISO 26262-6 разбор документа (или как писать безопасный софт)
ISO26262 это международный текст, который объясняет как создавать безопасный и высоконадежный встраиваемый софт для мотоциклов, автомобилей, грузовиков и автобусов.
В этом тексте я попробовал разобраться с тем как понять автомобильный стандарт функциональной безопасности ISO26262 в той части, которая относится к требованиям к программному обеспечению (часть 6).
-----
Виды баз данных. Большой обзор типов СУБД
Часто, в обзорах видов баз данных упоминают реляционные и “другие”, “NoSQL” и т.д., либо приводят самые основные типы СУБД (базы данных), забывая о редких. В данной статье я постараюсь описать максимально полно виды баз данных и привести примеры конкретных реализаций. Разумеется, статья не претендует на всеохватность и классифицировать базы данных можно по разному, в том числе по типам оптимальной нагрузки и т.д., но надеюсь, она даст базовое представление о видах СУБД и принципах их работы.
В статье мы рассмотрим следующие типы баз данных:
Информация
- В рейтинге
- 1 301-й
- Откуда
- Россия
- Зарегистрирован
- Активность