American Gods

| Tags: ,

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: , ,

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: , , ,

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: , , ,

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: , ,

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.