Skip to content

Instantly share code, notes, and snippets.

Joshua C Elliott jcelliott

View GitHub Profile
View keybase.md

Keybase proof

I hereby claim:

  • I am jcelliott on github.
  • I am jelliott (https://keybase.io/jelliott) on keybase.
  • I have a public key ASBLWJywrax6mgI8RZlPvHnBaJ97YJdvRAFOFq1tv0Fcogo

To claim this, I am signing this object:

@jcelliott
jcelliott / flatten.exs
Last active Oct 3, 2017
Recursively flatten a list in Elixir
View flatten.exs
defmodule Flatten do
@doc """
Flattens a list by recursively flattening the head and tail of the list
"""
def flatten([head | tail]), do: flatten(head) ++ flatten(tail)
def flatten([]), do: []
def flatten(element), do: [element]
end
@jcelliott
jcelliott / deps.info.ex
Last active Oct 11, 2016
Mix task to list information about all dependencies
View deps.info.ex
defmodule Mix.Tasks.Deps.Info do
use Mix.Task
@moduledoc """
Prints information for every dependency from Hex
"""
def run(_args) do
Mix.Project.get!
Mix.Dep.loaded([env: :prod])
@jcelliott
jcelliott / duration_fmt.go
Created Aug 25, 2014
A small binary to print a duration in milliseconds in a human-friendly format
View duration_fmt.go
package main
import (
"fmt"
"os"
"strconv"
)
const (
MIN = 60
View test_auth_decorator.py
def authorized_for(user, op):
if user[1] == 'admin':
return True
else:
return False
def forbidden():
print('forbidden!')
def check_authorized(operation):
@jcelliott
jcelliott / proxy.go
Last active Sep 6, 2017
Reverse proxy using Go
View proxy.go
package main
import (
"log"
"net/http"
"net/http/httputil"
"net/url"
)
func main() {
@jcelliott
jcelliott / launch_requestbin.py
Created Jan 23, 2014 — forked from glenbot/launch_requestbin.py
Bootstrap file to run Requestbin locally
View launch_requestbin.py
import os
from requestbin import app
from requestbin.storage.memory import MemoryStorage
app.config['bind_address'] = ('0.0.0.0', int(os.environ.get("PORT", 5000)))
app.config['ignore_headers'] = """
X-Varnish
X-Forwarded-For
X-Heroku-Dynos-In-Use
X-Request-Start
View alliteration.py
import argparse
import fileinput
def find_alliteration(line, smallest_seq):
# print("examining line: "+line)
seq = 1
words = line.split()
letter = words[0][0]
# print("looking for: "+letter)
for word in words[1:]:
View concurrency.go
package main
func work(id int, done chan int) {
println("processing top secret document:", id)
done <- id
}
func main() {
done := make(chan int, 5)
for i := 0; i < 5; i++ {
View duck-typing.go
package main
import "fmt"
type Quacker interface {
Quack()
}
type Duck struct{}
You can’t perform that action at this time.