Flutter Deep Menu package

Релизнул первый плагин для Flutter.

Изучал как работают анимации, и решил реализовать интерфейс всплывающего меню по долгому нажатию на элемент, как это сделано в приложении Telegram для IOS.

https://pub.dev/packages/deep_menu

Owe me bot

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

Для этого я сделал бота Owemebot которого можно использовать прямо в чате Telegram.

Читать далее Owe me bot

It Takes Two

Пока болели с женой омикрономом, нашлось время поиграть в приставку вместе.

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

Прошли за несколько вечеров, и даже добыли платину 🙂

Космическая Одиссея

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

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

После прочтения этого романа, я понимаю что вся современная фантастика черпала у Артура Кларка своё вдохновение.

Sudoku solver

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

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

Читать далее Sudoku solver

Саморазвитие и свободное время

Каждый художник не может жить без искусства и видит его во всем. Когда он голодный, он все равно будет творить.

У меня возник конфликт в твиттере, и я выразил свое мнение, что на собеседованиях интересуюсь про пет-проекты.

Когда разработчик любит свою профессию, ему хочется развиваться, пробовать новое, глубже изучать сложные технологии и получать вызовы. Основная работа (чаще всего) более скучная, сухая и коммерческая, а для разнообразия интересно заняться небольшими проектами в свободное время. Это возможность опробовать экспериментальные идеи, изучить новое или попробовать другой инструмент и приобрести опыт. А потом этот опыт можно использовать для коммерческой разработки, уже неся этот багаж знаний, опробованный на практике.

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

Широкий взгляд на вещи помогает эффективно решать задачи.

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

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

Лолита

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

Спустя 4 года мы полетели в тот же отель, и я знал какая книга меня ждёт там.

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

Just Read

Бот для телеграмма Just Read

Идея простая: скармливаете или пересылаете fb2 книгу боту в телеграмма, а он вас в ответ ссылку на книгу, которую можно читать прямо в браузере.

Пример книги «Пандемия» Сони Шах — ссылка

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

Работает на любом устройстве, где есть интернет и браузер, можно легко делиться с друзьями и хостится всё прямо в телеграмма (кроме интерфейса). Максимально нагруженный интерфейс, только нативные инструменты для отображения контента.

Технические подробности

Я реализовал библиотеку для конвертации fb2 в html по спецификации (это была интересная задача, люблю такое)

> npm i fb2html

Потом я сделал бота в телеграмме и прямого из него вытаскиваю файл книги и конвертирую в страницу для чтения.

Spritz

Реализовал механизм для скорочтения. Он основывается на canvas, который с помощью генератора показывается поочередно каждое слово с определенным временем.
(Мне казалось это так прикольно, читать быстро. Но я скорее быстро устаю и часть информации просто проходит мимо)

Где мои деньги?

Все началось с того, что я хотел следить на своими финансами. Тогда я еще не знал, как это нудно.

Я попробовал разные программы, которые мне показались сложными или не красивыми, и решил что я сделаю свой вариант.

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

Особенности

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

На тот момент я не нашел подходящий библиотеку для Dran’n’Drop на вью и реализовал свой простенький пример: Vue-pickdrop

При синхронизации мне нужно было мерджить 2 состояния, и я использовал временные метки и оставлял только актуальные изменения.

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

Ссылка на программу

(можно добавить на рабочий стол, и будет работать как обычная программа)