Skip to content

Instantly share code, notes, and snippets.

View kjnilsson's full-sized avatar

Karl Nilsson kjnilsson

View GitHub Profile
@kjnilsson
kjnilsson / test.core
Created April 21, 2017 14:07
core erlang apply curiosity
'add'/2 =
fun (_a0,_b0) ->
call 'erlang':'+'(_a0,_b0)
'addFive'/0 =
fun () ->
let <_a0> = 5
in fun (_b0) ->
erlang.mk:6496: warning: overriding recipe for target 'show-ERL_LIBS'
/Users/knilsson/code/rabbitmq/rabbitmq-public-umbrella-master/deps/rabbit_common/mk/rabbitmq-tools.mk:80: warning: ignoring old recipe for target 'show-ERL_LIBS'
erlang.mk:6499: warning: overriding recipe for target 'show-ERLC_OPTS'
/Users/knilsson/code/rabbitmq/rabbitmq-public-umbrella-master/deps/rabbit_common/mk/rabbitmq-tools.mk:83: warning: ignoring old recipe for target 'show-ERLC_OPTS'
erlang.mk:6502: warning: overriding recipe for target 'show-TEST_ERLC_OPTS'
/Users/knilsson/code/rabbitmq/rabbitmq-public-umbrella-master/deps/rabbit_common/mk/rabbitmq-tools.mk:86: warning: ignoring old recipe for target 'show-TEST_ERLC_OPT
Checking whether the PLT /Users/knilsson/code/rabbitmq/rabbitmq-public-umbrella-master/deps/rabbitmq_shovel/.rabbitmq_shovel.plt is up-to-date... yes
Proceeding with analysis...
Elixir.RabbitMQ.CLI.Ctl.Commands.DeleteShovelCommand.erl:19: Callback info about the 'Elixir.RabbitMQ.CLI.CommandBehaviour' behaviour is not available
Elixir.RabbitMQ.CLI.Ctl.Commands.DeleteShovelCommand.erl:53: Function run/2 has no local return
Elixir.RabbitMQ.CLI.Ctl.Commands.ShovelStatusCommand.erl:19: Callback info about the 'Elixir.RabbitMQ.CLI.CommandBehaviour' behaviour is not available
Elixir.RabbitMQ.CLI.Ctl.Commands.ShovelStatusCommand.erl:54: Function run/2 has no local return
Unknown functions:
'Elixir.RabbitMQ.CLI.Core.Helpers':cli_acting_user/0
'Elixir.RabbitMQ.CLI.DefaultOutput':output/3
done in 0m1.36s
@kjnilsson
kjnilsson / fsharp_rabbit_consume.fsx
Created April 16, 2017 09:53
RabbitMQ fsharp helpers
let consume (m: IModel) queue f =
let consumer =
{ new DefaultBasicConsumer(m) with
member x.HandleBasicDeliver(consumerTag,
deliveryTag,
redelivered,
exchange,
routingKey,
props,
body) =
@kjnilsson
kjnilsson / async_consumer.cs
Last active January 24, 2021 07:17
RabbitMQ .NET client async consumer example
using System;
using System.Threading.Tasks;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
@kjnilsson
kjnilsson / ling2xml.fs
Created April 21, 2016 15:25
useful active patterns for link2xml
let xname s = XName.Get s
let xn s = XName.Get s
let xe n (v: obj) = new XElement(xn (msbuildns + n), v)
let xa n (v: obj) = new XAttribute(xn n, v)
let (|Head|_|) =
Seq.tryFind (fun _ -> true)
let (|Value|) (xe: XElement) =
@kjnilsson
kjnilsson / operations.fsx
Created December 5, 2015 11:13
record or functions
type Ops =
{ Do1: string -> int
Do2: int -> string }
let myFunc { Do1 = do1 } s =
do1 s
@kjnilsson
kjnilsson / handy.fs
Last active April 6, 2018 17:49
my current favourite handy fsharp helpers
//invaluable for all those Choice<'a, exn> flows
let exnf f = Printf.ksprintf (fun s -> exn s) f
//combine paths
let (</>) x y = System.IO.Path.Combine(x, y)
//allows you to pattern match on values in the current scope rather than just literals
let (|Eq|_|) expected value =
if expected = value then Some ()
else None
@kjnilsson
kjnilsson / gist:77f3102321a525a83878
Created July 8, 2015 12:02
fluent-plugin-riemann
2015-07-08 12:56:01 +0100 [warn]: temporarily failed to flush the buffer. next_retry=2015-07-08 12:57:09 +0100 error_class="NoMethodError" error="undefined method `&' for 1436356479.1659427:Float" instance=70010588238460
2015-07-08 12:56:01 +0100 [warn]: /usr/lib/fluent/ruby/lib/ruby/gems/1.9.1/gems/beefcake-0.5.0/lib/beefcake/buffer/encode.rb:86:in `append_uint64'
2015-07-08 12:56:01 +0100 [warn]: /usr/lib/fluent/ruby/lib/ruby/gems/1.9.1/gems/beefcake-0.5.0/lib/beefcake/buffer/encode.rb:61:in `append_int64'
2015-07-08 12:56:01 +0100 [warn]: /usr/lib/fluent/ruby/lib/ruby/gems/1.9.1/gems/beefcake-0.5.0/lib/beefcake/buffer/encode.rb:13:in `append'
2015-07-08 12:56:01 +0100 [warn]: /usr/lib/fluent/ruby/lib/ruby/gems/1.9.1/gems/beefcake-0.5.0/lib/beefcake.rb:102:in `block in encode!'
2015-07-08 12:56:01 +0100 [warn]: /usr/lib/fluent/ruby/lib/ruby/gems/1.9.1/gems/beefcake-0.5.0/lib/beefcake.rb:90:in `each'
2015-07-08 12:56:01 +0100 [warn]: /usr/lib/fluent/ruby/lib/ruby/gems/1.9.1/gems/beefcake-0.5.0/li
@kjnilsson
kjnilsson / gist:f455107d1c5086d87a11
Created April 13, 2015 12:54
riemann - exclude by tag
(expired
(where* (fn [e] (not (tagged-any? ["iis"] e)))
...))