Skip to content

Instantly share code, notes, and snippets.

@mbarton
mbarton / TestServer.scala
Created July 21, 2014 16:51
Akka HTTP - nested flow (still hangs)
import java.nio.charset.Charset
import akka.actor.{Actor, ActorSystem, Props}
import akka.http.Http
import akka.http.model.{HttpResponse, HttpRequest}
import akka.io.IO
import akka.stream.scaladsl.Flow
import akka.stream.{FlowMaterializer, MaterializerSettings, Transformer}
import akka.util.ByteString
@mbarton
mbarton / log.txt
Created July 18, 2014 10:17
Akka HTTP - log spam
[INFO] [07/18/2014 11:06:01.692] [default-akka.actor.default-dispatcher-7] [akka://default/user/IO-HTTP/flow-1-1-map/flow-4-2-splitWhen/$a] Message [akka.stream.actor.ActorConsumer$OnComplete$] from Actor[akka://default/user/IO-HTTP/flow-1-1-map/flow-4-2-splitWhen#-1685653869] to Actor[akka://default/user/IO-HTTP/flow-1-1-map/flow-4-2-splitWhen/$a#-1803432808] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [07/18/2014 11:06:01.692] [default-akka.actor.default-dispatcher-7] [akka://default/user/IO-HTTP/flow-1-1-map/flow-4-3-map/flow-7-1-prefixAndTail/$a] Message [akka.stream.actor.ActorConsumer$OnComplete$] from Actor[akka://default/user/IO-HTTP/flow-1-1-map/flow-4-3-map/flow-7-1-prefixAndTail#-1439727596] to Actor[akka://default/user/IO-HTTP/flow-1-1-map/flow-4-3-map/flow-7-1-prefixAndTail/$a#-14470719] was not delivered. [2] dead letters encountered. This loggin
@mbarton
mbarton / TestServer.scala
Last active August 29, 2015 14:04
Akka HTTP - flatten stream fun
import java.nio.charset.Charset
import akka.actor.{Actor, ActorSystem, Props}
import akka.http.Http
import akka.http.model.HttpMethods.POST
import akka.http.model.HttpResponse
import akka.io.IO
import akka.stream.scaladsl.Flow
import akka.stream.{FlattenStrategy, FlowMaterializer, MaterializerSettings}
@mbarton
mbarton / TestServer.scala
Created July 16, 2014 14:46
Akka HTTP deadlock
import akka.actor.{Actor, ActorSystem, Props}
import akka.http.Http
import akka.http.model.HttpMethods.POST
import akka.http.model.{HttpRequest, HttpResponse}
import akka.io.IO
import akka.stream.scaladsl.Flow
import akka.stream.{FlowMaterializer, MaterializerSettings}
import scala.concurrent.Future
import scala.concurrent.duration._
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>raken</artifactId>
<version>0.0.1-SNAPSHOT</version>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
<rules>
<rule name="nodemon">
<targets>
<target>/geneos/gateway/directory/probe[(@name=&quot;probe&quot;)]/managedEntity[(@name=&quot;entity&quot;)]/sampler[(@name=&quot;nodemon&quot;)][(@type=&quot;&quot;)]/dataview[(@name=&quot;nodemon&quot;)]/rows/row/cell[(@column=&quot;percentCPU&quot;)]</target>
</targets>
<priority>1</priority>
<block>
<if>
<gt>
<dataItem>
<sampler name="nodemon">
<plugin>
<processes>
<processes>
<process>
<data>
<alias>
<data>ClusterMain</data>
</alias>
</data>
import akka.actor.RootActorPath
import akka.cluster.ClusterEvent._
import akka.cluster.ClusterEvent.CurrentClusterState
import akka.cluster.ClusterEvent.MemberRemoved
import akka.cluster.ClusterEvent.MemberUp
import scala.collection.immutable.SortedSet
import scala.collection.mutable.{Map => MutableMap}
import akka.actor._
import akka.cluster.{MemberStatus, Cluster, Member}
import scala.Some
@mbarton
mbarton / gist:5815934
Last active December 18, 2015 17:08
rdtsc fun
// What the fuck does this do?
// We want to use the rdtsc instruction for timing
// It's basically the number of clock cycles on this core since the last RESET
// First up, don't use this for timing! See http://en.wikipedia.org/wiki/Time_Stamp_Counter for why
// The rdtsc is a 64 bit number available from a 32 bit processor
// So it is implemented by putting the low and high parts of the number in two seperate registers
// We define two C variables for these registers (lo and hi)
uint32_t lo, hi;
@mbarton
mbarton / Web Audio Cue Tests
Created May 8, 2013 18:47
Page to reproduce weirdness where the input to the cue node is heard on all 4 channels coming out of the merger node
<head>
<title>Cue Test</title>
</head>
<body>
<button id="main">Start Main</button>
<button id="cue">Start Cue</button>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
var ctx = new webkitAudioContext();
ctx.destination.channelCount = 4;