The Most Promising Programming Languages for 2018

This is the time of the year in which I propose 5 emerging/new languages that you should keep an eye on the next year. I’ve done it last year, and the year before, and the year before that.
This year, however, I am not in the mood of doing it. There are several reasons why. The first one is that this year there have not been a lot of movement on the new programming languages. I am sure there are a lot, but no one got enough attention to make into a list. Therefore, I am concerned that I will just starting to repeat myself talking about the same stuff.
Preserving a Cryptography book from 1897

Some time ago I found on my grandma’s house an old Italian book on cryptography from 1897. Why a 120 years old book on cryptography was on my grandma house, is a mystery. I’d like to think that some grand-grand-parent was a late 19th century hacker. Anyway.
The book title is “Crittografia ossia l’arte di cifrare e decifrare le corrispondenze segrete” of Count Luigi Gioppi of Turkheim.
Well, I don’t know if this book is hard to find. In any way, I decided to take a photo of every page to share and preserve this book. The book is very old and some page is ruined, sorry if the quality of the photo is not optimal. I’ve done my best for not destroying the book in the process. :) I will release the photo one chapter at the time. Keep this page in the bookmark.
NaNoWriMo 2017 in Stats

This year I joined and won the NaNoWriMo challenge: write 50000 words for a novel in 30 days. I did it. Now the nerd side need to splat on this page all the accumulated stats.
The Novel
I think it is the proper way to do it: I need to talk about the novel. The novel is, of course, in Italian and it is unfinished. With 52k words I reached barely the beginning of the third act, more or less. Many things need to be rewritten, characters disappeared in thin air as soon as I discovered that I don’t need them… stuff like that. The usual way to do a first draft.
Procedural Calendar Generation & Lunar Phases

Here we are again! This is Part 3 of a small series on how to randomly generate a physically accurate calendar starting from planet’s orbital parameters. You can find the general motivation here, part one here and part two here.
Said that, here we go with the next part: lunar phases.
Why lunar phases
Lunar phases are incredibly important in a calendar. So important, that many of the early humanity calendars are, in fact, lunar calendars or lunisolar calendars. Of course, this is true if and only if the planet is lucky enough to have a big moon like us.
Seasons Generation from Orbital Parameters

Welcome back to part 3 of the Procedural Calendar Generation series. In the first part we looked on how to compute celestial body position in a simple two-body system. The second part, instead is crash course on ellipse geometry.
In this part, instead, we will tackle a fascinating consequence of the cosmic dance of our planet around its sun: seasons. Seasons are a strange beast because their behavior depends on a huge amount of factors. We are used to our four seasons with mild springs and autumns, hot summers and cold winters. But these four season are just the consequence of our planet ecosystem, atmosphere, the peculiar axial tilt, if the orbit is particularly eccentric, distance from the sun in different period of the year can be a strong modifier too! In multi-star system, we can have more than 4 seasons, in planets with strange mechanics we can not have seasons at all (or better, the “season” depends on where are you on the planet).
Not every classification error is the same

In this article, I would like to talk about a common mistake new people approaching Machine Learning and classification algorithm often do. In particular, when we evaluate (and thus train) a classification algorithm, people tend to consider every misclassification equally important and equally bad. We are so deep into our mathematical version of the world that we forget about the consequences of classification errors in the real world.
But let’s start from the beginning. Imagine a simple binary classifier. It takes some input \( x \) and return a Boolean value telling use if \( x \) belongs to a certain class \( C \) or not. When we pass through the algorithm a number of elements, we can identify only 4 possible outcomes:
Cuphead is not "hard"

During the last few weeks, I’ve seen over and over people saying that Cuphead is hard. That it is brutal. That is the “dark souls of the side shooter”. For this reason, before this trend goes too far, it is time to make things clear: Cuphead is not hard.
Can a game that can easily beaten in a couple of hours be hard? No. It is challenging", yes. It requires multiple tries, for sure. But it is not hard and definitely not “brutal”. There are several reasons why Cuphead can be considered a very forgiving game.
A Dwarf Fortress calendar in PureScript + Halogen

My last week project involves PureScript and Halogen and the Dwarf Fortress calendar. I wanted to give a first-hand experience with some pure functional language for web front-end and, after discarding Elm, I ended with PureScript. I will not go on a comparison between PureScript and the rest of the world. If you want a comparison among the other candidates, you can look at this very detailed article. (There is ClojureScript too, if Clojure will ever came back from the graveyard).
Crash course on basic ellipse geometry

Because I started a small series about astronomical algorithms and the magic of math in space, I think we need to cover an important prerequisite. In the series, I will talk a lot about ellipses (duh), I will move from the semi-axis majors, to the periapsis, to eccentricity, to ellipse’s center and ellipse’s foci. I am concerned that things can get more complicated than expected if the readers does not know many of the geometric properties of the ellipse. For this reason, I put here this vade mecum on the ellipse geometry. A summary with all the basic points and lengths. A place that I can link everywhere I need to refresh a definition.
WordPress abandoning React: a Facebook horror story

Today, during my daily web crawling, I found this article by Matt Mullenweg. I will not dwell in details, you can read the full story in the linked post. But I try to give you the core of the announcement: WordPress just decided to abandon React. This is a big news, with many implications and a few lessons to learn. Let’s go by steps.
The Context
You are probably asking yourselves: why? A perfect summary is explained u/A-Grey-World comment on Reddit:
Secret Guide!
Congratulations! You discovered the secret guide!
Press ? to show/hide this guide!