CSS Masonry Layout Attempts

I spent two days investigating this and could not find a solution that worked. Eventually, I gave up and added the Masonry Javascript library. My two attempts were as follows: Using CSS Columns CSS Columns enabled an easy, powerful way to spread page summaries across multiple columns. Furthermore, you can prevent page summaries from being broken up in the middle by using column-break-inside: avoid;. However, I had no way to order the page summaries dynamically such that the most recent summaries were at the top (from left to right) and older summaries were found further down.

Read More

Overview of the Spark Kernel Client Library

In this third and final part of the Spark Kernel series (part 1, part 2), we will focus on the client library, a Scala-based library used to interface with the Spark Kernel. This library enables Scala applications to quickly communicate with a Spark Kernel without needing to understand ZeroMQ or the IPython message protocol. Furthermore, using the client library, Scala applications are able to treat the Spark Kernel as a remote service, meaning that they can run separately from a Spark cluster and use the kernel as a remote connection into the cluster.

Redirect

Spark Kernel Architecture

In the first part of the Spark Kernel series, we stepped through the problem with enabling interactive applications against Apache Spark and how the Spark Kernel solved this problem. This week, we will focus on the Spark Kernel’s architecture: how we achieve fault tolerance and scalability using Akka, why we chose ZeroMQ with the IPython/Jupyter message protocol, what the layers of functionality are in the kernel (see figure 1 below), and elaborate on an interactive API from IPython called the Comm API.

Redirect

How to enable interactive applications against Apache Spark

Last December, IBM open sourced a project called the Spark Kernel, an application focused on interactive usage of Apache Spark. This project addresses a problem we encountered when trying to migrate a Storm-based application to Apache Spark, “How do we enable interactive applications against Apache Spark?”

Redirect

tmux with XMonad Bindings

The Reason I’ve been playing around with tmux a lot lately and have come to like it quite a lot for the panes and windows - something I used quite a lot with my XMonad setup on my old Fujitsu laptop. The panes act as my individual terminals with which I can write code, read documentation, chat on IRC (using weechat or irssi), play music, etc. In other words, I do quite a lot from within terminals and being able to split up a terminal into panes (like XMonad launching tiled terminals) is quite nice.

Read More

Design to Embrace Change

So, I’ve been reading Practical Object-Oriented Design in Ruby while also watching the VT football game today, something I am beginning to regret. During my freshman and sophomore years at Virginia Tech, I was introduced to quite a few concepts regarding Object Oriented Programming. Mostly, these related to simplistic encapsulation of data - writing setters and getters for any and all variables - as well as using inheritance mixed with interfaces.

Read More