Skip to content

Instantly share code, notes, and snippets.

@lopuhin
lopuhin / download.filenames.log
Created February 23, 2012 13:44
Script to put youtube-downloaded videos for unit-1 of cs373 in correct order
Uqt_pRbR8rI.mp4
31xZhj2uPr4.mp4
n1EacrqyCs8.mp4
6tV5NY1HoNA.mp4
IZC33Tmy8Lo.mp4
ysebYA6tDZ4.mp4
_sAkAALHyEg.mp4
e21oU80gwWc.mp4
nsSvTTA0p8E.mp4
UFcTLCttNRI.mp4
@lopuhin
lopuhin / gist:4046920
Created November 9, 2012 17:13
Stack of PyPy executing jit-ed code
Obtained 3 stack frames.
0 pypy-c 0x000000010ebaa8ed statprof_print_trace + 29
1 ??? 0x0000000000000000 0x0 + 0
2 pypy-c 0x000000010deada68 pypy_g_execute_token__star_2 + 136
@lopuhin
lopuhin / gist:5041302
Created February 26, 2013 19:25
stack-based emulation of recursive fibonacci function - turns out it is slower in pypy and cpython
def fib_rec(n):
if n <= 2:
return 1
else:
return fib_rec(n - 1) + fib_rec(n - 2)
def fib_stack(n):
value_stack, op_stack = [], [n]
while True:
@lopuhin
lopuhin / sort.py
Created January 12, 2014 18:03
Benchmarking different sort methods against built-in sort on 1M random 32-bit integers (radix sort wins over built-in, and naive intra-sort is less than 2x slower)
# encoding: utf-8
import time
import math
import random
__help__ = '''
Benchmarking different sort methods against built-in sort
on 1M random 32-bit integers
!! ['Process:', 'pypy', '[30403]']
!! ['Path:', '/Users/kostia/apps/netdb_demo_2/pypy/bin/pypy']
!! ['Load', 'Address:', '0x100000000']
!! ['Identifier:', 'pypy']
!! ['Version:', '???']
!! ['Code', 'Type:', 'X86-64']
!! ['Parent', 'Process:', 'bash', '[26151]']
!! ['']
!! ['Date/Time:', '2015-10-23', '17:05:13.105', '+0300']
!! ['Launch', 'Time:', '2015-10-23', '17:05:12.611', '+0300']
SELECT
REGEXP_EXTRACT(details.python, r"^([^\.]+)") as python_version,
COUNT(*) as total_downloads,
FROM
TABLE_DATE_RANGE(
[the-psf:pypi.downloads],
TIMESTAMP("20160521"),
TIMESTAMP("20160524")
)
WHERE
@lopuhin
lopuhin / sklearn_model_serialization.py
Last active November 25, 2016 13:24
We want to serialize a model that might have complex preprocessing, lambdas, etc., so it is not directly pickleable. Here we add custom pickle support and serialize only model parameters.
from typing import Dict, Any
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegressionCV
from sklearn.pipeline import make_pipeline, FeatureUnion
class BaseModel:
def __init__(self, **kwargs):
self._kwargs = kwargs
@lopuhin
lopuhin / pympler_heap.py
Created January 31, 2017 13:10
Show python heap with pympler
from pympler.summary import summarize, print_
from pympler.muppy import get_object
all_objects = get_objects()
summary = summarize(all_objects)
print_(summary)
@lopuhin
lopuhin / groups.csv
Created September 12, 2017 10:43
folds for drivendata fish identification
video_id group
00WK7DR6FyPZ5u3A 0
01wO3HNwawJYADQw 1
02p3Yn87z0b5grhL 0
05RagNzyjVdXeUFR 0
06aFbpjpYHVBLJZa 2
09GA0YdSz0NvJUJx 3
0D5zA3WRD5pXjr8j 4
0EmM5wsVVNqaKNaM 5
0L5wBDT4CEazgAw6 6
@lopuhin
lopuhin / kaggle-trackml-2018-viz3d.py
Last active March 3, 2020 09:55
Simple OpenGL visualization starter for Kaggle TrackML 2018
#!/usr/bin/env python3
"""
Install glumpy dependencies::
pip install Cython pyopengl
brew install glfw freetype # on OS X
Install glumpy::
pip install glumpy