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
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'\
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
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
#