A notebook by Fernando Pelliccioni

Algorithms.
Abstractions.
Better software.

Exploring the foundations of programming, one idea at a time. C++, generic programming, mathematics, and the craft of building efficient software.

More about me C++ · GENERIC PROGRAMMING · MATHEMATICS

02 / The archive

Ideas, notes & discoveries.

Thanks Alex, once again!

Once again, I would like to thank my friends Alex Stepanov and Paul McJones for this beautiful gift. I have been looking for this book for years. It is a very difficult book to get. I have no words to thank you. Thank…

Algorithms and specifications

In this article I want to talk about 2 topics in which I think that most programmers tend to fail: Algorithms and Specifications. I'm going to use a real experience, which happened some time ago: For 4 years now I have…

Elements of Programming Authors' Edition (free ebook)

These are fresh news. This year Elements of Programming celebrates 10 years since its publication, but this time the gift is for us: Alex Stepanov and Paul McJones have just released Elements of Programming Authors’…

My 'The Gift of the Arabs' talk (Spanish)

Hello! I share with you the links to the video and slides of my talk entitled The Gift of the Arabs, which was presented at the Algorithms Study Group meetup in May 2017 in Buenos Aires, Argentina. The content of my…

Honorable Mention 'Senator Domingo Faustino Sarmiento'

On November 29, 2016 I had the honor and pleasure to receive, as a member of the scientific team of the National Commission of the Outer Limit of the Continental Shelf (COPLA)), the Honorable Mention "Senator Domingo…

My '¿Fastware?' talk (Spanish)

Hello! Here is the the link to the slides of my talk entitled "¿Fastware?" (Spanish resource), which was exhibited at the "Second C++ Buenos Aires Meeting" on July 14, 2016. At that meeting we had the pleasure to view…

Palindromes and more

I decided to write this article from a question I saw in stackoverflow.com Here the link to the question. The questioner tries to write an algorithm to identify whether a "word" is a palindrome or it is not. The…

My 'Intro to Generic Programming' talk (Spanish)

Hello! Here is the the link to the slides of my talk entitled "Introduction to Generic Programming" (Spanish resource), which was exhibited at the "First C++ Buenos Aires Meeting" on March 31, 2016. At that meeting we…

Vin d'honneur

On May 4, 2016, I was invited by the Argentine Minister of Foreign Affairs, Susana Malcorra, to the Vin d'honneur (Wine of Honor) that took place in the Golden Hall of the San Martín Palace, on the occasion of the…

The Outer Limit of the Argentine Continental Shelf

On 11 March 2016, the plenary of the 40th Session of the United Nations Commission on the Limits of the Continental Shelf (CLCS) approved the Recommendations on the Argentine presentation of the Outer Limit of the…

Alex Retirement

Alex has retired. This is a very nice Commemorative Stamp, by Joyce Croft and Alexander Zeyliger of A9. I have to confess that I feel sad because I really wished that Alex continue contributing ideas for much longer…

Thanks Alex!

I am very pleased to have received these two gifts. These are two great books. It is an honor for me that are autographed by one of the greatest of our discipline. Do not deprive the pleasure of reading them. Elements…

What's your favorite flavor of Object?

In this article I want to continue the discussion about the terminology that we, programmers, use daily; following the line of "Using the proper terminology: Method?". Introduction Programmers, especially since the…

Using the proper terminology: Method?

In this series of articles I intend to review why we, as programmers, use certain terminology, certain words, some of which I consider inappropriate.\ In this case want to talk about the word method. First of all ...…

Components Programming

As you may have noticed, Components Programming is the name of this blog. And perhaps you're wondering, what Components Programming means? It is convenient to clarify it now, since, in upcoming articles I want to test…

Writing min function, part 5: Stabilizing the algorithm

This is the fifth article of the series called "Writing min function". Finally I will address the last pending issue.\ To see the importance of the point I want to show to you, we have to write another function of our…

Writing min function, part 4: Const-Correctness

This is the fourth article of the series called "Writing min function". I still have to solve two mistakes made in the code of the previous posts. One of them is C++ specific, and the other it is a mistake that could be…

Writing min function, part 3: Weakening the ordering

This is the third article of the series called "Writing min function". Now we understand what Concepts are (do we?), I will try to complete the min function. What do I mean with "complete"? Well, first we need to see…

Writing min function, part 2: Understanding Concepts

This is the second article of the series called "Writing min function". I want complete the min function and fix the mistakes mentioned in the previous post. But first, we have to understand Concepts, so let's review…

Writing min function, part 1: The rise of Concepts

This is the first in a series of articles in which I want to transmit what I learned (or what I think I learned) from the books, papers and lectures of Alexander Stepanov. These are the lessons that Alex gives us, and I…

03 / AL-KHWĀRIZMĪ

See the algorithms at work.

Step through algorithms and explore how they behave in the interactive analyzer.

Open algorithm lab