Skip to content

Instantly share code, notes, and snippets.

Vladimir Rutsky rutsky

Block or report user

Report or block rutsky

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@rutsky
rutsky / fpm_docker_centos6.md
Last active Aug 29, 2015
Run FPM from docker on CentOS 6
View fpm_docker_centos6.md
(host)# docker pull centos
(host)# docker run -t -i centos:centos6 /bin/bash
bash-4.1# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
bash-4.1# yum install -y ruby-devel git rubygems gcc tar python-setuptools rpm-build dpkg
...
bash-4.1# git clone https://github.com/jordansissel/fpm.git
...
bash-4.1# cd fpm
bash-4.1# bundle install
@rutsky
rutsky / MaterialTest.qml
Last active Aug 29, 2015
PyQt 5.4.2 bug example: QSGMaterial::createShader() result object is destroyed before use + application hangs at exit
View MaterialTest.qml
import QtQuick 2.0
Item {
}
@rutsky
rutsky / MaterialTest.qml
Created Jun 18, 2015
PyQt 5.4.2 QSGMaterialShader::attributeNames() memory leak example
View MaterialTest.qml
import QtQuick 2.0
Item {
}
@rutsky
rutsky / main.py
Last active Aug 29, 2015
PyQt bug: UI files loading/parsing is not reentrant (PyQt 5.4.2 nightly d5b00e76067f)
View main.py
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QWidget, QApplication
# Problem: the ui loader/parser is not reentrant. If another UI load is requested
# during loading of UI file, final layout may be corrupted.
#
# In this example "main.ui" file requests promoted widget from "widget.py", and
# on module level of "widget.py" UI file "widget.ui" is being loaded.
@rutsky
rutsky / return_await.py
Created Nov 9, 2015
Future/generator expansion inside asyncio.coroutine
View return_await.py
import asyncio
import contextlib
@asyncio.coroutine
def return_coroutine_object():
@asyncio.coroutine
def g():
yield from asyncio.sleep(0.01)
return "return_coroutine_object"
@rutsky
rutsky / asyncio_debug_attr_access.py
Created Nov 12, 2015
Inconsistent attribute access in asyncio.coroutine in debug mode
View asyncio_debug_attr_access.py
"""
$ python3 --version
Python 3.4.3
$ python3 asyncio_debug_attr_access.py
f result
$ PYTHONASYNCIODEBUG=X python3 asyncio_debug_attr_access.py
Traceback (most recent call last):
File "asyncio_debug_attr_access.py", line 21, in <module>
print(loop.run_until_complete(coro_func()))
File "/usr/lib/python3.4/asyncio/coroutines.py", line 154, in wrapper
@rutsky
rutsky / class_name_collision.py
Created Dec 9, 2015
PyQt class name collision
View class_name_collision.py
"""
If class is named as Qt class, sometimes PyQt machinery
leads to uncaught Python exception inside sipQWidget::qt_metacast,
which leads to failed Python assertion if Python is build in debug
mode.
$ ./python class_name_collision.py
python: ../Objects/abstract.c:2050: PyObject_Call: Assertion `(result != ((void *)0) && !PyErr_Occurred()) || (result == ((void *)0) && PyErr_Occurred())' failed.
Aborted (core dumped)
$ gdb --args ./python class_name_collision.py
@rutsky
rutsky / master.cfg
Last active Dec 30, 2015
Buildbot test configuration
View master.cfg
# -*- python -*-
# ex: set syntax=python:
from buildbot.plugins import *
# This is a sample buildmaster config file. It must be installed as
# 'master.cfg' in your buildmaster's base directory.
# This is the dictionary that the buildmaster pays attention to. We also use
# a shorter alias to save typing.
@rutsky
rutsky / docker.log
Created Feb 9, 2016
Docker 1.10.0 fails to start
View docker.log
time="2016-02-09T16:15:21.565920451+03:00" level=debug msg="docker group found. gid: 999"
time="2016-02-09T16:15:21.565995328+03:00" level=debug msg="Server created for HTTP on unix (/var/run/docker.sock)"
time="2016-02-09T16:15:21.566129065+03:00" level=debug msg="Using default logging driver json-file"
time="2016-02-09T16:15:21.566163400+03:00" level=debug msg="[graphdriver] trying provided driver \"overlay\""
time="2016-02-09T16:15:21.568068833+03:00" level=debug msg="Using graph driver overlay"
time="2016-02-09T16:15:21.673983839+03:00" level=debug msg="could not get checksum for \"11421c362701030998085de69fbef501e4c16f91c2f008d820124808a4ddfe48\" with tar-split: \"open /var/lib/docker/graph/11421c362701030998085de69fbef501e4c16f91c2f008d820124808a4ddfe48/tar-data.json.gz: no such file or directory\""
time="2016-02-09T16:15:21.674026604+03:00" level=error msg="could not calculate checksum for \"11421c362701030998085de69fbef501e4c16f91c2f008d820124808a4ddfe48\", \"stat /var/lib/docker/overlay/11421c3
@rutsky
rutsky / docker2.log
Created Feb 9, 2016
Log of Docker 1.10.0 after start
View docker2.log
time="2016-02-09T21:51:11.585544668+03:00" level=debug msg="docker group found. gid: 999"
time="2016-02-09T21:51:11.585602876+03:00" level=debug msg="Server created for HTTP on unix (/var/run/docker.sock)"
time="2016-02-09T21:51:11.585713633+03:00" level=debug msg="Using default logging driver json-file"
time="2016-02-09T21:51:11.585736796+03:00" level=debug msg="[graphdriver] trying provided driver \"overlay\""
time="2016-02-09T21:51:11.588455120+03:00" level=debug msg="Using graph driver overlay"
time="2016-02-09T21:51:11.676007058+03:00" level=debug msg="could not get checksum for \"061ea850f8e9bb47a04edf49c745c94a21dbb1a8bbced6bcd857c5fc699bc9a7\" with tar-split: \"open /var/lib/docker/graph/061ea850f8e9bb47a04edf49c745c94a21dbb1a8bbced6bcd857c5fc699bc9a7/tar-data.json.gz: no such file or directory\""
time="2016-02-09T21:51:11.676032346+03:00" level=debug msg="could not get checksum for \"0e57c609ffa9cf52d8e508554c2ca1e9af5a5dea226615ff58c421abfd4622d0\" with tar-split: \"stat /var/lib/docker/overla
You can’t perform that action at this time.