Call with timeout — GoLang and Java — Part 1I primarily code in Java, however recently I had to create a small go-lang based library and was again reminded of how go-lang comes with…Feb 15Feb 15
JSON Handling in PostgreSQLThis is part of a 3 post series on a few PostgreSQL features I have been using with Postgres recently. The previous post was about…Dec 22, 2024Dec 22, 2024
PostgreSQL Features — recursive queryI have worked with NoSQL databases for the last few years and just recently started working once more with relational databases. It has…Nov 10, 2024Nov 10, 2024
Value Types in JavaI have used many different ways in the recent few years to represent a Value type in Java; this is a quick distillation of what I have seen…Sep 2, 2024Sep 2, 2024
Jackson and handling class hierarchyI am in awe of the community which maintains excellent open source projects like Spring Framework and Jackson. Even after working with them…Jun 28, 2024Jun 28, 2024
Life of a MetricA metric provides value when it is aggregated — an individual metric is entirely absorbed in the aggregation and loses its identity in the…May 25, 2024May 25, 2024
Java Collectors fatigueI was recently working on a small project involving hierarchical data. The data was represented in a structure similar to this Java record:Feb 29, 20241Feb 29, 20241
A National Parks recommender using langchain4jI have been playing around with langchain4j recently, to compare it against the capabilities of langchain implementation in Python.Feb 4, 2024Feb 4, 2024
Java String TemplatesThe first time you look at a Java String Template, it feels right and wrong simultaneously.Dec 21, 2023Dec 21, 2023
Destructuring in Java and KotlinDestructuring a data class in Kotlin is intuitive. Consider a data class “Address”:Nov 24, 20231Nov 24, 20231
Chat Application using Streamlit and Text BisonI am a Java backend engineer and dealing with the different front-end frameworks to create a passable user interface is often a challenging…Oct 17, 2023Oct 17, 2023
Connecting GCP VPC Networks — Using Private Service ConnectConsider a scenario where a company has two GCP projects, each with a different VPC Network.Sep 20, 2023Sep 20, 2023
Source to Cloud RunConsider a scenario where you have to go from source code to having a running application, in the cloud, quickly.Jul 21, 2023Jul 21, 2023
Cloud Run and IAPIdentity Aware Proxy(IAP) is a simple way to secure applications running on Google Cloud. It is way simpler than going through the…Jun 9, 20231Jun 9, 20231
Jackson Kotlin extension and reified typesJackson Kotlin module library greatly simplifies gnarly code involving TypeReference.May 30, 2023May 30, 2023
EventArc with CloudRunGoogle Cloud EventArc provides a simple way to act on events generated by a variety of Google Cloud Services.Apr 29, 2023Apr 29, 2023
Cloud Native BuildpacksThis is a very quick primer on Cloud Native Buildpacks. The short of it is that it is one of the quickest ways of going from source code to…Mar 21, 2023Mar 21, 2023
Multi-region load-balancing to Cloud RunConsider a Google Cloud Run service deployed to two regions — us-central1 and europe-north1. The objective is to direct users in Europe to…Feb 23, 2023Feb 23, 2023
GKE Autopilot and Workload IdentityWorkload Identity enables GKE workloads to impersonate IAM service accounts, allowing them to access Google Cloud services.Feb 1, 20232Feb 1, 20232