Skip to content

Instantly share code, notes, and snippets.

💭
still doing homework....

josh bowles jbowles

View GitHub Profile
View working_luhn_rust.rs
//Luhn trait
pub trait Luhn {
fn luhn(self) -> bool;
}
impl Luhn for String {
fn luhn(self) -> bool {
let s = remove_whitespace(&self);
let d = Digits::digits(s);
if d.len() < 16 {
return false;
@jbowles
jbowles / luhn_4_styles_julia.jl
Last active Jul 5, 2018
luhn in julia, 4 styles
View luhn_4_styles_julia.jl
using BenchmarkTools
dbl2nd(da::Array{Int64,1}) = for i in 1:2:(length(da))
da[i] *= 2
end
mod9(da::Array{Int64,1}) = for i in 1:2:length(da)
if da[i] > 9
da[i] -= 9
end
@jbowles
jbowles / cz_ue_world_data_enrollment.fsx
Last active Dec 10, 2017
From the fslabbasic template get world bank data (updated version of the fslab.org getting started example)
View cz_ue_world_data_enrollment.fsx
#load "../packages/FsLab/FsLab.fsx"
(* My Environment
visual studio code 2017 Version 1.18.1
mono --version ‹2.4.1›
Mono JIT compiler version 5.4.1.7 (2017-06/e66d9abbb27 Wed Oct 25 12:10:41 EDT 2017)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: normal
SIGSEGV: altstack
@jbowles
jbowles / fibonacci_two_ways.ex
Created Dec 3, 2014
tail call optimizations through pattern matching in elixir
View fibonacci_two_ways.ex
defmodule Mather do
def numbers(x,y) do
f = fn
x,y when x>0 -> x + y
x,y -> x*y
end
IO.puts f.(x,y)
end
# A tail call optimized fibonacci.
View go1.2_brew_install_hack_for_lazy_and_impatient.rb
# Too lazy to make a pull request and too impatient to wait,
# Just tuck 1.2 into the devel version
## First,
## $brew unlink go
## $vim /usr/local/Library/Formula/go.rb
## around line 20 under the `devel' block edit the following
devel do
#url 'https://go.googlecode.com/files/go1.2rc5.src.tar.gz'
#version '1.2rc5'
@jbowles
jbowles / mstatus.go
Last active Dec 29, 2015
gobike MStatus struct using with megajson experiment
View mstatus.go
package gobike
/*
Example JSON:
{
"HTTPStatus":200,
"TimeLocal":"2013-11-29T18:43:59.674946633-07:00",
"TimeUTC":"2013-11-30T01:43:59.674946695Z",
"URL":{
"Scheme":"",
@jbowles
jbowles / gobike_handler_megajson.go
Last active Dec 29, 2015
Handler for trying to get megajson to work with HTTP
View gobike_handler_megajson.go
/*
Trying to use megajson with http.Get(url) but getting Decoding errors.
Have tried with various json responses using various structs.
Decoder errors at various indices (depending on json and structs I'm using):
==========Some Decoding Errors===============
2013/11/29 18:27:23 decoding error: Unexpected comma at 112: ,; expected colon // common for NewMStatusJSONDecoder(resp.Body)
2013/11/29 18:29:14 decoding error: Unexpected null at 153: ; expected '{' or string
2013/11/29 18:39:01 decoding error: Unexpected number at 9: 1.1; expected '{'
@jbowles
jbowles / mstatus_decoder.go
Created Nov 30, 2013
Generated code from megajson on MStatus struct
View mstatus_decoder.go
package gobike
import (
"errors"
"fmt"
"github.com/benbjohnson/megajson/scanner"
"io"
)
type MStatusJSONDecoder struct {
@jbowles
jbowles / easy_token.go
Last active Dec 26, 2015
Easy out of the box natural language tokenizer using Go standard library
View easy_token.go
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
@jbowles
jbowles / DefRecord.clj
Created Oct 16, 2013
quick example of defrecord
View DefRecord.clj
;; record Record
(defrecord User [fname lname address])
;; ActiveRecord generally (Object.Model), instead namespace.Record
(defrecord Address [street city state zip])
(defrecord Foo [a b c])
(class Foo) ;java.lang.Class
;; Create an instance of the User and Address records
(def stu (User. "FirstName" "LastName"
(Address. "300 N Street"
You can’t perform that action at this time.