What is a for comprehension really? + Async web service clients with Spray


Details
This month, we're going to kick off a new format for iascala meetups. We'll now have two awesome talks at each meetup: first up will be a 30-min Fundamentals talk, followed by a 1-hr In-Depth talk. Because two is better than one. Luke Amdor (https://twitter.com/rubbish) and Zach Cox (https://twitter.com/zcox) will be speaking this month; their talk descriptions are below.
We're also going to add a new venue into the rotation: Banno's Des Moines office. September's meetup will be at Banno DSM, and we will most likely alternate between there and the Pongr office.
Fundamentals: What is a for comprehension really?
So you might have used a for loop in many other languages, but when you started to learn and use Scala, you found out that Scala's for loop is a lot different. And that's only scratching the surface. We're going to unravel what that for comprehension is really doing and how you can leverage some of the interesting things it can do to make your code concise and readable.
In-Depth: Async web service clients with Spray
At Pongr, we use the Facebook, Instagram and Twitter (and many more) web service APIs a lot. In the past we've just used whatever Java clients exist for these APIs. This is annoying for (at least) two reasons: they don't take advantage of Scala functionality (requiring us to write adapters) and they use synchronous blocking I/O. Recently we've been creating our own clients for these APIs using spray-client and spray-json. This results in a great developer experience since we can use native Scala features, and everything uses asynchronous non-blocking I/O. We'll go through the foundations of spray-client and see how this helps create beautiful Scala clients for HTTP-based APIs.

What is a for comprehension really? + Async web service clients with Spray