Архив по категории ‘софт’.

OutWiker 4.1.0.976 beta 1

OutWiker 4.1.0.976 beta 1

Ну что ж, начнем новый сезон нашего сериала. В смысле, начнем делать новую версию OutWiker под номером 4.1. В этот раз планирую не затягивать с релизом, а выпустить до него только две-три беты, чтобы потом приступить к версии 5.0 с более крупными изменениями. Можно сказать, что в версию 4.1 попадут те исправления и улучшения, которые я не успел добавить в версии 4.0. Версия 4.1 по-прежнему продолжит работать в Windows 7, обновления HTML-рендера в этой версии не будет (версию с новым HTML-рендером я ковыряю параллельно). В этой версии изменения будут в основном направлены на улучшение интерфейса без масштабных его переделок, на обновление используемых библиотек и исправление проблем, которые были замечены с момента релиза OutWiker 4.0.

Читать далее ‘OutWiker 4.1.0.976 beta 1’ »

Создание презентаций с помощью Marp

Создание презентаций с помощью Marp

Недавно я решил для создания презентаций уйти от PowerPoint и его аналогов и попробовать софт, который их генерирует по текстовым файлам. Конечно, для такой задачи в первую очередь в качестве замены напрашивается LaTeX, но я пока не готов тратить много времени на погружение в эту экосистему и полноценно изучать этот язык разметки, поэтому начал искать менее очевидные варианты. По описанию меня заинтересовали несколько инструментов — это Marp, Slidev и связка reveal.js + Pandoc. По-хорошему, надо бы попробовать их все, но я пока успел применить на практике только Marp, который, вроде бы, считается более простым в использовании. Оставшиеся два варианта, как утверждают искусственные интеллекты, предназначены для тех, кто хорошо разбирается во фронтенд-разработке. Я себя к фронтендерам совсем не отношу, поэтому оставил Slidev и reveal.js на потом, хотя по описанию Slidev мне сначала понравился больше остальных. Ну и забегая вперед, при использовании Marp поверхностные знания CSS мне тоже пригодились.

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

Читать далее ‘Создание презентаций с помощью Marp’ »

Про OutWiker и Wayland

Про OutWiker и Wayland

Начал потихоньку заниматься следующей версией OutWiker. В первую очередь взялся за проблему запуска приложения под Linux с графическим окружением на основе Wayland. В этом посте расскажу, как идет работа в этом направлении. Сразу предупрежу, что будет много технических терминов, связанных исключительно с Линуксом.

Для не линуксоидов, которые зачем-то читают этот пост, надо дать некоторые пояснения, не вдаваясь в глубокие технические детали. Дело в том, что в операционных системах на основе Unix / Linux есть два протокола, которые используются для отображения графики. Первый — это X11, который начинал разрабатываться еще в 1980-х годах, и который до сих пор живее всех живых. Однако в 2008 году появилась его альтернатива — Wayland, который по задумке со временем должен вытеснить X11. Проблема в том, что множество программ, которые создавались с расчетом на X11, не всегда гладко переносятся на Wayland, и даже современные версии многих приложений не очень хорошо работают — если вообще запускаются — под Wayland.

Читать далее ‘Про OutWiker и Wayland’ »

Про дальнейшее развитие OutWiker

Про дальнейшее развитие OutWiker

После релиза OutWiker 4.0 пришло время подумать о том, в какую сторону развивать программу дальше. Идей по этому поводу у меня много, и я не называю это планом, вряд ли все эти хотелки упихнутся в одну версию. Это больше напоминает мешок с задачами, из которого я буду вытаскивать по одной задаче, руководствуясь принципом «кажется, это сейчас можно сделать». Есть несколько дальнейших путей развития приложения, где-то эти пути пересекаются, а где-то идут параллельными тропами. Далее я попробую логически сгруппировать задачи, которыми можно заняться в ближайшее время.

Читать далее ‘Про дальнейшее развитие OutWiker’ »

OutWiker 4.0 release!

OutWiker 4.0 release!

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

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

Читать далее ‘OutWiker 4.0 release!’ »

Про книгу «Глубокое обучение. Погружение в мир нейронных сетей»

Некоторое время назад мне захотелось получше разобраться с тем, как устроены современные нейронные сети. До этого мои знания о них были на уровне 60-70-х годов прошлого века. Я имел какое-то представление о многослойных перцептронах, функциях активации в виде сигмоида, алгоритме обратного распространения ошибки и, кажется, все. При этом некоторые книги, которые мне довелось полистать, тяготели к двум крайностям. Либо это были чисто математические работы для математиков, либо книги в стиле «берем библиотеку X, импортируем функцию Y, все работает». Хотелось почитать книгу, после которой можно было бы более осмысленно использовать какую-нибудь библиотеку вроде TensorFlow, понимая, каким образом построить архитектуру сети. В этот момент мне попалась книга трех авторов: С. Николенко, А. Кадурина и Е. Архангельской под названием «Глубокое обучение. Погружение в мир нейронных сетей». Полистав ее, я увидел, что формулы в ней присутствуют, но кроме формул есть еще много текста и картинок со схемами, и даже код встречается. В общем, решил я почитать эту книгу.

Читать далее ‘Про книгу «Глубокое обучение. Погружение в мир нейронных сетей»’ »

Про OutWiker и Rust

Про OutWiker и Rust

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

Потом я немного увлекся и решил попробовать написать на Rust самую базовую часть OutWiker, которая отвечает за загрузку дерева заметок, их хранение и обработку внутренних событий. Почти неделю я занимался тем, что перекладывал ссылки из одного контейнера в другой, чтобы borrow checker был доволен, и при этом архитектура была более-менее сносная. Пока процесс выстраивания архитектуры продолжается.

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

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

OutWiker 4.0.0.972 beta 7. Почти релиз

OutWiker 4.0.0.972 beta 7. Почти релиз

Лишний выходной по поводу первого мая — хороший повод выложить новую бета-версию OutWiker. Я надеюсь, что это будет последняя бета перед релизом, если я не наткнусь на какой-нибудь страшный баг, который заставит переписывать половину программы, и что у меня не возникнет внезапного желания добавить какую-нибудь крупную новую возможность в ближайшие две недели (спойлер: не возникнет). Перед релизом единственное, что хочется сделать — это нарисовать еще несколько новых векторных значков на замену старых растровых.

А пока расскажу, что я сделал в этой версии.

Читать далее ‘OutWiker 4.0.0.972 beta 7. Почти релиз’ »

OutWiker 4.0.0.970 beta 6. Начал обновлять документацию

OutWiker 4.0.0.970 beta 6. Начал обновлять документацию

Выложил следующую бета-версию OutWiker под номером 4.0.0.970. Вообще-то я думал, она станет последней бета-версией перед релизом, но даже несмотря на то, что выход этой версии немного задержался, я не успел сделать все, что планировал, поэтому релиз отложим еще как минимум на одну бету. Самое крупное изменение в этот раз связано с тем, что я начал обновлять справку по программе и погряз в этом деле.

Читать далее ‘OutWiker 4.0.0.970 beta 6. Начал обновлять документацию’ »

Про тайловые оконные менеджеры в Linux

Про тайловые оконные менеджеры в Linux

Давно я себе не усложнял жизнь при работе на компьютере. Решил установить какой-нибудь тайловый оконный менеджер на домашний Линукс и попробовать поработать с ним. После прочтения нескольких статей остановился на i3. Когда-то я пробовал AwesomeWM, но это было очень мимолетное знакомство.

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

Кстати, именно тайлинг, когда окна группируются на экране в виде плиток, я не использую, у меня обычно окна развернуты на весь экран. Вот и сейчас пока писал эту заметку, понял, что я хочу вкладки окон перенести вниз, а панель с рабочими пространствами и информацией о текущем состоянии системы — наоборот наверх. Сейчас пойду копать, что для этого надо поменять в конфигах (сначала спрошу у ИИ), просто так перетащить мышкой их не получится.

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