Code Golf Party #1
A programming contest where participants try to solve problems with the smallest amount of code possible.
Date: Friday, August 26, 2022 @ 18:00 (+7:00)
Location: Copper Bar Bangkok
About Code Golf Party
Code golf is a recreational programming activity where people find out what is the smallest possible source code to solve a certain problem.
Code Golf Party, organized by the Creatorsgarten team, is an event where people meet up to play code golf, network with each other, and learn from each other.
In each round, participants receive a programming problem and write a program that solves it. After the round ends, the solutions are then ranked by the number of characters in the source code. Then we look and learn from the solutions.
We assume that many programming languages will be represented, so we hope that the participants can learn about programming languages that they may not use often, and find useful ideas in other programming languages that they can apply to their work.
Livestream recording
Sponsors
Application rounds
Due to the space constraints and safety concerns, only 60 people are allowed at the event.
With over 200 applicants, the application rounds are where the most intense code-golfing competition took place. (The actual event is more like a fun party than a serious competition.)
Application round 1
Applicants were asked to write a program that displays the following output using the shortest code possible (see full problem description):
################
#::::::::::::::#
#::::::::::::::#
#::::::::::::::#
#::::::::::::::#
#::::::::::::::#
#::::::::::::::#
################
We awarded the party ticket to the top 10 applicants.
There were over 200 applicants who submitted their solutions. Over half of all submissions were written in Python.
We also awarded 8 extra tickets to applicants who wrote the shortest code in each programming language (1 submission per language).
Application round 2A
Applicants were asked to write a program that lists all the 84 possible paths in the following directed acyclic graph using the shortest code possible (see full problem description):
Tickets were awarded to the top 7 applicants.
Application round 2B
Applicants were asked to write a program that counts from 1 to 100 using the shortest code possible (see full problem description).
Tickets were awarded to the top 5 applicants who wrote the shortest code in each programming language (1 submission per language).
At the event
At the event, we gather together at Copper Bar and play games of CodinGame’s Clash of Code in the shortest mode.
We designed the event to be more like a party where people meet up and play games together than a serious competition. We also want people to try and learn many different languages. So we made adjustment to the scoring system.
In some rounds, certain languages may be buffed up. For example, in the above picture, PHP gets the 0.33x multiplier. That means 3 characters of PHP is counted as 1.
In another round, languages are nerfed by how many people uses it in that round. In the example image above, many people used Python, so the code length of Python gets multiplied by 2.6x. This encourages people to try out different languages that that other people may not use.
After each game, we look at top players and asked them to explain the code and code golfing techniques they used.
For example, we learned that, in Python, you can index into an array with True
or False
. This lets us select a result without having to use a conditional statement.
We also learned that in Perl, to read a line from standard input, you can just write <>
.
Scoring
We play 2 sets of games. Each set has 3 rounds.
Generally, the person who submits the shortest code that passes all the test cases will win 100 points. The 2nd place gets 99 points. The 3rd place gets 98 points, and so on. There are modifiers that affects the scoring. These are explained in more details on the Mechanics document.
The scores from each round in the same set are summed up, and the best score between the 2 sets is used as the final score.
Ranking
# | Name | Score |
---|---|---|
1. | smiled0g (Paul N. | Band Protocol) | 293 |
2. | PackHubTH (Pack Aussadawut) | 292 |
3. | palmcm | 289 |
4. | vaixellx (Pathompon Jirawanidchakorn (Boat)) | 282 |
5. | Lunedrashia (Rew13) | 281 |
6. | tinoooooo | 278 |
7. | Aphrodicez (Chayanin Kongsareekul) | 276 |
8. | CasperX | 274 |
9. | lbxxdi (universez) | 273 |
10. | tententgc (Thanyapisit Buaprakhong) | 271 |
11. | p-siriphanthong (Punn Siriphanthong) | 270 |
12. | judrummer (Tipatai Puthanukunkit) | 270 |
13. | krit9354 | 268 |
14. | supakorn22 | 265 |
15. | PPHamster (Shinnapat Koparamestrisin) | 264 |
16. | Leomotors (Nutthapat Pongtanyavichai) | 263 |
Staffs
- Chayapatr Archiwaranguprok
- Thai Pangsakulyanont
- Nattpapat Pinyopusarerk
- Phoomparin Mano
- Manassarn Manoonchai
- Jarukit Jintanasathirakul
- Pannawich Lohanimit
- Siravij Praevisavakij
- Tanakorn Pisnupoomi
- Phumrapee Limpianchop
- Chonlatee Jumratsee
- Supratouch Suwatno
Sponsor details
BigBears.IO
BigBears.IO is a non-profit organization run by private funds, we believe in supporting developer community can bring greater outcomes for better future. We're not accepting any funds/investments. To support our activity, please follows us on Facebook for future activity.
Nellika
We at Nellika hope y'all would enjoy the party. In case of emergency, find us at help@nellika.co.th ;)
Moon Rhythm
Website ・ GitHub ・ Deploys.app
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x457782]
Eventpop
Website ・ Facebook ・ Instagram ・ Apply for Ruby engineer position
Eventpop is End-to-End platform for events and activities. Eventpop was founded in 2015. Over the past 7 years, we have been dedicated and bring our potential to create good experiences to the event in Thailand. We are looking for a talented Ruby on Rails engineer to help work on our ticketing and events platform. As a Ruby engineer, you’ll get to work on maintaining, improving, and building on top of a production app that serves 100s of thousands of users.
Contributed an event management platform for this event.
Cleverse
Contributed meals for 50 participants in the event.
Spark Tech Thailand
ไม่พลาดอัปเดตจาก Spark Tech Thailand ・ สมัครรับจดหมายข่าว Microsoft.Source สำหรับนักพัฒนา
หวังว่าทุกคนจะสนุกกับงาน Code Golf Party วันนี้ อย่าลืมแวะไปเยี่ยมชมเพจ Spark Tech Thailand บน Facebook และติดตามแหล่งเรียนรู้ที่ฟรีและดีสำหรับนักพัฒนากับ Microsoft ด้วยนะครับ
Contributed drinks for 50 participants in the event and gifts from Microsoft Azure.
iTAX
iTAX บริการด้านภาษี การลงทุน การประกัน ด้วยผู้เชี่ยวชาญ
Contributed 1,000 THB of cash to the prize pool.
Skooldio Tech
Skooldio Tech Website ・ Skooldio Tech Facebook Page ・ Skooldio Website ・ Skolldio Facebook Page
We're the tech partner you wished you had when you'd started your digital products. Skooldio Tech offers a full-fledged suite of services from User Research, UX/UI Design, Web/App Development, and Consulting. Although our main focus is on enabling personal development with technologies, yet we're open to any exciting project from assisting you in validate new business ideas to delivering the final version of your products.
Contributed Apple AirTag, The Key by StackOverflow, and Skooldio discounts to the prize pool.
Sunday
Sunday Ins ・ Careers ・ ชีวิตนี้เหมยขอเลือกเองสักครั้ง ・ Life at Sunday
Contributed Keychron K3v2 Brown Switch keyboard to the prize pool.
poom@brikl.com
Contributed cocktails for some participants in the event who completes a special mission during the event.