| 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.

nice-shot-hole-14-the-dutch.jpg
14th hole par 3

58

| Golf | 0 Comments

Jim-Furyk-shoots-58.jpg
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

PureScript-By-Example.png

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-book-cover.png
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.png
Footjoy Contour for €169

footjoy-hydrolite.png
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-I-golf.png
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

DSC01074.JPG
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

stormy-weather.png

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.

| Javascript | 0 Comments

So here I am claiming to be a so-called "experienced" JavaScript developer, thinking that I pretty much know everything about this language, but in fact I don't. It's like driving a car for many years, and you start thinking that you're the best. The true fact of the matter is that your driving skills are becoming quite rusty and if you are not careful it will become very dangerous.

It never hurts to have a serious look at yourself in the mirror once in awhile, do it sometime and you'll feel much better about yourself.

Since I am never too old to learn new stuff, I like to discover the future while it is still happening. More and more I've been getting interesting in how the JavaScript language is evolving, namely the new and upcoming ES6 features. This is really cool stuff and shouldn't be missed.

So I went over to the Leanpub website and found myself a couple good sources, namely Exploring ES6 and Setting up ES6 by Axel Rauschmayer.

These books are fairly technical and difficult to understand, but beautifully written nonetheless. I figured that in order to maximize my learning experience I'd have to take one step back and refresh my knowledge of the JavaScript basics. Not just some easy introductory book but an intense and truly in-depth exploration of the technical details.

Since this Axel person is obviously very smart I figured what the heck three books by him must be the magical combination to success. So I bought his other book.

speaking-javascript.png

A tough but fulfilling read, highly recommended. Speaking JavaScript is also available for free online, but I'm still pretty old-fashioned and had to have another book for my immense computer library.

| Programming | 0 Comments

One of the most important credos for boosting a development team into the realm of excellence is to ensure that they can feel very proud of what they create as a coherent team. This power of creative energy mixed in with just the right amount of the fun factor is not to be under-estimated.

| Health and happiness | 0 Comments

Looks like I won't be playing in the club championship this weekend. This event happens to be the yearly highlight of my golfing life, so you can imagine how very disappointed I will be by not being allowed to defend my title. I have won the championship two years in a row and unless some miracle occurs the chance of a magical three in a row will dissolve into thin air.

So what in the heck went wrong? I decided to run my car through the car wash after filling up my tank at the gas station. When I returned home from the car wash I was in a pretty good and energetic mood. Diligently I crawled through the interior of my car ensuring that every crook and cranny was polished and spotless. Well you can imagine that certain spots behind the seats or under the dashboard are hard to get reach. Even for a limber and athletic body like mine.

Then all of a sudden my back froze up and I was floored by an excruciating pain. Some main nerve in my lower back was chaffed and exposed, screaming bloody murder from within the depths of my right buttocks. There was no way I was ever going to be able to get out of the car alive.

Fortunately my son Maarten came to the rescue and pulled me out. Getting from the car to the front door of the house took about ten minutes in slow motion, and then after that at least as much time to make it to the couch in the sitting. My wife Thea who is a gentle and loving nurse helped me upstairs. I felt really embarrassed screaming and crying like I was some weakling. Although it was hurting pretty bad, I figured that within a day I'd be pretty much back to normal.

Two days later I'm still in this stupid bed medicated and feeling pretty bored. I could become all angry and frustrated, but I have realized at this stage of my life that acceptance, hope and staying positive is what it's all about.

That's why I decided to compose this boring and complaining blog entry, which is also kind of funny and entertaining, don't you think? Now I feel much better, thanks.

| Javascript | 0 Comments

Express is a fast, unopinionated, minimalist web framework for Node.js. That's why I had to purchase yet another book to add to my huge collection of computer books.

express-in-action.png

I sawed through this book in a single day. While it may not be intended for super advanced developers, I found it a refreshing overview of express, node, npm and all those powerful tools and techniques any engineer worth his salt should know.

There's also a nice section covering testing with mocha and supertest, as well as chapters about mongodb, less, browserify and coffeescript.

Highly recommended by someone who is never too old to learn new stuff.

| Golf | 0 Comments

You never would have expected that this grueling contest of wills would go down to the final hole, but it did. It was one of those wonderful days out with the guys hacking around in nature and laughing out loud, making great shots and bad ones too, once in awhile a slight curse here and there.

On Friday afternoon at exactly 16:17 the battle of Michael and Kiffin (Merikans) versus Thomas and Dion (no team name) began. The weather was perfect, sunny and dry, the fairways extra hard meaning that our amazing drives would roll and roll forever making us feel like real joe blows.

As is inherent to our golf course these days, the greens were irregular and bouncy, meaning that you had about a fifty-fifty chance of making putts just outside the gimme range. Frustrating yes, but adding an extra sense of excitement and unpredictability fitting for the true spirit of golf where nothing is certain.

The first hole was a good start for the Merikans as they turned on the gas and won the first hole with a par (thanks to a nice chip by Michael).

On the second hole the Merikans messed up knocking both their balls into the trees on the left, playing give-away golf with a triple bogey, and it was back to all square. What a waste.

After that it was just another day on the links with a long streak of five ties nothing special just pars and bogies.

Starting on the eighth hole and thereafter for three disappointing holes, Thomas and Dion pulled together a string of great drives, super approaches, chips next to the hole, that kind of thing. Michael: what happened to us we're three down can you believe that?!

I turned to my fellow Merikan and reminded him that we had not won a single bleeping hole since the first one, we need to get our act together. Remember the Alamo!

It worked and we pushed forward winning the next three holes in a row, this time around it was Dion and Thomas playing give-away golf, and coming to the fourteenth tee box we were all square again. Wow, how'd that happen so quickly?!

Tied fourteen to remain all even. On the fifteenth both Thomas and Dion nailed their shots on the dancing floor for a likely par possible birdie. Michael made a great sand shot from the left bunker rolling the ball up close, but yours truly missed yet another short putt, one down with three to go.

Merikans won the sixteenth after another great chip by Michael to within a couple inches of the hole for a gimme. Lost the seventeenth and there we were one down with only one hole to go.

Thomas and Dion were hot but not quite hot enough. They drilled their drives in excellent position, but Kiffin punched his drive even further even to the bunker in the middle of the fairway.

Dion's approach looked really good (ended up over the green but we didn't know it at the time), so Michael was under alot of pressure. When I turned to him and said it was his moment to achieve the Warhol's fifteen minutes of fame, he duly addressed the ball and made it happen.

The Merikans had to win, and when we finally made it to the top of the hill and discovered our ball pin high five feet to the right and the opponents' ball over the green with a nasty downhill chip, we knew we had a chance. I was convinced that I'd finally make my first normal putt of the day and tally that birdie.

Thomas and Dion pulled off a respectable bogey (after the stupid ball kept rolling and rolling past the pin) and of course I missed the birdie putt curling it left and downhill from the hole. It was definitely what you'd call a semi-easy putt but a good knee-knocker just the same.

With confidence Michael rammed it into the back of the hole for the par. The grueling contest of wills was over, and we tied 1-1.

| Golf | 0 Comments

The summer season for senior golfers kicked off yesterday and I was in good spirits. Although I didn't play that great, shooting an 82 and being tied for twentieth place out of 93 players is a respectable round. Three easy putts under two meters should have been made combined with a mere three pars on the front nine made things a bit frustrating. I managed to shoot a double-bogie free round with the same ball which in itself is a nice accomplishment.

Anderstein-golfcourse.png
Ready to tee off on the first hole at Golfclub Anderstein

| Gishtech | 0 Comments

gishtech-company-card.png

The long wait was worth it, finally my new company cards arrived and I really like them. Designed them myself. Now it's time to explore the mysterious jungle out there and seed the world with new ideas.

| Javascript | 0 Comments

If you ever want to setup an automated test platform for an important project, I can certainly recommend Webdrverio very much.

webdriverio.png

This advanced open source testing utility for Node.js makes it possible to write super easy selenium tests with JavaScript for the a number of TDD test frameworks, for example the Mocha test framework.

The extensive API is quite powerful and lets you do just about anything.

| Golf | 0 Comments

So here is how it started: par, birdie and eagle. Already three under par after only three holes. Hard to believe, but it's true ...

I flubbed the next easy par four with a careless bogie, but after that I held on with a string of pars to make the turn at two under par. 4-4-2-5-3-4-5-3-4=34.

If I could just keep playing half-decently, nothing miraculous just an ordinary nine more holes, then I'd have a pretty good score.

There's this mental thing that rears its ugly head in my mind when I'm playing great golf and it always tries to ruin me. I'm thinking that there's only so many holes left and I need to hold on, getting more and more nervous.

This is a once in a lifetime opportunity so let's get serious and make the best of it. Or so I thought. The second nine was a disaster and I went into mental meltdown mode. Two double-bogies and only three pars: 6-3-6-4-5-7-4-4-5=44. That's TEN strokes more than the first nine, you must be kidding.

Afterward when the good life was all done and gone, I sat at the table moping, shaking my head and wondering out loud how it is possible to play so well for the first nine holes and then blow it so badly during the second nine holes.

My playing partner Jim (who comes from Ireland) hit the nail right on the head when he said, "You know the more often I see this happening the more convinced I am that it is one hundred percent just a mental thing.

How is it possible that such disasters strike when you least expect it? And why if it's just a mental thing can't I control it better.

(No I did not break a single club, although I was tempted to a couple of times)

| Golf | 0 Comments

Heren-1-Team-2016.png

This year we have a really great team again. It's a long shot but we could still become champions if we win our last two matches (so far won one and lost one).

| Family and friends | 0 Comments

kiffin-and-liam-2016-03.jpg
Kiffin and Liam

| Gishtech | 0 Comments

Spent the whole day from early this morning until late in the evening to finalize the official versions of the following documents (everything in Dutch):

  • Ondernemingsplan (Business Plan)
  • Financieel plan (Financial Plan)

If all goes according to plan, good ol' Gishtech (the reborn new and improved version of Gishteq) will be up and running again starting Monday, April 25.

gishtech.png
www.gishtech.com

"Gishtech levert best-­of-­breed diensten en advies op het gebied van geavanceerde software ontwikkeling, gereedschap, people en processen."

| Golf | 0 Comments

Last Saturday I played a practice round with the team. Just another normal day on the links with the goold old colleagues. Until we reached the eleventh hole that is. Jose started things off by chipping his ball in the hole from off of the green. Then from the fringe at the front of the green, Paul sank a winding twenty-footer uphill. Finally, Maurits rammed in his six-foot putt making it three birdies in a row. Could I do it as well? As the last remaining hero under tremendous pressure and all eyes watching me anxiously, I curled in my putt from three feet away. We all had birdies: 2-2-2-2 on the same hole. That was a pretty amazing golf moment! Don't think I've been so excited and screamed so loud and long in quite some time.

four-birdies-1.jpg four-birdies-2.jpg
From left to right: Kiffin, Paul, Jose and Maurits. The scorecard is proof that it really happened.

Random entries

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

Recent Assets

  • nice-shot-hole-14-the-dutch.jpg
  • Jim-Furyk-shoots-58.jpg
  • PureScript-By-Example.png
  • haskell-book-cover.png
  • footjoy-hydrolite.png
  • footjoy-contour.png
  • Kevin-and-I-golf.png
  • DSC01074.JPG
  • stormy-weather.png
  • speaking-javascript.png
  • express-in-action.png
  • Anderstein-golfcourse.png

Recent Comments

Golf Handicap

Information

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 2251 entries and as many as 1878 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.