Гибридизация GUI-тулкита с графическим движком на Dlang и SDL, Cairo для канваса, PortAudio и FFmpeg для медиасистемы. Анализ требований по FURPS: функциональность, удобство использования API, пути улучшения надёжности и поддерживаемости.
Поиск причин превращения хорошей архитектуры в плохую: эмерджентность, технические противоречия, сложность, компенсация энтропии. Когнитивные искажения в принятии решений. Влияние возрастной, дифференциальной психологии, различных психических явлений - ощущений, восприятия, внимания, представления, воображения, мышления, памяти разработчика. Психологические и социальные эффекты в группах.
Интерес к электронике, проблемы её сочетания с другими IT-навыками, выбор электронных платформ по уровням абстракций. Охранная сигнализация на ESP32: концепт, требования, датчики. HAZOP-анализ отказов блока питания и датчиков. ETA-анализ рисков в работе ESP-платы. Сложности выбора IoT-платы для будущих экспериментов.
Java библиотека GeoTools, использование с JavaFX. Модель пространственного объекта, его свойства, координаты. Векторная координатная сетка, Open Street Map карты, поддержка разных форматов. Гео-поиск статей с Википедии, маркеры на карте, расчёт расстояний и площади, интеграция Groovy для ECQL-фильтра. 3D глобус.
Библиотека GStreamer, риски использования, проект аудиоплеера, поиск концепта по принципу Парето, SIPOC. Взаимодействие интерфейса и музыки, упрощение дизайна готовой темой Dracula, конкуренция режимов файлового менеджера и плейлиста. Плагины визуализации, спектрограмм, уровней громкости, эквалайзера. Получение информации о тэгах, поддержка MPRIS, воспроизведение видео.
Библиотека GtkSourceView и её возможности, GtkD-биндинги. Выбор конкурентов, обоснование системного языка и оценка рисков проекта по FURPS, нефункциональные и функциональные требования. Место редактора в конкурентной нише, общий концепт программы и вывод функционала по вариантам использования, список возможностей по приоритету MoSCoW, некоторые нюансы реализации.
GTK как замена Flutter в десктопном Linux-приложении, недостатки и преимущества решения. Библиотеки ffi для создания биндингов, минимум необходимого api, проблематика обработки событий и интеграции GTK в event-loop Dart-а, D-Bus для отслеживания сети.
SWOT-анализ JavaFX тулкита, сильные и слабые стороны в контексте FURPS: функционал, юзабилити, надежность, производительность, поддержка. Комбинирование с PEST-анализом для оценки внешних возможностей и угроз. Более полезный Анализ пяти сил Портера, разбор различных конкурентов и конкурентных стратегий.
Сложности выбора стека для мобильной разработки, эксперимент с Flutter и парсером картинок для Reddit под Linux. Архитектурные поправки для Dart: асинхронность, исключения, null safety. Особенности Flutter: рефлексия, десктоп, производительность, DSL-вью и аналогия с Groovy SwingBuilder. Обмен событиями между cli-контроллером и Flutter через два канала, нюансы интеграции в иерархию классов.
Выбор Groovy и библиотек для Domain specific language (DSL) на русском. Особенности Closure, стратегии делегирования, command chain, иерархия делегатов с аннотацией @Delegate. Русскоязычная альтернатива def через Binding, AST-трансформации и метки. Разница между методами и свойствами, включение скриптов друг в друга, поиск аналога assert. Локализация через метапрограммирование.