Archive of stories published by Keep It Up

WebSockets vs. Regular Sockets

In a recent blog post we benchmarked WebSockets vs. regular old Http requests. Today we will go in a different direction on the network stack and benchmark WebSockets vs. regular old TCP sockets, all on the JVM.


From word2vec to doc2vec: an approach driven by Chinese restaurant process

Google’s word2vec project has created lots of interests in the text mining community. It’s a neural network language model that is “both supervised and unsupervised”. Unsupervised in the sense that you…


Scala macro annotations: a real-world example

TL;DR: github.com/kifi/json-annotation. Also, sign up for Kifi.

Scala macros can be a great tool to reduce boilerplate code. For example, Play provides macros for easily creating Json serializers. Given a case class, it is…


Route binding custom classes in Play! Framework

One of Play!’s primary features is typed routing, which enables you to use strong types from your controllers. Buried in Play’s documentation (to the best of my knowledge, not linked anywhere) is an example of how to use your own types in routes…


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 specifically show how…


Automated Backup and Restoration of Lucene Indices with Amazon S3

At FortyTwo, we rely on a main database hosted on RDS to store Kifi‘s critical user data. For instance, every keep (a user-page pair) is saved in there after the Kifi browser extension that sits on your computer sent…

These were the top 10 stories published by Keep It Up; you can also dive into yearly archives: 2013, 2014, 2015, and 2016.