OutWiker 3.1.0.896 beta

OutWiker 3.1.0.896 beta

Всем привет!

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

Во-первых, был исправлен (надеюсь, исправлен 🙂 ) неприятный баг, связанный с тем, что OutWiker падал под Windows при запуске для некоторых регионов. Судя по тому, что пишут в интернете, это известная проблема связки wxPython и Python 3.8. Вроде бы с Python 3.9 и выше проблема уже не наблюдается, но, к сожалению, Python 3.8 — это последняя версия Python, которая запускается в Windows 7, а я пока еще не хочу отказываться от поддержки этой операционной системы. Решения, которые предлагаются в интернете однобокие — они позволяют обойти проблему либо для одних регионах, либо для других. Два дня я потратил на то, чтобы заставить работать программу в разных регионах. Мне кажется, что это удалось. Но если у вас при запуске новой версии OutWiker будет падать со странной ошибкой, где будет упоминаться locale, то напишите мне с указанием того, какой регион у вас установлен в ОС.

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

Треться проблема, уже не столь критичная, была поправлена в плагине Snippets, и снова она касалась только версии под Windows. При редактировании сниппетов могли появляться лишние переносы строк. Теперь эта ошибка исправлена.

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

Книга Зонке Аренс «Как делать полезные заметки»

Всем привет! Тема создания, хранения и использования заметок меня интересует давно, причем это касается как технической стороны (не зря же я много лет занимаюсь разработкой OutWiker), так и с организационной — как их лучше писать, чтобы от сделанных записей была хоть какая-то польза в будущем. Поэтому я не мог пройти мимо недавно вышедшей книги Зонке Аренс «Как делать полезные заметки. Эффективная система организации идей по методу Zettelkasten». Вот о ней и пойдет речь в этом посте.

В последнее время я часто встречал в интернете упоминание метода Zettelkasten для хранения заметок. Если вы про этот метод еще не слышали, то я коротко расскажу его суть. Название метода Zettelkasten (звучит как цеттелькастен) переводится с немецкого как картотечный ящик. Этот принцип ведения заметок и работы с ним использовал немецкий социолог Никлас Луман. Это был очень плодовитый ученый, который написал десятки книг в разных областях и сотни статей. В процессе своей работы и чтения книг он писал небольшие заметки на листах формата А6 и складывал их в шкаф с выдвижными ящичками (тот самый der Zettelkasten). Все карточки были пронумерованы, и на каждой карточке размещались ссылки на связанные по смыслу заметки на других карточках. У него не было разделения ящиков по темам, но он старался располагать заметки в определенной последовательности, чтобы они образовывали что-то вроде кластера по темам, но одна тема может плавно перетекать в другую и постепенно образовываться новые кластеры.

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

OutWiker 3.1.0.894 beta

OutWiker 3.1.0.894 beta

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

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

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

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

Новые версии статей про Matplotlib

Всем привет! После небольшого перерыва опять взялся за переписывание своих старых статей про библиотеку Matplotlib, предназначенную для построения графиков в Python.

В этот раз изменения коснулись следующих статей:

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

Книга Скотта Оукса «Эффективный Java»

Всем привет! Я продолжаю прокачивать свои знания про Java, и чем больше я читаю про внутреннее устройство его виртуальной машины (JVM), тем больше проникаюсь уважением к этой технологии. Сегодня хочу рассказать про книжку Скотта Оукса «Эффективный Java. Тюнинг кода на Java 8, 11 и дальше», которую дочитал на днях. Это уже второе издание книги, которая на русском языке вышла в 2021 году, а английская версия была написана в 2020 году, поэтому несмотря на то, что на обложке упоминается лишь Java 11 (с не очень убедительной припиской «и дальше»), книга достаточно актуальна. Просто на момент ее издания, долгоподдерживаемой версией (LTS) была Java 11, вышедшая в 2018 году.

Это очень подробная книга о том, что происходит «под капотом» среды выполнения Java, и как это можно использовать для написания более продуктивного кода. Или даже скорее о том, каких ситуаций лучше избегать. Это не учебник про язык Java, и кода там не так уж и много. В основном код здесь — это небольшие тестовые примеры, по которым измеряется производительность виртуальной машины в различных ситуациях и с различными настройками. Поскольку сейчас Java во многих случаях используется для написания серверных приложений, то и примеры часто делают упор на такое применение. Ничего про Java на Android в этой книге не сказано — там своя виртуальная машина Java, для которой надо писать свою отдельную книгу. В этой книге речь идет про виртуальную машину от Oracle и OpenJDK. Также надо сказать, что эта книга не про байт-код, который создается компилятором Java (хотя про него изредка речь заходила), а про то, как виртуальная машина и сборщики мусора работают в процессе выполнения приложения.

Коротко пробегусь по основным темам, которые затрагиваются в этой книге.

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

Книга Криса Ричардсона «Микросервисы»

Недавно прочитал книгу Криса Ричардсона «Микросервисы», о которой и хотел рассказать в этом посте. Это довольно объемная книга, в ней больше 500 страниц, и в оригинале она называется «Microservices Patterns with examples in Java», что более точно описывает содержание книги. В этой книге действительно упор сделан на типичные шаблоны проектирования при использовании микросервисной архитектуры. Основное содержание книги крутится вокруг выдуманной компании, которая разрабатывает сервис по доставки еды из ресторанов. У них уже есть написанное на Java монолитное приложение, и разработчики решили его разбить на микросервисы. В книге описываются, какие сложности при это могут возникнуть, как спроектировать взаимодействующую систему монолитов, и какие приемы для решения различных типичных проблем можно использовать.

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

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

Продолжаю обновлять статьи про Matplotlib

И снова всем привет!

За две недели, прошедшие с момента написания прошлого поста, перелопатил еще шесть статей про использование библиотеки Matplotlib.

  1. Как отображать формулы в нотации TeX
  2. Как выводить текст и настраивать его внешний вид
  3. Как использовать эффект рисования от руки
  4. Как рисовать стрелки на графиках и добавлять аннотации
  5. Как рисовать линии и геометрические фигуры на графике
  6. Как менять оформление линий по умолчанию

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

И еще четыре переписанные статьи из Matplotlib

И еще четыре переписанные статьи из Matplotlib

Привет всем!

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

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

Но надеюсь, что все это не зря, и кому-нибудь это все пригодится. Заодно подумал, что возможно стоит начать писать подобные небольшие заметки про библиотеки numpy и pandas (особенно pandas).

Так вот к чему это я все. Сегодня я выложил четыре обновленные статьи про использование Matplotlib:

На этом пока все, буду постепенно исправлять оставшиеся статьи.

Обновил еще три статьи про Matplotlib

Обновил еще три статьи про Matplotlib

Всем привет!

Я продолжаю обновлять и дополнять свои старые статьи про Matplotlib, мощную библиотеку для Python, которая может рисовать различные типы графиков. В этот раз исправлению подверглись статьи:

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

 

Книга Дэвида Вуттона «Изобретение науки»

Наука — это изобретенное нами занятие, в котором действуют согласованные правила

Есть две категории книг, от которых меня надо держать подальше, потому что книжные полки дома внезапно оказываются не резиновыми — это книги про IT и про историю науки. Этим летом мне попалась монументальная книга Дэвида Вуттона «Изобретение науки», проигнорировать которую я не мог. И вот на днях я ее, наконец, дочитал. Это увесистая книга на 650 страниц, 130 из которых это только перечисление использованных источников.

Несмотря на свой значительный объем, она охватывает не такой большой по историческим меркам временной интервал. Если не считать множества отсылок к более древним философам и натурфилософам, то основной фокус сосредоточен на XVI — XVIII веках, когда по мнению автора сформировалась та наука, которую мы имеем до сих пор. Именно в это время были заложены и приняты научным сообществом основные исследовательские принципы, такие как проверка экспериментом, а не только доверие авторитетам и древним философам, доказательство теорий, в это же время формируется научный язык и научная этика. Здесь, правда, надо сделать уточнение, что в книге речь идет только о Европейской науке.

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