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

История одного бага или почему OutWiker не использует последние версии wxPython

История одного бага или почему OutWiker не использует последние версии wxPython

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

Эту детективную историю начнем с представления действующих лиц. Для отображения страниц OutWiker использует движок Internet Explorer под Windows и WebKit под Linux. Программа OutWiker написана с использованием библиотеки wxPython, которая предоставляет доступ к этим движкам, причем для работы с WebKit используется компонент WebKitGTK+, который используется в таких не самых известных браузерах как Epiphany и Midori. wxPython может использовать разные версии WebKit, это зависит от того, какие пакеты установлены на компьютере, на котором происходит компиляция библиотеки. Если в системе установлен пакет libwebkit2gtk-4.0-dev (я буду использовать в названия пакетов в Ubuntu), то библиотека wxPython будет собрана с поддержкой более новой версии WebKit 2, а если этого пакета в системе нет, но установлен пакет libwebkitgtk-3.0-dev, то будет использоваться WebKit 1. Причем первая версия WebKit уже считается устаревшей и, например, в Arch Linux она не поддерживается, но все еще находится в репозиторях Ubuntu.

Читать далее ‘История одного бага или почему OutWiker не использует последние версии wxPython’ »

OutWiker 3.0.0.856 unstable и мысли по поводу web-версии OutWiker

OutWiker 3.0.0.856 unstable и мысли по поводу web-версии OutWiker

Под новый год принято подводить итоги, но в этот раз я решил подождать с итогами до объявления OutWiker 3.0 стабильной версией, а вместо этого написать о дальнейших планах, косвенно связанных с OutWiker, и которые я надеюсь реализовать в следующем году. Об этом я скажу во втором разделе поста, а начнем мы с перечисления изменений в новой предновогодней версии OutWiker, которая имеет номер 3.0.0.856.

Читать далее ‘OutWiker 3.0.0.856 unstable и мысли по поводу web-версии OutWiker’ »

OutWiker 3.0.0.854 unstable. Работа над интерфейсом

OutWiker 3.0.0.854 unstable. Работа над интерфейсом

Всем привет. Пришло время выкладывать очередную нестабильную версию OutWiker, которая теперь имеет номер 3.0.0.854. По сравнению с прошлой версией было сделано многое. Можно сказать, что изменения в этой версии были сделаны «по заявкам радиослушателей», то есть сюда в основном вошли улучшения в интерфейсе, о которых мне писали пользователи. Изменения коснулись как основной программы, так и некоторых плагинов.

Читать далее ‘OutWiker 3.0.0.854 unstable. Работа над интерфейсом’ »

OutWiker 3.0.0.852 unstable и формат snap

OutWiker 3.0.0.852 unstable и формат snap

Привет! Сегодня я выложил следующую нестабильную версию OutWiker под номером 3.0.0.852. Если не считать исправления ошибок, то эта версия должна больше заинтересовать линуксоидов.

С версией под Linux всегда было сложно. Когда-то для распространения deb-пакетов OutWiker использовался PPA (Personal Packages Archive). В те давние времена приходилось привязываться к версиям библиотек, которые были в репозиториях Ubuntu разных версий. Но от версии к версии постоянно что-то ломалось, и поддерживать даже две-три версии этого дистрибутива было настоящим мучением. Это даже не ад DLL в Windows — это намного хуже.

После перехода на Python 3 и wxPython 4 такие deb-пакеты в принципе невозможно было создавать, потому что необходимых библиотек в стандартных репозиториях Ubuntu не стало, да и в имеющихся версиях библиотеки wxPython наблюдаются ошибки различной степени критичности. В последнее время для Ubuntu собирается deb-пакет, который содержит в себе бинарную сборку со всеми необходимыми для запуска библиотеками. Такая же сборка выкладывается в виде архива без привязки к формату deb, чтобы программу можно было бы запускать в дистрибутивах, которые не были порождены от Debian. К сожалению, успех запуска такой бинарной сборки гарантировать невозможно, потому что это грязный хак, который должен работать на всех дистрибутивах Linux только теоретически. Возникает вопрос, что делать?

Читать далее ‘OutWiker 3.0.0.852 unstable и формат snap’ »

Книга Стивена Вайнберга «Объясняя мир. Истоки современной науки»

В последнее время в этом блоге посты о книгах перемежаются с постами об OutWiker — сейчас очередь книжного поста.

На этот раз речь пойдет о книге Стивена Вайнберга «Объясняя мир. Истоки современной науки» — научно-популярной книге об истории науки, о развитии научного подхода, о роли экспериментов в изучении мира в различные эпохи. Автор этой книги — лауреат Нобелевской премии по физике в 1979 году и известный популяризатор науки.

Большинство книг по истории науки рассказывают в первую очередь о новом времени, начиная с XV — XVII веков, когда уже начали формироваться современные подходы в научной деятельности, в том числе используя которые Ньютон открыл законы, перевернувшие физику. Вайнберг же в книге «Объясняя мир» в основном сосредоточился на описании того, что было до Ньютона. Все-таки некоторые научные подходы начали формироваться еще до нашей эры, во времена Фалеса Милетского, Пифагора, Архимеда и Аристотеля. Вайнберг хотел показать, насколько эти первоначальные подходы сильно отличались от сегодняшних.

Читать далее ‘Книга Стивена Вайнберга «Объясняя мир. Истоки современной науки»’ »

OutWiker 3.0.0.850 unstable. Заметки с произвольными символами в названиях и новый интерфейс тегов

OutWiker 3.0.0.850 unstable. Заметки с произвольными символами в названиях и новый интерфейс тегов

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

Читать далее ‘OutWiker 3.0.0.850 unstable. Заметки с произвольными символами в названиях и новый интерфейс тегов’ »

OutWiker 3.0.0.848 unstable

OutWiker 3.0.0.848 unstable

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

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

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

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

OutWiker в социальных сетях:

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-теги, что было не красиво с точки зрения идеологии. И вот теперь появилась такая штука, которую условно будем называть викистили (не путайте со стилями страницы), с помощью которых можно устанавливать цвет текста, его фон или более сложные эффекты. Сегодняшний пост будет посвящен этой новой возможности.

Читать далее ‘OutWiker 3.0.0.846 unstable с викистилями’ »

Третий доклад на 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.

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

Читать далее ‘Третий доклад на Moscow Python Meetup’ »

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

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

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

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

Читать далее ‘OutWiker 2.1.0.844 unstable с измененным форматом заметок’ »