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)
http://lenta.ru/news/2014/01/28/overturned/

В суд обратились провайдеры Ziggo и XS4ALL. Суд отменил блокировку и постановил, что антипираты выплатят провайдерам 326 тысяч евро.

PS. На XS4ALL хостится python.org.

Upd. Measure the Effects of Blocking Access to the Pirate Bay. Исследование, демонстрирующее незначительность эффекта блокировки Пиратской Бухты. PDF доступен для скачивания.

Найдено на /.

Upd2. BREIN согласились на отмену блокады минуя аппеляцию.

Найдено на /.
phd_ru: (Python)
Драйвер внешней файловой системы, показывающий в Midnight Commander содержание файла XML в виде файловой системы.

XML VFS )

Лицензия: GPL

X-Post: http://ru-python.livejournal.com/331543.html
phd_ru: (Python)
Яндекс выложил на GitHub исходники Configurable Omnipotent Custom Applications Integrated Network Engine — штуку для создания облачных хостингов приложений, типа AppEngine. Здоровенный проект. Ядро на C++, инструментарий на Python. Лицензия LGPL.

Найдено в CNews.

X-Post: http://ru-python.livejournal.com/330842.html
phd_ru: (Python)
http://phdru.name/Software/Python/#skype4py

  • segfault.patch - инициализация GLib для предотвращения segfault;
  • exec.patch - исправлено число параметров в вызове os.execlp для запуска Skype;
  • systembus.patch - возможность переключиться на SystemBus вместо SessionBus в D-Bus;
  • combined.patch - все 3 одним патчем.
X-Post: http://ru-python.livejournal.com/317008.html

July 2017

M T W T F S S
     12
345 6789
1011 1213141516
17181920212223
24252627282930
31      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 25th, 2017 12:41 pm
Powered by Dreamwidth Studios