Thursday, January 22, 2009

Conway's Game of Life


Yesterday I had the opportunity to make a rare visit to the Richfield campus of the Minnesota School of Business. There, I made many interesting connections and I would like to share some of the fruit that was born from one of those meetings.
Father Daniel Huston has been teaching mathematics there for many years and as is our custom when he and I chance to meet one another, we discussed math. But what I want to tell you about is what he showed me on his personal handheld computer. He called it Conway’s Game of Life.
I have seen things like it before, but never thought much about them. But this time Father Daniel made me take notice. He would run his finger across the screen and immediately, patterns would emerge and transform seemingly randomly. However, as Father Daniel explained, there is order in the chaos.
Conway’s Game of Life, as I have since learned, has been a passionate pursuit of many mathematicians and computer scientists for decades. It was devised by a British mathematician, John Horton Conway in 1970 as an implementation of what we call cellular automata. The ‘game’ is a grid of coordinates or locations on the screen and each location can be either alive (black) or dead (white). Each turn, the life and death of each location is calculated by looking at the eight nearest neighbors of that location. If the location has exactly three live neighbors, then that location will be alive next turn. If however, there are fewer than three, the location will die as if from under-population. If there are more than three, the location will die as if from over-population. Chaotic randomness ensues and sometimes the system all dies out. The game is begun with an initial state and in Father Daniel's implementation, that initial state is created by dragging your finger across the touch-screen. Over time, the system may settle into a static state or pulsating state. In some rare cases, it results in infinite growth.
For decades, researchers have studied this system. They tried to find different kinds of growth (i.e. life) and found many amazing patterns. One celebrated such pattern is shown here, Gospers’ Glider Gun (thank you Wikipedia). This pattern is cool because it shows that it is possible to have infinite growth. This “gun” if left undisturbed will continue to “shoot” off rounds perpetually and these rounds will travel forever.
I know I am about 40 years too late but I see many interesting programming projects that I wish I had done and that I wish I could assign to students. Given that so many researchers have been working for so long on Conway’s Game of Life, I can assume that there is not much else I could add. In fact, I had some immediate ideas regarding color change, rules variations, array size, and encoding schemes and found that others have already thought of these things and more and had written many papers and implemented many interesting programs about this already.
In fact, researchers have shown that Conway’s Game of Life is a system that has the property of being Turing Complete. This proof shows that anything that can be computed can be computed with Conway’s Game of Life.
I may not be able to do original research with this system anytime soon, but I want our students and instructors to be aware of it. Conway’s Game of Life is an implementation of a very simple and interesting algorithm that has inspired many programming projects and will likely inspire many more. I hope that many of you will take on the challenge of writing your own implementations of this and similar systems to polish and prove your creative, programming and graphics skills.

Wednesday, January 7, 2009

Why IT? IT is Imperative

Some people struggle with the question "What is IT?" and I have on many occasions struggled to provide an answer that they can understand. This blog is dedicated to the related question, "Why IT?"

Our technology is evolving at a rapid pace. We need people who can assess, select, and implement these technologies in ways that are helpful and cost effective. According to futurists, such as Ray Kurzweil, author of The Age of Spiritual Machines and The Singularity is Near, the pace of technological evolution is exponential rather than linear. Some of you may need a definition of linear and exponential, so I will provide one. This is not something that we should ignore or misunderstand.

A linear pace is one that graphs as a straight line. For example

y = 2*x
(y equals two times x )
y is always twice x. By contrast, an exponential pace is one that graphs as a parabola. For example

y = x^2
(y equals x raised to the second power)
One of the properties of exponential growth is that as long as the exponent is greater than one, the growth will eventually take off at an extremely fast pace. Exponential growth is fast. Further, Kurzweil shows that technology growth may be faster than exponential. He makes a compelling argument that not only is the growth exponential, but that the exponent itself is growing.

This is not just fast. This is mind-boggling fast and it will get faster every year. We should expect a growing change that at once seems like a revolution. We should expect intelligent machines. We should expect the unexpected.

People are always chasing the market and missing opportunities. The IT "bubble" burst in 2001 and we were left with a surplus of IT workers so students have gone elsewhere. Nevertheless, demand for IT workers has grown and now outstrips supply. In a January 5, 2009 article in the Star Tribune, a Minneapolis newspaper, Laura French states that the Minnesota Department of Employment and Economic Development projected an estimated shortfall of 1000 jobs per year in Minnesota (1).

The U.S. Bureau of Labor Statistics made similar predictions in the growth in demand for IT workers nationwide. According to the 2008-09 Occupational Outlook Handbook the growth in jobs for computer scientists, database administrators, systems analysts, and systems administrators is expected to be much faster than the average growth in all jobs between now and 2016 (2).

IT jobs are in demand and demand will continue to rise. These jobs also pay much better than other jobs. Recent economic conditions will impact demand temporarily. Choices made by today's incoming college freshman to go into IT or Computer Science may "over correct" leaving us with a temporary surplus of IT workers in four years time. Increasingly, many IT jobs have moved overseas where mathematics and science disciplines are still highly regarded. However, based upon my personal understanding and my review of the predictions of those greater than I, such as futurist Ray Kurzweil, the U.S. Bureau of Labor Statistics, and the Minnesota Department of Employment and Economic Development, my belief is strong that IT will be an ever-growing field and IT graduates will have the best opportunities, including opportunities that I cannot imagine, over the coming decades.

Why IT? Because exponential growth is nothing to ignore nor misunderstand. Because we have a compelling duty to ourselves and our nation to develop our nation's pool of technology experts and professionals.
You should be in IT if you can be.
If our nation fails at IT, our outlook is bleak. It is imperative that those of us who have the ability to learn and work in this field do so.

(1) US Bureau of Labor Statistics (http://www.bls.gov/oco/oco1002.htm#comp)
(2) French, Laura. Minneapolis Star Tribune (http://www.startribune.com/jobs/career/36298559.html?elr=KArksUUUU)

Friday, January 2, 2009

IT Professionals are Problem Solvers

Today upon arriving to work after the long holiday, I had to do something that I normally do not. This is not uncommon for IT professionals. In fact, it is our food.

First, some back-story: Before leaving my office last week, I locked my desk, securing my current projects. I added my desk key to my key ring and off I went. Upon returning this morning, I proudly produced the key and put it in the lock. Oh-oh--the key would not go more than a few millimeters into the lock!

The lock was not going to accept its key. I tried for more than an hour. I examined similar keys and similar locks and found no explanation or any clue about how to proceed. I examined the ID number stamped on both the key and the tumbler and confirmed it was a match. I called our Corporate Front Desk to describe my problem to Beth, our Administrative Professional, with hopes that she would offer a quick solution. No such luck. She would have me wait until another employee returned from vacation. I considered the set of tools that a colleague keeps in his truck and thought about falling back on my demolition skills learned from three years in construction.

Kat, the Dean of General Education said that when she had problems with the lock on her desk she called the IT guy and he fixed it right away. Hey! I am the IT guy! Armed with the knowledge that it could be done, I was emboldened to not give up just yet!

I recalled eyeing a single paperclip on my desk over the past hour and picked it up and unbent and tried it. Of course that didn't work. Didn't the thieves and heroes in movies use two paperclips? Yes! John, the Criminal Justice Dean had a second paperclip. I inserted both paperclips as seen on TV so many times and I turned. It felt soooo right. It was like they were in soft butter, the lock so willingly opened to my paperclips.

After my success, John shared with me that he thought I was going bonkers. Having been a chef, I know that it has been said that a chef is many things: plumber, nurse, restaurant security, and of course, cook. I hope that my recent demonstration only shows IT professionals are also so. We have the troubleshooting experience and the tenacity to get anything done by trying *everything*.

People may not understand us. They may think we are going bonkers sometimes, and sometimes we are. However, what people see is only happing outside of our minds. Inside, we are thinking, concentrating, and convincing ourselves that if any person can solve this problem, we can--if we just apply our knowledge, experience, and our problem-solving tools (which in this case included a pair of paperclips and the experience of many scenes from crime-fighting films).

IT professionals are problem solvers.