Skip to content

Instantly share code, notes, and snippets.

@jheitzeb
jheitzeb / gist:1062941c26095e5e60f3bf5a42d13421
Created March 7, 2024 20:53
Export iMessages by year
#!/bin/bash
# Path to the iMessage database, adjust if necessary
DB_PATH=~/Library/Messages/chat.db
# Loop through years from 2016 to 2024
for YEAR in {2016..2024}
do
echo "Exporting messages for $YEAR..."
sqlite3 "$DB_PATH" <<EOF
@jheitzeb
jheitzeb / currencies.rb
Last active October 19, 2022 21:30
USD's Buying Power vs. 1 Year Ago
# Ruby code to print the US dollar relative buying power vs 1 year ago at various popular travel destinations
CURRENCY_API_KEY = "get one for free at https://apilayer.com/marketplace/exchangerates_data-api?live_demo=show"
def self.currency_report
# using a public exchange rate API, get the historic rate vs. today's and compute the % change.
# List currencies of popular travel destinations
currencies = [
{code: "JPY", name: "Japanese Yen"},
{code: "EUR", name: "Euro"},
@jheitzeb
jheitzeb / blink_osx_network_monitor.sh
Created December 11, 2012 07:01
blink(1) script to light up osx network usage
@jheitzeb
jheitzeb / gist:1573333
Created January 7, 2012 01:06
Work activity log emailer
function myFunction() {
var email_lists = ["Cam Site", "Personal"];
var to_emails_by_list = ["cam1@gmail.com, cam1@gmail.com", "personal@gmail.com"];
var ss = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheet_name = ss.getName();
var sheet = ss.getSheets()[0];
var data = sheet.getRange("A1:D4000").getValues();
var today = new Date();
@jheitzeb
jheitzeb / gist:1104924
Created July 25, 2011 19:15
Google Docs Survey Emailer
function onFormSubmit(e) {
var to_email = "YOUREMAIL@YOURCOMPANY.COM";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheet_name = ss.getName();
var sheet = ss.getSheets()[0];
var columns = sheet.getRange("A1:U1").getValues()[0];
var email_subject = "New response for [" + spreadsheet_name + "]";
var email_body = "Spreadsheet: " + spreadsheet_name + "\r\n\r\n";
var email_body_html = "<p><b>Spreadsheet: " + spreadsheet_name + "</b></p>";