Posts by Tag

Thrift

Finagle ServerSet Clusters using Zookeeper

5 minute read

The key to high availability is redundancy; it follows that if uptime matters, Finagle needs to be deployed to multiple servers. This article walks through...

Separation of Concerns with Finagle

3 minute read

The Separation of Concerns (SoC) pattern is one of those software architectural choices that everyone is helpful. It increases clarity, shortens the amount o...

Transitioning C# to Scala Using Thrift

less than 1 minute read

A 30 minute presentation I made on Sept 19th in a Scala-Toronto Meetup. The slides introduce Apache Thrift and the additional features offered by the Twitter...

Tracking Clients with Finagle

3 minute read

In a Service Oriented Architecture, a service may be used by many different clients – each with with different usage patterns and performance profiles. Behin...

Reusing Finagle Server Filters on the Client

2 minute read

When using Thrift, Finagle Filters on the client inherit from SimpleFilter[ThriftClientRequest, Array[Byte]], while on the server they must inherit from Simp...

Finagle Query Cache with Guava

4 minute read

For many data services, any easy way to reduce database load is to cache calls to semi-static data (ie: append-only, or refreshed only on a set schedule), an...

Developer Friendly Thrift Request Logging

3 minute read

In a system of async service calls, sometimes the most indispensible debugging tool is knowing what and when network traffic is occurring. Unfortunately for ...

Multiplexed Services in Finagle

6 minute read

Apache Thrift is a pretty good RPC library. Methods compose a service, and the service is hosted on a raw TCP port. Even a large implementation with a hundr...

Back to Top ↑

Polymer

Reactive Front-End with Web Components

less than 1 minute read

The Reactive Manifesto puts together the ideal architecture for today’s system infrastructure, designed to cope with the ever increasing need for performan...

DOM Manipulation using Web Components

3 minute read

HTML elements are free to change the style, size, and placement of their children, and even their order. A lot of advanced use cases define rendering based...

Advanced Uses of Polymer Templates

4 minute read

Most sortable HTML table generators (such as AngularJS’s ng-grid) allow cells to be customized and formatted according to templates, however all templates ...

Sortable Table with Polymer Web Components

4 minute read

As businesses now rely more heavily on web applications to perform daily operations, a user friendly datatable/spreadsheet is indispensable to all web deve...

Polymer Data-Binding Filters

2 minute read

One useful feature of modern Javascript libraries is 2-way data-binding. All interactive websites perform this functionality one way or another, but only a...

Web Components

1 minute read

At the heart of a web page, there are UI elements and these elements interact: with the user, each other, and the server. Although HTML5 expanded the origi...

Back to Top ↑

Github

Scala 3 and AWS Lambda Functions

5 minute read

AWS Lambda offer the ability to run code functions without a server. Basically standalone functions that receive JSON as a parameter and have up to 15 minute...

Scala (SBT) Publishing to Github Packages

8 minute read

Github Packages is a natural extension of a CI/CD pipeline created in Github Action. It currently offers repositories for Java (Maven), .Net (NuGet), Ruby (G...

Back to Top ↑

AWS

JVM versus Python for AWS Lambda Functions

3 minute read

The suitability of programming languages across different domains is a contested topic. AWS Lambda Functions are a serverless solution that can be used for ...

Scala 3 and AWS Lambda Functions

5 minute read

AWS Lambda offer the ability to run code functions without a server. Basically standalone functions that receive JSON as a parameter and have up to 15 minute...

Back to Top ↑

Slack

Emoji Progress Bar for SaaS Integrations

2 minute read

The command line progress bar was the first step towards graphical UI. It was an exciting addition to a numerical percent ticking away as a running task too...

Back to Top ↑