Profile cover photo
Profile photo
Sergey Shepelev
Communities and Collections

Add a comment...

Software engineering idea

Problem statement: during "error condition", such as required file not found, combining all of these things is hard:
- keep technical information for developers
- alter control flow to what is next relevant for user
- keep code simple, readable

Suggestion: split error handling into:
- execution flow control which allows easy recovery at business logic level
- track debug information even though "exception was handled"

Means to accomplish:
- tracing - annotate parts of code with debug information; traces are collected at runtime and discarded if everything went well from user perspective
- provide "less than exceptional/fatal" jumps in control flow to next reasonable part of code
Add a comment...

v0.20.0 release

Important backward incompatible changes:
- removed select.poll(). We never had green poll implementation. If you really need blocking poll, use patcher.original('select').
- DNS resolving is always green with dnspython bundled in. This is just a nice free improvement. Be alert only if you intentionally wanted blocking resolving.

Other goodies:
* greenio: only trampoline when we block
* convenience: listen() sets SO_REUSEPORT when available; Thanks to Zhengwei Gao
* ssl: Fix "TypeError: read() argument 2 must be read-write bytes-like object, not None"
* greenio: _recv_loop behaviour with recv_into on closed sock
* ipv6: getaddrinfo would fail with scope index
* green.zmq: Support {send,recv}_{string,json,pyobj} wrappers
* greendns: Return answers from /etc/hosts despite nameserver errors
* patcher: fixed green existing locks fail (Python3)
* Add DAGPool, a dependency-driven greenthread pool
* wsgi: Unix socket address representation; Thanks to Samuel Merritt
* tpool: isolate internal socket from default timeout; Thanks to Alex Villacís Lasso
* wsgi: only skip Content-Type and Content-Length headers (GH-327)
* wsgi: 400 on blank Content-Length headers (GH-334)
* greenio: makefile related pypy socket ref counting
* ssl: Fix recv_into blocking when reading chunks of data
* websocket: support Gunicorn environ['gunicorn.socket']

Our website:

Try latest version with `pip install -U eventlet`

Post has attachment
Sync public SSH keys stored in Amazon IAM to all my servers with this simple script. Thanks to all people who made it possible and those who pinched me to complete it.
Add a comment...

Post has attachment
v0.18.3 release

The most scandal Eventlet release so far:

Important note: do not use versions 0.18.0 and 0.18.1, they contain known bug in wsgi on Python3.

0.18 line features Python3 compatible green.OpenSSL.

Now important backward incompatible changes:
- socket.send() will return fast, it no longer attempts to retry like sendall() which makes it consistent with Python standard library and removes a source of very subtle errors.
- monkey patching removes things from `select` module, that we could not make green. This includes `select.poll()`, epoll, kqueue, etc. See full list here the motivation here is that we want to prevent you from accidentally blocking whole process, while thinking it should all work together.

Other goodies:
- greenio: Fixed a bug that could cause send() to start an endless loop on ENOTCONN; Thanks to Seyeong Kim
- wsgi: Fixed UNIX socket address being trimmed in “wsgi starting” log; Thanks to Ihar Hrachyshka
- subprocess: Fixed missing subprocess.mswindows attribute on Python 3.5; Thanks to Josh VanderLinden
- ssl/monkey patching: Fixed a bug that would cause merely importing eventlet to monkey patch the ssl module; Thanks to David Szotten
- wsgi: Made the error raised in case of chunk read failures more precise (this should be backwards compatible as the new exception class, wsgi.ChunkReadError, is a subclass of ValueError which was being used there before); Thanks to Samuel Merritt
- greenio: Fixed socket.recv() sometimes returning str instead of bytes on Python 3; Thanks to Janusz Harkot
- websocket: Fixed TypeError on empty websocket message (Python 3); Thanks to Fukuchi Daisuke
- greenio: Fixed handling blocking IO errors in various GreenSocket methods; Thanks to Victor Stinner
- greenio: Fixed GreenPipe ignoring the bufsize parameter on Python 2; Thanks to Phus Lu
- greenio: Made read() support buflen=-1 and added readall() (Python 3); Thanks to David Szotten
- wsgi: Improved request body discarding
- subprocess: Fixed universal_newlines support
- wsgi: Output of 0-byte chunks is now suppressed; Thanks to Samuel Merritt
Improved the documentation; Thanks to Ramakrishnan G, ashutosh-mishra and Azhar Hussain
- greenio: Changed GreenFileIO.write() (Python 3) to always write all data to match the behavior on Python 2; Thanks to Victor Stinner
documentation: Added support for building plain text documentation; thanks to Levente Polyak
- backdoor: Added Unix and IPv6 socket support; Thanks to Eric Urban

Post has attachment
12 октября был прекрасный день.
2 Photos - View album
Add a comment...

Post has attachment
Add a comment...

Сегодня мы наводим новую движуху! Никаких репостов!

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

Даже если вы репостите это сообщение, перепишите его своими словами! Никаких репостов!
Add a comment...

На музыку Shape of my heart.

Собака воет темной ночью
От скуки иль приснилось что.
Прошу простить за третью строчку
В прихожей мокрое пальто.

Чего ей надобно для счастья?
Коль счастье в том, чтобы молчать.
Есть кость и крыша от ненастья
Есть на кого рычать.

Нет одного - окситоцина
Может завоет кто в ответ.
Пожарил лук на кислой мине
Немного белых на обед.

Если такая качка ныне
Что будет к сорока пяти?
Шаг. Крик. Пошла лавина.
А впрочем хватит чушь нести.

Собака воет ночью темной
Бернард всех любит без причин.
Мал золотник, а мир огромный.
Дурак по-прежнему один.

таб-па-ба-да па-даа тап-да-даа
пат-да ду-ди-ду да-бу-дай
мгмм мгм хмм мм м
Add a comment...

Post has attachment
Впервые за 7 лет на даче вскипятил чаю. Сверху коптятся замечательные подосиновики.
Add a comment...
Wait while more posts are being loaded