Skip to content

Instantly share code, notes, and snippets.

View albrow's full-sized avatar

Alex Browne albrow

  • Harmony Intelligence
  • San Francisco, CA
View GitHub Profile
{
"alpha_number": 0.6321205588285577,
"diff_number": 18446744073709552000,
"instant_number": 18467629448269930000,
"level": "debug",
"msg": "abnormal rate inside go-flow-metrics",
"myPeerID": "16Uiu2HAm2qhk786g2KC5KvhHqtwot2hDbCLtwN82MJUrXDAAWzYU",
"newTotal_number": 0,
"oldRate_number": 0,
"oldTotal_number": 818,
@albrow
albrow / GoSublime.sublime-settings
Last active December 14, 2017 00:12
GoSublime Settings to Run go vet, errcheck, and go install
{
// enable comp-lint, this will effectively disable the live linter
"comp_lint_enabled": true,
// list of commands to run
"comp_lint_commands": [
// run errcheck to catch ignored error return values
{
"cmd": ["errcheck"]
},
@albrow
albrow / gist:ad21d103c507c380a2e7
Created April 18, 2015 23:18
Non-Blocking ReadAll function for Humble
// ReadAll expects a pointer to a slice of poitners to some concrete type
// which implements Model (e.g., *[]*Todo). GetAll will send a GET request to
// a RESTful server and scan the results into models. It expects a json array
// of json objects from the server, where each object represents a single Model
// of some concrete type. It will use the RootURL() method of the models to
// figure out which url to send the GET request to.
func ReadAll(models interface{}) <-chan error {
// We expect some pointer to a slice of models. Like *[]Todo
// First Elem() givew us []Todo
// Second Elem() gives us Todo
@albrow
albrow / main.go
Created October 22, 2014 04:30
An way of specifying that a route should render a specific template in wade.go (Concept only)
package main
// ...
func main() {
// ...
app.Router.Handle("/", wade.Page{
Id: "pg-home",
Title: "Home",
Template: "templates/home.html",
@albrow
albrow / home_controller.go
Created October 22, 2014 04:15
An alternative way of specifying controllers for wade.go that doesn't rely on string identifiers. (Concept only)
package controllers
// ...
func Home(p *wade.PageScope) error {
// ...
}
@albrow
albrow / main.go
Last active August 29, 2015 14:07
An alternative way of initializing wade.go applications. (Concept only)
package main
// ...
func main() {
// Create a new wade app.
app := wade.NewApp()
app.BasePath: "/web"
// Set up routing
@albrow
albrow / gist:d87db8b9e953606c6bf6
Created August 22, 2014 15:02
stellar static_path_find
{
"method": "static_path_find",
"params": [
{
"source_account": "ghcbddeFMRKW2UJJPwCVonfjoM8u8FKLpP",
"destination_account": "gr7GbiGNxK3vaiFEZEZiDJ3pU8qAwCy9H",
"destination_amount": {
"currency": "USD",
"value": "5",
"issuer": "g4h9WMQ6gbFHLAnVHZy7pEPueHbdLMXT8u"
@albrow
albrow / gist:a2ad454af934a85f3ae7
Created July 29, 2014 21:35
OneName Verification
Verifying myself: My Bitcoin username is +albrow. https://onename.io/albrow
@albrow
albrow / mark.sh
Last active June 12, 2022 00:59
Bash Bookmarks
###
# A bookmarking implementation based on
# http://jeroenjanssens.com/2013/08/16/quickly-navigate-your-filesystem-from-the-command-line.html
# and https://news.ycombinator.com/item?id=6229001
# and https://gist.github.com/albrow/10684515
#
# put this in ~/.bash_profile or ~/.bashrc
#
# USAGE:
# mark <name>
@albrow
albrow / confirm.go
Last active April 16, 2023 03:03
Go (golang): How to ask for user confirmation via command line
import (
"fmt"
"log"
"os"
"sort"
)
// askForConfirmation uses Scanln to parse user input. A user must type in "yes" or "no" and
// then press enter. It has fuzzy matching, so "y", "Y", "yes", "YES", and "Yes" all count as
// confirmations. If the input is not recognized, it will ask again. The function does not return