Skip to content

Instantly share code, notes, and snippets.

Avatar

Jeremy Kahn jeremyckahn

View GitHub Profile
@jeremyckahn
jeremyckahn / run-in-docker.sh
Created Mar 30, 2020
Run a shell script in a Docker environment
View run-in-docker.sh
docker run \
# Set the current host working directory as the container's /tmp so the container can access it
-v $(pwd):/tmp \
# Mount your home directory as the Docker root user's home directory to inherit any host dotfiles
-v $HOME:/root \
# (Effectively) set the host's working directory as the container's working directory
-w /tmp \
@jeremyckahn
jeremyckahn / Gemfile
Created Feb 10, 2020
An old bit of code I found on my computer
View Gemfile
source "http://rubygems.org"
gem "itunes-library"
@jeremyckahn
jeremyckahn / hash-table.js
Last active Jan 21, 2020
A bucketed hash table implementation with pure JavaScript and arrays
View hash-table.js
class BucketNode {
_previous = null;
_next = null;
constructor (key, value) {
this.key = key;
this.value = value;
}
}
@jeremyckahn
jeremyckahn / questions.md
Created Jan 17, 2020
My go-to interview questions (as a candidate)
View questions.md
  1. What are your biggest goals/initiatives right now?
  2. What are some of your biggest risks for the next year?
  3. What is your approach to managing technical debt?
  4. How is service availability managed and monitored? Is there overnight on-call?
  5. How do you manage sustainable pacing for the team during high-stress periods?
  6. How are engineering-focused initiatives balanced against business-focused initiatives?
  7. What is a competency you’re particularly keen on building here?
  8. What's your favorite thing about working at this company? What's something you hope to help improve?
  9. What is something that is really exciting you now, either in the industry or at this company?
  10. What process or compliance initiatives are you working towards or operating in?
View trie-angles.js
const points = ["v1x", "v1y", "v1z", "v2x", "v2y", "v2z", "v3x", "v3y", "v3z"];
class Trie {
children = {};
insert(triangle, order = 0) {
if (order === points.length) {
return;
}
View triangles.json
[{"v1":{"x":0.360463,"y":0,"z":2.525},"v2":{"x":0,"y":0,"z":2.98309},"v3":{"x":0.360463,"y":0.2,"z":2.525}},{"v1":{"x":0,"y":0,"z":2.98309},"v2":{"x":0,"y":0.2,"z":2.98309},"v3":{"x":0.360463,"y":0.2,"z":2.525}},{"v1":{"x":0,"y":0,"z":2.98309},"v2":{"x":0.128412,"y":0,"z":3},"v3":{"x":0,"y":0.2,"z":2.98309}},{"v1":{"x":0.128412,"y":0,"z":3},"v2":{"x":0.128412,"y":0.2,"z":3},"v3":{"x":0,"y":0.2,"z":2.98309}},{"v1":{"x":0.516641,"y":0,"z":2.94889},"v2":{"x":0.516641,"y":0.2,"z":2.94889},"v3":{"x":0.128412,"y":0,"z":3}},{"v1":{"x":0.128412,"y":0,"z":3},"v2":{"x":0.516641,"y":0.2,"z":2.94889},"v3":{"x":0.128412,"y":0.2,"z":3}},{"v1":{"x":0.878412,"y":0,"z":2.79904},"v2":{"x":0.878412,"y":0.2,"z":2.79904},"v3":{"x":0.516641,"y":0,"z":2.94889}},{"v1":{"x":0.516641,"y":0,"z":2.94889},"v2":{"x":0.878412,"y":0.2,"z":2.79904},"v3":{"x":0.516641,"y":0.2,"z":2.94889}},{"v1":{"x":1.18907,"y":0,"z":2.56066},"v2":{"x":1.18907,"y":0.2,"z":2.56066},"v3":{"x":0.878412,"y":0,"z":2.79904}},{"v1":{"x":0.878412,"y":0,"z":2.79904},
@jeremyckahn
jeremyckahn / Trie.js
Last active Oct 4, 2019 — forked from deadlocked247/Trie.js
Trie implementation in ES6, good for string autocomplete
View Trie.js
/* Class representing a Trie data structure */
export default class Trie {
/**
* Creates a Trie
* @return {Object} Trie
*/
constructor() {
this.words = 0;
this.prefixes = 0;
@jeremyckahn
jeremyckahn / farmhand-overview.md
Last active Sep 23, 2019
Farmhand and the case for open source games
View farmhand-overview.md

Farmhand and the case for open source games

For as long as I can remember, I've always hide a hobby side project. For a long time I focused on open source animation tools, but more recently I've shifted my focus back to my true passion: Game development.

I've taken what I've learned as an open source web developer and applied it to an idea that I've been interested in for years.


@jeremyckahn
jeremyckahn / inheritance.js
Last active Aug 23, 2019
Refresher on prototypal inheritance
View inheritance.js
function Parent () { console.log('parent') }
Parent.prototype.parentMethod = function () {
console.log('this is a method on the parent object')
}
function Child () { console.log('child') }
Child.prototype = new Parent()
var child = new Child()
child.parentMethod()
You can’t perform that action at this time.