Dmatryusофрения
42 subscribers
291 photos
10 videos
15 files
148 links
Пишу о книгах, лидерстве, технологиях, opensource, своих проектах и наверное чем-то ещё. Ну и репосты IT приколямб.
Download Telegram
#plot_adapter

Новый проект над которым начинаю работу. Пока рабочее название "Plot Adapter".

В чём идея:
🎮 универсальный интерфейс к разным бэкэндам построения графиков (пока это plotly и matplotlib).
🪛 возможность легко вносить изменения в графики
🗂 изменение группы графиков

Во вложении ориентировочная схема пайплайна.
Dmatryusофрения
#plot_adapter Новый проект над которым начинаю работу. Пока рабочее название "Plot Adapter". В чём идея: 🎮 универсальный интерфейс к разным бэкэндам построения графиков (пока это plotly и matplotlib). 🪛 возможность легко вносить изменения в графики 🗂 изменение…
#plot_adapter

Несмотря на то, что лёг спать вчера в идеальное для этого время, через пару часов сна был разбужен кошкой и уже не мог заснуть. Решил использовать свою бессоницу во благо и занялся продумыванием архитектуры Plot Adapter. Хотел бы я сказать, что можете глянуть наброски в репе, но я забыл запушить.

Если коротко, то при более пристальном взгляде схема, которую я предлагал выше, не работает. Пока новые схемы рисовать не буду. Нарисую уже после реализации mvp, так как есть подозрение, что ещё много раз поменяется.
#plot_adapter

Пока готовлю данные для тестового исследования.

В планах:
1. Собрать данные:
1.1. Валюты
1.2. Металлы
2. Построить статстический метаанализ
3. Сделать визуализацию на matplotlib
4. То же на plotly
5. Воспроизвести оба результата через adapter

Валюты уже собрал. Курс ЦБ относительно рубля С 2000 года. Исходя из задачи, скорее всего буду строить в mvp не только линии, но и тепловые карты.
#plot_adapter

Намайнил данные для MVP PlotAdapter.
Dmatryusофрения
Планирование, как и обещал. Топ 3 проектов по приоритетам:
#activity #plot_adapter

Я пока буду работать над PlotAdapter, раз уж так исторически сложилось. Как будет MVP, посмотрим на то, как изменится приоритезация.

Сейчас по планам сделать исследование добытых данных классическим кодом на matplotlib и plotly, чтобы затем думать, как это имплементировать в метаархитектуре PlotAdapter.
👍2
#plot_adapter

Первые результаты работы либы с разными бэкэндами.

Пока она умеет только линии рисовать без настроек)
👏1🤔1
#plot_adapter

Схематичные планы на развитие PlotAdapter. Несмотря на первые успехи и результаты, предстоит ещё преодолеть множество вызовов. Но, кажется, что уже MVP версия будет более-менее удобоваримой для анализа временных рядов, так что будем с неё начинать историю публикации либы.
🔥3
#plot_adapter

Добавил фичу суммирования графиков (пока только matplotlib).

Код выглядит следующим образом:
slp = LinePlot("matplotlib") # Создание объекта графика
slp.build(smes) # Построение графика для данных с надбавкой
lp.build(mes, backend="matplotlib") # Перепостроение графика изначальных данных
# с использованием бэкэнда matplotlib
s = lp + slp # Совмещение графиков

В картинках это выглядит так:
👍3
#activity

Пора подводить итоги года!

🗂 Новая система планирования проектов. Должна помочь концентрироваться и доводить дела до конца. Пока кажется с этой функцией справляется и не требует на себя много времени.

📖 Книга "Обучение без учителя. Искусство ориентации в энтропии " (#ul_book) была начата, 3 раза поменял концепцию. Пока на паузе. Проект не забрасываю. Он всё ещё один из топовых по приоритетам.

Библиотека для построения ML пайплайнов DmML-lab ( #dmml_lab). Проект был возражден и переработана концепция. Сделал модули анализаторов данных. Больше всего полезно не то, что сделано, а то, что задумано и проверено в рамках работы на либой, ибо эти идеи легли в основу новой архитектуры HypEx и продолжают развиваться там. Я искренне верю, что это будет очень круто. Проект пока опять же заморожен, но не брошен. Он развивается идейно и будет ещё лучше.
Кроме всего прочего это платформа для экспериментов. Я считаю немаловажным достижением разработку алгоритма RadiusDensity. Не хочу его забрасывать и надеюсь довести до публикации, но не в ближайшем будущем.

📊 Библиотека для простой работы с данными StatBox (#stat_box). В этом году почти никак не развивалась. Думаю, что идея этой либы будет лучше раскрыта средствами HypEx в будущем. Так что пока в планах нет развития этой либы.

Todo manager (#todo) Я всё ещё хочу когда-нибудь его сделать 😂

📈 Библиотека кроссбэкэндового построения графиков PlotAdapter (#plot_adapter). Штука над которой я работаю прямо сейчас и довожу её до состояния MVP. Очень большие планы на неё, и я верю в её потенциальную пользу. Может когда-нибудь из этого даже выйдет что-то классное.

😀 Ну и конечно HypEx - моя основная рабочая деятельность. В этом году были разработаны АА и АБ тесты и достаточно круто прокачены АА тесты (ИМХО, можете сами оценить и сказать, что я не прав). Мы с коллегами добавляем новые фичи и активно работаем над новой архитектурой. Моё персональное стремление сделать очень крутой и гибкий инструмент. Хотя кажется, что он будет сложноват, но не для базовых сценириев. Но это спойлеры 😀
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾3
#activity

Перенес публичные репозитории на GitHub. Пошел по наиболее популярному пути чтобы все проекты были в одном месте, да и распространять так легче. Но бэкапы всё равно время от времени буду делать в Gitea.

PlotAdapter (#plot_adapter): https://github.com/Dmatryus/PlotAdapter

DmML-Lab (#dmml_lab): https://github.com/Dmatryus/dmml-lab
#activity

Я понял, что мой стиль - это что-то типа того, чтобы сделать 2 шага вперёд, 1 назад. Проблема в том, что некоторые процессы необратимы, а энтропия не убывает.

Речь пойдёт о системе планирования проектов. Когда она вводилась (сегодня 2 месяца назад ровно, кстати) целью было повышение десциплины ведения проектов и доведения их до конца. Идея отлично показала себя за это время, но всё же дисциплина - не самое важное в ведении хобби проектов. Прежде всего это кайф от процесса, и отвлечение от основной работы.

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

К чему это всё... Решил снизить градус дисциплины и увеличить ротацию проектов. Это уменьшит концентрацию на одном ведущем проекте, но, кажется, должно позитивно сказаться на проектах в целом.

Теперь цикл проекта, не MVP или целая новая версия, а какой-то цельный модуль или идея.

На примере текущего ведущего проекта:
1. MVP PlotAdapter включает в себя полностью написанный, документированный и опубликованный код либы с помощью которой можно сделать простенькое исследование временных рядов (схема в следующем посте). Большая работа, которая требует дисциплины и +- полгода работы.
2. В случае нового планирования для смены проекта достаточно сделать надстройку в виде добавления линейного тренда.

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

// Может создаться впечатление, что я занимаюсь только планированием. На самом деле сейчас прорабатывается новая фича, которая фундаментально меняет процесс в PlotAdapter(#plot_adapter), делая его удобнее, ценой поглощения дополнительной памяти.
🥴2
#plot_adapter

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

Еще одно преимущество такого подхода в том, что в будущем потенциально можно будет не только рисовать графики разными бэкэндами визуализации, но и делать трансформации данных посредством разных бэкэндов, таких как Dask или Spark.
3🗿2🔥1