Advent of Code - Reflective log

by Liu Zhang
Solved rubik’s cube / gan cube.
Photo by Olav Ahrens Røtne / Unsplash

This year's Christmas, I was introduced to Advent of Code event (link). It is a daily puzzle challenge for coders to play with, one question each day starts with 1st Dec and it runs until Christmas day, so it is an ultra-marathon event. I always liked a challenge, so why not?

Given I am a training consultant from The Information Lab, it is an exercise exclusively done by using Alteryx.

Turns out it is Alteryx Challenges on steroid.

The Good:

It really push the understand of building macro, pretty much every exercise involves at least one iterative/batch macro. Hence plenty chance to practice with the Interface tools and Interface Designer.

Quite often the challenge involves doing each batch iteratively, therefore the setup for a nested macro become important. (A few times already, I have to just copy and paste the workflow to brute force it, rather than setup the chain correctly.)

Given the iterative macros often runs without issue in the initial workflow. Debug becomes significantly harder, there is immeasurable amount of frustration involved. Often enough, I need to manually copy paste the results to macro input to see where the issue is, either it's a small mistake which is annoying or a big mistake which is more annoying.

Happy face when it is resolved, not so much during the process.
a business woman who is stressed and frustrated
Photo by Elisa Ventur / Unsplash

As the challenge is created for general coding, some of the stuff maybe more easily solved within some environment rather the other. For example, some of the puzzle involves a grid search, so data stored in table format can be easily traced, which is rather challenging in Alteryx, given the tools in Alteryx works in either rows or in columns, but not both (either multi-row or multi-field tool). So a clever way of pivoting the data matters a lot.

I have also had much experience of facing the barrier of exponential growth. Often the solution for part 1 cannot be used for part 2, though the logic is correct, but 50 iterations simply kills the memory. There are plenty times when the iteration zap through 10 or 20 iteration, then it starts to crawl one by one in the results pane.

Suprise Birthday
Photo by Nathan Bingle / Unsplash

It is hard to reverse out a logical dead-end and think a new way to do things. And this is where the community comes in. Although it is limited number of people doing it with Alteryx compare with other common coding languages. The people who do comment are the good ones, really really good. (Link) A lot of things can be learnt there.

It is always good idea to put yourself out there.

The Bad:

This is a super time consuming exercise, it is lucky for me to finish within 1hr (classified as easy by me now), quite often I needed more than 2hrs for each question. The weekends are the worst, to get up early in the morning is hard, to finish it after a night out is even worse.

(Not sure I want to do it again next year.)

The Painful:

It is only day 14 out of 25...

Looking for more guides, tips and tricks in Tableau or Alteryx? Go check out the other blog posts from the Data School.

Tableau Public



Sun 03 Oct 2021

Tue 28 Sep 2021

Fri 01 Oct 2021