Reviewing Elixircards

14 Nov 2018 · by George Mantzouranis

For the next part of this series, we are reviewing 6 decks from Elixircards

My first contact with Elixircards was from a demo deck they gave away at ElixirConf EU 2018.

demo_image

I really liked the idea but the deck only had a handful of cards in it and the quality of them was not there. Unfortunately, the demo wasn’t a good enough sample to really motivate me to buy a set.

For this review, Elixircards was kind enough to send us 6 decks to review and study. I have to say that my impression from ElixirConf EU were off-base, I was wrong to not purchase the cards sooner.

Author

Elixircards are produced by the team at CleverBunny, who are passionate programers and have been excited and supportive of Elixir for more than 3 years. They have been using Elixir in production for 2 years now. Elixircards is their way to have fun and give back to the community.

Target

Elixircards are great whether you’re a beginner just finding your feet, or a seasoned pro looking to sharpen your claws. Flashcards are proven strategy for identifying and filling in gaps in your knowledge. Fundamentals 1 and 2 gives you a full taste of Elixir and covers the basics. Other packs, such as Enum range cover the Elixir API on module basis, which allows you to reinforce your knowledge and discover new functions. The best way to use flashcards is to play games with your peers, as they often spark interesting discussions.

Review

The decks we received to review were the following:

  1. Fundamentals 1
  2. Kernel 1
  3. Enum 1
  4. GenServer
  5. Agent
  6. Regex

In addition to these there’s 5 more decks available for purchase:

  1. Fundamentals 2
  2. Kernel 2
  3. Kernel 3
  4. Enum 2
  5. Enum 3

My experience with the 6 decks I received should be same for the others but each deck varies slightly.

Packaging

packaging image

The decks arrived in a very sturdy small box which also contained a small envelope with my name on it! Made for a nice personal touch and it contained a few stickers (YAAAAY!), a thank you card, some promo cards for their other projects and a small game idea pamphlet.

The packaging was quite effective, the tuck boxes were not damaged at all.

Tuck Boxes

tuck_box_image

The tuck boxes are standard card deck tuck boxes but are very nicely done with information written on all sides in a Elixirish purple color. You need to be a bit careful taking the cards out, since the cards take 100% of the space of the tuck box, you’re getting your money’s worth. I have to say they make a very nice bookshelf decoration when not in use, so kudos!

Cards

contents_image

The cards themselves were a design treat. They are of very fine quality paper with a nice grippy touch and feel.

The front side has a pleasant purple background with a very nice combination of vertical and horizontal lines, which kind of reminds me of a computer circuit in a way. The lines are a variation of purple which make for a nice aesthetic. The text is in white with each card having the deck identifier on it on the bottom right (e.g. F1 for Fundamentals 1) so when you mix and match decks, you can always identify from where the card originates.

The back is similar; only reversed with the background in white and purple text. On the bottom right each card has a number reflecting its index in the deck.

One improvement I’m very happy with is when compared to the test deck I got at ElixirConfEU, these cards have a matte finish making them much easier to read.

Deck Analysis

Fundamentals 1

This deck contains introductory content about Elixir. It is a good jack-of-all trades with the cards being a mix of Kernel, List, and String functions, conditionals and more. These cards are going to be mostly helpful to beginners of the language, experienced users are probably not going to get much from them besides a refresher.

Kernel 1

This deck contains cards that cover the Kernel functions, some arithmetic expressions, logical expressions, and regular expressions. All these cards can easily be practiced in iex. They are a bit repetitive on some topics but that repetition paid off, as it did clear up certain things for me.

Enum 1

This is the first deck of a series that cover the Enum module. These decks are probably the only ones that you should buy together as a set, as you are not going to have the complete experience with just the one. The 1st deck starts with two cards about map/2 then proceeds to walk through the Enum functions alphabetically; from all?/2 to drop_every/2 with a few additional cards on take and take_every. We’re not entirely sure about the reasoning behind this, if it’s an inconsistency or an attempt to capture some of the most useful functions in the module while still maintaining the alphabetical list.

The information contained in these collections are great and you will learn a lot about Enum and the collection of functions it provides. With the importance of enumeration in functional programming this is definitely a set to consider as a must-have.

GenServer

I don’t know if this deck was supposed to be part of a series at some point, as the deck I received was labeled as GenServer 1 but is now listed on the website simply as GenServer. This deck is magnificent, period. It has so much information on GenServers, starting from initialization and covering topics like writing your own, termination, edge cases, hibernation, and more. You may find some cards are a bit repetitive but since this is a very tough, but important, component of the ecosystem the repetition and edge cases they contain are probably needed.

If you’ve never written a GenServer or you’re just looking to re-enforce your understanding, this deck should be on your list.

Agent

To be honest, I didn’t expect to learn much or enjoy this deck, as I have not worked with Agents much. I was wrong! This deck opened my eyes and helped me see how to use Agents. It is a deck crammed with information, and if you need to work with Agents and your knowledge of them is limited, this deck will definitely help you.

Regex

I found this deck helpful and learned quite a bit but I’ll be honest, I’m not sure Regex is important enough to dedicate a deck to. Not to mention the very field of regular expression is vast, far beyond that of Elixir. While I found this deck useful I think more important areas of Elixir could be focused on instead.

Conclusion

Elixircards is a great idea. If “Learning 2.0” was a thing these flashcard would find themselves there.

I found most of the cards very helpful and really nicely priced for the knowledge / help they provide in practicing your Elixir knowledge on-the-go. Given how creative the Elixir community is, I’m sure we can come up with some great games using the elixircards.

With a little work and some additions the elixircards would be in a class of their own. For instance, I think Enum should be approached differently so as not to require the purchase of all decks at once to get the most use out of them. Perhaps mixing the difficulty and functions across the three separate decks?

I would love to see the GenServer deck expanded like some of the others and focus on OTP in general, with OTP 1 being the basics and OTP 3 being the more advanced topics. Adding content on Tasks and Supervision would be a welcomed addition as well.

Last but not least, I would love to use this flashcard style of learning to learn other aspects of Elixir such as Phoenix, Ecto, Nerves, and the newest addition Scenic. Given how excellent these cards are I can only begin to imagine how useful and educational those decks would be.

George Mantzouranis

George is a software engineer based in Greece who's initial foray into Elixir brought him to Elixir School where he led the translation to Greek. Since joining the team he developed a number of the translation focused features to include the translation report. Being on the learning path, he also decided to contribute back to the community by reviewing the material he uses each time.