Skip to content

Instantly share code, notes, and snippets.

@peterdemin
peterdemin / kibitzr.yml
Created May 6, 2017 00:01
American Express check
checks:
- name: AmEx
url: https://www.americanexpress.com/
form:
- id: Username
creds: amex.username
- id: Password
creds: amex.password
- id: loginLink
click: true
@peterdemin
peterdemin / kibitzr.yml
Last active June 12, 2022 22:22
Bank of America check
checks:
- name: BofA
url: https://www.bankofamerica.com/
form:
- id: onlineId1
creds: bofa.login
- id: passcode1
creds: bofa.password
- id: hp-sign-in-btn
click: true
@peterdemin
peterdemin / cleanup_tasks.py
Created March 31, 2017 19:21
Django management command to delete old celery tasks from database using batches of adaptive size
import time
from django.core.management.base import BaseCommand
from django.db.models import Max, Min
from django.db.utils import ProgrammingError
from djcelery.models import TaskMeta
class Command(BaseCommand):
help = 'Delete old celery tasks'
@peterdemin
peterdemin / sorts.py
Last active May 6, 2016 03:07
Exercises implementing different sorting algorithms
"""
Example output:
Random string of 1024 alphanumerics:
imbsnSkVml0zBLoTafc7hH2o1Nk6GJNKZAOxVKWMSkbA9wuUMKLTaIwcfLzIAxdMlwmO6d1r
Siwtk4nPgCbZVAph5x6LTcIcWQT284YqsSKoN87a2dmLQd5JHPSlzC4HgThJa97zXvS9MCNE
zcrbeSHresDyZjhLx8t2PsAXQ012dPDnJuy0RxIPzzVI0x6aZNqYcbXYy5z1SaeRzWVvKO6i
rAnRsQ41u30eAg0AY6o4ebQb7iiIr5bpJUmsCsdStXLMoVMQuJBPXaA5RvWaMztVMG5No9rA
uhBFx6Jh3hGPLEFk7jSFI6sCi6VkpnePUczrbDMmC4cmHHPmi8SztAxEpkZNk68uumzS8EAf
@peterdemin
peterdemin / .vimrc
Last active January 15, 2022 17:21
My .vimrc for Python development
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'
@peterdemin
peterdemin / description
Last active August 29, 2015 14:10
celery retry task in chain of groups
Steps to reproduce:
1. apply async chain of groups of tasks;
2. raise retry inside task(s) of first group;
3. watch, how tasks of second group are finished before those in first group.
Particularly in attached logs all 'add' tasks should finish before starting of 'mul' tasks.
But as retry occurs, order does not hold anymore.
The actual order was:
#!/usr/bin/env python
# regression test for https://bitbucket.org/zzzeek/sqlalchemy/issue/2682/is_-and-isnot-in-conjunction-with-boolean
from sqlalchemy import create_engine, Column, Integer, Boolean
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
engine = create_engine('mysql://user:password@localhost/mre')
@peterdemin
peterdemin / .gitconfig
Last active December 26, 2015 20:49
Git settings for using Meld under Windows. (C:\Users\user\.gitconfig) Note: Meld's executable path must not contain spaces or non-ascii characters!
[merge]
tool = meld
[mergetool "meld"]
prompt = false
keepBackup = false
keepTemporaries = false
path = C:/Meld/meld/meld.exe
cmd = "/c/Meld/meld/meld.exe $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE --output=$PWD/$MERGED"
@peterdemin
peterdemin / stress_heap.c
Created October 15, 2013 05:25
Slightly rewritten test from http://bugs.python.org/issue19246 that demonstrates memory fragmentation issue.
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
int create_huge_linked_list(void **last_item) {
int i;
void *prev_item = NULL;
for(i = sizeof(void *); i < 1000000; i++) {
@peterdemin
peterdemin / install-build-agent.sh
Last active December 22, 2015 15:59 — forked from ianbattersby/gist:4641450
Script meant to be used as vagrant shell provisioner. It doesn't use /vagrant shared folder though. That means it can be launched from any remote debian machine.
#!/bin/bash
# Replace this with actual server address
serverUrl="10.1.136.242:80"
if [ -e "/etc/init.d/teamcity" ]
then
echo "TeamCity allready installed"
exit 0
fi