| Golf | 0 Comments

For some unknown and crazy reason, I have been unable to putt anymore. This has lasted a few months now, and no matter what I try I cannot shake it off. On average I miss two to four putts per round within just a couple feet. This is driving me crazy and I am desperate to discover what the root cause is. Yes I've got the putting yips and would give anything to find the cure. More than likely there is something loose in my head, some kind of mental block and nothing more. No matter how many extra hours I train on the practice green, it doesn't help at all. C'mon, just loosen up and relax. Stroke the ball confidently straight into the hole in one smooth pendulum-like motion. Do not doubt, just do stand up and address the ball like a man and do it. Time to fill my mind not with what I do not want the ball to do but what I want the ball to do.

Mantra: straight back, straight through and roll it into the middle of the hole.

| Music | 0 Comments


Remember this album? I must have listened to it at least a million times as a freshman. Love it still.

Now it's a long dark road. Yes, a long dark road. And you know I loved you. Yes, you know I loved you ...

| Agile and scrum | 0 Comments

In his book Kanban: Successful Evolutionary Change For Your Technology Business, David Anderson comes up with a a so-called recipe for success.

Basically, it is an ordered list of key steps for the starting technical function manager to follow in order to create positive change and make progress quickly in a volatile and chaotic environment.

The recipe for success looks like this:

  • Focus on quality
  • Reduce work-in-progress
  • Deliver often
  • Balance demand against throughput
  • Prioritize
  • Attack sources of variability to improve predictability
| Golf | 0 Comments

behind-a-tree.png I had a pretty good drive but it was a little bit too far and ended up right behind a tree. The ball was leaning right against the trunk and to make my shot even more impossible the ball had settled right between two roots which radiated out from the trunk like two thick octopus legs. I felt pretty frustrated but upon closer look I noticed something very special. Despite my actions and random thoughts about what club to use, the tree was there in total acceptance in all its natural glory. The bark consisted of curls and other intricate patterns, and other pieces of life like purple and green moss, hundreds of little insects and other beings running around in the minuscule universe. Managed to chip safely into the fairway and par the hole. Have a closer look yourself by clicking on the image at the left.

| Work and play | 0 Comments

Looks like it's back to getting up early again, well actually not that early. It's a great feeling having work and a new purpose in life. Much better than sleeping late and having nothing to do all day but golfing and hanging around the house. Tons of new stuff to learn, but like I always say proudly: I am never too old to learn new stuff.

Waiting for the train.

The total travel time is: 10 minutes by bike, 5 minutes wait for train, 40 minutes in the train plus 15 minute walk to the office equals 70 minutes, 40 minutes of which I can relax and read a book in the train, so not that bad I guess.

Walking from the train station to work.

Being so busy the whole day takes some getting used to, but I can really appreciate my free time now like enjoying the evenings and playing golf in the weekend. My golf game is suffering but let's stop taking this sport so seriously and enjoy it as an extra form of entertainment.

This is the building where I work.

| Spiritual | 1 Comment

Never underestimate the powers of your Buddha shrine. Every time I pass this treasured spot in my house, I let my body and mind absorb its spiritual and healing force. Just a slight glance is sufficient, a moment in time, a sliver of thought.


| Work and play | 1 Comment

Looks like it's back to work for me. After a short period on the dole, I've managed to get myself hired as a release manager at Blokker Holding in Amsterdam. They've launched a new state-of-the-art ecommerce platform called Nextail and I will be responsible for the software releases. As I always say, you're never too old to learn new stuff.

| Philosophy and poetry | 0 Comments

Welcome to our Introduction to Mathematical Philosophy. The goal of our course is to demonstrate that mathematical methods can be as useful in philosophy as they are in the sciences.

Sounds pretty interesting, so I'll try it out and see how far I get. Hopefully by the end of the course I too will be able to use such mathematical methods in order to acquire more philosophical insight.

Here's a useful reference to keep me going: Stanford Encyclopedia of Philosophy.

| Golf | 3 Comments

Thijs, Maurits, Jeroen, Danny, Erik and Kiffin.

| Golf | 0 Comments

Jordon Spieth, Masters 2015 winner (only 21 yrs. old).

Good going Jordan, a truly amazing feat at such a young age. We're all very proud of you!

| Golf | 0 Comments

Lately I am trying really hard to resist becoming too negative about my bad golfing days which is not always that easy.

Nowadays when someone asks me how it went, I answer politely that it went "een beetje moeizaam" rather than complaining that I played really lousy.

In the wonderful world of golf, it is important to keep your cool and not to let a bad day on the links get you down.

The trick is to remain as positive as possible, just like it is in real life. Try it and it will make you feel better.

| Nature and universe | 0 Comments


This is what I saw through the windshield when I got into my car to head off to an early morning round of golf.

I was so struck by the beauty of the colors and the way the sunshine danced across the thin layer of ice that I had to take a picture of it.

One could almost say that it's a true masterpiece of art and sell the painting for millions of dollars.

However, we all know that the beauty of nature is priceless and no amount of money can ever do it justice. Just appreciate the fleeting moment while we can.

| Golf | 2 Comments

This weekend while rummaging through my old stuff which I saved all these years, I happened to come across a yellowing vanilla envelope in which I found this picture from the distant past. See if you recognize anyone in it.

Salinas High Golf Team 1974.

Those were the days my friend, and back then I had a blast playing the wonderful sport of golf with my friends. We were a pretty strong team and played well against the other posh high schools who thought they were so great.

| Programming | 0 Comments

In Elixir, the pipe operator '|>' takes the output of the expression on the left of it, and feeds it in as the first argument to the function on the right of it.

You can even tag on additional functions together in an endless chain to form a pipeline of functions to be called, very similar to the Unix method of piping command utilities together, e.g. 'ps ax|grep vim|awk '{ print $1 }'.

In other words, the following statement using the pipe operator |> :

f( a ) |> g( b ) |> h( c )

is equivalent to:

h( g( f( a ), b ), c )

This can be extended to include functions with multiple parameters like this:

f( a, b ) |> g( c, d )

being equivalent to:

g( f( a, b ), c, d )

See if you can figure out what the following does:

-5 |> abs |> Integer.to_string |> IO.puts

Here's a small hint to help you along:


Here are some references in which you might be interested:

No I didn't forget. The answer is 5 of course.

| History | 1 Comment


Wow, has it already been fifty years ago since the launch of Gemini III? Those were the very first steps on our way to landing on the moon. For me it seems like it was just yesterday.

Poor Gus Grissom died later in the awful Apollo fire (God bless his soul), but John Young ended up living a very successful life as an astronaut undertaking many more missions (he's now 84 believe or not).

Gemini IV impressed me so much that I drew a picture of the Gemini capsule floating in space above the Earth and sent it to astronauts Ed White and Jim McDivitt. Below the letter they sent back to me:


Some interesting links:

| Javascript | 0 Comments

One should not take the precise definition of 'undefined' too non-nonchalantly as it forms an important basis for understanding the JavaScript fundamentals. I'd be curious to know how many so-called expert JavaScript developers really understand what it is. In my many years of learning the ins and outs of the JavaScript programming language, this is perhaps the best explanation of 'undefined' that I've ever heard.

"When I declare 'var a', 'a' is placed into memory during the creation phase. So the execution context saw 'var a' and setup 'a' in memory. And so even though I haven't set it to a value, the JavaScript engine, which is doing more than what I'm just writing in my code, already set it to the special value called 'undefined'. So 'undefined' is not like empty, or doesn't exist, it doesn't literally not exist. It's actually a value, it's actually taking up memory space. It's a special keyword, a special value that means this is the value that was initially set by JavaScript. And that leads to a little bit of a warning... Never set yourself a variable equal to 'undefined'. Because actually you can... That's perfectly valid JavaScript, but it's a little dangerous. It's better to let 'undefined', that special keyword, mean I, the programmer, never set the value..."


"... That will really help you when debugging code. If you make a habit of setting values equal to 'undefined', then it's really hard to tell if something is 'undefined' because you set it or because the JavaScript engine set it and you never set it to anything else. It's always better to let 'undefined' mean I never set this value. That's really useful, and it will help you in your debugging. So 'undefined', this is a special value, that is also a special keyword in JavaScript, and it's the value that variables receive during the creation phase, the first phase of creating an execution context, sets up the memory of the variable, and in that memory space puts the value called 'undefined'. I would have called it something else personally like 'not set' but that's what JavaScript calls it, 'undefined'. And if you don't in your code set it to anything else, that is what it will be. Or if you set it to something else later, and use it beforehand that is what it will be. Alright, so that's JavaScript and 'undefined'."

JavaScript: Understanding the Weird Parts, Lecture 11: Conceptual Aside: JavaScript and 'undefined'

| Life in Holland | 0 Comments

Dit heb ik gekocht bij http://bol.com : Uni Inbouw Stopcontact - 3-voudig - Rond - Crème - http://go.bol.com/tb/9200000010588167 ...


Life is full of fun and interesting surprises which make it all worthwhile.

| Golf | 2 Comments


I cherish these golden tees and save them for very special moments. For example, an important golf tournament or a difficult and important tee shot on a par three.

| Programming | 0 Comments

When working with ember-cli and things seem to get messed up and you cannot figure out for the life of you what's wrong you can always resort to nuking it all and refreshing the environment.

This often helps me alot, and although I do not know for sure the exact details behind the reason it fixes things, I don't care as long as it works.

In my ~/.bash_aliases I've added the following aliases, a "regular" fix nom and a "nuke-it-all-and start-over-again" fix nomallas follows:

alias nom='rm -rf node_modules && npm cache clear && npm install'
alias nomall='rm -rf node_modules && npm cache clear && npm install && rm -rf bower_modules && bower cache clean && bower install'
alias realias='$EDITOR ~/.bash_aliases; source ~/.bash_aliases'

Just run realias to make the required changes and you're all set.

| Programming | 0 Comments

The Erlang notation [ F(X) || X <- L] means "the list of F(X) where X is taken from the list L."

1> L = [1,2,3,4,5].
2> [2*X || X <- L ].

Thus, [2*X || X <- L ] means "the list of 2*X where X is taken from the list L."

There's tons of other really really cool stuff you can do. Like qsort(L) for quick sorting lists:

qsort([]) -> [];
qsort([Pivot|T]) ->
	qsort([X || X <- T, X < Pivot])
	++ [Pivot] ++
	qsort([X || X <- T, X >= Pivot]).

Or perms(S) for generating all possible permutations of a string:

perms([]) -> [[]];
perms(L)  -> [[H|T] || H <- L, T <- perms(L--[H])].

Or pythag(N) for generating all Pythagorean triplets (sets of integers {A,B,C} where A2 + B2 = C2):

pythag(N) ->
    [ {A,B,C} ||
        A <- lists:seq(1,N),
        B <- lists:seq(1,N),
        C <- lists:seq(1,N),
        A+B+C =< N,
        A*A+B*B =:= C*C 

Ad infinitum into the wee hours of the morning...

| Programming | 0 Comments

The absence of side effects means that we can parallelize our software programs.

The technical term for memory areas that can be modified is mutable state. Erlang is a functional programming language and has immutable state.

If you use a conventional programming language such as C or Java to program a multicore CPU, then you will have to contend with the problem of shared memory.

In order not to corrupt shared memory, the memory has to be locked while it is accessed. Programs that access shared memory must not crash while they are manipulating the shared memory.

In Erlang, there is no mutable state, there is no shared memory, and there are no locks. This makes it easy to parallelize our programs.

Programming Erlang (2nd edition)
by Joe Armstrong

| Golf | 0 Comments

Here are a number of very valuable tips that Chris (PGA Professional from Scotland) gave me during my golf lesson this morning. They worked so well that I will write them down now while they are fresh in my mind before I forget.

When addressing the ball:

  • Ball a bit more forward
  • Stance slightly open
  • Posture straight up (not slouched over)
  • Club face perpendicular and flat to the ground (not with heel)

When hitting the ball:

  • On back swing drag club as low as possible
  • Slide down through the ball from high and slightly outside
  • Snap wrists at last possible moment before ball impact
  • (Do not hit down on the ball but through it)
  • After impact continue swing inside and upwards
  • Complete with a high finish
| Programming | 0 Comments

All the code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages.

Due to their lightweight nature, it is not uncommon to have hundreds of thousands of processes running concurrently in the same machine. Isolation allows processes to be garbage collected independently, reducing system-wide pauses, and using all machine resources as efficiently as possible (vertical scaling).

Processes are also able to communicate with other processes running on different machines in the same network. This provides the foundation for distribution, allowing developers to coordinate work across multiple nodes (horizontal scaling).

The unavoidable truth about software running in production is that things will go wrong. Even more when we take network, file systems and other third-party resources into account.

To cope with failures, it provides supervisors which describe how to restart parts of your system when things go awry, going back to a known initial state that is guaranteed to work.


| Computers and stuff | 0 Comments

For a couple decades we have been able to take a free ride on the technological advances in speed and performance of improved hardware capabilities. First there was the 386, Pentium, Pentium 4, Dual-Core Titanium 2, and on and on. If your software was a bit slow at first, just wait a few months or maybe even weeks and the next generation of hardware will become so much faster that you won't have to worry any more about possible hiccups or performance dips.

However, this is changing faster than you realize so be careful. While this does not mean that Moore's Law is no longer valid, it does mean that the software we write will need to be concurrent in order to fully exploit CPU throughput of multi-core and distributed systems.

"If you haven't done so already, now is the time to take a hard look at the design of your application, determine what operations are CPU-sensitive now or are likely to become so soon, and identify how those places could benefit from concurrency. Now is also the time for you and your team to grok concurrent programming's requirements, pitfalls, styles, and idioms.."

"A few rare classes of applications are naturally parallelizable, but most aren't. Even when you know exactly where you're CPU-bound, you may well find it difficult to figure out how to parallelize those operations; all the most reason to start thinking about it now. Implicitly parallelizing compilers can help a little, but don't expect much; they can't do nearly as good a job of parallelizing your sequential program as you could do by turning it into an explicitly parallel and threaded version..."

"Thanks to continued cache growth and probably a few more incremental straight-line control flow optimizations, the free lunch will continue a little while longer; but starting today the buffet will only be serving that one entrée and that one dessert. The filet mignon of throughput gains is still on the menu, but now it costs extra--extra development effort, extra code complexity, and extra testing effort. The good news is that for many classes of applications the extra effort will be worthwhile, because concurrency will let them fully exploit the continuing exponential gains in processor throughput...

Taken from the article The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software by Herb Sutter.

| Golf | 0 Comments

"The reason for Tiger's fall is his ill-fated mythical quest for perfection..."

"There is a linear beauty to numbers that is simple and indisputable, and to someone as talented and as malleable and as addicted to perfection as Tiger, irresistible..."

"But the problem is, golf is not like that. It's not linear, it's abstract. It's not beautiful, it's messy."

"The mathematical-perfection trend in this game, which has Tiger by the throat and teachers in a tizzy, requires vigilant attention to swing mechanics, and that is not what this game is about. We need all of our sense to corroborate what we see and the imagination thrives on that information to help us create. That is the highest form of this game and is, perhaps above all else, what is beautiful about golf and sad about Tiger."

See: Woods' quest for perfection causing his downfall

For me golf is mostly mental and much less physical, meaning that a good player can overcome the bio-mechanical restrictions using the power of the mind. I am not only some mechanical contraption, there's a mind inside that thinks and plans and controls the future. Sure it's important to have a sound technical basis, but in the long run it is the mental game that will come through and lead to success. Just like in life.

| Nature and universe | 0 Comments


During my evening walk with the dog, I was struck by how unusually beautiful and serene the moon appeared in the freezing cold winter night sky. I attempted to capture the scene by snapping a picture using my smartphone, but this fuzzy picture is all that I could manage. Use some extra imagination, look beyond the graininess, and you can sense the timeless moment.

| Computers and stuff | 0 Comments

As if I didn't already have enough stuff to learn, that's when I hit yet another jackpot and discovered life's new elixir.

"By being immutable, Elixir also helps eliminate common cases where concurrent code has race conditions because two different entities are trying to change a data structure at the same time..."

And it doesn't stop there either. The deeper I delve into that morass the more there is to discover.

Good old erlang shows up around the corner, the phoenix arises from the ashes.

There's that cowboy living on the ranch that also tempts me.

You're never too old to learn new stuff.

| Books | 0 Comments

The following book passage touched me so much and struck a deep chord within me that I decided to take the liberty to include it in my blog.

"Why an angel? Because I believe that, in time, that is what we become in sobriety, if we last long enough, to the end. Not the winged type, no. Not some haloed cupid or sword swinger but a kind of flawed angel, without wings, that belongs to no religion but rather to a species of human heartbreak unlike any other known.

Alcoholics and addicts are unlike any other people I've ever met. I am unlike most people. A blazing mutant of some kind. A wondrous freak. In my mind lurks an urge that will be with me to the end, to put a bottle to my lips and drink myself to death. A judge and jury that I wake up to each morning has pronounced a verdict of guilt on me for no crime that I have committed, just for being alive, and has sentenced me to death, not by guillotine or rope but by a single drink.

It is the strangest thing, this sentence of death, this disease I have which tests me to the max and each day holds my existence accountable to the very universe, a god no religion can know as we drunks know it.

A god of drunks who goes with us into our prisons and gutters, bedrooms and businesses, flophouses and alleys, hospitals and mansions, and patiently waits with hand on our shivering shoulders as we groan through yet one more night of near death, waits to see if maybe this time we've had pain enough, loss enough, enough hangover, illness, fear, to ask for help....

Because when death sits on your shoulder each day, whispering, urging you to your end, there is no time to lose, so much light to grasp for, struggle to embrace. We are struggling with light. And yet we are only human after all, so terribly flawed and foolish, selfish and ridiculous. Sobriety can be messy. At times, I have seemed to myself the most awful of persons. But even then I am ascending, even then I am going up the ladder of light with eyes wide open and hands outstretched, to clasp the next rung up. And I climb."

Taken from "Drunken Angel" by Alan Kaufman.

| Internet | 0 Comments

Decided to nuke my facebook account and get out of there before it was too late. Obliterated every last remnant of my mind and soul from that evil place. Hopefully, at least. The idea that they can freely abuse my personal information, chop up my DNA and redistribute it randomly, and then make money off of it behind my back is not only unfair but in my view unethical as well. The sad part is that so many poor souls out there still do not realize what they are getting into. Like giving candy to an unknowing and naive kid. Tracking my behavior, saving information about me and analyzing who I am is a repugnant thought. Maybe I am exaggerating and sounding overly emotional, getting slightly paranoid in my old age, but I feel much better now. What a relief, it feels as if I've been liberated just in the nick of time from some entangled web of doom. Good riddance facebook ...

Permanently delete your Facebook account in four easy steps.

| Javascript | 0 Comments

"You should begin moving your app to Ember CLI as soon as possible," writes Tom Dale in The Road to Ember 2.0 RFC #15. My future famous Ember HAL Client has been migrated successfully, thanks.

Random entries

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

Recent Assets

  • 5-22650-Gallant-Fox-Rd-Monterey-CA.png
  • 4-35-La-Mirada-Ct-Salinas-CA.png
  • 3-700-Camellia-St-Turlock-CA.png
  • 2-4149-W-Oakridge-Way-Stockton-CA.png
  • 1-720-Overhill-Dr-Redding-CA.png
  • Distant-Light-Hollies-1971.png
  • nextail-building.png
  • nextail-walking-to.png
  • behind-a-tree.png
  • sprinter-duivendrecht.png
  • buddha-shrine.png
  • Heren-1-Team-2015.png

Recent Comments

  • Back to work: Congratulations Kiffin, I hope it is something you ...
    - KathleenC
  • Buddha shrine: I keep Buddhas in my plants outside on the deck du ...
    - KathleenC
  • Heren 1 Team: Yes, this is the one :) I prefer to say a lot wis ...
    - KathleenC
  • Heren 1 Team: Do you mean this one? I'm alot balder than back th ...
    - Kiffin
  • Heren 1 Team: Great picture Kiffin! Looks very similar to the o ...
    - KathleenC

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 2172 entries and as many as 1873 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.