The Count of Monte Cristo

| Tags: book, fiction, adventure, classic

“The Count of Monte Cristo” by Alexandre Dumas is a book I read for the first a time long ago — probably even 30 years ago. Recently I read a blog post where someone wrote how they reread the book after many years and still thought it was a great adventure book. Motivated by the post I also started to reread this classic.

The plot is fairly well known as many movies have been filmed based on the book: A young man gets thrown into prison shortly after announcing his wedding with the woman he loves. He spends several years there and finally succeeds to flee. During his time in prison he has learnt much from a fellow prisoner who also gave him directions to a place where a huge treasure was hidden. Now he uses his time and wealth to plan and execute vengeances against the people who originally plotted against him and caused him being imprisoned.

It was fun rereading this book. It is a timeless classic and very worthwhile.

Interestingly hashish is described as a wondrous substance in at least two places bringing great joy to the people who use it. I didn’t remember this detail and was astonished to find such a direct promotion of drug usage in this book.

The count does not only destroy other people. He also does good unto some people he deems worthy for some reason. But those acts of goodness are longwinded. It adds to the suspense of the book but also makes the count appear to be a show-off. This leaves a blemish on his otherwise mostly noble character. I wonder if that was Dumas plan or if he just did it for the sake of grander stories.

House of Leaves

| Tags: book, fiction, horror

“House of Leaves” by Mark Z. Danielewski is a strange book. It is meant to be a horror book and won some prizes in that genre. It uses a setup that will be familiar to most people who have read horror books or seen horror movies before. A family moves into a new house which turns out to have some unnatural properties like being bigger on the inside than it logically can be when viewed from the outside. That inner story has some fun deviations from the usual trope like using a tape to measure the house from the outside and then also measuring it inside and actually seeing that there is a difference. Also new and extensive rooms and hallways appear and teams of adventurers set out to explore them.

If the book only contained that inner story it would be an OK horror book but as the term “inner story” indicates there is also an outer story.

Some old guy dies and some younger guy finds an unfinished book and lots of notes. He starts to edit that unfinished book with the intention to publish it someday.

The new house owners from that inner story installed cameras everywhere in the house and also used cameras while exploring those new rooms. The book the young guy is editing describes a movie based on the live action recorded with those cameras. The movie is said to have made some impression. Articles and books have been written about specific scenes in the movie and about the people in it. This book here isn’t just a retelling of the movie. There are many footnotes that reference those articles and books.

It’s quite common that after a few pages retelling some scenes in the movie it switches to a deeper exploration of some topic — for example the meaning of the black color — with citations of other books and articles and yet more footnotes.

But that’s only the work of the old guy. The young guy also adds footnotes of his own. The old guy added citations from other books from time to time and often those citations aren’t in English. There are some in German, French, Greek and some other languages which I have forgotten. Some of them have been translated by the old guy but many have not. The young guy searches for people who are able to translate those citations. Most of those translators are women with whom he also has sex. He describes those and other interactions with other people in his own footnotes which often fill several pages.

Editing that book has some strange effects on that young guy. It’s haunting him.

And then there is one more layer. I read the remastered full color edition which also contains some footnotes from the editors of that edition. That remastered edition comes with an extensive appendix. In one of their footnotes the editors point to a part of the appendix that contains some letters the guy received from his mother while being a teenager. She wrote those letters while residing in a mental institution. Those letters tell the story of the family of the young guy and his time at foster families.

But that’s not enough. The typesetting of the book is also special. The word “house” is always typeset in blue — even if it is the part of another word like “warehouse” or in German like in “Haus”. Some passages are in red and stroked through and I actually needed to use a magnifying glass to read those sections. Sometimes there are long rows of Xs where normally text would be and sometimes pages only contain a few words and one sentence is distributed on several pages when an important moment is described. Sometimes one needs to rotate the book to read the text and on other occasions there are footnotes that run on the sides of several pages and just contain names of other houses.

That book is really strange and it is quite often exhausting, but it’s also fascinating, because how can someone come up with an idea to write such a book and actually do it. And Danielewski is a master in the art of writing. And even though the idea of a house that is bigger inside than outside isn’t new, the author adds some interesting ideas and packages it all with his very own style.

If you want to read only books that have a beginning, an ending and some climax in-between, then this book is totally not for you. But if you want to try something new and insane and have patience then try this one.

Hugo

| Tags: blogging

I read about that new static site generator called “Hugo”. It was said to be really fast, much faster than Jekyll. Well, build performance isn’t an issue for my website and currently it doesn’t seem to ever become an issue. During the 17 years my blog exists I wrote 290 posts and there are a few other pages. Jekyll only needed seconds to build it. Performance would therefore not be a reason to change from Jekyll to Hugo. I just wanted to try something new.

I made Hugo create a scaffolding for me and copied my posts into that structure and started tinkering with it. It was an opportunity to look into the go programming language and while doing that I came to the conclusion that it is OK but doesn’t excite me much. And you actually don’t need to know much about go if you only use Hugo and do not take part in the development of it, but it helps to know the basics. And you totally have to learn go templates because that is the template language used by Hugo.

I prefer go templates to liquid which is used by Jekyll. go templates look nicer. That’s also not really a pressing reason to switch to Hugo but it adds to the overall good opinion about it.

While Hugo is probably mostly used for blogs it can be used for all kinds of websites and blog posts don’t have a special meaning like they have in other generators like Jekyll. Blog posts are just a collection of markdown files that are typically placed in a folder called content/posts but that is actually only a convention and you can put them somewhere else. And you can have other collections as well. You just define how the permalinks for the items of a collection shall look and then you add a template file for the pages for the single items and one for the list of those items. And if you need, you just add paging to that list and it will be split into multiple pages. You don’t need to install any additional modules. This is all part of the core Hugo. Tagging is also there out of the box and the creation of a menu for the sections of a website is a no-brainer.

That generic handling of lists of pages has one effect that is a bit disturbing at first if you migrate from a website generator like Jekyll that has special handling for blogs. There are no yearly and monthly archives. The Hugo forums have some discussions about this and some people have come up with creative workarounds. My blog always had archives and I was very intent to recreate them with Hugo. But it’s quite understandable that Hugo does not have archives. This is how you define permalinks in the Hugo configuration

  permalinks:
    posts: /:year/:month/:filename/
    tags: /tag/:title/

Ah, OK. For the pages in the posts collections, there is a year and month in the permalink. Fine. And for tags there’s a title in there. Also fine. And that’s it.

After looking at some of the creative workarounds and thinking about archives I realized that I never looked into any archives on the blogs I read. Mostly I read them in my feed reader. And when I visit a blog website itself in most cases I do so because I clicked on some link. I never look at what someone wrote in some specific month or year. I may look at other posts with the same tags and I might browse older posts, but I never use yearly and monthly archives. With that insight I decided that I don’t need archives.

But where would I put my tag cloud when there is no archives page? Should I put it on each page? Some years ago tag clouds were the cool stuff and each blog had to have them on each page and clearly visible. But tag clouds aren’t that exciting anymore and they probably never were anyways. Content is more important. So no, no tag clouds on every page. You can still look at my nice tag cloud which is now located at the bottom of every tag page. It actually looks nicer now. It uses logarithmic distribution and is styled a bit nicer. Take a look at the blogging tag as an example.

That generic list handling greatly simplifies the maintenance of the creations section. In the Jekyll version of this website I had pages for each piece of software I wanted to present there and an index page with short intros and links to those pages. Now I only have markdown files for those single pages and one template for the single page and one for the list and the list extracts the intro from the front matter of those markdown files. There is probably a better solution for this with Jekyll than how I did it, but it wasn’t apparent to me and with Hugo it was obvious.

As to be expected for a static website generator there are tons of themes for Hugo and every week or so another one is released. I’ve never been one to use prefabricated themes. What better opportunity to play around with html and css than to do it on the own website. The website looks mostly like it looked with Jekyll. The structure of the pages hasn’t changed and I actually translated the layouts from Jekyll and liquid to Hugo and go templates. I changed the icons that I use from FontAwesome a bit. I now only use the solid variant everywhere.

I like that Hugo already contains all I need for my website. There’s no need to install and update any plugins. I just update Hugo with homebrew when a new version becomes available and that’s it.

If you are on the search for a static website generator or just want to try a new one, I recommend to look into Hugo even if build performance is not really an issue. Hugo comes with extensive documentation and often there are also tutorial videos showing how things work. It takes some time to understand how Hugo works but learning is fun and pays off.

Vigilance

| Tags: book, fiction, sci-fi

Compared with last weeks “Anna Karenina” “Vigilance” by Robert Jackson Bennett is a quick read. The action in the book also mostly takes place on a single evening.

“Vigilance” is a science fiction story set at some years in the future in America. The book was published just this January and builds upon current events. The climate change also gets mentioned on a sideline, but the main topic it expands on are the mass shootings that seem to happen every now and then in the USA. Many of those who insist on their right to own weapons conclude that that the normal good people should be armed. And if they were then they would prevent many of those tragedies by simply shooting the attacker before the attacker can kill any innocent people.

Bennett envisions a TV game show in which some selected attackers are brought into some area — a train station, a school, a mall or whatever — and then that area is closed and infested with drones that record everything. Nobody knows beforehand what area is chosen for the next “Vigilance”. And that’s the whole point. The citizens are expected to be vigilant. They are expected to be armed at all times and to be on the lookout for some attackers.

If one of the attackers succeeds to kill all people in that area, they win some amount of money. If the people in that area are vigilant enough and succeed to take down all attackers, they win some money.

Aside from that already gruesome action we also get a look at some possible developments in the advertisement sector, because a TV show is only successful if it succeeds to place fitting adverts at the right times. Yes, you can sell products while showing how people are killed.

There is a bit of “Running Man” in this book and near the end also a bit of “The Purge”. I’d like to think that it is improbable, but unfortunately with the current developments it cannot be ruled out.

“Vigilance” isn’t a deep book, but it makes you think and that’s good because more people should think about what reactions they demand to all those shootings.

Anna Karenina

| Tags: book, classic, fiction

I have been planning to read some Russian classics for some time and finally chose to read Leo Tolstoy’s “Anna Karenina”. It’s a huge book and took me 2 and a half months to finish.

The most remarkable thing about this book is the writing style. I read a German translation. So I cannot say anything about the original Russian text. But even in the translation, the book has a flow that I haven’t seen in many books. Even in passages that were somewhat too detailed for my taste — describing ideas and situations I didn’t deem overly interesting — the story just flows nicely and I had to keep on reading.

I liked the people this book presents — each one with their own believable personality. Although Anna Karenina gives the book its name, she doesn’t really dominate the book. The other protagonists like Ljewin and Kitty seem to get an equal share of attention. Or maybe it’s because Anna gradually withers away, that I didn’t perceive her as a spotlight character.

Actually the description of how Anna sinks deeper and deeper into her depression and finally only finds a very fatal way out is one of the very strong story telling aspects of the book. It’s really breathtaking and sad. And then the perspective changes again and you see how other people have the best times of their lives.

Besides looking at the varied lives of all those people one also gets a feeling for how living was like in 19th century Russia. Especially the problems and restrictions women had to cope with then are unbelievable nowadays.

So I fully recommend “Anna Karenina” but with the warning that it’s a long book with a rather slow but nice pace. It takes time and patience but is totally worth the effort.

American Gods

| Tags: book, fiction

Neil Gaiman isn’t really a new name to me. I watched Caroline, a film based on one of his young adult books, and liked it. His Graveyard book is on my list of books to read someday. I also enjoyed his reading of Charles Dickens “A Christmas Carole” and will probably listen to it this year again. So I always somehow thought of him as an author of children and young adult books. “American Gods” has also been on my list for quite some time now, but I didn’t really remember what it was about. Browsing my list some day I noticed that I could get it for a pretty low price and because it had been made into a show by Amazon recently I decided to get it and started reading it.

And I realized pretty fast that it’s not a book for children. It starts off with explicit language and keeps on using it regularly throughout the whole book but in a manner that fits the the subject and not like it is used in some other books that try to hide the lack of an interesting story by the usage of boisterous language.

“American Gods” is both fun and interesting. It is built on the premise that every time people come to a new place they bring their gods and myths with them. The belief of the people incarnates their gods in the new place who then move around as humans.

Gaiman tells the stories of how several different groups of people reached America and which gods they brought with them. And some of those gods take part in the action of the book. One of the main protagonists is Odin but there are several others besides him. Some of them I even don’t know anything about, but I liked the appearance of Easter who’s enjoying a picknick in a park and eats eggs.

Those old American Gods now have a problem. They’ve got enemies. There are new gods. There are the gods of the internet and of the media and they want to take the place of the old gods and get rid of them.

Odin tries to unite the old gods and to lead them into a battle against the new gods. This book is somewhat like a road movie in the form of a book. It visits various places in the United States and at every stop some nice story unfolds.

The book won several prizes for best science fiction, best fantasy and best horror book. I would place it in the field of contemporary fantasy. But the exact categorization isn’t that important anyways. It’s just a fun book worth reading.

I also watched two episodes of the show based on that book, but wasn’t really captivated by it. But that’s really no wonder. In most cases I prefer the books over the movies and shows based on those books.

WeightGlance and Website Restructuring

| Tags: app, weight, blogging

When I got my iPhone X late last year, I thought “Those apps not supporting this new kind of device are really looking old”. That was also the case for my weight tracking app that I still use daily. So I started working on an update and finally released it last week. It got a new name — WeightGlance — and some other aspects were also fixed and improved. You can read some more about it here.

While working on that update, I’ve also started thinking about the separate websites I have been setting up for my apps. They seemed to communicate “I’m big business” although I neither feel nor am big business. And each new website costs some more money and requires additional maintenance. I had website for things I’ve created and abandoned years ago. They really looked old.

So I came up with the idea of closing all those separate websites and creating smaller pages for those apps and other stuff that I’ve created on this website here. And I thought it might be fun and interesting to write some kind of postmortems for the stuff I no longer maintain describing how I came to create a specific something and what I learned from it.

That’s how this website gained a new section called Creations which contains pages about stuff as old as Squareness up to new and fresh stuff like WeightGlance.

MetaGame

| Tags: book, fiction, sci-fi, game

I read “MetaGame” by Sam Landstrom the first time more than 5 years ago, but somehow didn’t get around to write about it. When I don’t write about a book within two weeks after finishing it, I usually don’t write about it at all, because by that time I’m already immersed in the next book.

After reading “Ready Player One” I remembered “MetaGame” again and that back then I thought it was the coolest gaming themed book I had ever read. So I read it again and it still is the coolest gaming themed book I’ve ever read.

Usually gamers in those game related books use some kind of more or less advanced virtual reality system. They either have some VR goggles or they get the VR environment somehow projected on their eyes. They then use some kind of special gloves or jumpsuit to enable them to move around in the virtual reality.

“MetaGame” is different. The whole world and the entire life is gamified. There are no jobs as we know them nowadays. It’s all games and you need to play games to earn points which you can use to buy stuff. The somewhat tedious games like law enforcement and programming are called grinder games. You play them because they provide more points. The games played for fun are spank games.

Through a kind of nanobots which attach themselves to every surface — living or dead — the whole world is mapped by the computers. Depending on the game a player currently plays, the surfaces look different to them.

There are no more separate nations on earth and bio engineering is quite advanced. Aging has been removed from the human genom and immortality is possible but not available to everyone. You need to play to gain the privilege to become immortal.

As bio engineering is quite advanced products which have a DNA that resembles the human DNA up to 96.3 % are created. They are always build for a specific job and with an ingrained desire to do that job as good as possible. So if you buy a product that is build to keep your house clean it will happily do just that.

As to be expected this produces some philosophical and ethical issues and the author plays them out quite well.

I liked “MetaGame” five years ago and now again for it’s grandiose ideas, good story and a somewhat critical contemplation on the issues such a world would bring.

There’s actually a story there in that book. I haven’t said anything about it here except that I liked it. It’s good. It encompasses all those elements I’ve talked about here and some more. It’s about a special kind of game a group of players play. You might have guessed it, it’s a meta game. You’ll have to find out more about it yourselves, though.

Ready Player One

| Tags: book, fiction, sci-fi, game

When “Ready Player One” by Ernest Cline was published 6 years ago all around me people started reading it and were totally excited by it “There’s so much 80s trivia in it”, “It’s about gaming in the 80s”. I didn’t read it. I didn’t want to read some kind of documentary about video games in the 80s. Although one of the first computer games I remember ever playing — Digger — is from the 80s, I’ve got fonder memories of 90s games like Commander Keen and Duke Nukem. The 80s didn’t interest me that much.

Turns out the book isn’t really a documentary and it’s not about the 80s either. It’s actually a quite suspenseful and well written story about people living and playing games in a massive virtual reality universe called OASIS in the year 2044. The protagonists of the book take part in a contest to win much money and control over OASIS.

The creator of that virtual reality universe dies and initiates this contest as a means to find his heir. The contestants need to solve puzzles and play games and because the creator loved the movies, the music and the games of the 80s those are all about the 80s.

Although it’s advantageous to know those movies and games, that’s not a requirement to have fun reading the book. I either don’t know half of the mentioned games or only by name.

I’ve read some game relatated books in the past and most don’t really get it right. Some are Ok, some are just really boring and only a few have been good so far. “Ready Player One” is one of the good ones. It has the right mix of sci fi near future technology, nerdy 80s trivia and — well — gaming in it.

GoAccess

| Tags: blogging, tool, web

Over the years I used some web statistics tools to find out who visits my website and what they access most frequently. I’ve used Google Analytics and Mint among others but some years ago I stopped using such tools.

They always slowed down loading a bit as their respective javascript scripts needed to be loaded and executed which then again called back home to record that statistics data. I didn’t feel good about using a service like Google Analytics and share who visits my website with them. More recent laws in Germany would also require me to tell my visitors about the usage of it. That wasn’t that big of a problem with Mint as it was self hosted. But anyhow I came to the conclusion that it added too much bloat and wasn’t worth the hassle.

The Apache server my hoster uses logs every access into nice log files and that doesn’t need any added scripting on the delivered pages themselves. My hoster even provides some statistics based on that log files and uses Webalizer for this, but Webalizer looks really horrible. So I didn’t use that very often.

Some days ago I got the idea, that it should be possible to transform those log files into something better looking and more useful. I played around with the idea of developing something myself, but before investing time into a new project diligent research of already existing solutions is always useful. And in my research I found GoAccess which does exactly what I had in mind.

GoAccess can read all kinds of log file formats. Strangely none of the predefined formats matched the format my log files use, but that wasn’t really that big of an issue as the format is customizable and well documented

GoAccess can run in the terminal or among others generate a static html page. I use the latter. All nice and well. I now could look at the nicely formatted statistics data for my website, but one piece was still missing. The documentation stated that I could also get data about from where in the world my website was accessed. It took some time, but finally I realized that I didn’t use the correct options to install GoAccess via Homebrew. So I reinstalled it like that:

brew uninstall goaccess
brew install goaccess --with-libmaxminddb

Nice, now the section “GEO LOCATION” showed up in my GoAccess html page, but it was empty. Ah well. Turns out you still need to install a geolocation database. A free database is available at MaxMind. More accurate databases can be purchased from the same company, but for my purposes the free one is totally sufficient and I don’t know whether GoAccess would do more with a better database anyways.

Now there are different ways to use GoAccess. Mine is a very simple one, that is probably not really efficient, but it works for me. I have a directory on my MacBook into which I copied that geolocation database and into which I copy the log files from the web server.

In the same directory I also have a file named config that looks like this:

log-format %v %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
date-format %d/%b/%Y
time-format %H:%M:%S
geoip-database GeoLite2-City.mmdb

And there is also the following script that generates the html report:

#!/usr/bin/env bash
gunzip *.gz
goaccess -f beeger.net-* -p config -o rep.html --real-os

Those log files are zipped when they come from the server and they start with the domain name of my website. So I unzip them before passing them to GoAccess. I use that --real-os flag to have real names of the operating systems used by the visitors of my website instead of some internal build names.

So if you don’t need the full features of an analytics solution like Google Analytics and don’t want to bloat your website with third party javascript code just to get some simple statistics about your website, I recommend taking a look at GoAccess, which is open source by the way.