Skip to main content

VirtusLab's ArticlesRSS

Frontend Engineering|Dec 21, 2020

Creating IntelliJ plugin with WebView

VirtusLab explains how to build an IntelliJ plugin using JCEF WebView to render HTML‑based UIs inside the IDE, providing modern Chromium performance. The example walks through plugin.xml, service classes, custom resource handlers and Gradle setup using Scala.

Creating IntelliJ plugin with WebView
Cloud Engineering|Nov 20, 2020

Cloud transformation with adoption of inner sourcing at scale

This blog post covers mostly a summary of the significant amount of time spent with the team to help the company drive its large-scale Azure cloud transformation.

Cloud_transformation_with_adoption_of_inner_sourcing_at_scale_image
Cloud Engineering|Jun 16, 2020

Preventing Fraud and Fighting Account Takeovers with Kafka Streams [reference architecture]

The below article describes the solution architecture we created for risk detection that provides results in real-time and at scale. Together with ksqlDB, features in the Kafka Streams framework help engineers focus on delivering real business value.

data-min
Frontend Engineering|Nov 7, 2019

Private fields, public worries

The author explores JavaScript’s proposed private class fields, focusing on the unconventional # syntax and its implications. He questions whether this new hard-privacy approach complicates the language more than it benefits developers.

Private fields public worries cover
Backend Engineering|Jul 17, 2019

Implementing a server for the Language Server Protocol

In this article, we explain how to implement a Language Server Protocol server to decouple code presentation from language logic, using Metals and Scala. It walks through adding a simple document highlight feature. 

Implementing a server for the Language Server Protocol cover
Backend Engineering|Jan 30, 2019

On the missing package private — or why Java is better than Kotlin in this regard

Kotlin lacks Java’s package-private visibility, exposing everything by default unless explicitly marked, which can bloat APIs and hinder encapsulation. The author praises Java’s manifest-based modular exports for making visibility decisions more conscious and centralized.

Scala|Nov 21, 2018

OOP vs. FP. The pursuit of extensibility part #1

VirtusLab compares object‑oriented and functional programming through the Expression Problem, showing how each paradigm handles extensibility differently. The article highlights how FP easily adds new operations, while OOP easily adds new data forms.

OOP vs FP cover
Cloud Engineering|Nov 2, 2018

Helm alternative

VirtusLab shows how to ditch Helm by converting charts into single Kubernetes manifest templates for full control. They demonstrate using their “render” tool to flatten, clean, and version your deployment manifests.

Helm alternative
Cloud Engineering|Jul 10, 2018

Think twice before using Helm

VirtusLab shares concerns about Helm’s hype, especially around its Tiller component and templating complexity. They point out how it adds layers—like auth and templating—that often create more work than value.

Think twice before using Helm
Cloud Engineering|Mar 1, 2018

Kubernetes Cluster Bootstrap

This article by VirtusLab walks through how a Kubernetes cluster is provisioned from first principles, detailing the components and technologies involved in bootstrapping nodes and orchestrating services. It explains how bare-metal and cloud setups follow similar high-level steps.

Kubernetes Cluster Bootstrap cover
Backend Engineering|Oct 28, 2015

Arrows, Monads and Kleisli — part 1

A general abstraction extends functions into composable building blocks, enabling the expression of business logic as data flows. This shift transforms side‑effecting, exception‑ridden code into clean, purely functional pipelines.

Arrows Monads and Kleisli part 1