commit e86353cd6b8aa7cebae6ea3ff5515eb483b45406 Author: ackman678 Date: Tue Feb 5 19:30:40 2019 -0800 init lab bin diff --git a/dim b/dim new file mode 100755 index 0000000..e1eb40e --- /dev/null +++ b/dim @@ -0,0 +1,3 @@ +#!/bin/bash +sudo tee /sys/class/backlight/acpi_video0/brightness <<< $1 + diff --git a/dimk b/dimk new file mode 100755 index 0000000..15268a6 --- /dev/null +++ b/dimk @@ -0,0 +1,3 @@ +#!/bin/bash +sudo tee /sys/class/leds/smc::kbd_backlight/brightness <<< $1 + diff --git a/dimr b/dimr new file mode 100755 index 0000000..9f70550 --- /dev/null +++ b/dimr @@ -0,0 +1,3 @@ +#!/bin/bash +redshift -l 38:-122 -t 5500:3500 -g 0.8 -v + diff --git a/hdmi.sh b/hdmi.sh new file mode 100755 index 0000000..a8842c2 --- /dev/null +++ b/hdmi.sh @@ -0,0 +1,10 @@ +#!/bin/bash +#setup external hdmi display if connected, else ensure the display is off +intern=eDP1 +extern=HDMI1 + +if xrandr | grep "$extern connected"; then + xrandr --output "$intern" --auto --output "$extern" --auto --right-of "$intern" +else + xrandr --output "$intern" --auto --output "$extern" --off +fi diff --git a/mv2figs.sh b/mv2figs.sh new file mode 100755 index 0000000..98f7cf9 --- /dev/null +++ b/mv2figs.sh @@ -0,0 +1,9 @@ +#!/bin/bash +#mv2figs: used by the screenshot shortcut set in .config/i3/config + +#default image location +blobFolder=$HOME/figures + +mv $1 $blobFolder/$1 + +echo "
" | xclip -selection clipboard diff --git a/nj b/nj new file mode 100755 index 0000000..8fea104 --- /dev/null +++ b/nj @@ -0,0 +1,41 @@ +#!/bin/bash +defTitle=journal +defDir=notes +defTemplate=$HOME/bin/nj-note.md +defApp=nano #nano,vim,gvim,emacs,atom,subl + +title=$1 +basedir=$2 +mdtemplate=$3 +app=$EDITOR + +if [[ -z $title ]]; then + title=$defTitle +fi + +if [[ -z $basedir ]]; then + basedir=$HOME/$defDir +fi + +if [[ -z $mdtemplate ]]; then + mdtemplate=$defTemplate +fi + +if [[ -z $app ]]; then + app=$defApp +fi + +#basedir=if [[ -z $var 2:-$HOME/$defDir} + +fn=$basedir/$(date +"%Y-%m-%d")-$title.md + +if [[ -e $fn ]] +then + echo "opening $fn" + $app $fn +else + echo "creating $fn" + cat $mdtemplate | sed -E "s|(date: ).+|\1$(date --iso-8601='seconds') |" >> $fn + $app $fn +fi + diff --git a/nj-note.md b/nj-note.md new file mode 100644 index 0000000..f0c07a1 --- /dev/null +++ b/nj-note.md @@ -0,0 +1,8 @@ +--- +author: James B. Ackman +date: 2018-10-26T07:17:26-07:00 +tags: journal, home +layout: post +categories: pri +--- + diff --git a/pubmed2bibtex.xsl b/pubmed2bibtex.xsl new file mode 100644 index 0000000..c92a286 --- /dev/null +++ b/pubmed2bibtex.xsl @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + +@article{ + + + + + + + +, + url = {https://www.ncbi.nlm.nih.gov/pubmed/}, + file = {} +, + nlmuniqueid = {} + +} + + + + + + + + +, + doi = {} + + +, + = {} + + + + + + +, + title = {} + + +, + pages = {} +, + abstract = {} + + + + + + +, + journal = {} +, + issn = {} +, + volume = {} +, + number = {} +, + year = {} +, + month = {} + + + + + +, + author = { + + and others +} + + + + and +, + + + + + +, + keywords = { + +; + + +; + +} + + + + + diff --git a/reveal.sh b/reveal.sh new file mode 100755 index 0000000..69898f9 --- /dev/null +++ b/reveal.sh @@ -0,0 +1,22 @@ +#!/bin/bash +#installation: place in home directory and make this file executable `chmod u=rwX,go= reveal.sh` +#usage example: `./reveal.sh neuroanatomy1.md` + +appPath="$HOME/projects/dev/reveal.js" + +if [[ ! -d $appPath ]]; then + echo "reveal.js not found" + exit 1 +else + cd $appPath +fi + +fn=$1 #markdown document to render e.g. neuroanatomy1.md +if [[ ! -e $fn ]]; then + ln -s $fn $(basename $fn) +fi + +#add markdown filename to reveal placeholder start file +sed -i -E "s|(
[0-9]+" | sed -E "s#([0-9]+)#\1#") + +if [ -z "$uid" ]; then + echo "pubmed id not found" + exit 1 +fi + +#request pubmed xml and transform into bibtex +curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=$uid&retmode=xml" > $uid.xml +xsltproc --novalid $styleSheet $uid.xml > $uid.bib + +#decide whether to process and move an associated pdf or just exit +if [ -z "$fn" ]; then + + if [[ -z $(rg $uid $bibdFileOut) ]]; then + #import bibtex + echo "importing $uid.bib" + cat $uid.bib >> $bibdFileOut + else + echo "$uid already found in $bibdFileOut, exiting" + fi + #clean up + rm $uid.xml $uid.bib + exit 1 + +else + #extract some strings to make a nice filename for the pdf + key="LastName"; + author=$(grep $key --max-count=1 $uid.xml | sed -E "s#\W*<$key>(.+)\W*#\1#") + + key="MedlineTA"; + journal=$(grep $key --max-count=1 $uid.xml | sed -E "s#\W*<$key>(.+)\W*#\1#" | tr -d " ") + + key1="PubDate"; + key2="Year"; year=$(awk "/<$key1>/,/<\/$key1>/" $uid.xml | grep $key2 | sed -E "s#\W*<$key2>(.+)\W*#\1#") + + fn2=${author}_${journal}$year-$uid.pdf + + #move pdf file to papers repository, add file name to bibtex file field + mv $fn $pdfPathOut/$fn2 + echo "moved to $pdfPathOut/$fn2" + sed -i -E "s|(\W*file = \{).*(\}.*)|\1$relPath/$fn2\2|" $uid.bib + + if [[ -z $(rg $uid $bibdFileOut) ]]; then + #import bibtex + echo "importing $uid.bib" + cat $uid.bib >> $bibdFileOut + else + echo "$uid already found in $bibdFileOut, exiting" + fi + + #clean up + rm $uid.xml $uid.bib +fi diff --git a/shrinkpdf.sh b/shrinkpdf.sh new file mode 100755 index 0000000..7652a2f --- /dev/null +++ b/shrinkpdf.sh @@ -0,0 +1,26 @@ +#!/bin/bash +#shrinkpdf - resize pdf to smaller size. Warning: if no second file name is provided, the default behavior is to overwrite the original pdf +# usage: +# shrinkpdf.sh large.pdf +# shrinkpdf.sh large.pdf small.pdf +# dependencies: +# ps2pdf from Ghostscript +# mktemp from GNU Coreutils + +#Setup defaults +fn=$1 +fn2=$2 +set -e #exit if an error + +#decide whether to use a provided new file name or too write over the original filename +if [ -z "$fn2" ]; then + #clean up + tmpName=$(mktemp $fn.XXXXXXX) + ps2pdf $fn $tmpName + #echo $tmpName + rm $fn + mv $tmpName $fn + chmod u=rw,go=r $fn +else + ps2pdf $fn $fn2 +fi diff --git a/spmid.sh b/spmid.sh new file mode 100755 index 0000000..8ecf46b --- /dev/null +++ b/spmid.sh @@ -0,0 +1,54 @@ +#!/bin/bash +#spmid - search for pubmed id and append bibtex entry to db +# usage: +# spmid.sh '12345678' +# spmid.sh '12345678' download.pdf + +#Setup defaults +styleSheet="$HOME/bin/pubmed2bibtex.xsl" +bibdFileOut="$HOME/projects/bibd/OMEGA.bib" +pdfPathOut="$HOME/projects/bibd/papers" +relPath=$(basename $pdfPathOut) +uid=$1 +fn=$2 + +set -e #exit if an error + +#request pubmed xml and transform into bibtex +curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=$uid&retmode=xml" > $uid.xml +xsltproc --novalid $styleSheet $uid.xml > $uid.bib + +#decide whether to process and move an associated pdf or just exit +if [ -z "$fn" ]; then + #clean up + rm $uid.xml $uid.bib + exit 1 +else + #extract some strings to make a nice filename for the pdf + key="LastName"; + author=$(grep $key --max-count=1 $uid.xml | sed -E "s#\W*<$key>(.+)\W*#\1#") + + key="MedlineTA"; + journal=$(grep $key --max-count=1 $uid.xml | sed -E "s#\W*<$key>(.+)\W*#\1#" | tr -d " ") + + key1="PubDate"; + key2="Year"; year=$(awk "/<$key1>/,/<\/$key1>/" $uid.xml | grep $key2 | sed -E "s#\W*<$key2>(.+)\W*#\1#") + + fn2=${author}_${journal}$year-$uid.pdf + + #move pdf file to papers repository, add file name to bibtex file field + mv $fn $pdfPathOut/$fn2 + echo "moved to $pdfPathOut/$fn2" + sed -i -E "s|(\W*file = \{).*(\}.*)|\1$relPath/$fn2\2|" $uid.bib + + if [[ -z $(rg $uid $bibdFileOut) ]]; then + #import bibtex + echo "importing $uid.bib" + cat $uid.bib >> $bibdFileOut + else + echo "$uid already found in $bibdFileOut, exiting" + fi + + #clean up + rm $uid.xml $uid.bib +fi diff --git a/spubmed.sh b/spubmed.sh new file mode 100755 index 0000000..36edb84 --- /dev/null +++ b/spubmed.sh @@ -0,0 +1,44 @@ +#!/bin/bash +#spubmed.sh - search for pubmed for author, journal, year +# usage: +# spubmed.sh 'kaas' 'trends+neurosci' '1995' +# spubmed.sh 'rakic' 'j+comp+neurol' '1972' + +#Setup defaults +styleSheet="$HOME/bin/pubmed2bibtex.xsl" +bibdFileOut="$HOME/projects/bibd/OMEGA.bib" +pdfPathOut="$HOME/projects/bibd/papers" +relPath=$(basename $pdfPathOut) +author=$1 +journal=$2 +year=$3 + +set -e #exit if an error + +uid=$(curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=$author[au]+AND+$journal[ta]+AND+$year[dp]&retmode=xml" | grep -E "[0-9]+" | sed -E "s#([0-9]+)#\1#") + +if [ -z "$uid" ]; then + echo "pubmed id not found" + exit 1 +fi + +if [[ $(echo $uid | wc -w) -gt 1 ]]; then + echo 'more than one pmid found, going to pubmed' + exturl="https://www.ncbi.nlm.nih.gov/pubmed/?term=$author[au]+AND+$journal[ta]+AND+$year[dp]" + xdg-open $exturl + exit 1 +fi + +echo $uid | xclip -selection clipboard +echo $uid + +# #request pubmed xml and transform into bibtex +# curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=$uid&retmode=xml" > $uid.xml +# xsltproc --novalid $styleSheet $uid.xml > $uid.bib +# +# #import bibtex +# echo "importing $uid.bib" +# cat $uid.bib >> $bibdFileOut +# +# #clean up +# rm $uid.xml $uid.bib diff --git a/woola b/woola new file mode 100755 index 0000000..5d87e69 --- /dev/null +++ b/woola @@ -0,0 +1,22 @@ +#!/bin/bash +#helper startup script for woola +appPath="$HOME/projects/dev/woola" +configFile=$HOME/.config/woola/config.js + +if [[ -e $configFile ]] && [[ ! -e config.js ]]; then + ln -s $configFile config.js +fi + +if [[ ! -d css ]]; then + ln -s $HOME/projects/dev/libcss css +fi + +#if [[ ! -d js ]]; then +# ln -s $appPath/js js +#fi + +#if [[ ! -d figures ]]; then +# ln -s $HOME/figures figures +#fi +node $appPath/lib/index.js + diff --git a/ws1 b/ws1 new file mode 100755 index 0000000..dce8827 --- /dev/null +++ b/ws1 @@ -0,0 +1,7 @@ +#!/bin/bash +#urxvt -e "dimr &" +urxvt -cd $HOME/projects & +urxvt & +urxvt & +urxvt -cd $HOME/notes & +