# Mental Warmup ... or mental pain generator, I don't know who are you, dear reader. You've come here to learn programming, and programming is all about doing mental processes. Thinking, in common tongue. Are you comfortable with thinking? I don't want to sound rude, it's just another checkbox in a "wannabe developer" checklist: - [X] have a desire to learn something new - [X] can dedicate some hours a week to learning, without distractions - [X] find a free teaching/learning resource - [X] find a friendly community, where you can ask questions and get feedback - [ ] like thinking on tough problems - [ ] ... So should I mark that checkbox? ## If checkbox marked... I'll talk about motivation, but a bit later. It will be culmination, a plot of what I'm going to ask you next. Okay, so let's start with a simple equation: <mark>Doing programming `==` solving puzzles.</mark> This is a basic equation of programming. Learning programming is essentially learning to solve puzzles. How do you feel, do you like to solve puzzles? In any case, I don't want to hear your answer, I want you to answer yourself that honestly. I'll help you a bit. I'll present a little example, you **should** try to solve it though. ### A little puzzle This puzzle is about squares. ####