Skip to content

Instantly share code, notes, and snippets.


Joseph Catrambone JosephCatrambone

View GitHub Profile
JosephCatrambone / TriangleLineIntersection.js
Last active Nov 23, 2017
Companion Code for the Article on Ray Triangle Intersection
View TriangleLineIntersection.js
//@author Joseph Catrambone
// See for the original blog post and the derivation of all formulas.
class Point {
constructor(x, y, z) {
this.x = x;
this.y = y;
this.z = z;
dot(other) {
JosephCatrambone /
Created Oct 22, 2016
A Simple Tensorflow Convolutional System for STL10
#!/usr/bin/env python
#@author: Joseph Catrambone <jo.jcat _ gmail>
import sys, os
import math
import random
import time
from glob import iglob
import numpy
import tensorflow as tf
#!/usr/bin/env python
# JAD: Joseph's Automatic Differentiation
from collections import deque
class Graph(object):
def __init__(self):
self.names = list()
self.operations = list()
self.derivatives = list() # A list of LISTS, where each item is the gradient with respect to that argument.
JosephCatrambone /
Last active Sep 11, 2016
Experimental bugfixes on Tensorflow's Variational Autoencoder with an image batch loader.
import sys, os
import math
from random import randint, choice
from glob import glob
import tensorflow as tf
import numpy as np
from PIL import Image, ImageFile
JosephCatrambone / Planetary Name Generator
Created Oct 27, 2015
A way to generate planetary/system names from numbers.
View Planetary Name Generator
lookup = ['Aleph', 'Alpha', 'Antares', 'Beta', 'Bootes', 'Barum', 'Ceres', 'Charion', 'Chardibus', 'Chalupa', 'Delta', 'Darion', 'Doolan', 'Echo', 'Eres', 'Eribus', 'Encephalus', 'Ender', 'Foxtrot', 'Famicom', 'Gamma', 'Gregorio', 'Grace', 'Gaea', 'Gaia', 'Howzer', 'Hera', 'Hosio', 'Ignus', 'Io', 'Ionus', 'Ibus', 'Jax', 'Jovia', 'Jolo', 'Keras', 'Kodia', 'Li', 'Libra', 'Lol', 'Orphius', 'Orchid', 'Odyssus', 'Persephone', 'Pax', 'Qualude', 'Qi', 'Ra', 'Rez', 'Radium', 'Tia', 'Tori', 'Uso', 'Ura', 'Varia', 'Verit', 'Wex', 'Woolio', 'X', 'Yota', 'Yttrius', 'Zoe', 'Zee', 'Zae', 'Zeebs']
def from_int(num):
base = len(lookup) # Base whatever.
name = list()
while num > 0:
digit = num%base
num = num//base
string = ""
JosephCatrambone /
Last active Nov 28, 2016
A simple tool to predict the color of a fuse in a given slot.
from __future__ import division
import sys
import math
from PIL import Image
def RGBToHSL(rgb):
"""Given an RGB tuple in the range of 0-255, returns HSL from 0-1."""
r = rgb[0]/255.0
g = rgb[1]/255.0
b = rgb[2]/255.0
JosephCatrambone / NeuralNetwork
Last active Dec 3, 2015
Multi-Layer Neural Network
View NeuralNetwork
#!/usr/bin/env python
# Author: Joseph Catrambone <>
# Obtained from
# License:
# The MIT License (MIT)
# Copyright (c) 2015 Joseph Catrambone
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
JosephCatrambone /
Created Sep 24, 2014
Public Proof

Keybase proof

I hereby claim:

  • I am josephcatrambone on github.
  • I am josephcatrambone ( on keybase.
  • I have a public key whose fingerprint is 1B57 1051 DECE 2D9A 548F BE22 FC02 FC52 2A25 C920

To claim this, I am signing this object:

JosephCatrambone /
Last active Aug 29, 2015
Doing a "cast" from Unicode strings to look-alike ASCII characters
# coding=utf-8
import string
sourcemap = u"àáâãäåÀÁÂÃÄÅèéêëÈÉÊËìíîïÌÍÎÏòóôõöÒÓÔÕÖùúûüÙÚÛÜýÿÝñÑ¿¡";
destmap = "aaaaaaAAAAAAeeeeEEEEiiiiIIIIoooooOOOOOuuuuUUUUyyYnN?!";
def scrub(s, replacement_char=''):
"""Returns a new string with accented characters replaced by the closest ASCII character available.
This is conceptually similar to multiple passes with maketrans+translate."""
scrubbed_sentence = "";
You can’t perform that action at this time.