Skip to content

Instantly share code, notes, and snippets.

Nathan Howell NathanHowell

Block or report user

Report or block NathanHowell

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
NathanHowell / BUILD
Created Nov 9, 2019
Seal Python with a VirtualEnv toolchain
load("@rules_python//python:defs.bzl", "py_runtime_pair")
load(":venv.bzl", "py_venv")
name = "py3_venv",
# python2 doesn't have proper venv support so invoke it with -S and hope for the best
name = "py2_runtime",
NathanHowell / settings.gradle
Created Jun 25, 2019
Example settings.gradle to dynamically derive projects from build.gradle files
View settings.gradle
// find all build.gradle files in the expected locations in the build tree
.matching {
exclude '**/src/**', '**/build/**', '**/.*'
include '**/build.gradle'
.each {
// then convert the file path to a project path
final relative = rootProject.projectDir.relativePath(it.parentFile)
final project = ":${relative.replace('/', ':')}"
NathanHowell / gist:5435345
Last active Jan 25, 2019
Simple Warp server that can be gracefully shutdown over HTTP.
View gist:5435345
{-# LANGUAGE OverloadedStrings #-}
module Main (main) where
import Control.Concurrent (forkIO)
import Control.Concurrent.STM
import Control.Monad (when)
import Control.Monad.Trans (liftIO)
import Network.HTTP.Types
import Network.Wai as Wai
NathanHowell /
Last active Oct 31, 2018
KinesisIO using Splittable DoFn (SDF) and the V2 Kinesis API (HTTP/2 push)
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
NathanHowell / pb.hs
Created May 20, 2012
Protocol Buffers via GHC Generics
View pb.hs
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE OverlappingInstances #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE ScopedTypeVariables #-}

Keybase proof

I hereby claim:

  • I am nathanhowell on github.
  • I am nathanhowell ( on keybase.
  • I have a public key ASC5cgtZMOLRHjV1qLg1TtuAv8xI1wjwmwqhvv9eUn7ybAo

To claim this, I am signing this object:

NathanHowell / Dockerfile
Created Jul 28, 2017
Example of multistage Docker build for grpc
View Dockerfile
FROM alpine:3.6 AS base
RUN apk add --no-cache python3 ca-certificates tzdata tini \
&& apk upgrade --no-cache
FROM base AS build
RUN apk add --no-cache \
python3-dev \
cython \
import tensorflow as tf
from scipy.special import logit
def centering_inference(c):
:param c: the number of target classes
:return: a uniformly distributed class bias variable
return tf.Variable(
View gist:1466063
{-# OPTIONS_GHC -fno-warn-deprecations #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TemplateHaskell #-}
module Main (main) where
import Control.Monad (when)
import qualified Data.ByteString.Lazy as BL
NathanHowell / curry.hs
Created May 31, 2013
A proof-of-concept demonstrating the use of Z3 to solve Cabal version constraints for Haskell packages
View curry.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE DeriveFoldable #-}
{-# LANGUAGE DeriveTraversable #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StandaloneDeriving #-}
You can’t perform that action at this time.