News about Dyalog

Aug 20, 2010

Meet the winners of the World Wide Programming Competition 2010


Grand Prize winner

Ryan Tarpine, Computer Science at Brown University in Providence, Rhode Island, USA.

Ryan also won the The Hofstader-Conway problem in the Rosetta Challenge

Ryan is a 25-year-old PhD Candidate in Computer Science with a focus on computational biology. His dad first taught him how to program in QBasic, and he eventually moved on to C/C++ and soon thereafter OCaml. Ryan says that he enjoyed learning about unusual languages like Forth, Prolog and SNOBOL as each made you think about the same problems in interesting new ways. Ryan works with large amounts of data in many forms, including genomic sequences, sequence annotations and journal articles. He is interested in seeing how APL can be applied to these areas. Other than programming, Ryan enjoys traveling, biking and studying Islam.


About his Grand Prize winning Ryan says,

"I was astonished to hear that I won first prize-

I thought only in my dreams could I win something like this! I originally heard about this contest last year (2009) through an email from Brown Professor Maurice Herlihy. I took out a few books from the library about APL and read some articles online. I ultimately did not submit last year, but I learned a lot. This year I was determined to enter. The Mastering Dyalog APL book freely available online was extremely helpful in trying to wrap my head around the APL way of doing things. I recommend that everyone interested in learning about APL read this book and have fun with the exercises".

You can meet Ryan Tarpine at the APL2010 Conference in Berlin, Germany - September 13-16 2010, where he will present the solution which won him the Grand Prize.


Second Prize winner

Mstislav Elagin, Mathematics at Humboldt-Universität zu Berlin, Germany

Mstislav studied applied mathematics specializing in statistics at the Moscow Engineering and Physics Institute. Upon graduation he moved to Germany and spent several years working as a research assistant on projects ranging from reliability in non-destructive testing through environmental monitoring to financial econometrics. He is 32 and currently a PhD student at the Humboldt-Universität zu Berlin developing an online monitoring and early warning system for financial markets. Through his studies in statistics Mstislav got to know XLISP-Stat as well as R and he also became interested in the functional programming approach. Other languages that turned out to be eye-openers (or mind-benders?) are Scheme, OCaml and Tcl.


Mstislav comments on his Second Prize win as follows,

"I am delighted to receive such wonderful news! Of course, I will attend the conference in Berlin and will be happy to give a presentation, just please give me a time frame. I found out about the Dyalog contest from the comp.lang.apl newsgroup or possibly from the Vector blog. I first encountered APL about three months ago while working on my PhD thesis. The project required a source of decent volumes of market data, and the database that I got access to happened to use kdb+ as the engine. This naturally lead me to learning kdb+'s underlying language, q, and eventually into the fascinating world of APL. I consider APL as a wealth of ideas, and even if I am not directly using it in "production" at present, it has definitely influenced and enriched my programming style. I would like to thank the contest organizers as well as the judges for putting into effect this great challenge, and look forward to making new acquaintances at the conference".

You can meet Mstislav Elagin at the APL2010 Conference in Berlin, Germany - September 13-16 2010 and we're already looking forward to his presentation.


Third Prize winner

Joel Hough, Computer Science at Salt Lake Community College, Kaysville Utah, USA

Joel also won 4 of the 5 Rosetta Challenges namely:

  • Animate a Pendulum
  • The Knapsack problem
  • The Happy Numbers problem
  • The Monty Hall problem

Joel is 24 years old. He is studying computer science, with a particular focus on programming language design and theory. He's still at a very early stage of schooling, currently working on general education requirements at a community college before moving to a university (likely University of Utah). He is also currently employed at Varian Medical Systems working as a software technician



Joel says about his Third Prize and 4 Rosetta challenges win,

"I am pleased to be informed that I have won third place as well as several Rosetta tasks! I heard about the contest from my friend and co-worker Nathan Dansie, who read a post about the contest on I had heard of APL before the contest, but I had never programmed in it until I started working on the Rosetta challenges. I almost didn't make an entry for the main challenge, instead focusing on the Rosetta challenges, but in the final days of the contest I decided to give it a shot".



Special Effort Award:
The judges decided to give a special effort award to Alexander Ivanov, who is doing nuclear research at the Moscow Institute for Physical Research. Alexander submitted solutions to all of the questions in the main competition AND all the Rosetta Code problems. Alexander narrowly missed out on winning several of the other prizes.

Alexander Ivanov is 23, and he recently qualified as an engineer specializing in Devices and Methods of quality control and diagnostics. He is currently looking for a job as a freelancer.


Alexander has experience in quantitative methods, analytical geometry, machine learning and statistics. He took his first steps with APL in 2007 after having found that Visual basic (School), Fortran and Pascal (University) gave him weak results. APL turned out to be much easier he says, and he managed to write his first program for quantitative integration shortly after taking up APL. He has also been much inspired by Professor Alexandr O. Skomorokhov who has great experience in APL and has written many papers on how APL can be applied to different problems, such as data mining. Outside of Programming in APL Alexander enjoys Chi Kung combats art, Meditation, Literature, Chess and Music.


Alexander explains,

"I found the information about the 2010 contest the day it was launched on the Dyalog website. Dyalog APL was used in our educational programme and was applied to help determine some of the practical problems of nuclear power engineering, such as nuclear fuel leakage localization in the PBR. We also used Dyalog APL for the statistical and recognizing methods we applied, something which would have been very difficult for me and most of my friends if we had used C++ or Pascal. During 2008-2009 I created several workspaces with different mathematical content: analytical geometry, linear algebra, statistics, complex variables processing etc. I also did some research in the area of machine learning under Professor Alexander O. Skomorokhov. This work was tied with algorithm of automatic logical rules extraction TEMP which I achieved in APL.The main testing set was the Breast Cancer Wisconsin Database (2 diagnoses, 569 patients, 30 factors). In the lectures professor Skomorokhov used APL notations to demonstrate data mining algorithms and to teach students how to apply this technique at the practical work within the area of NPP diagnostics. I would also like to mention - and thank - Dmitriy A. Lukjanov, who controlled our practical understanding of studied methods. These lectures and exercises were very interesting for me as they changed my relation to programming. As a leader of my science work Professor Skomorokhov gave me a lot of useful advice. All in all, it has considerably improved my skills. In 2009/2010 another several workspaces has been added to my collection. The diploma project required realization of different KNN-based methods, and the cluster analysis algorithm FOREL was also used. The main area where the programs were applied was on the measuring of information reliability control on the 4-th block of Novovoronezh nuclear power plant. The Dyalog contest yields me 100$ but more importantly priceless experience. So thanks a lot for the contest!

Although we will miss out on meeting Alexander Ivanov, you CAN meet his mentor - Professor Skomorokhov - at the APL2010 Conference in Berlin.