# Junk Drawer

For all those little papers scattered across your desk

### The Site

Junk Drawer is hosted by GitHub Pages and powered by the Jekyll engine.

### Junk Drawer

So, what is the “Junk Drawer”? Good question. In my everyday life, no matter where I’m living or working, there’s always a drawer or desk space or shelf or shoe box where I throw flyers, books, notes, scribbles, and thoughts. It’s a catchall, and often times it gets quite cluttered.

This blog is dedicated to being a virtual representation of my junk drawers, holding musings and notes from my life. Primarily, I will try to write about programming, but I will frequently digress to other topics, such as math, language (reading, writing, or programming), music, or D&D.

To see my virtual Junk Drawer on GitHub, visit benknoble/JunkDrawer.

### Me

I’m D. Ben Knoble, an Honors Computer Science student at UNC Chapel Hill. I have a second major in French and a minor in Math.

I rely on a healthy mix of self-taught experimentation and formal class training for anything I do, including programming. Being self-taught keeps me curious. My biggest personal interests in the computer science sphere are programming languages and programming tools. Outside of that, I’m an avid biker, clarinetist, martial artist, reader, and gamer.

For some of the projects I’m working on, check out benknoble@GitHub, or try my showcase. I’m also on the Stack Exchange network (primarly vim, though I still use StackOverflow as well as a few others).

22   49   6

### Technical

• Favorite editor: vim.

Editing should be done at the speed of thought, not the speed of click-and-drag or the speed of which-function-key-is-it

• Favorite IDE: tmux.

No, it’s not an IDE like Eclipse. It is a great way to manage projects and terminals. (Note: I don’t even use iTerm! Terminal.app is good enough with tmux, even if it doesn’t support truecolor yet.)

• Favorite shell: bash.

It’s the default, it’s what I learned, it’s just simple enough to be a really great shell. It does what I need and doesn’t get in my way. It’s easier to configure than zsh, and forces me not to rely on too many non-portable-isms. I do wish sh would get proper (associative) arrays.

• Favorite language: a mix of bash, make, vimscript, the functional stuff.

Scala is fun, but the JVM dependence makes it too heavy for me most of the time. I want to learn perl, the lisp and ML families, and Haskell well enough to be dangerous. After that, something older and something esoteric. Perhaps smalltalk?

• Favorite OS: macOS.

I’ve been using a macbook since 2012 and it’s here to stay. I’m not convinced on the new touchbar thing yet though.

• Favorite version control: definitely git.

I think some people prefer the mercurial (hg) interface, but I’m not sold. Git has outgrown its historical reputation for a complex interface, and is the de facto standard.