Skip to content

Instantly share code, notes, and snippets.

View anowell's full-sized avatar

Anthony Nowell anowell

View GitHub Profile
@anowell
anowell / all-the-filters.sh
Created December 18, 2016 08:09
For a single image, generate every DeepFilter style transfer variant of that image
#!/bin/bash
set -e
function die {
echo >&2 $1
exit 1
}
command -v algo >/dev/null 2>&1 || die "Have you installed the Algorithmia CLI"
@anowell
anowell / gist:144f2a4b4e699a35536b0c09a43485ce
Created November 23, 2016 21:16
algorithmia_nginx_proxy
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
@anowell
anowell / algo_entrypoint.rs
Last active November 13, 2016 16:59
First draft experiment at reducing boilerplate for algorithm entrypoint
/*
Example usage:
Note: in all of these cases, the return value must be `Result<T, E>` where:
- `T` has a conversion to `AlgoOutput` (e.g. String, Vec<u8>, JsonValue, (), or anything Serializeable)
- `E` has a conversion to `Box<Error>` (e.g. String or any custom type that `impl Error`)
-------------Text-----------------------
algo_entrypoint! { text => hello }
fn hello(input: &str) -> Result<String, String> {
Ok(format!("Hello {}", input))
@anowell
anowell / bench_json_zeroes.rs
Last active November 1, 2016 06:30
Basic microbench of decoding large arrays of zeroes
#![feature(test)]
extern crate serde_json;
extern crate json;
extern crate test;
#[cfg(test)]
mod tests {
use json::{self, JsonValue};
use serde_json::{self, Value};
use test::Bencher;
@anowell
anowell / wkhtmltopdf-release-segfault.rs
Created July 21, 2016 16:49
Minimal wkhtmltopdf snippet that works in debug but segfaults in --release
extern crate libwkhtmltox_sys as libwkhtmltox; // https://github.com/anowell/libwkhtmltox-sys
use libwkhtmltox::*;
use std::ffi::{CString, CStr};
use std::os::raw::{c_char, c_int, c_uchar};
unsafe extern fn finished_callback(converter: *mut wkhtmltopdf_converter, val: c_int) {
println!("finished_callback: {}", val);
// Read the PDF output
@anowell
anowell / .tmux.conf
Last active December 19, 2015 17:09
tmux config
# Bind prefix to tick, but let double-tick through
unbind `
set -g prefix `
bind-key ` send-key `
# Ring the bell if any background window rang a bell
set -g bell-action any
# Default termtype. If the rcfile sets $TERM, that overrides this value.
set -g default-terminal screen-256color
@anowell
anowell / bash_search.sh
Created March 30, 2013 00:57
Bash search function - Quickly search for files containing text Piping find output into grep and optionally into your editor
# Function to search for string in a set of files
#
# Add this function to ~/.bashrc
# Restart terminal or run: source ~/.bashrc
# Optionally set EDITOR in ~/.bash_profile (I use "EDITOR=subl")
#
# Examples:
# # Outputs filenames and matches of all found occurrences of "authenticate_user" in .rb files
# search *.rb "authenticate_user"
#
@anowell
anowell / analog_clock.rb
Created December 11, 2012 11:09
AnalogClock class, program, and specs (RSpec tests - TDD)
class AnalogClock
attr_reader :hour, :min, :meridiem
def initialize(time)
return nil unless time.instance_of?(String)
# split on space and colon
split_time = time.split(/:| /)
return nil unless split_time.length == 3
@anowell
anowell / hasSameCharacters.cpp
Created October 23, 2012 08:33
hasSameCharacters simple O(n) solution
// Expected behavior:
// 'abc', 'cba' => true
// 'abca', 'cba' => true
// 'cba', 'abca' => true
// '', '' => true
// 'abcd', 'abc' => false
// 'abc', 'abcd' => false
bool hasSameCharacters(char* c1, char* c2)
{
@anowell
anowell / hasSameCharacters.cpp
Created October 23, 2012 07:45
hasSameCharacters with minor optimization for short strings
// Expected behavior:
// 'abc', 'cba' => true
// 'abca', 'cba' => true
// 'cba', 'abca' => true
// '', '' => true
// 'abcd', 'abc' => false
// 'abc', 'abcd' => false
bool hasSameCharacters(char* c1, char* c2)
{