Various small tricks I’ve found helpful. Most of these only work on OSX or Linux.
Speed up a time machine backup
This removes the CPU use throttling, so only use it when you aren’t actively using the computer
sudo sysctl debug.lowpri_throttle_enabled=0
Once the backup is complete
sudo sysctl debug.lowpri_throttle_enabled=1
Remove columns from a space delimited txt file
Keep only the first four columns from the file lol.txt
> awk '{print $1" "$2" "$3" "$4}' lol.txt > lol2.txt
Run this as a script for all of the files in a directory
for file in *.txt
do
awk '{print $1" "$2" "$3" "$4}' $file > $file\_edited.txt
echo $file
done
Note that we had to use the system-specific escape character “_” in order to clear the underscore, this could be different on different platforms
To rename files with sequential numbers, run a similar script:
a=1
for file in *.txt
do
awk '{print $1" "$2" "$3" "$4}' $file > $velocity$a.txt
let a=a+1
echo $file
done
Can
Sublime Text customization of settings
Open preferences from the menus and put your preferences in a single pair of curly braces (XML formatting)
{
"color_scheme": "Packages/User/Tomorrow-Night.tmTheme",
"font_size": 11,
"open_files_in_new_window": false,
"ignored_packages":
[
"Vintage"
]
}
Weird LaTeX error with natbib
When compiling a document, I kept running into an error ending in the following string
\NAT@force@numbers{}\NAT@force@numbers
Trashing aux files did not fix the issue. The problem ended up being a citation missing a reference / year. However, in order to fix the bibliography, I needed to manually delete the .log
and .bbl
files and re-compile with BibTeX. See additional info here
Put parentheses around all citations in LaTeX
This is useful for switching a document over to NatBib
\renewcommand{\cite}[1]{(\citenum{#1})} % parentheses around citations
This can go anywhere in the preamble
Run multiple Mathematica notebooks at once
The goal here is to have two notebooks open that don’t interact with eachother—separate kernels and namespaces
Evaluation > Kernel Configuration
Add a new kernel with a cool name, set “Launch on” to “Local Machine”
Open new notebook, go to Evaluation > Notebook's Kernel >
Select the cool kernel name you just made
Shrink PDF files with minimal loss of quality
Install ghostscript if you don’t have it
brew install ghostscript
Compress the PDF file using the command
gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/default -dCompatibilityLevel=1.4 -sOutputFile=output.pdf input.pdf
For different quality, try these flags:
Use the following ghostscript command:
-dPDFSETTINGS=/screen lower quality, smaller size.
-dPDFSETTINGS=/ebook for better quality, but slightly larger pdfs.
-dPDFSETTINGS=/prepress output similar to Acrobat Distiller "Prepress Optimized" setting
-dPDFSETTINGS=/printer selects output similar to the Acrobat Distiller "Print Optimized" setting
-dPDFSETTINGS=/default selects output intended to be useful across a wide variety of uses, possibly at the expense of a larger output file
More information on StackExchange
Finer grain control of the embedding image resolution:
gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/default -dCompatibilityLevel=1.4 -sOutputFile=output.pdf -dDownsampleColorImages=true -dColorImageResolution=600 input.pdf
Open tar gz file
Convert a directory of FLAC to ALAC for iTunes
Using ffmpeg
for i in *.flac ; do
ffmpeg -i "$i" -acodec alac "$(basename "${i/.flac}").m4a"
sleep 2
# may need to adjust sleep time for processor speed
done
I saved this as a bash script, so just cd into the directory containing the FLAC files and then run
bash ~/codebits/utility_scripts/flac2alac.sh
Make spectrograms to check quality of audio files
Using sox
sox audiofile.flac -n spectrogram
A good FLAC file should have features at 22 kHz. A transcode low quality will have a plateau around 19 kHz (with some spikes). Great info here
Update packages in MacTeX
There is an actual package manager called tlmgr
installed by default on TeX Live and MacTeX
First, update it
tlmgr update --self
Can install a package like this
tlmgr install revtex
Can view all installed packages like this
tlmgr update --list
Can update everything with this
tlmgr update --all
Note: I had to sudo all of these, since I installed MacTeX like a standard application on macOS
Fix focusing issue on Sublime text OSX
Add the following plugin “Tools > Developer > New Plugin” and save with a descriptive name. Copied from this GitHub thread
import sublime
import sublime_plugin
import os
cmd = '''
tell application \\"System Events\\"
tell application process \\"Sublime Text\\"
set frontmost to true
end tell
end tell
'''
class FocusOnLoad (sublime_plugin.EventListener):
def on_load(self, view):
os.system('osascript -e "{0}"'.format(cmd))
Extract data from tables in a PDF file
Use this software here
- Install the software and run it in order to start the server
- Then, navigate to the server in your browser in order to use the software (instructions are in the README)
Fix bad Dropbox (Enterprise) folder names
When using both Dropbox business and personal accounts, your Dropbox folde will be renamed to “Dropbox (Personal)” and your business folder will become “Dropbox (Business Name)”. This scheme is not Unix-friendly, and it cannot currently be resolved by renaming the folder.
To resolve this, navigate to the home directory, and then create an alias and symlink through the terminal
ln -s ~/"Dropbox (Harvard University)"/ "./dbx_harvard"
ln -s ~/"Dropbox (Personal)"/ "./dbx_personal"
Synchronize two backup drives
To copy and update all files from destination
to source
:
rsync -avPi --dry-run /Volumes/source/allfiles/ /Volumes/destination/
Note the unintuitive syntax. If destination
already contains an earlier version of allfiles
, the path to that folder should not be included in the path to destination—otherwise this command will create a new folder /Volumes/destination/destination/
The flag --dry-run
shows a preview of what files will be changed, and how. The other flags facilitate visualization. By default, this command appends and updates. To delete files from the destination, use the flag --delete
Vector Trace in Adobe Illustrator
In Adobe Illustrator, perform vector tracing using the included macro
File > Scripts > ImageTracing
This does all of the line tracing and canvas cropping for a collection of photos
I also wrote an Illustrator action that saves as multiple file types and changes the ARtboards to the size of the iamge, which can be found in the Actions > User Actions menu
Restart our lab’s remote servers
Our servers are PCs running Windows 8 Server Edition. They are located in the smaller room adjacent to the main SOE server room, in the rack closest to the far wall. Boa and Mamba are on the bottom rack, and boa is the computer closer to the wall.
After a power outage: restart the PC, connect a monitor and keyboard and enter the password
Putting ticks on a log log plot in Mathematical
See answer here
Basically any valid function for Ticks
will also work with FrameTicks