OutWiker 3.0.0.846 unstable с викистилями

OutWiker 3.0.0.846 unstable с викистилями

И снова привет! Сегодня выложил следующую нестабильную версию OutWiker. Как я и обещал, новая версия получила номер 3.0, а точнее — 3.0.0.846. Переход на версию 3.x намечался вместе с переходом на Python 3 и wxPython 4, потому что цифры 2.1 уже не отражали масштаб изменений в программе.

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

Читать далее…

Третий доклад на Moscow Python Meetup

Месяц назад я выступил на ежемесячной московской конференции программистов на Python — Moscow Python Meetup. Это уже третий доклад, который я делал на этой конференции — два предыдущих были в прошлом году (первый и второй). В этот раз я рассказывал о том, как работает сборка OutWiker. Не знаю как для всех остальных, но для меня этот доклад оказался особенно полезным, потому что после него подсказали интересные идеи и новости, а ещё на этой конференции мы развиртуализировались с Владимиром Тубольцевым, который в последнее время много интересного сделал для OutWiker-а.

Что касается комментариев и вопросов к докладу. Меня почти убедили, что для сборки можно использовать Docker вместо виртуальных машин. До сих пор мне казалось, что если нужно делать сборки для 32- и 64-хбитных процессоров, то Docker здесь не поможет. После доклада меня заверили, что все будет OK, так что можно будет попробовать.

Путаница произошла с версиями Fabric. Дело в том, что изначально OutWiker использовал Fabric 1, который работает только под Python 2.x, но после перехода на Python 3 оказалось, что есть версия Fabric, работающая под Python 3.x — Fabric 3. А буквально за полторы недели до доклада внезапно вышла новая версия Fabric — Fabric 2 с полностью переработанным API, поэтому то, что я рассказывал в докладе и в статье уже устарело, поскольку новый API был переделан полностью, и от старого Fabric мало что осталось. Поэтому скорее всего один из вопросов на видео был про Fabric 2, но я этого не понял. Теперь с версиями Fabric полная чехарда — версия 2 новее версии 3.

А теперь видео доклада:

Читать далее…

OutWiker 2.1.0.844 unstable с измененным форматом заметок

OutWiker 2.1.0.844 unstable с измененным форматом заметок

Снова привет. Сегодня выложил следующую нестабильную версию OutWiker под номером 2.1.0.844 с большим количеством изменений, которые уже заметны пользователям, а не только тем, кто копается в исходниках программы. С момента прошлой версии я взялся за исправление ошибок, чтобы постепенно доводить программу до стабильной версии, и сделал одну штуку, которую должны оценить те, кто хранит свои заметки в какой-нибудь системе контроля версий типа git, svn и т.п. Давайте про неё сначала и расскажу.

До сих пор все свойства заметок хранились в файлах __page.opt, который каждой заметки свой. В OutWiker до сих пор не было единого файла, в котором хранилась бы какая-то общая информация о всем дереве заметок. Это сделано для того, чтобы вы могли открывать любую заметку дерева как отдельное полноценное дерево заметок, в котором каждая заметка хранит всю информацию о себе.

Читать далее…

Книга Уолтера Айзексона «Альберт Эйнштейн»

Эту книгу мне подарила жена на новый год, зная, что я с большим интересом прочитал две другие книги Уолтера Айзексона — «Инноваторы» и биографию Стива Джобса. Книга оказалась очень кстати, поскольку после прочтения великолепной книги Манжит Кумар «Эйнштейн, Бор и великий спор о природе реальности», я хотел почитать биографию Эйнштейна, но первая попытка оказалась неудачной — мне в руки попалась книга из серии ЖЗЛ авторства Максима Чертанова, и это был тихий ужас. Язык такой, как будто тебе про Эйнштейна рассказывает гопник с бутылкой пива, сидя на ступеньках в подъезде, постоянно вставляя своё личное мнение обо всем. Книгу я закрыл уже где-то на 50-й странице. Кстати, в серии ЖЗЛ есть ещё одна, переводная, книга про Эйнштейна, которую написал Лоран Сексик, но про неё ничего сказать не могу — пока не читал.

Но давайте все же вернёмся к книге Айзексона. Первое, что бросилось в глаза, когда я увидел эту книгу, её объем — более 800 страниц. Такую книгу в метро не почитаешь. И после этой книги Айзексона как писателя-биографа я зауважал ещё больше. Автор очень аккуратно выполнил свою задачу — скрупулёзно проработал огромное количество источников — письма, документы, в том числе и недавно рассекреченные, пообщался с другими учёными, которые до него уже занимались исследованием жизни Эйнштейна. В результате только примечания с указанием списка использованных источников занимает 100 страниц, и ссылки на эти источники указаны практически после каждого абзаца. Во введении автор пишет благодарности многим учёным, которые смотрели рукопись книги, вносили уточнения или помогали найти какие-то новые материалы. Среди них есть профессора, в том числе нобелевский лауреат Мюррей Гелл-Манн, и Брайан Грин, автор замечательной книги про теорию струн — Элегантная вселенная.

Читать далее…

OutWiker 2.1.0.842 unstable и обновления плагинов

OutWiker 2.1.0.842 unstable и обновления плагинов

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

Читать далее…

Переезд на HTTPS

Переезд на HTTPS

Сегодня взял себя в руки и перевел этот сайт на протокол HTTPS.

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

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

Приключения с установкой Ubuntu 18.04

Приключения с установкой Ubuntu 18.04

На днях вышла очередная версия Ubuntu под номером 18.04, которая к тому же будет версией с длительным сроком поддержки. Майские праздники — хорошее время для обновления системы, если что-то пойдет не так, то есть время повозиться и разобраться с проблемами. А проблемы возникли.

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

Читать далее…

OutWiker 2.1.0.840 unstable с новыми панелями инструментов

OutWiker 2.1.0.840 unstable с новыми панелями инструментов

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

Программисты в последнее время все чащи стали использовать термин «технический долг» применительно к разработке программ. Мне очень нравится этот термин своей точностью. Технический долг — это то, что когда-нибудь в любом случае надо будет исправить в программе, и часто, чем дольше откладываешь «момент расплаты» по такому долгу, тем сложнее становится его закрыть. В последнее время при разработке OutWiker-а большая часть времени уходила на покрытие таких долгов. Сюда можно отнести переход на wxPython 4 (поскольку возникли проблемы с wxPython 3.0.2 в новых версиях Ubuntu) и Python 3.x (поскольку все идет к тому, что дистрибутивы Linux скоро перестанут включать в себя Python 2). За прошедший месяц удалось избавиться от еще двух крупных технических долгов, о чем я сейчас и расскажу.

Читать далее…

OutWiker 2.1.0.838 unstable и другие новости проекта

OutWiker 2.1.0.838 unstable и другие новости проекта

Сегодня выложил следующую нестабильную версию OutWiker под номером 2.1.0.838 и новые версии некоторых плагинов. За месяц, прошедший с момента прошлой нестабильной версии, в которой был проведен переход на Python 3 и wxPython 4, были обнаружены некоторые ошибки и проблемы, часть из них были исправлены в этой версии. Да и вообще новостей накопилось много.

Я не буду подробно описывать исправленные ошибки и небольшие исправления в интерфейсе. Эти изменения коснулись также плагинов ExternalTools, Snippets и TeXEquation.

Пока остались нерешенными две проблемы. Во-первых, оказалось, что в Ubuntu 16.04 не работает иконка в трее. Судя по всему из-за недоработки в библиотеке wxPython, багрепорт я уже отправил в багтрекер. Robin Dunn, основной разработчик wxPython как-то неопределенно ответил по поводу того, исправлена эта ошибка или нет.

Читать далее…

Книга Уильяма Шоттса «Командная строка Linux»

Графический пользовательский интерфейс
делает простые задачи еще проще,
а интерфейс командной строки
делает сложные вещи выполнимыми.

Цитата из книги.


Решил я недавно прокачать свои знания про bash — в первую очередь разложить по полочкам для себя те конструкции языка, которыми иногда пользуюсь, но которые вызывали вопросы. Для этого решил прочитать книгу Уильяма Шоттса «Командная строка Linux», которая вышла на русском языке в прошлом году. И знаете, это, пожалуй, лучший учебник по командам Linux и консоли, который мне попадался. Если вы только собираетесь изучить программирование на bash, то эту книгу можно советовать в качестве основ.

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

Читать далее…