-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathresources.html
50 lines (50 loc) · 4.67 KB
/
resources.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<title></title>
<style type="text/css">code{white-space: pre;}</style>
<link rel="stylesheet" href="public/css/poole.css" type="text/css" />
<link rel="stylesheet" href="public/css/syntax.css" type="text/css" />
<link rel="stylesheet" href="public/css/hyde.css" type="text/css" />
<link rel="stylesheet" href="public/css/MyFontsWebfontsKit.css" type="text/css" />
<link rel="stylesheet" href="public/css/custom.css" type="text/css" />
</head>
<body>
<div class="theme-fredhutch">
<p><br/></p>
<h1 id="class-resources">Class resources</h1>
<p>Most of these resources are tucked away towards the end of various class sections, but I thought it might be useful to aggregate and organize some of the most useful information somewhere so that the key bits of information can be found more easily. This is just a start for now.</p>
<h2 id="zsh">Zsh</h2>
<p>The default shell is called BASH for Bourne Again SHell (named after the Bourne SHell from which it drew inspiration). You can email scicomp and ask them to switch your shell to zsh, and I'd highly recommend you do this. Zsh comes with much better autocompletion, better/smarter themes, and some very helpful plugins.</p>
<p>In particular, you may wish to check out <code>autojump</code>, a zsh plugin which let's you very quickly/lazy change directories.</p>
<p>Do note though that if you end up doing this, you will have to duplicate the Environment setup steps from the 1st class (changes to <code>~/.bashrc</code>) in your new <code>~/.zshrc</code> file.</p>
<h2 id="vim-resources">Vim resources</h2>
<h3 id="vim-tutor">vim tutor</h3>
<p>It's possible to hack by for quite a while with "just enough vim", but if you're really looking to use it as a primary text editor, it helps to go through a thorough explanation of certain things. In my opinion, the <code>vimtutor</code> program is the best way to do this, as it literally just plops you into vim with a text file of lessons loaded up, so you are forced to use <code>vim</code> as you learn <code>vim</code>. This was how I learned.</p>
<h3 id="vim-plugins-and-vundle">Vim plugins and Vundle</h3>
<p>The vim community has amassed a legion of plugins which extend vim to do all sorts of cool things. It used to be that installing and maintaining all these plugins was a pain in the butt, but now we have a plugin for managing plugins called Vundle. It's awesome, and you should use it.</p>
<p><a href="https://github.com/VundleVim/Vundle.vim" class="uri">https://github.com/VundleVim/Vundle.vim</a></p>
<p>Some plugins you might want to consider installing:</p>
<ul>
<li><a href="https://github.com/jgdavey/tslime.vim">T-slime</a> lets you highlight code in vim's visual mode, and send to another tmux pane. By sending to a REPL pane, you can quickly highlight and evaluate chunks of code from your editor.</li>
<li><a href="https://github.com/scrooloose/nerdtree">NerdTree</a> gives you a <code>tree</code> like file navigator from within vim, so you can quickly find and edit files.</li>
<li><a href="https://github.com/scrooloose/nerdcommenter">NerdCommenter</a> has a few useful commands for commenting/uncommenting blocks of code.</li>
<li><a href="https://github.com/davidhalter/jedi-vim">JediVim</a> autocomplete and documentation for python; super dope.</li>
</ul>
<h2 id="emacs">Emacs</h2>
<p>Emacs is another powerful, old school terminal based text editor which you may also consider. Maybe someone else can add some resources here with respect to it.</p>
<h2 id="tmux">Tmux</h2>
<h3 id="tmux-plugin-manager-tpm">tmux plugin manager (tpm)</h3>
<p>Similarly to vim, tmux can be extended with various plugins. And just as with vim, we have a plugin which helps us do this, called <code>tpm</code>.</p>
<p><a href="https://github.com/tmux-plugins/tpm" class="uri">https://github.com/tmux-plugins/tpm</a></p>
<h2 id="functional-programming">Functional programming</h2>
<p>To learn more about functional programming, see</p>
<p><a href="https://maryrosecook.com/blog/post/a-practical-introduction-to-functional-programming" class="uri">https://maryrosecook.com/blog/post/a-practical-introduction-to-functional-programming</a></p>
<h2 id="data-visualization">Data visualization</h2>
<p>I'm a big fan of Vega and Vega-Lite for data visualizations. If you're interested in such things, take a look at <a href="/vega-prez.html">this presentation</a> I put together.</p>
</div>
</body>
</html>