Scalawags, not the podcast you come to for facts
Scalawags, the podcast that brings the Internet to its knees with double-digit live-viewing numbers!
with special guest Viktor Klang, man of Akka
youtube: https://www.youtube.com/watch?v=x9IxmgJNLbg
- Viktor loses up here what he gains down there
- the rapture came and only Daniel was chosen
- Akka is a big deal
- http://akka.io
- it's five years old
- Jonas Bonér started it...
- ...but Viktor made the first pull request
- Lift was the matchmaker
- revealed: contents of that first PR!!
- on GitHub, Akka started the day after Node.JS started
- main inspiration: Erlang
- money quote: "concurrency is just a specialization of distributed computing"
- Akka vs. Scala-standard-library actors
- Akka resembles Erlang less?
- why the rewrite for 2.0?
- supervision!
- actor systems
- proper classloader handling
- internal architectural issues
- Akka HTTP is what used to be Spray
- http://spray.io
- but fused with Akka Streams
- http://typesafe.com/blog/typesafe-announces-akka-streams
- and providing a Java API
- note it's not actually released yet
- preview announcement: https://typesafe.com/blog/akka-http-preview
- HTTP "gateway" or "shim" to actors
- Akka HTTP vs. Finagle
- COBOL on Cogs, Akka on Airplanes
- http://www.coboloncogs.org
- messages are just Any. will this change? how do you type actors?
- actors and the active object design pattern
- http://en.wikipedia.org/wiki/Active_object
- the first Akka had typed actors, using AOP
- later Viktor rewrote it to use JDK proxies
- but, performance penalty
- Roland Kuhn has used macros to type messages and responses
- issues: thread-safety of reflection? performance? Java interop?
- research on typed actors at EPFL?
- Marlow and Wadler's paper on typing Erlang:
- https://synrc.com/publications/cat/Functional%20Languages/Erlang/erlang.pdf
- recent discussions on using marker interfaces to associate message types with actors
- Josh: perhaps actors will stay untyped but we'll build higher-level typed APIs over top of them
- for example, Akka Streams
- analogy with type erasure in the VM itself?
- nominal typing leads to chicken-or-egg problems with serialization and class loaders
- Tim Perrett wants some compare-and-contrast on this
- https://github.com/scalaz/scalaz-stream
- Dick has struggled with scalaz-stream's handling of large files
- so e.g. https://github.com/scalaz/scalaz-stream/issues/51 and https://github.com/scalaz/scalaz-stream/issues/136, with prospective fixes happening on https://github.com/scalaz/scalaz-stream/tree/lazy
- scalaz-stream runs on tasks, Akka Streams uses actors
- how is resource cleanup handled?
- Viktor disclaims expertise on scalaz-stream, and says it's "too early" to compare
- for now the Akka Streams API is intentionally small
- an early major concern is proper support for backpressure
- asynchronous, non-blocking backpressure
- "every stream X will have at most N items in flight"
- listener question about what problem spaces streams address and how supervision of stream actors works
- mining bitcoins with Akka on Raspberry Pi?!
- is Akka Streams usable from Java?
- are Akka Streams usable from Java?
- yes. does that constrain the design?
- what proportion of Akka users are using it from Java?
- a lot. could even be 50/50
- "the best way of gaining traction [...] for any technology, is to be open, and not to be judgmental"
- Akka for Python?
- https://github.com/jodal/pykka is Akka-inspired
- something similar for .NET exists?
- what are the implications of Java 8 for Akka?
- Dick: how do you stay in touch with what users want?
- culture!
- putting a high priority on documentation and helping newcomers
- treat root causes, not just symptoms
- user question: what about security if some nodes are untrusted?
- no man is an island, but actors are
- JMX is roundly made fun of
- stack traces >> core dumps
- async "stack traces" at the JVM level? want.
- Viktor's thoughts on life, the universe, and everything
- what is the optimum thread pool size of an unladen African swallow?
- are actors people?
- moving past Akka's notorious TerminatedChildrenDungeon scandal
- behind "the one who walks the bubbles of space-time"
- aka the Flying Spaghetti Actor
- Captain Deadlock Dreadlock
- try Akka! you have the power.