Skip to content

Instantly share code, notes, and snippets.

Avatar

Alex Browne albrow

View GitHub Profile
View high_rate_logs
{
"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 Dec 14, 2017
GoSublime Settings to Run go vet, errcheck, and go install
View GoSublime.sublime-settings
{
// 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 Apr 18, 2015
Non-Blocking ReadAll function for Humble
View gist:ad21d103c507c380a2e7
// 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 Oct 22, 2014
An way of specifying that a route should render a specific template in wade.go (Concept only)
View main.go
package main
// ...
func main() {
// ...
app.Router.Handle("/", wade.Page{
Id: "pg-home",
Title: "Home",
Template: "templates/home.html",
@albrow
albrow / home_controller.go
Created Oct 22, 2014
An alternative way of specifying controllers for wade.go that doesn't rely on string identifiers. (Concept only)
View home_controller.go
package controllers
// ...
func Home(p *wade.PageScope) error {
// ...
}
@albrow
albrow / main.go
Last active Aug 29, 2015
An alternative way of initializing wade.go applications. (Concept only)
View main.go
package main
// ...
func main() {
// Create a new wade app.
app := wade.NewApp()
app.BasePath: "/web"
// Set up routing
@albrow
albrow / gist:d87db8b9e953606c6bf6
Created Aug 22, 2014
stellar static_path_find
View gist:d87db8b9e953606c6bf6
{
"method": "static_path_find",
"params": [
{
"source_account": "ghcbddeFMRKW2UJJPwCVonfjoM8u8FKLpP",
"destination_account": "gr7GbiGNxK3vaiFEZEZiDJ3pU8qAwCy9H",
"destination_amount": {
"currency": "USD",
"value": "5",
"issuer": "g4h9WMQ6gbFHLAnVHZy7pEPueHbdLMXT8u"
View gist:a2ad454af934a85f3ae7
Verifying myself: My Bitcoin username is +albrow. https://onename.io/albrow
@albrow
albrow / mark.sh
Last active Aug 29, 2015
Bash Bookmarks
View mark.sh
###
# 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 Jun 29, 2021
Go (golang): How to ask for user confirmation via command line
View confirm.go
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