$$ \newcommand{\problemdivider}{\begin{center}\large \bf\ldots\ldots\ldots\ldots\ldots\ldots\end{center}} \newcommand{\subproblemdivider}{\begin{center}\large \bf\ldots\ldots\end{center}} \newcommand{\pdiv}{\problemdivider} \newcommand{\spdiv}{\subproblemdivider} \newcommand{\ba}{\begin{align*}} \newcommand{\ea}{\end{align*}} \newcommand{\rt}{\right} \newcommand{\lt}{\left} \newcommand{\bp}{\begin{problem}} \newcommand{\ep}{\end{problem}} \newcommand{\bsp}{\begin{subproblem}} \newcommand{\esp}{\end{subproblem}} \newcommand{\bssp}{\begin{subsubproblem}} \newcommand{\essp}{\end{subsubproblem}} \newcommand{\atag}[1]{\addtocounter{equation}{1}\label{#1}\tag{\arabic{section}.\alph{subsection}.\alph{equation}}} \newcommand{\btag}[1]{\addtocounter{equation}{1}\label{#1}\tag{\arabic{section}.\alph{equation}}} \newcommand{\ctag}[1]{\addtocounter{equation}{1}\label{#1}\tag{\arabic{equation}}} \newcommand{\dtag}[1]{\addtocounter{equation}{1}\label{#1}\tag{\Alph{chapter}.\arabic{section}.\arabic{equation}}} \newcommand{\unts}[1]{\ \text{#1}} \newcommand{\textop}[1]{\operatorname{#1}} \newcommand{\textopl}[1]{\operatornamewithlimits{#1}} \newcommand{\prt}{\partial} \newcommand{\pderi}[3]{\frac{\prt^{#3}#1}{\prt #2^{#3}}} \newcommand{\deri}[3]{\frac{d^{#3}#1}{d #2^{#3}}} \newcommand{\del}{\vec\nabla} \newcommand{\exval}[1]{\langle #1\rangle} \newcommand{\bra}[1]{\langle #1|} \newcommand{\ket}[1]{|#1\rangle} \newcommand{\ham}{\mathcal{H}} \newcommand{\arr}{\mathfrak{r}} \newcommand{\conv}{\mathop{\scalebox{2}{\raisebox{-0.2ex}{$\ast$}}}} \newcommand{\bsm}{\lt(\begin{smallmatrix}} \newcommand{\esm}{\end{smallmatrix}\rt)} \newcommand{\bpm}{\begin{pmatrix}} \newcommand{\epm}{\end{pmatrix}} \newcommand{\bdet}{\lt|\begin{smallmatrix}} \newcommand{\edet}{\end{smallmatrix}\rt|} \newcommand{\bs}[1]{\boldsymbol{#1}} \newcommand{\uvec}[1]{\bs{\hat{#1}}} \newcommand{\qed}{\hfill$\Box$} $$
notes
table of contents
  • bash
  • Variable tricks
  • Indirect expansion
  • Weird shell tricks
  • Inline comments
  • File descriptors
  • Miscellany
  • Deep learning
  • General
  • Sequence models
  • RNNs
  • Positional encoding
  • dos2unix
  • Converting Mac Excel TSVs
  • gcloud
  • Disks
  • Resize persistent disk
  • git
  • Branching
  • Track new remote branch:
  • Show commits unique to a given branch
  • Show braches that a commit is on
  • Merge conflicts
  • Stash conflict
  • Rebasing
  • Take range of commits A..B, apply to commit C
  • Submodules
  • To remove a submodule
  • Pull submodules after cloning
  • Questions
  • Miscellany
  • Selective revert (equivalent of git revert --patch)
  • HMMs
  • Various quantities of interest
  • Hidden state given previous emissions
  • Forward-backward algorithm
  • Baum-Welch algorithm
  • Viterbi algorithm
  • Misc notes
  • htslib
  • Zero initialize bam1_t memory!
  • Iterator weirdness
  • Output weirdness
  • the internet fails to deliver
  • ipython
  • Debugging
  • jekyll
  • Building notes
  • Kramdown hacks
  • Remove parsing extensions
  • Plugins
  • Simple plugin example
  • latex
  • Miscellany
  • Linear algebra
  • Change of basis
  • Coordinates
  • Linear transformations
  • Eigendecomposition
  • Relation to the covariance matrix
  • Miscellany
  • Log-determinant of positive-definite matrix
  • pandas
  • Misc. notes
  • Bad pandas
  • pipelining
  • Easy scatter
  • python
  • C/C++ integration
  • Dumb tricks
  • Regex
  • Weirdness
  • pytorch
  • NN modules
  • RNN
  • MultiheadAttention
  • Printing options
  • Weirdness
  • Backpropagation
  • readline
  • readline commands I should use more often
  • samtools
  • Working with the cloud
  • Interval notes
  • sed
  • Useful operators
  • Miscellaneous notes
  • tmux
  • Variational inference
  • For posterior inference
  • Mean-field approximation
  • But how to actually use this thing?
  • (Unfinished) proof of mean field approximation
  • For latent variable marginalization
  • Variational autoencoders
  • vim