Downloading from Github Packages using HTTP and Maven
Github Packages is a Maven compatible respository and is accessible independent of Github. This article expands on alternative access to these files, such as...
Github Packages is a Maven compatible respository and is accessible independent of Github. This article expands on alternative access to these files, such as...
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...
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...
My last blog update was 6 years ago, and Javascript still seems popular. Is this a case of There Is No Alternative?
The Reactive Manifesto puts together the ideal architecture for today’s system infrastructure, designed to cope with the ever increasing need for performan...
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...
Thread-Local storage (TLS) allows static variables to be attached to the currently executing thread. The most common use of TLS is to pass global context t...
Most sortable HTML table generators (such as AngularJS’s ng-grid) allow cells to be customized and formatted according to templates, however all templates ...
As businesses now rely more heavily on web applications to perform daily operations, a user friendly datatable/spreadsheet is indispensable to all web deve...
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...
In the years 2002-2003, Internet Explorer captured 95% of world-wide browser market share. It was unfathomable to many that over the next 10 years IE would d...
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...
There are 2 new principles at the vanguard of today’s technology: Reactive UX. As the world’s population spends an increasing portion of their lives elect...
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...
The Separation of Concerns (SoC) pattern is one of those software architectural choices that everyone is helpful. It increases clarity, shortens the amount o...
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...
This is an obscure issue, with an easy workaround, but no obvious solution.
Long running queries are very taxing on a database. But caching idempotent queries may not always be a suitable solution. What happens if queries run for N-s...
In a Service Oriented Architecture, a service may be used by many different clients – each with with different usage patterns and performance profiles. Behin...
One of the largest headaches associated with network system architecture is abstracting away the network. External resources are always slower and more disjo...
When using Thrift, Finagle Filters on the client inherit from SimpleFilter[ThriftClientRequest, Array[Byte]], while on the server they must inherit from Simp...
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...
In a system of async service calls, sometimes the most indispensible debugging tool is knowing what and when network traffic is occurring. Unfortunately for ...
Ostrich is a stats collector and reporter created by Twitter, and it is a welcome addition to any Finagle (Apache Thrift) implementation. At its core it use...
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...