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

Итоги 2016 года. OutWiker

Итоги 2016 года. OutWiker

Это вторая часть подведения итогов уходящего года. Первая часть была посвящена прочитанным книгам, а в этом посте я хочу вспомнить, что за этот год удалось сделать для проекта OutWiker. Для тех, кто только недавно начал читать этот блог, скажу, что OutWiker — это программа для хранения заметок в виде дерева. Чем она отличается от других подобных программ, можете прочитать по ссылке.

В этом году работа над проектом шла довольно активно, оценить активность можно по графику, который рисует github. По горизонтали отложена дата, а по вертикали — количество коммитов в репозиторий.

Читать далее ‘Итоги 2016 года. OutWiker’ »

Итоги 2016 года. Прочитанные книги

Итоги 2016 года. Прочитанные книги

Близится новый год, пора подводить итоги года уходящего — что удалось реализовать за последние 365 366 дней, а до чего руки так и не дошли. Предновогодние итоги я разобью на несколько тем, в сегодняшнем посте я вспомню книги, которые были прочитаны в 2016 году.

Книги я разделил на три группы: художественные, программирование и разное. В этом году удалось прочитать 9 художественных книг, 15 книг, связанных с программированием, и 6 из раздела «разное» — итого получилось ровно 30 книг, т.е. в среднем по больнице на одну книгу у меня уходит чуть меньше 2 недель. Разумеется, все зависит от толщины и интересности книги. В основном книги я читаю в метро по дороге на работу / с работы, хотя и дома иногда приятно посидеть с интересной книжкой. По замерам времени, в метро за день на чтение уходит примерно 1 ч. 20 мин.

К некоторым прочитанным книгам я напишу комментарии, о некоторых я уже писал посты в этом блоге, и тогда дам ссылки на эти записи. Про художественные книги писать комментарии особо не буду, мне это сразу навевает воспоминания о школьных сочинениях, которые могут отбить желание читать книги у любого школьника. Хотя после прочтения 6-го тома из серии про Дюну Френка Герберта я не удержался и написал пост в ЖЖ.

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

Читать далее ‘Итоги 2016 года. Прочитанные книги’ »

Книга Лучано Рамальо «Python. К вершинам мастерства»

На днях дочитал книгу Лучано Рамальо «Python. К вершинам мастерства». Пожалуй, это лучшая техническая книга, которая мне попадалась за последние время. Это объемная книга, содержащая 768 страниц, но при этом читается она достаточно легко. Сразу надо сказать, что книга Рамальо — не учебник для начинающих, вы уже должны знать Python хотя бы на начальном уровне, представлять себе, что такое объектно-ориентированное программирование и иметь хотя бы общее представление о шаблонах проектирования. Процитирую несколько фраз из введения книги, где сам автор пишет, для кого предназначена эта книга:

Python — простой для изучения и мощный язык программирования… Поскольку язык так просто выучить и начать применять на деле, многие программисты используют лишь малую часть его обширных возможностей… Эта книга написана для практикующих программистов на Python, которые хотят усовершенствоваться в Python 3. Если вы уже знакомы с Python и хотели бы перейти на версию Python 3.4 или старше, эта книга для вас.

В этой книге действительно упор сделан на возможностях, которые появились в Python 3.x, особенно автор подчеркивает особенности, возникшие в версиях Python 3.3 и 3.4. В момент написания книги Python 3.5 еще не вышла, но было примерно понятно, что туда собираются включить, и Лучано Рамальо упоминает некоторые такие возможности. Хотя в книге упор сделан на Python 3, но многие описанные вещи применимы и к Python 2.x, при этом подчеркивается, где есть различия в поведении интерпретатора Python 2.x и 3.x.

Большая часть книги в той или иной мере посвящена объектам в Python, тому, как интерпретатор их создает, что происходит при вызове методов вида __xxx__ и многое другое. Хотя местами описывается достаточно низкоуровневая логика, но до байт-кода автор доходит всего один или два раза.

Читать далее ‘Книга Лучано Рамальо «Python. К вершинам мастерства»’ »

OutWiker 2.0.0.806 (unstable) и плагин Markdown 1.1

OutWiker 2.0.0.806 (unstable) и плагин Markdown 1.1

Что-то в последнее время разработка OutWiker под Linux (точнее, Ubuntu) превращается в бег на месте из-за изменений в этом дистрибутиве. С выходом каждой следующей версии Ubuntu разработчики что-то изменяют, что ломает обратную совместимость. Но, надо сказать, что Ubuntu 16.10 в целом получился лучше Ubuntu 16.04 LTS — в нем было исправлено несколько, появившихся в версии 16.04 ошибок. Уже не в первый раз замечаю, что больше всего проблем возникает именно в LTS-версиях Ubuntu, хотя, казалось бы, они наоборот должны быть самые безглючные. Например, в Ubuntu 16.10 была исправлена ошибка со сборкой wxPython, на которую я жаловался полгода назад.

В Ubuntu 16.10 опять изменился способ сборки wxPyhton, но это особо не сказалось на разработке, правда, сразу после релиза Ubuntu 16.10 пришлось сделать сборку OutWiker под этот дистрибутив.

Из-за всех этих пертурбаций опять задумался о том, чтобы OutWiker собирать в бинарный пакет, чтобы не зависеть от способа сборки wxPython в Ubuntu. В этом случае можно будет еще посмотреть в сторону snap-пакетов, с которыми я давно хочу разобраться. Но займусь я этим не раньше, чем выпущу финальный релиз OutWiker 2.0. Релиз я собираюсь выложить уже в ближайшие пару месяцев. Поэтому, начиная с сегодняшней версии, OutWiker имеет статус не dev, а beta. Есть еще некоторые моменты, которые я хочу переделать до релиза, и надеюсь, что в январе-феврале финальная версия OutWiker 2.0 будет готова.

Читать далее ‘OutWiker 2.0.0.806 (unstable) и плагин Markdown 1.1’ »

OutWiker 2.0.0.802 и плагин Markdown

OutWiker 2.0.0.802 и плагин Markdown

Сегодня выложил новую нестабильную версию OutWiker с очень важными изменениями.

Во время разработки OutWiker я очень бережно отношусь к обратной совместимости. Программа не должна падать или выдавать непонятные пользователю сообщения об ошибках после очередного обновления как самой программы, так и плагинов. Однако в процессе развития иногда хочется переделать какой внутренний участок кода, который уже может использоваться каким-нибудь плагином. Момент перехода от версии 1.x к 2.0 — удачное время, когда можно немного поломать обратную совместимость, чтобы облегчить дальнейшее развитие. Но если у пользователей установлены плагины для старых версий программы, то программа в любом случае не должна падать, плагины должны просто отключаться, и при этом еще сообщать пользователю причину своего отключения. Именно это я и сделал в данной версии.

Читать далее ‘OutWiker 2.0.0.802 и плагин Markdown’ »

Книга Уолтера Айзексона «Инноваторы»

innovatoryЯ обожаю читать про историю науки и развитие различных технологий, особенно, когда дело касается информационных технологий. Качественных книг на эту тему еще недавно было не так много, но в последнее время ситуация стала выправляться. В основном за счет переводных книг, но все же. На сегодняшний день любимой книгой по истории информационных технологий у меня была книга Стивена Леви «Хакеры. Герои компьютерной революции», которая очень подробно описывает развитие компьютеров, начиная с конца 50-ых годов прошлого века и до 1980-ых годов. И вот недавно вышла книга, которую в своем личном рейтинге я готов поставить рядом с «Хакерами» — это книга Уолтера Айзексона «Инноваторы» или ее полное название «Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию» (да, любят историки от IT слово «революция»).

Уолтер Айзексон в России известен в первую очередь как автор жизнеописания Стива Джобса, хотя кроме этого он написал биографии Эйнштейна, Франклина и Киссенджера. Его книгу про Стива Джобса я еще не читал, поскольку ее выход совпал с моментом, когда мне попалась книга Янга и Саймона «iКона», и в тот момент читать вторую книгу подряд на эту же тему не хотелось.

В отличие от книги «Хакеры», которая охватывает лишь несколько десятилетий, Айзексон решил написать историю развития информационных технологий, начиная со времен Бэббиджа и его разностной машины, Ады Лавлейс, которая считается первой программисткой, и до появления компании Google с ее оригинальным алгоритмом поиска, который придумали Ларри Пейдж и Сергей Брин.

Читать далее ‘Книга Уолтера Айзексона «Инноваторы»’ »

OutWiker 2.0.0.800 (unstable) и обновления всех плагинов

OutWiker 2.0.0.800 (unstable) и обновления всех плагинов

Сегодня я выложил новую нестабильную версию OutWiker с юбилейным номером 2.0.0.800. В этой версии были исправлены некоторые ошибки и добавлены новые возможности.

Но сначала хочется поблагодарить Åke Engelbrektson, который провел титаническую работу и перевел на шведский язык не только основной интерфейс OutWiker, но и всех плагинов. Поэтому сегодня я также выложил новые версии для всех плагинов. Основное изменение для них одно — был добавлен шведский язык, хотя в некоторых плагинах были сделаны незначительные исправления. Для примера, на следующем скриншоты вы можете увидеть, как выглядит окно настроек на шведском языке.

swedish

Читать далее ‘OutWiker 2.0.0.800 (unstable) и обновления всех плагинов’ »

OutWiker 2.0.0.798 (unstable) и мысли по поводу изменения интерфейса

OutWiker 2.0.0.798 (unstable) и мысли по поводу изменения интерфейса

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

В этой версии был переписан кусок кода, отвечающий за работу иконки в трее (области уведомления). Пользователи Windows не должны заметить никаких изменений, а вот под Linux иконка в трее — это была большая проблема в некоторых оболочках. Если, например, в XFCE все работало как надо, то в Unity ее просто не было, а в KDE программа зависала при попытке свернуть ее в трей. Теперь работоспособность иконки еще не идеальна, но стала намного лучше: в Unity она теперь полноценно работает.

tray

Остались еще некоторые проблемы с KDE — в принципе там иконка тоже работает, но она отображается в виде белого пятна. Я пока не понял, из-за чего это происходит, я перепробовал разные форматы для иконок, включая PNG, ICO и даже векторный SVG, но результат оставался неизменным. Поискав в интернете описание подобной проблемы, я наткнулся на многие жалобы о том, что программы, написанные на основе GTK не отображают иконки в трее KDE, но ни одного подходящего решения не нашел. Надо сказать, что с KDE у меня давно дела не ладятся — он у меня постоянно падает или глючит другим образом, иконки в трее от других приложений тоже ведут себя не самым хорошим образом.

Читать далее ‘OutWiker 2.0.0.798 (unstable) и мысли по поводу изменения интерфейса’ »

Новая нестабильная версия OutWiker (2.0.0.796)

Новая нестабильная версия OutWiker (2.0.0.796)

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

Во-первых, под впечатлением от книги Непрерывное развертывание ПО я взялся за автоматизацию процесса выкладывания новых версий и за большой рефакторинг системы сборки. Если раньше все сценарии сборки были собраны в одном большом fabfile.py в корне исходников, то теперь из него был выделен пакет buildtools, где по разным модулям разнесены сборки для разных операционных систем и другие вспомогательные скрипты. В группе во Вконтакте меня спрашивали по поводу того, как организована сборка, но тогда она еще находилась в скомканном состоянии, а сейчас ее не стыдно описать в документации, хотя процесс автоматизации выкладывания сборок еще не завершен.

Читать далее ‘Новая нестабильная версия OutWiker (2.0.0.796)’ »

Про студентов

Про студентов

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

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

Типичная ситуация, когда им перед лабораторкой рассказываешь всю теорию, которая им понадобится для выполнения работы, и которую им придется сдавать через две недели на следующем занятии, но через две недели они не отвечают на те же самые вопросы, которые им рассказывал на предыдущем занятии. Причем во время такой укороченной лекции останавливаешься, спрашиваешь, все ли понятно, вытягиваешь из них хоть какие-то вопросы. Говорят, что все понятно и молчат. А на защите лабораторки говорят: «Да-да, мы помним, Вы что-то такое рассказывали, но мы забыли.»

Читать далее ‘Про студентов’ »