Hacking the Christmas Spirit

journeyPatrick McConlogue, a programmer in New York City, had passed by a particular homeless man for six months before he decided to discover him. And then he discovered something about himself.

Leo Grand has been homeless living on the streets of New York City since he lost his job in 2011. When Patrick noticed him working out with weights made from rocks and chains, he marveled at the man’s intensity and drive and figured that there must be something special about him that transcended the label “homeless”. He found out that Leo was quite passionate and knowledgeable about environmental issues, particularly regarding the impact of transportation and energy choices on air and water quality. This likely was not what Patrick expected to learn about Leo. So, he offered Leo a deal. He offered him a choice between $100 in cash or to have private computer programming lessons. Leo chose the latter.

Over the next months, Patrick taught Leo how to write apps. He taught him Javascript, HTML, and other languages used to create apps for Android and iOS devices. Leo worked diligently with Patrick to learn the intricacies of mobile app development. Then he decided to “appify” his interest in environmental issues by creating an app that would help people connect with others in their neighborhoods who were interested in carpooling. With Patrick’s help, Leo created the app “Trees for Cars”. It is now available on Google Play and The App Store. The app promotes ride sharing as an effective means of protecting natural resources. It has gotten good reviews and a lot of buzz for its unorthodox journey to market.

I was drawn to Computer Science because of the immediacy of its impact. I made the move from Electrical Engineering to coding because I loved how programming was really just applied puzzle-solving with prizes. The prize for solving each puzzle was the satisfaction of seeing the results of your work immediately. I love how changing just a few lines of code could profoundly impact an application’s performance, functionality, and ease of use. I’m a tinkerer on a budget, and I love how Computer Science allows you just to play around and see what happens without having to invest a lot of time or financial resources. The low barrier to entry combined with the instant returns afforded by every programming effort are no doubt responsible for the infectious entrepreneurial spirit you feel whenever a bunch of programmers get together.

And here you have Patrick McConlogue and Leo Grand, entrepreneurs from two very different lives, meeting to create an app with multiple lasting impacts. There is the aspirational and literally global impact of providing a tool for citizens to use to live more sustainably. And then there is the impact on Leo’s and Patrick’s lives.

In this video about Patrick and Leo’s partnership, Patrick explains his motivation: “There are a lot of people who could do a lot of great things. I think that sometimes that potential could be lost.”  You see, investing in people is important.

In Computer Science, we discuss two ways to perform a set of instructions repeatedly. You could do them iteratively, repeating the instructions a set number of times or as long as certain conditions or met. Or, you could do them recursively, applying the same set of instructions to a related but simpler version of the original one. Recursion is the only feasible way to solve puzzles in which the same challenges are seen across a set of related problems that range from the incredibly rich and complex to the ridiculously simple and irreducible.

Life is that kind of puzzle. Paying it forward is its recursive solution.


About Ray Klump

Associate Dean, College of Aviation, Science, and Technology at Lewis University Director, Master of Science in Information Security Lewis University http://online.lewisu.edu/ms-information-security.asp, http://online.lewisu.edu/resource/engineering-technology/articles.asp, http://cs.lewisu.edu. You can find him on Google+.

Leave a Reply

Your email address will not be published. Required fields are marked *