Skip to content

Instantly share code, notes, and snippets.

Avatar

Aleksandr Gornostal gornostal

View GitHub Profile
View conftest.py
import pytest
class DictHasValus(dict):
"""
DictHasValus({('foo', 'bar'): 'hello'}) == {'foo': {'bar': 'hello'}}
"""
def __eq__(self, other):
try:
View .tmux.conf
# tmux v2.0 installation steps for Ubuntu 14.04 (Trusty Tahr)
# tmux -V
# sudo apt-get update
# sudo apt-get install -y python-software-properties software-properties-common
# sudo add-apt-repository -y ppa:pi-rho/dev
# sudo apt-get update
# sudo apt-get install -y tmux
# tmux -V
# use UTF8
@gornostal
gornostal / duplicate_line.py
Created Jul 1, 2012
Sublime plugin for duplicating lines
View duplicate_line.py
import sublime, sublime_plugin
class DuplicateLineCommand(sublime_plugin.TextCommand):
def run(self, edit):
for region in self.view.sel():
if region.empty():
line = self.view.line(region)
line_contents = self.view.substr(line) + '\n'
self.view.insert(edit, line.begin(), line_contents)
View cleanup.py
#!/usr/bin/env python
import glob
import os
import sys
if len(sys.argv) < 2:
print "Usage: ./cleanup.py path/to/dir/ [max_dir_size_in_gb]"
sys.exit()
View .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
@gornostal
gornostal / spuploader.sh
Last active Oct 30, 2015
Upload files via serial port to a device
View spuploader.sh
#!/bin/bash
target="$1"
remotePath="$2"
device="${3:-/dev/ttyUSB0}"
# compress target files using tar | encode data to base64 string | remove \n
compress="tar -C `dirname $target` -cjvf - `basename $target` | base64 | tr -d '\n'"
# decode base64 string using python (using python because my device doesn't have base64)
base64decode="import base64, sys; sys.stdout.write(base64.b64decode(sys.stdin.read()))"
@gornostal
gornostal / audible.js
Last active Dec 23, 2015
Scrape audible search results
View audible.js
/**
* To run use http://nrabinowitz.github.com/pjscrape/
* 1. $ phantomjs pjscrape.js audible.js
* 2. Register on mongolab.com
* 3. $ mongoimport -h ds0466148.mongolab.com:45598 -d <dbname> -c <collection> -u <user> -p <password> --file audible.json --jsonArray
* 4. Install greasemonkey (Firefox) or tempermonkey (Chrome)
* 5. Add this userscript https://gist.github.com/gornostal/6570526
* 6. Open https://mongolab.com/databases/audible/collections/fiction_books or whatever you have
*/
@gornostal
gornostal / audible-mongolab.js
Created Sep 15, 2013
Tampermonkey script for audible collections in mongolab
View audible-mongolab.js
// ==UserScript==
// @name Audible-Mongolab
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description https://gist.github.com/gornostal/6570516
// @match https://mongolab.com/databases/audible/collections/*
// @copyright 2012+, You
// ==/UserScript==
@gornostal
gornostal / readme.md
Created Dec 28, 2016
Ubuntu/Linux. Create SWAP file
View readme.md
  • sudo -i
  • cd /var
  • dd if=/dev/zero of=swap.file bs=1M count=2048
  • mkswap swap.file
  • chmod 600 swap.file
  • swapon swap.file
  • // copy UUID
  • vi /etc/fstab ==> UUID=f1ed55b6-357b-4427-86c8-d57f034cf29e none swap defaults 0 0
  • mount -a
  • echo $? // should be 0 if everything is OK