Skip to content

Instantly share code, notes, and snippets.

View orb's full-sized avatar

Norman Richards orb

View GitHub Profile
@orb
orb / paths.org
Created March 6, 2019 22:45
path finding

pathfinding in Clojure

Help, I’m stuck in a maze

Motivation

Many AoC problems required some sort of path finding - shortest path, cheapest path according to the rules of the world.

@orb
orb / sort_compare.clj
Created January 19, 2019 17:03
compare team data
(ns sort-compare.core)
(def team-data
[{:team-id 1
:total-pts 7
:matches [{:schedule-id 1 :opp-team-id 2 :opp-team-pts 6 :team-points 3}
{:schedule-id 2 :opp-team-id 3 :opp-team-pts 6 :team-points 4}]}
{:team-id 2
:total-pts 7
:matches [{:schedule-id 1 :opp-team-id 1 :opp-team-pts 3 :team-points 6}
@orb
orb / hw2-tests.sml
Last active December 13, 2018 04:37
val test1a = [
all_except_option("foo", []) = NONE,
all_except_option("foo", ["bar"]) = NONE,
all_except_option("foo", ["foo"]) = SOME([]),
all_except_option("foo", ["foo","x","y"]) = SOME(["x","y"]),
all_except_option("foo", ["x","foo","y"]) = SOME(["x","y"]),
all_except_option("foo", ["x","y","foo"]) = SOME(["x","y"])]
val test1b = [
@orb
orb / roll.clj
Created September 11, 2018 01:08
an instaparse version of the roll parser, just for fun
(ns roll.core
(:require [instaparse.core :as instaparse]
[clojure.string :as str]))
(def roll-parser
(instaparse/parser "
roll = quantity? <'d'> die-type (operator operand)?
<quantity> = number
<die-type> = number
<operand> = number
boolean saveImage(String fileName, String contentType, InputStream inputStream) {
Connection connection = null;
PreparedStatement statement = null;
ResultSet keySet = null;
try {
connection = dataSource.getConnection();
statement = connection.prepareStatement("INSERT INTO images (filename, content_type, content) values (?, ?, ?)",
new String[] {"id"});
statement.setString(1, fileName);
@orb
orb / recruiter.md
Last active May 8, 2018 12:50
I couldn't understand an email from a recruiter, so I used google translate and got this:

Dear keyword match,

You vaguely look like someone capable of doing work.

I have a couple jobs that I'm not going to bother to describe because that would have meant I needed to take the time to look at your actual experience and see if any of them are actually a fit. But trust me, these are big time real jobs that actually exist and would be perfect for you based on the fact that you matched a keyword.

Instead of telling you more, I'm going to ask you to tell me what you are doing now. If my fishing trip is successful, then I'll take the time to look and see if you might be a fit for one of the jobs I'm recruiting for. If you are, I might get back to you.

Thanks for your time, Recruiter Dude.

@orb
orb / ImageServlet.java
Created April 20, 2018 01:57
an example setting content type on download
package images;
import java.io.FileInputStream;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
(defun flatten (l)
(cond
((null l) nil)
((listp l) (append (flatten (car l))
(flatten (cdr l))))
(t (list l))))
(flatten '())
(flatten 1)
(flatten '(1 . 2))
@orb
orb / sudoku.clj
Created January 30, 2014 23:43
my version of david nolen's core.logic sudoku solver
(ns logic.sudoku
(:refer-clojure :exclude [==])
(:use [clojure.core.logic])
(:require [clojure.core.logic.fd :as fd]))
(defn init-board [vars puzzle]
(matche [vars puzzle]
([[] []]
succeed)
@orb
orb / example.js
Last active April 6, 2017 16:14
bootrap modal hide event
// capturing the hide event instead of the hidden event lets us intercept the close and update our state
//
componentDidMount = () => {
$(this.node).on("hide.bs.modal",
(e) => {
if (this.props.open) {
// if we say the modal should be open but it want's to close
e.preventDefault(); // stop it from closing
this.props.closeMe(); // update our state to request our close, if we want that behavior
}