From 5893f613084de280aaa6ed9346abbfb2022fd421 Mon Sep 17 00:00:00 2001 From: Pilou <8350914+pil0u@users.noreply.github.com> Date: Fri, 17 Nov 2023 01:46:54 +0100 Subject: [PATCH] Refresh the FAQ (#326) * Update the wording of the existing FAQ * Remove data notice in settings, it's already in the FAQ * Reorder questions * Remove horrendous spaces --- app/views/pages/faq.html.erb | 302 ++++++++++++++++------------------ app/views/users/edit.html.erb | 3 +- 2 files changed, 139 insertions(+), 166 deletions(-) diff --git a/app/views/pages/faq.html.erb b/app/views/pages/faq.html.erb index a1f94478..0af107ad 100644 --- a/app/views/pages/faq.html.erb +++ b/app/views/pages/faq.html.erb @@ -7,14 +7,14 @@
- Solve puzzles 🧠 Earn points 💎 Win prizes 🎁 + Solve puzzles 🧠 Gain points 💎 Win prizes 🎁
- Every single challenge you solve at any time will give you, your campus and your squad, points. + Each puzzle you solve at any time grants points to you, your campus and your squad.
- The <%= link_to "calendar", calendar_path, class: "link-explicit link-internal" %>(*) starts on - December 1st, and the winners in all categories will be determined by the standings on December 31st. + The competition starts on December 1st, winners in all categories will be determined + by the final standings on December 31st.
<% if user_signed_in? %> @@ -43,16 +43,16 @@<%= link_to "Advent of Code", "https://adventofcode.com/", target: :ext, class: "link-explicit link-external" %> - is an Advent calendar of small programming puzzles that can be solved in any programming language. + is an Advent calendar of small programming puzzles that you can solve in any programming language.
- Every day at midnight EST/UTC-5, from December 1st to - December 25th, a new puzzle pops up with some fictional Christmas backstory 🎄 + A new puzzle is released every day at midnight EST/UTC-5 (or 6am Paris time 😴), from + December 1st to December 25th, accompanied by a + fictional Christmas backstory 🎄
- Solving any puzzle earns you points 💎, not only for you, but also for - your campus @ Le Wagon and your custom - squad of 4. + Solving puzzles earns you points 💎, for yourself, your campus @ + Le Wagon and your custom squad of 4.
- A puzzle is a problem defined in plain English terms, for which the answer can only be found using programming. - For a given input, you need to compute the corresponding - output, usually a number. + A puzzle is a problem stated in plain English terms, (usually) requiring a programming solution to find the + answer. Given an input, you have to compute the corresponding + output, typically a number.
- A puzzle is made of two parts, two challenges: you access the second one only - if you solved the first one. + Each puzzle consists of two parts, two challenges, with access to the second one granted only + upon solving the first.
- If you want to take a closer look, puzzles from previous editions are available + Puzzles from past editions are available <%= link_to "here", "https://adventofcode.com/events", target: :ext, class: "link-explicit link-external" %>.
- The difficulty of a puzzle varies from day to day. The first part of each puzzle is - largely accessible to a Wagoner, student or Alumni. The second part is usually - harder, but still accessible to more or less experienced profiles. + Puzzle difficulty fluctuates across the event. The first part of each puzzle is + generally accessible to Wagoners, students and Alumni. The second part is somewhat + harder, but still doable for varying experience levels.
- Although the author of the puzzles attempts to increase the difficulty over time, in - reality it's not the case and pretty random. You may find puzzle #20 much easier than #5. The notion of - difficulty is very relative to your personal skill set and past experience with problem solving in general. + Difficulty is not strictly progressive; you may find puzzle #21 much easier than #6. + Difficulty is very relative to your personal skills and past problem-solving experience.
If you get stuck on a puzzle, you can always - <%= link_to "discuss it", Aoc.slack_channel, class: "link-explicit link-slack" %> - with others! This event with Le Wagon is, above all, a great opportunity - for sharing, learning and helping each other, regardless of your initial skill level. - It's also a perfect moment to reconnect with your campus/batch 🤙 + <%= link_to "discuss with other Wagoners", Aoc.slack_channel, class: "link-explicit link-slack" %>! This event + is about sharing, learning, and mutual help, irrespective of your skill level. + It's also a perfect time to reconnect with your campus/batch 🤙
- The Advent of Code platform is where you find and solve the puzzles. + A squad is a group of up to 4 participants, and each participant can be part of 0 or + 1 squad.
- Because @ Le Wagon we like things spicy, we wanted to build scoreboards - by campus. The leaderboard system on adventofcode.com is not flexible enough - for that. + You build your squad by assembling your dream team (find people + <%= link_to "on Slack", Aoc.slack_channel, class: "link-explicit link-slack" %>) and create a squad in your + <%= link_to "settings", settings_path, class: "link-explicit link-internal" %>(*) in 1 click.
- We built this platform to create a link between Kitt and Advent of Code, so we can build - <%= link_to "custom agregated scoreboards", scores_path, class: "link-explicit link-internal" %>(*). + Creating a squad generates a unique PIN to share with your peers for joining. +
++ Squads have their own scoreboards, and the squad's score is + the sum of its members' scores. +
++ ⚠️ Squads lock on + <%= "#{Aoc.lock_time.to_fs(:long_ordinal)} #{Aoc.lock_time.zone}" %>. No squad creation, joining or leaving is + possible after that.
- When you pass the setup process, you actually join a private leaderboard on adventofcode.com. These private - leaderboards are capped to 200 members and you are definitely more than 200 to participate :-) -
-- To overcome this issue and build a global leaderboard with everybody, - we create multiple private leaderboards on adventofcode.com behind the scenes: - each participant is assigned to one. Once a private leaderboard is full, we create a new one. -
-- Bottom line is that the private leaderboard you appear on adventofcode.com does not make a lot of sense, - because you belong to a group of 200 people that is pretty random. You should look at the - <%= link_to "scoreboards", scores_path, class: "link-explicit link-internal" %>(*) - on our own platform that includes everybody from all of our private leaderboards. + Coming soon... 👀
- In a nutshell, you have 24 hours to get the maximum points available for a daily puzzle. After that, points you - can earn slightly decrease over time. + TL;DR - You have 24 hours to maximise points for a daily puzzle; after that, points decrease slightly over time.
Individual scores
- There are 50
challenges (25 days * 2 challenges per day).
- For each one of them:
+ There are 50
challenges (25 days * 2 challenges/day). For each challenge:
50
points1
every hour25
points1
/hour, up until
+ 25
points
+
- To be clear, even if you solve a challenge 2 weeks from its release, you still get
- 25
points.
+ Even if you solve a challenge 2 weeks after release, you still get 25
points.
- Your individual score is the sum of scores for every challenge you solved. + Your individual score is the sum of scores for every challenge you solve.
Tiebreakers:
- Ranking campuses is hard, because the number of Alumni per campus is very different. + Ranking campuses is hard, because Alumni per campus vary a lot. +
+
+ For each challenge, the campus' top N
individual scores are taken into
+ account.
- For each challenge, only the scores of your campus' top contributors are taken into account. The number
- of top contributors is determined by your campus' size: it's either
- 3%
of your campus' size, or 10
contributors, whatever
- the greatest.
+ N
is determined by your campus' size: it's equals either to
+ 3%
of your campus' size, or 10
, whichever is
+ greater.
Examples:
51
Alumni. 3% of 51 is 1.53 (ceiled to 2
), thus
- the number of top contributors will be 10
.
+ Berlin's campus has graduated 1839
Alumni. 3% of 1839 is 55.17 (ceiled to 56
),
+ thus Berlin's N
is equal to 56
.
1839
Alumni. 3% of 1839 is 55.17 (ceiled to 56
),
- thus the number of top contributors will be 56
.
+ Stockholm's campus has graduated 51
Alumni. 3% of 51 is 1.53 (ceiled to 2
), thus
+ Stockholm's N
is equal to 10
.
- The number of top contributors will be set according to the number of Alumni per campus ~ a week before December, - and will stay the same until the end of the event. -
-
- So, for each challenge, the score of a campus is the average of the individual scores from its top
- contributors. Finally, the global score of a campus is the sum of these averages for all challenges.
+ Campus score, for each challenge, is
+ the average of the top N
individual scores. The global campus score is
+ the sum of these averages for all challenges.
Examples:
10
.N
is equal to 10
.day 1 part 1 | [50, 50, 50, 48, 48, 45, 36, 25, 25, 25, 25, 0]
day 1 part 2 | [50, 50, 50, 50, 40, 25, 25, 0, 0, 0, 0, 0]
40.2 for day 1 part 1 + 29 for day 1 part 2 = 70
.
+ Stockholm's score is the sum of each challenge average of the 10 participants with the highest scores among
+ the 12 participants, so
+
+ 40.2 for day 1 part 1 + 29 for day 1 part 2 =
+ 70
+
.
56
.N
is equal to 56
.day 1 part 1 | [50, 50, 50, 48, 48, 45, 36, 25, 25, 25, 25, 0]
day 1 part 2 | [50, 50, 50, 50, 40, 25, 25, 0, 0, 0, 0, 0]
13
.
@@ -234,82 +232,38 @@
Tiebreakers:
N
N
- 50% of batches in 2021 had... 1 participating member.
78% had 3 or less.
-
- Batch grouping did not make much sense for most participants. -
-- Batch scores will disappear in 2022, giving birth to a brand new feature: squads. -
- A squad is a group of up to 4 participants.
A participant can belong to 0 or
- 1 squad.
-
- You are responsible for building your squad: assemble your dream team (you can find people - <%= link_to "on Slack", Aoc.slack_channel, class: "link-explicit link-slack" %>), then materialize it in a squad - in your <%= link_to "settings", settings_path, class: "link-explicit link-internal" %>(*). -
-- Create a squad in 1 click and share the generated PIN of your squad to your - peers: they will need it to join you. + Puzzles release globally at midnight EST/UTC-5, or 5:00/6:00 in Western Europe.
- Squads have their own scoreboards. The score of a squad is simply - the sum of its members' scores. + Some of you wake up right before 6:00 to start coding upon puzzle release, every day, during 25 days.
- ⚠️ Squads will be locked on - <%= "#{Aoc.lock_time.to_fs(:long_ordinal)} #{Aoc.lock_time.zone}" %>. From that moment, you will not be able to - create, join or leave a squad. + This is insane.
- In case of late registration or exceptional situation after lock time, please - <%= link_to "contact us", Aoc.slack_channel, class: "link-explicit link-slack" %>. + But I don't want to get in the way of people adopting new morning habits.
-- In 2021, the amount of points you could earn depended on your rank/time to solve a challenge - from its release. The puzzles release at midnight EST/UTC-5, which is also 5:00/6:00 in Western Europe - or 12:00/13:00 in Asia. + So we created an additional individual scoring system, based on your time to solve a challenge + from its release:
- Some people woke up right before 6:00 to start coding upon release, every day, during 25 days. -
-- This is insane. -
-- However, I don't want to prevent people from getting new morning habits and solve puzzles before sunrise. So I - decided to keep this scoring system as an opt-in (being insane myself had nothing to do with that decision). -
-- It is now called The Ladder of Insanity. + The Ladder of Insanity
- I am insane, how can I join? + I am insane, how can I join?Go to your <%= link_to "settings", settings_path, class: "link-explicit link-internal" %>(*) and @@ -336,24 +290,23 @@
- ⚠️ The Ladder of Insanity will be locked on - <%= "#{Aoc.lock_time.to_fs(:long_ordinal)} #{Aoc.lock_time.zone}" %>. From that moment, you will not be able to - join or leave it. -
-- In case of late registration or exceptional situation after lock time, please - <%= link_to "contact us", Aoc.slack_channel, class: "link-explicit link-slack" %>. + ⚠️ The Ladder of Insanity locks on + <%= "#{Aoc.lock_time.to_fs(:long_ordinal)} #{Aoc.lock_time.zone}" %>. No joining or leaving is possible after + that.
- How the ranking works + How the ranking works
- Let N
be the number of participants who opted-in for The Ladder of Insanity.
+ Let X
be the opt-in (insane) participants.
+
+ For each challenge, participants are ranked by relative time to solve it. The first participant wins
+ X
points, the second one wins X-1
points, the third one X-2
points and so
+ on.
- For each challenge, participants are ranked by their relative time to solve it. The first participant
- to find the correct answer to a puzzle wins N
points, the second one wins N-1
points,
- the third one N-2
points and so on. Example:
+ Example:
- Scores are dynamically adjusted as new participants join The Ladder of Insanity. Your score of Insanity is - the sum of scores for every challenge you solved. + Scores are adjusted dynamically as new participants join The Ladder of Insanity. Your Insanity score is + the sum of scores for challenge you solve.
- You have until <%= "#{Aoc.lewagon_end_time.to_fs(:long_ordinal)} #{Aoc.lewagon_end_time.zone}" %> - to solve the puzzles 🏁 From that moment, all scores will freeze to determine and announce the results. + Advent of Code hosts and presents the puzzles for solving. +
++ At Le Wagon we like things spicy, we want + campus-specific scoreboards, which the adventofcode.com leaderboard system does not + support. +
++ So, we created a platform (this website), linking Kitt and Advent of Code, to build + <%= link_to "custom agregated scoreboards", scores_path, class: "link-explicit link-internal" %>(*).
- The best <%= link_to "individuals", scores_solo_path, class: "link-internal link-explicit" %> (including - <%= link_to "insane ones", scores_insanity_path, class: "link-internal link-explicit" %>) will win - exclusive t-shirts from the event. + During the setup process, you join a private leaderboard on adventofcode.com, capped at 200 members. As + participants here exceed this limit, multiple private leaderboards are created behind the scenes, + assigning each participant to one.
-- The best <%= link_to "squads", scores_squads_path, class: "link-internal link-explicit" %> will win - online escape rooms - more puzzles! + Your private leaderboard on adventofcode.com is meaningless, it's a random group of 200 Wagoners.
++ Check our platform's + <%= link_to "scoreboards", scores_path, class: "link-explicit link-internal" %>(*) instead, they + include everyone in the comunity! +
+- The best <%= link_to "campus", scores_campuses_path, class: "link-internal link-explicit" %> will win - a check from Le Wagon HQ to fund a huge party/event in 2023. But most importantly, - the campus will earn the most prestigious award: the golden star ⭐ + <%= "#{Aoc.lewagon_end_time.to_fs(:long_ordinal)} #{Aoc.lewagon_end_time.zone}" %> + is the deadline for solving puzzles 🏁 At this point, all scores will freeze, and the results will be determined + and announced.
- When you hit the button "Sign in with Kitt", we only collect your GitHub username.
- We use it as your default public username on the platform, but you can change it any time.
+ When you hit "Sign in with Kitt", we collect your GitHub username
, batch number
and
+ campus
. We use your GitHub username as your default public username, changeable at any time.
+
+ When you hit "Link Slack account", we collect your Slack ID
, Slack username
and
+ encrypted authentication token
from Le Wagon Alumni workspace.
- We do not collect emails or real names. That's it. + We do not collect emails or real names.
To facilitate support and communication (e.g. for the rewards), you can link your Le Wagon Slack account with the
- platform. You also might access to other cool features 👀
- Data we retrieve: slack_id, slack_username
+ platform. You also might access to other cool features 👀