Skip to content

Instantly share code, notes, and snippets.

@ifree
ifree / itt-coc.ts
Created December 17, 2023 15:51 — forked from VictorTaelin/itt-coc.ts
ITT-Flavored Calculus of Constructions Type Checker
// A nano dependent type-checker featuring inductive types via self encodings.
// All computation rules are justified by interaction combinator semantics,
// resulting in major simplifications and improvements over old Kind-Core.
// Specifically, computable annotations (ANNs) and their counterpart (ANN
// binders) and a new self encoding based on equality (rather than dependent
// motives) greatly reduce code size. A more complete file, including
// superpositions (for optimal unification) is available on the
// Interaction-Type-Theory repository.
// Credits also to Franchu and T6 for insights.
@ifree
ifree / GPUOptimizationForGameDev.md
Created June 22, 2020 15:38 — forked from silvesthu/GPUOptimizationForGameDev.md
GPU Optimization for GameDev
@ifree
ifree / richhickey.md
Created April 18, 2018 09:28 — forked from prakhar1989/richhickey.md
richhickey.md

Rich Hickey on becoming a better developer

Rich Hickey • 3 years ago

Sorry, I have to disagree with the entire premise here.

A wide variety of experiences might lead to well-roundedness, but not to greatness, nor even goodness. By constantly switching from one thing to another you are always reaching above your comfort zone, yes, but doing so by resetting your skill and knowledge level to zero.

Mastery comes from a combination of at least several of the following:

@ifree
ifree / Polygon.as
Created October 29, 2012 23:15 — forked from PrimaryFeather/Polygon.as
A custom display object for Starling, rendering a regular n-sided polygon.
package utils
{
import com.adobe.utils.AGALMiniAssembler;
import flash.display3D.*;
import flash.geom.*;
import starling.core.RenderSupport;
import starling.core.Starling;
import starling.display.DisplayObject;
@ifree
ifree / atan2.as
Created October 28, 2012 22:54 — forked from gradbot/atan2.as
atan2(y, x) in AGAL using atan(x) = Pi / 2 * x / (1 + x)
context3D.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 0, Vector.<Number>([
1,
0,
Math.PI,
2 * Math.PI,
1e-10,
Math.PI / 2,
0, // not used
0, // not used