[ad_1]
Until midnight on December 1, 2015, when Eric Wastl first launched a puzzle programming contest on the annual Santa-themed day. Arrival of Code, 81 people had registered. This pretty much matched the capacity planning for 70 participants. Wastl thought that the fun might interest a few friends, their friends’ friends, and perhaps some of their friends as well.
However, Wastl, a software engineer who works as a senior architect at TCGPlayer, an online marketplace for trading card games, hadn’t foreseen how the recurring contagion of social media could defeat these modest expectations. he jokes the technical term for what happened next: “OH NO!” There were about 4,000 participants in 12 hours. The server almost crashed. There were 15,000 people in 48 hours, and by the end of the event, on December 25, the grand total was 52,000. The following year, he moved the operation to Amazon Web Services, and the numbers have continued to rise ever since.
Last year, perhaps due to the pandemic, the event saw a 50% increase in traffic with over 180,000 attendees worldwide.
And now again this year, thousands of coders—students and software engineers and competitive programmers alike—from San Francisco to Slovenia are counting down to Christmas with the Advent of Code (AoC). Traditional advent calendars include daily gifts of chocolates or toys (and some alternative versions of dog treats, Jack Daniel’s, Lego figures and even digital pleasures Through apps), Advent of Coders playfully solves math problems and then writes mini-computers that do the solution.
The fun in this is, in part, in the time-honored magic of a holiday ritual. But it’s also a surrender to tasteful amazement. Peter Norvig, director of research at Google, finds this amusing because he trusts his creator, Wastl, to “make it worth my time”—similarly, says Norvig, as the New York Times’ crossword solvers trust Will Shortz to do the right thing by them. “There will be some tricks that make it interesting, but there are limits to how hard it is,” Norvig says.
coding pleasure
At midnight Eastern US time (Wastl is located in Buffalo, New York), a new puzzle lights up on its clock every night from December 1 to 25. adventofcode.com, embedded within a cleverly constructed narrative of Christmas adventures – one player tells the story “a plot an excuse I wish there was such a thing.”
This year’s event got off to a good start when Santa’s elves lost the keys to the sleigh. The first problem sets the scene: “On a ship at sea, you mind your own business when the overboard alarm goes off! You rush to see if it can help. It seems that one of the Elves stumbled and accidentally threw the sledge keys into the ocean!”
Fortunately, the Elves had a submarine handy for such emergencies, and from there the participants embarked on a 25-day underwater quest. They try to solve two puzzles each day (the latter adding a twist or more difficulty), each worthy of a star and some praise: “That’s the right answer! You’re one gold star closer to finding the sledge keys.”
Each player earns a star for solving a problem, but if you are the first to get a star, you get 100 points; if you come in second, you get 99 points; and so on, with the 10th place gaining one point.
“To save Christmas,” explains the puzzle master, “you’ll need to get all fifty stars by December 25.”

MS TECHNICAL | CODE DEVELOPMENT
The purpose of Advent of Code is to solve puzzles using the programming language of your choice (Python being the most popular). Participants also use “Excel madness,” as Wastl describes it, or a surprising number of strategies solving scrolls of graph paper and puzzles in Minecraft.
But the broader motivation varies from player to player. Some see it as an annual adjustment for programming skills; others see it as an excellent opportunity to learn to code or try a new language. José Valim, creator of the Elixir programming language, broadcasts his AoC live Solutions on Twitch.
at the global top LeaderboardsCompetitive programmers like Brian Chen (his arm “betaveros”) and Andrew He (“ecnerwala”) who ranked the 100 players with the highest total points out for speed. A security software engineer working on end-to-end encryption On Zoom, Chen took first place last year (and the year before that) and second place.
“It’s fun to go fast,” Chen says, “just like optimizing anything you can get pretty quick feedback on. There are lots of little buttons to tweak and lots of little moments to be proud of where you made the right choice or crafted something that was useful.”
Living in the Bay Area, Chen and He are both MIT computer science graduates friendly rivals who have competed together on programming challenges over the years—on the same team. International University Programming Competition (ICPC) and as a competitor code forces and Google’s Code Jam. This year, Chen is beating He again. “Honestly, because he’s a little better than me”—he’s better at various speed-optimizing tricks and apps—”but I don’t like to admit it,” says He, the founding engineer of the startup Modal. infrastructure and tools for data teams.
The leaderboard is out of reach for most participants, especially as the puzzles get harder by the day. Kathryn Tang, who led the engineering operations team at Shopify, was ranked 36th on day one and 81st on day three, but knew her leaderboard status wouldn’t last long. “I’m doing this for fun using Google sheets,” he says.
However, the competitive element is replicated at Shopify and Google, and many companies large and small, with custom leaderboards as well as private chat channels where players share solutions and inform about post-death issues.
“Competitiveness helps engagement,” said engineer Alec Brickner, commenting on a Slack channel at Primer.ai, a natural language processing startup in San Francisco (Brickner has made the leaderboard in a matter of days so far).
“Meh,” his colleague Michael Leikam replied. “The payoff for me is the arbitrariness of coding.”
Primer’s science director, John Bohannon, used it with an emoji: “SAME”.
Bohannon also likes the silly story that creates the issues, but the plot’s utility is minimal to zero. “Speed demon solvers completely ignore the story, focus on the variables of the problem to be solved and just arrive at it,” he says.
Nora Petrova, a data scientist and engineer at Primer’s office in London, England, is there for beauty, not sport: “I love the drama that pops up in every puzzle,” says Nora Petrova. For example, on the fourth day a giant squid tied itself to the submarine – of course, he wanted to play bingo. The puzzle entry was a random set of 100 bingo boards and the challenge was to guess the winning board and give it to the squid.
I loved XOR hate it
Wastl’s main motivation for creating Advent of Code was to help people become better programmers. “Beginners who are new to programming are the ones I want to get the most out of,” he says. “The measure of success for most people is ‘How many new things have I learned?’ should be; ‘Was I one of the fastest people in the world to solve this puzzle?’ not.”
Russell Helmstedter, a middle school teacher at the De Anza Academy of Technology and Arts in Ventura, California, uses Advent of Code to teach Python to his sixth, seventh, and eighth grade students. They discussed the first two problems together as a class. From a teaching perspective, problems are effective exercises because if you fail, you can try again – more in the spirit of test-driven software development.
Helmstedter found that some of his students were somewhat overwhelmed by the two-way challenge (coding a machine to decipher and solve the problem), but most embraced the challenge. “I like it when it’s hard to do,” one student said in a survey. Another said, “To be honest, there is nothing negative. I really like that you start working towards a goal step by step.” Although the survey’s multiple-choice order of questions “feels”, 41 respondents chose “Like” (to varying degrees) and eight “I like”.

MS TECHNICAL | CODE DEVELOPMENT
Computer scientist Janez Demšar at the University of Ljubljana in Slovenia uses AoC problems both as a professor and to improve his own skills Orange, an open source machine learning and data visualization toolbox). “I have to do regular practice like a violinist who plays and teaches in the orchestra but still needs small pieces to study,” he says. “So these are my studies.” Demšar teaches Programming 101 to a heterogeneous group of over 200 students. “My biggest concern,” he says, “is how do I get those who already know some (or most) of programming to be relevant and engaged. AoC tasks are great because they require a variety of skills”—from pure coding to algorithms.
Gregor Kikelj, a third-year undergraduate mathematician at university, first tried Advent of Code in 2019. He has since been successful enough to intern at Comma.ai (working on Openpilot, semi-automatic driving systems software). The founder of the company was also competing. And Kikelj raised his grade in his programming course (with another professor), because every problem solved was worth extra points on the final exam, plus bonus points for being placed on the leaderboard.
Kikelj (“grekiki”) got up every morning to drop the puzzle (at 06:00 in Slovenia) and earned a total of 23 extra quiz points, placing him in 52nd place on the leaderboard. “After that year they increased the cap on the points you can get to 5,” he recalls. But it still rises with the sun to jump on the puzzle. His best ranking on the fifth day this year is 25th – he aims to stay in the top 100. “We’ll see how it goes as the issues get tougher,” Kikelj says.
How to make a leaderboard
If the leaderboard is your game, the competition is fierce and the daily countdown is crucial; players wait for the puzzle to fall like a hawk and then click the quick piece to download it. Last year, this “huge burst of traffic synchronized to a single second” (as Wastl described it) even bothered Amazon’s load balancers.
This AoC Subdirectory– one of many communities on the internet – full of baseball jokes about how to prevail (with Answers and help topics, self-satire and memes). But the best source is perhaps Brian Chen’s “how to make a leaderboard”
[ad_2]
Source link