week 40, 2019

New style: October

In the late afternoon I finally released a new style for tumblelog called October. There are now 5 different styles in total.

tumblelog style "October"
tumblelog style October in action.

It took quite some time to finally get it right, but I think it was well worth my time.

New style: Floating in the Dark

In the evening I released yet another style for tumblelog: Floating in the Dark. There are now 6 different styles in total.

tumblelog style "Floating in the Dark"
tumblelog style Floating in the Dark in action.

New style: Happy Cat

Later in the evening I released yet another style for tumblelog: Happy Cat making the total number of styles seven.

tumblelog style "Happy Cat"
tumblelog style Happy Cat in action.

Black Jade

In the darkest of ages, the Lord of the Lightstone is a lowly man, and lost…

In the afternoon my mother and I visited a local bookstore that had a cancellation sale; all books were priced at 1 euro each. I couldn't find anything, but my mother found Black Jade by David Zindell.

Cover of Black Jade by David Zindell
Cover of Black Jade by David Zindell.

I had never heard of this author, but decided to buy the book anyway.

Version 3.0.0 of tumblelog has been released

In the evening I finished what I started yesterday; version 3.0.0 of tumblelog. This version adds the ability to create non-blog pages, for example an about page or a subscribe page. It should even be possible to build a complete (micro) site without a blog this way.

Get version 3.0.0.

Principal Component Analysis

In dimensionality reduction we seek a function f:ℝn↦ℝm where n is the dimension of the original data X and m is less than or equal to n. That is, we want to map some high dimensional space into some lower dimensional space. (Contrast this with the map into a finite set sought by cluster analysis.)

We will focus on one technique in particular: Primary Component Analysis, usually abbreviated PCA. We’ll derive PCA from first principles, implement a working version (writing all the linear algebra code from scratch), show an example of how PCA helps us visualize and gain insight into a high dimensional data set, and end with a discussion a few more-or-less principled ways to choose how many dimensions to keep.

Source: Principal Component Analysis, ML From Scratch, Part 6 by Oran Looney.

Crontab Guru

In the early afternoon I checked out the site; the cron schedule expression editor. A very handy site for if you can't remember the syntax used by cron files.

crontab guru in action
The site crontab guru in action.

GNU Coreutils Gotchas

We make very careful considerations about the interface and operation of the GNU coreutils, but unfortunately due to backwards compatibility reasons, some behaviours or defaults of these utilities can be confusing.

This information will continue to be updated and overlaps somewhat with the coreutils FAQ, with this list focusing on less frequent potential issues.

Source: Coreutils Gotchas.

In the late afternoon, while checking backlinks to I noticed that Martin Borchert had linked to my site from his meta (about this site) page. And not just a link, no, Plurrrr was in a list of favourite and inspirational websites of Martin. website list's list of favourite websites.

I repeat Martin's list below because some of those sites listed have inspired me as well when working on Plurrrr:

I am proud to be in this great list. And happy to have found some new sites I hadn't heard of before. Thanks Martin!

Fatal: Could not read from remote repository

In the afternoon I tried to clone a GitHub repository to a virtual machine running Ubuntu 14.04.6. I had copied my private and public key to this virtual machine so I didn't expected any issue. However, when attempting the git clone I got:

Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

Creating a config file inside ~/.ssh with the following contents fixed this:

ServerAliveInterval 30
ServerAliveCountMax 4

    IdentityFile ~/.ssh/github

The actual fix are the last 3 lines which makes that ssh uses ~/.ssh/github for authentication purposes.

Firefox JSON viewer

Today I found out by accident that (a recent version of) Firefox comes with a very handy JSON viewer:

Firefox includes a JSON viewer. If you open a JSON file in the browser, or view a remote URL with the Content-Type set to application/json, it is parsed and given syntax highlighting. Arrays and objects are shown collapsed, and you can expand them using the "+" icons.

The JSON viewer provides a search box that you can use to filter the JSON.

You can also view the raw JSON and pretty-print it.

Finally, if the document was the result of a network request, the viewer displays the request and response headers.

Source: JSON viewer.

Firefox JSON Viewer
Firefox JSON viewer showing the JSON feed for this site.

For more information about JSON feeds, see JSON feed which has the specification and a feed validator.

Version 2.5.0 of tumblelog has been released

In the evening I pushed version 2.5.0 of tumblelog to GitHub. This version adds an RSS feed. Also, the variable feed-url has been replaced with json-feed-url and two new variables have been added: rss-feed-url and description. The latter is set with the new, required option --description and is used to set the feed description of both types of feed. Of course this variable can also be used in your template.

Dragons of Autumn Twilight

Just after midnight I started in Dragons of Autumn Twilight, Dragonlance Chronicles Book 1 by Margaret Weis and Tracy Hickman.

In the past I have read Dragonlance Legends (Omnibus): Time of the Twins; War of the Twins; Test of the Twins, and Dragons of a Fallen Sun, Dragonlance: The War of Souls, Volume I. Both which I enjoyed.

I also love the Death Gate Cycle by the same authors; a series of 7 books which starts with Dragon Wing. I have read this series at least 3 times; highly recommended.

Adding a user to the sudo group

In the early evening I had to add myself as a user to the sudo group. I did this as follows:

sudo usermod -a -G sudo john

The option -a appends the user to the supplementary group given by the -G option, in this case sudo.