Skip to content

Instantly share code, notes, and snippets.

convert google takeout archive for location history from kml to gpx and split file into one per day

gpsbabel -i kml -f Location\ History.kml -o gpx -F out.gpx
gpsbabel -t -i gpx -f out.gpx -x track,merge,pack,split,title="ACTIVE LOG # %Y%m%d" -o gpx -F split.gpx
python2 gpxsplitter.py split.gpx
@sashazykov
sashazykov / gist:4cec41588f294851d97b
Created November 23, 2014 16:00
Importing public transport stops and routes from gortransperm to JOSM
var routeData = {"routeId":"713","routeNumber":null,...}
// Data from http://map.gortransperm.ru/json/full-route/06.11.2014/713
var builder = require("josm/builder")
var nb = builder.NodeBuilder;
var rb = builder.RelationBuilder;
var ds = new org.openstreetmap.josm.data.osm.DataSet();
@sashazykov
sashazykov / gist:1372302fb6f6112c855e
Created November 23, 2014 15:56
Download originals of all photos in a flickr photo set
// 1. Open a photo set
// 2. Scroll to the bottom to see all photos
// 3. Run this script in javascript console
// => you will see all links to original files (now you can download it using DownThemAll!)
var jq = document.createElement('script');
jq.src = "//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
photos = $('.photo-click');
Verifying myself: My Bitcoin username is +zykov. https://onename.io/zykov

Keybase proof

I hereby claim:

  • I am alexandrz on github.
  • I am zykov (https://keybase.io/zykov) on keybase.
  • I have a public key whose fingerprint is 3211 9D83 9852 D25A C5DA 8F77 D438 D447 DECF D09A

To claim this, I am signing this object:

@sashazykov
sashazykov / gist:29b87b6b86e9ed3d75df
Last active August 29, 2015 14:03
Bash completion for ssh. Tested with Mac OS X 10.9
# Add bash completion for ssh: it tries to complete the host to which you
# want to connect from the list of the ones contained in ~/.ssh/known_hosts
__ssh_known_hosts() {
if [[ -f ~/.ssh/known_hosts ]]; then
cut -d " " -f1 ~/.ssh/known_hosts | cut -d "," -f1 | grep -v "[\[\|]" | uniq | sort
fi
}
_ssh() {
local cur known_hosts
COMPREPLY=()
@sashazykov
sashazykov / alexandrz.txt
Created June 1, 2014 07:51
Aleksandr Zykov
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.15 (Darwin)
mQENBFOK2KwBCACtmwxfsjleL5SZ/DSixRu94prvDEk6szaKyloT/Qw2Bfd6921u
/4OJtJnMkLk9h6JurB9Bi56qTQF0yrG0vHS8qaVEKs9T48LZRxA2Ktl13g4IGWzR
Hs0BJIVjhGBNQWeHCzq/uDnkRyp7uR8vWyEnzIKfGaRaGBL4LjPP7aLppfX+Wh38
ScKrO22/jjpmn+KsdrfjzH5GBlF3Zeq8u22odaaMFL56YCQw4JG5HLraP3EFHm6/
8hgg9CCgV7OVdzXVDO5h+kFewjaTD3ADE5MxzdW2AgVi9RMxBxo5XrBnWxGQahJ+
UTc4bjqTboPzJ5JnorWMq+D4pjuZVsVrZt1TABEBAAG0JUFsZWtzYW5kciBaeWtv
diA8YWxleGFuZHJ6QGdtYWlsLmNvbT6JAT4EEwECACgFAlOK2KwCGwMFCRLMAwAG
@sashazykov
sashazykov / bitcoin_address_validator.rb
Created January 9, 2013 09:04
Rails 3 bitcoin address validator. Validator syntaxis: validates :address, :bitcoin_address => true, :presence => true
require 'digest'
class BitcoinAddressValidator < ActiveModel::EachValidator
def validate_each(record, field, value)
unless value.blank? || valid_bitcoin_address?(value)
record.errors[field] << "Bitcoin address is invalid"
end
end
private
@sashazykov
sashazykov / things2todo.rb
Created November 24, 2012 15:57
Export tasks from Things to PlainTasks TODO file
# -*- encoding : utf-8 -*-
require 'rubygems'
require 'appscript'
OPEN_TASK_BULLET = "☐" # Valid: - ❍ ❑ ■ □ ☐ ▪ ▫ – — ≡ → ›
CLOSE_TASK_BULLET = "✔" # Valid: + ✓ ☑
things = Appscript.app('Things')
kill `ps auxwww|grep "Chrome Helper"|awk '{print $2}'`