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

Доклад про генетические алгоритмы

В Москве есть такое замечательное сообщество — Московский клуб программистов. Раз в две недели участники этого сообщества собираются (в последнее время площадку для таких митапов предоставляет компания Леруа Мерлен у себя в офисе на Шаболовке) и обсуждают какие-нибудь две темы. Обычно это происходит в виде доклада с последующими вопросами или в виде модерируемого обсуждения.

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

OutWiker 3.0.0.866 unstable

OutWiker 3.0.0.866 unstable

Всем привет. Сегодня выложил следующую нестабильную версию OutWiker с номером 3.0.0.866.

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

Читать далее ‘OutWiker 3.0.0.866 unstable’ »

OutWiker 3.0.0.864 unstable

OutWiker 3.0.0.864 unstable

Сегодня выложил следующую нестабильную версию OutWiker под номером 3.0.0.864. Эта версия в основном содержит исправления ошибок.

Читать далее ‘OutWiker 3.0.0.864 unstable’ »

OutWiker 3.0.0.862 unstable с большим количеством изменений

OutWiker 3.0.0.862 unstable с большим количеством изменений

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

Читать далее ‘OutWiker 3.0.0.862 unstable с большим количеством изменений’ »

Про лекции и конспекты

Чтение лекции — это процесс переноса конспекта преподавателя в тетрадь студента, минуя сознание обоих.

Недавно на Хабре появился перевод статьи Как я пишу конспекты по математике на LaTeX в Vim. Идея в том, что автор настолько виртуозно умеет работать в Vim и знает LaTeX, что вместо написания конспекта ручкой в тетради, успевает оформлять его в электронном виде в формате LaTeX. Но на этот пост меня подтолкнули комментарии, где разгорелись споры по поводу того, нужно ли вообще вести конспект лекций, не устарело ли это понятие в цифровой век.

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

Читать далее ‘Про лекции и конспекты’ »

OutWiker 3.0.0.860 unstable и опрос по поводу новой иконки

OutWiker 3.0.0.860 unstable и опрос по поводу новой иконки

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

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

Также обновил плагины Snippets, Source, TeXEquation и UpdateNotifier. В основном изменения там касаются обновления украинской и немецкой локализаций. В плагине TeXEquation немного улучшен внешний вид окна предпросмотра набираемой формулы.

Читать далее ‘OutWiker 3.0.0.860 unstable и опрос по поводу новой иконки’ »

О языке Rust и книге Дж. Блэнди и Дж. Орендорфа «Программирование на языке Rust»

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

Rust — это компилируемый язык, предназначенный в том числе и для системного программирования. Основная «фишка» языка — это исключение на уровне компиляции ошибок работы с памятью — не инициализированные указатели, висячие ссылки и т.п. — и избегание неопределенного поведения. При этом не используется сборщик мусора, а сам язык ориентирован на максимально возможную производительность. При этом стиль программирования на Rust сильно отличается от традиционного объектно-ориентированного программирования. Если говорить очень грубо, то это скорее напоминает C с интерфейсами и очень необычной работой с памятью. Разработчики Rust позиционируют язык как замена C++. Особенности языка заставляют заранее продумывать структуру взаимодействия используемых объектов, а не плодить сложную сеть из взаимосвязанных объектов в надежде, что сборщик мусора потом все уберет. У Rust очень строгий компилятор, который откажется компилировать программу, если у него не будет уверенности в том, что она корректно работает с памятью, и что не будет гонок данных в многопоточной программе.

Читать далее ‘О языке Rust и книге Дж. Блэнди и Дж. Орендорфа «Программирование на языке Rust»’ »

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

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

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

Читать далее ‘OutWiker 3.0.0.858 unstable и обновление плагинов’ »

История одного бага или почему 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’ »