inkel

Software programmer interested in SRE, DevOps, Machine Learning and Augmented Reality.

Advent of Code 2020: Day 7

1min.

I had a very busy couple of days at work, so I couldn’t get too much done in Advent of Code. Working on day 7 took me a while to figure out the solution, specially in part 2. But I did it.

I think the biggest issue that I faced was that I was still trying to think in terms of procedural programming and not functional programming. I’m definitely not happy with the solution, again specially part 2, but it works. I’m definitely looking forward to start refactoring the code and looking for better solutions.


Advent of Code 2020: Day 6

1min.

So far these are the challenges that I liked the most, I think. Also, a feeling that I’ve been having lately was that the code is a mess (to be expected because I’m learning) and this particular day’s solutions showed me exactly that: there are lots of refactorings to apply that will make the code more reusable and maintainable. I don’t plan on doing that yet, but it’s likely I’ll do it in the upcoming days.


Advent of Code 2020: Day 5

1min.

These day 5 solutions took me a little longer, yet nothing compared to how long it took me when I started with Clojure.

One thing that I always knew theoretically but now I can confirm because of working with it the last few days is that the level of expressiveness is astonishing. I was very comfortable when I was programming in Ruby because I felt that it was too easy to translate my thoughts into code, but I’ve got to confess that while I’m nowhere near that level of comfort, I’m liking it more and more as each day passes.


Advent of Code 2020: Day 4

1min.

Last night I solved day 4 part 1 of the Advent of Code 2020 challenge, and this morning I finally solved part 2, thus solving day 4 completely. While arguably days 2, 3, and 4 have “simpler” challenges than day 1, they were still challenging, specially given how unfamiliar I am with Clojure’s syntax and API.

I feel more confident as each day passes, and I’m getting more proficient with the environment as well. I hope that by the end of Advent of Code I feel confident enough to try Clojure in a small project at work.


Advent of Code 2020: Day 3

1min.

I’m on a roll! Day 1 was painful; in day 2 I did some improvements, and now day 3 was also solved in less than 2 hours!

I’m getting more familiar with Clojure, and the tools I use for this project: Leiningen, Emacs + CIDER. About the latter, I know I could be more efficient if I knew the commands better, but so far it is really useful and I’m not only learning tons but also in awe as to how well integrated this tool is.


Advent of Code 2020: Day 2

1min.

Funny how day 1 took me 4 days to solve but I was able to solve day 2 in just an hour. I guess the challenges are not strictly in a increasing order of complexity.

I also like that I think my Clojure programming style is getting better as the time passes, which in the end was my sole main objective.

Let’s see what day 3 lies ahead…


Advent of Code 2020: Day 1

1min.

I did it! I was finally to solve both Day 1 challenges in Clojure! And it only took me four days!

As said in my previous post one of the reasons why I’m participating in this years Advent of Code is because I want to learn Clojure, and while at times I felt frustrated because I couldn’t find the solution, I’m happy that I did. As with everything, in hindsight, the solution is obvious now. Not that while the problems were similar, both solutions are quite different, and I think they showcase my improvement with the language and functional way of thinking.

I’m looking forward to Day 2 challenges, and I hope to solve them in less than four days!


Advent Of Code 2020

1min.

For years I’ve been a fan of the idea behind Advent of Code:

…an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.

For a variety of reasons I’ve neglected participating in past editions, but this year I’ve finally decided to give it a try.

The biggest reason behind the decision to join this year was that for the longest time I had the desire to become proficient in any of the many LISP languages out there, particularly in Clojure, so I saw this as a chance to get more familiar with it, learn something more about it, and having fun while doing so.

There are already 2 puzzles going on, and I haven’t even started, but when I do I also plan to publish everything into my GitHub account.