Home

Adam Ierymenko's Personal Site

About Me

Welcome to my personal page! I am a software engineer and biologist living in Boston, Massachusetts with my wife Jennifer. My interests are in computers and software, biology, evolutionary computation, artificial life, digital art, and all sorts of other related things.

I currently work full time for a wonderful non-profit biotech in Cambridge, Massachusetts called Addgene. I'm working with Addgene on a rich platform for collaborative information sharing and bioinformatics between academic biology labs. (Details will be forthcoming after launch.) Addgene also operates a plasmid repository for academic and biotech labs that archives DNA plasmids and provides management tools for linking them with publications.

Beyond my current place of employment, I also have a lot of other academic and technical interests. (Yes, I'm this much of a nerd.) Most of my outside interests revolve around artificial life and evolutionary computation. I also try to keep up on the biology literature, with my main interests being genetics and evolution.

In college I studied pure biology rather than computer science. I wanted to study and work with pure biology since I've long believed that even biologically inspired algorithms in software usually don't draw enough on biology. While studying biology at the University of Cincinnati and working for the U.C. College of Medicine I worked in my spare time to implement the concepts I was learning about in software media. This led me to discover the small but fascinating field of artificial life and to implement several projects to simulate evolving software genomes in synthetic ecosystems. Some of those projects are featured below.

My long term project in the field is to implement a commercial machine learning system based on the truly biomemetic techniques found in the artificial life field. I've already implemented several iterations of this system and have experimented with some success in using it to perform image recognition and multi-objective optimization. My latest revision should begin shortly and will feature among other things a highly novel perfectly concurrent computer instruction set.

Other than all the nerdy stuff, I do have a bit of a life too. My wife Jennifer is an architecture student at the Boston Architectural College and we both enjoy art, music, and the local Boston experimental/digital art scene.

Projects and Source Code

The Evogrid

I am a contributor, both in the design phase and (hopefully) in coding, to Bruce Damer's Evogrid project. The Evogrid is a project to develop an open protocol spec and an open-source reference implementation of a protocol for artificial life creatures to talk to each other over the net. The intent is to support as many different kinds of artificial life systems as possible, thus enabling coevolution between radically different kinds of digital organisms inhabiting "alternate universes" with different forms of synthetic physics. Needless to say, it's challenging!


libFireDoor

libFireDoor is in its earliest planning stages and will be a sockets library for creating "virtual hosts" that are reachable behind firewalls. It will be based on the very advanced UDP hole punching techniques used by FilePhile and will be open-source. It'll be used for the next version (2.0) of FilePhile and probably for the Evogrid as well.


FilePhile

FilePhile is a utility for person-to-person file transfers. The base client is free, and I'm currently working on some enterprise applications. The current version is in Java, but the next will be native and will be based on libFireDoor.


Mersenne Twister for the Cell Broadband Engine SPE/SPU

Here's an implementation of the Mersenne Twister random number generator for the specialized processing units on the Cell Broadband Engine chip. Feel free to use it, since it's based on the original MT code and so is under the same (basically PD) license.


Nanopond

Nanopond (click to read more) is a very tiny, simple, and fast virtual CPU based artificial life system. It's been used by a few universities to demonstration evolutionary computation, artificial life, or simply to show what a virtual machine is. Its goal was to show how simple digital artificial life can be and to have a system small enough to fit in a programmers' head. It's written in C.


Elemental


Elemental is a project to "explore Turing-space." You can read more about it here. This project is somewhat obsolete since recent work of mine makes it more or less moot.


Archis


Archis was the first artificial life VM that I wrote. It's now in mothballs, but the original Archis page is preserved here. It's actually got some rather neat features and pioneered a lot of the programming techniques that I used in later artificial life efforts.


Ancient Source Code


I have some very old stuff here if anyone is interested.

Contact

You can contact me by e-mailing adam.ierymenko@gmail.com (GMail has good enough spam filtering to make posting your e-mail address reasonably safe).