This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#pragma once | |
#include <glm/glm.hpp> | |
template<typename T> | |
class Tween { | |
public: | |
Tween(float speed = 1.0) | |
: _value(T()), | |
_target(T()), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Based on https://github.com/Sojo-Studios/catmull-rom/blob/master/test.js | |
# This implementation assumes circular splines. | |
class CatmullRomSplines | |
def initialize(points) | |
@key_points = points | |
end | |
def generate(detail) | |
points = [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function lerp(a, b, t) { | |
return a + t * (b - a); | |
} | |
function mix(a, b, t) { | |
return a.map((v, i) => lerp(v, b[i], t)); | |
} | |
function clamp(x, min, max) { | |
if (x < min) { return min; } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
prettier=$(npm bin)/prettier | |
git diff --cached --name-status src/ | while read -r status filename; do | |
# skip deleted files | |
if [[ "$status" == "D" ]]; then continue; fi | |
if [[ "$filename" =~ \.jsx?$ ]]; then | |
"$prettier" --single-quote --no-bracket-spacing --write "$filename" || exit 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
const fs = require("fs"); | |
function leftPad(str, length, chr) { | |
str = str.toString(); | |
if (str.length >= length) { | |
return str; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class IRB::Irb | |
alias :original_prompt :prompt | |
def prompt(prompt, ltype, indent, line_no) | |
prompt = prompt.call if prompt.respond_to?(:call) | |
original_prompt(prompt, ltype, indent, line_no) | |
end | |
end | |
IRB.conf[:PROMPT_MODE] = :RAILS_ENV | |
IRB.conf[:PROMPT][:RAILS_ENV] = IRB.conf[:PROMPT][:CLASSIC].merge(:PROMPT_I => lambda { (defined?(Rails) ? "#{Rails.env} " : "") + "%N(%m):%03n:%i> " }) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'io/console' | |
require 'pp' | |
files = Dir["*"].sort | |
MAX_COLUMNS = 9 | |
MAX_COLUMNS.downto(1) do |i| | |
columns = files.each_slice(i).map { |x| Array.new(i) { |n| x[n] } } | |
rows = columns.transpose |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require 'shellwords' | |
FIELDS = %w(artist album name duration spotify\ url).map { |x| "#{x} of current track" }.join(' & "\\n" & ') | |
SCRIPT =<<EOF | |
tell application "Spotify" | |
#{FIELDS} | |
end tell |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Put this in your project root and create a symlink from ~/.tmuxinator/projectname.yml | |
name: <%= File.basename(path, '.*') %> | |
root: <%= | |
begin | |
File.dirname(File.readlink(path)) | |
rescue | |
puts "#{path} should be symlinked from your project root." | |
exit 1 | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This takes about 1.6 seconds for 800x600 | |
def short_screenshot!(width, height) | |
pixels = glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE) | |
image = ChunkyPNG::Image.from_rgb_stream(width, height, StringIO.new(pixels)) | |
image.flip_horizontally! | |
image.save('screenshot.png', :fast_rgb) | |
end | |
# This takes about 0.8 seconds for 800x600 | |
def long_screenshot!(width, height) |
NewerOlder