Skip to content

Instantly share code, notes, and snippets.

@halgari
halgari / gist:6309500
Created August 22, 2013 16:24
Load balancer using core.async
(ns async-examples.load-balancer
(:require [clojure.core.async :refer :all]))
;; Let's assume we have a DB, and it holds the following pairs of name/ages
(def db-store
{:john 42
:amy 33
:jill 3
@jbenet
jbenet / simple-git-branching-model.md
Last active May 3, 2025 18:07
a simple git branching model

a simple git branching model (written in 2013)

This is a very simple git workflow. It (and variants) is in use by many people. I settled on it after using it very effectively at Athena. GitHub does something similar; Zach Holman mentioned it in this talk.

Update: Woah, thanks for all the attention. Didn't expect this simple rant to get popular.

@ghadishayban
ghadishayban / gist:7002262
Last active December 25, 2015 15:59
Regex split as Clojure reducer. Faster than java's Pattern.split(string)
;; Reimplementation of Java's (.split Pattern) to be zero-allocation, similar
;; to JDK 8 splitAsStream
;; Discards trailing ""
;; respects `clojure.core.reduced`
(defn split-string
[^CharSequence s ^java.util.regex.Pattern re]
(reify clojure.core.protocols/CollReduce
(coll-reduce [_ f init]
(let [m (re-matcher re s)
@igorw
igorw / turel.clj
Last active August 29, 2015 13:57
(ns turel.core
(:refer-clojure :exclude [==])
(:use clojure.core.logic))
(defn not-membero
[x l]
(conde [(emptyo l)]
[(fresh [head tail]
(conso head tail l)
(!= head x)
@jlongster
jlongster / app.js
Last active August 29, 2015 13:57
var dom = React.DOM;
var App = React.createClass({
getInitialState: function() {
return { todos: [] };
},
addTodo: function() {
this.setState(update(this.state) {
todos.push({ value: 'hello' });
@swannodette
swannodette / om_data.cljs
Last active January 9, 2021 16:09
Om + DataScript
(ns om-data.core
(:require [om.core :as om :include-macros true]
[om.dom :as dom :include-macros true]
[datascript :as d]))
(enable-console-print!)
(def schema {})
(def conn (d/create-conn schema))
@philandstuff
philandstuff / euroclojure2014.org
Last active February 19, 2024 05:12
Euroclojure 2014

EuroClojure 2014, Krakow

Fergal Byrne, Clortex: Machine Intelligence based on Jeff Hawkins’ HTM Theory

  • @fergbyrne
  • HTM = Hierarchical Temporal Memory
  • Slides

big data

  • big data is like teenage sex
    • noone knows how to do it
    • everyone thinks everyone else is doing it
@ohpauleez
ohpauleez / service.clj
Last active August 29, 2015 14:03
Pedestal 0.3.0 example with SSE
;; In Pedestal 0.3.1, you won't have to use an atom.
;; You'll pass the channel into the SSE creation function (instead of it passing one back to you)
(def event-ch (atom nil))
(defn home-page
[request]
(ring-resp/response "Hello World!"))
(defroutes routes
[[["/" {:get home-page}
@karlwestin
karlwestin / errorhandler.js
Created July 31, 2014 09:22
simple window.onerror handler
function errorHandler(msg, url, line, column, err) {
// firefox bug to watch for 5 arg error handler
// https://bugzilla.mozilla.org/show_bug.cgi?id=630464
/*
* most browsers don't give column number,
* but chrome can do it sometimes
*/
if(typeof column == "object") {
err = column;