Poland has the world’s best programmers — and here’s proof!
Poland is already known for its coding talent, but lately the country’s success in international programming competitions and tournaments has solidified this image. We decided to examine the top competitive programming events in the world, such as TopCoder, Google Code Jam and Facebook Hacker Cup, as well as Capture the Flag (CTF), which is a type of programming competition focused on security in which teams solve specific tasks, and interviewed the world’s top CTF team, Dragon Sector from Poland
When it comes to competitive international sporting events, Poles rarely have much to brag about (other than volleyball lately). But when you start to look at non-sporting competitions, especially those involving computers, our country suddenly looks a lot more impressive. In fact, some of Poland’s teams and individual programmers have been named the best in the world.
Competitive programming has exploded in recent years, and Poland is doing very well at it. What is competitive programming, though? Pretty much what it sounds like: competitions that aim to find the best programmers, developers, engineers, designers and teams, which are held both online and in offline events around the globe. While there are some competitions in Poland, such as Marathon24 in Gdynia, most of them take place abroad, often with rotating hosts.
Below we look at several of these offline events, and interview the captain and co-captain of Dragon Sector, the Polish CTF team that was named the best in the world in 2014.
The TopCoder Open
The TCO14 winners, including Sky_ (third from left) and Psyho (last on the right)
The biggest and probably best-known programming competition in the world is TopCoder, with 272,348 members from over 200 countries. It features three categories (graphic design, software development and data science), and these are further broken down into six “tracks” in the TopCoder Open: algorithm, development, information architecture (IA), marathon, UI design and prototype. The Topcoder Open (TCO) competition is a tournament that’s held online for an entire year, before the finalists compete in a live event.
Psyho wins in 2013
It was the 2014 edition of the TCO that saw two Polish champions out of the six winners: Łukasz Sentkiewicz, better known as Sky_, won the Development top prize, while the Marathon (data science) winner in 2014 as well as 2013 was Przemysław Dębiak, or Psyho. Sky_ is currently already ranked first for Development in 2015, so there’s a good chance he’ll keep his title.
The coding Olympics
Another huge annual event is called the International Olympiad in Informatics. It’s aimed at secondary school students, and has been going since 1989, when it was first held in Pravetz, Bulgaria. The host city changes every year, and the 2005 edition was held in Nowy Sącz, Poland, when Polish programmer Filip Wolski got 10th place and thus a gold medal.
The 2014 edition saw Jarosław Kwiecień place 24th, which also qualified for a gold medal, and a silver and two bronze medals for Poland that year. Overall, Polish programmers have won 93 medals (33 gold, 33 silver and 27 bronze) since 1989, making Poland second overall in terms of medals, between China (103) and Russia (92). Considering Poland’s population relative to those two countries, Poland’s coders have done pretty well for themselves.
Facebook, Google and IBM search for the best
The Facebook Hacker Cup
While some enter programming competitions for bragging rights or to make a living from the prizes, others want to impress prospective employers, and one of the best ways to do that is to win their own competitions. While many of the world’s IT companies host various contests, here we’ll focus on three in particular, the Google Code Jam, the Facebook Hacker Cup and IBM’s ACM International Collegiate Programming Contest.
The Code Jam began in 2003 as a way to search for the best engineers to join the fast-growing search company. Poland saw its greatest success in the 2012 edition of the tournament, when that year’s winner was Jakub Pachocki (better known as meret) from Poland, who beat out 35,000 competitors, including second and third place Neal Wu (United States) and Michal Forisek (Slovakia).
Jakub Pachocki, or meret
Facebook’s cup began in 2011, and since the start Poland is the only country to feature medalists each year. In 2014 and 2012, Pole Tomek Czajka took home the silver medal, while in 2013 the aforementioned Jakub Pachocki won silver and Marcin Smulewicz came in third place. While so far the gold medal has eluded Poland’s programming talent, here’s hoping 2015 will be the year that changes.
IBM is the main sponsor of the ACM International Collegiate Programming Contest (ICPC), in which universities around the world compete to produce the best programming teams. Poland’s University of Warsaw has the most bragging rights, as they won the world championship in 2007. Last year, they won a silver medal.
Hello World Open
This last competition was launched just last year for the first time. The Hello World Open took place on June 10th, 2014 in Helsinki, Finland. It was a Polish team called Need For C that beat over 2,500 other teams in order to be crowned the winners. The team is comprised of brothers Tomasz Żurkowski and Piotr Żurkowski and Wojciech Jaskowski.
Need for C
Meet the Dragon Sector
Unlike the individual competitions listed above, Capture the Flag (CTF) is a type of programming competition. To find out more about it, I spoke with members of Dragon Sector, the CTF team that was ranked #1 in 2014 according to the CTF Time rankings, beating out crews from the U.S., Germany and Russia. Gyvael Coldwind is the captain and Mateusz “j00ru” Jurczyk is the vice-captain of the team.
Dragon Sector at a CTF event
Before asking about Dragon Sector specifically, I wanted to find out what exactly CTF is, as many of readers are probably unfamiliar with the term. “There are different types of CTF events, but in the context of security and hacking, which we take part in, CTF is a kind of competition where teams will try to solve a practical hacking or security task,” Gynvael explained. These tasks test the contestants’ skills in such categories as web security, low-level exploitation, reverse engineering, cryptography, steganography and sometimes programming as well.
There are two major kinds of CTFs — Jeopardy and Attack/Defense. “In Jeopardy, you have for example 40 or 50 tasks; each task is ranked from 100 to 500 points, and there’s a limited time to solve them, say 24 or 48 hours. The team that solves the most tasks wins the CTF. The ones for 100 points are of course very simple. If we’re talking security or cryptography, it would be something like a remote file inclusion bug or a cypher to decrypt — some really basic stuff. The tasks for 500 points are more complex and require a lot more skill and time to complete,” Gynvael elaborated.
While Dragon Sector mainly participates in Jeopardy style CTFs, in the other type, called Attack/Defense, each team starts with a server running some daemons or services on it, though they tend to be buggy and not well written. “First you need to find what bugs are in each service and patch them, and then you also create some exploits to hack the servers of the other teams. The idea is that in the process you are capturing the flags of the other teams, and whoever has the most flags at the end wins.”
Dragon Sector wins Codegate
How big is the CTF community? According to Gynvael, most CTF events are played online, and each of these has between 100 teams participating and up to 2,000 for the biggest ones. There are also offline events or finals, and these typically feature 10 to 20 teams. The top teams have about 12 people, though there are plenty of teams with only one or two players. In fact, there is one one-person team in the top 10 of the CTF ranking called tomcr00se, though the person behind it is actually the famous iPhone hacker George Hotz, better known as geohot.
The biggest CTF event in the world is the DEF CON CTF during the DEF CON conference in Las Vegas. There are online qualifying rounds to determine which teams will compete, as well as wildcards given to teams that win several other major events throughout the year. There are also two big South Korean CTFs, SECUINSIDE and Codegate, as well as bigger offline events in Switzerland, Paris, Amsterdam and Moscow.
Overall, “it’s hard to tell the size of the scene,” Gynvael explained. While some 4,000 teams participated in CTFs in 2014, only about 500 to 1,000 teams took part in more than one CTF, and only about 50 were highly active and participated in most of the events.
After reading about the different types of competitions and the popularity of the scene, you may be asking, what’s it all for? Are there any real world solutions that come out of these events? “CTFs are both connected and separate from the real world,” Mateusz explained. “The main purpose is to have fun doing security tasks, because most of the tasks are designed so that they are difficult to solve and require an interesting solution. I would say they’re mostly entertainment for hackers, but at the same time you often learn things during CTFs that can be useful during your everyday work. Sometimes you develop tools for CTFs that are useful for other projects. But generally it’s for keeping your skills at a high level and getting your mind going to solve difficult problems, which is always fun.”