[Не]нужные люди в эпоху ИИ

В начале сентября экономисты Anthropic выложили сценарии того, как ИИ изменит экономику США к 2030 году. Прогнозом их называть не велят, вероятностей не дают, но самый радикальный выглядит так: ВВП на треть выше, работы на много процентов меньше. Пока только для тех, кто сидит за компом. Сантехники и электрики там в выигрыше: их не хватает, им платят на треть больше. Но это потому, что модель «не допускает быстрого прогресса робототехники». Медленный остаётся за скобками — если ИИ хорош в умственном труде, то и роботов он сделает. Думаю, сантехники пойдут туда же лет через 5–15. И даже без роботизации — куда-то же должны деться те белые воротнички, которых выкинули на мороз в предыдущем абзаце. Впрочем, эти страхи не новы. Давайте разбираться, только ли дело в работе, и не брехня ли всё это. ...

27 сентября 2026 г. · 9 минут · Alexander Schepanovski

Не ещё одна статья о функциональном программировании

Вот уже несколько лет функциональное программирование набирает популярность. Это, конечно, не значит, что люди забрасывают свои старые языки и ООП и массово переходят на Haskell, Lisp или Erlang. Нет. Функциональная парадигма проникает в наш код через лазейки мультипарадигменных языков, а вышеупомянутые языки чаще служат флагами в этом наступлении, чем используются непосредственно. Я собирался продолжить в том же духе и во второй части статьи представить свою библиотеку, добавляющую пару функциональных трюков в python, но потом понял, что фокус моей библиотеки не на функциональном программировании, а на практичности. На этом я и сосредоточюсь, приведу несколько жизненных примеров полезности funcy. ...

28 марта 2013 г. · 7 минут · Alexander Schepanovski

Цифровые ремесленники в эпоху изобилия

За последнее время мне попалась на глаза пара статей о том, что новые технологии уничтожают рабочие места и это касается не только уже привычной автоматизации заводов, но и белых воротничков. «Ничего нового» — скажете вы — «мы такое уже видели во время промышленных революций, они потом найдут себе новую работу». Но что если на этот раз всё иначе и технологии уничтожают вакансии быстрее, чем создают новые? Вообще, в перспективе, это хорошо, роботы и ПО дешевле людей, а значит, производимые товары и услуги станут дешевле, а всё человечество богаче. Некоторые горячие головы даже предположили, что мы движемся к экономике изобилия, в которой привычное для нас понятие «работа» и вовсе теряет смысл. Но неужто людям не найдётся полезного занятия? ...

17 февраля 2013 г. · 4 минуты · Alexander Schepanovski

Абстрагирование потока управления

Любой программист, даже если не смотрит на свою работу в таком ключе, постоянно занимается построением абстракций. Чаще всего мы абстрагируем вычисления (пишем функции) или поведение (процедуры и классы), но кроме этих двух случаев в нашей работе возникает множество повторяющихся шаблонов особенно при обработке ошибок, управлении ресурсами, написании стандартных обработчиков и оптимизаций. Что значит абстрагирование потока управления или «control flow», как выражаются наши заморские друзья? В случае, когда никто не выпендривается, потоком занимаются управляющие конструкции. Иногда этих управляющих конструкций недостаточно и мы дописываем свои, абстрагирующие нужное нам поведение программы. Это просто в языках вроде lisp, ruby или perl, но и в других языках это возможно, например, с помощью функций высшего порядка. ...

3 ноября 2012 г. · 4 минуты · Alexander Schepanovski

Упрощая жизнь c Django

За время использования Django я накопил множество небольших инструментов: декораторов, шорткатов, кастомных полей и просто утилит, которые кочевали со мной из проекта в проект в виде сборного пакета handy. В конце концов, я решил поделится своим опытом, потому как такой код — это и есть материализованный опыт (даже лучше — код можно исполнить), и открыть наиболее полезные куски handy для всех желающих. Пакет направлен на уменьшение необходимого boilerplate при использовании фреймворка джанго. На то, чтобы избавить от необходимости писать одно и то же раз за разом, сделать код короче и выразительней. ...

8 июня 2012 г. · 2 минуты · Alexander Schepanovski

Пещерные технологии будущего

Никогда не обращали внимание, как часто старые интерфейсы, старый код и вообще старые решения выглядят странными и уродливыми? Причём всё это может стать старым за считанные годы. Когда приходится очень быстро бежать только, чтобы оставаться на месте, возникает желание как-нибудь срезать, заглянуть немного в будущее, перепрыгнуть через пару пунктов. Давайте попробуем. Для этого нам необходимо понять по каким принципам идет развитие: внимательно рассмотреть те пещерные технологии, что мы использовали пару лет назад и то, как они превращались в “технологии будущего”, что мы используем сегодня. ...

9 октября 2011 г. · 8 минут · Alexander Schepanovski

Redis: лёгкие яблоки

NoSQL обычно воспринимается как альтернатива реляционным БД, однако, многие из них, особенно, те, что попроще, могут не только заменять, но и отлично дополнять их. На самом деле, чтобы использовать какое-то NoSQL-решение вместо привычной БД, нужен либо новый проект, либо возможность переписать старый практически полностью. Редкие случаи, в повседневной разработке. В то же время можно легко сорвать множество низко висящих плодов. ...

26 сентября 2011 г. · 4 минуты · Alexander Schepanovski

Cacheops

Некоторое время назад я писал о системе кеширования. Помнится, я обещал продолжение, но сейчас решил, что строка кода лучше сотни комментариев, теорию оставим на потом. Поэтому сегодня у нас своего рода анонс с парой советов по использованию в одном флаконе. Встречайте, cacheops — система кеширования и автоматической инвалидации кеша для Django ORM. ...

25 сентября 2011 г. · 4 минуты · Alexander Schepanovski

О вреде синтаксического сахара

О чём речь? Конечно, использование синтаксического сахара не приводит к синтаксическому диабету, но он может мешать вам думать. Это может звучать странно, учитывая, что синтаксический сахар призван облегчить нам жизнь: обернуть в интуитивные обёртки операции над абстракциями, сделать программы легко читаемыми, да и просто симпатичными. Однако, всякий инструмент, который направляет нашу мысль одновременно удерживает её на этом направлении. ...

18 сентября 2011 г. · 6 минут · Alexander Schepanovski

К вопросу об инвалидации кеша

Инвалидация кеша, возможно, одна из самых запутанных вещей в программировании. Тонкость вопроса состоит в компромиссе между полнотой, избыточностью и сложностью этой процедуры. Так о чём же эта статья? Хотелось бы не привязываясь к какой-либо платформе, языку или фреймворку, подумать о том как следует реализовывать систему инвалидации. Ну а чтобы не писать обо всём и ни о чём, сконцентрируемся на кешировании результатов SQL-запросов построенных с помощью ORM, которые в наше время встречаются нередко. ...

2 июня 2011 г. · 6 минут · Alexander Schepanovski