New #12in23 Badge for completing all the things

Hey everyone. We’re adding a new year-long 12in23 badge for completing all the of the monthly featured exercises in one of their featured languages.

"Publish all the exercises" meme

You’ll be able to check your progress on the 12in23 page once Mechanical March starts.

The rules:

  • An exercise must be published during 2023.
  • You can complete/publish them at any time during the year not just the featured month.
  • You need to complete each exercise in at least one languages (it’s not required to complete it in all the featured languages)
  • You can mix and match languages, so for Feb, do 3 in F# and 2 in Elixir, etc. So if you’d previously completed a Functional February exercise in F# in 2022, but you want to make it count for 2023, solve the same exercise in Elixir or one of the others (note that you can “Disable Learning Mode” - look for the ... button on the track page - if you don’t want to work through the whole syllabus, although we already recommend syllabuses if you have the time! :slight_smile:)

Here are the correct language/exercise pairs to earn the badge:

Functional February

  • Languages: Clojure, Elixir, Erlang, F#, Haskell, OCaml, Scala, SML, Gleam
  • Exercises: Hamming, Collatz Conjecture, Robot Simulator, Yacht, Protein Translation

Mechanical March

  • Languages: C, C++, D, Nim, Go, Rust, V, Zig
  • Exercises: Linked List (or Simple Linked List), Secret Handshake, Sieve, Binary Search, Pangram

Analytical April

  • Languages: Julia, Python, R
  • Exercises: ETL, Largest Series Product, Saddle Points, Sum Of Multiples, Word Count

Mindshifting May

  • Languages: Ballerina, Pharo, Prolog, Red, Rust, Tcl, Unison
  • Exercises: Acronym, Isogram, Roman Numerals, Raindrops, Space Age

Summer of Sexps

  • Languages: Common Lisp, Clojure, LFE, Emacs Lisp, Racket, Scheme
  • Exercises: Difference of Squares, Leap, Matching Brackets, Robot Name, Two-Fer

Jurassic July

  • Languages: C, C++, Cobol, Fortran, Visual Basic
  • Exercises: Bob, Allergies, Reverse String, High Scores, Armstrong Numbers

Appy August

  • Languages: ABAP, CoffeeScript, Dart, Delphi, Elm, Java, JavaScript, Kotlin, Objective-C, PHP, PureScript, ReasonML, Swift and TypeScript
  • Exercises: Anagram, Phone Number, Triangle, RNA Transcription, Scrabble Score

Slimline September

  • Languages: 8th, AWK, Bash, JQ, Perl, Raku
  • Exercises: Atbash-cipher, Darts, Gigasecond, Luhn, Series

Object Oriented October

  • Languages: C#, Crystal, Java, Ruby, Pharo, Powershell
  • Exercises: Binary Search Tree, Circular Buffer, Clock, Matrix, Simple Cipher

Nibbly November

  • Languages: MIPS Assembly, WebAssembly, x86-64 Assembly
  • Exercises: Pop Count, Grains, Resistor Color, Rotational Cipher, Nucleotide Count

December Diversions

  • Languages: Cold Fusion, Groovy, Lua, VimScript, Wren
  • Exercises: All Your Base, Flatten Array, Queen Attack, DND Character, Run-Length Encoding

I’ll update with more pairs as we add them each month!


Question: what do we do when one of the featured exercises was published in a previous year (in my case F#/robot-simulator from 2022)? Can we modify the code and re-publish it, or (perhaps better) do just that exercise in another language? Either of those seem reasonable.

I assume I don’t need to write off the F# track entirely and restart in Elixir (or whatever) - the rules don’t say that all exercises that month need to be in the same language, so we can mix them up.

1 Like

This option. Best to do it in another language, and you can indeed mix them up, yes! :slight_smile:

Thanks for checking - I’ll update the OP to clarify.


I’m sorry if this is the wrong place to post this, but I just finished and published a solution for Pangram in C++. However it’s not showing up in the #12in23 tracker, while Secret Handshake that I solved earlier in C++ does.


I should also note that I didn’t receive a Mechanical March-badge for solving 5 other exercises this morning.

Thanks for this exciting and fun year long challenge!

1 Like

@6lr61 Hi! Thanks for reporting :slight_smile:

Both are bugs.

  • The pangram one should be fixed now - could you confirm pls?
  • There was a LOC missing in the badge awarding code. That’s just deploying and we’re about to back-propogate badges so you should get that soon too.

Yes, I can confirm that Panagram is now counted towards the goal!


I’ll be patient and wait for the badge to show up :slight_smile:
Update: I got the Mechanical March badge now too.

Thank you!


If one of these languages doesn’t have a exercise, this should be considered a bug?

Clojure, for example, doesn’t have the Yatch exercise yet. Although I could do it in another language, it would be nice if I could solve all five exercises in one language to take advantage of what I have already learned.

1 Like

Not a bug, but probably something the maintainers would choose to prioritise. Our tracks are created by volunteers so exercises are added on a “what they feel is most important” basis. (cc @porkostomus who maybe will add it for you :slight_smile:)


Yeah it just means that it wasn’t one of the 76 exercises added by the v2 maintainers. It’s one of our canonical exercises (assuming you’re referring to yacht), so if I update the exercise generator we should be able to port it automatically. It just hasn’t been used in years and we’ve since switched templating systems, but I’ll bump this up on my things to do :slight_smile:


@porkostomus Talk to @kytrinyx about he generic generator before trying to resurrect the existing generator :slight_smile:

1 Like

Small typo at the top of this thread: Mechanical March exercises also include Pangram. This is shown correctly on the 12in23 page, so no great harm done.

1 Like

Updated. Thank you :slight_smile:

1 Like

How much advanced notice will we get about the featured exercises for upcoming months?

1 Like

It seems wise to roughly plan out all featured exercises for the rest of the year already, so that it can be made sure that fitting exercises are still left for the later months.


Knowing beforehand could also help to prep the exercises with more documentation (or adding them to the tracks at all).

1 Like

About 24hrs currently :slight_smile:

I more meant prioritise over the rest of the year though (as it’s a year-long badge).

Yeah - agreed. @ErikSchierboom is juggling a lot atm, but this sounds like a sensible thing to add to his list :slight_smile:

We’re also trying to prioritise these exercises for our description rewrites.

Maybe this can be crowd sourced?

1 Like

If you’d like to start a new thread with some suggestions in and encourage others to partake with suggestions, I’m sure @ErikSchierboom would appreciate that!

1 Like



Awesome. And big kudos for the two points in bold! In Katrina’s words “That’s a really good post.” and I couldn’t agree more! :slight_smile:

1 Like