About

My name is Ken Domino. I am a software developer and publisher, programming since the mid-1970s, starting with a CMOS-PDP-8 computer during high school. As an undergraduate at Michigan State University, I studied chemical engineering but found that I enjoyed computer programming, using Fortran, punched cards, and a CDC 6400. After graduating from MSU with a BS in Chemical Engineering, I went to the University of Michigan and graduated with an MS in computer engineering. My advisor was Uwe Pleban who had a demanding and rigorous style of teaching. Uwe’s mathematical and scientific view of software completely changed the way I would view software to this day. My studies included the implementation of an LALR(1) parser generator using DeRemer’s and Pennello’s method described in “Efficient Computation of LALR(1) Look-Ahead Sets”. In the late ’80s, I pursued further studies in Computer Sciences at Boston University. My advisors were Bryant York and Wayne Synder. Afterwards, I settled into a long career in industry, until 2000 when I lost my job with the Dot Com bust.

In 2001, after failing to find further work, I decided to pursue other interests and graduated in 2006 with an MS from Northeastern University in Biology. My advisor, Carol Warner, was as demanding as my previous advisor. My thesis concerned Qa-2, a mouse protein which is associated with fast embryo development. The hypothesis to test was whether Qa-2 is bound to a transmembrane protein, in particular CD8αα, would function in signal transduction for Qa-2. In addition, predictive protein binding was used to determine the best binding of Qa-2 and CD8αα, assuming if they would bind. The thesis is available in pdf and html. The thesis defense was presented on March 31, 2006, and is available in Powerpoint. It requires Chime and Liveweb. HLA-G, the human homologue of Qa-2, can also function as a signaling molecule. This result was published.

Although I love the biological sciences, I never really left programming behind–at least in my mind. In 2007, I started working on GPGPU programming, and obtained IEEE Certified Software Development Professional (CSDP) in 2010. In 2010 I wrote Waste, an emulator for an NVIDIA PTX machine. In 2015, I started Campy, a compiler and runtime for GPGPU programming for C#. In 2018, I started Piggy, a program transformation system, and Antlrvsix, an Antlr grammar editor extension. While it may seem all unrelated, my goal is to write a transformation system to translate one language into another without loss of semantics, multiple ways, with reverse engineering. The reason has only been too painfully demonstrated to me…

Since 2001, I haven’t had a full-time job in programming. Unfortunately, in software, if you are out of work for even a couple months, what skills you have in programming, even if honed for over 30 years, it is considered useless–by ourselves! As far as I can tell, people in our field rather employ a high school student. Since I cannot rely on anyone at all for employment, I have to change how I write software by at least an order of magnitude. A transformation system to work with existing open-source software is a start.

You can contact me at “kenneth dot domino at-sign domemtech dot com”.