Skip to content

Instantly share code, notes, and snippets.

View jacobsalmela's full-sized avatar
:octocat:
To all that makes us unique

Jacob Salmela jacobsalmela

:octocat:
To all that makes us unique
View GitHub Profile
@jacobsalmela
jacobsalmela / enforceWallpaper.py
Created February 17, 2015 13:35
Script that enforces the wallpaper on Mavericks and Yosemite
#!/usr/bin/python
# Universal enforce wallpaper script for 10.9 and up
# Based on https://gist.github.com/gregneagle/6957826#file-gistfile1-py
from AppKit import NSWorkspace, NSScreen
from Foundation import NSURL
from platform import mac_ver
from subprocess import call
from os import system
from os import getlogin
import sqlite3
@jacobsalmela
jacobsalmela / removeSSID.sh
Created February 26, 2015 20:01
Remove an SSID from the preferred networks list
#!/bin/bash
#----------VARIABLES---------
undesiredNetwork="SSID-To-Remove"
wifiOrAirport=$(/usr/sbin/networksetup -listallnetworkservices | grep -Ei '(Wi-Fi|AirPort)')
echo $wifiOrAirport
wirelessDevice=$(networksetup -listallhardwareports | awk "/$wifiOrAirport/,/Device/" | awk 'NR==2' | cut -d " " -f 2)
echo $wirelessDevice
#-----------SCRIPT-----------
# Remove the SSID from the list of preferred networks
@jacobsalmela
jacobsalmela / enforceMacHD.sh
Created February 26, 2015 20:03
Reset the volume name to "Macintosh HD" if it is different.
#!/bin/bash
volumeName=$(diskutil info / | awk '/Volume Name/ {print substr ($0, index ($0,$3))}')
echo "Current volume name: $volumeName"
# If the volume is not named Macintosh HD
if [ "$volumeName" != "Macintosh HD" ];then
# Rename it
diskutil renameVolume "$volumeName" "Macintosh HD"
volumeName=$(diskutil info / | awk '/Volume Name/ {print substr ($0, index ($0,$3))}')
echo "Root volume is now named: $volumeName"
@jacobsalmela
jacobsalmela / set_dock.py
Created March 3, 2015 20:15
Single script to set the dock for multiple users
#!/usr/bin/python
#----------AUTHOR------------
# Jacob Salmela
# 3 January 2014
#-----------IMPORTS----------
from subprocess import call
from platform import mac_ver
from re import findall
from socket import gethostname
@jacobsalmela
jacobsalmela / create_users.py
Created March 3, 2015 20:20
Create users via the JSS based on the computer name.
#!/usr/bin/python
#----------AUTHOR------------
# Jacob Salmela
# 20 February 2014
# Updated: 2014-12-11
#-----------IMPORTS----------
from os import system
from subprocess import call
from socket import gethostname
@jacobsalmela
jacobsalmela / removeLoginItems.sh
Created March 3, 2015 20:22
Removes the current user's login items
osascript -e 'tell application "system events" to delete login items'
@jacobsalmela
jacobsalmela / setFavServers.sh
Created March 9, 2015 16:17
Add unlimited servers to the Connect To... menu in OS X
#!/bin/bash
bud='/usr/libexec/Plistbuddy'
plist=$HOME'/Library/Preferences/com.apple.sidebarlists.plist'
servers=('afp://servername'
'smb://servername'
'vnc://servername'
'ftp://servername')
killall cfprefsd
@jacobsalmela
jacobsalmela / pmset.py
Created March 9, 2015 18:21
pmset every computer with one script
#!/usr/bin/python
#----------AUTHOR------------
# Jacob Salmela
# 02 March 2015
#-----------IMPORTS----------
from os import system
from subprocess import call
from socket import gethostname
@jacobsalmela
jacobsalmela / sortDropboxPhotos.sh
Created May 10, 2015 20:09
Sort Dropbox Camera Uploads by EXIF location
#!/bin/bash
apiKey="abcD12345efGhIJkLmn-abcD12345efGhIJkLmn_cO_8"
filename=$(basename "$1")
filename="${filename%.*}"
directoryname=$(dirname "$1")
latitude=$(mdls "$1" | awk '/Latitude/ {print $3}')
longitude=$(mdls "$1" | awk '/Longitude/ {print $3}')
data=$(curl -s https://maps.googleapis.com/maps/api/geocode/json?latlng="$latitude","$longitude"&key="$apiKey")
city=$(echo "$data" | grep "formatted_address" | head -1 | cut -d',' -f2 | sed -e 's/^[ \t]*//')
case "$city" in
@jacobsalmela
jacobsalmela / recentServersSFL.py
Created December 28, 2015 15:22 — forked from pudquick/recentServersSFL.py
Working with SharedFileList (.sfl) files from OSX 10.11 El Capitan in python
from Foundation import NSKeyedUnarchiver
from struct import unpack
# This entire function is black magic of the highest order and I'll blog about it later
def extract_share(bookmark_data):
content_offset, = unpack('I', bookmark_data[12:16])
first_TOC, = unpack('I', bookmark_data[content_offset:content_offset+4])
first_TOC += content_offset
TOC_len, rec_type, level, next_TOC, record_count = unpack('IIIII', bookmark_data[first_TOC:first_TOC+20])
TOC_cursor = first_TOC + 20