Skip to content

Instantly share code, notes, and snippets.

View svetlyak40wt's full-sized avatar
💭
Making Ultralisp.org

Alexander Artemenko svetlyak40wt

💭
Making Ultralisp.org
View GitHub Profile
@svetlyak40wt
svetlyak40wt / zen-of-python
Created December 25, 2012 22:03
Zen of Python
Python 2.7.1 (r271:86832, Jun 25 2011, 05:09:01)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
@svetlyak40wt
svetlyak40wt / tests.py
Created January 24, 2013 08:45
An example, how to reproduce UnicodeEncodeError in nose-progressive.
# coding: utf-8
# How to reproduce:
# * Get a python2.6 (you can use pythonbrew, for example).
# * virtualenv --python=python2.6 env
# * env/bin/pip install -e 'git+git://github.com/erikrose/nose-progressive.git#egg=nose-progressive'
# * env/bin/nosetests --with-progressive tests.py
@svetlyak40wt
svetlyak40wt / mongo-cl-driver-issue.lisp
Created February 20, 2013 09:26
Issue with duplicate key ignorance
TESTS> (defparameter *db* (make-instance 'mongo:database :name "pizzbook"))
*DB*
TESTS> (defparameter *test-collection* (mongo:collection *db* "the-test"))
*TEST-COLLECTION*
TESTS> (mongo:insert-op *test-collection* (son "_id" "blah" "other" "field"))
; No value
TESTS> (mongo:insert-op *test-collection* (son "_id" "blah" "other" "another value"))
; No value
@svetlyak40wt
svetlyak40wt / sentry_output.py
Created April 24, 2013 05:24
Sentry Output for twiggy.
class SentryOutput(outputs.Output):
def __init__(self, dsn, *args, **kwargs):
self.client = Client(dsn=dsn)
super(SentryOutput, self).__init__(format=λ msg: msg)
def _open(self):
pass
def _close(self):
pass
@svetlyak40wt
svetlyak40wt / try-pelican-themes.sh
Created July 26, 2013 08:30
A script to try all Pelican themes.
for theme in $(ls --color=never ~/pelican-themes/)
do
echo "Trying $theme"
pelican content \
-o output \
-s pelicanconf.py \
-t ~/pelican-themes/${theme}
read -p "Press Enter to continue..."
done
@svetlyak40wt
svetlyak40wt / djangodash.org
Last active December 23, 2015 22:49
План на DjangoDash 2013

Каждый охотник желает знать, где лежит changelog

Сервис собирает логи изменений разных библиотек и представляет их в едином виде

Концептуальные задачи

Следить за выходом новых версий

Получать информацию о том, что случилось в той или иной версии

Архитектурно он состоит из

API

@svetlyak40wt
svetlyak40wt / chdir.py
Created September 27, 2013 11:40
Change dir context manager
from contextlib import contextmanager
@contextmanager
def cd(path):
"""Usage:
with cd(to_some_dir):
envoy.run('task do')
"""
old_path = os.getcwd()
@svetlyak40wt
svetlyak40wt / fizzbuzz.lisp
Created November 21, 2013 07:09
Common Lisp FizzBuzz
(loop for i from 1 to 100
as 3-divable = (zerop (mod i 3))
as 5-divable = (zerop (mod i 5))
as both-divable = (and 3-divable 5-divable)
when both-divable collect :FizzBuzz
else when 3-divable collect :Fizz
else when 5-divable collect :Buzz
else collect i)
#!/usr/bin/env python
# Quick and dirty demonstration of CVE-2014-0160 by
# Jared Stafford ([email protected])
# Modified so that it finds cookies
import sys
import struct
import socket
import time
import select
@svetlyak40wt
svetlyak40wt / cached_mixin.py
Last active January 3, 2022 22:44
Cache mixin for Django class based views.
class CachedMixin(object):
def get(self, *args, **kwargs):
cache_key, cache_ttl = self.get_cache_params(*args, **kwargs)
response = cache.get(cache_key)
if response is None:
response = super(CachedMixin, self).get(*args, **kwargs)
response.render()
cache.set(cache_key, response, cache_ttl)
return response