Skip to content

Instantly share code, notes, and snippets.

View diyan's full-sized avatar

Oleksii Diian diyan

View GitHub Profile
@diyan
diyan / .vimrc
Last active April 11, 2018 03:58
Alexey Diyan's vim configuration file
" This must be first, because it changes other options as a side effect.
set nocompatible
" On Windows use '.vim' instead of 'vimfiles' to make sync easier
let s:ms_win = (has('win16') || has('win32') || has('win64'))
if s:ms_win
set runtimepath=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/.vim/after
set shell=/bin/sh
endif
@diyan
diyan / get_user_name.py
Created December 12, 2012 16:04
Get full name of current logged user in Windows/Linux/Mac OS X.
import os
def get_user_name():
if os.name == 'nt':
import ctypes
GetUserNameExW = ctypes.windll.secur32.GetUserNameExW
name_display = 3
size = ctypes.pointer(ctypes.c_ulong(0))
GetUserNameExW(name_display, None, size)
@diyan
diyan / choosing_http_mock_library.md
Created December 18, 2012 12:04
Choosing HTTP mock library
@diyan
diyan / patch_python_couchbase_for_read_data_stored_by_dotnet_client.py
Created December 19, 2012 14:43
Monkey patch Couchbase Python client in order to work with data stored by .NET couchbase client.
# Monkey patch Couchbase Python client in order to work with data stored by .NET couchbase client.
# http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-datastore-fields.html
# Both Python and .NET couchbase clients using fields in document metadata
# for storing type information which does not compatible with each other.
def get_patched_couchbase():
from couchbase.constants import MemcachedConstants
import struct as original_struct
unpack_original = original_struct.unpack

Ubuntu 13.04 / 12.10 post install

Install XFCE (desktop environment)

$ sudo add-apt-repository ppa:xubuntu-dev/xfce-4.10 
$ sudo apt-get update 
$ sudo apt-get -f dist-upgrade 
$ sudo apt-get install xubuntu-desktop 

Remove XFCE global shortcuts (e.g. Ctrl-F4)

Tornado (Web framework)

TornadIO2 = Tornado + Socket.IO / Хабрахабр - http://habrahabr.ru/post/133350/

TornadIO2 — TornadIO2 0.1 documentation - http://tornadio2.readthedocs.org/en/latest/

Realtime Web №2 - TornadIO | Кушаем у мистера Джо - http://mrjoes.tumblr.com/post/2963182191/tornadio

Использование Nginx+Tornado для приложений на Django / Мастерская интернет-разработчика - http://adw0rd.com/2009/11/15/nginx-tornado-django/

from jinja2 import evalcontextfilter, escape
from markdown import Markdown
from bottle import app, route, run, redirect, static_file
from bottle import jinja2_template as template
"""
import bottle
from bottle_debugtoolbar import DebugToolbarPlugin
config = {
'DEBUG_TB_ENABLED': True,
@diyan
diyan / oop_in_python_sample.py
Last active April 27, 2024 20:55
Пример основных концепций ООП на примере языка Python
# -*- coding: utf-8 -*-
"""
Абстракция (abstraction) - метод решения задачи, при котором объекты разного
рода объединяются общим понятием (концепцией), а затем сгруппированные сущности
рассматриваются как элементы единой категории.
Инкапсуляция (encapsulation) - техника, при которой несущественная с точки
зрения интерфейса объекта информация прячется внутри него.
Наследование (inheritance) - свойство объектов, посредством которого экземпляры