Skip to content

Instantly share code, notes, and snippets.

View film42's full-sized avatar
✔️
Verified

Garrett Thornburg film42

✔️
Verified
View GitHub Profile
@film42
film42 / map.cpp
Last active August 29, 2015 14:03
Implementing generic map and reduce functions for certain collections in c++11 using lambda `std::function`
#include <iostream>
#include <vector>
#include <list>
template<typename T, typename V>
T map(T list, std::function<V (V)> fn) {
T new_list;
for(V& value : list) {
new_list.push_back( fn(value) );
}
@film42
film42 / jane-street-rain-collection.clj
Last active August 29, 2015 14:01
An Interview Question from Jane Street: Given some topology, assume it rained and settled, return a new map of the collected rain fall.
(ns rain-topology)
;; An Interview Question from Jane Street:
;; Given some topology, assume it rained and settled,
;; return a new array of the collected rain fall.
;; _
;; _| | _
;; _| | _| |
;; | |_| |
;;
@film42
film42 / euler_11.clj
Last active August 29, 2015 14:01
Project Euler #11
(ns euler.euler-11
(:require [clojure.string :as s]))
(def grid-data
"Open data from file"
(slurp "files/11.txt"))
(defn- get-grid
"Get the matrix from the slurped text. Break on new lines, then split and parse for Ints"
[]
@film42
film42 / simplex.cs
Created March 20, 2014 03:53
Simplex
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WindowsFormsApplication1 {
class SimplexSolver {
private int[] N; // Indicies of non-basic variables
@film42
film42 / example.clj
Last active August 29, 2015 13:56
Fermat based primality tester written in Clojure
;;
;; Checkout this page for large prime numbers: http://primes.utm.edu/lists/small/small3.html
;;
;; Testing a 300 digit prime number
(def some-large-prime 290245329165570025116016487217740287508837913295571609463914348778319654489118435855243301969001872061575755804802874062021927719647357060447135321577028929269578574760547268310055056867386875959045119093967972205124270441648450825188877095173754196346551952542599226295413057787340278528252358809329N)
(is-prime? some-large-prime) ;;=> true || Elapsed time: 216.512 msecs
;; Testing a long even number
(def some-long-even-number 709127341927349283740927349823749237492734092873492842N)
val cipher = Map('a' -> 'а', 'b' -> 'б', 'c' -> 'ц', 'd' -> 'д', 'e' -> 'е', 'f' -> 'ф', 'g' -> 'г',
'h' -> 'ч', 'i' -> 'и', 'j' -> 'й', 'k' -> 'к', 'l' -> 'л', 'm' -> 'м', 'n' -> 'н',
'o' -> 'о', 'p' -> 'п', 'q' -> 'я', 'r' -> 'р', 's' -> 'с', 't' -> 'т', 'u' -> 'у',
'v' -> 'в', 'w' -> 'ш', 'x' -> 'х', 'y' -> 'ы', 'z' -> 'з', ' ' -> '@')
lazy val reverse_cipher = cipher.map(_.swap)
def encrypt(word: String) =
word.flatMap(x => cipher(x.toLower).toString)
@film42
film42 / big-numbers.clj
Last active December 29, 2015 16:39
Why Clojure is so dang amazing. Number from 1 to 1000, applied 5th power, and multiplied together. BigInt test.
(defn power-of [x n]
(loop [i 0, acc 1]
(if (not (< i n))
acc
(recur (inc i) (* acc x)))))
(def thousand (range 1 1001))
(def big-thousand (map #(power-of (bigint %1) 5) hundred))
(print (reduce * big-thousand))
@film42
film42 / HttpClient.java
Created November 1, 2013 02:26
Here's a little static class that just does a post and get, for a school project.
package servertester.modules;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**
* Created with IntelliJ IDEA.
* User: film42
@film42
film42 / Counter.java
Created October 16, 2013 20:33
Use an array of any size to add any two numbers.
public class Counter {
private int[] seq = null;
public Counter(int size) {
this.seq = new int[size];
}
public Counter() {
this.seq = new int[10];
@film42
film42 / comcast.log
Created October 15, 2013 06:56
Terrible service from comcast
64 bytes from 74.125.239.104: icmp_seq=13110 ttl=55 time=40.722 ms
64 bytes from 74.125.239.104: icmp_seq=13111 ttl=55 time=39.809 ms
64 bytes from 74.125.239.104: icmp_seq=13112 ttl=55 time=39.896 ms
64 bytes from 74.125.239.104: icmp_seq=13113 ttl=55 time=40.093 ms
64 bytes from 74.125.239.104: icmp_seq=13114 ttl=55 time=37.391 ms
64 bytes from 74.125.239.104: icmp_seq=13115 ttl=55 time=39.613 ms
64 bytes from 74.125.239.104: icmp_seq=13116 ttl=55 time=43.986 ms
64 bytes from 74.125.239.104: icmp_seq=13117 ttl=55 time=39.911 ms
64 bytes from 74.125.239.104: icmp_seq=13118 ttl=55 time=38.396 ms
64 bytes from 74.125.239.104: icmp_seq=13119 ttl=55 time=37.916 ms