Skip to content

Instantly share code, notes, and snippets.

@shaunlebron
shaunlebron / core-om.cljs
Last active September 15, 2016 09:01
figwheel/reactjs development in ClojureScript (om vs. quiescent)
(ns yourapp.core
(:require [figwheel.client :as fw]
[sablono.core :as html :refer-macros [html]]
[om.core :as om :include-macros true]
[om-tools.core :refer-macros [defcomponent]]
))
(enable-console-print!)
(defonce world (atom {:text "Hello!"}))
@shaunlebron
shaunlebron / CLJS-866.clj
Last active August 29, 2015 14:07 — forked from ptaoussanis/CLJS-866.clj
Fix for desugar-ns-specs
(comment
;; Bug report for CLJS-721 (support :include-macros true modifier in :require),
;; Ref. http://dev.clojure.org/jira/browse/CLJS-721,
;; http://goo.gl/MQ3fWd (GitHub commit de6ee41b3)
;; desugar-ns-specs from clojurescript/src/clj/cljs/analyzer.clj
;; (`cljs.analyzer` ns)
(desugar-ns-specs '[(:require [foo.bar :as bar :include-macros true])])
;; =>
@shaunlebron
shaunlebron / main.js
Created February 2, 2015 18:54
cuttle patched main.js for issue #74
This file has been truncated, but you can view the full file.
if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) {
Math.imul = function (a, b) {
var ah = (a >>> 16) & 0xffff;
var al = a & 0xffff;
var bh = (b >>> 16) & 0xffff;
var bl = b & 0xffff;
// the shift by 0 fixes the sign on the high part
// the final |0 converts the unsigned value into a signed value
return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
}
@shaunlebron
shaunlebron / chance.ext.js
Created February 5, 2015 04:54
google closure externs for Chance.js
// Chance.js 0.7.2
// http://chancejs.com
// (c) 2013 Victor Quinn
// Chance may be freely distributed or modified under the MIT license.
/** @interface */
function Chance(seed) {}
/** @type {!Chance} */
var chance;
@shaunlebron
shaunlebron / houston-metrorail.md
Last active August 29, 2015 14:21
Houston METRORail
"==================================================================================
" VUNDLE (auto-install plugins):
" > git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
" > vim +BundleInstall
"==================================================================================
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
@shaunlebron
shaunlebron / test.cljs
Created June 26, 2015 19:24
js data processing in cljs
(let [old-arr #js []
new-arr #js []]
(doseq [val old-arr]
(when (should-include? val)
(.push new-arr val))))
@shaunlebron
shaunlebron / _README.md
Last active December 3, 2023 08:58
Direct3D9 Wrapper DLL

In response to a StackOverflow question:

This is code to build a Direct3D wrapper DLL, intercepting all calls to Direct3D interface functions so that you can draw your own objects to display over the game. Just plop the DLL into the same folder as the game's executable, and it should load it as if it were the real d3d9.dll file. It still forwards all calls to the real one in system32, just allows stuff to happen in between. original stackoverflow answer

@shaunlebron
shaunlebron / atlas.js
Created August 27, 2015 14:09
pacman spritesheet modified for gh4st
var atlas = (function(){
var canvas,ctx;
var size = 22;
var cols = 14; // has to be ONE MORE than intended to fix some sort of CHROME BUG (last cell always blank?)
var rows = 22;
var creates = 0;
@shaunlebron
shaunlebron / 00-input.cljs
Last active June 18, 2016 16:37
protocol implementation in cljs
;; dummy protocol
(defprotocol IFoo
(foo [this]))
;; dummy cljs type
(deftype Bar [])
;; extending a cljs type
(extend-type Bar
IFoo (foo [this] (println "Hello from IFoo.foo for Bar")))