William F. Gilreath

A multifaceted, versatile software development engineer, computer scientist, mathematician, poet, writer, and lover of cats.

About this page

Greetings! I'm William F. Gilreath  (he/him/his) I am a multifaceted senior machine learning/software engineer, computer scientist, mathematician, poet, writer, and adore cats.

I love working with software developing, testing, writing, and analyzing source code. In my spare time, I write both code and technical articles, and narrative prose: novels, short stories, book chapters, and poetry.

This home site illustrates some of the algorithms, code, programming languages, research papers, and projects I have created, written, and published.

I am a free agent, a senior machine learning/software engineer seeking my next job role with the right organization.

For the curious and intrigued, an ice breaker question I often get asked is: "How did you get started in software engineering?" I am more of a writer, so for this frequent question I have written a five minute reading time short article describing my path in software/computer science/coding since I was a young boy.

Yet other questions I am asked are "What is the most difficult technical problem you had in your career?" and "What is a time when you were wrong?" Both these questions are answered with this short essay about an experience I had early on in my career as a software engineer.


My current technical project is a new programming language "ZeptoN" from "zepto" + "N". A small programming language (zepto- is a factor of 10-21) that is the Nth programming language (as programming languages go from 1 to N) where this is the Nth programming language.

The ZeptoN whitepaper [ epub | pdf (6 Mb) ] describes the ZeptoN language, its goals, and gives many examples with output to illustrate the ZeptoN programming language.

ZeptoN extends Java by adding a program entity "prog" construct like a class (without the object-oriented trimmings), with an implicit program entry point as a block. Yet ZeptoN is completely Java syntax and concept compatible. ZeptoN puts the program back into Java programming!

ZeptoN is now available on my GitHub repo for download, or the GitHub page. This is the ZeptoN "Echo" transcompiler which transpiles to Java, and then uses the Java Compiler API to build a Java bytecode .class file.

I have had an article about ZeptoN published on JavaCodeGeeks explaining how to extend the ZeptoN language.


I have an inactive blog about my technical dabbling and other things...entitled Much Ado About Nothing where I write about this, that, and the other, but not of late. Note that I am not on social media (except LinkedIn) too much melodrama, and I do not want my personal life on the Internet.

I do write an occassional treatise or essay about a particular theme or topic.

One essay I have recently written is Innovator's Beware that describes the 25-years time line after creating an 'impossible' algorithm that sorts in linear time by hashing—yet all the skeptics never got the source code to see the hash sort algorithm in action. Quod, quod, fiat.


Here are some of the books I have written...

Research Papers

Here are some theoretical research papers I have written, and have been published.

Check out my Google Scholar or Microsoft Academic with my other works. https://orcid.org/0000-0002-1825-0097 for a list of my published research papers.

Source Code

Some of the source code I have written for various projects...

  • Zing - the Zing (zero-packet Internet groper) an open-source network utility implemented in nine programming languages.

  • ZeptoN - the ZeptoN Echo transcompiler, both source code and a Java binary, for the ZeptoN programming language.

  • WEJAC - Will's Elided Java Api Compiler, a javac alternative that has simpler and fewer command-line interface (CLI) options. The user manual for WEJAC is available as an e-book on Smashwords in various formats.

  • DBXShell - the DropBoX shell connects to a DropBox storage account, and perform file and folder operations in command-line interface client.

  • Boz - compiler for a programming language "Boz" (a pen name of Charles Dickens) developed using the JavaCC compiler-compiler tool.

  • Hash Sort - sorting by hashing into a matrix.

  • XML Tokenizer - XML tokenization into tags, attributes, text, for an XML token stream.

  • Binar Shuffle/Sort - shuffle (unsorting) and sorting by using bits of binary datum.

  • FunCL - (rhymes with "uncle") interpreter for the FUNctor Clause Language, a functional style programming language that is both like Forth and LISP but without the reverse Polish notation or parenthesis.

Technical Articles by Me

These are the technical articles I have written:

About Me, Myself, I

I am a multifaceted senior software engineer, computer scientist, mathematician, poet, writer, and lover of cats. I have been writing code starting from when I was a boy, and now in many programming languages, frameworks, operating systems, for multiple platforms over 30+ years.

  • LinkedIn - my LinkedIn profile.  Please feel free to connect, although I reject, report, and block scammers, fast buck artists, and get rich quick schemes.

  • E-mail - contact me by my email.