In this section of my home page you will find some, hopefully,interesting and useful documents about programming and other issues.

Just a note: I am not a natural English speaker so, please, forgive me in advance if you find the English of my documents a little broken. I am trying my best to improve it 😉

Dynamically loading modules in Perl at run time: It can be very practical —and cleaner— to be able to load modules only referring them by name, let's say in a configuration file, so that a program can be extended only adding modules and not modifying the core of the application itself

If you cannot name it, it shouldn't exist!: As age progresses, I become less and less tolerant toward certain things, today it is the turn of (unnamed) tuples, pairs, and similar atrocities like them.

The Linked In Languages (Popularity?) Index: I have never been a fan of query / search engine based programming languages popularity index so I created my own without using any search data.

The SCRUMmunist Manifesto: A spectre is haunting the world of software development — the spectre of SCRUMmunism. All the powers of old IT have entered into a holy alliance to exorcise this spectre.

Snake oil and Piña Colada: Without any false modesty, this is probably the best of my rants so far. The subject? Machine learning's hype. Have fun!

Is Big Data a Problem or a Solution?: I have been puzzled for a while in trying to understand if "Big Data" is something that should lay on the problem space or if it belongs into the space of the solution.

The Patient Zero Syndrome: The fear of being the possible targets of a new technology of behaviour is quite natural but that should not be the reason why we should not welcome changes and novelty.

So you want to work here…: Hiring is one of the cornerstones of making a company successful and hiring the best people around is an essential, but very difficult, task. In this write up we will go through the anatomy of an interview in the technical field and we will also see the different types of technical, and not so technical, interviews.

I want my pony! Or why you cannot have C++ exceptions with a stack trace: Exceptions with the capability of providing, or printing, the stack trace associated with the point in which the they have been thrown are now a common feature in languages like C# and Java but not in C++. Here I try to explain why they are not present and why it is better for them not to be there.

Perversions, Cults and Fetishes of the Information Age: This write up belongs to the category of the rants that every now and then appear in this website. The main reason why I wrote it is to coming out as the old fart that I am 😊

Why do Big Iron still Exist?: In a world where many companies prefer to scale out instead of scaling up, buying many "small" machines instead than a few "big" ones, do "Big Iron" still make sense to exist?

Pie Charts Suck B*alls:Pie charts are a clear offspring of the devil himself. They are not simply useless, they are even misleading. Please, beware, this is a rant.

Maps — A Matter of Point(s) of View: Maps are a fascinating topic. While to the casual observer they give the impressions that they are useful to describe the world, they are not. Maps bring with themselves a huge bias toward what its authors think and their way to see the world and the way you should see the world. This has been going on for ages.

Why Microsoft is not like Sun Microsystems: Since some times, the opening up of the .net platform and the promise of porting that to iOS, Linux and Android raised some questions around the fact that Microsoft could have chosen the path of Sun Microsystems.

Why You Should Learn C but (Probably) Never Use It: C/C++ is an essential piece of knowledge to have if you want to call yourself a programmer. Not for using it. For understanding.

Minesweeper in Perl/Tk: Some time ago, I was at home doing nothing — I was actually waiting for one person to come to my place — and since I couldn't find anyway interesting browsing Facebook or reading news on-line, I decided to write some code. This choice took me to rewrite just for fun the game «Minesweeper». In Perl. Using Tk. The following is the story…

Books that can (eventually) make you a better programmer: I love reading and I love reading technical books as well. I did read many of the but the following ones are the ones that I value most and that I think changed the way I program and think about software. You will maybe have others or just not being in agreement with me but this is my list. Enjoy!

How to write an API that does make sense: Writing APIs is part of the everyday job of a developer and since it is a so important task, in this document, I try to collect same sparse thoughts on how to design an API that does "make sense" for the client-code's developer point of view. The two main take outs are "abstraction" and "contract". And the accent is on the letter "I" of API.

The Plan-9 Effect or why you should not fix it if it ain't broken:Plan-9 was a wonderful, modern and totally new Unix implementation finally addressing the initial promise of Unix: everything is a file. Did you ever heard of it? No? Well, that's why...

Death of a RSS Reader: Everyone is talking about this: Google will shut down Google Reader July 1st, 2013. In this, short, document I will try to understand what went wrong with the product and why it was probably important.

Software Engineering Best Practices from a General of the Thirty Years' War: Software engineering lessons can be found in very curious places such as natural wild life or in common objects around us. Object oriented advocates found their model in an architect (Christopher Alexander) but I never thought that the best lesson of software engineering that I could ever find was in the story of an amazing general of the Thirty Years' War.

Why We Should All Buy A Scalpel: Recently, a lot of websites and blogs started suggesting that you should learn to code. The reason? Developers earn a lot of money and you can easily learn too how to code. That is bullshit! That is f##king bullshit!

Perl One Liner: FizzBuzz: An implementation of the FizzBuzz problem using only 67 characters.

Perl One Liner: Pick: A nice perl one liner application to select lines from a file in a interactive way.

Replacing Virtual Methods with Templates: virtual methods are a very powerful system to implement the basics of the object oriented abstraction. On the other hand, virtual methods have hidden costs.

BASIC's GOSUB/GRETURN with gcc: very short tutorial to build a GOSUB/GRETURN system (with limitations) in C using "labels as values" gcc extension.

Exceptions in C with Longjmp and Setjmp: very short tutorial to build a try-throw-catch system (with limitations) in C using longjmp and setjmp functions.

Watcom, GLUT and SDL: a tutorial on the use of GLUT and OpenGL with the OpenWatcom compiler.

Tired to come constantly to this page to look for updates? Bookmark the RSS of my publications:

and say ”I cannot resist... I have to read them now!“