Top.Mail.Ru
? ?
Unix, Linux

Imagephd

phd, записи по тегу python — Живой Журнал

Если тебе дадут линованную бумагу, пиши поперёк. © Хуан Рамон Хименес

Метка: python

Code on
Python
Imagephd
https://www.usenix.org/publications/loginonline/codon-python-compiler-update

Codon, компилятор с Питона в нативный код, сменил лицензию на Apache-2, став полностью Open Source.

Найдено на /.

Я не очень понимаю, что это даёт. Цифровые молотилки пишут с numpy. В web-бэкенде основные торможения у запросов SQL и заполнения шаблонов. Хорошее ускорение дало бы конвертирование шаблонов в Питон и вот этот код уже компилировать, но такое конвертирование мало какие шаблонизаторы умеют.

Upd — из обсуждения в рабочем чате. Я думаю, типичная задача для компилируемых программ — обработка большого объёма сложно устроенных данных. Не вычисления и не интерфейс с внешним миром.

Upd2. Нашёл ещё вариант — мелкий скриптик, который часто запускается. Типа filter или textconv в Git. Длительные скрипты на Питоне могут работать хорошо, но каждый запуск и инициализация интерпретатора — это торможение. Я поэтому избегаю фильтров/конвертеров в Git.

X-Post из DW.

Обратная несовместимость
Unix, Linux
Imagephd
Переписывание скриптов на Python 3 помогло лишь частично:

DeprecationWarning: urllib.parse.splittype() is deprecated as of 3.8, use urllib.parse.urlparse() instead.

Эти люди вообще не знают, что такое "обратная совместимость". А те несколько человек, которые знают, не придают ей никакого значения. Каждую мажорную версию что-нибудь удаляют из языка или стандартной библиотеки.

Им бы на C/C++ посмотреть. На SQL. И то вряд ли поможет. Посмотрят — и не поймут.

Upd. HTML 20-летней давности открывается в сегодняшних браузерах. Старый JavaScript работает.

X-Post из DW.

Без 2.7
Python
Imagephd
Debian 12 удалил мне все Питоны 2.7. На ноутбуке у меня есть свой, скомпилированный. А на серверах больше нет.

Можно скомпилировать. Или из conda-forge поставить. К этому я наверняка ещё вернусь.

Но пока со страшной силой обновляю свои библиотеки и скрипты. Некоторые скрипты удалось "обновить", просто добавив циферку 3 в конец строки #! /usr/bin/env python. Но большинство пришлось кардинально модернизировать.

В процессе обнаружилось смешное. Модуль getopt до сих пор не объявлен устаревшим. Наверное, забыли? А я-то беспокоился, что мне придётся все скрипты переписывать на argparse. :-D

X-Post из DW.
Метки: ,

2FU
Unix, Linux
Imagephd
Долго сопротивлялся введению двухф…торной авторизации. Один раз даже переименовал проект на PyPI, лишь бы не заморачиваться с технологией, которую я считаю неудобной, сложной, хрупкой (в любой момент можно потерять доступ к аккаунту), и при этом мало что дающей в плане безопасности.

Проиграл. Злые, жестокие люди.

GitHub затребовал 2FA, а GH терять не хочется. GH это социальная сеть, набор инструментов, и много халявы на GH Actions, включая бесплатный доступ к OSX; его сейчас никто больше не даёт; когда-то на Travis CI был, но стал платным, и вообще Трэвис сильно урезал ресурсы халявщикам. А у M$ большие, глубокие карманы, грех оттуда не стянуть пару центов.

Заодно и на PyPI завёл, чо уж.

Спасибо, Витус, otpclient помогает. Ключи и коды восстановления я, конечно, зарядил в текстовые файлы, в две шифрованные файловые системы, с резервными копиями. Должны выжить.

X-Post из DW.

Книжный червь съел бычий глаз
Unix, Linux
Imagephd
Обновляю Debian с 11 на 12. Начал с ноутбука. Всё в основном прошло гладко. По-прежнему удаётся обходиться без SystemD.

Пакет fail2ban заменил jail.conf; после обновления приходится восстанавливать мои настройки; у меня там с января nftables вместо iptables.

В меню загрузчика GRUB появилась команда "Войти в BIOS" (UEFI Firmware Settings). По этой команде ноут перезагрузился… и в самом деле открылась менюшка настроек BIOS.

Поменялись шрифты, пришлось искать более подходящий для FVWM2 и URxvt. Нашёл один, не совсем привычный. То ли буду привыкать, то ли найду время ещё поискать.

EncFS падает в segfault. Лечится в конфиге OpenSSL. Ну ё-маё! ;-(

Пришлось перекомпилировать все питоны. Некоторые старые всё равно дают segfault. Пока не вылечил. Причём не очень старые, наиболее проблемный Python 3.6.

XScreenSaver стал неправильно реагировать на xscreensaver-command --suspend — вместо выключения экрана он теперь запускает хак, как будто я его активировал командой --activate. Это баг, надеюсь, что исправят быстро. Интересно, кто сломал — upstream или Debian?

Upd 13.07. Зарепортил баг в XScreenSaver. Вообще это обновление принесло много проблем с XScreenSaver, но мне уже лень про них писать.

Upd 14.07. Обновил домашний сервер. Всё прошло совершенно гладко. Кроме SpamAssasin 4 — он теперь не запускается из /etc/init.d/, я пока не понял, как он работает. Ага, нашёл, нужно sudo apt install -y spamd.

Upd 15.07. Обновил амстердамский сервер. Там вообще всё прошло быстро и гладко.

В целом всё хорошо. Ничего капитально не сломалось, мелкие баги XScreenSaver можно игнорировать. Кое-что даже исправилось; pavucontrol стал запоминать галочку "Show volume meters" и перестал падать в segfault при выходе.

Upd 28.07. Заменил неработающие Питоны 3.4, 3.5 и 3.6 — поставил из Конды.

X-Post из DW.

On The Revised Report of the Algorithmic Language Algol 68
Unix, Linux
Imagephd
Лет 35 назад я придумал шутку: "Добрый день! Мы начинаем пересмотренный репортаж с международного чемпионата Футбол-68!"

Гвидо вспомнил сегодня про этот язык, рассказал анекдот про Алгол и Си.

This entry was originally posted at https://phd-ru.dreamwidth.org/344572.html. You can comment here or there. There are comment count unavailable comments.

Python is a snake
Python
Imagephd
https://github.com/tjf801/oneliners/blob/master/snake.py

Игра "змейка" одной строкой на Питоне. Одной очень длинной строкой. Требует pygame.

This entry was originally posted at https://phd-ru.dreamwidth.org/331586.html. You can comment here or there. There are comment count unavailable comments.

Старый софт лучше новых двух
Python
Imagephd
Я пришёл на работу в Научный Центр Хирургии в конце 90-го года. Меня пригласили перенести на ПиСи/ДОС/TurboPascal медицинский программный комплекс, который был первоначально разработан на PDP-11. В 92-ом году начались опытные запуски новой системы и с 1993-го она находится в промышленной эксплуатации. До сих пор находится. Да, на ДОСовских компьютерах. Код на Turbo я последний раз редактировал и компилировал в 2012. Код на ДССП, возможно, ещё редактируется. Код на Delphi для w32 (программы просмотра архива данных) точно ещё регулярно меняется.

Лет 15-20 назад старшая дочка (падчерица) делал какие-то расчёты ионизации атмосферы при прохождении через неё заряженных частиц. Считала на Фортране-77. Все знают, что Cobol ещё жив.

Для меня это вполне нормальная ситуация. Любители Всего Нового и Блестящего меня забавляют, но совершенно точно не убеждают.

Бывает, что старый софт переживает несколько поколений молодых конкурентов. Но иногда окружающий мир меняется так сильно, что старый софт ломается. Не от старости, а от несовместимости.

Иногда это происходит быстро. Скажем, последний релиз Python 2 был совсем недавно, и я уже ожидаю, что им можно будет пользоваться не более нескольких лет. Сменится версия протокола TLS, умрёт pip, некоторое время пакеты можно будет скачивать с PyPI руками. Потом всё.

Иногда всё застревает надолго. Скажем, наша компьютерная система с ДОСом. В середине 90-ых наш старший сисадмин в качестве сетевой операционной системы выбрал Novel NetWare. Тогда это был хороший выбор. Особенно с учётом того, что новеловский стек для ДОС был маленький, занимал места в памяти меньше микрософтовского. В 2000ых мы заменили NetWare на эмуляторы, в Линуксе — на ncpfs. Однако 20 лет спустя всё это работает уже с трудом. Пользовательские программы ncpfs были удалены из Debian в версии то ли 8, то ли 9. Я их сохранил, пока работают. Протоколы IPX/SPX были удалены из ядра в версии 4.17, а в Debian 10 уже 4.19. Чтобы сделать обновление, я поставил ядро 4.14 LTS.

Обновиться через пару лет на Debian 11 я уже, скорее всего, не смогу. Надо думать о смене протокола. LAN Manager в ДОС ставить.

This entry was originally posted at https://phd-ru.dreamwidth.org/324401.html. You can comment here or there. There are comment count unavailable comments.

py-e
Python
Imagephd
Полный π. Нет, вру, полный e. Вышел Python 2.7.18, последний релиз в ветке 2.7 и вообще последний в ветке 2.

Меня уже спрашивали, собираюсь ли я поддерживать свои библиотеки для работы с 2.7. Я пообещал пару лет, а если получится, так и больше. И на работе я пока в основном его использую.

PS. На моём предыдущем ноутбуке компиляция Питона из исходников выполнялась 3-5 минут. На новом секунд 15-20. Даже сам не ожидал.

This entry was originally posted at https://phd-ru.dreamwidth.org/321681.html. You can comment here or there. There are comment count unavailable comments.

А у вас весь PEP белый: оскорблённая ветчина
Python
Imagephd
Первоапрельский питоновский PEP в этом году немножко не смешной, потому что очень уж близок к реальности. Особенно если вспомнить, как в питоновском коде термины master/slave исправляли. Ведь исправили, дебилы. os.abort() пока оставили. Но дайте срок, доберутся.

Upd. RFC 8774: The Quantum Bug.

Upd2. RFC 8771: The Internationalized Deliberately Unreadable Network NOtation (I-DUNNO).

This entry was originally posted at https://phd-ru.dreamwidth.org/319624.html. You can comment here or there. There are comment count unavailable comments.

Image