I have to say that sometimes I am incredibly surprised with some things. The last one has been to transform an old typewriter into a valid USB keyboard. This baffles me, because I am old enough to remember a word with typewriters. Well, I’m not that old. I only used a typewriter very briefly, on my school years, but I was close enough to people using them, most in particular, my grandfather. My grandfather was a journalist and writer, and for most of his life, he used a typewriter for quite a long time… Read More
Because Fibonacci numbers are quite abused in programming, a similar concept. My first impulse is to describe them in recursive way: But this is not very efficient to calculate them, as for each is calculating all the previous ones, recursively. Here memoization works beautifully Taking into account that it uses more memory, and that calculating the Nth element without calculating the previous ones is also costly. I saw this on Programming Praxis, and I like a lot the solution proposed by Graham on the comments, using an iterator. The code is really clean.