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

Optlib 0.2. Библиотека для оптимизации на языке Rust

Optlib 0.2. Библиотека для оптимизации на языке Rust

Параллельно с другими проектами я продолжаю заниматься библиотекой optlib, предназначенной для оптимизации функций на языке Rust. Напомню, что под оптимизацией функции f(x) понимается нахождение такого значения x’ (в общем случае x — вектор), что значение функции f(x’) минимально на заданном интервале для x. Библиотека optlib содержит в себе алгоритмы, предназначенные для глобальной оптимизации, то есть, в отличие от градиентных методов, эти алгоритмы пытаются найти глобальный экстремум функции (градиентные методы находят только ближайший к начальной точке локальный экстремум).

Читать далее ‘Optlib 0.2. Библиотека для оптимизации на языке Rust’ »

OutWiker 3.0.0.868 unstable

OutWiker 3.0.0.868 unstable

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

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

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

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

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

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 и обновление плагинов’ »