Hi, I’m Marty. I build practical software that’s simple, useful, and designed to last.

ChatKeeper is my desktop app for turning your official ChatGPT export into local Markdown and image files you actually own.

If you’re here for open source, scroll down and explore the libraries and tools I’ve released over the years.

Questions about anything here? Reach out! I'd love to hear from you.

ChatKeeper image styled like a fake video thumbnail.
ChatKeeper is my current flagship project.

Open Source Projects

These are the libraries and tools I’ve released over the years. Some are current, some are older. Most are still useful.

ProjectLast UpdateDescription
atomicfileoutputstream2023/11/20A drop-in FileOutputStream replacement for java that performs all-or-nothing file overwrites to ensure data integrity.
blobstore2023/11/13A simple java API for providing a content-addressable, local disk-backed data store.
hope and doubt2019/07/13A tiny validation library for java that provides both optimistic (hope) and pessimistic (doubt) validation, throwing unchecked and checked validation exceptions, respectively.
macnificent2023/10/23Utility classes for working with MAC addresses and IEEE OUI registry information in java.
martian-hex2023/11/13A simple java library for converting binary data to and from hexadecimal in a variety of formats.
martian-log2023/11/13Simple extensions for slf4j that provide additional functionality and ergonomics.
tictac2014/10/19A typesafe text template-to-java precompiler that allows for arbitrary java code in templates.
twothousandfortyeight2023/11/21A silly but fun text adventure adaptation of the game 2048.

Archived Projects

These projects are no longer maintained. Some are very old.

ProjectLast UpdateDescription
jar2sh2009/05/04Embed an entire java application in an executable shell script.
jsap2006/08/04Parse your command line into Objects instead of Strings.
nailgun2017/10/14Eliminate jvm startup time by running applications in a persistent virtual machine.
nearshare.net¯\_(ツ)_/¯A very easy way to transfer files within a network.
rundoc2004/02/17Keep documentation up to date by running example code automatically as you publish.
snip2004/02/17Keep source code snippets in sync with documentation by extracting sources automatically as you publish.
tarproxy2004/04/18Statistically control an SMTP tarpit to annoy spammers.
tivonage2006/03/13Check your Vonage voice mail on your TiVo.
trivial persist2008/03/13An incredibly simple java object persistence mechanism.



Martian Software, Inc. footer logo