week 41, 2019

Larry Wall has approved renaming Perl 6 to Raku

I am in favor of this change, because it reflects an ancient wisdom:

“No one sews a patch of unshrunk cloth on an old garment, for the patch will pull away from the garment, making the tear worse. Neither do people pour new wine into old wineskins. If they do, the skins will burst; the wine will run out and the wineskins will be ruined. No, they pour new wine into new wineskins, and both are preserved.”

Source: Path to raku a comment by TimToady aka Larry Wall.

Function Currying in Go

Go can be used to program in a functional style, previously I’ve written about how we can use this to implement Continuation Passing Style programming. As such, it is possible to implement currying in Go as well. Before we take a look at how we can implement this in Go, let’s take a practical look at what function currying actually is, and why we want this.

Source: Function Currying in Go, an article by Dylan Meeus.

Emacs: The Best Python Editor?

Finding the right code editor for Python development can be tricky. Many developers explore numerous editors as they grow and learn. To choose the right code editor, you have to start by knowing which features are important to you. Then, you can try to find editors that have those features. One of the most feature-rich editors available is Emacs.

Source: Emacs: The Best Python Editor?, a nice article by Jon Fincher; recommended.


Timsort is a sorting algorithm that is efficient for real-world data and not created in an academic laboratory. Tim Peters created Timsort for the Python programming language in 2001. Timsort first analyses the list it is trying to sort and then chooses an approach based on the analysis of the list.

Since the algorithm has been invented it has been used as the default sorting algorithm in Python, Java, the Android Platform, and in GNU Octave.

Timsort’s big O notation is O(n log n). To learn about Big O notation, read this.

Source: Timsort — the fastest sorting algorithm you’ve never heard of, an article by Brandon Skerritt.

New style: Wednesday

In the evening I finished a style for tumblelog that I had started on the previous day: Wednesday.

tumblelog style "Wednesday"
tumblelog style Wednesday in action.

This style shows some tweaking in the header of the blog using position: relative.

Eight Habits of Expert Software Designers

What makes an expert software designer? The typical answer — experience and innate ability — is less than satisfying. While it carries elements of truth, it offers little from which we can learn and generalize. Experts clearly do not just approach their work randomly. Quite the contrary, they have specific habits, learned practices, and observed principles that they employ deliberately during their design work.

Source: Eight Habits of Expert Software Designers: An Illustrated Guide, an article by Marian Petre & André van der Hoek.

New style: Tuesday

In the evening I made another style for tumblelog, based on the style October, called Tuesday.

tumblelog style "Tuesday"
tumblelog style Tuesday in action.

New style: Steel

In the evening I finished a style for tumblelog that I had started on in the afternoon: Steel.

tumblelog style "Steel"
tumblelog style Steel in action.

New style: Ice

In the late afternoon I finished another new style for tumblelog: Ice.

tumblelog style "Ice"
tumblelog style Ice in action.

New style: Pages

In the early evening I finished another style for tumblelog: Pages.

tumblelog style "Pages"
tumblelog style Pages in action.

There are now 9 different styles to choose from!

New style: Vector

One more new style for tumblelog: Vector. Now there are 10 styles.

tumblelog style "Vector"
tumblelog style Vector in action.