Skip to content

Instantly share code, notes, and snippets.

Aleksandr Pasechnik apiarian

Block or report user

Report or block apiarian

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View readinglist_to_chrome.py
#! /usr/bin/env python
# Aleksandr Pasechnik
# 2014-04-16
# Reads through the Safari Reading List for urls containing youtube.com
# Presents a reverse numbered list of the item titles
# Opens the selected item in Google Chrome
# Because Safari is currently introducing stutters into all youtube videos
import os
View move_entries.py
# move_entries.py
# Aleksandr Pasechnik
#
# Goes through the Day One journal and moves entries that start with text which
# matches the regular expresion search string to a new journal location. It
# also moves any associated photos. Day One doesn't currently support multiple
# journals, so this is currently only useful for archiving a specific subset of
# entries.
#
# NOTE: base_dir may need to be adjusted to the correct Journal_dayone location
@apiarian
apiarian / mailbot.py
Last active Aug 29, 2015
python3 email robot to be run periodically
View mailbot.py
#! /usr/bin/env python3
# mailbot.py is an email robot
#
# It connects to an IMAP mail server, looks at all of the messages,
# picks out the ones that have just a U or u in the Subject: header,
# scans them for all of the image attachments, saves them to a
# web-server accessible uploads folder, and replies to the message
# through the SMTP server with the URL(s) of the uploaded photos.
# The images are renamed to a UUID. Any message that got a reply is
# then deleted from the IMAP server.
View update_TransmissionBT_resumes.py
#! /usr/bin/env python2
# update_TransmissionBT_resumes.py
#
# Goes through the Transmission resume/ directory and changes the destinations
# of the transfers from the old_location to the new_location. This assumes that
# the transfer directories have been mirrored perfectly from the old_location
# to the new_location. TransmissionBT must not be running while this script is
# executed. More information about the resume files can be found at
# https://trac.transmissionbt.com/wiki/ResumeFile . Uses the bencode library
# available on pypi.
View significant_pi_digits.py
#! /usr/bin/env python3
# http://www.wolframalpha.com/input/?i=1000+digits+of+pi
pi_str = '3.1415926535897932384626'\
'433832795028841971693993751058209'\
'749445923078164062862089986280348'\
'253421170679821480865132823066470'\
'938446095505822317253594081284811'\
'174502841027019385211055596446229'\
'489549303819644288109756659334461'\
@apiarian
apiarian / eta
Created Jun 13, 2011
Prints the end time of the current QuickTime Player movie.
View eta
#! /bin/sh
if [[ `ps -A | grep QuickTime | grep -v grep -c` -eq 1 ]]; then
if [[ `osascript -e 'tell app "QuickTime Player" to count documents'` -gt 0 ]]; then
t=`osascript -e 'tell app "QuickTime Player" to current time of first document as integer'`
d=`osascript -e 'tell app "QuickTime Player" to duration of first document as integer'`
cur=`date +%s`
end=`echo $cur + $d - $t | bc`
date -r $end +%H:%M:%S
else
View perl_closure_change_test.pl
package MasterableThing;
use Moose;
has 'something' => (is => 'rw', isa => 'Str');
has 'master' => (is => 'rw');
sub do_this_thing {
my $themaster = $_[0]->master;
my $theoriginal = $_[0];
View safe_VimDebug.vim.patch
--- VimDebug.vim 2013-05-25 22:57:31.000000000 +0000
+++ ~/.vim/plugin/VimDebug.vim 2015-12-04 20:46:43.000000000 +0000
@@ -8,10 +8,15 @@
if (!has('perl') || !has('signs'))
echo "VimDebug requires +perl and +signs"
finish
endif
+perl eval 'use Vim::Debug'; $r=$@?0:1; VIM::DoCommand("let foundVimDebug = $r");
+if (foundVimDebug == 0)
View generate_gif.py
# generate_gif.py
# Aleksandr Pasechnik
#
# Creates an animated gif out of the photos found in a Day One journal
# based the first line of the entry ('Daily self portrai' in my case).
# Animated gifs are generated using imagemagick
import os
import plistlib
import subprocess
@apiarian
apiarian / views.py
Created Jul 23, 2013
A Django based Piwik -> StatusBoard bridge
View views.py
# views.py
# Aleksandr Pasechnik
#
# A Django views.py function which bridges Piwik and StatusBoard
#
# Django: https://www.djangoproject.com
# Piwik: http://piwik.org
# StatusBoard: http://panic.com/statusboard/
# PiwikAPI: https://github.com/piwik/piwik-python-api
#
You can’t perform that action at this time.