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 update_timezones.py
# update_timezones.py | |
# Aleksandr Pasechnik | |
# | |
# Goes through the Day One jounal and sets the Time Zone of each entry that | |
# doesn't already have one to the value of the *timezone* variable. Makes a | |
# backup copy of each entry it modified by adding a '.tzbak' to the filename. | |
# Ignores any entry that already has a '.tzbak' version. | |
# | |
# NOTE: base_dir may need to be adjusted to the correct Journal_dayone location | |
# NOTE: It is probably a good idea to have a full journal backup just in case |
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 | |
# |
View dayone_update.py
#! /usr/bin/env python | |
# Aleksandr Pasechnik | |
# Looks through the Day One journal and finds the latest entry that starts with | |
# the "Entry Start Text" provided on the command line. The script then asks for | |
# input, reading lines until it comes to one that contains just a single full | |
# stop "." . The script asks for confirmation and appends a new line followed | |
# by the entered text to the end of the entry. | |
# | |
# NOTE: the user is responsible for creating new entries as necessary, |
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'\ |
OlderNewer