Skip to content

Instantly share code, notes, and snippets.

Michael Hendricks mndrix

Block or report user

Report or block mndrix

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
@mndrix
mndrix / sms.go
Last active Nov 5, 2018
SMS over IRC
View sms.go
// A proxy for sending/receiving SMS via IRC
//
// This code is part of our family IRC server whose code is available at
// https://gist.github.com/mndrix/7947009178e4a18c247b4bd25821661f
//
// This file won't compile by itself because it's only one file from
// my larger family server (movie hosting, Asterisk dialplan, Git
// hosting, personal assistant, etc).
//
// Copyright 2018 Michael Hendricks
@mndrix
mndrix / irc.go
Last active Dec 28, 2019
Family IRC server
View irc.go
// My small, family IRC server
//
// This file won't compile by itself because it's only one file from
// my larger family server (movie hosting, Asterisk dialplan, Git
// hosting, personal assistant, etc).
//
// Users authenticate via NICK and PASS. The USER is interpreted as a
// "device" name. That allows each user to connect from multiple
// devices simultaneously while still appearing as only one nick in
// channels. Each nick-device combo has a queue of messages which
@mndrix
mndrix / read-race.go
Created Mar 3, 2017
Can multiple goroutines read from a single map?
View read-race.go
package main
// "go run -race read-race.go"
import (
"fmt"
"sync"
)
func main() {
@mndrix
mndrix / sample.txt
Created Jan 6, 2017
SWI-Prolog V7.3.34 pack_install sample
View sample.txt
Sampling process 43655 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling swipl (pid 43655) every 1 millisecond
Process: swipl [43655]
Path: /Users/michael/lib/swipl-7.3.34/bin/x86_64-darwin15.6.0/swipl
Load Address: 0x101c2e000
Identifier: swipl
Version: 0
Code Type: X86-64
Parent Process: bash [41679]
@mndrix
mndrix / tmux.conf
Created Dec 20, 2016
tmux config for my workspace
View tmux.conf
# main: window where I spend most of my time
tmux rename-window main
# shells: window where spare shells live (see C-n and C-p)
new-window -d
rename-window -t 2 shells
split-window -d -t shells
split-window -d -t shells
@mndrix
mndrix / collatz.eve
Created Dec 9, 2016
Collatz Conjecture in Eve
View collatz.eve
# Collatz Conjecture
## Description
The Collatz Conjecture deals with an integer #`n` and the #`steps` it takes to reach 1.
```
commit
[#n]
[#step]
```
@mndrix
mndrix / hello.ama
Last active Oct 31, 2016
Hello Amalog
View hello.ama
use("amalog.org/std/io", Io); # See Note_use
main(W) {
Io.printf(W, "Hello, world!\n");
}
### Note_use:
`use/2` is a macro that expands into
@mndrix
mndrix / README.md
Last active Oct 28, 2016
Abandoned attempt at a nice Go package for PayPal's NVP API. That API is too much of an abomination to proceed
@mndrix
mndrix / append.go
Last active Nov 2, 2016
Compiling Prolog to Go
View append.go
package prolog
/*
%% append(list,list,list)
%% append(+,+,+) is semidet.
%% append(+,+,-) is det.
%% append(+,-,+) is semidet.
%% append(+,-,-) is det.
%% append(-,+,+) is multi.
%% append(-,+,-) is multi.
@mndrix
mndrix / currency.pl
Created Oct 7, 2016
PriceCharting's Prolog library for currency amounts
View currency.pl
:- module(currency, [ atom_currency/2
, codes_currency/2
, currency//1
]).
:- use_module(library(clpfd)).
:- use_module(library(dcg/basics), [integer//1]).
:- use_module(library(delay)).
:- use_module(library(error)).
You can’t perform that action at this time.