Skip to content

Instantly share code, notes, and snippets.

# Copyright 2012 Erlware, LLC. All Rights Reserved.
#
# This file is provided 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
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
## Functional Track talks from NDC London 2014
### Wednesday 2014-12-3
* [F-Words - Functional Programming Terms With More Than Four Letters - Calvin Bottoms](http://www.ndcvideos.com/#/app/video/2191)
* [Reactive Game Development For The Discerning Hipster - Bodil Stokke](http://www.ndcvideos.com/#/app/video/2221)
* [Erlang Patterns Matching Business Needs -- Torben Hoffman](http://www.ndcvideos.com/#/app/video/2211)
* [Equivalence Classes, xUnit.net, FsCheck, Property-Based Testing -- Mark Seemann](http://www.ndcvideos.com/#/app/video/2291)
* [Functional programming design patterns -- Scott Wlaschin](http://www.ndcvideos.com/#/app/video/2311)
* [Write Your Own Compiler in 24 Hours -- Phillip Trelford](http://www.ndcvideos.com/#/app/video/2281)
@bryanhunter
bryanhunter / Handy.exs
Created January 11, 2015 15:29
Growing bag of handy short functions and one-liners in Elixir
# Show all Pids on local node with at least one message queued in its mailbox
Process.list |> Enum.filter(&(Process.info(&1)[:message_queue_len] >0))
@bryanhunter
bryanhunter / install-r14b02-on-11.04.sh
Created May 24, 2011 05:41
Install Erlang/OTP 14B02 on a clean Ubuntu 11.04 box
sudo apt-get -y install build-essential m4 libncurses5-dev libssh-dev unixodbc-dev libgmp3-dev libwxgtk2.8-dev libglu1-mesa-dev fop xsltproc default-jdk
sudo mkdir -p /src/erlang
cd /src/erlang
sudo wget http://www.erlang.org/download/otp_src_R14B02.tar.gz
sudo tar -xvzf otp_src_R14B02.tar.gz
sudo chmod -R 777 otp_src_R14B02
cd otp_src_R14B02
sudo ./configure
sudo make
sudo make install
@bryanhunter
bryanhunter / fizzbizz.erl
Created June 6, 2011 21:04
Erlang FizzBuzz with an eunit test
-module(fizzbuzz).
-export([playto/1]).
-include_lib("eunit/include/eunit.hrl").
playto(Upper) ->
[case
{X rem 3, X rem 5} of
{0, 0} -> fizzBuzz;
{0, _} -> fizz;
@bryanhunter
bryanhunter / gist:1118609
Created August 1, 2011 17:42
LINQ partition (specialization of GroupBy)
// @hammett: "Linq doesn't have a Partition operation that returns two sets? (filtered/complement).. sad!"
// GroupBy can be seen as a partition. We specialize it to have exactly two groups:
public static class PartitionExtension
{
public static Tuple<IEnumerable<T>, IEnumerable<T>> Partition<T>(this IEnumerable<T> enumeration, Func<T, bool> criteria)
{
var whole = enumeration.GroupBy(criteria);
@bryanhunter
bryanhunter / .emacs
Created August 25, 2011 22:53
My ".emacs" file hooks in my custom Erlang rig settings
(add-to-list 'load-path "~/ErlangRigEmacsConfig")
(require 'my-config)
@bryanhunter
bryanhunter / .gitconfig
Created September 8, 2011 20:37
My .gitconfig file
[core]
autocrlf=true
editor = "emacs"
[user]
name = Bryan Hunter
[color]
status = auto
branch = auto
@bryanhunter
bryanhunter / bryanhunter-bio.md
Created October 1, 2011 15:30
Bryan Hunter's speaker bio

Bryan Hunter is a geek, a founding partner of Firefly Logic and the president of the Nashville .NET User Group. Bryan is obsessed with Lean, functional programming (Erlang, C# and F#), CQRS and Caliburn.Micro. He has been speaking on each of these subjects tirelessly for years at meetups, bars, user groups, bars, regional conferences and bars. You can say hi to Bryan on Twitter (@bryan_hunter), read his blog at http://codeswamp.com, and see what Firefly Logic is all about here:http://fireflylogic.com

@bryanhunter
bryanhunter / gist:1256187
Created October 1, 2011 15:31
Session "Windows Metro + CQRS + Erlang: antiheroes FTW!"

Three anti-hero technologies (Microsoft's new Windows 8 Metro tablets, the Command-Query Responsibility Separation architectural pattern, and the opensource functional programming language Erlang) snap together to form a delightful, maintainable and scalable system. It's not a mainstream or obvious choice, but I'll show you in an opensource end-to-end application how they fit. This will be my technology stack of choice for years to come, and I look forward to showing you why.