28 Apr 2026
I built pipequery, a pipe-based query language for JavaScript — over a weekend
Pipequery - A small, zero-dependency query language for JavaScript and TypeScript that lets you filter, transform, aggregate, and join data using a left-to-right pipe syntax instead of the back-to-front nesting that SQL forces on you
14 Oct 2025
Taming the "Everything is Urgent" Chaos: A Software Engineer's Guide to Prioritization on Trading Floors
Working as a software engineer on a trading floor can feel like being in the eye of a hurricane. Every trader insists their feature request is critical, every quant needs their algorithm implemented yesterday, and every sales person claims their client tool will make or break the next deal. When everything is labeled "urgent" and "top priority," how do you maintain your sanity while delivering quality software? After analyzing successful practices from major investment banks and trading firms, here's your practical toolkit for thriving in this high-pressure environment.
11 Jul 2024
Design Patterns for Low-latency Applications Including High-frequency Trading in Typescript from C++
The aim is to optimize latency-critical code to improve speed in HFT. Focuses on programming strategies and data structures for HFT. Created a Low-Latency Programming Repository and optimized a trading strategy using this repository. Implemented the Disruptor pattern in C++ for Order Management Systems (OMS).
04 Jun 2024
Database Normalization
Database normalization is a systematic approach to organizing data in a database to reduce redundancy and improve data integrity. It involves dividing large tables into smaller, related tables and defining relationships between them.
12 Apr 2024
Time Series Aggregations
There are numerous methods for combining multiple time series data. Here are some common methods using Typescript
10 Nov 2023
Kafka real world use case
Let's consider a real-world use case for Kafka involving a simple e-commerce platform. In this scenario, Kafka is employed to enable communication and data flow between different components of the system.
21 Jun 2023
Improving UI Animations with PID Control
UI animations play a crucial role in creating delightful user experiences. Smooth and responsive animations can significantly enhance the usability and aesthetics of an application. While there are various techniques for creating animations, one powerful approach involves applying the principles of proportional-integral-derivative (PID) control. In this article, we'll explore how PID control can be used in UI systems to achieve better animations, resulting in fluid and engaging user interfaces.
02 Feb 2023
How to achive parallelism in Node.js
Node.js allows for parallelism by utilizing the asynchronous programming model. This model allows for the execution of multiple tasks at the same time, resulting in faster processing of data
09 Jan 2023
Advanced Security Patterns in Javascript
JavaScript is an incredibly powerful scripting language that has enabled the development of powerful web applications. As such, it is essential for businesses to ensure that their applications are secure and that the best security practices are followed when creating and deploying applications built with JavaScript. In this article, we will discuss three advanced security patterns that can be used in JavaScript applications: Content Security Policy (CSP), Cross-Origin Resource Sharing (CORS), and Authentication and Authorization.
09 Jan 2023
Designing High-Volume Systems Using Event-Driven Architectures
The modern digital landscape demands data-driven solutions that can handle high-volume systems with ease. Event-driven architectures offer an effective way to design systems that are highly scalable, resilient, and cost-effective. This essay will discuss the key components of event-driven architectures, how they can be used to design high-volume systems, and why they are a better choice than traditional architectures.
08 Jan 2023
Software Architecture Principles
Software architecture is the process of designing, specifying, and implementing a system's software components. It is the foundation of a successful software system, as it ensures the components of the system interact harmoniously and efficiently. In this blog post, we will discuss three software architecture principles: modularity, scalability, and maintainability.