Skip to content

Instantly share code, notes, and snippets.

@travisbhartwell
travisbhartwell / nix-shell-shebang.md
Last active January 20, 2026 22:11
nix-shell and Shebang Lines

NOTE: a more up-to-date version of this can be found on my blog

nix-shell and Shebang Lines

A few days ago, version 1.9 of the Nix package manager was released. From the release notes:

nix-shell can now be used as a #!-interpreter. This allows you to write scripts that dynamically fetch their own dependencies.

class A { def f = () => 1 }
class B extends A { override def f() = () => 2 }
class C extends B { override val f = () => 3 }
val c = new C
(c: C).f() // 3
(c: B).f() // () => Int
(c: A).f() // 3
@mattlewissf
mattlewissf / add-p.md
Last active April 22, 2026 15:11
Lightning Talk: Git add -p

git add -p is your friend

git add -p is basically "git add partial (or patch)"

Patch mode allows you to stage parts of a changed file, instead of the entire file. This allows you to make concise, well-crafted commits that make for an easier to read history. This feature can improve the quality of the commits. It also makes it easy to remove parts of the changes in a file that were only there for debugging purposes - prior to the commit without having to go back to the editor.

It allows you to see the changes (delta) to the code that you are trying to add, and lets you add them (or not) separately from each other using an interactive prompt. Here's how to use it:

from the command line, either use

  • git add -p
@hmaurer
hmaurer / t078.js
Created December 9, 2012 00:55 — forked from Constellation/t078.js
function t1() {
var ary = [];
for (var i = 0; i < 10000000; ++i) {
ary[i] = i;
}
return ary;
}
function t2() {
var ary = [];
function t1() {
var ary = [];
for (var i = 0; i < 10000000; ++i) {
ary[i] = i;
}
return ary;
}
function t2() {
var ary = [];
@joelambert
joelambert / README
Created June 1, 2011 11:03
Drop in replacements for setTimeout()/setInterval() that makes use of requestAnimationFrame() where possible for better performance
Drop in replace functions for setTimeout() & setInterval() that
make use of requestAnimationFrame() for performance where available
http://www.joelambert.co.uk
Copyright 2011, Joe Lambert.
Free to use under the MIT license.
http://www.opensource.org/licenses/mit-license.php