Welcome to my little piece of cyberspace. I'm Michael Zarozinski, a software engineer with over
This page is a little bit about me and how I got to where I am today, which is someone who gets paid to do what he loves: creating software.
My interest in Artificial Intelligence started when I was ten and saw a robotic arm powered by a program called SHRDLU correctly react to the spoken command “Pick up a big red block." That moment is forever burned in my memory.
Not long after that I was introduced to Intellivision at my cousin Matt's house. Intellivision occupied countless hours of my youth, but I wasn't satisfied with simply playing the games, I wanted to know what was going on behind the scenes. My first computer was a TI99/4A and my passion for creating software took root. The first program I wrote was not "Hello World," it was a chatter bot. I went on to create many games on that machine, including a Wizardry clone.
My geekhood wasn't limited to software, I enjoyed building robots out of Radio Shack components and getting shocked from old vacuum tube radios. I was the only kid on the block with his own oscilloscope.
I took my interest in technology to Worcester Polytechnic Institute (WPI) where I majored in electrical engineering until a few required programming classes made me realize that Computer Science was where I should be. I changed my major and graduated with distinction with a degree in computer science.
I started my professional career at AutoZone in Memphis Tennessee as a programmer in the scheduling and payroll group. It was a great first job where I quickly took over "The Engine" a monolith of a program with an abundance of global variables. It was a great project because every improvement saved the store managers (500 at the time) several hours a week of manual tweaking of the generated schedule.
I moved back to New England to work at InfoCellular as employee #4 of the group creating a client-server version of their legacy product. That's where I found an area of computer science that is one of my favorites: databases. I was fortunate to have very patient and knowledgeable mentors in Richard Clark and Jim Gallagher. Database design and development remains one of my favorite areas of work. Normalizing a database is a special thrill that I still enjoy. InfoCell also gave me my first shot at a "technical lead" position and I made the first two hires of my career: Anna Ivanov and Brook Fekadu, who I'm still happy to call friends. I ran afoul of "standard practices" when I sequestered them in a closet turned conference room so they could learn database design. My method was having them play Warcraft II for a couple days. I tried to keep my plan quiet, but Anna became quite vocal when Brook did something to "kill the women and children." The plug was pulled on my little experiment but we had enough "data" to lock ourselves in a conference room for a few days and design a database that would handle the Warcraft II data. InfoCellular is no longer around, shortly after I left it was purchased by the LHS Group and absorbed into their line of products.
After InfoCellular I took a shot at my own company: Louder Than A Bomb! Software, combining my software skills, life-long interest in artificial intelligence and enjoyment of video games. The mission statement was "to put artificial intelligence theory into practice through software that brings complex AI concepts to programmers and designers allowing them to focus on creativity, design and experimentation rather than implementation." There I developed The Free Fuzzy Logic Library (available on SourceForge and GitHub) and Spark! a graphical front end for the library.
To bring in some money, I took a part time job as a computer teacher at a Montessori school which shifted my focus to educational software. Since I didn't find any "off the shelf" software that seemed appropriate, I created my own. I started with Mr. Z's Logo Lab then created Kidzecutive.
Logo Lab was a graphical front end to the Logo programming language for lower elementary age children. It started as something I "threw together" over Christmas break and continued to grow and improve over several years. Looking back, its development was very "agile." There was a new version almost every week that incorporated the feedback provided by the kids. I was extremely proud that five year old kids not only learned how to create a program in a half hour, but thoroughly enjoyed the process.
Kidzecutive grew out of my frustration from not keeping the kids attention when teaching the "basics" of word processing, spreadsheets, power point, or any office suite application. Kidzecutive was a web based business/economic simulation that provides a unifying framework for lessons while students maintained an extremely high level of interest in running their own “business.”
As part of networking for Louder! I attended the Game Developer's Conference twice and that's where I made some contacts that turned into articles published in Game Programming Gems 2, and AI Game Programming Wisdom.
The article in AI Game Programming Wisdom is about the Free Fuzzy Logic Library, an open source fuzzy logic class library and API that is optimized for speed critical applications, such as video games.
My contribution to Game Programming Gems 2 illustrates the Combs method, which turns the exponential growth of rule based systems into linear growth. The Combs method avoids combinatorial explosion which can quickly make fuzzy logic systems slow, confusing, and difficult to maintain.
Another result of my trips to GDC was my next gig at All inPlay creating video games for the blind. While in a conference room in San Jose California the person to my right asked a question about artificial intelligence, I don’t remember the exact question, but he started by saying “I’m a student at UMass.” That person was Paul G. Silva, All inPlay’s co-founder. After the session we chatted and he introduced me to the other co-founder Jeremie Spitzer. I worked on-and-off with All inPlay, until joining full time in 2005 just before we launched the world's first accessible Texas Hold’Em game. What differentiated our games was the use of professional sound and graphics, the game was not just an empty DOS window. We focused on the principle of equal access where blind and sighted people from around the world gather to play online and interact as equals.
As if making video games for the blind wasn't difficult enough, the possible combinations of software made things exceedingly complex. Differences in Windows, screen readers, browsers and anti-virus software made for a dizzying array of technical challenges. To ease this problem I was fortunate to be given the time to take a step back and created a single code base that all the games could use. This gave us the ability to create a game prototype in a few days rather than months and reducing the entire development cycle from over 2 years to less than 6 months.
I was able to use the tools I developed at Louder! to create the AI for our poker playing bots - both draw poker and Texas Hold'Em. They did not cheat and used fuzzy logic and provided a fun yet challenging experience no matter how long you played with them. If they were on a hot streak they got bolder, if losing they played more timidly. It was very entertaining to watch the chat logs as people anthropomorphized them - often in quite colorful language.
I also got to dabble in an area that really interests me, data warehousing, designing and implementing a data warehouse in mySQL along with creating the ETL process. It wasn't too sophisticated, but did help settle some "discussions" with real world data rather than "gut instinct."
When I joined, we had two games (Draw Poker and Crazy Eights) and were just launching Texas Hold'Em. I was able to break out of the card game genre into word games and with the common code base for the game engine we were able to add three more games in just two years. It was extremely satisfying to be involved soup to nuts in several games: from the decision of what game to make to managing alpha and beta testing to customer support after launch.
As a small bootstrapped company, I got to wear many hats: DBA, network admin, release engineer, tech support, bot wrangler, and my least favorite: security admin. We fell victim to a root kit attack due to our server host's lack of professionalism. I managed to move us to a new - more secure - server with zero down time. A very stressful time but something I'm very proud of. I ultimately coded myself out of a job having automated much of the work that required human interaction. This was a part of my career of which I'm extremely proud. There isn't much money in that sector but I played a small part in making people's lives just a little bit better. There were even some marriages and kids born from meetings on our site.
Next was my gig at Yankee Candle, back in the corporate world, back in Oracle and working with .NET for the first time professionally. I'm immensely proud to have worked for a company with such enthusiastic and passionate customers - just take a look at Yankee's Facebook page and you'll see what I mean.
I currently hold the position of Senior Software Engineer at the Center for Intelligent Information Retrieval (CIIR) at the University of Massachusetts Amherst which is one of the leading research groups working in the areas of information retrieval and information extraction. The CIIR studies and develops tools that provide effective and efficient access to large networks of heterogeneous, multimedia information.
Outside of work, I'm a mentor at Valley Venture Mentors where we help encourage entrepreneurship in Western Massachusetts.
Well, that's a little about me and my journey through geekdom. I'm truly a lucky person to be able to make a living doing something I love and am passionate about.