| Meaning of life | 0 Comments

Today's word of the day is digression, an act or instance of digressing from a main subject in speech or writing. Pretty appropriate term on my 59th birthday. Indeed in many ways I feel I have reached the age of digression and look forward to the exploring the interesting results of following this path.

| Programming | 0 Comments

Order the book yourself

Have I gone too far and lost totally my wits by purchasing this book? Now I am going to have to read it and sludge through the jungle of mathematical proofs in order to get my money's worth. Who knows if I will ever be able to understand it completely.

| Gishtech | 0 Comments

As a software developer with many years of experience under my belt, I like to compare myself to a professional craftsman who needs the best tools in order to perfect one's artistic skills and abilities. After five years of very intense usage, my current tool was getting rusty and blunt.

My new tool is a Lenovo Thinkpad T460P.

Since I've decided to pursue my new life as a freelancer, it's important that I am as productive as possible and work efficiently. This new laptop with Ubuntu 16.04.1 LTS installed will boost my productivity nicely and keep me going for a while.

| Meaning of life | 0 Comments

Till a voice, as bad as Conscience, rang interminable changes
  On one everlasting Whisper day and night repeated--so:
"Something hidden. Go and find it. Go and look behind the Ranges--
  "Something lost behind the Ranges. Lost and waiting for you. Go!"

- Explorer, Rudyard Kipling

| Life in Holland | 0 Comments

Stuck in the worst traffic jam of the year. In Holland they call it a "file" which is pronounced "veela".

| Kiffin Rockwell | 0 Comments

Today marks the 100th anniversary since Kiffin Rockwell was shot down and killed, that great American hero who volunteered to fight the Germans for freedom.

Kiffin Rockwell prepares to take to the skies of France in his fighter plane. A former Asheville resident, Rockwell, 24, was killed during a dogfight on Sept. 23, 1916.

I've been seriously considering going to his grave in Luxeuil-les-bains to pay him tribute on this historical day. But it's a six hour drive and I just don't have the time nor the spare money right now. Feel kind of guilty.

Do you think that I'm being sacrilegious? What would Kiffin think? At least I can give him tribute on the day in my mind long distance.

When I was a kid World War I seemed pretty long ago, but back then it was only 50 years previously. Now it's a whole century! How much longer will people still remember these fallen heroes? What will happen to us when we die?

Read the article: World War I aviator Kiffin Yates Rockwell may well be a bigger hero in France than here at home.

| Gishtech | 0 Comments

For anyone interested, I'd like to announce that the following template is available for folks wanting to deploy a basic Middleman project to Heroku in a hassle-free manner:

Here it is: Middleman Heroku Basic.

| Trip to America | 0 Comments

In a little over a month I will be going to California again to visit family and friends. I will be staying there for two weeks and will have much fun and relaxation. Believe it or not, it has been more than five years since I was last there, so it will be nice to see everyone again. Of course, I will also bring my golf clubs with me so that I can go out and have a few rounds of eighteen holes.

| Javascript | 0 Comments

Here are a couple interesting trivia items that I learned about JavaScript functions in Chapter 15 of the book Speaking JavaScript:

var add = new Function('x', 'y', 'return x + y');
console.log(add(2, 3); // 5
console.log(add instanceof Function); // true
| Golf | 0 Comments

Luiten wint KLM Open met tien birdies op slotdag.

Joost Luiten claims home victory with three-shot win at KLM Open.

Joost putting (I took this picture on the last hole of day one)

I'm not the greatest fan of his, but I have to admit that he pulled off an impressive victory.

| Family and friends | 0 Comments

Three generations of 100% Gish spanning more than fifty-eight years.

| Golf | 0 Comments

For the first time in seven years, my handicap has increased over the year. This time I started at a record low of 4.1, and after a full season of golf it has unfortunately gone up to a 4.7 (despite playing on the golf team and practicing regularly). Thea keeps reminding me that I should just accept my fate. I am getting older: meaning that my athleticism and thus also my golfing skills will inevitably get worse and worse. Until who knows how bad. I still refuse to give in and will not accept such a disappointing fate. If I just practice enough and get my mind in the right flow, while I might not become a professional, I should still be playing at a much better level. No excuses and no questions asked. Oh well, better luck next year.


| Programming | 0 Comments

The other day I was looking around for a more advanced static website generator, and I happened to stumble across a wonderful tool called Middleman. Easy to install, customize, build and deploy, and the documentation is fantastic. There are even a number of template blueprints and ruby gems you can use to enhance things.


Compared to the more popular Jekyll, which is more for creating blogs anyway, Middleman is more complicated and takes a bit more technical insight in order to get to grips with its sometimes hard to understand way of getting things done.

| Golf | 0 Comments

Sometimes you pull off a nice shot and it makes the whole day worthwhile. Take for instance last week at The Dutch where I pulled out my five wood I hit the ball low and into the teeth of the wind at the 14th hole.

14th hole par 3


| Golf | 0 Comments

Jim Furyk shoots the first 58 in PGA Tour history in the final round of the Travelers Championship.

| Programming | 0 Comments

Decided my next goal in life will be to gauge my learning Haskell progress by using it to find solutions to all of the Project Euler problems.

So far so good, I completed the first one with success.

Problem 1: Multiples of 3 and 5

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.

The very compact and elegant Haskell one-liner solution is:

sum [ x | x <- [1..999], x `mod` 3 == 0 || x `mod` 5 == 0]

There's still a long way to go...

| Music | 0 Comments

My tears are always frozen
I can see the air I breathe
Got my fingers painting pictures
On the glass in front of me
Lay me by the frozen river
Where the boats have passed me by
All I need is to remember
How it was to feel alive

-- Aurora

| Life in Holland | 1 Comment

After eleven years of procrastinating, and using just about every possible excuse out of the book not to start, I finally got around to painting the garage wall. The first layer took about an hour and a half, and the second (final) layer less than thirty minutes. In total that's less than two hours. When the builders we hired originally finished putting up the wall in March 2005, they'd just left it as is and unpainted. I was annoyed, as in my opinion they had left a job half done, and I complained regularly how ugly it looked. Thea got fed up with my ranting and said: quit complaining and just do it myself. Not wanting to put my manhood in question, I said proudly sure. Unlike those idiots at least I will finish the job like it was supposed to be done from the start. Eleven years later and it's done. Hurrah, it sure took long enough.

| Books | 0 Comments


Curious to find out what the differences are between PureScript (a small strongly typed programming language that compiles to JavaScript) and Elm (the best of functional programming in your browser).

Then I need to decide which one to use. First have to figure out what this whole functional programming ruckus is all about, especially as it applies to the wonderful world of JavaScript.

| Blogs etc. | 0 Comments

Today marks the 15th anniversary of this fine and admirable blog of which I am so very proud. Fifteen long years of writing on a regular basis, collecting a grand total of no less than 2245 entries so far. That's on average about 150 entries per year, or almost three entries every week. Not a bad batting average, considering the many ups and downs that have passed me by. Back then when I created my very first blog, little did I realize the tangled mess I was getting myself into. But it was worth it.

| Programming | 0 Comments

I figured that it was high time that I finally sit down, roll up my sleeves and really figure out at a deep philosophical level what this whole functional programming languages paradigm is all about.

What better way to do this than by wrestling with the big bad bear of them all called Haskell?

So I went out and bought a book online that claims to once and for all explain clearly how it works, all the way through functors, monads, etc. I barely survived the first chapter about lambda calculus, and it's starting to get very interesting (though heavy-going at the same time). They claim that learning Haskell doesn't have to be difficult, but I've still got thirty odd chapters to go.

Haskell Programming from First Principles

Add this to the collection of all my other books about Haskell, and you could say that I'm on my way to becoming the nerdiest functional programmer around.

Eat your hearts out all you Elixirians and Clojurians.

| Golf | 0 Comments

My old golf shoes have been falling apart for some time now. There's even a huge open gash on the side of the left shoe which was splitting wider each day.

If it rains my foot will get soaked completely, maybe even wrecking a great round with only a couple holes to go because of sopping wet socks and squeaking shoe, causing me to lose an important tournament.

Don't want that to happen now, do we? So it's high time that I hopped into my car, went to the local golf store and purchased some new shoes. These days you can easily fall victim to greediness and spend an arm and a leg on stupid golf shoes, but I was set on not spending too much money.

But there was a slight dilemma when I went to the store and looked around. I narrowed down the choice to two styles (both Footjoy of course), but I could not decide between them. You had the much less expensive, nicer looking pair but less comfortable. And you had the more expensive but super comfortable pair which fit me perfectly and made me feel like a pro.

Given the two possibilities, which one would you choose?

Footjoy Contour for €169

Footjoy Hydrolite for €125

Answer: Okay so I succumbed to extreme greediness and decided that I preferred feeling like a pro even if it meant forking out an additional forty four euros.

| Family and friends | 0 Comments

Kevin and me at the golf course.

Fifteen years later and our paths cross again, hard to believe that it's been that long ago since we saw each other last. Fine to know that we remain close friends and can get together so well despite the gaps in time and location.

| Programming | 0 Comments

Today I received an interesting email from someone trying to sell an online tutorial on WebdriverIO which posed the following:

"Quick question: What holds you back from writing automated tests?"

Based on my personal experience doing various projects in the wonderful world of software development, here is a list of reasons with which I replied:

  • The product is already finished and in production so there's no more budget left for automated testing.
  • The platform is legacy software and no one understands how it works.
  • We already have an army of functional testers in India who are manually testing everything, and it's cheap.
  • You need "technical" people to setup the the automated test environment, and the only technical people we have are developers and system admins.
  • Developers hate to write tests and have no time to learn it.
  • Most testers are high-level black-box functional testers and are not concerned with the internal details nor are technical enough to understand the underlying software.
  • Setting up an automated environment is expensive.
  • There are already tons of tests failing and no one gives a damn.
  • The CI runs from Jenkins and the guy that set things up is no longer working for us (don't fix whats not broken).
  • Managers do not fully understand what automated testing is and how it really works and are therefore unwilling to invest money.
  • Automated testing means that the functionality of the complete product is known, however mostly it is undocumented or specific areas of expertise limited to certain privileged individuals.
  • We're too busy and have no time.
  • Good testers are hard to find, especially those that are technically inclined and/or understand how to write software.
  • The product is not stable and is changing too frequently, meaning that time spent invested in writing test scripts that will continuously break is not worth it.
| Family and friends | 0 Comments

Been fifteen whole years ago since I last met up with my old university buddy, and lo and behold he will be visiting me this weekend for a fun and relaxing bout of reminiscing about the good old days.

Fifteen years is a long time and there will be much catching up to do I'm sure. We have become older and taken separate paths in life but the bond of friendship keeps us together.

Paths cross here and there.

| Programming | 0 Comments

Signed up for the Learn Elixir and Learn Phoenix online video training.

Been procrastinating long enough so it's time to make the move and learn even more new stuff.

| Vacation | 0 Comments

Where was this picture taken?

| Javascript | 0 Comments

Ever just wanted to shuffle your Ember model contents around in a random way? Well, here's something I happened to discover while perusing through the Liquid-fire github. This is such a real jewel, so elegant and simple that I had to share it.

shuffle: function() {
  this.get('model').forEach((item) => {
    item._random = Math.random();
  this.set('model', this.get('model').sortBy('_random'));
| Nature and universe | 1 Comment


An hour or so ago they sent out a code orange. This warning means that the weather will become very severe and we should all stay indoors where it is supposedly safe. At first I didn't believe them, what do they know? The weather outside seemed just fine to me. Well, an hour later and the deluge is here with lots and lots of lightning bolts striking nearby. Boom! That was sure close. Almost too worrisome seeing such a gush of water being spilled out from the darkened sky. The backyard and the streets are flooding over. Yipes! Mother nature can be unpredictable and needs to be respected and/or worshiped at all times. Either that or else.

| Art and culture | 0 Comments

This is the new logo that I designed myself. I used SVG and a little dab of creativity. The three colors are: midnight blue, dark cyan and firebrick. They blend in together quite nicely, don't you think? The interlocking shapes are shifted slightly downwards from left to right. This gives the viewer a subtle impression of movement, that each shape rises a little above and beyond the previous one.

Each geometrical piece of the puzzle integrates snugly with the next one. Together the three objects form a unified and pleasing whole. These shapes represent the software building blocks that I like to use when creating beautiful objects: knowledge, processes and people.

For more information and inspiration please have a look at the Gishtech logo page.

Random entries

Here are some random entries that you might be interested in:

Recent Assets

  • 636101580191153661-Kiffen-0003675-02.jpg
  • the-haskell-road-ro-logic.png
  • thinkpad-t460p.png
  • traffic-jam.png
  • gish-offspring-2016-09.png
  • joost-luiten-klm-open-2016.png
  • handicap-2016.png
  • middleman.png
  • nice-shot-hole-14-the-dutch.jpg
  • Jim-Furyk-shoots-58.jpg
  • PureScript-By-Example.png
  • haskell-book-cover.png

Recent Comments

Golf Handicap


This personal weblog was started way back on July 21, 2001 which means that it is 7-21-2001 old.

So far this blog contains no less than 2264 entries and as many as 1879 comments.

Important events

Graduated from Stanford 6-5-1979 ago.

Kiffin Rockwell was shot down and killed 9-23-1916 ago.

Believe it or not but I am 10-11-1957 young.

Began well-balanced and healthy life style 1-8-2013 ago.

My father passed away 10-20-2000 ago.

First met Thea in Balestrand, Norway 6-14-1980 ago.