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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## 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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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)) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// @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); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(add-to-list 'load-path "~/ErlangRigEmacsConfig") | |
(require 'my-config) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[core] | |
autocrlf=true | |
editor = "emacs" | |
[user] | |
name = Bryan Hunter | |
[color] | |
status = auto | |
branch = auto |
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.
OlderNewer