Blog / Блог

Посмотрите видео моего выступления на PyCon RU 2023. 5 коротких докладов в одном — 5 различных субъективных мнений о функциональном программировании в Python. Аннотация доклада: Функциональное программирование — не самый популярный подход к написанию... Read More »

Я поучаствовал в опросе перед PyCon Russia 2023 о том, как изменился Python за последние 10-20 лет. Мой ответ на один из вопросов: Q: Что должно произойти, чтобы Python потерял популярность? A: К 2023 году Python так и не вышел в область... Read More »

Перед PyCon Russia 2022 организаторы конференции взяли у меня интервью об open source разработке: Сделать вклад в развитие сообщества, прокачать скилы или сэкономить на разработке — у каждого есть свой мотив, чтобы участвовать в open source проектах.... Read More »

The description of the episode: In this episode, Nafiul talks to Andrey Vlasovskikh, PyCharm’s team lead, and Aleksei Kniazev, responsible for PyCharm’s web frameworks support, about the 2021.3 PyCharm release. They talked about the new FastAPI... Read More »

The description of the episode: Sometime last week, I had the opportunity to sit down with Andrey Vlasovskikh and discuss where PyCharm is now, and where it plans to go into the future; trying to understand how we got here along the way. Read More »

The summary of my talk: What's coming in Python 3.8? You can learn it by yourself by reading an excellent document What's New in Python 3.8. I'm not going to retell this document. Instead, I'll focus on things barely described there or... Read More »

Пара уточнений к моему докладу: Из типов в Python 3.8 ещё появится PEP 544 typing.Protocol. PEP 554 sub-interpreters уже есть в Python 3.8 в экспериментальном режиме через модуль _xxsubinterpreters, но там пока ещё один GIL на все интерпретаторы.... Read More »

The description of my talk: A microcontroller unit is a CPU, memory modules, and I/O devices on a single chip. There are tens of billions of microcontrollers in world: they are everywhere from watches to cars. Developers program them mostly in C,... Read More »

Описание моего доклада: Среды разработки прежде всего известны своими интеграциями с инструментами и возможностями по навигации в проектах. А как насчёт редактирования кода? В этом докладе мы обсудим 7 приёмов редактирования кода в среде PyCharm,... Read More »

The description of the panel discussion: Python added support for annotation as part of function definitions with PEP 3107. PEP 484 later provided a standard syntax for type annotations, bringing static analysis, runtime type checking, and faster... Read More »

8 октября выступил на встрече Moscow Python с докладом Что нового в Python 3.5. Read More »

I've given a talk about the PEP 484: Type Hints at EuroPython 2015 in Bilbao. I spoke about the motivation behind type hints and how to get started with them. I tried to identify some of best practices for writing and using type hints. Read More »

Сегодня я выступаю на первом PyCon Belarus с докладом о функциональном программировании в Python. В докладе речь идёт об особенностях функционального стиля в Python, об его отличиях от типичных функциональных языков типа Haskell. Read More »

2014-06-02 я прочитал доклад о многозадачности в Python и других языках на PyCon RU. Речь шла о том, что благодаря новой библиотеке asyncio в Python стало проще использовать акторов и реактивное программирование из Erlang/Go/Scala, а также приводился... Read More »

В пятницу 2013-11-29 прочитал доклад "Optional Typing in Python" на встрече Minsk Python Meetup: С появлением новых библиотек и диалектов для типизации Python вновь оживилась дискуссия о необходимости и способах введения опциональных типов в... Read More »

PyCon RU 2013

2013-03-01

24-25 февраля 2013 года под Екатеринбургом прошла первая русская конференция по Python PyCon RU. Я побывал на ней, представляя команду разработчиков IDE PyCharm, наша фирма JetBrains была спонсором конференции. Я хотел бы поделиться личными... Read More »

Продолжая тему конкурса ICFP Contest, хочу поделиться ссылкой на видео нашего с Вадимом доклада со встречи FProg 2012-07 об участии в ICFPC 2009. Доклад был сделан по мотивам моего поста в блоге о конкурсе 2009 года. Вот аннотация к докладу: Цель... Read More »

TL;DR: Это эпический пост о нашем участии в программистском конкурсе ICFP Contest 2012. В задаче мы создавали искусственный интеллект робота для игры по собиранию полезных ископаемых в шахтах. Участвовать было интересно и весело :) Мы прошли два... Read More »

8 июня я побывал на защитах магистерских диссертаций на кафедре МИТ СПбАУ в качестве рецензента одной из работ. Был хороший повод послушать защиты и позадавать вопросы. Это мой отчёт о защитах. Общее впечатление следующее. Есть работы, в которых... Read More »

После последнего обновления сломалась загрузка Arch Linux на моём ноутбуке. Грузится ядро, но не находится корневая ФС. Arch Linux ломается у меня уже второй раз за год, это много. У меня необычная конфигурация накопителей: ФС находится на флэш-карте... Read More »

Мой блог раньше работал на генераторе сайтов Jekyll, написанном на Ruby. Но мне надоело то большое количество библиотек, от которых он зависит, поскольку его обновление в Arch Linux проходит очень долго. Я решил написать свой генератор на Python,... Read More »

12 мая я выступил на конференции ADD-3 с докладом об опциональной типизации в динамических языках: Языки со статической и динамической типизацией сосуществуют уже очень долгое время, поскольку у обоих подходов есть свои плюсы и минусы. Динамическая... Read More »

Сегодня я выступил на технологическом семинаре в СПбАУ с докладом о статическом анализе в IDE. Основной идеей доклада было рассказать об особенностях анализа в IDE по сравнению с другими инструментами и показать на примерах, как он выполняется. На мой... Read More »

Привет, Rust!

2012-02-04

Несколько дней назад я начал знакомиться с новым языком Rust, разрабатываемым в Mozilla Labs. В конце января вышла версия 0.1, которую можно скачать и попробовать. Предварительную версию спецификации я прочитал ещё осенью 2011 года и заинтересовался... Read More »

Поздравляю всех френдов с Новым годом! Пусть в 2012 году питонисты перейдут на Python 3, джависты — на Kotlin, наша сборная выиграет ЧЕ-2012, а в Россию придёт свобода слова и демократия! :) Read More »

Недавно я искал утилиту для визуализации занятого места в файловой системе и нашёл замечательную программу xdu. Так выглядит её интерфейс: Можно перемещаться между каталогами (зумиться и возвращаться назад) при помощи кликов на прямоугольниках. xdu... Read More »

Сегодня я был на экскурсии по Северной Ривьере. Смотрели, в основном, дачи начала 1900-х годов в стиле северного модерна и неорусском стиле. Но мне хочется поделиться сведениями об одном событии тех дней, не упомянутом в ходе экскурсии. С 18 по 20... Read More »

@donnerpeter в своём блоге пишет о выразительности декларативных языков: Seriously, unless you can prove your software will never be extended, don't program declaratively. (I'm speaking mostly to myself here but if this helps anyone else,... Read More »

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

Монада является моноидом, если заменить декартово произведение множеств композицией функторов (монада является функтором), умножение — функцией join, а единицу — pure. Законы моноида при этом выполняются. Mac Lane S. Categories for the Working... Read More »

Попробовал библиотеку @asolovyov для разбора аргументов командной строки в Python, которая называется opster (вот доки, исходники). Это ещё одна библиотека, решающая те же задачи, что и стандартные getopt, optparse и argparse. Впечатления приятные.... Read More »

Рекомендую интересные лекции Фейнмана по квантовой механике, рассчитанные на широкий круг слушателей. В них он популярно объясняет основные понятия квантовой механики (точнее, её развития по состоянию на 1978 г.). Что интересно, он приводит много... Read More »

f x = x

2010-09-01

James Chapman (via annayudi): f x = x. I don't do very much but at least I'm unique. Read More »

Есть известные правила программирования в Unix. Мы решили обратить внимание на схожие правила, помогающие создавать краткий программный код: Код должен быть читаемым текстом, но не на естественном языке Абстракции должны браться из спеки, а не из... Read More »

Burial on His Sound

2010-08-29

Burial: I admire people who understand complicated programs or whatever. But I'm not that into tunes that are so sequenced that all you can hear is the perfect grid, even on the echoes. With those kind of tunes, sometimes I just hear Tetris music,... Read More »

Натолкнулся на большое количество источников по распределённым системам управления задачами (distributed issue tracking). В целом, кажется, что такие системы не столь полезны, как DVCS. Они начали развиваться относительно недавно, но пока не привлекли... Read More »

Сегодня выступил с презентацией о Jython на встрече Sun Users Group в Политехе: Об этом же событии можно почитать в блоге Игоря Стручкова. Выкладываю здесь материалы презентации: А так выглядит программка, написанная для демонстрации возможностей... Read More »

Часто код бывает не очень читаемым. Особенно неприятно, когда простой по своей сути код выглядит как огромное количество проверок, специальных случаев и т. д. Эффект, конечно, начинает действовать, когда такого кода не одна процедура, а целые классы и... Read More »