hey! i'm a software engineer in based in new york's hudson valley region. i also make music sometimes!
worked on infrastructure improvements to z/TPF's logical record cache system. added support for dynamically resizing caches without losing existing data—previously you had to delete and recreate the entire cache, which meant repopulating everything from scratch. also implemented a time-initiated sweeper program that monitors caches for expired entries. separately, reduced MIPS consumption and processing time when adding entries to full caches by optimizing the castout process—particularly important for time-sensitive operations. these changes made it much more practical to use very large caches in time-sensitive applications.
IBM Docs pagehelped extend z/TPF's business events support to handle multiple unordered dispatch queues. previously, business events shared a single system default queue, which meant that if one event encountered transmission errors or timeouts, it could delay processing of completely unrelated events. implemented support for separating events across multiple queues based on destination, volume, or other criteria—so issues on one queue don't impact others. specifically adapted the traditional z/TPF database data event processing path to work with multiple queues. also added support for increasing the maximum number of dispatch queues beyond the default limit of 20, providing more flexibility in business event environment configuration.
IBM Docs pagethe title's wordy, i know. this is about resiliency in exactly-once message streaming systems! a message streaming system uses transaction scopes to ensure the atomicity of working with the message queue. if a fatal error occurs after popping a message from the queue, the transaction scope caises the message to reappear on the queue. this ensures that the message is not lost before it can be sent to a remote system - it can be retried. but if something causes repeated errors with a specific message, then that fatal error is going to keep happening over and over again. as a result of the repeated error, the message might be retransmitted multiple times, and processing of the queue will block as this message is stuck on the queue. the paper talks about how you can use fatal error intercept functions to move those messages to an error queue as part of process exit, preventing the message streaming system from getting stuck on that message.
The IP.com Journal - 2025
View Publicationp.s. this costs $40 to read at the link, but i know a gal who might be able to kick up a spare copy over email :)
contributed to the IBM redpaper "securing your z/TPF environment," documenting security features and best practices for the z/TPF operating system. wrote sections on managing and controlling access to z/TPFDF databases through z/TPF support for MongoDB, including user authentication, role-based access control, and filtered collections that limit data visibility based on business need. also documented file system security support, covering the posix-y permissions, users and groups as they're supported on z/TPF, as well as access controls that restrict operator commands and administrative functions. the redpaper gives A LOT of guidance on protecting mission-critical systems running on z/TPF, aligned with the NIST cybersecurity framework.
IBM Redbooks - 2024
view publicationcentralized database system that enables compliance with data localization laws without requiring application redesign. many countries require that data about their citizens be physically stored within their borders, which traditionally meant partitioning databases geographically — complex and risky. this patent describes a method wherein the database manager transparently handles geographic storage requirements: when a document is created, the system determines the required storage location based on attributes like citizenship or address, creates a remote copy in that geographic location, and modifies the local copy to contain only location metadata. applications can continue reading and writing documents as if they're stored locally, while the database manager automatically routes requests to the correct geographic storage. with this approach, there's no need to redesign applications around geographic partitioning.
US Patent 11,636,139 - 2023
view patentthis is about how you can use z/TPF's ZFILE sudo command to start the IBM health center on JVMs that are already up in a JAM cluster.
View Postthese posts are a high-level intro to z/TPFDF, a database management system for the z/TPF OS.
part 1: database organization / part 2: basic application usagelittle unfinished tracks - to call these WIPs would be very generous. they really just represent the moment at which i hit "save" and went off to do something else. these are mostly experiments with music programming using ORCA and other tools.
listenfeel free to reach out for collaborations, questions, or just to chat about shared interests.