Search results for: scala

Video: Autolifts in Scala

// 01.06.2016 // Open Source

Last month at the New York Scala Meetup, Owein Reese introduced the Autolifts library in Scala. Autolifts takes advantage of Scala’s advanced type system to yield a set of abstractions for working with complex objects. In this talk, Owein introduces the concept of lifting and why you might want to incorporate this pattern in your code. The library takes that concept, mixes it with dependent types and implicit extensions to automatically lift in a type safe manner. These extensions simplify code, reducing boilerplate while making code more easily understood and maintained. Thanks to Hakka Labs for recording and producing the video of this talk.

Functional Error Accumulation in Scala

This post originally appeared on longcao.org in July 2015 and is republished below. In a previous post, we dipped into what it means to handle application errors functionally in Scala and took a brief overview of the types that can be used to accomplish that. A common theme with those error handling types like Try  or the disjunctions is that they all fail fast: only the first error in a purely functional call chain is returned. Let’s keep the functional hype train going and explore more of the goodies that we can bring into our application logic. Stepping back from the […]

Easing into Functional Error Handling in Scala

This post was originally published on longcao.org in June of 2015 and is republished below. One of the biggest selling points of Scala is being able to transition from Java to the world of functional programming. What this means, practically speaking, is that you and/or your team can start off writing very Java-like Scala that already works, treating it as a “better Java” with more goodies and less verbose syntax. But why stop at that? We can do better by adopting more typesafe functional concepts, and the best part is we can ease ourselves into at least one practical application […]

How to write better multi-threaded code using Akka, Futures, and For-Comprehension

Here at MediaMath, we use Scala to help our API engine handle thousands of concurrent requests per second. We chose Scala because it is designed for use in concurrent, asynchronous, and distributed environments. After all, according to Amdahl’s Law, which states that the more parallel code you have, the more you can benefit from using a modern multi-core processor. But building a high performance system in Scala is always an interesting task. Parallel and concurrent code is historically difficult to write and prone to errors. In this post, I want to share some techniques I’ve learned that will hopefully help […]

On the road with MediaMath: O’Reilly Software Architecture, Fluent, & more!

// 03.13.2015 // Culture

We are taking our technology on the road this spring! MediaMath’s engineering team will be presenting at conferences and hosting events across the country – from Boston to San Francisco, and New York to Chicago. If you’re planning to attend any of the events below, please let us know. We’d love to meet you! Hit us up on twitter (@mediamath) or in the comments below. March 17-19, 2015 O’Reilly Software Architecture Conference  Boston, MA MediaMath’s VP of Engineering Edward Fagin will be presenting “Breaking the logjam: From batch to streaming,” a case study of how MediaMath, a digital marketing technology platform, was able to […]

Cut your run time from minutes to seconds with HBase and Algebird

// 02.04.2015 // Data

[Note: Code for this demo is available here: https://github.com/MediaMath/hbase-coprocessor-example] At MediaMath, our Hadoop data processing pipelines generate various semi-aggregated datasets based on the many terabytes of data our systems generate daily. Those datasets are then imported to a set of relational SQL databases, where internal and external clients query them in real time. When a query involves extra levels of aggregation on an existing dataset at run time, it starts to hog server resources, slowing down runtime. However, we have been able to reduce the query time on these terabyte–scale datasets from minutes to seconds by using a combination of […]

Page 1 of 212