2024 год

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

ObStat

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

ObStat - Лемматический анализ

ObStat - Анализ хранилища

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

ObStat - График чайных кружек

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

Проект активно использует argparse, так что каждый скрипт может выступать не только в качестве визуализации данных о хранилище, но и инструментом для проведения различных наблюдений. ObStat подробно обсуждается в отдельном ролике.

3n+1

Проект визуализации гипотезы Коллатца. Включает генератор graphviz графика и страницу, отображающую плавающие узлы графа расстояний гипотезы.

3n+1 - Граф на сайте

SSRPGS

Редактор сохранений для Stone Story RPG. Расшифровывает файл и преобразует его в JSON формат, который можно как экспортировать, так и отредактировать на месте. Исследование игры было проведено вручную, код шифратора был декомпилирован и изучен с помощью dnSpy.

SSRPGS - Квесты SSRPGS - Локации

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

Исходный код выложен на GitHub, история разработки подробно описана в отдельном ролике.

ControlBox

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

ControlBox - Прохождение уровня

MidnightFarmer

Утилита для упрощения фарма предметов в Borderlands 2. Программа по нажатию клавиши автоматически перезаходит в игру. Так же ведёт статистику прохождения циклов и поддерживает запись выпавшего лута.

MidnightFarmer - Результат фиктивной сессии

Исходный код выложен на GitHub, там же приложено руководство по использованию утилиты.

сGomoku

Игра для StoneJam 7. Вдохновлена одноимённой игрой из бара в Machinarium. В качестве референса исходного кода использовался JavaScript код с этого сайта.

сGomoku - Классическая игра

Игра поддерживает настройку цвета и формы фишек, размера игрового холста. Противник вычисляет оптимальные ходы, так что выиграть эту игру достаточно тяжело. Исходный Stonescript код находится в проекте cAutomation и доступен в директории игр.

LifeTime

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

LifeTime - Отметки создания проектов

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

UniqueWords

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

  • В ПФ-ЦЗЫ ща ждём “угрей”, объяснить ключ-хэш.
  • Ща кпд въелось; ТЦ б миф; жую хэш; чё грязный?
  • Грязнющий, с ПЧК (ждёшь?) объехал ТЦ - эм, фу… вы?
  • Глушь цифр ждёт. Эх, вы Змей? Ща объясню ПЧК.
  • Шэх - чсв лжец: бак грязнющий, подъёмы - тьфу…
  • Эх, йог зряч, съел мёд “Жуть дюн”. Щипцы б в шкаф.

Librix

Курсовой проект по архитектуре клиент-серверных приложений: онлайн библиотека книг. Приложение написано на Django, для оформления использован Bootstrap.

Librix - Список книг Librix - Фауст

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

Moreorea

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

Moreorea - Шахта

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

Pie

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

Для шестнадцатиричной системы сложность вычисления O(1), для десятичной O(n^3•log^3(n)). Каждый из скриптов основан на уже существующих работах, реализованных на других языках программирования.

На GitHub выложены оба скрипта, а так же есть ссылки на статьи и другие работы, на которых был основан код.

Undo history

Небольшой Lua скрипт для генерации истории рисунка в Aseprite. Использует историю возвратов чтобы экспортировать анимацию создания рисунка.

Рисование - Руководство по очистке апельсина