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

Задумался о том, что возможно HTML всё таки не лучший формат для написания книги: здесь много тегов и не очень удобное форматирование, в результате чего требуются избыточное время и трудозатраты.

Ещё есть сомнения по поводу того насколько корректно формулы на MathJax будут отображаться в pdf. Однако я думаю, что даже если с формулами возникнут проблемы, то HTML довольно хорошо конвертируется в другие форматы и всегда есть возможность поиграть скриптами.

В крайнем случае можно написать самостоятельно конвертатор в латех.
#evolution

Занялся изучением байесовского машинного обучения. Несколько последних эпох обучения дали интересную методологию изучения. Попутно я вернулся к идее заняться вебом.

В чём идея 💡
1. При изучении какого-то материала я его изучаю, как минимум дважды. Первый раз ознакомительно-оценочны. Второй запоминающий (если идея была оценена, как полезная). Последующие для более глубокого погружения или запоминания. Как вы понимаете, читаю я крайне медленно.
2. При втором прочтении я так же рисую граф понятий и идей.
3. При третьем прочтении знания извлекаются и заносятся в базу знаний.

База знаний
Я уже как-то создавал сайт с базой знаний, но тогда эта идея была неэффективной: занесение знаний в неё было сложной задачей, а база была плоской. В текущей версии я думаю ограничить глубину графа семантически. Пока я не придумал, как именно это сделать, но уже есть какие-то идеи.
#evolution

Сделал сегодня утром граф по базовым идеям баесовского машинного обучения.

В хорошем качестве не покажу, ибо кринге, а я вас люблю, так что кину ссылочку, когда сделаю что-то достойное такой аудитории 😊
#evolution

Потихоньку пишу базу знаний. Накидал ветку по сложности ML алгоритмов. Теперь предстоит под это написать кучу текста. Как будет готов граф, покажу здесь. После этого предстоит верстка и хосинг сайта. Дело не быстрое.
#todo

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

Чтобы этого избежать, решил в очередной раз попробовать намутить свой. Это не будет хорошим оптимизированным приложением, которое можно будет продовать. Суть даже не в том, что мне нужен новый todo менеджер. Их полно в плеймаркете. Я хочу попробовать сделать такую штуку в игровом движке godot4. То есть это интересно больше с точки зрения освоения игрового движка и его ui состовляющей. Я всегда поражаюсь насколько в играх порой красивые интерфейсы мутят.

Ниже наброски задач на 3 версии. Выйти бы хотя 1 😂
#lib

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

Лучше всё-таки идти сверху вниз, а не снизу вверх. Поэтому в либе будут 3 кластера:
1. Pipeline - с практически значимыми функциями, вплетенными в общие интерфейсы, архитектурный подход с документацией и тестами.
2. Experiments с реализациями базовых вещей, экспериментами и туториалами по ним, которые планируется использовать так же в образовательных целях, и как интерактивное дополнение к книге.
3. Algorithms. Идея та же, что и с экспериментами, но не на базовых вещах, а на моих кастомных алгоритмах.

Таким образом охватываются все направления, в которых я сейчас работаю в рамках DmML-lab.
👍1🌚1
#todo

Идея делать todo менеджер в godot была страшной. Страшно интересной, страшно непонятной и страшно не оптимальной. Оценив задачу, я понял, что с моими темпами закончу её примерно через половину вечности. Godot был интересен тем, что там можно сделать красивенько, интересно потренить свои навыки создания интерфейсов в игровом движке, и я хотел прикрутить продвинутую геймификацию.

Но в итоге стало понятно, что освоение godot и геймификации далеко, а todo менеджер нужен прямо сейчас. Логичнее всего наверное было бы забить и вернуться к использованию готового, но те, кто знают меня достаточно давно, так же знают, что средства планирования задач я пытаюсь изобрести раза 3 в год каждый год. Так что нужно уже закрыть эту потребность.

Вместо godot пока решил делать на kivy. Фреймворк кроссплатформенный, и я к нему не равнодушен не первый год, хотя мой первый опыт с ним и был неудачным.

Во вложении первый кринж-набросок, который я сделал просто, чтобы вспомнить, как устроен фреймворк.
Dmatryusофрения
Screenshot_20231114_211153_Firefox.jpg
#activity

Если вам интересно, как выглядит лень.
#hypex

Сегодня расскажу немного о своей работе. Настоящей работе в Сбере. Можно было бы даже сказать, что это реклама 😂

Короче. Сбер помимо зарабатывания денег занимается опенсурсом. Причём весь этот опенсурс по лицензии Apache-2. То есть можно использовать как угодно, и ничего тебе за это не будет.

Над одним из них работаю и я, а именно HypEx. Недавно это добро появилось на Github (https://github.com/sb-ai-lab/HypEx). Меня там пока в контребьютерах не видно, но обещают исправить, ибо я там пишу целый модуль (естественно не один).

Так вот, либа предлагает простой интерфейс для проведения A/B тестов, как рандомизированных, так и посредством мэтчинга. Сейчас команда делает основной упор именно на мэтчинг, да и началось всё с него, но я работаю больше над рандомизированными тестами.

В общем, если вам может быть такое интересно, предлагаю ознакомиться и накидать звёздочек 🤩

Буду время от времени рассказывать о релизах свежих.
🤩2
#todo

Намутил минимально юзабельный интерфейс. Кажется, что просто, но на деле очень много подводных камней. Правда пока это только пустой интерфейс без бэкэнда.
🤔1
#activity

Так выглядит продуктивность курильщика:
😁2👍1
#todo

Чуть улучшил интерфейс и добавил кнопочку удаления тасок (она даже работает).
#activity

Может показаться, что я пропал, но креститься не стоит. В последнее время я много занимаюсь HypEx (да и не в рабочее время) и мучу стикосы в телегу.
🫡3
#hypex

Будем учиться у лучших, чтобы сделать HypEx лучшим.
👍1🔥1
#activity

Понял, что проекты идут слишком хаотично, и я постоянно меняю контекст и мало что довожу до финала. Поэтому попробую протестировать следующие решения:
1. Я разработал инструмент приоритезации. Раньше это всегда были очень сложные штуки, детерменирующие контекст для оптимального управления. Сейчас инструмент очень простой без модели описания контекста, а сам контекст задаётся эвентами с субъективной оценкой. Кажется, что этого достаточно.
2. Планирую формализовать цикл разработки проекта, чтобы подход был более упорядоченным и при этом качественным. Как сделаю, расскажу о нём.
3. Создать приоритезированную очередь разработки. О ней напишу ниже.

Приоритезированная очередь разработки:
1. Выбирается наиболее приоритетный проект на основании решения 1.
2. Формулируются требования к этой разработке. Если проект новый, то MVP, если нет, то к новой версии.
3. Когда требования закрыты, версия публикуется.
4. Перерыв после проделанной работы.

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

Кажется, что эти меры могут создать более дисципленированную среду и явные результаты.
#activity

Цикл разработки проекта
Состоит из 4 блоков:
1. Планирование
2. Исследование
3. Разработка
4. Публикация.

Планирование. На этом блоке формируются требования к версии и план её разработки.

Исследование. Здесь изучаются источники информации, из которых черпаются знания и оформляются в какой-то артефакт. Например, тесты существующих решений или просто статья с кратким изложением теории.

Разработка. Здесь происходит вся магия.

Публикация. Работа не будет иметь смысл, если о ней не рассказать и её результатами никто не сможет воспользоваться. Здесь готовятся материалы для публикации.

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