Skip to content

Instantly share code, notes, and snippets.

View jbowles's full-sized avatar
💭
working on it...

josh bowles jbowles

💭
working on it...
View GitHub Profile
@jbowles
jbowles / state_jacket.go
Created March 23, 2013 15:13
First pass at porting Sate Jacket to Go
//package state_gacket // soft 'g', like state_dʒacket
package main
import (
"fmt"
"reflect"
)
/*
type Metadata struct {
EntryLength int
@jbowles
jbowles / random_normal.js
Last active December 15, 2015 05:19
Random numbers from a normal distribution
/*jslint node:true*/
"use strict";
function normal_random(mean, variance) {
if (mean === undefined) {
mean = 0.0;
}
if (variance === undefined) {
variance = 1.0;
}
@jbowles
jbowles / stream_classifier.js
Last active December 14, 2015 03:28
Playing around with node
/*jshint node:true*/
"use strict";
// SEND REQUEST TO CLASSIFY TEXT
var http = require('http'),
fs = require('fs'),
natural = require('natural'),
classifier = new natural.BayesClassifier();
// flatten an array
@jbowles
jbowles / example_nlp_with_treat.rb
Created February 22, 2013 04:15
A quick look at what can be done with treat
require 'treat'
include Treat::Core::DSL
doc1 = document('http://en.wikipedia.org/wiki/List_of_best-selling_fiction_authors')
doc2 = document('http://en.wikipedia.org/wiki/List_of_best-selling_books')
[d1,d2].apply(:chunk, :segment, :tokenize)
#Check it!
doc1.sentences
doc1.sentences.count
@jbowles
jbowles / horizon_transactional_grammar_first_draft.md
Created November 23, 2012 15:40
Horizon Transactional Grammar First Draft
(def simple-grammar
  {:hub [:node-unique-accept :node-unique-check :node-unique-persist]
   :node-unique-accept [:ParseUrl :ParseParams :AcceptBool]
   :node-unique-check [:FormatRead :FormatCheckBool]
   :node-unique-persist [:SaveOrUpdate :PersistBool]
   :ParseUrl #{"http, www, mattcutts.com, /blog/seo-glossary-url-definitions/" "http, jbowles, github.com/" "http, www, cs.dartmouth.edu, /~mckeeman/cs48/mxcom/doc, FiniteAutomata.pdf" "https, www, ruby-toolbox.com, categories/state_machines.html"}
   :ParseParams #{"program address city state zip" "fname lname school program address city state zip" "fname lname school state zip" "fname lname city state zip"}
   :AcceptBool #{"0" "1"} ;;[] (one-of [0 1])
   :FormatRead #{"UTF8" "other stuff"}
@jbowles
jbowles / horizon_transaction_first_draft.md
Created November 23, 2012 15:26
Horizon Transaction First Draft

The :hub is the transaction and/or application (more on this later). Each :node is wrapper around a Hero Formula responsible for passing the non-boolean values to the :hub, but it also returns a boolean. Each camel-cased line inside the :node parentheses is a Hero :formula and the values in quotes are the return values of a Formula's :step. Formula.step is the only thing responsible for changing state.

The following is in Clojure but it should be interpretable from a Ruby perspective; it's the relations that matter here not the syntax.

[:hub ;; begin transaction
 ( ;; begin set of Nodes
  
  :node-unique-accept 
@jbowles
jbowles / horizon_tfsg_step_formula_hub_first_draft.md
Created November 23, 2012 15:49
Horizon TFSG Step, Formula, Hub First Draft
```clojure
;; Clojure Step
(declare step check-valid base-complete check-user)
(defn one-of [coll]
(if (seq coll)
[(rand-nth coll)]))
(defn step[] (concat (check-valid) (base-complete) (check-user)))
(defn check-valid[] (one-of [0 1]))
@jbowles
jbowles / horizon_first_draft.md
Created November 23, 2012 14:54
Horizon First Draft

Horizon

Transactional system that defines a set of primitive and composable concepts. It is inspired by Finite State Grammars.

ABSTRACT

Finite State Transactional Grammar. I don't know if I made up this term, so I won't claim to have invented this, but I'm running with it. What is sketched here is a transactional system inspired by finite state machines, finite state grammars, rule engines, map-reduce algorithms, functional programming (namely Clojure and LISP), business intelligence, and the rubygem Hero.

Hub

@jbowles
jbowles / bad_config.ru
Created September 6, 2012 16:58
Bad web server file example for learntoprogram course at One on One
require File.join(File.dirname(__FILE__), 'lib','new_class.rb')
has_many :hadoop_logs
def self.twitter_creds
tconfig_file = Rails.root.join 'config', 'twitter_oauth.yml'
NimbleTwitter.twitter_config(NimbleTwitter.dev_twitter("#{tconfig_file}"))
end
def self.json_encoder
Yajl::Encoder.new
@jbowles
jbowles / new_class.rb
Created September 6, 2012 16:27
NewClass for the learntoprogram course at One on One
class NewClass
def self.tell_me_something
"whatup!"
end
def self.randomize_select
list = [
"one",
"two",
"three"
]