Quantcast
Channel: Kifi Engineering Blog » Andrew Conner
Browsing latest articles
Browse All 15 View Live

Image may be NSFW.
Clik here to view.

Separate multi-project deployment packages in Play! Framework

Play Framework projects can build from several Play / sbt projects. A common use case is to keep code modular and composable. The official documentation shows how to combine Play projects, but does not...

View Article


Using Websockets with Play! talk

We use websockets for our clients because we care deeply about a fast, responsive user experience. At the Play! Framework meetup (based near us in Mountain View, CA), we presented an introduction to...

View Article


Dealing with top-level Actor exceptions

Akka actors are great for reactively and asynchronously handling work loads. Typically, for larger actor systems, it’s best to use a Supervisor to handle unexpected failure. However, for top-level...

View Article

Image may be NSFW.
Clik here to view.

Future goodies and helpers: SafeFuture, TimeoutFuture, CancelableFuture

Related to our previous post about catching top-level Actor exceptions, we also have a few utility classes for working with Futures. These do things such as offer baked-in exception logging, establish...

View Article

Database patterns in Scala

This is the first in a three part series about our database access layer and patterns we’ve adopted (part 2: Clean and re-usable Slick modules). We use Slick to type-check and build our queries, but...

View Article


Image may be NSFW.
Clik here to view.

Emojis in Play! test logs

Several months ago, Play! secretly added emoji support in the test logs. To add this revolutionary feature to your project, throw play.Project.emojiLogs in your project’s settings. James Roper cautions...

View Article

Clean and re-usable Slick modules

This is the second post in a three part series about our database access layer and patterns we’ve adopted. If you missed the first, read about some of the patterns we use when working with our...

View Article

Hooking in to Play! Framework’s sbt plugin lifecycle

In the Play documentation, we see how to hook in to the Play application’s life cycle with Global’s onStart, onStop, etc. However, sometimes you want to hook into the Play sbt plugin lifecycle for...

View Article


Image may be NSFW.
Clik here to view.

Typesafe case study on Kifi

We were happy to participate in a case study that Typesafe wrote on Kifi. Specifically, they were interested in how we used the Typesafe Platform to build the reactive and scalable platform that powers...

View Article


Image may be NSFW.
Clik here to view.

Dynamic sizing content in Keep cards

For our latest design of Kifi.com, we’ve moved to a graphical, content-centric view for keeps. Each keep appears as a card that contains the title, description, primary image, and metadata about the...

View Article
Browsing latest articles
Browse All 15 View Live