Runtime reflections
RSS FeedI’m Venish. I spend my days building the invisible software layers that keep systems running smoothly. This website is my technical journal, a digital workspace where I document the systems I build and the tools I use. Inside you will find engineering notes, problem solving deep dives, and practical guides written for anyone who values the craft of software.
Featured
- January 2018
A Go-based utility that geocodes a plain text list of cities and landmarks into latitude/longitude coordinates using the Google Geo API, assigns visit frequency weightage, and generates JavaScript data for rendering a Google Maps heatmap visualization.
- April 2017
Statically analyze and programmatically modify compiled .class files without decompilation. Covers a practical example of changing a bytecode equality operator to alter program behavior, along with additional capabilities like method injection and code insertion.
Recent Posts
-
A design pattern for implementing dynamic, user-configurable column layouts in JSP applications using Apache Struts, leveraging a singleton class to store per-user column preferences in the servlet container's Application Context.
- November 2009
Performance comparison of Java string concatenation methods — the + operator, String.concat(), StringBuffer.append(), and StringBuilder.append() through benchmarking with Perf4J and bytecode analysis.
- October 2009
Recursive file tree traversal in Java using NIO.2's FileVisitor and SimpleFileVisitor interfaces, including pattern-based file searching with PathMatcher, symbolic link handling via FileVisitOption, and traversal control through FileVisitResult.
- October 2009
Dynamically load and execute compiled Java classes from byte array using a custom ClassLoader, without writing physical class files to disk. Highlights use cases like license validation, encrypted class delivery, and secure remote code execution.
- October 2009
Monitoring a directory for file system changes using Java NIO.2 WatchService API introduced in JDK 7, offering a more efficient alternative to manual polling threads.
- October 2009
Use Java's SignedObject with DSA public-key cryptography to digitally sign serialized Java objects before network transfer. The signed objects are verified at the receiving end ensuring data integrity and authenticity without relying on shared secrets.