Продолжаю обновлять старые статьи про библиотеку Matplotlib для построения графиков на Python.

В этот раз практически полностью переписал статью про то, как работать с календарными данными, откладываемыми по оси.

С момента написания первоначальной версии статьи прошло 10 лет (ужас какой!) и принципы работы с календарными данными в Matplotlib кардинально изменились (в лучшую сторону). Старые примеры там вообще уже не работали, и не только потому, что были рассчитаны на Python 2.x, но еще потому, что из Matplotlib одни используемые функции исчезли, а другие стали считаться устаревшими. Кроме того, внешний вид графиков в новых версиях Matplotlib намного симпатичнее.

OutWiker 3.3.0.928 beta

OutWiker 3.3.0.928 beta

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

Больше всего меня озадачили сообщения от нескольких пользователей о том, что наблюдаются проблемы с работой программы, запущенной из snap-пакета в Linux (при этом с flatpak все нормально). У себя пока я эту проблему отловить не смог (попробовал на двух компьютерах с Manjaro и Ubuntu), попробую еще в виртуалке с разными настройками поиграться.

Все пожелания, которые мне присылали, я записал в Issues на github. Если что-то забыл, то пишите лучше сразу туда (не важно, на русском или английском языке). Если вы напишете мне на почту или в Телеграм, то я постараюсь сам добавить запись на github, но могу забыть. В дальнейшем я хочу постараться более осмысленно использовать issues, а то по опыту работы могу сказать, что большинство изменений, которые были сделаны в прошлой версии, в issues не отражались. Надо себя как-то дисциплинировать с точки зрения программерского процесса.

А теперь перейдем к новой бета-версии под номером 3.3.0.928, которая начинает новую ветку OutWiker 3.3. В августе, пока я был в отпуске, удалось достаточно много сделать. Те, кто следит за развитием OutWiker в специально заведенном для этой цели Телеграм-канале @OutWiker, уже знают, чем я занимался, а остальным сейчас расскажу. 🙂

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

О мышах и лазерах

О мышах и лазерах

Когда-то давно, примерно в 2015 году, когда я выбирал мышку для ноута, который я использую для чтения лекций студентам, наткнулся на интересный экземпляр мыши A4Tech G10-660HL. Внешне это обычная беспроводная шестикнопочная мышь, но у нее была одна гениальная особенность — в том месте, где у хвостатых особей выходит провод, у этой встроена лазерная указка. И вообще этот девайс позиционировался как мышь для презентации. К ней даже прилагался пластиковый коврик a la палитра художников. То есть подразумевалось, что докладчик в одной руке держит этот коврик, а другой елозит по нему мышкой. Эту особенность я не оценил, и пластиковый коврик сразу куда-то забросил. А вот лазерная указка в мышке очень выручала. С помощью софта можно настроить, на какую кнопку надо нажать, чтобы включился лазер (и вообще мышку можно запрограммировать на пять режимов с разными настройками кнопок). Таким образом я все эти годы обходился без отдельного кликера или отдельной лазерной указки.

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

OutWiker 3.2 Release!

OutWiker 3.2 Release!

В последних бета-версиях OutWiker изменения были не особо крупные, многие из них относились к системе сборки и к наведению красоты кода (рефакторингу). Поэтому хватит выкладывать бета-версии, пора очередную версию назвать релизом!

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

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

OutWiker 3.2.0.924 beta

OutWiker 3.2.0.924 beta

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

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

OutWiker, Flatpak и WebKitGTK

OutWiker, Flatpak и WebKitGTK

Этот пост можно считать продолжением предыдущего, в котором я рассказывал о работе OutWiker в виде flatpak-пакета под Linux. В том посте я обещал рассказать о том, почему OutWiker до сих пор собиралась со старой версией runtime, а если быть более корректным, со старыми версиями org.gnome.Platform и org.gnome.Sdk, и как на днях эта проблема внезапно решилась, благодаря чему следующие версии OutWiker уже будут собираться со свежими версиями этих библиотек.

Чтобы понять, в чем заключается проблема, я нарисовал схему зависимостей OutWiker от библиотек, которую сейчас подробно опишу:

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

Flatpak. Решение проблемы с долгим запуском приложений

Flatpak. Решение проблемы с долгим запуском приложений

Если вы читаете меня в Телеграм-канале (а если нет, то это повод начать), то уже читали пост о том, что после недавнего крупного обновления Manjaro Linux (на основе Arch Linux) у меня сломался OutWiker — возникли проблемы flatpak-пакетом, и даже из исходников его еле удалось запустить. Если еще не читали, то вот ссылки на начало и продолжение (в один пост не уместилось). Теперь я начинаю разгребать последствия.

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

Книга Стива Макнила про старые компьютерные игры «Hey! Listen!»

Давненько я не брал в руки шашек книжек по истории IT. Книга Стива Макнила «Hey! Listen!» на меня уже давно с укоризной смотрела, стоя на полке рядом с другими еще не читанными книгами на эту тему. Наконец, я до нее добрался.

Автор этой книги — один из ведущих британского шоу о компьютерных играх «Dara O Briain’s Go 8 Bit», а к тому же еще и комик, поэтому на протяжении всей книги он пытается острить, имхо, не очень смешно (возможно, это такой британский юмор), а потом еще сам иронизирует по поводу своих шуток. Выглядит местами странно, и судя по некоторым отзывам, кого-то это раздражает, но меня его шутки как-то не бесили.

Полное название книги «Hey! Listen! Путешествие по золотому веку видеоигр». Здесь подразумеваются 80-90-е годы прошлого века, и автор честно заявляет, что это его субъективный взгляд, хотя на самом деле книга охватывает более широкий диапазон времени. Эта книга даже не столько про игры, сколько про развитие игровой индустрии, начиная с пинбольных столов и первой игры в теннис на экране осциллографа и примерно до конца 1990-х годов, иногда заглядывая в начало 2000-х. Макнилу неплохо удалось показать переходы от повсеместного распространения одного типа дейвайса для игр к другому: от механических игровых автоматов к цифровым, затем появление приставок, затем появление PC и конкуренция этой платформы с приставками за игроков, особенно после выхода Windows 95 и DirectX. В книге упоминается огромное количество игр, но ни на одной из них автор долго не задерживается, в основном рассказывая про производителей «железа» — сначала пинболов, затем игровых автоматов, потом приставок.

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

OutWiker 3.2.0.922 beta

OutWiker 3.2.0.922 beta

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


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

Про книгу Энтони Шоу «Внутри CPython»

После того, как более-менее освоишь какой-либо инструмент, которым постоянно пользуешься, полезно заглянуть в его «внутренности», чтобы его работа не воспринималась как магия, которая каким-то неведомым образом что-то делает. Поэтому, когда вышла книга Энтони Шоу «Внутри CPython», я ее сразу заказал. На днях я ее дочитал и расскажу о ней в этом посте.

Сразу определимся с терминологией, чтобы было ясно, о чем книга. CPython (не путайте с Cython) — это эталонная реализация Python, которая написана на языке C. Собственно, это и есть тот самый интерпретатор Python, которым пользуются большинство питонистов. Как вы, наверное, знаете, есть и другие интерпретаторы Python, написанные на других языках. Например, PyPy (интерпретатор, написанный на Python), IronPython (реализация Python под платформу .NET), Jython (реализация на Java). В данной же книге речь идет о всем знакомом интерпретаторе, а не о каком-то экзотическом (да простят меня пользователи перечисленных выше реализаций).

Сразу скажу, что книга оставила у меня неоднозначное впечатление. Наверное, я ожидал от нее чуть более высокоуровневого описания работы Python, надеялся, что больше будет написано про байт-код и его ассемблерные команды. В реальности книга представляет собой обзорную экскурсию по исходникам интерпретатора Python. На самом деле это тоже любопытно, но эти знания более удалены от практики применения Python. Эту книгу можно посоветовать тем, кто хочет начать участвовать в разработке CPython. К сожалению, она уже начала устаревать. В ней речь идет о Python 3.9, и когда я ее начал читать, то решил, что я буду смотреть в исходники Python 3.11, но там уже некоторых файлов не стало, а какие-то были переименованы. Особенно это касается частей кода, связанных с парсером. О некоторых подобных изменениях автор предупреждает, говоря о том, что парсер был переписан, но в Python 3.9 можно было найти обе версии, а в 3.11 осталась только новая. С другой стороны, это был тоже любопытный квест, искать куски кода, если указанного файла нет.

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