phd_ru: (pic#4106692)
Всё, pypi.python.org редиректит на pypi.org. Сегодня, конечно, день глюков, но скоро устаканится.

Старый pypi доступен по адресу legacy.pypi.org до 30 апреля.
phd_ru: (pic#4106692)
Краткая история синтаксиса оператора присваивания:

https://www.hillelwayne.com/post/equals-as-assignment/

Ну, т.е. во всём виноват PDP-7 с 4 кбайтами памяти. :-)

Найдено в python-ideas в обсуждении внутриоператорного присваивания.

Debian 9 Py

Mar. 5th, 2018 01:34 am
phd_ru: (pic#4106692)
Питоны тоже не так просто перекомпилировать — OpenSSL-то теперь сильно защищённый, протокол SSLv3 в нём запретили. Модуль _ssl.c приходится патчить:

+#ifndef OPENSSL_NO_SSL3
     else if (proto_version == PY_SSL_VERSION_SSL3)
         self->ctx = SSL_CTX_new(SSLv3_method()); /* Set up context */
+#endif

Debian 9 Х

Mar. 5th, 2018 12:45 am
phd_ru: (Default)
После обновления ноутбука не взлетели Иксы. Часа полтора провозился, оказалось, что в .xserverrc надо добавить "$@". xinit туда много чего передаёт:

xinit /home/phd/.xinitrc -- /home/phd/.xserverrc :0 vt2 -keeptty -auth /tmp/serverauth

Теперь .xserverrc у меня такой:

#!/bin/sh
exec /usr/bin/X -nolisten tcp -quiet "$@"

После запуска иксов оказалось, что не запускается графический pinentry и я никуда не могу войти по ssh. Пока не понял, что происходит, пользуюсь текстовым.

У меня своя большая коллекция питонов — от 2.6 до 3.6, все надо перекомпилировать.
phd_ru: (pic#4106692)
На лицевой стороне банкноты биткоина — Алан Тьюринг. А на обратной — код генерации биткоиновского адреса на Питоне.
phd_ru: (pic#4106692)
Гигантский и крайне подробный отчёт об обширном исследовании о количестве дефектов в программах (опубликованных на Github) и как оное количество зависит от языка программирования:

https://cacm.acm.org/magazines/2017/10/221326-a-large-scale-study-of-programming-languages-and-code-quality-in-github/fulltext

Языками с наибольшим количеством дефектов оказались: C, C++, Objective-C, Php, и, тадам, Python! На противоположном конце спектра Clojure, Haskell, Ruby, Scala и Go.

Найдено на /.

Жаль, что Rust остался за рамками исследования. Мы тут на работе задумались, на чём писать следующий большой проект. Python уже поднадоел — разным людям по разным причинам. Выбираем преимущественно между Go и Rust. Склоняемся к Rust.
phd_ru: (pic#4106692)
ВНЕЗАПНО обнаружил, что на StackOverflow есть вопросы по моим программам - SQLObject и Гепарду.

Срочно зарегистрировался и начал отвечать. А поскольку репутации нету, стал отвечать и на другие вопросы, чтобы прокачаться. В основном получается про git и Python. В результате за 44 дня 1400 баллов.

Вот мой профиль: https://stackoverflow.com/users/7976758/phd

Надо было, конечно, ещё 10 лет назад зарегистрироваться и начать набирать очки. Я люблю обучать молодёжь. В 90-ые годы, когда компьютеры были в новинку, а я уже работал в медицине и писал программы для анестезиологов, я много занимался обучением врачей и медсестёр. В 2000-е надобность в этом отпала — и наши программы стали более удобными, и компьютеры перестали быть заморской диковинкой.

Теперь вот нашёл занятие для пенсии. А чтобы не утратить квалификацию, я и сам программки кропаю вне работы.
phd_ru: (pic#4106692)
Как-то так сложилось, что я пользуюсь продуктами авторства Ian Bicking, или хотя бы где он был коммитером. И не пользуюсь продуктами Mike Bayer. SQLObject да, SQLAlchemy нет. Cheetah Template да, Mako нет. Не то, чтобы я был против этих продуктов, или тем более самого Майка. Просто так сошлись звёзды.

К сожалению, Cheetah Template давно не обновлялся. Его нынешний мэйнтейнер, R. Tyler Croy, добавил в 2012 году пару патчей для работы с Python 2.7 и на этом закончил. Даже не принимает пулл-реквесты.

Недавно я решил, что пора обновлять Гепарда для Python 3, но на все мои запросы Тайлер ответил глухим молчанием. Пришлось форкнуть и переименовать проект.

http://ru-python.livejournal.com/338761.html
phd_ru: (pic#4106692)

Году в 2004 архитектор и старший программист проекта, в котором я тогда участвовал, решил использовать SQLObject в качестве ORM. SQLObject был тогда в версии 0.2, так что я, конечно, начал слать сообщения об ошибках. В версии 0.3 я уже слал патчи. К версии 0.4 я получил право коммитить непосредственно в репозиторий (в ту пору в Subversion). В версии 0.5 я уже был одним из разработчиков, а после версии 0.6 автор (Йен Бикинг) покинул проект, не оставив мне другого выбора кроме как стать ведущим разработчиком и релизером.

Вот уже 2016 год, а я всё ещё занимаюсь этим проектом.

Это была длинная предистория, а суть такова: я недавно начал использовать sqlparse; этот проект в версии 0.2, и я уже шлю баг-репорты и пул-реквесты…

Pyp 8

Apr. 1st, 2016 02:22 am
phd_ru: (pic#4106692)
Следующая версия Питона будет нумероваться Python 8!

https://mail.python.org/pipermail/python-dev/2016-March/143603.html

Почему 8? Ну, как же: Perl 6, PHP 7, а Python — 8! PEP8, опять же.
phd_ru: (Linux)
По мотивам обсуждения у Витуса — кто может внятно рассказать, чем bmake отличается/лучше/хуже gmake? Маны я прочёл.

PS. BSDатый make против GNUсного…

Upd. Вот, нашёл кой-какие сравнения:
nmake-vs-gmake

bmake-vs-gmake

Плюс в bmake есть мета-режим: bmake умеет строить зависимости, запуская компилятор и отслеживая с помощью file monitor в ядре, какие файлы компилятор читал. Аналогичную штуку умеет делать fabricate.py либо мониторя atime, либо с помощью, естественно, strace (fabricate.py для Py3).
phd_ru: (Linux)
Давно не заходили терминалкой на BBS?

https://github.com/jquast/x84/

«The primary purpose of x/84 is to provide a server framework for building environments that emulate the feeling of an era that predates the world wide web. It may be used for developing a classic bulletin board system (BBS) -- one is provided as the 'default' scripting layer. It may also be used to develop a MUD, a text-based game, or a game-hosting server such as done by dgamelaunch.»

Найдено в Python Weekly.
phd_ru: (Python)
Obfuscating "Hello world!":
…getattr(
        __import__(True.__class__.__name__[_] + [].__class__.__name__[__]),
        ().__class__.__eq__.__class__.__name__[:__] +
        ().__iter__().__class__.__name__[_____:________]
    )…

Найдено в Python Weekly.

return ∑

Jul. 2nd, 2014 12:40 am
phd_ru: (Python)
Чего только люди не придумают.

map (λ x: x, [1,2,3])

def foo(e, a):
    if e ∈ [1,2,3] ∧ ¬a:
        return √(π)
    else:
        return ∑([1,2,3])

Найдено в рассылке python-ideas.
phd_ru: (Python)
Пишу и запускаю код. И вдруг он спотыкается на ровном месте и зависает. Я было подумал, что создал где-то бесконечный цикл. Запускаю программу в отладчике, начинаю проходить. Повезло — программа зависла недалеко от начала. Зависла на очень странном месте, на вызове int(). Я как раз переделывал это место. Начинаю разбираться. Раньше там был код int(data) * 10**6, но мне понадобилось сохранить больше значащих цифр в случае, когда data — вещественное значение. Новый код: int(data * 10**6), и вот он зависает. Смотрю внимательно, и понимаю, что data может быть целым, может вещественным, а может СТРОКОВЫМ (из цифр)! int(data) во всех трёх случаях срабатывал нормально, а вот int(), применённый к строке из десяти миллионов символов, задумался. Исправил код на int(float(data) * 10**6).

Числа для сравнения:
$ time python -c "int('1234567890' * 10**3)"
0.00user 0.00system 0:00.01elapsed 78%CPU (0avgtext+0avgdata 3548maxresident)k
$ time python -c "int('1234567890' * 10**4)"
0.31user 0.00system 0:00.32elapsed 99%CPU (0avgtext+0avgdata 3660maxresident)k
$ time python -c "int('1234567890' * 10**5)"
31.19user 0.00system 0:31.25elapsed 99%CPU (0avgtext+0avgdata 4800maxresident)k
$ time python -c "int('1234567890' * 10**6)"
3154.70user 0.49system 52:41.28elapsed 99%CPU (0avgtext+0avgdata 17452maxresident)k
phd_ru: (Python)
Ковыряешь, бывало, землю грязными лапками, и тут сверкнёт прямо в глаз — перл! (В данном конкретном случае, скорее, питон.)

В 1986 Гвидо ван Россум написал библиотеку glob для BSD UNIX.

Найдено в wiki.
phd_ru: (Python)
В дополнении к сравнению code hosting: есть одна вещь, которую github/gitorious/bitbucket сделали правильно — двухуровневые пространства имён: пользователь (или компания) + имя проекта.
phd_ru: (Linux)
Почему я не люблю github и предпочитаю SourceForge )

Upd. Allura (код, на котором работает новый SF) стал топ-проектом Apache. Найдено на /.

March 2026

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 24th, 2026 01:14 am
Powered by Dreamwidth Studios