Recent Posts
From Batch to Real-Time: Rethinking File Processing with Linux fanotify
Traditionally, batch processing of files has been the default approach in many on-premise solutions. Files are dropped into a directory, collected on a schedule, and processed in groups. This model works fine for systems where latency is not critical, but once you start asking “How do we make this real-time?” the story becomes more interesting.
At first, my answer was polling. After all, if we want near real-time, we can just keep checking the directory at short intervals.
read more
Find all extension methods of a type in csharp using ast-grep
Usually one will use simple find or more advanced regular expression based search to locate codes. How about use other options usig ast to get more accurate results and have the potential to use for codemod? In the past 2 days, I finally figured how to use ast-grep to find code.
Here I will use it to find all extension methods of an class. The rule is configured below.
read more
Speeding Up DevSecOps: Rethinking the Shift-Left Approach
Introduction In the world of modern software development, Shift-Left Security and DevSecOps have become de facto practices. The idea is simple: security should not be an afterthought but rather an integral part of the development lifecycle, starting as early as possible. While these practices strengthen security and compliance, they often introduce additional steps that can slow down the development pipeline. This raises an important question: Is there a way to speed things up without sacrificing security?
read more