Skip to content

Instantly share code, notes, and snippets.

View jebberjeb's full-sized avatar

Jeb Beich jebberjeb

View GitHub Profile
@jebberjeb
jebberjeb / vim+mzscheme.md
Last active September 12, 2019 19:43
Vim Plugins w/ Scheme (Racket)

Vim + Racket

A less-known feature of Vim is support for Scheme, for scripting or otherwise. At the time of the original integration, the MZScheme package (a subset of PLTScheme) was used. Eventually, this became Racket. However, in Vim configuration, help, etc, mzscheme is referred to.

The following steps were performed on Ubuntu 14 Server, in order to compile Vim with Scheme support.

Version

To determine whether Vim has been compiled with support for Scheme:

@jebberjeb
jebberjeb / async_minecraft.clj
Last active August 29, 2015 14:11
core.async demo reloaded w/ minecraft
(ns system
(:require [clojure.core.async :as ca]
[cljminecraft.core :as core]
[cljminecraft.player :as p]
[cljminecraft.bukkit :as bk])
(:import [org.bukkit Material DyeColor]))
;; Helpers start
(defn loc->coords [l] (-> l bean (select-keys [:x :y :z :world])))
(defn ->coords [e] (-> e .getLocation loc->coords))
@jebberjeb
jebberjeb / access-logic.clj
Last active August 29, 2015 14:10
[TAKE 3] Rough cut at using core.logic to figure out user->roles->privileges access concerns.
(ns access.core
(:refer-clojure :exclude [==])
(:require [clojure.core.logic :refer :all]))
(def all-priv [:smart-controls :view-all-reports :admin :foo :bar])
(def all-roles [{:name :admin :privs priv}
{:name :reporting :privs [:view-all-reports]}
{:name :store :privs [:smart-controls :view-all-reports]}
{:name :foo-role :privs [:foo :bar]}])
@jebberjeb
jebberjeb / 401.clj
Created November 18, 2014 22:07
Rather than 401 via ring middleware, macros
(defn request* [method route-path privilege route-params handler]
`(~method ~route-path ~route-params
(fn [req#] (let [user# (get-in req# [:session :current-user])]
(if (access/has-access? user# ~privilege)
(~handler req#)
~response-401)))))
(defmacro GET* [route-path privilege route-params handler]
(request* `GET route-path privilege route-params handler))
@jebberjeb
jebberjeb / profiling.clj
Created November 17, 2014 21:39
Profiling Magrathea
(ns profiling
(:require [magrathea.server.routes :refer (app)]
[ring.mock.request :as mock]
[taoensso.timbre.profiling :as p]))
(def req (mock/request
:get
"/organization/085cafea-868b-4db2-958c-641988553c5b/my-account"))
(defn do-with-orgs
(ns iws-oracle.defsproc.generate
(:require [clojure.java.jdbc :as jdbc]
[clojure.string :as str]
[schema.core :as s]
[schema.macros :as sm]
[iws-oracle.defsproc :refer :all]
[iws-oracle.test.core-test :as ct]))
(def args-sql (str "select * from all_arguments where lower "
"(object_name) = lower (?)"))
@jebberjeb
jebberjeb / Resume.md
Last active April 28, 2017 13:49
Resume / Markdown

Jeb A. Beich
Panama City, FL
jebbeich (at) gmail (dot) com
(352) 213-7344

Summary

2000 Enterprise Java - 2002 J2ME - 2005 Python/.Net - 2008 Android - 2012 Clojure

Languages

defsproc

How it works now

(def sproc-map {:sproc "webicon.p_get_prop"
                :params [{:name :ipropid :type :string}
                         {:name :cursor :type :cursor :output true}
                         ...]})

(defsproc get-property sproc-map [:ipropid] (first cursor))

(ns classpath-test.core
(:require [clojure.java.shell :refer [sh]]
[cemerick.pomegranate :as pom]))
(defn make-java
[class-name
package]
(str "package " package ";"
"public class " class-name " {"
"public static String foo() { return \"bar\"; }"